libsequence  1.9.5
Sequence::ClustalW< T > Class Template Reference

ClustalW streams. More...

#include <Sequence/Clustalw.hpp>

Inheritance diagram for Sequence::ClustalW< T >:
Sequence::AlignStream< T >

Public Types

typedef std::vector< T >::size_type size_type
 
typedef std::vector< T >::reference reference
 
typedef std::vector< T >::const_reference const_reference
 
typedef std::vector< T >::iterator iterator
 
typedef std::vector< T >::const_iterator const_iterator
 

Public Member Functions

 ClustalW (const AlignStream< T > &a)
 
 ClustalW (const ClustalW< T > &a)
 
 ClustalW (const std::vector< T > &a)
 
 ClustalW (AlignStream< T > &&a)
 
 ClustalW (ClustalW< T > &&a)
 
 ClustalW (std::vector< T > &&a)
 
std::istream & read (std::istream &s)
 
std::ostream & print (std::ostream &s) const
 
ClustalW< T > & operator= (const AlignStream< T > &rhs)
 
bool empty () const
 
size_type size (void) const
 
reference operator[] (const size_type &i)
 
const_reference operator[] (const size_type &i) const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
bool IsAlignment (void)
 
bool Gapped (void)
 
unsigned UnGappedLength (void)
 
void RemoveGaps (void)
 
void RemoveTerminalGaps (void)
 
std::vector< T > Trim (std::vector< int >sites)
 
std::vector< T > TrimComplement (std::vector< int >sites)
 
const std::vector< T > Data (void)
 
void assign (const_iterator beg, const_iterator end)
 
void assign (std::vector< T > &&_data)
 

Detailed Description

template<typename T>
class Sequence::ClustalW< T >

ClustalW streams.

This class defines an input routine for alignments in ClustalW format. This class template can be instantiated with the following types:

//example: a std::pair<std::string,std::string>
#include<utility>
#include <string>
#include <iostream>
//using namespace std;
using namespace Sequence;
int main()
{
//instantiate the template
//read in an object from stdin
cin >> x;
for (int i = 0 ; i < x.size() ; ++i)
{
//output each element in Fasta format
//but without using Sequence::Fasta
cout << '>'
<< x[i].name
<< '\n'
<< x[i].seq
<< '\n';
}
}

Definition at line 77 of file Clustalw.hpp.

Member Typedef Documentation

◆ const_iterator

template<typename T>
typedef std::vector<T>::const_iterator Sequence::AlignStream< T >::const_iterator
inherited

value type is std::vector<T>::const_iterator

Definition at line 124 of file AlignStream.hpp.

◆ iterator

template<typename T>
typedef std::vector<T>::iterator Sequence::AlignStream< T >::iterator
inherited

value type is std::vector<T>::iterator

Definition at line 120 of file AlignStream.hpp.

Member Function Documentation

◆ assign() [1/2]

template<typename T>
void Sequence::AlignStream< T >::assign ( const_iterator  beg,
const_iterator  end 
)
inherited

Assign data to object. Since the value type for these iterators evaluates to std::vector<T>::const_iterator, any vector<T> can be the data source

Exceptions
std::runtime_erroris thrown if all data elements in the range (beg,end] are not of the same length

◆ assign() [2/2]

template<typename T>
void Sequence::AlignStream< T >::assign ( std::vector< T > &&  _data)
inherited

Assign via a move operation

Exceptions
std::runtime_erroris thrown if all data elements are not of the same length

◆ empty()

template<typename T>
bool Sequence::AlignStream< T >::empty ( ) const
inlineinherited

Returns data.empty()

Definition at line 85 of file AlignStream.hpp.

◆ operator[]() [1/2]

template<typename T>
reference Sequence::AlignStream< T >::operator[] ( const size_type &  i)
inlineinherited

Returns the i-th object of type T in the vector data

Definition at line 101 of file AlignStream.hpp.

◆ operator[]() [2/2]

template<typename T>
const_reference Sequence::AlignStream< T >::operator[] ( const size_type &  i) const
inlineinherited

Returns the i-th object of type T in the vector data

Definition at line 109 of file AlignStream.hpp.

◆ print()

template<typename T>
std::ostream& Sequence::ClustalW< T >::print ( std::ostream &  s) const
virtual

To define a non-abstract AlignStream, print must be defined

Implements Sequence::AlignStream< T >.

◆ read()

template<typename T>
std::istream& Sequence::ClustalW< T >::read ( std::istream &  s)
virtual

To define a non-abstract AlignStream, read must be defined

Implements Sequence::AlignStream< T >.

◆ size()

template<typename T>
size_type Sequence::AlignStream< T >::size ( void  ) const
inlineinherited

Returns data.size()

Definition at line 93 of file AlignStream.hpp.


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