kaori
A C++ library for barcode extraction and matching
Loading...
Searching...
No Matches
Public Member Functions | List of all members
kaori::DualBarcodesPairedEndWithDiagnostics< max_size > Class Template Reference

Handler for dual barcodes with extra diagnostics. More...

#include <DualBarcodesPairedEndWithDiagnostics.hpp>

Public Member Functions

 DualBarcodesPairedEndWithDiagnostics (const char *template_seq1, size_t template_length1, const BarcodePool &barcode_pool1, const char *template_seq2, size_t template_length2, const BarcodePool &barcode_pool2, const typename DualBarcodesPairedEnd< max_size >::Options &options)
 
void sort ()
 
const std::vector< int > & get_counts () const
 
const std::vector< std::array< int, 2 > > & get_combinations () const
 
int get_total () const
 
int get_barcode1_only () const
 
int get_barcode2_only () const
 

Detailed Description

template<size_t max_size>
class kaori::DualBarcodesPairedEndWithDiagnostics< max_size >

Handler for dual barcodes with extra diagnostics.

This provides the same information as DualBarcodesPairedEnd but also captures the frequency of the invalid combinations. These frequences can be helpful for diagnosing problems with library construction. The handler also counts the number of reads where only one barcode construct matches to a read.

Template Parameters
max_sizeMaximum length of the template sequences on both reads.

Constructor & Destructor Documentation

◆ DualBarcodesPairedEndWithDiagnostics()

template<size_t max_size>
kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::DualBarcodesPairedEndWithDiagnostics ( const char *  template_seq1,
size_t  template_length1,
const BarcodePool barcode_pool1,
const char *  template_seq2,
size_t  template_length2,
const BarcodePool barcode_pool2,
const typename DualBarcodesPairedEnd< max_size >::Options &  options 
)
inline
Parameters
[in]template_seq1Pointer to a character array containing the first template sequence. This should contain exactly one variable region.
template_length1Length of the first template. This should be less than or equal to max_size.
barcode_pool1Pool of known barcode sequences for the variable region in the first template.
[in]template_seq2Pointer to a character array containing the second template sequence. This should contain exactly one variable region.
template_length2Length of the second template. This should be less than or equal to max_size.
barcode_pool2Pool of known barcode sequences for the variable region in the second template.
optionsOptional parameters.

barcode_pool1 and barcode_pool2 are expected to have the same number of barcodes (possibly duplicated). Corresponding values across the two pools define a particular combination of dual barcodes.

Member Function Documentation

◆ get_barcode1_only()

template<size_t max_size>
int kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::get_barcode1_only ( ) const
inline
Returns
Number of read pairs with a valid match to the first barcode but no valid match to the second barcode.

◆ get_barcode2_only()

template<size_t max_size>
int kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::get_barcode2_only ( ) const
inline
Returns
Number of read pairs with a valid match to the second barcode but no valid match to the first barcode.

◆ get_combinations()

template<size_t max_size>
const std::vector< std::array< int, 2 > > & kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::get_combinations ( ) const
inline
Returns
All invalid combinations encountered by the handler. In each array, the first and second element contains the indices of known barcodes in the first and second pools, respectively.

◆ get_counts()

template<size_t max_size>
const std::vector< int > & kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::get_counts ( ) const
inline
Returns
Vector containing the frequency of each valid combination. This has length equal to the number of valid dual barcode combinations (i.e., the length of barcode_pool1 and barcode_pool2 in the constructor). Each entry contains the count for the corresponding dual barcode combination.

◆ get_total()

template<size_t max_size>
int kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::get_total ( ) const
inline
Returns
Total number of read pairs processed by the handler.

◆ sort()

template<size_t max_size>
void kaori::DualBarcodesPairedEndWithDiagnostics< max_size >::sort ( )
inline

Sort the invalid combinations for easier frequency counting. Combinations are sorted by the first index, and then the second index.


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