SequenceReaderMulti Class Reference

#include <SequenceReaderMulti.h>

Inheritance diagram for SequenceReaderMulti:

Inheritance graph
[legend]
Collaboration diagram for SequenceReaderMulti:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 SequenceReaderMulti (ostream &monitoringStream=cerr)
 SequenceReaderMulti (const SequenceReaderMulti &rhs)
virtual ~SequenceReaderMulti ()
virtual SequenceReaderclone (void)
void addReader (SequenceReader &seq)
void addReader (SequenceReader *pSeq)
virtual void changeMode (SequenceReaderMode *pMode)
int getNumReaders (void)
bool findReader (SequenceNumber &seqNum)
virtual void rewind (void)
virtual bool findSequence (SequenceNumber seqNum)
virtual int getNextSequence (WordSequence &nextSeq, int wordLength)
virtual int getSequence (WordSequence &nextSeq, SequenceNumber sequenceNumber, int wordLength)
virtual 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)
virtual void extractSource (char **pSource, SequenceNumber seqNum, SequenceOffset seqStart, SequenceOffset seqEnd)
virtual void saveIndexImp (ostream &fileFile, ostream &indexFile, int &fileNumber)
virtual SequenceReaderStatesaveState (void) const
virtual void restoreState (SequenceReaderState *pState)

Protected Member Functions

virtual SequenceNumber computeNumSequencesInFile (void)

Protected Attributes

vector< SeqReaderInfoallReaders_
vector< SeqReaderInfo >::iterator thisReader_
SequenceNumber currentSeqNum_
bool isFirstSeq_
int bitsPerSymbol_
SourceDataType sourceDataType_

Private Member Functions

 SequenceReaderMulti (const SequenceReader &)
SequenceReaderMultioperator= (const SequenceReader &)

Detailed Description

Definition at line 98 of file SequenceReaderMulti.h.


Constructor & Destructor Documentation

SequenceReaderMulti::SequenceReaderMulti ( ostream &  monitoringStream = cerr  ) 

Definition at line 42 of file SequenceReaderMulti.cpp.

References SequenceReader::monitoringStream_.

Referenced by clone().

00043   : SequenceReader( monitoringStream ), thisReader_( allReaders_.begin() ),
00044     isFirstSeq_(true)
00045 {
00046   monitoringStream_ << "constructing SequenceReaderMulti" << endl;
00047 }

Here is the caller graph for this function:

SequenceReaderMulti::SequenceReaderMulti ( const SequenceReaderMulti rhs  ) 

Definition at line 56 of file SequenceReaderMulti.cpp.

References allReaders_, and SequenceReader::monitoringStream_.

00057   : SequenceReader( rhs.monitoringStream_ ),
00058     allReaders_( rhs.allReaders_ ),
00059     thisReader_( allReaders_.begin() ),
00060     isFirstSeq_( rhs.isFirstSeq_ ),
00061     bitsPerSymbol_( rhs.bitsPerSymbol_ ),
00062     sourceDataType_( rhs.sourceDataType_ )
00063 {
00064   monitoringStream_ << "copy constructing SequenceReaderMulti\n";
00065   for ( vector<SeqReaderInfo>::const_iterator i(rhs.allReaders_.begin());
00066         i!=rhs.allReaders_.end(); i++)
00067   {
00068     allReaders_.push_back( SeqReaderInfo() );
00069     allReaders_.back().ptr_=i->ptr_->clone();
00070   } // ~for
00071 
00072 } // ~constructor

SequenceReaderMulti::~SequenceReaderMulti (  )  [virtual]

Definition at line 49 of file SequenceReaderMulti.cpp.

References allReaders_, and SequenceReader::monitoringStream_.

00050 {
00051   monitoringStream_ << "destructing SequenceReaderMulti" << endl;
00052   for ( vector<SeqReaderInfo>::iterator i( allReaders_.begin() );
00053         i != allReaders_.end() ; i++ ) delete i->ptr_;
00054 } // destructor

SequenceReaderMulti::SequenceReaderMulti ( const SequenceReader  )  [private]


Member Function Documentation

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

Implements SequenceReader.

Definition at line 124 of file SequenceReaderMulti.h.

References SequenceReaderMulti().

00125   { return new SequenceReaderMulti( *this ); }

