bpp-seq  2.2.0
bpp::SequenceWithAnnotation Class Referenceabstract

An implementation of the Sequence interface that supports annotation. More...

#include <Bpp/Seq/SequenceWithAnnotation.h>

+ Inheritance diagram for bpp::SequenceWithAnnotation:
+ Collaboration diagram for bpp::SequenceWithAnnotation:

Public Member Functions

 SequenceWithAnnotation (const Alphabet *alpha)
 Empty constructor: build a void Sequence with just an Alphabet. More...
 
 SequenceWithAnnotation (const std::string &name, const std::string &sequence, const Alphabet *alpha) throw (BadCharException)
 Direct constructor: build a Sequence object from a std::string You can use it safely for RNA, DNA and protein sequences. More...
 
 SequenceWithAnnotation (const std::string &name, const std::string &sequence, const Comments &comments, const Alphabet *alpha) throw (BadCharException)
 Direct constructor: build a Sequence object from a std::string. More...
 
 SequenceWithAnnotation (const std::string &name, const std::vector< std::string > &sequence, const Alphabet *alpha) throw (BadCharException)
 General purpose constructor, can be used with any alphabet. More...
 
 SequenceWithAnnotation (const std::string &name, const std::vector< std::string > &sequence, const Comments &comments, const Alphabet *alpha) throw (BadCharException)
 General purpose constructor, can be used with any alphabet. More...
 
 SequenceWithAnnotation (const std::string &name, const std::vector< int > &sequence, const Alphabet *alpha) throw (BadIntException)
 General purpose constructor, can be used with any alphabet. More...
 
 SequenceWithAnnotation (const std::string &name, const std::vector< int > &sequence, const Comments &comments, const Alphabet *alpha) throw (BadIntException)
 General purpose constructor, can be used with any alphabet. More...
 
 SequenceWithAnnotation (const Sequence &s)
 The Sequence generic copy constructor. This does not perform a hard copy of the alphabet object. More...
 
 SequenceWithAnnotation (const SequenceWithAnnotation &s)
 The Sequence copy constructor. This does not perform a hard copy of the alphabet object. More...
 
SequenceWithAnnotationoperator= (const Sequence &s)
 The Sequence generic assignment operator. This does not perform a hard copy of the alphabet object. More...
 
SequenceWithAnnotationoperator= (const SequenceWithAnnotation &s)
 The Sequence assignment operator. This does not perform a hard copy of the alphabet object. More...
 
virtual ~SequenceWithAnnotation ()
 
virtual void addAnnotation (SequenceAnnotation *anno) throw (Exception)
 Add a new annotation to the sequence. More...
 
virtual bool hasAnnotation (const std::string &type) const
 
virtual const SequenceAnnotationgetAnnotation (const std::string &type) const
 
virtual SequenceAnnotationgetAnnotation (const std::string &type)
 
virtual std::vector< std::string > getAnnotationTypes () const
 
virtual void merge (const SequenceWithAnnotation &swa) throw (AlphabetMismatchException, Exception)
 Merge a sequence with the current one. More...
 
virtual const AlphabetgetAlphabet () const =0
 Get the alphabet associated to the list. More...
 
virtual size_t size () const =0
 Get the number of elements in the list. More...
 
virtual std::string toString () const =0
 Convert the list as a string. More...
 
virtual const AlphabetgetAlphabet () const
 Get the alphabet associated to the list. More...
 
virtual size_t size () const
 Get the number of elements in the list. More...
 
virtual const std::vector< int > & getContent () const
 Get the whole content of the list as a vector of int. More...
 
virtual std::string toString () const
 Convert the list as a string. More...
 
virtual void addElement (const std::string &c) throw (BadCharException)
 Add a character to the end of the list. More...
 
virtual void addElement (size_t pos, const std::string &c) throw (BadCharException, IndexOutOfBoundsException)
 Add a character at a certain position in the list. More...
 
virtual void addElement (int v) throw (BadIntException)
 Add a character to the end of the list. More...
 
virtual void addElement (size_t pos, int v) throw (BadIntException, IndexOutOfBoundsException)
 Add a character at a certain position in the list. More...
 
virtual void setElement (size_t pos, const std::string &c) throw (BadCharException, IndexOutOfBoundsException)
 Set the element at position 'pos' to character 'c'. More...
 
virtual void setElement (size_t pos, int v) throw (BadIntException, IndexOutOfBoundsException)
 Set the element at position 'pos' to character 'v'. More...
 
virtual void deleteElement (size_t pos) throw (IndexOutOfBoundsException)
 Delete the element at position 'pos'. More...
 
virtual void deleteElements (size_t pos, size_t len) throw (IndexOutOfBoundsException)
 Delete the elements at position 'pos'. More...
 
virtual std::string getChar (size_t pos) const throw (IndexOutOfBoundsException)
 Get the element at position 'pos' as a character. More...
 
virtual int getValue (size_t pos) const throw (IndexOutOfBoundsException)
 Get the element at position 'pos' as an int. More...
 
virtual const int & operator[] (size_t i) const
 Operator [] overloaded for quick access to a character in list. More...
 
virtual int & operator[] (size_t i)
 Operator [] overloaded for quick access to a character in list. More...
 
