bpp-seq3
3.0.0
|
The fasta sequence file format. More...
#include <Bpp/Seq/Io/Fasta.h>
Classes | |
class | FileIndex |
The SequenceFileIndex class for Fasta format. More... | |
Public Member Functions | |
Fasta (unsigned int charsByLine=100, bool checkSequenceNames=true, bool extended=false, bool strictSequenceNames=false) | |
Build a new Fasta object. More... | |
virtual | ~Fasta () |
bool | checkNames () const |
void | checkNames (bool yn) |
Tell whether the sequence names should be checked when reading from files. More... | |
bool | strictNames () const |
void | strictNames (bool yn) |
Tell wethed the sequence name should be restrected to the first non blank characters. More... | |
const std::string | getDataType () const |
virtual bool | nextSequence (std::istream &input, SequenceType &seq) const =0 |
Read sequence from stream. More... | |
virtual void | writeSequence (std::ostream &output, const SequenceType &seq) const =0 |
Read sequence from stream. More... | |
The AbstractISequence interface. | |
void | appendSequencesFromStream (std::istream &input, SequenceContainerInterface &sc) const override |
Append sequences to a container from a stream. More... | |
The AbstractIAlignment interface. | |
void | appendAlignmentFromStream (std::istream &input, SequenceContainerInterface &sc) const override |
Append sequences to a container from a stream. More... | |
The OSequence interface. | |
void | writeSequences (std::ostream &output, const SequenceContainerInterface &sc) const override |
Write a container to a stream. More... | |
void | writeSequences (const std::string &path, const SequenceContainerInterface &sc, bool overwrite=true) const override |
Write a container to a file. More... | |
The IOSequence interface. | |
const std::string | getFormatName () const override |
const std::string | getFormatDescription () const override |
The ISequenceStream interface. | |
bool | nextSequence (std::istream &input, Sequence &seq) const override |
The OSequenceStream interface. | |
void | writeSequence (std::ostream &output, const Sequence &seq) const override |
ISequence methods: | |
void | readSequences (std::istream &input, SequenceContainerInterface &sc) const override |
Add sequences to a container from a stream. More... | |
void | readSequences (const std::string &path, SequenceContainerInterface &sc) const override |
Add sequences to a container from a file. More... | |
std::unique_ptr< SequenceContainerInterface > | readSequences (std::istream &input, std::shared_ptr< const Alphabet > alpha) const override |
Create a new container from a stream. More... | |
std::unique_ptr< SequenceContainerInterface > | readSequences (const std::string &path, std::shared_ptr< const Alphabet > alpha) const override |
Create a new container from a file. More... | |
IAlignment methods: | |
virtual void | readAlignment (std::istream &input, SequenceContainerInterface &sc) const override |
Add sequences to a container from a stream. More... | |
virtual void | readAlignment (const std::string &path, SequenceContainerInterface &sc) const override |
Add sequences to a container from a file. More... | |
std::unique_ptr< SiteContainerInterface > | readAlignment (const std::string &path, std::shared_ptr< const Alphabet > alpha) const override |
Create a new container from a file. More... | |
std::unique_ptr< SiteContainerInterface > | readAlignment (std::istream &input, std::shared_ptr< const Alphabet > alpha) const override |
Create a new container from a stream. More... | |
OAlignment methods: | |
As a SiteContainer is a specialization of SequenceContainer, it is assumed that a OSequence object can write aligned sequence just like a OAlignment object. Therefore it implements the OAlignment interface by down-casting the SiteContainer to a SequenceContainer. | |
void | writeAlignment (std::ostream &output, const SiteContainerInterface &sc) const override |
Write a container to a stream. More... | |
void | writeAlignment (const std::string &path, const SiteContainerInterface &sc, bool overwrite=true) const override |
Write a container to a file. More... | |
Protected Member Functions | |
virtual void | appendSequencesFromFile (const std::string &path, SequenceContainerInterface &sc) const |
Append sequences to a container from a file. More... | |
std::unique_ptr< SequenceContainerInterface > | readSequencesFromStream (std::istream &input, std::shared_ptr< const Alphabet > &alpha) const |
Read sequences from a stream. More... | |
std::unique_ptr< SequenceContainerInterface > | readSequencesFromFile (const std::string &path, std::shared_ptr< const Alphabet > &alpha) const |
Append sequences to a container from a file. More... | |
virtual void | appendAlignmentFromFile (const std::string &path, SequenceContainerInterface &sc) const |
Append sequences to a container from a file. More... | |
virtual std::unique_ptr< SiteContainerInterface > | readAlignmentFromStream (std::istream &input, std::shared_ptr< const Alphabet > alpha) const |
Read sequences from a stream. More... | |
virtual std::unique_ptr< SiteContainerInterface > | readAlignmentFromFile (const std::string &path, std::shared_ptr< const Alphabet > alpha) const |
Read sequences from a file. More... | |
Protected Attributes | |
unsigned int | charsByLine_ |
The maximum number of chars to be written on a line. More... | |
bool | checkNames_ |
bool | extended_ |
bool | strictNames_ |
The fasta sequence file format.
Read and write from/to Fasta files.
|
inline |
Build a new Fasta object.
charsByLine | Number of character per line when writing files. |
checkSequenceNames | Tells if the names in the file should be checked for unicity (slower, in o(n*n) where n is the number of sequences). |
extended | Tells if we should read general comments and sequence comments in HUPO-PSI format. |
strictSequenceNames | Tells if the sequence names should be restricted to the characters between '>' and the first blank one. |
|
inlineprotectedvirtualinherited |
Append sequences to a container from a file.
path | The path to the file to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Definition at line 93 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::appendAlignmentFromStream().
Referenced by bpp::AbstractIAlignment::readAlignment(), bpp::AbstractIAlignment::readAlignmentFromFile(), and bpp::AbstractIAlignment2::readSequences().
|
inlineoverridevirtual |
Append sequences to a container from a stream.
This is the unique method to implement!
input | The input stream to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::AbstractIAlignment.
Definition at line 70 of file Fasta.h.
References appendSequencesFromStream().
|
inlineprotectedvirtualinherited |
Append sequences to a container from a file.
path | The path to the file to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Definition at line 92 of file AbstractISequence.h.
References bpp::AbstractISequence::appendSequencesFromStream().
Referenced by bpp::AbstractISequence::readSequences(), and bpp::AbstractISequence::readSequencesFromFile().
|
overridevirtual |
Append sequences to a container from a stream.
This is the unique method to implement!
input | The input stream to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::AbstractISequence.
Definition at line 119 of file Fasta.cpp.
References bpp::TemplateSequenceContainerInterface< SequenceType, HashType >::addSequence(), bpp::TemplateSequenceDataInterface< HashType >::getAlphabet(), and bpp::Commentable::setComments().
Referenced by appendAlignmentFromStream().
|
inline |
Definition at line 121 of file Fasta.h.
References checkNames_.
|
inline |
Tell whether the sequence names should be checked when reading from files.
yn | whether the sequence names should be checked when reading from files. |
Definition at line 128 of file Fasta.h.
References checkNames_.
|
inlinevirtualinherited |
|
inlineoverridevirtual |
Implements bpp::IOFormat.
|
inlineoverridevirtual |
Implements bpp::IOFormat.
|
override |
Definition at line 18 of file Fasta.cpp.
References bpp::StringTokenizer::hasMoreToken(), bpp::TextTools::isWhiteSpaceCharacter(), bpp::StringTokenizer::nextToken(), bpp::TextTools::removeWhiteSpaces(), bpp::SimpleCommentable::setComments(), bpp::Sequence::setContent(), bpp::AbstractCoreSequence::setName(), and bpp::TextTools::toUpper().
Referenced by bpp::Fasta::FileIndex::getSequence().
|
pure virtualinherited |
|
inlineoverridevirtualinherited |
Add sequences to a container from a file.
path | The path to the file to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::IAlignment.
Definition at line 57 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::appendAlignmentFromFile().
|
inlineoverridevirtualinherited |
Create a new container from a file.
path | The path to the file to read. |
alpha | The alphabet to be associated to the container. |
Exception | If the file is not in the specified format. |
Implements bpp::IAlignment.
Definition at line 62 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::readAlignmentFromFile().
|
inlineoverridevirtualinherited |
Add sequences to a container from a stream.
input | The input stream to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::IAlignment.
Definition at line 45 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::appendAlignmentFromStream().
Referenced by bpp::AbstractIAlignment2::readSequences(), bpp::Clustal::readSequences(), bpp::DCSE::readSequences(), and bpp::Phylip::readSequences().
|
inlineoverridevirtualinherited |
Create a new container from a stream.
input | The input stream to read. |
alpha | The alphabet to be associated to the container. |
Exception | If the file is not in the specified format. |
Implements bpp::IAlignment.
Definition at line 67 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::readAlignmentFromStream().
|
inlineprotectedvirtualinherited |
Read sequences from a file.
path | The path to the file to read. |
alpha | The alphabet to use. |
Exception | If the file is not in the specified format. |
Definition at line 125 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::appendAlignmentFromFile().
Referenced by bpp::AbstractIAlignment::readAlignment().
|
inlineprotectedvirtualinherited |
Read sequences from a stream.
input | The input stream to read. |
alpha | The alphabet to use. |
Exception | If the file is not in the specified format. |
Definition at line 110 of file AbstractIAlignment.h.
References bpp::AbstractIAlignment::appendAlignmentFromStream().
Referenced by bpp::AbstractIAlignment::readAlignment().
|
inlineoverridevirtualinherited |
Add sequences to a container from a file.
path | The path to the file to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::ISequence.
Definition at line 57 of file AbstractISequence.h.
References bpp::AbstractISequence::appendSequencesFromFile().
|
inlineoverridevirtualinherited |
Create a new container from a file.
path | The path to the file to read. |
alpha | The alphabet to be associated to the container. |
Exception | If the file is not in the specified format. |
Implements bpp::ISequence.
Definition at line 67 of file AbstractISequence.h.
References bpp::AbstractISequence::readSequencesFromFile().
|
inlineoverridevirtualinherited |
Add sequences to a container from a stream.
input | The input stream to read. |
sc | The sequence container to update. |
Exception | If the file is not in the specified format. |
Implements bpp::ISequence.
Definition at line 45 of file AbstractISequence.h.
References bpp::AbstractISequence::appendSequencesFromStream().
Referenced by bpp::Mase::readMeta().
|
inlineoverridevirtualinherited |
Create a new container from a stream.
input | The input stream to read. |
alpha | The alphabet to be associated to the container. |
Exception | If the file is not in the specified format. |
Implements bpp::ISequence.
Definition at line 62 of file AbstractISequence.h.
References bpp::AbstractISequence::readSequencesFromStream().
|
inlineprotectedinherited |
Append sequences to a container from a file.
path | The path to the file to read. |
alpha | The alphabet to use. |
Exception | If the file is not in the specified format. |
Definition at line 123 of file AbstractISequence.h.
References bpp::AbstractISequence::appendSequencesFromFile().
Referenced by bpp::AbstractISequence::readSequences().
|
inlineprotectedinherited |
Read sequences from a stream.
input | The input stream to read. |
alpha | The alphabet to use. |
Exception | If the file is not in the specified format. |
Definition at line 109 of file AbstractISequence.h.
References bpp::AbstractISequence::appendSequencesFromStream().
Referenced by bpp::AbstractISequence::readSequences().
|
inline |
Definition at line 133 of file Fasta.h.
References strictNames_.
Referenced by bpp::Fasta::FileIndex::getSequence().
|
inline |
Tell wethed the sequence name should be restrected to the first non blank characters.
yn | whether the sequence names should be restrected. |
Definition at line 140 of file Fasta.h.
References strictNames_.
|
inlineoverridevirtualinherited |
Write a container to a file.
path | The path to the file to write. |
sc | The container to write. |
overwrite | If true the sequences are written at the beginning of the file instead of being appended. Any previous content will be lost. |
Exception | If the file is not in the specified format. |
Implements bpp::OAlignment.
Definition at line 78 of file AbstractOSequence.h.
References bpp::AbstractOSequence::writeSequences().
|
inlineoverridevirtualinherited |
Write a container to a stream.
output | The output stream where to write. |
sc | The container to write. |
Exception | If the file is not in the specified format. |
Implements bpp::OAlignment.
Definition at line 73 of file AbstractOSequence.h.
References bpp::AbstractOSequence::writeSequences().
|
override |
Definition at line 88 of file Fasta.cpp.
References bpp::Sequence::getChar(), bpp::SimpleCommentable::getComments(), bpp::AbstractCoreSequence::getName(), and bpp::AbstractTemplateSymbolList< T >::size().
|
pure virtualinherited |
Read sequence from stream.
Read one sequence from a stream.
output | The stream where write. |
seq | The sequence to write. |
Exception | IOExecption. |
|
inlineoverridevirtual |
Write a container to a file.
path | The path to the file to write. |
sc | The container to write. |
overwrite | If true the sequences are written at the beginning of the file instead of being appended. Any previous content will be lost. |
Exception | If the file is not in the specified format. |
Reimplemented from bpp::AbstractOSequence.
Definition at line 83 of file Fasta.h.
References bpp::AbstractOSequence::writeSequences().
|
overridevirtual |
Write a container to a stream.
output | The output stream where to write. |
sc | The container to write. |
Exception | If the file is not in the specified format. |
Implements bpp::AbstractOSequence.
Definition at line 178 of file Fasta.cpp.
References bpp::Commentable::getComments(), bpp::TemplateSequenceDataInterface< HashType >::getSequenceNames(), and bpp::TemplateSequenceContainerInterface< SequenceType, HashType >::sequence().
|
protected |
|
protected |
Definition at line 38 of file Fasta.h.
Referenced by checkNames().
|
protected |
Definition at line 40 of file Fasta.h.
Referenced by strictNames().