Here is the call graph for this function:

void SequenceReaderMulti::addReader ( SequenceReader seq  ) 

Definition at line 107 of file SequenceReaderMulti.cpp.

References allReaders_, bitsPerSymbol_, SequenceReader::clone(), SequenceReader::getBitsPerSymbol(), SequenceReader::getSourceDataType(), isFirstSeq_, sourceDataType_, and thisReader_.

Referenced by fillSequenceReaderMulti(), and main().

00108   {
00109     if (isFirstSeq_)
00110     {
00111       isFirstSeq_ = false;
00112       bitsPerSymbol_ = seq.getBitsPerSymbol();
00113       sourceDataType_ = seq.getSourceDataType();
00114     } // ~if
00115     else
00116     {
00117       assert(bitsPerSymbol_ == seq.getBitsPerSymbol());
00118       assert(sourceDataType_ == seq.getSourceDataType());
00119     } // ~else
00120     //    assert(1==0);
00121     //    allReaders_.push_back( SeqReaderInfo( seq.clone() ));
00122     allReaders_.push_back( SeqReaderInfo() );
00123     allReaders_.back().ptr_=seq.clone();
00124     thisReader_
00125       = static_cast<vector<SeqReaderInfo>::iterator>(&allReaders_.back());
00126   } // ~addReader( SequenceReader& seq )

Here is the call graph for this function:

Here is the caller graph for this function:

void SequenceReaderMulti::addReader ( SequenceReader pSeq  ) 

Definition at line 133 of file SequenceReaderMulti.cpp.

References allReaders_, bitsPerSymbol_, SequenceReader::getBitsPerSymbol(), SequenceReader::getSourceDataType(), isFirstSeq_, sourceDataType_, and thisReader_.

00134   {
00135     if (isFirstSeq_)
00136     {
00137       isFirstSeq_ = false;
00138       bitsPerSymbol_ = pSeq->getBitsPerSymbol();
00139       sourceDataType_ = pSeq->getSourceDataType();
00140     } // ~if
00141     else
00142     {
00143       assert(bitsPerSymbol_ == pSeq->getBitsPerSymbol());
00144       assert(sourceDataType_ == pSeq->getSourceDataType());
00145     } // ~else
00146 
00147     allReaders_.push_back( SeqReaderInfo() );
00148     allReaders_.back().ptr_=pSeq;
00149     thisReader_
00150       = static_cast<vector<SeqReaderInfo>::iterator>(&allReaders_.back());
00151   } // ~addReader( SequenceReader* pSeq )

Here is the call graph for this function:

void SequenceReaderMulti::changeMode ( SequenceReaderMode pMode  )  [virtual]

Implements SequenceReader.

Definition at line 255 of file SequenceReaderMulti.cpp.

References allReaders_.

00256   {
00257     for ( vector<SeqReaderInfo>::iterator i = allReaders_.begin(); 
00258           i != allReaders_.end(); i++ ) 
00259           {
00260             (i->ptr_)->changeMode(pMode);
00261           }
00262   } // ~SequenceReaderMulti::changeMode( SequenceReaderMode* pMode )

int SequenceReaderMulti::getNumReaders ( void   )  [inline]

Definition at line 152 of file SequenceReaderMulti.h.

References allReaders_.

Referenced by findSequenceReader().

00153   { 
00154     return allReaders_.size();
00155   }

Here is the caller graph for this function:

bool SequenceReaderMulti::findReader ( SequenceNumber seqNum  ) 

Definition at line 223 of file SequenceReaderMulti.cpp.

References allReaders_, DEBUG_L3, SequenceReader::getNumSequencesInFile(), and thisReader_.

Referenced by getSequence(), printName(), printSideInfo(), and printSource().

