kaori
A C++ library for barcode extraction and matching
Loading...
Searching...
No Matches
kaori::CombinatorialBarcodesPairedEnd< max_size_ > Class Template Reference

Handler for paired-end combinatorial barcodes. More...

#include <CombinatorialBarcodesPairedEnd.hpp>

Public Member Functions

 CombinatorialBarcodesPairedEnd (const char *template_seq1, SeqLength template_length1, const BarcodePool &barcode_pool1, const char *template_seq2, SeqLength template_length2, const BarcodePool &barcode_pool2, const Options &options)
 
const std::unordered_map< std::array< BarcodeIndex, 2 >, Count, CombinationHash< 2 > > & get_combinations () const
 
BarcodeIndex get_total () const
 
BarcodeIndex get_barcode1_only () const
 
BarcodeIndex get_barcode2_only () const
 

Detailed Description

template<SeqLength max_size_>
class kaori::CombinatorialBarcodesPairedEnd< max_size_ >

Handler for paired-end combinatorial barcodes.

In this design, each read contains a vector sequence created from a template with a single variable region. For one read, the barcode is drawn from one pool of options, while the other read contains a barcode from another pool. Combinations are assembled randomly during library construction, where the large number of combinations provide many unique identifiers for cell-tracing applications. This handler will capture the frequencies of each barcode combination.

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

Constructor & Destructor Documentation

◆ CombinatorialBarcodesPairedEnd()

template<SeqLength max_size_>
kaori::CombinatorialBarcodesPairedEnd< max_size_ >::CombinatorialBarcodesPairedEnd ( const char * template_seq1,
SeqLength template_length1,
const BarcodePool & barcode_pool1,
const char * template_seq2,
SeqLength template_length2,
const BarcodePool & barcode_pool2,
const 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.

Member Function Documentation

◆ get_barcode1_only()

template<SeqLength max_size_>
BarcodeIndex kaori::CombinatorialBarcodesPairedEnd< 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<SeqLength max_size_>
BarcodeIndex kaori::CombinatorialBarcodesPairedEnd< 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<SeqLength max_size_>
const std::unordered_map< std::array< BarcodeIndex, 2 >, Count, CombinationHash< 2 > > & kaori::CombinatorialBarcodesPairedEnd< max_size_ >::get_combinations ( ) const
inline
Returns
Combinations encountered by the handler, along with their frequencies. In each array, the first and second element contains the indices of known barcodes in the first and second pools, respectively.

◆ get_total()

template<SeqLength max_size_>
BarcodeIndex kaori::CombinatorialBarcodesPairedEnd< max_size_ >::get_total ( ) const
inline
Returns
Total number of read pairs processed by the handler.

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