virtual void shuffle ()
 Randomly shuffle the content of the list, with linear complexity. More...
 
The Clonable interface
SequenceWithAnnotationclone () const
 
Setting/getting the name of the sequence.
const std::string & getName () const
 Get the name of this sequence. More...
 
void setName (const std::string &name)
 Set the name of this sequence. More...
 
Setting/getting the comments associated to the sequence.
const CommentsgetComments () const
 Get the comments associated to this sequence. More...
 
void setComments (const Comments &comments)
 Set the comments associated to this sequence. More...
 
Adjusting the size of the sequence.
virtual void setContent (const std::string &sequence) throw (BadCharException)
 Set the whole content of the sequence. More...
 
void setContent (const std::vector< int > &list) throw (BadIntException)
 Set the whole content of the list. More...
 
void setContent (const std::vector< std::string > &list) throw (BadCharException)
 Set the whole content of the list. More...
 
virtual void setToSizeR (size_t newSize)
 Set up the size of a sequence from the right side. More...
 
virtual void setToSizeL (size_t newSize)
 Set up the size of a sequence from the left side. More...
 
void append (const std::vector< int > &content) throw (BadIntException)
 Append the specified content to the sequence. More...
 
void append (const std::vector< std::string > &content) throw (BadCharException)
 Append the specified content to the sequence. More...
 
void append (const std::string &content) throw (BadCharException)
 Append the specified content to the sequence. More...
 
Acting on the content of the list.
virtual const std::vector< int > & getContent () const =0
 Get the whole content of the list as a vector of int. More...
 
Edition methods.
virtual void addElement (const std::string &c)=0 throw (BadCharException)
 Add a character to the end of the list. More...
 
virtual void addElement (size_t pos, const std::string &c)=0 throw (BadCharException, IndexOutOfBoundsException)
 Add a character at a certain position in the list. More...
 
virtual void addElement (int v)=0 throw (BadIntException)
 Add a character to the end of the list. More...
 
virtual void addElement (size_t pos, int v)=0 throw (BadIntException, IndexOutOfBoundsException)
 Add a character at a certain position in the list. More...
 
virtual void setElement (size_t pos, const std::string &c)=0 throw (BadCharException, IndexOutOfBoundsException)
 Set the element at position 'pos' to character 'c'. More...
 
virtual void setElement (size_t pos, int v)=0 throw (BadIntException, IndexOutOfBoundsException)
 Set the element at position 'pos' to character 'v'. More...
 
virtual void deleteElement (size_t pos)=0 throw (IndexOutOfBoundsException)
 Delete the element at position 'pos'. More...
 
virtual void deleteElements (size_t pos, size_t len)=0 throw (IndexOutOfBoundsException)
 Delete the elements at position 'pos'. More...
 
virtual std::string getChar (size_t pos) const =0 throw (IndexOutOfBoundsException)
 Get the element at position 'pos' as a character. More...
 
virtual int getValue (size_t pos) const =0 throw (IndexOutOfBoundsException)
 Get the element at position 'pos' as an int. More...
 
Provide direct access to the list content.
Warning
These operators allow you to modifiy the list content. No alphabet checking is performed for your modifications, so use with care, or consider using the setContent() method.
virtual const int & operator[] (size_t i) const =0
 Operator [] overloaded for quick access to a character in list. More...
 
virtual int & operator[] (size_t i)=0
 Operator [] overloaded for quick access to a character in list. More...
 
virtual void shuffle ()=0
 Randomly shuffle the content of the list, with linear complexity. More...
 

Protected Member Functions

void propagateEvents (bool yn)
 
bool propagateEvents () const
 

Protected Attributes

std::vector< int > content_
 The list content. More...
 
std::vector< SymbolListListener * > listeners_
 Contains the listeners. More...
 

Private Attributes

std::string name_
 The sequence name. More...
 
Comments comments_
 The sequence comments. More...
 

Events handling

virtual size_t getNumberOfListeners () const
 
virtual const SymbolListListenergetListener (size_t i) const
 
virtual SymbolListListenergetListener (size_t i)
 
virtual void addSymbolListListener (SymbolListListener *listener)
 
virtual void removeSymbolListListener (SymbolListListener *listener)
 
virtual void beforeSequenceChanged (const SymbolListEditionEvent &event)
 
virtual void afterSequenceChanged (const SymbolListEditionEvent &event)
 
virtual void beforeSequenceInserted (const SymbolListInsertionEvent &event)
 
virtual void afterSequenceInserted (const SymbolListInsertionEvent &event)
 
virtual void beforeSequenceDeleted (const SymbolListDeletionEvent &event)
 
virtual void afterSequenceDeleted (const SymbolListDeletionEvent &event)
 
virtual void beforeSequenceSubstituted (const SymbolListSubstitutionEvent &event)
 
virtual void afterSequenceSubstituted (const SymbolListSubstitutionEvent &event)
 
void fireBeforeSequenceChanged (const SymbolListEditionEvent &event)
 
void fireAfterSequenceChanged (const SymbolListEditionEvent &event)
 
void fireBeforeSequenceInserted (const SymbolListInsertionEvent &event)
 
