gatb.core-API-0.0.0
|
Implementation of IBank for compressed format. More...
#include <BankBinary.hpp>
Classes | |
class | Iterator |
Specific Iterator impl for BankBinary class. More... | |
Public Member Functions | |
BankBinary (const std::string &filename, size_t nbValidLetters=0) | |
~BankBinary () | |
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) |
void | remove () |
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 | 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 void | setBufferSize (u_int64_t bufferSize) |
static bool | check (const std::string &uri) |
Protected Attributes | |
std::string | _filename |
Additional Inherited Members | |
Protected Member Functions inherited from SmartPointer | |
SmartPointer () | |
virtual | ~SmartPointer () |
Implementation of IBank for compressed format.
Historically, BinaryBank has been used in the first step of the DSK tool to convert one input FASTA file into a binary format. DSK used to read several times the reads so having a binary (and so compressed) format had the nice effect to have less I/O operations and therefore less execution time.
In the following example, we can see how to convert any kind of bank into a binary bank:
BankBinary | ( | const std::string & | filename, |
size_t | nbValidLetters = 0 |
||
) |
Constructor. During a sequence insertion (see method 'insert'), a sequence may be split in sub sequences if invalid characters exist (like 'N'). A sub sequence is considered as valid if the number of consecutive letters is above some threshold (given as parameter). If this threshold is not provided, there is no split process during 'insert'
[in] | filename | : uri of the bank. |
[in] | nbValidLetters | : threshold for sequence split in 'insert' method |
~BankBinary | ( | ) |
Destructor.
|
static |
Check that the given uri is a correct binary bank.
|
virtual |
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.
|
virtual |
Flush the current content. May be useful for implementation that uses a cache.
Implements Bag< Sequence >.
|
inlinevirtual |
Implements IBank.
|
inlinevirtual |
Return the number of items. If a specific implementation doesn't know the value, it should return -1 by convention.
Implements Iterable< Sequence >.
|
virtual |
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.
Implements IBank.
|
virtual |
|
inlinevirtual |
|
inlinestatic |
Returns the name of the bank format.
|
virtual |
Reimplemented from AbstractBank.
|
static |
Set default buffer size (static method).
[in] | bufferSize | : size of the buffer. |
|
protected |
URI of the bank.