00224   {
00225     DEBUG_L3( "SequenceReaderMulti::findReader" );
00226 
00227     // NB calling getNumSequencesInFile also makes sure numSeqs_ has
00228     // been set up
00229 
00230     if ( seqNum > getNumSequencesInFile() )
00231     {
00232       return false;
00233       //      monitoringStream_ 
00234       //   << "findReader: Requested sequence number (" << seqNum 
00235       //   << ")\n is outside range of sequences in file (1 to " 
00236       //  << getNumSequencesInFile() << ")." << endl;
00237       //   throw SSAHAException("Invalid sequence number.");
00238     } // ~if
00239 
00240     for ( vector<SeqReaderInfo>::iterator i = allReaders_.begin(); 
00241           i != allReaders_.end(); i++ )
00242     {
00243       if ( seqNum <= i->size_ ) { thisReader_ = i; break; } // %%%%%
00244       seqNum -= i->size_;
00245     } // ~for i
00246 
00247     return true;
00248     
00249     // cout << allReaders_.begin().size_ << " " << seqNum << " " << i << endl;
00250   } // ~void SequenceReaderMulti::findReader( int& seqNum )

Here is the call graph for this function:

Here is the caller graph for this function:

void SequenceReaderMulti::rewind ( void   )  [virtual]

Implements SequenceReader.

Definition at line 84 of file SequenceReaderMulti.cpp.

References allReaders_, SequenceReader::lastSequenceNumber_, and thisReader_.

Referenced by getSequence(), and main().

00085 {
00086 
00087     for ( vector<SeqReaderInfo>::iterator i 
00088           = allReaders_.begin(); 
00089           i != allReaders_.end();
00090           i++ )
00091     {
00092       (i->ptr_)->rewind();       
00093     } // ~for i
00094     thisReader_ = allReaders_.begin();
00095     lastSequenceNumber_ = 0;
00096 } // ~SequenceReaderMulti::rewind( void )

Here is the caller graph for this function:

bool SequenceReaderMulti::findSequence ( SequenceNumber  seqNum  )  [virtual]

Implements SequenceReader.

Definition at line 159 of file SequenceReaderMulti.cpp.

References allReaders_, currentSeqNum_, SequenceReader::lastSequenceNumber_, and thisReader_.

Referenced by extractSource(), and main().

00160 {
00161 
00162   //  SequenceNumber currentSeqNum(seqNum);
00163   currentSeqNum_ = seqNum;
00164   for ( thisReader_ = allReaders_.begin(); 
00165         thisReader_ != allReaders_.end(); thisReader_++ )
00166   {
00167     if (thisReader_->allSeqsRead_)
00168     {
00169       if ( currentSeqNum_ <= thisReader_->size_ )
00170       {
00171         //      assert( thisReader_->ptr_->findSequence( currentSeqNum_ ) == true );
00172         lastSequenceNumber_ = --seqNum; // last read = 1 behind current
00173         return true;    
00174       } // ~if
00175     } // ~if
00176     else
00177     {
00178       if ( thisReader_->ptr_->findSequence( currentSeqNum_ ) == true )
00179       {
00180         lastSequenceNumber_ = --seqNum; // last read = 1 behind current
00181         return true;
00182       }
00183       else
00184         thisReader_->size_ = thisReader_->ptr_->getNumSequencesInFile();
00185       //      thisReader_->ptr_->rewind();
00186     } // ~else
00187     
00188     
00189     currentSeqNum_ -= thisReader_->ptr_->getNumSequencesInFile();
00190 
00191 
00192   } // ~for
00193 
00194   return false;
00195 
00196     //    if (thisReader_->ptr_->findSequence( currentSeqNum )) 
00197     //    {
00198       //      if (!thisReader_->allSeqsRead_)
00199       //   {
00200       //      thisReader_->allSeqsRead_=true;
00201       //      thisReader_->size_ = thisReader_->ptr_->getNumSequencesInFile();
00202       //    } // ~if
00203     //      return true;
00204     //   }
00205     //    if (!thisReader_->allSeqsRead_)
00206     //    {
00207     //     thisReader_->allSeqsRead_=true;
00208     //    thisReader_->size_ = thisReader_->ptr_->getNumSequencesInFile();
00209     //    } // ~if
00210     //  } // ~for
00211   //  return false;
00212 
00213 } // ~SequenceReaderMulti::findSequence( SequenceNumber seqNum )

Here is the caller graph for this function:

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

Implements SequenceReader.

Definition at line 275 of file SequenceReaderMulti.cpp.

References allReaders_, DEBUG_L2, SequenceReader::getNumSequencesInFile(), SequenceReader::lastSequenceNumber_, SequenceReader::monitoringStream_, and thisReader_.

Referenced by main().

