bpp-seq3
3.0.0
|
Partial implementation of the SequenceContainer interface. More...
#include <Bpp/Seq/Container/AbstractSequenceContainer.h>
Public Member Functions | |
AbstractTemplateSequenceContainer (std::shared_ptr< const Alphabet > alphabet) | |
This constructor initializes the alphabet pointer. More... | |
AbstractTemplateSequenceContainer (std::shared_ptr< const Alphabet > alphabet, const Comments &comments) | |
This constructor initializes the alphabet pointer and the comments field. More... | |
AbstractTemplateSequenceContainer (const AbstractTemplateSequenceContainer< SequenceType, HashType > &sc) | |
AbstractTemplateSequenceContainer & | operator= (const AbstractTemplateSequenceContainer< SequenceType, HashType > &sc) |
AbstractTemplateSequenceContainer (const TemplateSequenceContainerInterface< SequenceType, HashType > &sc) | |
Copy constructor from any SequenceContainer object. More... | |
AbstractTemplateSequenceContainer & | operator= (const TemplateSequenceContainerInterface< SequenceType, HashType > &sc) |
Assignation operator from any SequenceContainer object. More... | |
virtual | ~AbstractTemplateSequenceContainer () |
const Alphabet & | alphabet () const override |
Get the container's alphabet. More... | |
std::shared_ptr< const Alphabet > | getAlphabet () const override |
Get a pointer toward the container's alphabet. More... | |
virtual TemplateSequenceContainerInterface< SequenceType, std::string > * | createEmptyContainer () const override=0 |
Return a copy of this container, but with no data inside. More... | |
TemplateSequenceDataInterface< std::string > * | clone () const override=0 |
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 |
const Comments & | getComments () const override |
Get the comments. More... | |
void | setComments (const Comments &comments) override |
Set the comments. More... | |
void | clearComments () override |
Access by key | |
virtual const SequenceType & | sequence (const std::string &sequenceKey) const override=0 |
Retrieve a sequence object from the container. More... | |
virtual void | setSequence (const std::string &sequenceKey, std::unique_ptr< SequenceType > &sequencePtr)=0 |
Replace a sequence in the container. More... | |
virtual void | addSequence (const std::string &sequenceKey, std::unique_ptr< SequenceType > &sequencePtr)=0 |
Add a sequence to the container. More... | |
virtual std::unique_ptr< SequenceType > | removeSequence (const std::string &sequenceKey)=0 |
Remove a sequence from the container. More... | |
virtual const SequenceType::ElementType & | valueAt (const std::string &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 std::string &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 std::string &sequenceKey)=0 |
Replace 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... | |
virtual void | insertSequence (size_t sequencePosition, std::unique_ptr< SequenceType > &sequencePtr, const std::string &sequenceKey)=0 |
Insert a sequence in the container. More... | |
Access by key | |
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 |
Protected Attributes | |
std::shared_ptr< const Alphabet > | alphabet_ |
The container's alphabet. More... | |
Comments | comments_ |
Partial implementation of the SequenceContainer interface.
This abstract class provides an alphabet and comments, with associated methods.
Definition at line 23 of file AbstractSequenceContainer.h.
|
inline |
This constructor initializes the alphabet pointer.
This constructor is to be called by constructors of derived classes.
alphabet | The alphabet to be associated to this container. |
Definition at line 41 of file AbstractSequenceContainer.h.
|
inline |
This constructor initializes the alphabet pointer and the comments field.
This constructor is to be called by constructors of derived classes.
alphabet | The alphabet to be associated to this container. |
comments | General comments to be associated to this container. |
Definition at line 53 of file AbstractSequenceContainer.h.
|
inline |
Definition at line 58 of file AbstractSequenceContainer.h.
|
inline |
Copy constructor from any SequenceContainer object.
sc | Another sequence container. |
Definition at line 74 of file AbstractSequenceContainer.h.
|
inlinevirtual |
Definition at line 92 of file AbstractSequenceContainer.h.
|
pure virtualinherited |
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 >.
|
inlineoverridevirtual |
Get the container's alphabet.
Implements bpp::TemplateSequenceDataInterface< std::string >.
Definition at line 95 of file AbstractSequenceContainer.h.
References bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::alphabet_.
|
pure virtualinherited |
Delete all data in the container.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, bpp::CompressedVectorSiteContainer, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.
|
inlineoverridevirtualinherited |
Implements bpp::Commentable.
Definition at line 88 of file Commentable.h.
References bpp::SimpleCommentable::comments_.
|
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 virtualinherited |
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, std::string >, bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, bpp::TemplateVectorSequenceContainer< SequenceType >, 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.
|
inlineoverridevirtual |
Get a pointer toward the container's alphabet.
Implements bpp::TemplateSequenceDataInterface< std::string >.
Definition at line 101 of file AbstractSequenceContainer.h.
References bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::alphabet_.
|
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().
|
inlineoverridevirtualinherited |
Get the comments.
Implements bpp::Commentable.
Definition at line 79 of file Commentable.h.
References bpp::SimpleCommentable::comments_.
Referenced by bpp::SequenceWithQualityTools::concatenate(), bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >::createEmptyContainer(), bpp::CompressedVectorSiteContainer::createEmptyContainer(), bpp::TemplateVectorSequenceContainer< SequenceType >::createEmptyContainer(), bpp::TemplateVectorSiteContainer< SiteType, SequenceType >::createEmptyContainer(), bpp::SequenceWithAnnotationTools::createMaskAnnotation(), bpp::SequenceWithAnnotation::operator=(), bpp::SequenceWithQualityTools::subseq(), bpp::Pasta::writeSequence(), and bpp::Fasta::writeSequence().
|
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 virtualinherited |
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.
|
inline |
Definition at line 62 of file AbstractSequenceContainer.h.
References bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::alphabet_, and bpp::SimpleCommentable::operator=().
Referenced by bpp::CompressedVectorSiteContainer::operator=(), bpp::TemplateVectorSequenceContainer< SequenceType >::operator=(), and bpp::TemplateVectorSiteContainer< SiteType, SequenceType >::operator=().
|
inline |
Assignation operator from any SequenceContainer object.
sc | Another sequence container. |
Definition at line 84 of file AbstractSequenceContainer.h.
References bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::alphabet_, bpp::TemplateSequenceDataInterface< HashType >::getAlphabet(), bpp::Commentable::getComments(), and bpp::SimpleCommentable::setComments().
|
pure virtualinherited |
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 >.
|
pure virtualinherited |
Remove a sequence from the container.
sequencePosition | The position of the sequence. |
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
overridepure virtualinherited |
Retrieve a sequence object from the container.
sequenceKey | The key to which the sequence is associated. |
Implements bpp::TemplateSequenceDataInterface< std::string >.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
overridepure virtualinherited |
Retrieve a sequence object from the container.
sequencePosition | The position of the sequence. |
Implements bpp::TemplateSequenceDataInterface< std::string >.
Implemented in bpp::TemplateVectorSiteContainer< SiteType, SequenceType >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
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.
|
inlineoverridevirtualinherited |
Set the comments.
comments | The new comments. |
Implements bpp::Commentable.
Definition at line 86 of file Commentable.h.
References bpp::SimpleCommentable::comments_.
Referenced by bpp::CompressedVectorSiteContainer::createEmptyContainer(), bpp::TemplateVectorSequenceContainer< SequenceType >::createEmptyContainer(), bpp::Pasta::nextSequence(), bpp::Fasta::nextSequence(), bpp::AbstractCoreSequence::operator=(), bpp::SequenceWithAnnotation::operator=(), bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::operator=(), bpp::TemplateVectorSequenceContainer< SequenceType >::operator=(), bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >::TemplateAlignedSequenceContainer(), and bpp::TemplateVectorSequenceContainer< SequenceType >::TemplateVectorSequenceContainer().
|
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 virtualinherited |
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 virtualinherited |
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 virtualinherited |
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 virtualinherited |
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 virtualinherited |
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 virtualinherited |
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 >, and bpp::TemplateVectorSequenceContainer< SequenceType >.
|
pure virtualinherited |
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::TemplateVectorSequenceContainer< SequenceType >, and bpp::TemplateAlignedSequenceContainer< SequenceType, SiteType >.
|
protected |
The container's alphabet.
Definition at line 31 of file AbstractSequenceContainer.h.
Referenced by bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::alphabet(), bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::getAlphabet(), and bpp::AbstractTemplateSequenceContainer< SequenceType, HashType >::operator=().
|
protectedinherited |
Definition at line 50 of file Commentable.h.
Referenced by bpp::SimpleCommentable::clearComments(), bpp::SimpleCommentable::getComments(), bpp::SimpleCommentable::operator=(), and bpp::SimpleCommentable::setComments().