#include <gnFASSource.h>
Inheritance diagram for gnFASSource:
Public Member Functions | |
gnFASSource () | |
Empty Constructor, does nothing. | |
gnFASSource (const gnFASSource &s) | |
Clone Constructor copies the specified gnFASSource. | |
~gnFASSource () | |
Destructor, frees memory. | |
gnFASSource * | Clone () const |
Returns an exact copy of this class. | |
uint32 | GetContigListLength () const |
Get the number of sequence contigs in this source. | |
boolean | HasContig (const string &name) const |
Looks for a contig by name. | |
uint32 | GetContigID (const string &name) const |
Get a contig index by name. | |
string | GetContigName (const uint32 i) const |
Get the name of the specified contig. | |
gnSeqI | GetContigSeqLength (const uint32 i) const |
Get the total number of base pairs in the specified contig. | |
gnFileContig * | GetContig (const uint32 i) const |
boolean | SeqRead (const gnSeqI start, char *buf, gnSeqI &bufLen, const uint32 contigI=ALL_CONTIGS) |
Gets sequence data from this source. | |
gnGenomeSpec * | GetSpec () const |
Get the annotated sequence data as a gnGenomeSpec. | |
gnFileContig * | GetFileContig (const uint32 contigI) const |
Returns a pointer to the file contig corresponding to contigI or null if none exists. | |
virtual void | Open (string openString) |
Opens the source given in "openString" for reading. | |
virtual void | Open () |
Opens this source for reading. | |
virtual void | Close () |
Closes the file or connection this source is reading from. | |
virtual string | GetOpenString () const |
Get the location of the source that is being used. | |
virtual const gnFilter * | GetFilter () const |
Get the filter currently being used to filter unwanted characters out of read sequences. | |
virtual void | SetFilter (gnFilter *filter) |
Set the filter that will be used to filter unwanted characters out of the sequence data. | |
virtual boolean | Read (const uint64 pos, char *buf, gnSeqI &bufLen) |
Gets raw input from this source. | |
Static Public Member Functions | |
void | Write (gnSequence &sequence, const string &filename, boolean write_coords=true, boolean enforce_unique_names=true) |
Write the given gnSequence to a FastA file. | |
void | Write (gnSequence &sequence, ostream &m_ostream, boolean write_coords=true, boolean enforce_unique_names=true) |
Write the given gnSequence to an ostream. | |
boolean | Write (gnBaseSource *source, const string &filename) |
Deprecated - do not use. | |
Protected Member Functions | |
void | DetermineNewlineType () |
Protected Attributes | |
string | m_openString |
ifstream | m_ifstream |
const gnFilter * | m_pFilter |
gnNewlineType | m_newlineType |
uint32 | m_newlineSize |
Private Member Functions | |
boolean | SeqSeek (const gnSeqI start, const uint32 contigI, uint64 &startPos, uint64 &readableBytes) |
boolean | SeqStartPos (const gnSeqI start, gnFileContig &contig, uint64 &startPos, uint64 &readableBytes) |
boolean | ParseStream (istream &fin) |
Private Attributes | |
vector< gnFileContig * > | m_contigList |
gnFASSource is used by gnSourceFactory to read files. Files can be written in the FastA file format by calling gnFASSource::Write( mySpec, "C:\myFasFile.fas");
Definition at line 32 of file gnFASSource.h.
|
Empty Constructor, does nothing.
Definition at line 20 of file gnFASSource.cpp. References DebugMsg(), gnFilter::fullDNASeqFilter(), gnFileSource::m_openString, and gnFileSource::m_pFilter. Referenced by Clone(). |
|
Clone Constructor copies the specified gnFASSource.
Definition at line 28 of file gnFASSource.cpp. References m_contigList. |
|
Destructor, frees memory.
Definition at line 36 of file gnFASSource.cpp. References m_contigList, and gnFileSource::m_ifstream. |
|
Returns an exact copy of this class.
Implements gnFileSource. Definition at line 113 of file gnFASSource.h. References gnFASSource(). |
|
Closes the file or connection this source is reading from.
Implements gnBaseSource. Definition at line 56 of file gnFileSource.cpp. References IOStreamFailed(), gnFileSource::m_ifstream, and Throw_gnEx. |
|
Definition at line 74 of file gnFileSource.cpp. References gnNewlineMac, gnNewlineUnix, gnNewlineWindows, gnFileSource::m_ifstream, gnFileSource::m_newlineSize, and gnFileSource::m_newlineType. Referenced by gnGBKSource::ParseStream(), and ParseStream(). |
|
Definition at line 84 of file gnFASSource.cpp. References m_contigList. |
|
Get a contig index by name. If the source does not contain a contig by the specified name GetContigID returns UINT32_MAX.
Implements gnBaseSource. Definition at line 56 of file gnFASSource.cpp. References m_contigList, and uint32. |
|
Get the number of sequence contigs in this source.
Implements gnBaseSource. Definition at line 119 of file gnFASSource.h. References m_contigList, and uint32. |
|
Get the name of the specified contig. Returns an empty string if the specified contig is out of range.
Implements gnBaseSource. Definition at line 65 of file gnFASSource.cpp. References m_contigList. |
|
Get the total number of base pairs in the specified contig.
Implements gnBaseSource. Definition at line 72 of file gnFASSource.cpp. References gnSeqI, GNSEQI_ERROR, m_contigList, and uint32. |
|
Returns a pointer to the file contig corresponding to contigI or null if none exists.
Implements gnFileSource. Definition at line 382 of file gnFASSource.cpp. References m_contigList. |
|
Get the filter currently being used to filter unwanted characters out of read sequences.
Implements gnBaseSource. Definition at line 68 of file gnFileSource.h. References gnFileSource::m_pFilter. |
|
Get the location of the source that is being used.
Implements gnBaseSource. Definition at line 62 of file gnFileSource.h. References gnFileSource::m_openString. |
|
Get the annotated sequence data as a gnGenomeSpec. GetSpec returns a gnGenomeSpec which contains the sequence, header, and feature data contained by this source.
Implements gnBaseSource. Definition at line 358 of file gnFASSource.cpp. References gnMultiSpec::AddHeader(), gnFragmentSpec::AddSpec(), gnGenomeSpec::AddSpec(), m_contigList, gnBaseSpec::SetName(), gnContigSpec::SetSourceName(), gnMultiSpec::SetSourceName(), and uint32. |
|
Looks for a contig by name. Returns true if it finds the contig, otherwise false.
Implements gnBaseSource. Definition at line 47 of file gnFASSource.cpp. References m_contigList, and uint32. |
|
Opens this source for reading.
Implements gnBaseSource. Definition at line 48 of file gnFileSource.cpp. References FileNotOpened(), gnFileSource::m_ifstream, gnFileSource::m_openString, and Throw_gnEx. |
|
Opens the source given in "openString" for reading.
Implements gnBaseSource. Definition at line 29 of file gnFileSource.cpp. References FileNotOpened(), gnFileSource::m_ifstream, gnFileSource::m_openString, gnFileSource::ParseStream(), and Throw_gnEx. |
|
|
Gets raw input from this source. Read will attempt to read "bufLen" bytes starting at "pos" directly from the source. It stores the data in "buf", and returns the actual number of bytes read in bufLen. Read will return false if a serious error occurs.
Implements gnBaseSource. Definition at line 63 of file gnFileSource.cpp. References gnFileSource::m_ifstream. Referenced by gnRAWSource::SeqRead(). |
|
Gets sequence data from this source. SeqRead will attempt to read "bufLen" base pairs starting at "start", an offset into the sequence. Reading inside a specific contig can be accomplished by supplying the "contigI" parameter with a valid contig index. SeqRead stores the sequence data in "buf" and returns the actual number of bases read in "bufLen". SeqRead will return false if a serious error occurs.
Implements gnBaseSource. Definition at line 92 of file gnFASSource.cpp. References Array< T >::data, gnSeqC, gnSeqI, gnFilter::IsValid(), m_contigList, gnFileSource::m_ifstream, gnFileSource::m_pFilter, SeqSeek(), uint32, and uint64. |
|
Definition at line 178 of file gnFASSource.cpp. References gnSeqI, m_contigList, SeqStartPos(), and uint64. Referenced by SeqRead(). |
|
Definition at line 206 of file gnFASSource.cpp. References Array< T >::data, ErrorMsg(), gnFileContig::GetRepeatSeqGapSize(), gnFileContig::GetSectStartEnd(), gnFileContig::HasRepeatSeqGap(), gnFilter::IsValid(), gnFileSource::m_ifstream, gnFileSource::m_pFilter, and uint32. Referenced by SeqSeek(). |
|
Set the filter that will be used to filter unwanted characters out of the sequence data.
Implements gnBaseSource. Definition at line 74 of file gnFileSource.h. References gnFileSource::m_pFilter, NullPointer(), and Throw_gnEx. |
|
Deprecated - do not use. Write the given source to a FastA file.
Definition at line 259 of file gnFASSource.cpp. References Array< T >::data, gnBaseSource::GetContigListLength(), gnBaseSource::GetContigName(), gnBaseSource::GetContigSeqLength(), gnSeqC, gnSeqI, gnBaseSource::SeqRead(), and uint32. |
|
Write the given gnSequence to an ostream.
Definition at line 293 of file gnFASSource.cpp. References gnSequence::contigLength(), gnSequence::contigListLength(), gnSequence::contigName(), Array< T >::data, FAS_LINE_WIDTH, gnBaseHeader::GetHeader(), gnMultiSpec::GetHeader(), gnGenomeSpec::GetSpec(), gnSequence::GetSpec(), gnSeqC, gnSeqI, gnSequence::ToArray(), uint32, and uintToString(). |
|
Write the given gnSequence to a FastA file.
Definition at line 285 of file gnFASSource.cpp. References FileNotOpened(), and Throw_gnEx. |
|
Definition at line 109 of file gnFASSource.h. Referenced by GetContig(), GetContigID(), GetContigListLength(), GetContigName(), GetContigSeqLength(), GetFileContig(), GetSpec(), gnFASSource(), HasContig(), ParseStream(), SeqRead(), SeqSeek(), and ~gnFASSource(). |
|
|
Definition at line 56 of file gnFileSource.h. Referenced by gnFileSource::DetermineNewlineType(), gnFileSource::gnFileSource(), gnGBKSource::ParseStream(), ParseStream(), and gnGBKSource::SeqStartPos(). |
|
Definition at line 55 of file gnFileSource.h. Referenced by gnFileSource::DetermineNewlineType(), and gnFileSource::gnFileSource(). |
|
Definition at line 52 of file gnFileSource.h. Referenced by gnFileSource::GetOpenString(), gnABISource::gnABISource(), gnFASSource(), gnFileSource::gnFileSource(), gnGBKSource::gnGBKSource(), gnRAWSource::gnRAWSource(), gnSEQSource::gnSEQSource(), and gnFileSource::Open(). |
|