Q-Metrics Version 6

This class provides an interface to reading the q-metric file:

  • InterOp/QMetrics.bin
  • InterOp/QMetricsOut.bin

The file format for q-metrics is as follows:

Header

illumina::interop::io::read_metrics (Function that parses this information)

    byte 0: version number (6)
    byte 1: record size (6 + 4*binCount if flag is true otherwise 206)

Extended Header

illumina::interop::io::generic_layout<q_metric, 6> (Class that parses this information)

    byte 2:                         flag indicating whether is has bins (bool)

If byte 2 is true, then the following information is also in the header:

 byte 3:                         number of bins, binCount (uint8)
 byte 4+binCount*0-4+binCount*1: array of low ends for each bin (uint8)
 byte 4+binCount*1-4+binCount*2: array of high ends for each bin (uint8)
 byte 4+binCount*2-4+binCount*3: array of values for each bin (uint8)

n-Records

illumina::interop::io::layout::base_cycle_metric (Class that parses this information)

    2 bytes: lane number (uint16)
    2 bytes: tile number (uint16)
    2 bytes: cycle number (uint16)

illumina::interop::io::generic_layout<q_metric, 6> (Class that parses this information)

    4*binCount bytes: q-score histogram (uint32_t*binCount)

Note, if the header has no bins, then binCount is 50 for the records