gatb.core-API-0.0.0
Kmer< span > Struct Template Reference

Entry point for kmer management. More...

#include <Model.hpp>

Classes

struct  Count
 Structure associating a kmer value with an abundance value. More...
 
class  KmerCanonical
 Kmer type for the ModelCanonical class. More...
 
class  KmerDirect
 Kmer type for the ModelDirect class. More...
 
class  KmerMinimizer
 Kmer type for the ModelMinimizer class. More...
 
class  ModelAbstract
 
class  ModelCanonical
 Model that handles "canonical" kmers, ie the minimum value of the direct kmer and its reverse complement. More...
 
class  ModelDirect
 Model that handles "direct" kmers, ie sequences of nucleotides. The associated value of such a kmer is computed as a polynom P(X) with X=4 and where the coefficients are in [0..3]. By convention, we use A=0, C=1, T=2 and G=3. More...
 
class  ModelMinimizer
 Model that handles kmers of the Model type + a minimizer. More...
 

Public Types

typedef tools::math::LargeInt<(span+31)/32 > Type
 

Detailed Description

template<size_t span = KMER_DEFAULT_SPAN>
struct gatb::core::kmer::impl::Kmer< span >

Entry point for kmer management.

This structure is only a container for other types defined inside. The specificity is that this structure is templated by a 'span' integer that represents the maximal kmer size supported (actually, the max value is 'span-1').

Inside this structure, we have the following main elements:

  • 'Type' : this is the integer type representing kmer values
  • 'Model' : provides many services for managing kmers
  • 'Count' : roughly speaking, this a kmer value with an associated abundance

This structure must be used only with for 4 values (32,64,96,128 for instance, see Model.cpp), otherwise a compilation error occurs (more values could be added in the future).

A default value of 32 is defined for the template parameter, so writing 'Kmer<>::Model' represents a model that supports kmers of size up to 31 (included).

Member Typedef Documentation

typedef tools::math::LargeInt<(span+31)/32> Type

Alias type for the integer value of a kmer. We use the LargeInt class for supporting big integers. Note that the template parameter 'span' represents the maximal kmer size supported by the Kmer class. A conversion to the template parameter of LargeInt is done.


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