SequenceReaderStringBase Class Reference

#include <SequenceReaderString.h>

Inheritance diagram for SequenceReaderStringBase:

Inheritance graph
[legend]
Collaboration diagram for SequenceReaderStringBase:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SequenceReaderStringBase (const string &sequenceString, SequenceEncoder *pEncoder, ostream &monitoringStream=cerr)
 SequenceReaderStringBase (const SequenceReaderStringBase &rhs)
virtual ~SequenceReaderStringBase ()
virtual SequenceReaderclone (void)
virtual void changeMode (SequenceReaderMode *pMode)
void rewind (void)
virtual bool findSequence (SequenceNumber seqNum)
virtual int getNextSequence (WordSequence &nextSeq, int wordLength)
virtual int getSequence (WordSequence &nextSeq, SequenceNumber sequenceNumber, int wordLength)
void getLastSequenceName (string &seqName) const
virtual int getBitsPerSymbol (void) const
virtual SourceDataType getSourceDataType (void) const
virtual bool printName (ostream &os, SequenceNumber seqNum)
virtual bool printSideInfo (ostream &os, SequenceNumber seqNum)
virtual bool printSource (ostream &os, SequenceNumber seqNum)
SequenceNumber computeNumSequencesInFile (void)

Private Member Functions

SequenceReaderStringBaseoperator= (const SequenceReaderStringBase &)

Private Attributes

const string sequenceString_
SequenceEncoderpEncoder_

Detailed Description

Definition at line 51 of file SequenceReaderString.h.


Constructor & Destructor Documentation

SequenceReaderStringBase::SequenceReaderStringBase ( const string &  sequenceString,
SequenceEncoder pEncoder,
ostream &  monitoringStream = cerr 
) [inline]

Definition at line 64 of file SequenceReaderString.h.

References SequenceReader::monitoringStream_.

Referenced by clone().

00067                                      :
00068   sequenceString_( sequenceString ), 
00069   pEncoder_( pEncoder ),
00070   SequenceReader( monitoringStream )
00071 {
00072   monitoringStream_ << "constructing SequenceReaderStringBase" << endl;
00073 } // constructor

Here is the caller graph for this function:

SequenceReaderStringBase::SequenceReaderStringBase ( const SequenceReaderStringBase rhs  )  [inline]

Definition at line 80 of file SequenceReaderString.h.

References SequenceReader::monitoringStream_.

00080                                                                 :
00081 sequenceString_( rhs.sequenceString_ ), 
00082 pEncoder_( rhs.pEncoder_->clone() ),
00083 SequenceReader( rhs.monitoringStream_ )
00084 {
00085   monitoringStream_ << "copy constructing SequenceReaderStringBase" << endl;
00086 } // copy constructor

virtual SequenceReaderStringBase::~SequenceReaderStringBase (  )  [inline, virtual]

Definition at line 94 of file SequenceReaderString.h.

References SequenceReader::monitoringStream_, and pEncoder_.

00095 {
00096   monitoringStream_ << "destructing SequenceReaderStringBase" << endl;
00097   delete pEncoder_;
00098 } // destructor


Member Function Documentation

virtual SequenceReader* SequenceReaderStringBase::clone ( void   )  [inline, virtual]

Implements SequenceReader.

Definition at line 103 of file SequenceReaderString.h.

References SequenceReaderStringBase().

00104   { return new SequenceReaderStringBase( *this ); }

Here is the call graph for this function:

virtual void SequenceReaderStringBase::changeMode ( SequenceReaderMode pMode  )  [inline, virtual]

Implements SequenceReader.

Definition at line 114 of file SequenceReaderString.h.

References SequenceEncoder::changeMode(), and pEncoder_.

Referenced by main().

00115 {
00116   pEncoder_->changeMode( pMode );
00117   //  pEncoder_->changeMode( pMode );
00118 }

Here is the call graph for this function:

Here is the caller graph for this function:

void SequenceReaderStringBase::rewind ( void   )  [inline, virtual]

Implements SequenceReader.

Definition at line 132 of file SequenceReaderString.h.

References SequenceReader::lastSequenceNumber_.

Referenced by main().

00133   { lastSequenceNumber_ = 0; } // ~rewind

Here is the caller graph for this function:

virtual bool SequenceReaderStringBase::findSequence ( SequenceNumber  seqNum  )  [inline, virtual]

Implements SequenceReader.

Definition at line 141 of file SequenceReaderString.h.

00142 {
00143   return (seqNum == 1);
00144 } 

int SequenceReaderStringBase::getNextSequence ( WordSequence nextSeq,
int  wordLength 
) [virtual]

Implements SequenceReader.

Definition at line 51 of file SequenceReaderString.cpp.

References WordSequence::getNumBasesInLast().

Referenced by getSequence(), and main().

00052 {
00053 
00054       if (lastSequenceNumber_ != 0) 
00055       {
00056         monitoringStream_ 
00057           << "String already read - call rewind before trying to reread" 
00058           << endl;
00059         return -1;
00060       } // ~if
00061 
00062       lastSequenceNumber_++;
00063  
00064       pEncoder_->setWordLength(wordLength);
00065       pEncoder_->linkSeq(nextSeq);
00066 
00067       pEncoder_->encode
00068       ( sequenceString_ );
00069 
00070       pEncoder_->unlinkSeq();
00071     // If the last word is not completely full (as will be the case if
00072     // wordLength does not divide numBases) then shift the word so the
00073     // valid bases occupy the most significant bits of the word.
00074 
00075 
00076     lastSequenceNumber_ = 1;
00077 
00078     return nextSeq.getNumBasesInLast();
00079 
00080 } // ~getNextSequence

Here is the call graph for this function:

Here is the caller graph for this function:

virtual int SequenceReaderStringBase::getSequence ( WordSequence nextSeq,
SequenceNumber  sequenceNumber,
int  wordLength 
) [inline, virtual]

Implements SequenceReader.

Definition at line 163 of file SequenceReaderString.h.

References getNextSequence().

00164 {
00165   // only one sequence in a string, so just ignore sequenceNumber
00166   return getNextSequence( nextSeq, wordLength );
00167 } // ~getSequence

Here is the call graph for this function:

void SequenceReaderStringBase::getLastSequenceName ( string &  seqName  )  const [inline, virtual]

Implements SequenceReader.

Definition at line 173 of file SequenceReaderString.h.

00174 {
00175   seqName = "UnnamedSequence";
00176 } // ~SequenceReaderStringBase::getLastSequenceName

virtual int SequenceReaderStringBase::getBitsPerSymbol ( void   )  const [inline, virtual]

Implements SequenceReader.

Definition at line 182 of file SequenceReaderString.h.

References SequenceEncoder::getBitsPerSymbol(), and pEncoder_.

Referenced by main().

00183 {
00184   return pEncoder_->getBitsPerSymbol();
00185 } // ~SequenceReaderString::getBitsPerSymbol ( void ) const

Here is the call graph for this function:

Here is the caller graph for this function:

virtual SourceDataType SequenceReaderStringBase::getSourceDataType ( void   )  const [inline, virtual]

Implements SequenceReader.

Definition at line 191 of file SequenceReaderString.h.

References SequenceEncoder::getSourceDataType(), and pEncoder_.

00192 {
00193   return pEncoder_->getSourceDataType();
00194 }

Here is the call graph for this function:

virtual bool SequenceReaderStringBase::printName ( ostream &  os,
SequenceNumber  seqNum 
) [inline, virtual]

Implements SequenceReader.

Definition at line 204 of file SequenceReaderString.h.

00205 {
00206   os << "UnnamedSequence" << endl;
00207   return true;
00208 } // ~SequenceReaderStringBase::printName

virtual bool SequenceReaderStringBase::printSideInfo ( ostream &  os,
SequenceNumber  seqNum 
) [inline, virtual]

Implements SequenceReader.

Definition at line 216 of file SequenceReaderString.h.

00217 {
00218   return true;
00219 } // ~SequenceReaderStringBase::printName

virtual bool SequenceReaderStringBase::printSource ( ostream &  os,
SequenceNumber  seqNum 
) [inline, virtual]

Implements SequenceReader.

Definition at line 227 of file SequenceReaderString.h.

References sequenceString_.

00228 {
00229   os << sequenceString_;
00230   return true;
00231 } // ~SequenceReaderStringBase::printName

SequenceNumber SequenceReaderStringBase::computeNumSequencesInFile ( void   )  [inline, virtual]

Implements SequenceReader.

Definition at line 238 of file SequenceReaderString.h.

00238 { return 1; } 

SequenceReaderStringBase& SequenceReaderStringBase::operator= ( const SequenceReaderStringBase  )  [private]


Member Data Documentation

const string SequenceReaderStringBase::sequenceString_ [private]

Definition at line 255 of file SequenceReaderString.h.

Referenced by printSource().

SequenceEncoder* SequenceReaderStringBase::pEncoder_ [private]

Definition at line 257 of file SequenceReaderString.h.

Referenced by changeMode(), getBitsPerSymbol(), getSourceDataType(), and ~SequenceReaderStringBase().


The documentation for this class was generated from the following files:
Generated on Fri Dec 21 13:22:19 2007 for ssaha by  doxygen 1.5.2