gatb.core-API-0.0.0
|
Implementation of IBank for FASTA format. More...
#include <BankFasta.hpp>
Classes | |
class | Iterator |
Specific Iterator impl for Bank class. More... | |
Public Member Functions | |
BankFasta (const std::string &filename, bool output_fastq=false, bool output_gz=false) | |
~BankFasta () | |
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 | finalize () |
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 () |
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 () |
Protected Member Functions | |
void | init () |
Protected Member Functions inherited from SmartPointer | |
SmartPointer () | |
virtual | ~SmartPointer () |
Static Protected Member Functions | |
static size_t | getMaxNbFiles () |
Protected Attributes | |
std::vector< std::string > | _filenames |
FILE * | _insertHandle |
Implementation of IBank for FASTA format.
This class provides FASTA management in GATB.
Actually, it provides FASTA and FASTQ formats, both in uncompressed and gzip formats.
In case of FASTQ files, the iterated Sequence objects will provide quality information.
Sample of use (note however that it is better to use Bank::open for opening a bank):
BankFasta | ( | const std::string & | filename, |
bool | output_fastq = false , |
||
bool | output_gz = false |
||
) |
Constructor.
[in] | filename | : uri of the bank. |
[in] | output_fastq | : tells whether the file is in fastq or not. |
[in] | output_gz | tells whether the file is gzipped or not |
~BankFasta | ( | ) |
Destructor.
|
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 |
Method that may be called when the bank is done. It is called by BankFasta destructor for instance. It will close fclose() or something equivalent. You don't need to call this function yourself.
Reimplemented from AbstractBank.
|
virtual |
Flush the current content. May be useful for implementation that uses a cache.
Implements Bag< Sequence >.
|
inlinevirtual |
Implements IBank.
|
inlinestaticprotected |
|
inlinevirtual |
Return the number of items. If a specific implementation doesn't know the value, it should return -1 by convention.
Implements Iterable< Sequence >.
|
inlinevirtual |
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.
|
protected |
Initialization method (compute the file sizes).
|
virtual |
|
inlinevirtual |
|
inlinestatic |
Returns the name of the bank format.
|
protected |
List of URI of the banks.
|
protected |
File handle for inserting sequences into the bank.