void fireAfterSequenceInserted (const SymbolListInsertionEvent &event)
 
void fireBeforeSequenceDeleted (const SymbolListDeletionEvent &event)
 
void fireAfterSequenceDeleted (const SymbolListDeletionEvent &event)
 
void fireBeforeSequenceSubstituted (const SymbolListSubstitutionEvent &event)
 
void fireAfterSequenceSubstituted (const SymbolListSubstitutionEvent &event)
 

Detailed Description

An implementation of the Sequence interface that supports annotation.

This is a general purpose container, containing an ordered list of states. The states that allowed to be present in the sequence are defined by an alphabet object, which is passed to the sequence constructor by a pointer.

For programming convenience, the states are stored as integers, but the translation toward and from a char description is easily performed with the Alphabet classes.

Sequence objets also contain a name attribute and potentially several comment lines.

The gestion of sequence content is identical to the BasicSequence object, but edition events are properly fired. Listener are therefore properly handled.

See also
BasicSequence

Definition at line 118 of file SequenceWithAnnotation.h.

Constructor & Destructor Documentation

◆ SequenceWithAnnotation() [1/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const Alphabet alpha)

Empty constructor: build a void Sequence with just an Alphabet.

You can use it safely for all type of Alphabet in order to build an empty Sequence i.e. without name nor sequence data.

Parameters
alphaA pointer toward the Alphabet to be used with this Sequence.

Definition at line 55 of file SequenceWithAnnotation.cpp.

Referenced by clone().

◆ SequenceWithAnnotation() [2/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::string &  sequence,
const Alphabet alpha 
)
throw (BadCharException
)

Direct constructor: build a Sequence object from a std::string You can use it safely for RNA, DNA and protein sequences.

It can be used with codon sequences too, the std::string will be cut into parts of size 3. But for more complicated alphabets, you should use one complete constructors.

Parameters
nameThe sequence name.
sequenceThe whole sequence to be parsed as a std::string.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 61 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [3/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::string &  sequence,
const Comments comments,
const Alphabet alpha 
)
throw (BadCharException
)

Direct constructor: build a Sequence object from a std::string.

You can use it safely for RNA, DNA and protein sequences.

It can be used with codon sequences too, the std::string will be cut into tokens of size 3. But for more complicated alphabets, you should use one complete constructors.

Parameters
nameThe sequence name.
sequenceThe whole sequence to be parsed as a std::string.
commentsComments to add to the sequence.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 71 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [4/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::vector< std::string > &  sequence,
const Alphabet alpha 
)
throw (BadCharException
)

General purpose constructor, can be used with any alphabet.

You should note that the sequence is stored as a std::vector of int. Hence each std::string in the std::vector will be translated using the alphabet object.

Parameters
nameThe sequence name.
sequenceThe sequence content.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 81 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [5/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::vector< std::string > &  sequence,
const Comments comments,
const Alphabet alpha 
)
throw (BadCharException
)

General purpose constructor, can be used with any alphabet.

You should note that the sequence is stored as a std::vector of int. Hence each std::string in the std::vector will be translated using the alphabet object.

Parameters
nameThe sequence name.
sequenceThe sequence content.
commentsComments to add to the sequence.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 88 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [6/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::vector< int > &  sequence,
const Alphabet alpha 
)
throw (BadIntException
)

General purpose constructor, can be used with any alphabet.

Parameters
nameThe sequence name.
sequenceThe sequence content.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 95 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [7/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const std::string &  name,
const std::vector< int > &  sequence,
const Comments comments,
const Alphabet alpha 
)
throw (BadIntException
)

General purpose constructor, can be used with any alphabet.

Parameters
nameThe sequence name.
sequenceThe sequence content.
commentsComments to add to the sequence.
alphaA pointer toward the alphabet to be used with this sequence.

Definition at line 102 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [8/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const Sequence s)

The Sequence generic copy constructor. This does not perform a hard copy of the alphabet object.

Definition at line 111 of file SequenceWithAnnotation.cpp.

◆ SequenceWithAnnotation() [9/9]

SequenceWithAnnotation::SequenceWithAnnotation ( const SequenceWithAnnotation s)

The Sequence copy constructor. This does not perform a hard copy of the alphabet object.

Definition at line 117 of file SequenceWithAnnotation.cpp.

◆ ~SequenceWithAnnotation()

virtual bpp::SequenceWithAnnotation::~SequenceWithAnnotation ( )
inlinevirtual

Definition at line 244 of file SequenceWithAnnotation.h.

Member Function Documentation

◆ addAnnotation()

virtual void bpp::SequenceWithAnnotation::addAnnotation ( SequenceAnnotation anno)
throw (Exception
)
inlinevirtual

Add a new annotation to the sequence.

Parameters
annoThe annotation object to be added. Unless the annotation is shared, the annotation object will be owned by the sequence object, and will be copied and deleted when needed.
Exceptions
ExceptionIf the annotation is not valid for this sequence.
See also
SequenceWithAnnotation::isValidWith

Definition at line 380 of file SequenceWithAnnotation.h.

References bpp::EdSymbolList::addSymbolListListener().

