gnGBKSource Class Reference

gnGBKSource is a GenBank sequence file reader. More...

#include <gnGBKSource.h>

Inheritance diagram for gnGBKSource:

Inheritance graph
[legend]
Collaboration diagram for gnGBKSource:

Collaboration graph
[legend]
List of all members.

Public Member Functions

gnGBKSourceClone () const
 Returns an exact copy of this class.
uint32 GetContigID (const string &name) const
 Get a contig index by name.
uint32 GetContigListLength () const
 Get the number of sequence contigs in this source.
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.
gnFileContigGetFileContig (const uint32 contigI) const
 Returns a pointer to the file contig corresponding to contigI or null if none exists.
gnGenomeSpecGetSpec () const
 Get the annotated sequence data as a gnGenomeSpec.
 gnGBKSource (const gnGBKSource &s)
 Clone Constructor copies the specified gnGBKSource.
 gnGBKSource ()
 Empty Constructor, does nothing.
boolean HasContig (const string &name) const
 Looks for a contig by name.
boolean SeqRead (const gnSeqI start, char *buf, gnSeqI &bufLen, const uint32 contigI=ALL_CONTIGS)
 Gets sequence data from this source.
 ~gnGBKSource ()
 Destructor, frees memory.

Static Public Member Functions

boolean Write (gnBaseSource *source, const string &filename)
 Writes the specified source to a .GBK file named "filename".
boolean Write (gnSequence &seq, const string &filename)
 Writes the specified gnSequence to a .GBK file named "filename".

Private Member Functions

boolean ParseStream (istream &fin)
boolean SeqSeek (const gnSeqI start, const uint32 &contigI, uint64 &startPos, uint64 &readableBytes)
boolean SeqStartPos (const gnSeqI start, gnFileContig &contig, uint64 &startPos, uint64 &readableBytes)

Static Private Member Functions

string & Filler (uint32 length)
void FormatString (string &data, uint32 offset, uint32 width)

Private Attributes

vector< gnFileContig * > m_contigList
gnGenomeSpecm_spec

Detailed Description

gnGBKSource is a GenBank sequence file reader.

This class reads and writes the GenBank file format. gnGBKSource is used by gnSourceFactory to read files and should only be used directly when writing out files in GBK file format by calling gnGBKSource::Write( mySpec, "C:\\mySeqFile.gbk");

Definition at line 50 of file gnGBKSource.h.


Constructor & Destructor Documentation

gnGBKSource::gnGBKSource  ) 
 

Empty Constructor, does nothing.

Definition at line 24 of file gnGBKSource.cpp.

References DebugMsg(), and gnFilter::proteinSeqFilter().

Referenced by Clone().

gnGBKSource::gnGBKSource const gnGBKSource s  ) 
 

Clone Constructor copies the specified gnGBKSource.

Parameters:
s The gnGBKSource to copy.
Definition at line 32 of file gnGBKSource.cpp.

References m_contigList.

gnGBKSource::~gnGBKSource  ) 
 

Destructor, frees memory.

Definition at line 40 of file gnGBKSource.cpp.

References m_contigList.


Member Function Documentation

gnGBKSource * gnGBKSource::Clone  )  const [inline, virtual]
 

Returns an exact copy of this class.

Implements gnFileSource.

Definition at line 113 of file gnGBKSource.h.

References gnGBKSource().

string& gnGBKSource::Filler uint32  length  )  [static, private]
 

void gnGBKSource::FormatString string &  data,
uint32  offset,
uint32  width
[static, private]
 

Definition at line 255 of file gnGBKSource.cpp.

References uint32.

uint32 gnGBKSource::GetContigID const string &  name  )  const [virtual]
 

Get a contig index by name.

If the source does not contain a contig by the specified name GetContigID returns UINT32_MAX.

Parameters:
name The name of the contig to look for.
Returns:
The index of the named contig or UINT32_MAX.

Implements gnBaseSource.

Definition at line 60 of file gnGBKSource.cpp.

References m_contigList, and uint32.

uint32 gnGBKSource::GetContigListLength  )  const [inline, virtual]
 

Get the number of sequence contigs in this source.

Returns:
The number of contigs in this source.

Implements gnBaseSource.

Definition at line 119 of file gnGBKSource.h.

References m_contigList, and uint32.

