kaori
A C++ library for barcode extraction and matching
|
Handler for single-end combinatorial barcodes. More...
#include <CombinatorialBarcodesSingleEnd.hpp>
Classes | |
struct | Options |
Optional parameters for CombinatorialBarcodeSingleEnd . More... | |
Public Member Functions | |
template<class BarcodePoolContainer > | |
CombinatorialBarcodesSingleEnd (const char *template_seq, size_t template_length, const BarcodePoolContainer &barcode_pools, const Options &options) | |
CombinatorialBarcodesSingleEnd & | set_first (bool t=true) |
void | sort () |
const std::vector< std::array< int, num_variable > > & | get_combinations () const |
int | get_total () const |
Handler for single-end combinatorial barcodes.
In this design, the barcoding element is created from a template with multiple variable regions. Each region contains a barcode from a different pool of options, where combinations are assembled randomly by library construction. The idea is to use the large number of combinations to provide many unique identifiers, e.g., for cell-tracing applications. This handler will capture the frequencies of each barcode combination.
max_size | Maximum length of the template sequences on both reads. |
num_variable | Number of variable regions in the construct. |
|
inline |
[in] | template_seq | Template sequence for the first barcode. This should contain exactly num_variable variable regions. |
template_length | Length of the template. This should be less than or equal to max_size . | |
barcode_pools | Array containing the known barcode sequences for each of the variable regions, in the order of their appearance in the template sequence. | |
options | Optional parameters. |
BarcodePoolContainer | Some iterable container of BarcodePool instances, usually either a std::vector or a std::array . |
|
inline |
|
inline |
|
inline |
t | Whether to search only for the first match. If false , the handler will search for the best match (i.e., fewest mismatches) instead. |
CombinatorialBarcodesSingleEnd
instance.
|
inline |
Sort the combinations for easier frequency counting.