bpp-seq3
3.0.0
|
The SequenceContainer interface. More...
#include <Bpp/Seq/Container/SequenceContainer.h>
Public Member Functions | |
TemplateSequenceContainerInterface () | |
virtual | ~TemplateSequenceContainerInterface () |
virtual TemplateSequenceContainerInterface< SequenceType, HashType > * | createEmptyContainer () const override=0 |
Return a copy of this container, but with no data inside. More... | |
TemplateSequenceDataInterface< std::string > * | clone () const override=0 |
virtual const Alphabet & | alphabet () const=0 |
Get the container's alphabet. More... | |
virtual std::shared_ptr< const Alphabet > | getAlphabet () const=0 |
Get a pointer toward the container's alphabet. More... | |
virtual size_t | getNumberOfSequences () const=0 |
Get the number of sequences in the container. More... | |
virtual std::vector< std::string > | getSequenceKeys () const=0 |
virtual void | setSequenceKeys (const std::vector< std::string > &sequenceKeys)=0 |
Reset all sequence keys. More... | |
virtual double | getStateValueAt (size_t sitePosition, const std::string &sequenceKey, int state) const=0 |
Get the value of a state at a given position. More... | |
virtual double | getStateValueAt (size_t sitePosition, size_t sequencePosition, int state) const=0 |
Get value of a state at a given position. More... | |
virtual double | operator() (size_t sitePosition, const std::string &sequenceKey, int state) const=0 |
Get the value of a state at a given position. More... | |
virtual double | operator() (size_t sitePosition, size_t sequencePosition, int state) const=0 |
Get the value of a state at a given position. More... | |
virtual void | clear ()=0 |
Delete all data in the container. More... | |
virtual bool | hasSequence (const std::string &sequenceKey) const=0 |
Check if a certain key is associated to a sequence in the container. More... | |
virtual const Comments & | getComments () const =0 |
Get the comments. More... | |
virtual void | setComments (const Comments &comments)=0 |
Set the comments. More... | |
virtual void | clearComments ()=0 |
Access by key | |
virtual const SequenceType & | sequence (const HashType &sequenceKey) const override=0 |
Retrieve a sequence object from the container. More... | |
virtual void | setSequence (const HashType &sequenceKey, std::unique_ptr< SequenceType > &sequencePtr)=0 |
Replace a sequence in the container. More... | |
virtual void | addSequence (const HashType &sequenceKey, std::unique_ptr< SequenceType > &sequencePtr)=0 |
Add a sequence to the container. More... | |
virtual std::unique_ptr< SequenceType > | removeSequence (const HashType &sequenceKey)=0 |
Remove a sequence from the container. More... | |
virtual const SequenceType::ElementType & | valueAt (const HashType &sequenceKey, size_t sitePosition) const =0 |
Get the content of the dataset at a specific position (sequence key, site position). More... | |
virtual SequenceType::ElementType & | valueAt (const HashType &sequenceKey, size_t sitePosition)=0 |
Get the content of the dataset at a specific position (sequence key, site position). More... | |
Access by position | |
virtual const SequenceType & | sequence (size_t sequencePosition) const override=0 |
Retrieve a sequence object from the container. More... | |
virtual void | setSequence (size_t sequencePosition, std::unique_ptr< SequenceType > &sequencePtr)=0 |
Replace a sequence in the container. More... | |
virtual void | setSequence (size_t sequencePosition, std::unique_ptr< SequenceType > &sequencePtr, const HashType &sequenceKey)=0 |
Replace a sequence in the container. More... | |
virtual void | insertSequence (size_t sequencePosition, std::unique_ptr< SequenceType > &sequencePtr, const HashType &sequenceKey)=0 |
Insert a sequence in the container. More... | |
virtual std::unique_ptr< SequenceType > | removeSequence (size_t sequencePosition)=0 |
Remove a sequence from the container. More... | |
virtual const SequenceType::ElementType & | valueAt (size_t sequencePosition, size_t sitePosition) const =0 |
Get the content of the dataset at a specific position (sequence position, site position). More... | |
virtual SequenceType::ElementType & | valueAt (size_t sequencePosition, size_t sitePosition)=0 |
Get the content of the dataset at a specific position (sequence position, site position). More... | |
Access by key | |
virtual const CoreSequenceInterface & | sequence (const std::string &sequenceKey) const=0 |
Retrieve a sequence object from the container. More... | |
virtual void | deleteSequence (const std::string &sequenceKey)=0 |
Remove and delete a sequence from the container. More... | |
Access by position | |
virtual void | deleteSequence (size_t sequencePosition)=0 |
Remove and delete a sequence from the container. More... | |
Index management | |
Position to key and key to position. | |
virtual const std::string & | sequenceKey (size_t sequencePosition) const=0 |
Get the key associated to a given sequence. More... | |
virtual size_t | getSequencePosition (const std::string &sequenceKey) const=0 |
Get the position of a sequence with a given key in the container. More... | |
Access sequence names | |
virtual std::vector< std::string > | getSequenceNames () const=0 |
virtual void | setSequenceNames (const std::vector< std::string > &names, bool updateKeys)=0 |
Batch-set all sequence names. More... | |
virtual std::vector< Comments > | getSequenceComments () const=0 |
The SequenceContainer interface.
This is the base interface of the container hierarchy. Sequence objects are stored internally and indexed. The interface implements two access methods:
Definition at line 30 of file SequenceContainer.h.
|
inline |
Definition at line 34 of file SequenceContainer.h.
|
inlinevirtual |
Definition at line 35 of file SequenceContainer.h.
|
pure virtual |
Add a sequence to the container.
Similar to setSequence, with the exception that an Exception will be raised in case of an existing key. Existing sequences will not be updated, only new ones will be appended.
sequenceKey | The key to which the sequence is associated. |
sequencePtr | The sequence to add. |
Implemented in bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >.
Referenced by bpp::SequenceContainerTools::append(), bpp::Pasta::appendAlignmentFromStream(), bpp::Clustal::appendAlignmentFromStream(), bpp::DCSE::appendAlignmentFromStream(), bpp::NexusIOSequence::appendAlignmentFromStream(), bpp::GenBank::appendSequencesFromStream(), bpp::Fasta::appendSequencesFromStream(), bpp::Mase::appendSequencesFromStream(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceContainerTools::getSelectedSequences(), bpp::SequenceContainerTools::mergeByKey(), bpp::Phylip::readInterleaved(), and bpp::Phylip::readSequential().
|
pure virtualinherited |
Get the container's alphabet.
Implemented in bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >, bpp::AbstractTemplateSequenceContainer< SequenceType, std::string >, and bpp::AbstractTemplateSequenceContainer< Sequence, std::string >.
|
pure virtualinherited |
Delete all data in the container.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::CompressedVectorSiteContainer, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.
|
pure virtualinherited |
Implemented in bpp::SimpleCommentable.
|
overridepure virtualinherited |
Implements bpp::Clonable.
Implemented in bpp::TemplateSiteContainerInterface< Site, Sequence, std::string >, bpp::TemplateSiteContainerInterface< SiteType, SequenceType, std::string >, bpp::TemplateAlignmentDataInterface< HashType >, bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::CompressedVectorSiteContainer, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.
|
overridepure virtual |
Return a copy of this container, but with no data inside.
This method creates a new SequencedContainer object. The class of this container depends on the class implementing this interface.
Implements bpp::TemplateSequenceDataInterface< std::string >.
Implemented in bpp::TemplateSiteContainerInterface< SiteType, SequenceType, HashType >, bpp::TemplateSiteContainerInterface< Site, Sequence, std::string >, bpp::TemplateSiteContainerInterface< SiteType, SequenceType, std::string >, bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::CompressedVectorSiteContainer, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.
|
pure virtualinherited |
Remove and delete a sequence from the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Remove and delete a sequence from the container.
sequencePosition | The position of the sequence. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get a pointer toward the container's alphabet.
Implemented in bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >, bpp::AbstractTemplateSequenceContainer< SequenceType, std::string >, and bpp::AbstractTemplateSequenceContainer< Sequence, std::string >.
|
pure virtualinherited |
Get the comments.
Implemented in bpp::SimpleCommentable.
Referenced by bpp::Mase::appendSequencesFromStream(), bpp::AllelicAlphabet::convertFromStateAlphabet(), bpp::SiteContainerTools::getSelectedPositions(), bpp::MaseTools::getSelectedSites(), bpp::SiteContainerTools::getSelectedSites(), bpp::AbstractCoreSequence::operator=(), bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::operator=(), bpp::TemplateVectorSequenceContainer< SequenceType >::operator=(), bpp::SiteContainerTools::resolveDottedAlignment(), bpp::NucleicAcidsReplication::reverse(), bpp::AbstractReverseTransliterator::reverse(), bpp::SequenceTools::RNYslice(), bpp::SequenceTools::subseq(), bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >::TemplateAlignedSequenceContainer(), bpp::TemplateVectorSequenceContainer< SequenceType >::TemplateVectorSequenceContainer(), bpp::NucleicAcidsReplication::translate(), bpp::AbstractTransliterator::translate(), bpp::Stockholm::writeAlignment(), bpp::Fasta::writeSequences(), and bpp::Mase::writeSequences().
|
pure virtualinherited |
Get the number of sequences in the container.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get the position of a sequence with a given key in the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get the value of a state at a given position.
sitePosition | index of the site |
sequenceKey | key of the sequence in the container |
state | state in the alphabet |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get value of a state at a given position.
sitePosition | index of the site |
sequencePosition | index of the sequence in the container |
state | state in the alphabet |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Check if a certain key is associated to a sequence in the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtual |
Insert a sequence in the container.
sequencePosition | The position of the sequence. |
sequencePtr | The sequence to add. |
sequenceKey | The new key of the sequence. |
Implemented in bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >.
|
pure virtualinherited |
Get the value of a state at a given position.
Same as getValueAt.
sitePosition | index of the site |
sequenceKey | key of the sequence in the container |
state | state in the alphabet |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get the value of a state at a given position.
Same as getValueAt.
sitePosition | index of the site |
sequencePosition | index of the sequence in the container |
state | state in the alphabet |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtual |
Remove a sequence from the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
Referenced by bpp::SequenceContainerTools::keepOnlySelectedSequences(), and bpp::SequenceApplicationTools::restrictSelectedSequencesByName().
|
pure virtual |
Remove a sequence from the container.
sequencePosition | The position of the sequence. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
overridepure virtual |
Retrieve a sequence object from the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
Referenced by bpp::SequenceContainerTools::append(), bpp::SequenceContainerTools::convertAlphabet(), bpp::SequenceContainerTools::getCodonPosition(), bpp::SequenceContainerTools::getCounts(), bpp::SequenceContainerTools::getFrequencies(), bpp::SequenceContainerTools::getSelectedSequences(), bpp::SiteContainerTools::getSequencePositions(), bpp::SequenceContainerTools::hasSequenceWithName(), bpp::SequenceContainerTools::mergeByKey(), bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >::operator=(), bpp::TemplateVectorSequenceContainer< SequenceType >::operator=(), bpp::SiteContainerTools::resolveDottedAlignment(), bpp::TemplateVectorSequenceContainer< SequenceType >::TemplateVectorSequenceContainer(), bpp::TemplateVectorSiteContainer< SiteType, SequenceType >::TemplateVectorSiteContainer(), bpp::SiteContainerTools::translateSequence(), bpp::Pasta::writeAlignment(), bpp::Clustal::writeAlignment(), bpp::Stockholm::writeAlignment(), bpp::Phylip::writeInterleaved(), bpp::Fasta::writeSequences(), bpp::Mase::writeSequences(), bpp::Pasta::writeSequences(), and bpp::Phylip::writeSequential().
|
pure virtualinherited |
Retrieve a sequence object from the container.
sequenceKey | The key to which the sequence is associated. |
Implemented in bpp::TemplateSequenceContainerInterface< SequenceType, std::string >, bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
overridepure virtual |
Retrieve a sequence object from the container.
sequencePosition | The position of the sequence. |
Implements bpp::TemplateSequenceDataInterface< std::string >.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Get the key associated to a given sequence.
sequencePosition | The position of the sequence in the container. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Set the comments.
comments | The new comments. |
Implemented in bpp::SimpleCommentable.
Referenced by bpp::Pasta::appendAlignmentFromStream(), bpp::Clustal::appendAlignmentFromStream(), bpp::Fasta::appendSequencesFromStream(), and bpp::Mase::appendSequencesFromStream().
|
pure virtual |
Replace a sequence in the container.
If a sequence is found with the given key, it will be updated with the new one. If no sequence with the given key is found, the new sequence will be added to the container.
sequenceKey | The key to which the sequence is associated. |
sequencePtr | The sequence to set. |
Implemented in bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >.
|
pure virtual |
Replace a sequence in the container.
The original key associated to the sequence will be kept.
sequencePosition | The position of the sequence. |
sequencePtr | The sequence to add. |
Implemented in bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >.
|
pure virtual |
Replace a sequence in the container.
The original key associated to the sequence will be kept.
sequencePosition | The position of the sequence. |
sequencePtr | The sequence to add. |
sequenceKey | The new key of the sequence. |
Implemented in bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >.
|
pure virtualinherited |
Reset all sequence keys.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtualinherited |
Batch-set all sequence names.
names | A vector of sequence names. Must be the same size as the number of sequences in the container, otherwise a DimensionException is thrown. |
updateKeys | Tell whether the keys of the sequences should be updated with the new sequence names. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::CompressedVectorSiteContainer.
|
pure virtual |
Get the content of the dataset at a specific position (sequence key, site position).
sequenceKey | key of the sequence in the container |
sitePosition | index of the site |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
pure virtual |
Get the content of the dataset at a specific position (sequence key, site position).
sequenceKey | key of the sequence in the container |
sitePosition | index of the site |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
pure virtual |
Get the content of the dataset at a specific position (sequence position, site position).
sequencePosition | index of the sequence in the container |
sitePosition | index of the site |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::CompressedVectorSiteContainer, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
pure virtual |
Get the content of the dataset at a specific position (sequence position, site position).
sequencePosition | index of the sequence in the container |
sitePosition | index of the site |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::CompressedVectorSiteContainer, bpp::TemplateVectorSequenceContainer< SequenceType >, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.