#include <SequenceReaderLocal.h>
Inheritance diagram for SequenceReaderLocal:


Public Types | |
| typedef pair< WordSequence, std::string > | SequenceInfo |
Public Member Functions | |
| SequenceReaderLocal (SequenceReader &seqFile, int wordLength, ostream &monitoringStream=cerr) | |
| SequenceReaderLocal (int wordLength, int bitsPerSymbol, ostream &monitoringStream=cerr) | |
| SequenceReaderLocal (const SequenceReaderLocal &rhs) | |
| ~SequenceReaderLocal () | |
| virtual SequenceReader * | clone (void) |
| virtual void | changeMode (SequenceReaderMode *pMode) |
| 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) |
| SequenceInfo & | back (void) |
| void | push_back (void) |
| void | pop_back (void) |
| const SequenceInfo & | operator[] (vector< SequenceInfo >::size_type i) |
Protected Member Functions | |
| virtual SequenceNumber | computeNumSequencesInFile (void) |
Protected Attributes | |
| vector< SequenceInfo > | seqData_ |
| int | wordLength_ |
| int | bitsPerSymbol_ |
| SourceDataType | sourceData_ |
Private Member Functions | |
| SequenceReaderLocal & | operator= (const SequenceReaderLocal &) |
Definition at line 54 of file SequenceReaderLocal.h.
| typedef pair< WordSequence, std::string> SequenceReaderLocal::SequenceInfo |
Definition at line 60 of file SequenceReaderLocal.h.
| SequenceReaderLocal::SequenceReaderLocal | ( | SequenceReader & | seqFile, | |
| int | wordLength, | |||
| ostream & | monitoringStream = cerr | |||
| ) |
Definition at line 48 of file SequenceReaderLocal.cpp.
References SequenceReader::getLastSequenceName(), SequenceReader::getNextSequence(), and SequenceReader::rewind().
Referenced by clone().
00048 : 00049 sourceData_( seqFile.getSourceDataType() ), 00050 wordLength_( wordLength ), 00051 bitsPerSymbol_( seqFile.getBitsPerSymbol() ), 00052 SequenceReader( monitoringStream ) 00053 { 00054 monitoringStream_ 00055 << "constructing SequenceReaderLocal from SequenceReader" << endl; 00056 seqFile.rewind(); 00057 const pair< WordSequence, std::string> dummy; 00058 00059 seqData_.push_back(dummy); 00060 // seqNames_.push_back(); 00061 00062 while( seqFile.getNextSequence( seqData_.back().first, wordLength_ ) != -1 ) 00063 { 00064 seqFile.getLastSequenceName( seqData_.back().second ); 00065 seqData_.push_back(dummy); 00066 } // ~while 00067 seqData_.pop_back(); 00068 // numSequencesInFile_ = seqFile.getNumSequencesInFile(); 00069 rewind(); 00070 seqFile.rewind(); 00071 } // ~constructor
Here is the call graph for this function:

Here is the caller graph for this function:

| SequenceReaderLocal::SequenceReaderLocal | ( | int | wordLength, | |
| int | bitsPerSymbol, | |||
| ostream & | monitoringStream = cerr | |||
| ) |
Definition at line 74 of file SequenceReaderLocal.cpp.
00074 : 00075 sourceData_( gUnknownData ), 00076 wordLength_( wordLength ), 00077 bitsPerSymbol_( bitsPerSymbol ), 00078 SequenceReader( monitoringStream ) 00079 { 00080 monitoringStream_ 00081 << "constructing empty SequenceReaderLocal" << endl; 00082 }
| SequenceReaderLocal::SequenceReaderLocal | ( | const SequenceReaderLocal & | rhs | ) |
Definition at line 89 of file SequenceReaderLocal.cpp.
References SequenceReader::monitoringStream_.
00090 { 00091 monitoringStream_ << "copy constructing SequenceReaderLocal" << endl; 00092 } // ~destructor
| SequenceReaderLocal::~SequenceReaderLocal | ( | ) |
Definition at line 96 of file SequenceReaderLocal.cpp.
References SequenceReader::monitoringStream_.
00097 { 00098 monitoringStream_ << "destructing SequenceReaderLocal" << endl; 00099 } // ~destructor
| virtual SequenceReader* SequenceReaderLocal::clone | ( | void | ) | [inline, virtual] |
Implements SequenceReader.
Definition at line 90 of file SequenceReaderLocal.h.
References SequenceReaderLocal().
00091 { return new SequenceReaderLocal( *this ); }
Here is the call graph for this function:

| virtual void SequenceReaderLocal::changeMode | ( | SequenceReaderMode * | pMode | ) | [inline, virtual] |
| virtual void SequenceReaderLocal::rewind | ( | void | ) | [inline, virtual] |
Implements SequenceReader.
Definition at line 113 of file SequenceReaderLocal.h.
References SequenceReader::lastSequenceNumber_.
00114 { 00115 lastSequenceNumber_ = 0; 00116 // don't need to do anything else, because we're set up for random access 00117 } // ~rewind
| bool SequenceReaderLocal::findSequence | ( | SequenceNumber | seqNum | ) | [virtual] |
Implements SequenceReader.
Definition at line 165 of file SequenceReaderLocal.cpp.
References SequenceReader::lastSequenceNumber_, and seqData_.
00166 { 00167 00168 if (( seqNum <= seqData_.size()) && ( seqNum != 0 )) 00169 { 00170 lastSequenceNumber_ = seqNum - 1; 00171 return true; 00172 } // ~if 00173 else 00174 { 00175 return false; 00176 } // ~else 00177 }
| int SequenceReaderLocal::getNextSequence | ( | WordSequence & | nextSeq, | |
| int | wordLength | |||
| ) | [virtual] |
Implements SequenceReader.
Definition at line 108 of file SequenceReaderLocal.cpp.
References SequenceReader::getNumSequencesInFile(), SequenceReader::lastSequenceNumber_, SequenceReader::monitoringStream_, seqData_, and wordLength_.
Referenced by main().
00109 { 00110 if ( lastSequenceNumber_ == getNumSequencesInFile() ) 00111 { 00112 monitoringStream_ << "End of file has been reached." << endl; 00113 return (-1); 00114 } // if 00115 if ( wordLength != wordLength_ ) 00116 { 00117 monitoringStream_ 00118 << "Error: sequence data word length is fixed (" 00119 << wordLength_ << " base pairs)." << endl; 00120 throw SSAHAException("Wrong word length for SequenceReaderLocal"); 00121 } // if 00122 // NB sequences are numbered 1 ... n but seqData_ is numbered 00123 // 0 ... n-1 00124 lastSequenceNumber_++; 00125 nextSeq = seqData_[lastSequenceNumber_-1].first; 00126 // nextSeq.numBasesInLast 00127 // = seqData_[lastSequenceNumber_-1].first.numBasesInLast; 00128 return (seqData_[lastSequenceNumber_-1].first.getNumBasesInLast()); 00129 } // ~SequenceReaderLocal::getNextSequence
Here is the call graph for this function:

Here is the caller graph for this function:

| int SequenceReaderLocal::getSequence | ( | WordSequence & | nextSeq, | |
| SequenceNumber | sequenceNumber, | |||
| int | wordLength | |||
| ) | [virtual] |
Implements SequenceReader.
Definition at line 137 of file SequenceReaderLocal.cpp.
References WordSequence::getNumBasesInLast(), SequenceReader::monitoringStream_, SequenceReader::numSequencesInFile_, seqData_, and wordLength_.
00138 { 00139 00140 if ( sequenceNumber > numSequencesInFile_ ) 00141 { 00142 monitoringStream_ << "End of file has been reached." << endl; 00143 return (-1); 00144 } // if 00145 if ( wordLength != wordLength_ ) 00146 { 00147 monitoringStream_ 00148 << "Error: sequence data word length is fixed (" 00149 << wordLength_ << " base pairs)." << endl; 00150 throw SSAHAException("Wrong word length for SequenceReaderLocal"); 00151 } // if 00152 // NB sequences are numbered 1 ... n but seqData_ is numbered 00153 // 0 ... n-1 00154 nextSeq = seqData_[sequenceNumber - 1].first; 00155 // nextSeq.numBasesInLast=seqData_[sequenceNumber-1].first.numBasesInLast; 00156 return nextSeq.getNumBasesInLast(); 00157 } // ~getSequence
Here is the call graph for this function:

| void SequenceReaderLocal::getLastSequenceName | ( | string & | seqName | ) | const [virtual] |
Implements SequenceReader.
Definition at line 184 of file SequenceReaderLocal.cpp.
References SequenceReader::lastSequenceNumber_, and seqData_.
00185 { 00186 seqName = seqData_[lastSequenceNumber_ - 1].second; 00187 }
| virtual int SequenceReaderLocal::getBitsPerSymbol | ( | void | ) | const [inline, virtual] |
Implements SequenceReader.
Definition at line 154 of file SequenceReaderLocal.h.
References bitsPerSymbol_.
00155 { 00156 return bitsPerSymbol_; 00157 }
| virtual SourceDataType SequenceReaderLocal::getSourceDataType | ( | void | ) | const [inline, virtual] |
Implements SequenceReader.
Definition at line 163 of file SequenceReaderLocal.h.
References sourceData_.
00164 { 00165 return sourceData_; 00166 }
| bool SequenceReaderLocal::printName | ( | ostream & | os, | |
| SequenceNumber | seqNum | |||
| ) | [virtual] |
Implements SequenceReader.
Definition at line 193 of file SequenceReaderLocal.cpp.
References SequenceReader::monitoringStream_, SequenceReader::numSequencesInFile_, and seqData_.
00194 { 00195 if ( seqNum > numSequencesInFile_ ) 00196 { 00197 monitoringStream_ << "Error: requested sequence number (" << seqNum 00198 << ") exceeds num seqs in file (" 00199 << numSequencesInFile_ << ")." << endl; 00200 return false; 00201 } // if 00202 os << seqData_[seqNum - 1].second << endl; 00203 return true; 00204 }
| bool SequenceReaderLocal::printSideInfo | ( | ostream & | os, | |
| SequenceNumber | seqNum | |||
| ) | [virtual] |
| bool SequenceReaderLocal::printSource | ( | ostream & | os, | |
| SequenceNumber | seqNum | |||
| ) | [virtual] |
| SequenceInfo& SequenceReaderLocal::back | ( | void | ) | [inline] |
Definition at line 186 of file SequenceReaderLocal.h.
References seqData_.
Referenced by processQuery().
00186 { return seqData_.back(); }
Here is the caller graph for this function:

| void SequenceReaderLocal::push_back | ( | void | ) | [inline] |
Definition at line 187 of file SequenceReaderLocal.h.
References seqData_.
Referenced by processQuery().
00187 { seqData_.push_back(SequenceInfo()); }
Here is the caller graph for this function:

| void SequenceReaderLocal::pop_back | ( | void | ) | [inline] |
Definition at line 188 of file SequenceReaderLocal.h.
References seqData_.
00188 { seqData_.pop_back(); }
| const SequenceInfo& SequenceReaderLocal::operator[] | ( | vector< SequenceInfo >::size_type | i | ) | [inline] |
Definition at line 189 of file SequenceReaderLocal.h.
References seqData_.
00190 { 00191 if ( i >= seqData_.size() ) 00192 throw SSAHAException 00193 ("Tried to access non-existent sequence in SequenceReaderLocal"); 00194 else return seqData_[i]; 00195 }
| virtual SequenceNumber SequenceReaderLocal::computeNumSequencesInFile | ( | void | ) | [inline, protected, virtual] |
Implements SequenceReader.
Definition at line 210 of file SequenceReaderLocal.h.
References seqData_.
00211 { return seqData_.size(); }
| SequenceReaderLocal& SequenceReaderLocal::operator= | ( | const SequenceReaderLocal & | ) | [private] |
vector<SequenceInfo> SequenceReaderLocal::seqData_ [protected] |
Definition at line 222 of file SequenceReaderLocal.h.
Referenced by back(), computeNumSequencesInFile(), findSequence(), getLastSequenceName(), getNextSequence(), getSequence(), operator[](), pop_back(), printName(), and push_back().
int SequenceReaderLocal::wordLength_ [protected] |
Definition at line 224 of file SequenceReaderLocal.h.
Referenced by getNextSequence(), and getSequence().
int SequenceReaderLocal::bitsPerSymbol_ [protected] |
SourceDataType SequenceReaderLocal::sourceData_ [protected] |
1.5.2