bpp-seq3
3.0.0
|
The SequenceContainer interface. More...
#include <Bpp/Seq/Container/SequenceContainer.h>
Public Member Functions | |
SequenceContainer () | |
virtual | ~SequenceContainer () |
virtual const Sequence & | getSequence (const std::string &name) const =0 |
Retrieve a sequence object from the container. More... | |
virtual void | setSequence (const std::string &name, const Sequence &sequence, bool checkName)=0 |
Replace a sequence in the container. More... | |
virtual std::shared_ptr< Sequence > | removeSequence (const std::string &name)=0 |
Extract (and remove) a sequence from the container. More... | |
virtual const Alphabet * | getAlphabet () const =0 |
Get container's alphabet. More... | |
virtual std::string | toString (const std::string &name) const =0 |
Convert a particular sequence to a string. More... | |
virtual bool | hasSequence (const std::string &name) const =0 |
Check if a sequence with a given name is present in the container. More... | |
virtual size_t | getNumberOfSequences () const =0 |
Get the number of sequences in the container. More... | |
virtual std::vector< std::string > | getSequenceNames () const =0 |
Get all the names of the sequences in the container. More... | |
virtual void | setSequenceNames (const std::vector< std::string > &names, bool checkNames)=0 |
Set all sequence names. More... | |
virtual double | getStateValueAt (size_t siteIndex, const std::string &sequenceName, int state) const =0 |
get value of a state in a position More... | |
virtual double | operator() (size_t siteIndex, const std::string &sequenceName, int state) const =0 |
virtual const Comments & | getComments (const std::string &name) const =0 |
Get comments of a particular sequence. More... | |
virtual void | setComments (const std::string &name, const Comments &comments)=0 |
Set the comments of a particular sequence. More... | |
virtual const Comments & | getGeneralComments () const =0 |
Get the comments of this container. More... | |
virtual void | setGeneralComments (const Comments &comments)=0 |
Set the comments of this container. More... | |
virtual void | deleteGeneralComments ()=0 |
Delete the comments associated to this container. More... | |
virtual void | clear ()=0 |
Delete all data in the container. More... | |
virtual SequencedValuesContainer * | createEmptyContainer () const =0 |
Return a copy of this container, but with no data inside. More... | |
virtual Clonable * | clone () const=0 |
Provide direct access to sequences content. | |
| |
virtual int & | valueAt (const std::string &sequenceName, size_t elementIndex)=0 |
Element access function. More... | |
virtual const int & | valueAt (const std::string &sequenceName, size_t elementIndex) const =0 |
Element access function. More... | |
virtual int & | operator() (const std::string &sequenceName, size_t elementIndex)=0 |
Element access operator. More... | |
virtual const int & | operator() (const std::string &sequenceName, size_t elementIndex) const =0 |
Element access operator. More... | |
virtual void | addSequence (const Sequence &sequence, bool checkName)=0 |
Add a sequence to the container. More... | |
The SequenceContainer interface.
This interface is the most general one in the container hierarchy for sequences. No assumption is made on the sequences in the container (no ordering, no alignment). Sequences may be retrieved using their names, which must be unique.
The container is the only one responsible for the allocation/destruction of sequences it contains. This means that any sequence passed to it will be copied into the container. The container also provides methods that send const pointers towards these sequences (without performing any copy of the underlying objects).
Notes :
Definition at line 82 of file SequenceContainer.h.
|
inline |
Definition at line 86 of file SequenceContainer.h.
|
inlinevirtual |
Definition at line 87 of file SequenceContainer.h.
|
pure virtual |
Add a sequence to the container.
sequence | The sequence to add. |
checkName | Tell if the container must check if the name of the sequence is already used in the container before adding it. |
Exception | Any other kind of exception, if the name of the sequence is already used, are whatever else depending on the implementation. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::CompressedVectorSiteContainer, and bpp::AlignedSequenceContainer.
Referenced by bpp::SequenceContainerTools::append(), bpp::Clustal::appendAlignmentFromStream(), bpp::DCSE::appendAlignmentFromStream(), bpp::NexusIOSequence::appendAlignmentFromStream(), bpp::Fasta::appendSequencesFromStream(), bpp::GenBank::appendSequencesFromStream(), bpp::Mase::appendSequencesFromStream(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceApplicationTools::getAlignedContainer(), bpp::SequenceContainerTools::getSelectedSequences(), bpp::SequenceContainerTools::merge(), bpp::Phylip::readInterleaved(), and bpp::Phylip::readSequential().
|
pure virtualinherited |
Delete all data in the container.
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, bpp::CompressedVectorSiteContainer, and bpp::AlignedSequenceContainer.
|
pure virtualinherited |
Return a copy of this container, but with no data inside.
This method creates a new SequencedValuesContainer objet. The class of this container depends on the derivative class.
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, bpp::CompressedVectorSiteContainer, and bpp::AlignedSequenceContainer.
|
pure virtualinherited |
Delete the comments associated to this container.
Implemented in bpp::AbstractValuesContainer, and bpp::AbstractProbabilisticSequenceContainer.
|
pure virtualinherited |
Get container's alphabet.
Implemented in bpp::AbstractValuesContainer.
Referenced by bpp::Clustal::appendAlignmentFromStream(), bpp::DCSE::appendAlignmentFromStream(), bpp::NexusIOSequence::appendAlignmentFromStream(), bpp::Fasta::appendSequencesFromStream(), bpp::GenBank::appendSequencesFromStream(), bpp::Mase::appendSequencesFromStream(), bpp::SiteContainerTools::changeGapsToUnknownCharacters(), bpp::SiteContainerTools::changeUnresolvedCharactersToGaps(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceContainerTools::getCodonPosition(), bpp::SiteContainerTools::getCompleteSites(), bpp::SiteContainerTools::getConsensus(), bpp::SequenceContainerTools::getFrequencies(), bpp::SiteContainerTools::getSelectedPositions(), bpp::MaseTools::getSelectedSequences(), bpp::SiteContainerTools::getSelectedSites(), bpp::SiteContainerTools::getSequencePositions(), bpp::SequenceApplicationTools::getSitesToAnalyse(), bpp::SiteContainerTools::getSitesWithoutGaps(), bpp::SequenceContainerTools::merge(), bpp::SiteContainerTools::merge(), bpp::AbstractSequenceContainer::operator=(), bpp::Phylip::readInterleaved(), bpp::Phylip::readSequential(), bpp::SiteContainerTools::removeGapOnlySites(), bpp::SiteContainerTools::removeGapOrUnresolvedOnlySites(), bpp::SiteContainerTools::removeGapSites(), bpp::SiteContainerTools::removeStopCodonSites(), bpp::SiteContainerTools::resolveDottedAlignment(), bpp::SiteContainerTools::sampleSites(), bpp::Phylip::writeInterleaved(), and bpp::Phylip::writeSequential().
|
pure virtualinherited |
Get comments of a particular sequence.
name | The name of the sequence. |
SequenceNotFoundException | If the name does not match any sequence in the container. |
Implemented in bpp::VectorProbabilisticSequenceContainer, bpp::AbstractSequenceContainer, and bpp::AbstractProbabilisticSequenceContainer.
Referenced by bpp::SequenceContainerTools::getCodonPosition(), and bpp::Mase::writeSequences().
|
pure virtualinherited |
Get the comments of this container.
Implemented in bpp::AbstractValuesContainer, and bpp::AbstractProbabilisticSequenceContainer.
Referenced by bpp::AlignedSequenceContainer::AlignedSequenceContainer(), bpp::Mase::appendSequencesFromStream(), bpp::MaseTools::getSelectedSequences(), bpp::SiteContainerTools::getSelectedSites(), bpp::MaseTools::getSelectedSites(), bpp::AbstractSequenceContainer::operator=(), bpp::VectorSequenceContainer::VectorSequenceContainer(), bpp::Stockholm::writeAlignment(), bpp::Fasta::writeSequences(), and bpp::Mase::writeSequences().
|
pure virtualinherited |
Get the number of sequences in the container.
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::AlignedSequenceContainer::AlignedSequenceContainer(), bpp::SequenceContainerTools::append(), bpp::NexusIOSequence::appendAlignmentFromStream(), bpp::SiteContainerTools::changeGapsToUnknownCharacters(), bpp::SiteContainerTools::changeUnresolvedCharactersToGaps(), bpp::SiteContainerTools::computeSimilarityMatrix(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceContainerTools::getSelectedSequences(), bpp::SiteContainerTools::getSequencePositions(), bpp::SequenceApplicationTools::getSitesToAnalyse(), bpp::SimpleSequenceContainerIterator::hasMoreSequences(), bpp::VectorSequenceContainer::operator=(), bpp::VectorSiteContainer::operator=(), bpp::SiteContainerTools::removeGapOnlySites(), bpp::SiteContainerTools::removeGapOrUnresolvedOnlySites(), bpp::SiteContainerTools::removeGapSites(), bpp::SiteContainerTools::removeStopCodonSites(), bpp::SiteContainerTools::resolveDottedAlignment(), bpp::VectorProbabilisticSiteContainer::VectorProbabilisticSiteContainer(), bpp::VectorSequenceContainer::VectorSequenceContainer(), bpp::VectorSiteContainer::VectorSiteContainer(), bpp::Clustal::writeAlignment(), bpp::Phylip::writeAlignment(), bpp::Stockholm::writeAlignment(), bpp::Phylip::writeInterleaved(), and bpp::Phylip::writeSequential().
|
pure virtual |
Retrieve a sequence object from the container.
name | The name of the sequence. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::SequenceContainerTools::append(), bpp::SequenceContainerTools::getCodonPosition(), bpp::SequenceContainerTools::getCounts(), bpp::SequenceContainerTools::getFrequencies(), bpp::SequenceContainerTools::getSelectedSequences(), bpp::SequenceContainerTools::merge(), bpp::VectorSequenceContainer::operator=(), bpp::VectorSiteContainer::operator=(), bpp::SequenceContainerTools::sequencesHaveTheSameLength(), bpp::VectorSequenceContainer::VectorSequenceContainer(), bpp::VectorSiteContainer::VectorSiteContainer(), bpp::Pasta::writeAlignedValues(), bpp::Phylip::writeInterleaved(), bpp::Fasta::writeSequences(), and bpp::Phylip::writeSequential().
|
pure virtualinherited |
Get all the names of the sequences in the container.
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::SequenceContainerTools::append(), bpp::CompressedVectorSiteContainer::CompressedVectorSiteContainer(), bpp::SiteContainerTools::computeSimilarityMatrix(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceContainerTools::getCodonPosition(), bpp::SiteContainerTools::getCompleteSites(), bpp::SequenceContainerTools::getCounts(), bpp::SequenceContainerTools::getFrequencies(), bpp::SiteContainerTools::getSelectedSites(), bpp::SiteContainerTools::getSitesWithoutGaps(), bpp::SequenceContainerTools::keepOnlySelectedSequences(), bpp::SequenceContainerTools::merge(), bpp::SiteContainerTools::merge(), bpp::VectorSequenceContainer::operator=(), bpp::CompressedVectorSiteContainer::operator=(), bpp::VectorSiteContainer::operator=(), bpp::SiteContainerTools::removeGapOnlySites(), bpp::SiteContainerTools::removeGapOrUnresolvedOnlySites(), bpp::SiteContainerTools::removeGapSites(), bpp::SiteContainerTools::removeStopCodonSites(), bpp::SiteContainerTools::resolveDottedAlignment(), bpp::SequenceApplicationTools::restrictSelectedSequencesByName(), bpp::SiteContainerTools::sampleSites(), bpp::SequenceContainerTools::sequencesHaveTheSameLength(), bpp::VectorProbabilisticSiteContainer::VectorProbabilisticSiteContainer(), bpp::VectorSequenceContainer::VectorSequenceContainer(), bpp::VectorSiteContainer::VectorSiteContainer(), bpp::Pasta::writeAlignedValues(), bpp::Stockholm::writeAlignment(), bpp::Phylip::writeInterleaved(), bpp::Fasta::writeSequences(), bpp::Mase::writeSequences(), and bpp::Phylip::writeSequential().
|
pure virtualinherited |
get value of a state in a position
siteIndex | index of the site |
sequenceName | name of the sequence in the container |
state | state in the alphabet |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Check if a sequence with a given name is present in the container.
name | The name of the sequence. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::SequenceContainerTools::getSelectedSequences().
|
pure virtual |
Element access operator.
Allows direct access to the data stored in the container. This method is faster then the valueAt function, but input parameters are not checked!
sequenceName | The sequence name. |
elementIndex | The element position within the sequence. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, and bpp::CompressedVectorSiteContainer.
|
pure virtual |
Element access operator.
Allows direct access to the data stored in the container. This method is faster then the valueAt function, but input parameters are not checked!
sequenceName | The sequence name. |
elementIndex | The element position within the sequence. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
|
pure virtual |
Extract (and remove) a sequence from the container.
name | The name of the sequence. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::SequenceApplicationTools::restrictSelectedSequencesByName().
|
pure virtualinherited |
Set the comments of a particular sequence.
name | The name of the sequence. |
comments | The comments to set to sequence with name 'name'. |
SequenceNotFoundException | If the name does not match any sequence in the container. |
Implemented in bpp::VectorProbabilisticSequenceContainer, bpp::AbstractValuesContainer, bpp::AbstractSequenceContainer, and bpp::AbstractProbabilisticSequenceContainer.
|
pure virtualinherited |
Set the comments of this container.
comments | The comments to be associated to this container. |
Implemented in bpp::AbstractValuesContainer, and bpp::AbstractProbabilisticSequenceContainer.
Referenced by bpp::Clustal::appendAlignmentFromStream(), bpp::Fasta::appendSequencesFromStream(), and bpp::Mase::appendSequencesFromStream().
|
pure virtual |
Replace a sequence in the container.
name | The name of the sequence. |
sequence | The sequence to add. |
checkName | Tell if the container must check if the name of the sequence is already used in the container before adding it. |
Implemented in bpp::VectorSequenceContainer, bpp::AlignedSequenceContainer, bpp::VectorSiteContainer, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Set all sequence names.
names | A vector of strings with all sequence names. Its size must be strictly equal to the the size of the container (the number of sequences). |
checkNames | Tell if the container must check if the name of the sequence is already used in the container before adding it. |
Exception | If there are redundant names in the input vector. |
Implemented in bpp::VectorSiteContainer, bpp::VectorSequenceContainer, bpp::VectorProbabilisticSiteContainer, bpp::VectorProbabilisticSequenceContainer, and bpp::CompressedVectorSiteContainer.
Referenced by bpp::SequenceContainerTools::createContainerWithSequenceNames(), bpp::SiteContainerTools::getCompleteSites(), and bpp::SiteContainerTools::getSitesWithoutGaps().
|
pure virtualinherited |
Convert a particular sequence to a string.
name | The name of the sequence. |
SequenceNotFoundException | If the name does not match any sequence in the container. |
Implemented in bpp::VectorProbabilisticSequenceContainer, bpp::AbstractSequenceContainer, and bpp::AbstractProbabilisticSequenceContainer.
Referenced by bpp::SequenceContainerTools::convertAlphabet(), bpp::Phylip::writeInterleaved(), bpp::Mase::writeSequences(), and bpp::Phylip::writeSequential().
|
pure virtual |
Element access function.
Allows direct access to the data stored in the container.
sequenceName | The sequence name. |
elementIndex | The element position within the sequence. |
Implemented in bpp::OrderedSequenceContainer, bpp::VectorSiteContainer, bpp::CompressedVectorSiteContainer, and bpp::VectorSequenceContainer.
|
pure virtual |
Element access function.
Allows direct access to the data stored in the container.
sequenceName | The sequence name. |
elementIndex | The element position within the sequence. |
Implemented in bpp::OrderedSequenceContainer, bpp::VectorSiteContainer, bpp::VectorSequenceContainer, and bpp::CompressedVectorSiteContainer.