string gnGBKSource::GetContigName const uint32  i  )  const [virtual]
 

Get the name of the specified contig.

Returns an empty string if the specified contig is out of range.

Parameters:
i The index of the contig or ALL_CONTIGS.
Returns:
The name of the contig or an empty string.

Implements gnBaseSource.

Definition at line 69 of file gnGBKSource.cpp.

References m_contigList, and uint32.

gnSeqI gnGBKSource::GetContigSeqLength const uint32  i  )  const [virtual]
 

Get the total number of base pairs in the specified contig.

Parameters:
i The index of the contig or ALL_CONTIGS.
Returns:
The length in base pairs of the specified contig.

Implements gnBaseSource.

Definition at line 77 of file gnGBKSource.cpp.

References gnMultiSpec< SubSpec >::GetLength(), gnSeqI, GNSEQI_ERROR, m_contigList, m_spec, and uint32.

gnFileContig * gnGBKSource::GetFileContig const uint32  contigI  )  const [virtual]
 

Returns a pointer to the file contig corresponding to contigI or null if none exists.

Implements gnFileSource.

Definition at line 557 of file gnGBKSource.cpp.

References m_contigList, and uint32.

gnGenomeSpec * gnGBKSource::GetSpec  )  const [inline, virtual]
 

Get the annotated sequence data as a gnGenomeSpec.

GetSpec returns a gnGenomeSpec which contains the sequence, header, and feature data contained by this source.

Returns:
The annotated sequence data.

Implements gnBaseSource.

Definition at line 129 of file gnGBKSource.h.

References gnGenomeSpec::Clone(), and m_spec.

boolean gnGBKSource::HasContig const string &  name  )  const [virtual]
 

Looks for a contig by name.

Returns true if it finds the contig, otherwise false.

Parameters:
name The name of the contig to look for.
Returns:
True if the named contig exists, false otherwise.

Implements gnBaseSource.

Definition at line 51 of file gnGBKSource.cpp.

References m_contigList, and uint32.

boolean gnGBKSource::ParseStream istream &  fin  )  [private, virtual]
 

Implements gnFileSource.

Definition at line 564 of file gnGBKSource.cpp.

References gnFragmentSpec::AddFeature(), gnMultiSpec< SubSpec >::AddHeader(), gnBaseFeature::AddLocation(), gnBaseFeature::AddQualifier(), gnMultiSpec< SubSpec >::AddSpec(), gnFileSource::DetermineNewlineType(), ErrorMsg(), gnFragmentSpec::GetFeatureListLength(), gnMultiSpec< SubSpec >::GetHeaderListLength(), gnContigSpec::GetLength(), gnBaseFeature::GetLocationListLength(), gnMultiSpec< SubSpec >::GetSpecListLength(), gnContigSequence, gnSeqI, int32, gnFilter::IsValid(), m_contigList, m_spec, gnMultiSpec< SubSpec >::RemoveSpec(), SEQ_HEADER_NAME_LENGTH, SEQ_LOCUS_CIRCULAR_COLUMN, SEQ_LOCUS_NAME_COLUMN, SEQ_LOCUS_NAME_LENGTH, SEQ_SUBTAG_COLUMN, gnBaseSpec::SetCircular(), gnContigSpec::SetLength(), gnBaseFeature::SetLocationType(), gnBaseSpec::SetName(), gnFileContig::SetName(), gnFileContig::SetRepeatSeqGap(), gnFileContig::SetSectEnd(), gnFileContig::SetSectStart(), gnFileContig::SetSeqLength(), gnContigSpec::SetSourceName(), uint32, and uint64.

boolean gnGBKSource::SeqRead const gnSeqI  start,
char *  buf,
gnSeqI bufLen,
const uint32  contigI = ALL_CONTIGS
[virtual]
 

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.

Parameters:
start The base pair to start reading at.
buf The character array to store base pairs into.
bufLen The number of base pairs to read.
contigI The index of the contig to read or ALL_CONTIGS by default.
Returns:
True if the operation was successful.

Implements gnBaseSource.

Definition at line 88 of file gnGBKSource.cpp.

References gnSeqC, gnSeqI, gnFilter::IsValid(), m_contigList, SeqSeek(), uint32, and uint64.

