illumina::interop::logic::plot Namespace Reference

Classes

class  by_cycle_average_plot
 
class  by_cycle_candle_stick_plot
 
class  by_lane_candle_stick_plot
 
class  flowcell_plot
 
class  plot_metric_proxy
 

Functions

void filter_by_cycle_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_accumulated=false)
 
void filter_by_lane_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_pf=false)
 
template<typename Point >
void auto_scale (model::plot::plot_data< Point > &data, const bool zero_min=true, const float scale_y_max=1.1f)
 
template<typename Point >
void auto_scale_x (model::plot::plot_data< Point > &data, const bool zero_min=true)
 
template<typename Point >
void auto_scale_y (model::plot::plot_data< Point > &data, const bool zero_min=true, const float scale_y_max=1.1f)
 
std::string color_name_for_index (const size_t index)
 
void list_flowcell_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_accumulated=false)
 
void filter_flowcell_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_accumulated=false)
 
size_t calculate_flowcell_buffer_size (const model::metrics::run_metrics &metrics, const model::plot::filter_options &options)
 
void list_plot_metrics (std::vector< logic::utils::metric_type_description_t > &types)
 
void list_available_plot_metrics (const model::metrics::run_metrics &metrics, std::vector< logic::utils::metric_type_description_t > &types)
 
template<typename I >
void plot_candle_stick (model::plot::candle_stick_point &point, I beg, I end, const float x, std::vector< float > &outliers)
 
size_t count_columns_for_heatmap (const model::metrics::run_metrics &metrics)
 
template<class Point >
void setup_series_by_channel (const std::vector< std::string > &channels, model::plot::plot_data< Point > &data)
 
template<class Point >
void setup_series_by_base (model::plot::plot_data< Point > &data)
 
template<class Point >
void plot_by_cycle_t (model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< Point > &data, const bool skip_empty)
 
template<class Point >
void plot_by_cycle_t (model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::plot_data< Point > &data, const bool skip_empty)
 