00276   {
00277     DEBUG_L2( "SequenceReaderMulti::getNextSequence" );
00278 
00279     int numInLast;
00280 
00281     while 
00282       (    ( thisReader_ 
00283              != allReaders_.end() )
00284         && ( (   numInLast
00285                = thisReader_->ptr_->getNextSequence( nextSeq, wordLength ) )
00286               == -1 )    )
00287     {
00288       if ( thisReader_->allSeqsRead_ == false )
00289       {
00290         thisReader_->size_ = (thisReader_->ptr_)->getNumSequencesInFile();
00291         thisReader_->allSeqsRead_ = true;
00292       } // ~if
00293       thisReader_++;
00294       //      if (thisReader_!=allReaders_.end()) thisReader_->ptr_->rewind();
00295     } // ~while
00296 
00297     if (thisReader_ == allReaders_.end()) 
00298     {
00299       monitoringStream_ 
00300       << "SequenceReaderMulti::getNextSequence - last seq has been read.\n";
00301       return -1;
00302     } // ~if
00303 
00304     if ( numInLast != -1 ) lastSequenceNumber_++;
00305 
00306     return numInLast; 
00307 
00308   } // ~SequenceReaderMulti::getNextSequence

Here is the call graph for this function:

Here is the caller graph for this function:

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

Implements SequenceReader.

Definition at line 317 of file SequenceReaderMulti.cpp.

References DEBUG_L2, findReader(), SequenceReader::lastSequenceNumber_, rewind(), and thisReader_.

00318   {
00319     DEBUG_L2( "SequenceReaderMulti::getSequence" );
00320 
00321     //    findReader( sequenceNumber ); 
00322     if (!findReader( sequenceNumber )) return -1;
00323 
00324     lastSequenceNumber_ = sequenceNumber;
00325             (thisReader_->ptr_)->rewind();
00326 
00327     return (thisReader_->ptr_)->getSequence
00328                                   ( nextSeq, sequenceNumber, wordLength );
00329 
00330   } // ~SequenceReaderMulti::getSequence

Here is the call graph for this function:

void SequenceReaderMulti::getLastSequenceName ( string &  seqName  )  const [virtual]

Implements SequenceReader.

Definition at line 336 of file SequenceReaderMulti.cpp.

References thisReader_.

Referenced by main().

00337   {
00338     (thisReader_->ptr_)->getLastSequenceName( seqName );
00339   } // ~SequenceReaderMulti::getLastSequenceName( string& seqName ) const 

Here is the caller graph for this function:

int SequenceReaderMulti::getBitsPerSymbol ( void   )  const [virtual]

Implements SequenceReader.

Definition at line 371 of file SequenceReaderMulti.cpp.

References bitsPerSymbol_, and isFirstSeq_.

Referenced by main().

00372 {
00373   if (isFirstSeq_) assert(1==0);
00374   return bitsPerSymbol_;
00375   // fails if thisReader is at end 
00376   //  return ((thisReader_->ptr_)->getBitsPerSymbol());
00377 } // ~SequenceReaderMulti::getBitsPerSymbol ( void ) const

Here is the caller graph for this function:

SourceDataType SequenceReaderMulti::getSourceDataType ( void   )  const [virtual]

Implements SequenceReader.

Definition at line 383 of file SequenceReaderMulti.cpp.

References isFirstSeq_, and sourceDataType_.

00384 {
00385   if (isFirstSeq_) assert(1==0);
00386   return sourceDataType_;
00387   // fails if thisReader is at end 
00388   //  return ((thisReader_->ptr_)->getSourceDataType());
00389 } // ~SequenceReaderMulti::getSourceDataType ( void ) const

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

Implements SequenceReader.

Definition at line 395 of file SequenceReaderMulti.cpp.

References findReader(), SequenceReader::lastSequenceNumber_, and thisReader_.

00396 {
00397 
00398   lastSequenceNumber_ = seqNum;
00399   //  findReader( seqNum ); 
00400   if (!findReader(seqNum)) return false;
00401   (thisReader_->ptr_)->printName( os, seqNum );
00402   return true;
00403 } // ~SequenceReaderMulti::printName

Here is the call graph for this function:

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

Implements SequenceReader.

Definition at line 409 of file SequenceReaderMulti.cpp.