boolean gnGBKSource::SeqSeek const gnSeqI  start,
const uint32 contigI,
uint64 startPos,
uint64 readableBytes
[private]
 

Definition at line 171 of file gnGBKSource.cpp.

References gnSeqI, m_contigList, SeqStartPos(), uint32, and uint64.

Referenced by SeqRead().

boolean gnGBKSource::SeqStartPos const gnSeqI  start,
gnFileContig contig,
uint64 startPos,
uint64 readableBytes
[private]
 

Definition at line 198 of file gnGBKSource.cpp.

References ErrorMsg(), gnFileContig::GetSectStartEnd(), gnContigSequence, gnSeqI, gnFileContig::HasRepeatSeqGap(), gnFilter::IsValid(), uint32, and uint64.

Referenced by SeqSeek().

boolean gnGBKSource::Write gnBaseSource source,
const string &  filename
[inline, static]
 

Writes the specified source to a .GBK file named "filename".

Parameters:
source The source to write out.
filename The name of the file to write.
Returns:
True if successful, false otherwise.
Definition at line 124 of file gnGBKSource.h.

References gnBaseSource::GetSpec(), and Write().

boolean gnGBKSource::Write gnSequence seq,
const string &  filename
[static]
 

Writes the specified gnSequence to a .GBK file named "filename".

Parameters:
seq The gnSequence to write out.
filename The name of the file to write.
Returns:
True if successful, false otherwise.
Definition at line 309 of file gnGBKSource.cpp.

References BaseCount(), gnSequence::contigLength(), gnSequence::contigStart(), gnLocation::GetEnd(), gnFragmentSpec::GetFeature(), gnFragmentSpec::GetFeatureListLength(), gnBaseHeader::GetHeader(), gnMultiSpec< SubSpec >::GetHeader(), gnMultiSpec< SubSpec >::GetHeaderListLength(), gnBaseHeader::GetHeaderName(), gnMultiSpec< SubSpec >::GetLength(), gnBaseFeature::GetLocation(), gnBaseFeature::GetLocationListLength(), gnBaseFeature::GetLocationType(), gnBaseQualifier::GetName(), gnBaseFeature::GetName(), gnBaseSpec::GetName(), gnBaseFeature::GetQualifier(), gnBaseFeature::GetQualifierListLength(), gnMultiSpec< SubSpec >::GetSpec(), gnSequence::GetSpec(), gnMultiSpec< SubSpec >::GetSpecListLength(), gnLocation::GetStart(), gnLocation::GetType(), gnBaseQualifier::GetValue(), gnSeqC, gnSeqI, int64, gnBaseSpec::IsCircular(), gnLocation::IsEndBoundLonger(), gnLocation::IsEndBoundShorter(), gnLocation::IsStartBoundLonger(), gnLocation::IsStartBoundShorter(), SEQ_BASES_INDEX_END, SEQ_COLUMN_WIDTH, SEQ_FEATURE_LOC_OFFSET, SEQ_LOCUS_DATE_LENGTH, SEQ_LOCUS_DATE_OFFSET, SEQ_LOCUS_DIVCODE_LENGTH, SEQ_LOCUS_DIVCODE_OFFSET, SEQ_LOCUS_DNATYPE_LENGTH, SEQ_LOCUS_DNATYPE_OFFSET, SEQ_LOCUS_NAME_LENGTH, SEQ_LOCUS_SIZE_LENGTH, SEQ_SUBTAG_COLUMN, gnSequence::ToArray(), uint32, uintToString(), and WriteHeader().

Referenced by main(), gnDNXSource::Write(), and Write().


Member Data Documentation

vector< gnFileContig* > gnGBKSource::m_contigList [private]
 

Definition at line 105 of file gnGBKSource.h.

Referenced by GetContigID(), GetContigListLength(), GetContigName(), GetContigSeqLength(), GetFileContig(), gnGBKSource(), HasContig(), ParseStream(), SeqRead(), SeqSeek(), and ~gnGBKSource().

gnGenomeSpec* gnGBKSource::m_spec [private]
 

Definition at line 104 of file gnGBKSource.h.

Referenced by GetContigSeqLength(), GetSpec(), and ParseStream().


The documentation for this class was generated from the following files:
Generated on Mon Feb 14 19:29:53 2005 for libGenome by doxygen 1.3.8