Referenced by bpp::SequenceWithAnnotationTools::createMaskAnnotation(), and bpp::SequenceWithQuality::SequenceWithQuality().

◆ addElement() [1/8]

virtual void bpp::SymbolList::addElement ( const std::string &  c)
throw (BadCharException
)
pure virtualinherited

Add a character to the end of the list.

Parameters
cThe character to add, given as a string.

Implemented in bpp::SequenceWithQuality, bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::SequenceTools::getPutativeHaplotypes(), bpp::AbstractReverseTransliterator::reverse(), and bpp::AbstractTransliterator::translate().

◆ addElement() [2/8]

virtual void bpp::SymbolList::addElement ( size_t  pos,
const std::string &  c 
)
throw (BadCharException,
IndexOutOfBoundsException
)
pure virtualinherited

Add a character at a certain position in the list.

Parameters
posThe postion where to insert the element.
cThe character to add, given as a string.

Implemented in bpp::SequenceWithQuality, bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ addElement() [3/8]

virtual void bpp::SymbolList::addElement ( int  v)
throw (BadIntException
)
pure virtualinherited

Add a character to the end of the list.

Parameters
vThe character to add, given as an int.

Implemented in bpp::SequenceWithQuality, bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ addElement() [4/8]

virtual void bpp::SymbolList::addElement ( size_t  pos,
int  v 
)
throw (BadIntException,
IndexOutOfBoundsException
)
pure virtualinherited

Add a character at a certain position in the list.

Parameters
posThe postion where to insert the element.
vThe character to add, given as an int.

Implemented in bpp::SequenceWithQuality, bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ addElement() [5/8]

void EdSymbolList::addElement ( const std::string &  c)
throw (BadCharException
)
virtualinherited

Add a character to the end of the list.

Parameters
cThe character to add, given as a string.

Implements bpp::SymbolList.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 321 of file SymbolList.cpp.

Referenced by bpp::SequenceWithQuality::addElement().

◆ addElement() [6/8]

void EdSymbolList::addElement ( size_t  pos,
const std::string &  c 
)
throw (BadCharException,
IndexOutOfBoundsException
)
virtualinherited

Add a character at a certain position in the list.

Parameters
posThe postion where to insert the element.
cThe character to add, given as a string.

Implements bpp::SymbolList.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 331 of file SymbolList.cpp.

◆ addElement() [7/8]

void EdSymbolList::addElement ( int  v)
throw (BadIntException
)
virtualinherited

Add a character to the end of the list.

Parameters
vThe character to add, given as an int.

Implements bpp::SymbolList.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 394 of file SymbolList.cpp.

◆ addElement() [8/8]

void EdSymbolList::addElement ( size_t  pos,
int  v 
)
throw (BadIntException,
IndexOutOfBoundsException
)
virtualinherited

Add a character at a certain position in the list.

Parameters
posThe postion where to insert the element.
vThe character to add, given as an int.

Implements bpp::SymbolList.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 406 of file SymbolList.cpp.

◆ addSymbolListListener()

virtual void bpp::EdSymbolList::addSymbolListListener ( SymbolListListener listener)
inlinevirtualinherited

Definition at line 657 of file SymbolList.h.

References bpp::EdSymbolList::listeners_.

Referenced by addAnnotation().

◆ afterSequenceChanged()

virtual void bpp::EdSymbolList::afterSequenceChanged ( const SymbolListEditionEvent event)
inlineprotectedvirtualinherited

Definition at line 670 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireAfterSequenceChanged().

◆ afterSequenceDeleted()

virtual void bpp::EdSymbolList::afterSequenceDeleted ( const SymbolListDeletionEvent event)
inlineprotectedvirtualinherited

Definition at line 674 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireAfterSequenceDeleted().

◆ afterSequenceInserted()

virtual void bpp::EdSymbolList::afterSequenceInserted ( const SymbolListInsertionEvent event)
inlineprotectedvirtualinherited

Definition at line 672 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireAfterSequenceInserted().

◆ afterSequenceSubstituted()

virtual void bpp::EdSymbolList::afterSequenceSubstituted ( const SymbolListSubstitutionEvent event)
inlineprotectedvirtualinherited

Definition at line 676 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireAfterSequenceSubstituted().

◆ append() [1/3]

void SequenceWithAnnotation::append ( const std::vector< int > &  content)
throw (BadIntException
)
virtual

Append the specified content to the sequence.

Parameters
contentThe content to append to the sequence.
Exceptions
BadIntExceptionIf the content does not match the current alphabet.

Implements bpp::Sequence.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 206 of file SequenceWithAnnotation.cpp.

Referenced by bpp::SequenceWithQuality::append().

◆ append() [2/3]

void SequenceWithAnnotation::append ( const std::vector< std::string > &  content)
throw (BadCharException
)
virtual

Append the specified content to the sequence.

Parameters
contentThe content to append to the sequence.
Exceptions
BadCharExceptionIf the content does not match the current alphabet.

Implements bpp::Sequence.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 221 of file SequenceWithAnnotation.cpp.

◆ append() [3/3]

void SequenceWithAnnotation::append ( const std::string &  content)
throw (BadCharException
)
virtual

Append the specified content to the sequence.

Parameters
contentThe content to append to the sequence.
Exceptions
BadCharExceptionIf the content does not match the current alphabet.

Implements bpp::Sequence.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 237 of file SequenceWithAnnotation.cpp.

References bpp::StringSequenceTools::codeSequence().

◆ beforeSequenceChanged()

virtual void bpp::EdSymbolList::beforeSequenceChanged ( const SymbolListEditionEvent event)
inlineprotectedvirtualinherited

Definition at line 669 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireBeforeSequenceChanged().

◆ beforeSequenceDeleted()

virtual void bpp::EdSymbolList::beforeSequenceDeleted ( const SymbolListDeletionEvent event)
inlineprotectedvirtualinherited

Definition at line 673 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireBeforeSequenceDeleted().

◆ beforeSequenceInserted()

virtual void bpp::EdSymbolList::beforeSequenceInserted ( const SymbolListInsertionEvent event)
inlineprotectedvirtualinherited

Definition at line 671 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireBeforeSequenceInserted().

◆ beforeSequenceSubstituted()

virtual void bpp::EdSymbolList::beforeSequenceSubstituted ( const SymbolListSubstitutionEvent event)
inlineprotectedvirtualinherited

Definition at line 675 of file SymbolList.h.

Referenced by bpp::EdSymbolList::fireBeforeSequenceSubstituted().

◆ clone()

SequenceWithAnnotation* bpp::SequenceWithAnnotation::clone ( ) const
inlinevirtual

Implements bpp::Sequence.

Reimplemented in bpp::SequenceWithQuality.

Definition at line 253 of file SequenceWithAnnotation.h.

References SequenceWithAnnotation().

◆ deleteElement() [1/2]

virtual void bpp::SymbolList::deleteElement ( size_t  pos)
throw (IndexOutOfBoundsException
)
pure virtualinherited

Delete the element at position 'pos'.

Parameters
posThe position of the element to delete.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::SequenceTools::getCDS(), bpp::SequenceTools::removeGaps(), and bpp::VectorSiteContainer::removeSequence().

◆ deleteElement() [2/2]

void EdSymbolList::deleteElement ( size_t  pos)
throw (IndexOutOfBoundsException
)
virtualinherited

Delete the element at position 'pos'.

Parameters
posThe position of the element to delete.

Implements bpp::SymbolList.

Definition at line 369 of file SymbolList.cpp.

◆ deleteElements() [1/2]

virtual void bpp::SymbolList::deleteElements ( size_t  pos,
size_t  len 
)
throw (IndexOutOfBoundsException
)
pure virtualinherited

Delete the elements at position 'pos'.

Parameters
posThe position of the first element to delete.
lenThe length of the region to delete.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ deleteElements() [2/2]

void EdSymbolList::deleteElements ( size_t  pos,
size_t  len 
)
throw (IndexOutOfBoundsException
)
virtualinherited

Delete the elements at position 'pos'.

Parameters
posThe position of the first element to delete.
lenThe length of the region to delete.

Implements bpp::SymbolList.

Definition at line 381 of file SymbolList.cpp.

◆ fireAfterSequenceChanged()

void bpp::EdSymbolList::fireAfterSequenceChanged ( const SymbolListEditionEvent event)
inlineprotectedinherited

◆ fireAfterSequenceDeleted()

void bpp::EdSymbolList::fireAfterSequenceDeleted ( const SymbolListDeletionEvent event)
inlineprotectedinherited

◆ fireAfterSequenceInserted()

void bpp::EdSymbolList::fireAfterSequenceInserted ( const SymbolListInsertionEvent event)
inlineprotectedinherited

◆ fireAfterSequenceSubstituted()

void bpp::EdSymbolList::fireAfterSequenceSubstituted ( const SymbolListSubstitutionEvent event)
inlineprotectedinherited

◆ fireBeforeSequenceChanged()

void bpp::EdSymbolList::fireBeforeSequenceChanged ( const SymbolListEditionEvent event)
inlineprotectedinherited

◆ fireBeforeSequenceDeleted()

void bpp::EdSymbolList::fireBeforeSequenceDeleted ( const SymbolListDeletionEvent event)
inlineprotectedinherited

◆ fireBeforeSequenceInserted()

void bpp::EdSymbolList::fireBeforeSequenceInserted ( const SymbolListInsertionEvent event)
inlineprotectedinherited

◆ fireBeforeSequenceSubstituted()

void bpp::EdSymbolList::fireBeforeSequenceSubstituted ( const SymbolListSubstitutionEvent event)
inlineprotectedinherited

◆ getAlphabet() [1/2]

◆ getAlphabet() [2/2]

virtual const Alphabet* bpp::EdSymbolList::getAlphabet ( ) const
inlinevirtualinherited

Get the alphabet associated to the list.

Returns
A const pointer to the alphabet.
See also
Alphabet class.

Implements bpp::SymbolList.

Definition at line 599 of file SymbolList.h.

References bpp::EdSymbolList::alphabet_.

Referenced by bpp::SequenceWithQuality::append(), bpp::EdSymbolList::operator=(), bpp::SequenceWithQualityTools::removeGaps(), setToSizeL(), and setToSizeR().

◆ getAnnotation() [1/2]

virtual const SequenceAnnotation& bpp::SequenceWithAnnotation::getAnnotation ( const std::string &  type) const
inlinevirtual

◆ getAnnotation() [2/2]

virtual SequenceAnnotation& bpp::SequenceWithAnnotation::getAnnotation ( const std::string &  type)
inlinevirtual

◆ getAnnotationTypes()

vector< string > SequenceWithAnnotation::getAnnotationTypes ( ) const
virtual
Returns
The list of annotation types contained in this sequence.

Definition at line 244 of file SequenceWithAnnotation.cpp.

References bpp::EdSymbolList::getListener(), bpp::EdSymbolList::getNumberOfListeners(), and bpp::SequenceAnnotation::getType().

◆ getChar() [1/2]

virtual std::string bpp::SymbolList::getChar ( size_t  pos) const
throw (IndexOutOfBoundsException
)
pure virtualinherited

Get the element at position 'pos' as a character.

Parameters
posThe position of the character to retrieve.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::SiteContainerTools::resolveDottedAlignment().

◆ getChar() [2/2]

string EdSymbolList::getChar ( size_t  pos) const
throw (IndexOutOfBoundsException
)
virtualinherited

Get the element at position 'pos' as a character.

Parameters
posThe position of the character to retrieve.

Implements bpp::SymbolList.

Definition at line 354 of file SymbolList.cpp.

◆ getComments()

const Comments& bpp::SequenceWithAnnotation::getComments ( ) const
inlinevirtual

Get the comments associated to this sequence.

Returns
The comments of the sequence.

Implements bpp::Sequence.

Definition at line 290 of file SequenceWithAnnotation.h.

References comments_.

Referenced by operator=().

◆ getContent() [1/2]

virtual const std::vector<int>& bpp::SymbolList::getContent ( ) const
pure virtualinherited

◆ getContent() [2/2]

virtual const std::vector<int>& bpp::EdSymbolList::getContent ( ) const
inlinevirtualinherited

Get the whole content of the list as a vector of int.

Returns
A reference to the content of the list.

Implements bpp::SymbolList.

Definition at line 603 of file SymbolList.h.

References bpp::EdSymbolList::content_.

Referenced by bpp::SequenceWithQualityTools::invert(), and bpp::EdSymbolList::operator=().

◆ getListener() [1/2]

virtual const SymbolListListener& bpp::EdSymbolList::getListener ( size_t  i) const
inlinevirtualinherited

Definition at line 647 of file SymbolList.h.

References bpp::EdSymbolList::listeners_.

Referenced by getAnnotation(), getAnnotationTypes(), and hasAnnotation().

◆ getListener() [2/2]

virtual SymbolListListener& bpp::EdSymbolList::getListener ( size_t  i)
inlinevirtualinherited

Definition at line 652 of file SymbolList.h.

References bpp::EdSymbolList::listeners_.

◆ getName()

const std::string& bpp::SequenceWithAnnotation::getName ( ) const
inlinevirtual

Get the name of this sequence.

Returns
This sequence name.

Implements bpp::Sequence.

Definition at line 268 of file SequenceWithAnnotation.h.

References name_.

Referenced by operator=().

◆ getNumberOfListeners()

virtual size_t bpp::EdSymbolList::getNumberOfListeners ( ) const
inlinevirtualinherited

Definition at line 645 of file SymbolList.h.

References bpp::EdSymbolList::listeners_.

Referenced by getAnnotation(), getAnnotationTypes(), and hasAnnotation().

◆ getValue() [1/2]

virtual int bpp::SymbolList::getValue ( size_t  pos) const
throw (IndexOutOfBoundsException
)
pure virtualinherited

Get the element at position 'pos' as an int.

Parameters
posThe position of the character to retrieve.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::SequenceTools::findFirstOf(), bpp::SequenceTools::invert(), and bpp::SequenceTools::invertComplement().

◆ getValue() [2/2]

int EdSymbolList::getValue ( size_t  pos) const
throw (IndexOutOfBoundsException
)
virtualinherited

Get the element at position 'pos' as an int.

Parameters
posThe position of the character to retrieve.

Implements bpp::SymbolList.

Definition at line 434 of file SymbolList.cpp.

◆ hasAnnotation()

virtual bool bpp::SequenceWithAnnotation::hasAnnotation ( const std::string &  type) const
inlinevirtual

◆ merge()

void SequenceWithAnnotation::merge ( const SequenceWithAnnotation swa)
throw (AlphabetMismatchException,
Exception
)
virtual

Merge a sequence with the current one.

Sequences must have the same name and alphabets. Only first sequence's commentaries are kept. Annotations that could not be merged will not be added in the concatenated sequence. See the documentation of each annotation class for more details.

Parameters
swaThe sequence to merge with.
Exceptions
AlphabetMismatchExceptionIf the two alphabets do not match.
ExceptionIf the sequence names do not match.

Definition at line 257 of file SequenceWithAnnotation.cpp.

References bpp::SequenceAnnotation::clone(), bpp::SequenceAnnotation::init(), and bpp::SequenceAnnotation::merge().

◆ operator=() [1/2]

SequenceWithAnnotation & SequenceWithAnnotation::operator= ( const Sequence s)

The Sequence generic assignment operator. This does not perform a hard copy of the alphabet object.

Returns
A ref toward the assigned Sequence.

Definition at line 125 of file SequenceWithAnnotation.cpp.

References comments_, bpp::Sequence::getComments(), bpp::Sequence::getName(), name_, and bpp::EdSymbolList::operator=().

Referenced by bpp::SequenceWithQuality::operator=().

◆ operator=() [2/2]

SequenceWithAnnotation & SequenceWithAnnotation::operator= ( const SequenceWithAnnotation s)

The Sequence assignment operator. This does not perform a hard copy of the alphabet object.

Returns
A ref toward the assigned Sequence.

Definition at line 133 of file SequenceWithAnnotation.cpp.

References comments_, getComments(), getName(), name_, and bpp::EdSymbolList::operator=().

◆ operator[]() [1/4]

virtual const int& bpp::SymbolList::operator[] ( size_t  i) const
pure virtualinherited

Operator [] overloaded for quick access to a character in list.

Parameters
iThe position to retrieve.
Returns
The integer value of character at position i.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ operator[]() [2/4]

virtual int& bpp::SymbolList::operator[] ( size_t  i)
pure virtualinherited

Operator [] overloaded for quick access to a character in list.

Parameters
iThe position to retrieve.
Returns
The integer value of character at position i.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ operator[]() [3/4]

virtual const int& bpp::EdSymbolList::operator[] ( size_t  i) const
inlinevirtualinherited

Operator [] overloaded for quick access to a character in list.

Parameters
iThe position to retrieve.
Returns
The integer value of character at position i.

Implements bpp::SymbolList.

Definition at line 631 of file SymbolList.h.

References bpp::EdSymbolList::content_.

◆ operator[]() [4/4]

virtual int& bpp::EdSymbolList::operator[] ( size_t  i)
inlinevirtualinherited

Operator [] overloaded for quick access to a character in list.

Parameters
iThe position to retrieve.
Returns
The integer value of character at position i.

Implements bpp::SymbolList.

Definition at line 633 of file SymbolList.h.

References bpp::EdSymbolList::content_.

◆ propagateEvents() [1/2]

void bpp::EdSymbolList::propagateEvents ( bool  yn)
inlineprotectedinherited

Definition at line 736 of file SymbolList.h.

References bpp::EdSymbolList::propagateEvents_.

◆ propagateEvents() [2/2]

bool bpp::EdSymbolList::propagateEvents ( ) const
inlineprotectedinherited

Definition at line 737 of file SymbolList.h.

References bpp::EdSymbolList::propagateEvents_.

◆ removeSymbolListListener()

virtual void bpp::EdSymbolList::removeSymbolListListener ( SymbolListListener listener)
inlinevirtualinherited

◆ setComments()

void bpp::SequenceWithAnnotation::setComments ( const Comments comments)
inlinevirtual

Set the comments associated to this sequence.

Parameters
commentsThe new comments of the sequence.

Implements bpp::Sequence.

Definition at line 297 of file SequenceWithAnnotation.h.

References comments_.

◆ setContent() [1/3]

void SequenceWithAnnotation::setContent ( const std::string &  sequence)
throw (BadCharException
)
virtual

Set the whole content of the sequence.

Parameters
sequenceThe new content of the sequence.
See also
The Sequence constructor for information about the way sequences are internaly stored.

Implements bpp::Sequence.

Definition at line 143 of file SequenceWithAnnotation.cpp.

References bpp::StringSequenceTools::codeSequence().

Referenced by bpp::SequenceWithQualityTools::removeGaps().

◆ setContent() [2/3]

void bpp::SequenceWithAnnotation::setContent ( const std::vector< int > &  list)
throw (BadIntException
)
inlinevirtual

Set the whole content of the list.

Parameters
listThe new content of the list.
See also
The list constructor for information about the way lists are internaly stored.

Implements bpp::Sequence.

Definition at line 315 of file SequenceWithAnnotation.h.

References bpp::EdSymbolList::setContent().

◆ setContent() [3/3]

void bpp::SequenceWithAnnotation::setContent ( const std::vector< std::string > &  list)
throw (BadCharException
)
inlinevirtual

Set the whole content of the list.

Parameters
listThe new content of the list.
See also
The list constructor for information about the way lists are internaly stored.

Implements bpp::Sequence.

Definition at line 319 of file SequenceWithAnnotation.h.

References bpp::EdSymbolList::setContent().

◆ setElement() [1/4]

virtual void bpp::SymbolList::setElement ( size_t  pos,
const std::string &  c 
)
throw (BadCharException,
IndexOutOfBoundsException
)
pure virtualinherited

Set the element at position 'pos' to character 'c'.

Parameters
posThe position of the character to set.
cThe value of the element, given as a string.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::SequenceTools::invert(), and bpp::SequenceTools::invertComplement().

◆ setElement() [2/4]

virtual void bpp::SymbolList::setElement ( size_t  pos,
int  v 
)
throw (BadIntException,
IndexOutOfBoundsException
)
pure virtualinherited

Set the element at position 'pos' to character 'v'.

Parameters
posThe position of the character to set.
vThe value of the element, given as an int.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ setElement() [3/4]

void EdSymbolList::setElement ( size_t  pos,
const std::string &  c 
)
throw (BadCharException,
IndexOutOfBoundsException
)
virtualinherited

Set the element at position 'pos' to character 'c'.

Parameters
posThe position of the character to set.
cThe value of the element, given as a string.

Implements bpp::SymbolList.

Definition at line 342 of file SymbolList.cpp.

◆ setElement() [4/4]

void EdSymbolList::setElement ( size_t  pos,
int  v 
)
throw (BadIntException,
IndexOutOfBoundsException
)
virtualinherited

Set the element at position 'pos' to character 'v'.

Parameters
posThe position of the character to set.
vThe value of the element, given as an int.

Implements bpp::SymbolList.

Definition at line 420 of file SymbolList.cpp.

◆ setName()

void bpp::SequenceWithAnnotation::setName ( const std::string &  name)
inlinevirtual

Set the name of this sequence.

Parameters
nameThe new name of the sequence.

Implements bpp::Sequence.

Definition at line 275 of file SequenceWithAnnotation.h.

References name_.

◆ setToSizeL()

void SequenceWithAnnotation::setToSizeL ( size_t  newSize)
virtual

Set up the size of a sequence from the left side.

All new characters are filled with gaps. If the specified size is < to the sequence size, the sequence will be truncated.

Parameters
newSizeThe new size of the sequence.

Implements bpp::Sequence.

Definition at line 180 of file SequenceWithAnnotation.cpp.

References bpp::EdSymbolList::content_, bpp::EdSymbolList::fireAfterSequenceDeleted(), bpp::EdSymbolList::fireAfterSequenceInserted(), bpp::EdSymbolList::fireBeforeSequenceDeleted(), bpp::EdSymbolList::fireBeforeSequenceInserted(), bpp::EdSymbolList::getAlphabet(), and bpp::Alphabet::getGapCharacterCode().

◆ setToSizeR()

void SequenceWithAnnotation::setToSizeR ( size_t  newSize)
virtual

Set up the size of a sequence from the right side.

All new characters are filled with gaps. If the specified size is < to the sequence size, the sequence will be truncated.

Parameters
newSizeThe new size of the sequence.

Implements bpp::Sequence.

Definition at line 155 of file SequenceWithAnnotation.cpp.

References bpp::EdSymbolList::content_, bpp::EdSymbolList::fireAfterSequenceDeleted(), bpp::EdSymbolList::fireAfterSequenceInserted(), bpp::EdSymbolList::fireBeforeSequenceDeleted(), bpp::EdSymbolList::fireBeforeSequenceInserted(), bpp::EdSymbolList::getAlphabet(), and bpp::Alphabet::getGapCharacterCode().

◆ shuffle() [1/2]

virtual void bpp::SymbolList::shuffle ( )
pure virtualinherited

Randomly shuffle the content of the list, with linear complexity.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

◆ shuffle() [2/2]

virtual void bpp::EdSymbolList::shuffle ( )
inlinevirtualinherited

Randomly shuffle the content of the list, with linear complexity.

Implements bpp::SymbolList.

Definition at line 635 of file SymbolList.h.

References bpp::EdSymbolList::content_.

◆ size() [1/2]

◆ size() [2/2]

virtual size_t bpp::EdSymbolList::size ( ) const
inlinevirtualinherited

Get the number of elements in the list.

Returns
The number of sites in the list.

Implements bpp::SymbolList.

Definition at line 601 of file SymbolList.h.

References bpp::EdSymbolList::content_.

Referenced by bpp::SequenceWithQuality::addElement(), bpp::SequenceMask::isValidWith(), bpp::SequenceQuality::isValidWith(), and bpp::SequenceWithQualityTools::removeGaps().

◆ toString() [1/2]

virtual std::string bpp::SymbolList::toString ( ) const
pure virtualinherited

Convert the list as a string.

This method is useful for dumping a list to a file or to the screen for display.

Returns
The whole list as a string.

Implemented in bpp::EdSymbolList, and bpp::BasicSymbolList.

Referenced by bpp::AbstractSequenceContainer::toString().

◆ toString() [2/2]

string EdSymbolList::toString ( ) const
virtualinherited

Convert the list as a string.

This method is useful for dumping a list to a file or to the screen for display.

Returns
The whole list as a string.

Implements bpp::SymbolList.

Definition at line 314 of file SymbolList.cpp.

References bpp::EdSymbolList::alphabet_, bpp::EdSymbolList::content_, and bpp::StringSequenceTools::decodeSequence().

Member Data Documentation

◆ comments_

Comments bpp::SequenceWithAnnotation::comments_
private

The sequence comments.

Definition at line 132 of file SequenceWithAnnotation.h.

Referenced by getComments(), operator=(), and setComments().

◆ content_

std::vector<int> bpp::EdSymbolList::content_
protectedinherited

◆ listeners_

◆ name_

std::string bpp::SequenceWithAnnotation::name_
private

The sequence name.

Definition at line 127 of file SequenceWithAnnotation.h.

Referenced by getName(), operator=(), and setName().


The documentation for this class was generated from the following files: