kaori
A C++ library for barcode extraction and matching
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
kaori::SimpleBarcodeSearch Class Reference

Search for known barcode sequences. More...

#include <BarcodeSearch.hpp>

Classes

struct  Options
 Optional parameters for SimpleBarcodeSearch. More...
 
struct  State
 State of the search. More...
 

Public Member Functions

 SimpleBarcodeSearch ()
 
 SimpleBarcodeSearch (const BarcodePool &barcode_pool, const Options &options)
 
State initialize () const
 
void reduce (State &state)
 
void search (const std::string &search_seq, State &state) const
 
void search (const std::string &search_seq, State &state, int allowed_mismatches) const
 

Detailed Description

Search for known barcode sequences.

This supports exact and mismatch-aware searches for known sequences. Mismatches may be distributed anywhere along the length of the sequence, see AnyMismatches for details. Instances of this class use caching to avoid redundant work when a mismatching sequence has been previously encountered.

Constructor & Destructor Documentation

◆ SimpleBarcodeSearch() [1/2]

kaori::SimpleBarcodeSearch::SimpleBarcodeSearch ( )
inline

Default constructor. This is only provided for composition purposes; methods of this class should only be called on properly constructed instance.

◆ SimpleBarcodeSearch() [2/2]

kaori::SimpleBarcodeSearch::SimpleBarcodeSearch ( const BarcodePool barcode_pool,
const Options options 
)
inline
Parameters
barcode_poolPool of barcode sequences.
optionsOptional parameters for the search.

Member Function Documentation

◆ initialize()

State kaori::SimpleBarcodeSearch::initialize ( ) const
inline

Initialize the search state for thread-safe execution.

Returns
A new SeachState().

◆ reduce()

void kaori::SimpleBarcodeSearch::reduce ( State state)
inline

Incorporate the mismatch cache from state into the cache for this SimpleBarcodeSearch instance. This allows regular consolidation of optimizations across threads. On return, the mismatch cache of state is combined with that of this instance.

Parameters
stateA state object generated by initialize(). Typically this has already been used in search() at least once.

◆ search() [1/2]

void kaori::SimpleBarcodeSearch::search ( const std::string &  search_seq,
State state 
) const
inline

Search the known sequences in the barcode pool for an input sequence. The number of allowed mismatches is equal to the maximum specified in the constructor.

Parameters
search_seqThe input sequence to use for searching. This is expected to have the same length as the known sequences.
stateA state object generated by initialize(). On return, state is filled with the details of the best-matching barcode sequence, if any exists.

◆ search() [2/2]

void kaori::SimpleBarcodeSearch::search ( const std::string &  search_seq,
State state,
int  allowed_mismatches 
) const
inline

Search the known sequences in the barcode pool for an input sequence, with potentially more stringent mismatch requirements. This can improve efficiency in situations where some mismatches have already been consumed by matching the template sequence.

Parameters
search_seqThe input sequence to use for searching. This is expected to have the same length as the known sequences.
stateA state object generated by initialize(). On return, state is filled with the details of the best-matching barcode sequence, if any exists.
allowed_mismatchesAllowed number of mismatches. This should not be greater than the maximum specified in the constructor.

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