References findReader(), SequenceReader::lastSequenceNumber_, and thisReader_.

00410 {
00411 
00412   lastSequenceNumber_ = seqNum;
00413   //  findReader( seqNum ); 
00414   if (!findReader(seqNum)) return false;
00415   (thisReader_->ptr_)->printSideInfo( os, seqNum );
00416   return true;
00417 } // ~SequenceReaderMulti::printName

Here is the call graph for this function:

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

Implements SequenceReader.

Definition at line 424 of file SequenceReaderMulti.cpp.

References findReader(), SequenceReader::lastSequenceNumber_, and thisReader_.

00425 {
00426   lastSequenceNumber_ = seqNum;
00427   //findReader( seqNum ); 
00428   if (!findReader(seqNum)) return false;
00429   (thisReader_->ptr_)->printSource( os, seqNum );
00430   return true;
00431 } // ~SequenceReaderMulti::printName

Here is the call graph for this function:

void SequenceReaderMulti::extractSource ( char **  pSource,
SequenceNumber  seqNum,
SequenceOffset  seqStart,
SequenceOffset  seqEnd 
) [virtual]

Reimplemented from SourceReader.

Definition at line 437 of file SequenceReaderMulti.cpp.

References currentSeqNum_, findSequence(), SequenceReader::getNumSequencesInFile(), SequenceReader::monitoringStream_, restoreState(), saveState(), and thisReader_.

Referenced by main().

00441 {
00442   //  cout << "SRM::extractSource " << seqNum << endl;
00443   //  SequenceNumber savedSeqNum(lastSequenceNumber_);
00444   //  vector<SeqReaderInfo>::iterator savedReader(thisReader_);
00445   //  SequenceNumber savedSeqNumPtr(thisReader_->ptr_->getLastSequenceNumber());
00446   //  monitoringStream_ << "srm::Extract1 " << seqNum << " " << thisReader_ << endl;
00447 
00448   SequenceReaderState* pState(saveState());
00449 
00450   if (!findSequence(seqNum))
00451   { 
00452     monitoringStream_ << "extSource: Requested sequence number (" << seqNum
00453                       << ") exceeds number of sequences in collection ("
00454                       << getNumSequencesInFile() << ")." << endl;
00455     throw SSAHAException
00456       ("Invalid sequence number in SequenceReaderMulti::extractSource");
00457   } // ~if   
00458   //  monitoringStream_ << "srm::Extract2 " << seqNum << " " << thisReader_ << endl;
00459   (thisReader_->ptr_)->extractSource
00460     ( pSource, currentSeqNum_, seqStart, seqEnd );
00461 
00462   //  lastSequenceNumber_ = savedSeqNum;
00463 
00464   //  thisReader_->ptr_->rewind();
00465   //  findSequence( savedSeqNum+1 );
00466 
00467   restoreState(pState);
00468   //  lastSequenceNumber_=savedSeqNum;
00469   //  thisReader_=savedReader;
00470   //  thisReader_->ptr_->findSequence(savedSeqNumPtr+1);
00471 
00472 } // ~SequenceReaderMulti::extractSource

Here is the call graph for this function:

Here is the caller graph for this function:

void SequenceReaderMulti::saveIndexImp ( ostream &  fileFile,
ostream &  indexFile,
int &  fileNumber 
) [virtual]

Reimplemented from SourceReader.

Definition at line 476 of file SequenceReaderMulti.cpp.

References allReaders_, and computeNumSequencesInFile().

00479 {
00480   computeNumSequencesInFile();
00481   for ( vector<SeqReaderInfo>::iterator i 
00482           = allReaders_.begin(); 
00483           i != allReaders_.end();
00484           i++ )
00485   {
00486     (i->ptr_)->saveIndexImp( fileFile, indexFile, fileNumber );
00487     fileNumber++;
00488   } // ~for i
00489 
00490 } // ~SequenceReaderMulti::saveIndexImp

Here is the call graph for this function:

virtual SequenceReaderState* SequenceReaderMulti::saveState ( void   )  const [inline, virtual]

Reimplemented from SequenceReader.

Definition at line 257 of file SequenceReaderMulti.h.

References allReaders_, SequenceReader::lastSequenceNumber_, and thisReader_.

