bpp-seq  2.1.0
bpp::Clustal Class Reference

The clustal sequence file format. More...

#include <Bpp/Seq/Io/Clustal.h>

+ Inheritance diagram for bpp::Clustal:
+ Collaboration diagram for bpp::Clustal:

List of all members.

Public Member Functions

 Clustal (bool checkSequenceNames=true, unsigned int nbExtraSpacesBeforeSeq=5, unsigned int charsByLine=100) throw (Exception)
 Build a new Clustal object.
virtual ~Clustal ()
bool checkNames () const
void checkNames (bool yn)
 Tell whether the sequence names should be checked when reading from files.
const std::string getDataType () const
The AbstractIAlignment interface.
void appendAlignmentFromStream (std::istream &input, SiteContainer &sc) const throw (Exception)
 Append sequences to a container from a stream.
The ISequence interface.

As a SiteContainer is a subclass of SequenceContainer, we hereby implement the ISequence interface by downcasting the interface.

virtual SequenceContainerreadSequences (std::istream &input, const Alphabet *alpha) const throw (Exception)
 Create a new container from a stream.
virtual SequenceContainerreadSequences (const std::string &path, const Alphabet *alpha) const throw (Exception)
 Create a new container from a file.
The AbstractOAlignment interface.
void writeAlignment (std::ostream &output, const SiteContainer &sc) const throw (Exception)
 Write a container to a stream.
void writeAlignment (const std::string &path, const SiteContainer &sc, bool overwrite=true) const throw (Exception)
 Write a container to a file.
The IOSequence interface.
const std::string getFormatName () const
const std::string getFormatDescription () const
IAlignment methods:
virtual void readAlignment (std::istream &input, SiteContainer &sc) const throw (Exception)
 Add sequences to a container from a stream.
virtual void readAlignment (const std::string &path, SiteContainer &sc) const throw (Exception)
 Add sequences to a container from a file.
virtual AlignedSequenceContainerreadAlignment (const std::string &path, const Alphabet *alpha) const throw (Exception)
 Create a new container from a file.
virtual AlignedSequenceContainerreadAlignment (std::istream &input, const Alphabet *alpha) const throw (Exception)
 Create a new container from a stream.

Protected Member Functions

virtual void appendAlignmentFromFile (const std::string &path, SiteContainer &sc) const throw (Exception)
 Append sequences to a container from a file.
virtual AlignedSequenceContainerreadAlignmentFromStream (std::istream &input, const Alphabet *alpha) const throw (Exception)
 Read sequences from a stream.
virtual AlignedSequenceContainerreadAlignmentFromFile (const std::string &path, const Alphabet *alpha) const throw (Exception)
 Read sequences from a file.

Private Attributes

bool checkNames_
unsigned int nbSpacesBeforeSeq_
unsigned int charsByLine_

Detailed Description

The clustal sequence file format.

An AlignedSequenceContainer object is used instead of a VectorSequenceContainer.

Definition at line 57 of file Clustal.h.


Constructor & Destructor Documentation

bpp::Clustal::Clustal ( bool  checkSequenceNames = true,
unsigned int  nbExtraSpacesBeforeSeq = 5,
unsigned int  charsByLine = 100 
) throw (Exception) [inline]

Build a new Clustal object.

Parameters:
checkSequenceNamesTell if the names in the file should be checked for unicity (slower, in o(n*n) where n is the number of sequences).
nbExtraSpacesBeforeSeqSpecify the number of extra space characters separating the sequence name form content. The default is 5 (hence 6 spaces in total) for backward compatibility, using 0 will not allow for any space in the sequence names.
charsByLineNumber of character per line when writing file.

Definition at line 75 of file Clustal.h.

virtual bpp::Clustal::~Clustal ( ) [inline, virtual]

Definition at line 81 of file Clustal.h.


Member Function Documentation

virtual void bpp::AbstractIAlignment::appendAlignmentFromFile ( const std::string &  path,
SiteContainer sc 
) const throw (Exception) [inline, protected, virtual, inherited]

Append sequences to a container from a file.

Parameters:
pathThe path to the file to read.
scThe sequence container to update.
Exceptions:
ExceptionIf the file is not in the specified format.

Definition at line 143 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::appendAlignmentFromStream().

Referenced by bpp::AbstractIAlignment::readAlignment(), and bpp::AbstractIAlignment::readAlignmentFromFile().

void Clustal::appendAlignmentFromStream ( std::istream &  input,
SiteContainer sc 
) const throw (Exception) [virtual]

Append sequences to a container from a stream.

This is the unique method to implement!

Parameters:
inputThe input stream to read.
scThe sequence container to update.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::AbstractIAlignment.

Definition at line 52 of file Clustal.cpp.

References bpp::FileTools::getNextLine(), bpp::TextTools::isEmpty(), and bpp::TextTools::removeSurroundingWhiteSpaces().

bool bpp::Clustal::checkNames ( ) const [inline]
Returns:
true if the names are to be checked when reading sequences from files.

Definition at line 134 of file Clustal.h.

References checkNames_.

void bpp::Clustal::checkNames ( bool  yn) [inline]

Tell whether the sequence names should be checked when reading from files.

Parameters:
ynwhether the sequence names should be checked when reading from files.

Definition at line 141 of file Clustal.h.

References checkNames_.

const std::string bpp::IOSequence::getDataType ( ) const [inline, virtual, inherited]

Implements bpp::IOFormat.

Definition at line 65 of file IoSequence.h.

const std::string bpp::Clustal::getFormatDescription ( ) const [inline, virtual]

Implements bpp::IOFormat.

Definition at line 127 of file Clustal.h.

const std::string bpp::Clustal::getFormatName ( ) const [inline, virtual]

Implements bpp::IOFormat.

Definition at line 125 of file Clustal.h.

virtual void bpp::AbstractIAlignment::readAlignment ( std::istream &  input,
SiteContainer sc 
) const throw (Exception) [inline, virtual, inherited]

Add sequences to a container from a stream.

Parameters:
inputThe input stream to read.
scThe sequence container to update.
Exceptions:
ExceptionIf the file is not in the specified format.

Definition at line 81 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::appendAlignmentFromStream().

Referenced by bpp::DCSE::readSequences(), readSequences(), bpp::NexusIOSequence::readSequences(), and bpp::Phylip::readSequences().

virtual void bpp::AbstractIAlignment::readAlignment ( const std::string &  path,
SiteContainer sc 
) const throw (Exception) [inline, virtual, inherited]

Add sequences to a container from a file.

Parameters:
pathThe path to the file to read.
scThe sequence container to update.
Exceptions:
ExceptionIf the file is not in the specified format.

Definition at line 93 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::appendAlignmentFromFile().

virtual AlignedSequenceContainer* bpp::AbstractIAlignment::readAlignment ( const std::string &  path,
const Alphabet alpha 
) const throw (Exception) [inline, virtual, inherited]

Create a new container from a file.

Parameters:
pathThe path to the file to read.
alphaThe alphabet to be associated to the container.
Returns:
A new SiteContainer object.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::IAlignment.

Definition at line 104 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::readAlignmentFromFile().

virtual AlignedSequenceContainer* bpp::AbstractIAlignment::readAlignment ( std::istream &  input,
const Alphabet alpha 
) const throw (Exception) [inline, virtual, inherited]

Create a new container from a stream.

Parameters:
inputThe input stream to read.
alphaThe alphabet to be associated to the container.
Returns:
A new SiteContainer object.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::IAlignment.

Definition at line 115 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::readAlignmentFromStream().

virtual AlignedSequenceContainer* bpp::AbstractIAlignment::readAlignmentFromFile ( const std::string &  path,
const Alphabet alpha 
) const throw (Exception) [inline, protected, virtual, inherited]

Read sequences from a file.

Parameters:
pathThe path to the file to read.
alphaThe alphabet to use.
Returns:
A sequence container.
Exceptions:
ExceptionIf the file is not in the specified format.

Definition at line 173 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::appendAlignmentFromFile().

Referenced by bpp::AbstractIAlignment::readAlignment().

virtual AlignedSequenceContainer* bpp::AbstractIAlignment::readAlignmentFromStream ( std::istream &  input,
const Alphabet alpha 
) const throw (Exception) [inline, protected, virtual, inherited]

Read sequences from a stream.

Parameters:
inputThe input stream to read.
alphaThe alphabet to use.
Returns:
A sequence container.
Exceptions:
ExceptionIf the file is not in the specified format.

Definition at line 158 of file AbstractIAlignment.h.

References bpp::AbstractIAlignment::appendAlignmentFromStream().

Referenced by bpp::AbstractIAlignment::readAlignment().

virtual SequenceContainer* bpp::Clustal::readSequences ( std::istream &  input,
const Alphabet alpha 
) const throw (Exception) [inline, virtual]

Create a new container from a stream.

Parameters:
inputThe input stream to read.
alphaThe alphabet to be associated to the container.
Returns:
A new SequenceContainer object.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::ISequence.

Definition at line 100 of file Clustal.h.

References bpp::AbstractIAlignment::readAlignment().

virtual SequenceContainer* bpp::Clustal::readSequences ( const std::string &  path,
const Alphabet alpha 
) const throw (Exception) [inline, virtual]

Create a new container from a file.

Parameters:
pathThe path to the file to read.
alphaThe alphabet to be associated to the container.
Returns:
A new SequenceContainer object.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::ISequence.

Definition at line 103 of file Clustal.h.

References bpp::AbstractIAlignment::readAlignment().

void Clustal::writeAlignment ( std::ostream &  output,
const SiteContainer sc 
) const throw (Exception) [virtual]

Write a container to a stream.

Parameters:
outputThe output stream where to write.
scThe container to write.
Exceptions:
ExceptionIf the file is not in the specified format.

Implements bpp::AbstractOAlignment.

Definition at line 114 of file Clustal.cpp.

References bpp::Sequence::getName(), and bpp::TextTools::resizeRight().

Referenced by writeAlignment().

void bpp::Clustal::writeAlignment ( const std::string &  path,
const SiteContainer sc,
bool  overwrite = true 
) const throw (Exception) [inline, virtual]

Write a container to a file.

Parameters:
pathThe path to the file to write.
scThe container to write.
overwriteIf true the sequences are written at the beginning of the file instead of being appended. Any previous content will be lost.
Exceptions:
ExceptionIf the file is not in the specified format.

Reimplemented from bpp::AbstractOAlignment.

Definition at line 114 of file Clustal.h.

References writeAlignment().


Member Data Documentation

unsigned int bpp::Clustal::charsByLine_ [private]

Definition at line 65 of file Clustal.h.

bool bpp::Clustal::checkNames_ [private]

Definition at line 63 of file Clustal.h.

Referenced by checkNames().

unsigned int bpp::Clustal::nbSpacesBeforeSeq_ [private]

Definition at line 64 of file Clustal.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Friends