BankSplitter Class Reference

Split a given bank in pieces. More...

#include <BankSplitter.hpp>

Inheritance diagram for BankSplitter:
Inheritance graph

Public Member Functions

 BankSplitter (IBank *reference, size_t readMeanSize, size_t overlap, u_int8_t coverage)
 ~BankSplitter ()
std::string getId ()
tools::dp::Iterator< Sequence > * iterator ()
int64_t getNbItems ()
void insert (const Sequence &item)
void flush ()
u_int64_t getSize ()
void estimate (u_int64_t &number, u_int64_t &totalSize, u_int64_t &maxSize)
- Public Member Functions inherited from AbstractBank
 AbstractBank ()
std::string getIdNb (int i)
int64_t estimateNbItemsBanki (int i)
const std::vector< IBank * > getBanks () const
int64_t estimateNbItems ()
u_int64_t estimateSequencesSize ()
u_int64_t getEstimateThreshold ()
void setEstimateThreshold (u_int64_t nbSeq)
void remove ()
void finalize ()
size_t getCompositionNb ()
- Public Member Functions inherited from Iterable< Sequence >
void iterate (Functor f)
virtual Sequence * getItems (Sequence *&buffer)
virtual size_t getItems (Sequence *&buffer, size_t start, size_t nb)
- Public Member Functions inherited from ISmartPointer
virtual ~ISmartPointer ()
- Public Member Functions inherited from Bag< Sequence >
virtual void insert (const Sequence &item)=0
virtual void insert (const std::vector< Sequence > &items, size_t length=0)
virtual void insert (const Sequence *items, size_t length)
- Public Member Functions inherited from SmartPointer
void use ()
void forget ()

Static Public Member Functions

static const char * name ()
static const size_t getMaxNbFiles ()

Additional Inherited Members

- Protected Member Functions inherited from SmartPointer
 SmartPointer ()
virtual ~SmartPointer ()

Detailed Description

Split a given bank in pieces.

This class allows to iterate the sequences of a given bank by splitting them.

Constructor & Destructor Documentation

BankSplitter ( IBank reference,
size_t  readMeanSize,
size_t  overlap,
u_int8_t  coverage 


[in]reference: reference bank that provides the sequences to be split
[in]readMeanSize: size of a read
[in]overlap: nucleotides number that overlap between two consecutive reads
[in]coverage: number of occurrences for the reads


Member Function Documentation

void estimate ( u_int64_t &  number,
u_int64_t &  totalSize,
u_int64_t &  maxSize 

Give an estimation of sequences information in the bank.

[out]number: sequences number
[out]totalSize: sequences size (in bytes)
[out]maxSize: max size size (in bytes)

Implements IBank.

void flush ( )

Flush the current content. May be useful for implementation that uses a cache.

Implements Bag< Sequence >.

std::string getId ( )

Implements IBank.

static const size_t getMaxNbFiles ( )
maximum number of files.
int64_t getNbItems ( )

Return the number of items. If a specific implementation doesn't know the value, it should return -1 by convention.

the number of items if known, -1 otherwise.

Implements Iterable< Sequence >.

u_int64_t getSize ( )

Return the size of the bank (comments + data)

The returned value may be an approximation in some case. For instance, if we use a zipped bank, an implementation may be not able to give accurate answer to the size of the original file.

the bank size in bytes.

Implements IBank.

void insert ( const Sequence item)

Insert an item into the bag.

[in]item: the item to be inserted.

Implements IBank.

tools::dp::Iterator<Sequence>* iterator ( )

Create an iterator for the given Iterable instance.

the new iterator.

Implements IBank.

static const char* name ( )

Returns the name of the bank format.

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