Referenced by extractSource().

00258   {
00259     return new SequenceReaderMultiState
00260       ( lastSequenceNumber_, 
00261         thisReader_, 
00262         (thisReader_==allReaders_.end()) 
00263         ? NULL 
00264         : thisReader_->ptr_->saveState() );
00265   }

Here is the caller graph for this function:

virtual void SequenceReaderMulti::restoreState ( SequenceReaderState pState  )  [inline, virtual]

Reimplemented from SequenceReader.

Definition at line 272 of file SequenceReaderMulti.h.

References allReaders_, SequenceReaderState::lastSequenceNumber_, SequenceReader::lastSequenceNumber_, SequenceReaderMultiState::pState_, SequenceReaderMultiState::thisReader_, and thisReader_.

Referenced by extractSource().

00273   {
00274     SequenceReaderMultiState* p
00275       (dynamic_cast<SequenceReaderMultiState*>(pState));
00276     assert(p!=NULL);
00277     lastSequenceNumber_ = p->lastSequenceNumber_;
00278     thisReader_->ptr_->rewind();
00279     thisReader_=p->thisReader_; 
00280     if (thisReader_!=allReaders_.end())
00281       thisReader_->ptr_->restoreState( p->pState_ ); 
00282     delete pState;
00283   }

Here is the caller graph for this function:

SequenceNumber SequenceReaderMulti::computeNumSequencesInFile ( void   )  [protected, virtual]

Implements SequenceReader.

Definition at line 347 of file SequenceReaderMulti.cpp.

References allReaders_, SequenceReader::getNumSequencesInFile(), SequenceReader::lastSequenceNumber_, and thisReader_.

Referenced by saveIndexImp().

00348   {
00349     SequenceNumber numSeqs = 0;
00350     for ( vector<SeqReaderInfo>::iterator i 
00351           = allReaders_.begin(); 
00352           i != allReaders_.end();
00353           i++ )
00354     {
00355       if ( i->allSeqsRead_ == false )
00356       {
00357         i->size_ =  (i->ptr_)->getNumSequencesInFile();
00358         i->allSeqsRead_ = true;
00359       } // ~if
00360       numSeqs += i->size_;       
00361     } // ~for i
00362     thisReader_ = allReaders_.end();
00363     lastSequenceNumber_ = numSeqs;
00364     return numSeqs; 
00365   } // ~SequenceReaderMulti::computeNumSequencesInFile( void )

Here is the call graph for this function:

Here is the caller graph for this function:

SequenceReaderMulti& SequenceReaderMulti::operator= ( const SequenceReader  )  [private]

Reimplemented from SequenceReader.


Member Data Documentation

vector<SeqReaderInfo> SequenceReaderMulti::allReaders_ [protected]

Definition at line 309 of file SequenceReaderMulti.h.

Referenced by addReader(), changeMode(), computeNumSequencesInFile(), findReader(), findSequence(), getNextSequence(), getNumReaders(), restoreState(), rewind(), saveIndexImp(), saveState(), SequenceReaderMulti(), and ~SequenceReaderMulti().

vector<SeqReaderInfo>::iterator SequenceReaderMulti::thisReader_ [protected]

Definition at line 311 of file SequenceReaderMulti.h.

Referenced by addReader(), computeNumSequencesInFile(), extractSource(), findReader(), findSequence(), getLastSequenceName(), getNextSequence(), getSequence(), printName(), printSideInfo(), printSource(), restoreState(), rewind(), and saveState().

SequenceNumber SequenceReaderMulti::currentSeqNum_ [protected]

Definition at line 312 of file SequenceReaderMulti.h.

Referenced by extractSource(), and findSequence().

bool SequenceReaderMulti::isFirstSeq_ [protected]

Definition at line 314 of file SequenceReaderMulti.h.

Referenced by addReader(), getBitsPerSymbol(), and getSourceDataType().

int SequenceReaderMulti::bitsPerSymbol_ [protected]

Definition at line 315 of file SequenceReaderMulti.h.

Referenced by addReader(), and getBitsPerSymbol().

SourceDataType SequenceReaderMulti::sourceDataType_ [protected]

Definition at line 316 of file SequenceReaderMulti.h.

Referenced by addReader(), and getSourceDataType().


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