void plot_by_cycle (model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void plot_by_cycle (model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void list_by_cycle_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_accumulated)
 
template<class Point >
void plot_by_lane_t (const model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< Point > &data, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void plot_by_lane (const model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void plot_by_lane (const model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void list_by_lane_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_pf)
 
void plot_flowcell_map (model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::flowcell_data &data, float *buffer,::uint32_t *tile_buffer, const bool skip_empty) INTEROP_THROW_SPEC((model
 
void plot_flowcell_map (model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::flowcell_data &data, float *buffer,::uint32_t *tile_buffer, const bool skip_empty) INTEROP_THROW_SPEC((model
 
template<typename I , typename B >
void populate_heatmap_from_compressed (I beg, I end, const std::vector< B > &bins, const model::plot::filter_options &options, model::plot::heatmap_data &data)
 
template<typename I >
void populate_heatmap_from_uncompressed (I beg, I end, const model::plot::filter_options &options, model::plot::heatmap_data &data)
 
void normalize_heatmap (model::plot::heatmap_data &data)
 
template<typename I >
void remap_to_bins (I beg, I end, const size_t max_cycle, model::plot::heatmap_data &data)
 
template<class Metric >
void populate_heatmap (const model::metric_base::metric_set< Metric > &metric_set, const model::plot::filter_options &options, model::plot::heatmap_data &data, float *buffer)
 
void plot_qscore_heatmap (model::metrics::run_metrics &metrics, const model::plot::filter_options &options, model::plot::heatmap_data &data, float *buffer, const size_t) INTEROP_THROW_SPEC((model
 
size_t count_rows_for_heatmap (const model::metrics::run_metrics &metrics)
 
template<typename I >
void populate_distribution (I beg, I end, const model::plot::filter_options &options, const size_t first_cycle, const size_t last_cycle, std::vector< float > &histogram)
 
std::string scale_histogram (std::vector< float > &histogram)
 
size_t get_last_filtered_cycle (const model::run::info &run_info, const model::plot::filter_options &options, const size_t max_cycle) INTEROP_THROW_SPEC((model
 
template<typename Point >
float plot_unbinned_histogram (const std::vector< float > &histogram, model::plot::data_point_collection< Point > &points)
 
template<typename I , typename Point >
float plot_binned_histogram (I beg, I end, const std::vector< float > &histogram, model::plot::data_point_collection< Point > &points)
 
void plot_qscore_histogram (model::metrics::run_metrics &metrics, const model::plot::filter_options &options, model::plot::plot_data< model::plot::bar_point > &data, const size_t boundary) INTEROP_THROW_SPEC((model
 
template<typename Point >
float populate_reads_identified (model::metric_base::metric_set< model::metrics::index_metric > &index_metrics, const model::metric_base::metric_set< model::metrics::tile_metric > &tile_metrics, const size_t lane, model::plot::data_point_collection< Point > &points)
 
void plot_sample_qc (model::metrics::run_metrics &metrics, const size_t lane, model::plot::plot_data< model::plot::bar_point > &data)
 

Variables

void plot_by_cycle(model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty=true) INTEROP_THROW_SPEC((model void plot_by_cycle(model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty=true) INTEROP_THROW_SPEC((model void list_by_cycle_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_accumulated=false)
 
void plot_by_lane(const model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty=true) INTEROP_THROW_SPEC((model void plot_by_lane(const model::metrics::run_metrics &metrics, const std::string &metric_name, const model::plot::filter_options &options, model::plot::plot_data< model::plot::candle_stick_point > &data, const bool skip_empty=true) INTEROP_THROW_SPEC((model void list_by_lane_metrics (std::vector< logic::utils::metric_type_description_t > &types, const bool ignore_pf=false)
 
void plot_flowcell_map(model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::flowcell_data &data, float *buffer=0,::uint32_t *tile_buffer=0, const bool skip_empty=true) INTEROP_THROW_SPEC((model voi plot_flowcell_map2 )(model::metrics::run_metrics &metrics, const constants::metric_type type, const model::plot::filter_options &options, model::plot::flowcell_data &data, float *buffer, const size_t buffer_size,::uint32_t *id_buffer, const size_t id_buffer_size, const bool skip_empty=true) INTEROP_THROW_SPEC((model
 
void plot_qscore_heatmap(model::metrics::run_metrics &metrics, const model::plot::filter_options &options, model::plot::heatmap_data &data, float *buffer=0, const size_t buffer_size=0) INTEROP_THROW_SPEC((model size_ count_rows_for_heatmap )(const model::metrics::run_metrics &metrics)
 

Function Documentation

void illumina::interop::logic::plot::auto_scale ( model::plot::plot_data< Point > &  data,
const bool  zero_min = true,
const float  scale_y_max = 1.1f 
)

Logic for auto scaling both axes of plot data

Parameters
datamodel for plot data
zero_minif true, set minimum to 0
scale_y_maxfactor to scale maximum Y value
void illumina::interop::logic::plot::auto_scale_x ( model::plot::plot_data< Point > &  data,
const bool  zero_min = true 
)

Logic for auto scaling the x-axis of plot data

Parameters
datamodel for plot data
zero_minif true, set minimum to 0
void illumina::interop::logic::plot::auto_scale_y ( model::plot::plot_data< Point > &  data,
const bool  zero_min = true,
const float  scale_y_max = 1.1f 
)

Logic for auto scaling the y-axis of plot data

Parameters
datamodel for plot data
zero_minif true, set minimum to 0
scale_y_maxfactor to scale maximum Y value
size_t calculate_flowcell_buffer_size ( const model::metrics::run_metrics metrics,
const model::plot::filter_options options 
)

Calculate the required buffer size

Parameters
metricsrun metrics
optionsoptions to filter the data
std::string illumina::interop::logic::plot::color_name_for_index ( const size_t  index)
inline

Get the color for a specific line index

Note
From: http://stackoverflow.com/questions/1168260/algorithm-for-generating-unique-colors
Parameters
indexline index
Returns
color name
size_t count_columns_for_heatmap ( const model::metrics::run_metrics metrics)

Count number of columns for the heat map

Parameters
metricsrun metrics
Returns
number of columns
size_t illumina::interop::logic::plot::count_rows_for_heatmap ( const model::metrics::run_metrics metrics)

Count number of rows for the heat map

Parameters
metricsrun metrics
Returns
number of rows
void filter_by_cycle_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_accumulated = false 
)

Filter metric types available for by cycle plots

Parameters
typesdestination vector to fill with metric types
ignore_accumulatedif true, ignore accumulated Q20 and Q30
void filter_by_lane_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_pf = false 
)

Filter metric types available for by lane plots

Parameters
typesdestination vector to fill with metric types
ignore_pfif true, ignore density PF and cluster PF
void filter_flowcell_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_accumulated = false 
)

Filter metric type names available for flowcell

Parameters
typesdestination vector to fill with metric type names
ignore_accumulatedexclude accumulated q-metrics
size_t illumina::interop::logic::plot::get_last_filtered_cycle ( const model::run::info run_info,
const model::plot::filter_options options,
const size_t  max_cycle 
)
inline

Get the last cycle based on the filter options

Parameters
run_inforun info with reads information
optionsoptions to filter the data
max_cyclemaximum cycle for q_metrics
Returns
last cycle based on run info and filter options
void list_available_plot_metrics ( const model::metrics::run_metrics metrics,
std::vector< logic::utils::metric_type_description_t > &  types 
)

List all available metric types for all plots

That is, the metric must be populated

Parameters
metricsrun metrics object
typesdestination vector to fill with metric types

List all available metric types for all plots

That is, the metric must be populated

Parameters
typesdestination vector to fill with metric types
void illumina::interop::logic::plot::list_by_cycle_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_accumulated 
)

List metric types available for by cycle plots

Parameters
typesdestination vector to fill with metric types
ignore_accumulatedif true, ignore accumulated Q20 and Q30
void illumina::interop::logic::plot::list_by_lane_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_pf 
)

List metric types available for by lane plots

Parameters
typesdestination vector to fill with metric types
ignore_pfif true, ignore density PF and cluster PF
void list_flowcell_metrics ( std::vector< logic::utils::metric_type_description_t > &  types,
const bool  ignore_accumulated = false 
)

List metric type names available for flowcell

Parameters
typesdestination vector to fill with metric type names
ignore_accumulatedexclude accumulated q-metrics
void list_plot_metrics ( std::vector< logic::utils::metric_type_description_t > &  types)

List metric types available for all plots

Parameters
typesdestination vector to fill with metric types
void illumina::interop::logic::plot::normalize_heatmap ( model::plot::heatmap_data data)

Normalize the heat map to a percent

Parameters
dataoutput heat map data
float illumina::interop::logic::plot::plot_binned_histogram ( beg,
end,
const std::vector< float > &  histogram,
model::plot::data_point_collection< Point > &  points 
)

Plot a binned histogram

Parameters
begiterator to start of the histogram bins
enditerator to end of the histogram bins
histogramq-score histogram
pointscollection of points where x is lane number and y is the candle stick metric values
Returns
max x-value
void illumina::interop::logic::plot::plot_candle_stick ( model::plot::candle_stick_point point,
beg,
end,
const float  x,
std::vector< float > &  outliers 
)

Logic for creating a candle stick point

Parameters
pointcandle stick point
begiterator to start of collection of values
enditerator to end of collection of values
xx-coordinate
outliersreusable memory for collecting outliers
float illumina::interop::logic::plot::plot_unbinned_histogram ( const std::vector< float > &  histogram,
model::plot::data_point_collection< Point > &  points 
)

Plot an unbinned histogram

Parameters
histogramq-score histogram
pointscollection of points where x is lane number and y is the candle stick metric values
Returns
max x-value
void illumina::interop::logic::plot::populate_distribution ( beg,
end,
const model::plot::filter_options options,
const size_t  first_cycle,
const size_t  last_cycle,
std::vector< float > &  histogram 
)

Populate the q-score histogram based on the filter options

Parameters
begiterator to start of q-metric collection
enditerator to end of q-metric collection
optionsfilter for metric records
first_cyclefirst cycle to keep
last_cyclelast cycle to keep
histogramq-score histogram
void illumina::interop::logic::plot::populate_heatmap ( const model::metric_base::metric_set< Metric > &  metric_set,
const model::plot::filter_options options,
model::plot::heatmap_data data,
float *  buffer 
)

Plot a heat map of q-scores

Parameters
metric_setq-metrics (full or by lane)
optionsoptions to filter the data
dataoutput heat map data
bufferpreallocated memory
void illumina::interop::logic::plot::populate_heatmap_from_compressed ( beg,
end,
const std::vector< B > &  bins,
const model::plot::filter_options options,
model::plot::heatmap_data data 
)

Populate the q-score heat map based on the filter options

Parameters
begiterator to start of q-metric collection
enditerator to end of q-metric collection
binsq-score bins
optionsfilter for metric records
dataq-score heatmap
void illumina::interop::logic::plot::populate_heatmap_from_uncompressed ( beg,
end,
const model::plot::filter_options options,
model::plot::heatmap_data data 
)

Populate the q-score heatmap based on the filter options

Parameters
begiterator to start of q-metric collection
enditerator to end of q-metric collection
optionsfilter for metric records
dataq-score heatmap
float illumina::interop::logic::plot::populate_reads_identified ( model::metric_base::metric_set< model::metrics::index_metric > &  index_metrics,
const model::metric_base::metric_set< model::metrics::tile_metric > &  tile_metrics,
const size_t  lane,
model::plot::data_point_collection< Point > &  points 
)

Populate reads identified versus the index

Parameters
index_metricsset of metric records
tile_metricssource collection of tile metrics
lanelane index
pointscollection of points where x is lane number and y is the candle stick metric values
void illumina::interop::logic::plot::remap_to_bins ( beg,
end,
const size_t  max_cycle,
model::plot::heatmap_data data 
)

Spread the bins out

Parameters
begiterator to start of bins
enditerator to end of bins
max_cyclemaximum cycle number
dataoutput heat map data
std::string illumina::interop::logic::plot::scale_histogram ( std::vector< float > &  histogram)
inline

Scale the histogram if necessary and provide the scale label

Parameters
histogramq-score histogram
Returns
label of the scale
void illumina::interop::logic::plot::setup_series_by_base ( model::plot::plot_data< Point > &  data)

Generate meta data for multiple plot series that compare data by base

Parameters
dataplot data that holds a collection of plot series
void illumina::interop::logic::plot::setup_series_by_channel ( const std::vector< std::string > &  channels,
model::plot::plot_data< Point > &  data 
)

Generate meta data for multiple plot series that compare data by channel

Parameters
channelscollection of channel names
dataplot data that holds a collection of plot series