#include <q_metric.h>

Inheritance diagram for q_metric:
base_cycle_metric base_metric empty_metric q_by_lane_metric

Public Types

enum  { TYPE = constants::Q, LATEST_VERSION = 7 }
 
enum  { MAX_Q_BINS = q_score_header::MAX_Q_BINS }
 
typedef q_score_header header_type
 
typedef header_type::qscore_bin_vector_type qscore_bin_vector_type
 
typedef std::vector< ::uint32_t > uint32_vector
 
typedef std::vector< ::uint32_t > uint_vector
 
typedef std::vector< ::uint64_t > uint64_vector
 
typedef ::uint32_t * uint_pointer_t
 
- Public Types inherited from base_cycle_metric
typedef base_cycle_metric_header header_type
 
typedef constants::base_cycle_t base_t
 
typedef uint16_t cycle_t
 
- Public Types inherited from base_metric
enum  {
  LANE_BIT_COUNT = 6, TILE_BIT_COUNT = 26, CYCLE_BIT_COUNT = 16, READ_BIT_COUNT = 16,
  RESERVED_BIT_COUNT = 16, READ_BIT_SHIFT = RESERVED_BIT_COUNT, CYCLE_BIT_SHIFT = RESERVED_BIT_COUNT, TILE_BIT_SHIFT = CYCLE_BIT_SHIFT+CYCLE_BIT_COUNT,
  LANE_BIT_SHIFT = TILE_BIT_SHIFT+TILE_BIT_COUNT
}
 
typedef ::uint64_t ulong_t
 
typedef ulong_t id_t
 
typedef ::uint16_t ushort_t
 
typedef ::uint32_t uint_t
 
typedef base_metric_header header_type
 
typedef ::uint8_t lane_t
 
typedef ::uint32_t tile_t
 
typedef constants::base_tile_t base_t
 
- Public Types inherited from empty_metric
typedef ::uint32_t id_t
 
typedef ::uint32_t uint_t
 
typedef constants::base_run_t base_t
 

Public Member Functions

 q_metric ()
 
 q_metric (const header_type &header)
 
 q_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const uint32_vector &qscore_hist)
 
 q_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const uint_pointer_t qscore_hist, const uint_t count)
 
void set (const uint_t lane, const uint_t tile, const uint_t cycle, const uint32_vector &qscore_hist)
 
uint_t qscore_hist (const size_t n) const INTEROP_THROW_SPEC((model
 
const uint32_vectorqscore_hist () const
 
size_t size () const
 
uint_t sum_qscore () const
 
::uint64_t sum_qscore_cumulative () const
 
uint_t total_over_qscore (const uint_t qscore, const qscore_bin_vector_type &bins) const
 
uint_t total_over_qscore (const size_t qscore_index) const
 
::uint64_t total_over_qscore_cumulative (const size_t qscore_index) const
 
float percent_over_qscore (const size_t qscore_index) const
 
float percent_over_qscore_cumulative (const size_t qscore_index) const
 
::uint64_t total_over_qscore_cumulative (const uint_t qscore, const qscore_bin_vector_type &bins) const
 
float percent_over_qscore (const uint_t qscore_index, const qscore_bin_vector_type &bins) const
 
float percent_over_qscore_cumulative (const uint_t qscore, const qscore_bin_vector_type &bins) const
 
uint_t median (const qscore_bin_vector_type &bins=qscore_bin_vector_type()) const
 
bool is_cumulative_empty () const
 
void accumulate (const q_metric &metric)
 
template<typename T >
void accumulate_into (std::vector< T > &distribution) const
 
void compress (const header_type &header)
 
uint_t qscoreHist (const size_t n) const
 
const uint32_vectorqscoreHist () const
 
- Public Member Functions inherited from base_cycle_metric
 base_cycle_metric (const uint_t lane=0, const uint_t tile=0, const uint_t cycle=0)
 
void set_base (const uint_t lane, const uint_t tile)
 
void set_base (const uint_t lane, const uint_t tile, const uint_t cycle)
 
template<class BaseCycleMetric >
void set_base (const BaseCycleMetric &base)
 
uint_t cycle () const
 
id_t id () const
 
id_t cycle_hash () const
 
bool operator< (const base_cycle_metric &metric2) const
 
- Public Member Functions inherited from base_metric
 base_metric (const uint_t lane=0, const uint_t tile=0)
 
void set_base (const uint_t lane, const uint_t tile)
 
template<class BaseMetric >
void set_base (const BaseMetric &base)
 
id_t id () const
 
id_t tile_hash () const
 
uint_t lane () const
 
uint_t tile () const
 
uint_t number (const illumina::interop::constants::tile_naming_method) const
 
uint_t section (const illumina::interop::constants::tile_naming_method method) const
 
uint_t surface (const illumina::interop::constants::tile_naming_method method) const
 
uint_t swath (const illumina::interop::constants::tile_naming_method method) const
 
uint_t phyiscalLocationIndex (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count, const uint_t swath_count, const bool all_surfaces) const
 
uint_t phyiscalLocationColumn (const illumina::interop::constants::tile_naming_method method, const uint_t swath_count, const bool all_surfaces) const
 
uint_t phyiscalLocationRow (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count) const
 
size_t physical_location_index (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count, const uint_t swath_count, const bool all_surfaces) const
 
uint_t physical_location_column (const illumina::interop::constants::tile_naming_method method, const uint_t swath_count, const bool all_surfaces) const
 
uint_t physical_location_row (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count) const
 
bool operator< (const base_metric &metric2) const
 
- Public Member Functions inherited from empty_metric
template<class BaseMetric >
void set_base (const BaseMetric &)
 
void set_base (const uint_t, const uint_t)
 
bool operator< (const empty_metric &) const
 

Static Public Member Functions

static const char * prefix ()
 
- Static Public Member Functions inherited from base_cycle_metric
static id_t cycle_from_id (const id_t id)
 
static id_t reserved_from_id (const id_t id)
 
static id_t create_id (const id_t lane, const id_t tile, const id_t cycle)
 
- Static Public Member Functions inherited from base_metric
static id_t create_id (const id_t lane, const id_t tile, const id_t=0)
 
static id_t lane_from_id (const id_t id)
 
static id_t tile_hash_from_id (const id_t id)
 
static id_t tile_from_id (const id_t id)
 
static const char * suffix ()
 
- Static Public Member Functions inherited from empty_metric
static const char * suffix ()
 
static id_t create_id (const id_t, const id_t, const id_t=0)
 

Protected Attributes

uint32_vector m_qscore_hist
 

Friends

template<class MetricType , int Version>
struct io::generic_layout
 

Detailed Description

Q-score metric

The QMetricsOut.bin InterOp file contains a histogram of the counts of PF clusters at each quality value ranging from 1 to 50 for each lane, tile, and cycle. % >= Q30 is calculated as the sum of the populations in bins with a quality value of 30 or greater divided by the total non-N basecalls (sum of the population over all bins times) 100.

Note
Supported versions: 4, 5, 6 and 7
Test:

Confirm version 4 of the metric can be written to and read from a stream

Confirm version 4 of the metric matches known binary file

Confirm version 5 of the metric can be written to and read from a stream

Confirm version 5 of the metric matches known binary file

Confirm version 6 of the metric can be written to and read from a stream

Confirm version 6 of the metric matches known binary file

Member Typedef Documentation

Q-score metric header

typedef std::vector< ::uint32_t > uint32_vector

Defines a vector of unsigned 32-bit ints

typedef std::vector< ::uint64_t > uint64_vector

Defines a vector of unsigned 64-bit ints

typedef ::uint32_t* uint_pointer_t

Define a uint pointer to a uint array

typedef std::vector< ::uint32_t > uint_vector

Defines a vector of unsigned 32-bit ints (TODO: remove this def)

Member Enumeration Documentation

anonymous enum
Enumerator
TYPE 

Unique type code for metric

LATEST_VERSION 

Latest version of the InterOp format

anonymous enum
Enumerator
MAX_Q_BINS 

Maximum number of q-score bins

Constructor & Destructor Documentation

q_metric ( )
inline

Constructor

q_metric ( const header_type header)
inline

Constructor

Parameters
headerq-metric set header
q_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const uint32_vector qscore_hist 
)
inline

Constructor

Parameters
lanelane number
tiletile number
cyclecycle number
qscore_histq-score histogram
q_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const uint_pointer_t  qscore_hist,
const uint_t  count 
)
inline

Constructor

Parameters
lanelane number
tiletile number
cyclecycle number
qscore_histq-score histogram
countnumber of elements in the histogram

Member Function Documentation

void accumulate ( const q_metric metric)
inline

Accumulate q-score histogram from last cycle

This helper function also allocates memory for the cumulative q-score histogram.

Parameters
metriclast cycle q-metric
void accumulate_into ( std::vector< T > &  distribution) const
inline

Accumulate q-score histogram into the destination distribution

Parameters
distributionoverall distribution
void compress ( const header_type header)
inline

Compress bins

Parameters
headerbinned header
static const char* prefix ( )
inlinestatic

Get the prefix of the InterOp filename

Returns
prefix
uint_t qscoreHist ( const size_t  n) const
inline

Q-score value of the histogram

Deprecated:
Will be removed in 1.1.x (use qscore_hist instead)
Returns
q-score value of the histogram
const uint32_vector& qscoreHist ( ) const
inline

Q-score histogram

Deprecated:
Will be removed in 1.1.x (use qscore_hist instead)
Returns
q-score histogram
void set ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const uint32_vector qscore_hist 
)
inline

Setter

Parameters
lanelane number
tiletile number
cyclecycle number
qscore_histQ-score histogram

Friends And Related Function Documentation

friend struct io::generic_layout
friend

Member Data Documentation

uint32_vector m_qscore_hist
protected

Unsigned int vector for q-score histogram


The documentation for this class was generated from the following file: