Sequence::Seq Class Reference
[Classes for sequence I/O]

Abstract interface to sequence objects. More...

#include <Sequence/Seq.hpp>

Inheritance diagram for Sequence::Seq:
Sequence::Fasta

List of all members.

Public Types

typedef std::string::iterator iterator
typedef std::string::const_iterator const_iterator
typedef std::string::reference reference
typedef
std::string::const_reference 
const_reference
typedef std::string::size_type size_type

Public Member Functions

 Seq (void)
 Seq (const char *name, const char *seq)
 Seq (const Seq &seq)
std::string GetName (void) const
std::string GetSeq (void) const
std::string substr (unsigned beg, unsigned len) const
std::string substr (unsigned beg) const
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
void Revcom (void)
void Subseq (unsigned, unsigned)
void Complement (void)
size_type length (void) const
size_type UngappedLength (void) const
bool IsGapped (void) const
reference operator[] (const size_type &i)
const_reference operator[] (const size_type &i) const
bool operator== (const Seq &rhs) const
bool operator!= (const Seq &rhs) const
 operator std::string () const
const char * c_str (void) const
virtual std::istream & read (std::istream &s)=0 throw (Sequence::badFormat,std::exception)
virtual std::ostream & print (std::ostream &s) const =0

Detailed Description

Abstract interface to sequence objects.

Abstract interface to sequence objects. A sequence consists of a name and a sequence, both of which are stored as C++ std::strings. Sequence::Seq inherits publicly from std::pair<std::string,std::string> to store the sequence name and data. The public member "first" is the name, and "second" is the data. These can be used to directly access the name and/or data. Most of the rest of the member functions of this class are to make the behavior of Sequence::Seq more "std::string"-like.

Definition at line 49 of file Seq.hpp.


Member Typedef Documentation

typedef std::string::const_iterator Sequence::Seq::const_iterator

Const iterator to sequence elements. Iterators access the data, not the seuquence name. Value type de-references to char

Definition at line 72 of file Seq.hpp.

typedef std::string::iterator Sequence::Seq::iterator

Iterator to sequence elements. Iterators access the data, not the seuquence name. Value type de-references to char

Definition at line 66 of file Seq.hpp.


Constructor & Destructor Documentation

Sequence::Seq::Seq ( void   ) 

creates an empty sequence

Definition at line 31 of file Seq.cc.

Sequence::Seq::Seq ( const Seq seq  ) 

copy constructor

Definition at line 42 of file Seq.cc.


Member Function Documentation

Seq::const_iterator Sequence::Seq::begin (  )  const
Returns:
a const iterator to the beginning of the sequence

Definition at line 209 of file Seq.cc.

Seq::iterator Sequence::Seq::begin (  ) 
Returns:
an iterator to the beginning of the sequence
Examples:
valid_dna.cc.

Definition at line 193 of file Seq.cc.

const char * Sequence::Seq::c_str ( void   )  const
Returns:
the the C-style string representing the sequence as a cont char *

Definition at line 225 of file Seq.cc.

void Sequence::Seq::Complement ( void   ) 

Complement the Sequence

Note:
This modifies the data in the object by changing the std::string--if you want to keep the original sequence, you need to make a copy of the object first.

Definition at line 169 of file Seq.cc.

Seq::const_iterator Sequence::Seq::end (  )  const
Returns:
a const iterator to the end of the sequence

Definition at line 217 of file Seq.cc.

Seq::iterator Sequence::Seq::end (  ) 
Returns:
an iterator to the end of the sequence
Examples:
valid_dna.cc.

Definition at line 201 of file Seq.cc.

std::string Sequence::Seq::GetName ( void   )  const

Return the sequence name

Examples:
baseComp.cc.

Definition at line 45 of file Seq.cc.

std::string Sequence::Seq::GetSeq ( void   )  const

Return the sequence itself

Definition at line 53 of file Seq.cc.

bool Sequence::Seq::IsGapped ( void   )  const

Returns 1 if the sequence contaings the gap character '-', 0 otherwise

Definition at line 145 of file Seq.cc.

Seq::size_type Sequence::Seq::length ( void   )  const

Return the total length of the sequence

Examples:
codons.cc.

Definition at line 77 of file Seq.cc.

Sequence::Seq::operator std::string (  )  const

allows (implict) cast to std::string

Definition at line 127 of file Seq.cc.

bool Sequence::Seq::operator!= ( const Seq rhs  )  const
Returns:
false if the sequences contain the same data, true otherwise.
Note:
only the sequences (i.e. this->second and rhs.second) are compared

Definition at line 117 of file Seq.cc.

bool Sequence::Seq::operator== ( const Seq rhs  )  const
Returns:
true if the sequences contain the same data, false otherwise.
Note:
only the sequences (i.e. this->second and rhs.second) are compared

Definition at line 107 of file Seq.cc.

Seq::const_reference Sequence::Seq::operator[] ( const size_type &  i  )  const

Return the i-th element of the sequence.

Note:
range-checking is done by assert()

Definition at line 97 of file Seq.cc.

Seq::reference Sequence::Seq::operator[] ( const size_type &  i  ) 

Return the i-th element of the sequence.

Note:
range-checking is done by assert()

Definition at line 86 of file Seq.cc.

virtual std::ostream& Sequence::Seq::print ( std::ostream &  s  )  const [pure virtual]

read an object of type Sequence::Seq from an istream

Implemented in Sequence::Fasta.

virtual std::istream& Sequence::Seq::read ( std::istream &  s  )  throw (Sequence::badFormat,std::exception) [pure virtual]

read an object of type Sequence::Seq from an istream

Implemented in Sequence::Fasta.

void Sequence::Seq::Revcom ( void   ) 

Reverse and complement the sequence.

Note:
This function modifies the data in the object by changing the std::string--if you want to keep the original sequence, you need to make a copy of the object first.
Returns:
*this

Definition at line 180 of file Seq.cc.

void Sequence::Seq::Subseq ( unsigned  beg,
unsigned  length 
)
Parameters:
beg the index along the sequence at which the substring begins
length the length of the subseq Acts via std::string.substr(). Note that this modifies the data in the object by changing thestd::string--if you want to keep the original sequence, you need to make a copy of the object first.
Note:
range-checking done by assert()

Definition at line 154 of file Seq.cc.

std::string Sequence::Seq::substr ( unsigned  beg  )  const

Mimics the standardstd::string member function of the same name.

Definition at line 69 of file Seq.cc.

std::string Sequence::Seq::substr ( unsigned  beg,
unsigned  len 
) const

Mimics the std::string member function of the same name.

Definition at line 61 of file Seq.cc.

Seq::size_type Sequence::Seq::UngappedLength ( void   )  const

Return length of sequence, excluding the gap character '-'

Definition at line 136 of file Seq.cc.


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

Generated on Mon Jul 12 15:22:04 2010 for libsequence by  doxygen 1.6.1