Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

gnSequence Class Reference

gnSequence is the most commonly used class in libGenome. More...

#include <gnSequence.h>

Inheritance diagram for gnSequence:

gnClone gnDNASequence gnProteinSequence gnRNASequence List of all members.

Public Member Functions

 gnSequence ()
 Empty Constructor, creates an empty gnSequence.

 gnSequence (const gnSeqC *seq)
 Creates a gnSequence with a single fragment containing the bases in "seq".

 gnSequence (const string &str)
 Creates a gnSequence with a single fragment containing the bases in "str".

 gnSequence (const gnGenomeSpec &gngs)
 Creates a gnSequence with the genome stored in the gnGenomeSpec "gngs".

 gnSequence (const gnFragmentSpec &gnfs)
 Creates a gnSequence with the sequence fragment stored in the gnFragmentSpec "gnfs".

 gnSequence (const gnContigSpec &gncs)
 Creates a gnSequence with the contig stored in the gnContigSpec "gncs".

 gnSequence (gnSeqC *bases, const gnSeqI length)
 Creates a gnSequence with a single fragment containing the bases in "bases".

 gnSequence (const gnSequence &seq)
 Copies the gnSequence "seq".

 ~gnSequence ()
 Destructor, frees the memory used by this sequence.

gnSequence & operator= (const gnSequence &seq)
 Copies the gnSequence.

gnSequence * Clone () const
gnSeqI contigListSize () const
 Returns the number of sequence fragments in this sequence.

gnSeqI contigListLength () const
 Returns the number of sequence fragments in this sequence.

uint32 contigIndexByBase (const gnSeqI baseI) const
 Returns the index of the contig which contains the specified base.

gnSequence contig (const uint32 contigI) const
 Returns a gnSequence containing the specified fragment.

gnSequence contigByBase (const gnSeqI baseI) const
 Returns a gnSequence containing only the fragment which contains the specified base.

virtual gnSeqI contigStart (const uint32 contigI) const
 Returns the index of the base pair where the specified contig starts in this sequence.

virtual gnSeqI contigLength (const uint32 contigI) const
 Returns the length in base pairs of the specified contig in this sequence.

virtual uint32 contigIndexByName (string &contigName) const
 Returns the index of the contig with the given name.

virtual string contigName (const uint32 contigI) const
 Returns the name of the specified contig.

virtual gnSequence contigByName (string &contigName) const
 Returns a gnSequence containing only the named contig.

virtual void merge (const gnSeqI startI, const gnSeqI endI)
 Merges the bases starting at base index "startI" and ending at "endI" into one contig, splitting existing contigs.

virtual void mergeContigs (const uint32 startC, const uint32 endC)
 Merges the contigs starting at the contig index "startC" and ending at "endC" into one contig.

virtual void splitContig (const gnSeqI splitI, const uint32 contigI=ALL_CONTIGS)
 Splits the specified contig after splitI.

virtual void setContigName (const uint32 contigI, const string &contig_name)
virtual uint32 getFeatureListLength () const
 Returns the size of the feature list for the specified contig.

virtual gnBaseFeaturegetFeature (const uint32 featureI) const
 Returns the feature specified by featureI.

virtual void getContainedFeatures (const gnLocation &lt, vector< gnBaseFeature * > &feature_vector, vector< uint32 > &index_vector) const
 Creates a list of all features which are contained by coordinates specified.

virtual void getIntersectingFeatures (const gnLocation &lt, vector< gnBaseFeature * > &feature_vector, vector< uint32 > &index_vector) const
 Creates a list of all features which intersect the coordinates specified.

virtual uint32 addFeature (gnBaseFeature *feature)
 Adds the specified feature to the feature list.

virtual void removeFeature (const uint32 featureI)
 Removes the specified feature.

virtual void getBrokenFeatures (const gnLocation &lt, vector< gnBaseFeature * > &feature_vector) const
 Creates a list of features which may have been broken by an edit.

virtual uint32 getHeaderListLength (const uint32 contigI) const
 Returns the size of the header list for the specified contig.

virtual gnBaseHeadergetHeader (const uint32 contigI, const uint32 headerI) const
 Returns the feature specified by featureI.

virtual void addHeader (const uint32 contigI, gnBaseHeader *header, const uint32 headerI)
 Adds header information to a specified contig.

virtual void removeHeader (const uint32 contigI, const uint32 headerI)
 Removes header information from a specified contig.

virtual void setReverseComplement (const boolean revComp, const uint32 contigI=ALL_CONTIGS)
 Reverse complements a specified contig, or the entire sequence if ALL_CONTIGS is specified.

virtual boolean isReverseComplement (const uint32 contigI=ALL_CONTIGS)
 Returns true if a specified contig, or the entire sequence is reverse complement.

virtual boolean isCircular () const
 Returns true if this sequence is circular.

virtual void setCircular (const boolean value)
 Sets whether this sequence should be read circular.

virtual void globalToLocal (uint32 &contigI, gnSeqI &baseI) const
 Converts the global sequence coordinate baseI to a contig local coordinate.

virtual void localToGlobal (const uint32 contigI, gnSeqI &baseI) const
 Converts the local contig coordinate baseI to a global sequence coordinate.

virtual void globalToSource (uint32 &contigI, gnSeqI &baseI) const
 Converts the global sequence coordinate baseI to a local coordinate in the original data source.

virtual void localToSource (uint32 &contigI, gnSeqI &baseI) const
 Converts the contig local sequence coordinate baseI in contig contigI to a local coordinate in the original data source.

virtual bool LoadSource (const string sourcename)
 Loads the sequence located at the URL in "sourcename".

virtual void setFilter (const gnBaseFilter *filt)
 Assigns a filter which all sequence data must pass through when read from the object.

virtual void setFilterList (list< const gnBaseFilter * > &filt_list)
 Assigns a list of filters which all sequence data passes through in order when read from the object.

virtual list< const gnBaseFilter * > getFilterList () const
 Returns the list of filters currently being used.

virtual void assign (gnSequence &seq)
 Assigns the sequence "seq" to this sequence.

void operator= (gnSequence &seq)
 Assigns the sequence "seq" to this sequence.

boolean operator== (const gnSequence &seq) const
boolean operator!= (const gnSequence &seq) const
boolean operator< (const gnSequence &seq) const
boolean operator<= (const gnSequence &seq) const
boolean operator> (const gnSequence &seq) const
boolean operator>= (const gnSequence &seq) const
gnSequence & operator+= (const gnSequence &seq)
 Appends the bases in "seq" to this sequence.

virtual int compare (const gnSequence &seq) const
 Compares the bases in "seq" to this sequence.

virtual int compare (const string &str) const
virtual void append (const gnSequence &seq)
 Appends the bases in "seq" to this sequence.

virtual void insert (const gnSeqI offset, const gnSeqC *bases, const gnSeqI length)
 Inserts the first "len" bases in "bases" into this sequence.at "offset".

virtual void insert (const gnSeqI offset, const gnSequence &seq)
 Inserts the annotated sequence in "seq" into this sequence.at "offset".

virtual void insert (const gnSeqI offset, const gnGenomeSpec &gnbs)
 Inserts the annotated sequence in "gnbs" into this sequence.at "offset".

gnSequence const operator+ (const gnSequence &seq) const
 Concatenates this sequence with the annotated sequence in "seq".

gnSequence subseq (const gnSeqI offset, const gnSeqI length) const
 Creates a sequence containing the "length" bases starting at "offset".

virtual void erase (const gnSeqI offset=0, const gnSeqI length=GNSEQI_END)
 Deletes the "len" bases starting at "offset".

virtual gnSeqI length () const
 Returns the length of this sequence.

virtual gnSeqI size () const
 Returns the length of this sequence.

virtual string ToString (const gnSeqI length=GNSEQI_END, const gnSeqI offset=1) const
 Returns the "length" bases starting at "offset" as a string.

virtual boolean ToString (string &str, const gnSeqI length=GNSEQI_END, const gnSeqI offset=1) const
 Converts the "length" bases starting at "offset" into the string "str".

virtual boolean ToArray (gnSeqC *pSeqC, gnSeqI length, const gnSeqI offset=1) const
 Converts the "length" bases starting at "offset" into the character array "pSeqC"..

virtual gnSeqC GetSeqC (const gnSeqI offset) const
 Returns the base at "offset".

gnSeqC operator[] (const gnSeqI offset) const
 Returns the base at the specified index.

virtual gnGenomeSpecGetSpec () const
 Get the spec (annotated sequence) which this sequence represents.

virtual void SetSpec (gnGenomeSpec *s)
 Set the spec (annotated sequence) which this sequence represents.

virtual gnSeqI find (const gnSequence &search, const gnSeqI offset=0) const
 Find looks for the search sequence within this gnSequence and returns the position of the first match if any exists.


Private Attributes

gnGenomeSpecspec
list< const gnBaseFilter * > filter_list
const gnComparecomparator

Friends

std::istream & operator>> (std::istream &is, gnSequence &gns)
 Reads bases from the specified input stream (e.g.

std::ostream & operator<< (std::ostream &os, const gnSequence &gns)
 Writes the bases in this sequence to the specified output stream (e.g.


Detailed Description

gnSequence is the most commonly used class in libGenome.

It provides a simple and general way to manipulate genetic sequences, regardless of what kind of database, web site, or file they are stored in. Sequence data can be manipulated like a c++ string by using subseq() and erase(). gnSequence updates annotated sequences with each change, breaking features if necessary.

Definition at line 35 of file gnSequence.h.


Constructor & Destructor Documentation

gnSequence::gnSequence  
 

Empty Constructor, creates an empty gnSequence.

Definition at line 22 of file gnSequence.cpp.

References comparator, gnCompare::DNASeqCompare(), and spec.

Referenced by Clone(), contig(), contigByBase(), contigByName(), and subseq().

gnSequence::gnSequence const gnSeqC   seq
 

Creates a gnSequence with a single fragment containing the bases in "seq".

Parameters:
seq The null terminated character array of base pairs to use.

Definition at line 27 of file gnSequence.cpp.

References gnFragmentSpec::AddSpec(), gnGenomeSpec::AddSpec(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence const string &    str
 

Creates a gnSequence with a single fragment containing the bases in "str".

Parameters:
str The base pairs to use.

Definition at line 36 of file gnSequence.cpp.

References gnFragmentSpec::AddSpec(), gnGenomeSpec::AddSpec(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence const gnGenomeSpec   gngs
 

Creates a gnSequence with the genome stored in the gnGenomeSpec "gngs".

Parameters:
gngs the gnGenomeSpec to get contigs from.

Definition at line 45 of file gnSequence.cpp.

References gnGenomeSpec::Clone(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence const gnFragmentSpec   gnfs
 

Creates a gnSequence with the sequence fragment stored in the gnFragmentSpec "gnfs".

Parameters:
gnfs the gnFragmentSpec to get contigs from.

Definition at line 49 of file gnSequence.cpp.

References gnGenomeSpec::AddSpec(), gnFragmentSpec::Clone(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence const gnContigSpec   gncs
 

Creates a gnSequence with the contig stored in the gnContigSpec "gncs".

Usually gncs will be a gnStringSpec or a gnSourceSpec.

Parameters:
gncs the gnContigSpec to get contigs from.

Definition at line 54 of file gnSequence.cpp.

References gnFragmentSpec::AddSpec(), gnContigSpec::Clone(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence gnSeqC   bases,
const gnSeqI    length
 

Creates a gnSequence with a single fragment containing the bases in "bases".

Parameters:
bases The base pairs to use
length The length of the base pair array.

Definition at line 60 of file gnSequence.cpp.

References gnFragmentSpec::AddSpec(), gnGenomeSpec::AddSpec(), comparator, gnCompare::DNASeqCompare(), and spec.

gnSequence::gnSequence const gnSequence &    seq
 

Copies the gnSequence "seq".

Parameters:
seq The gnSequence to copy.

Definition at line 69 of file gnSequence.cpp.

gnSequence::~gnSequence  
 

Destructor, frees the memory used by this sequence.

Definition at line 75 of file gnSequence.cpp.

References spec.


Member Function Documentation

uint32 gnSequence::addFeature gnBaseFeature   feature [inline, virtual]
 

Adds the specified feature to the feature list.

Parameters:
feature The feature to add.
Returns:
The feature index.

Definition at line 566 of file gnSequence.h.

References gnGenomeSpec::AddFeature(), spec, and uint32.

void gnSequence::addHeader const uint32    contigI,
gnBaseHeader   header,
const uint32    headerI
[virtual]
 

Adds header information to a specified contig.

Parameters:
contigI The index of the contig to use, or ALL_CONTIGS to add a general header.
header The header to add.
headerI The index in the header list where this header should be inserted.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid

Definition at line 487 of file gnSequence.cpp.

References gnMultiSpec::AddHeader(), gnGenomeSpec::GetSpec(), spec, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::append const gnSequence &    seq [inline, virtual]
 

Appends the bases in "seq" to this sequence.

Parameters:
seq The sequence to append to this sequence.

Definition at line 553 of file gnSequence.h.

References insert(), and spec.

Referenced by main(), and operator>>().

void gnSequence::assign gnSequence &    seq [inline, virtual]
 

Assigns the sequence "seq" to this sequence.

Parameters:
seq The seqence to assign to this sequence.

Definition at line 519 of file gnSequence.h.

References gnGenomeSpec::Clone(), and spec.

gnSequence * gnSequence::Clone   const [virtual]
 

Implements gnClone.

Definition at line 89 of file gnSequence.cpp.

References gnSequence().

int gnSequence::compare const string &    str const [virtual]
 

Definition at line 94 of file gnSequence.cpp.

References comparator, gnSeqI, length(), gnCompare::LessThan(), STACK_TRACE_END, STACK_TRACE_START, and ToString().

int gnSequence::compare const gnSequence &    seq const [virtual]
 

Compares the bases in "seq" to this sequence.

Parameters:
seq The sequence to compare this sequence to.
Returns:
Negative if this sequence is lesser, 0 if the two sequences are equal, and positive if this sequence is greater.

Definition at line 120 of file gnSequence.cpp.

References comparator, gnSeqI, length(), gnCompare::LessThan(), STACK_TRACE_END, STACK_TRACE_START, and ToString().

Referenced by operator!=(), operator<(), operator<=(), operator==(), operator>(), and operator>=().

gnSequence gnSequence::contig const uint32    contigI const
 

Returns a gnSequence containing the specified fragment.

Parameters:
contigI The index of the fragment to get.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
A gnSequence containing only the fragment.

Definition at line 345 of file gnSequence.cpp.

References gnGenomeSpec::GetSpec(), gnSequence(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by isReverseComplement(), and setReverseComplement().

gnSequence gnSequence::contigByBase const gnSeqI    baseI const
 

Returns a gnSequence containing only the fragment which contains the specified base.

Parameters:
baseI A base pair index in the contig
Exceptions:
SeqIndexOutOfBounds will be propagated if baseI is invalid
Returns:
A gnSequence containing only the contig.

Definition at line 353 of file gnSequence.cpp.

References gnGenomeSpec::GetSpecByBase(), gnSequence(), spec, STACK_TRACE_END, and STACK_TRACE_START.

gnSequence gnSequence::contigByName string &    contigName const [virtual]
 

Returns a gnSequence containing only the named contig.

If two contigs have the same name, contigByName() will return the first.

Parameters:
contigName The name of the contig.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigName is not found
Returns:
A gnSequence containing the contig.

Definition at line 431 of file gnSequence.cpp.

References gnGenomeSpec::GetSpec(), gnMultiSpec::GetSpecIndexByName(), gnSequence(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

uint32 gnSequence::contigIndexByBase const gnSeqI    baseI const
 

Returns the index of the contig which contains the specified base.

Parameters:
baseI A base pair in the contig.
Exceptions:
SeqIndexOutOfBounds will be propagated if baseI is invalid
Returns:
The contig index which contains the base.

Definition at line 340 of file gnSequence.cpp.

References gnMultiSpec::GetSpecIndexByBase(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

Referenced by globalToLocal().

uint32 gnSequence::contigIndexByName string &    contigName const [virtual]
 

Returns the index of the contig with the given name.

If two contigs have the same name, contigIndexByName() will return the first.

Parameters:
contigName The name of the contig.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigName is not found
Returns:
The index of the contig.

Definition at line 358 of file gnSequence.cpp.

References gnMultiSpec::GetSpecIndexByName(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

gnSeqI gnSequence::contigLength const uint32    contigI const [virtual]
 

Returns the length in base pairs of the specified contig in this sequence.

Parameters:
contigI The index of the contig.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
The length of the contig.

Definition at line 372 of file gnSequence.cpp.

References gnMultiSpec::GetLength(), gnGenomeSpec::GetSpec(), gnSeqI, spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by localToGlobal(), gnGBKSource::Write(), and gnFASSource::Write().

gnSeqI gnSequence::contigListLength   const
 

Returns the number of sequence fragments in this sequence.

Returns:
the number of sequence fragments in this sequence.

Definition at line 333 of file gnSequence.cpp.

References gnGenomeSpec::GetSpecListLength(), gnSeqI, spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by gnFASSource::Write().

gnSeqI gnSequence::contigListSize   const
 

Returns the number of sequence fragments in this sequence.

Returns:
the number of sequence fragments in this sequence.

Definition at line 328 of file gnSequence.cpp.

References gnGenomeSpec::GetSpecListLength(), gnSeqI, spec, STACK_TRACE_END, and STACK_TRACE_START.

string gnSequence::contigName const uint32    contigI const [virtual]
 

Returns the name of the specified contig.

Parameters:
contigI The index of the contig.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
The name of the contig.

Definition at line 378 of file gnSequence.cpp.

References gnBaseSpec::GetName(), gnGenomeSpec::GetSpec(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by gnFASSource::Write().

gnSeqI gnSequence::contigStart const uint32    contigI const [virtual]
 

Returns the index of the base pair where the specified contig starts in this sequence.

Parameters:
contigI The index of the contig.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
The starting base pair index.

Definition at line 364 of file gnSequence.cpp.

References gnMultiSpec::GetSpecStartBase(), gnSeqI, int64, spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by globalToLocal(), localToGlobal(), and gnGBKSource::Write().

void gnSequence::erase const gnSeqI    offset = 0,
const gnSeqI    length = GNSEQI_END
[virtual]
 

Deletes the "len" bases starting at "offset".

Parameters:
offset The base pair index to start erasing.
length The length of the sequence to erase

Definition at line 200 of file gnSequence.cpp.

References gnGenomeSpec::CloneRange(), gnMultiSpec::CropEnd(), gnMultiSpec::GetLength(), gnSeqI, insert(), length(), SeqIndexOutOfBounds(), spec, STACK_TRACE_END, STACK_TRACE_START, Throw_gnEx, and uint32.

gnSeqI gnSequence::find const gnSequence &    search,
const gnSeqI    offset = 0
const [virtual]
 

Find looks for the search sequence within this gnSequence and returns the position of the first match if any exists.

Parameters:
search The gnSequence to be found
offset The position where searching will begin (default is 0)
Returns:
The first position where the search string is found or GNSEQI_ERROR if the search sequence is not found.

Definition at line 532 of file gnSequence.cpp.

References gnSeqI, GNSEQI_ERROR, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::getBrokenFeatures const gnLocation   lt,
vector< gnBaseFeature * > &    feature_vector
const [inline, virtual]
 

Creates a list of features which may have been broken by an edit.

Parameters:
lt The coordinates containing the features to return.
feature_vector The vector to store features in. Each feature pointer points to a copy of the feature on the heap which must be deleted.

Definition at line 582 of file gnSequence.h.

References gnGenomeSpec::GetBrokenFeatures(), and spec.

void gnSequence::getContainedFeatures const gnLocation   lt,
vector< gnBaseFeature * > &    feature_vector,
vector< uint32 > &    index_vector
const [inline, virtual]
 

Creates a list of all features which are contained by coordinates specified.

Parameters:
lt The coordinates containing the features to return.
feature_vector The vector to store features in. Each feature pointer points to a copy of the feature on the heap which must be deleted.
index_vector A vector of indices which correspond to the features.

Definition at line 574 of file gnSequence.h.

References gnGenomeSpec::GetContainedFeatures(), and spec.

gnBaseFeature * gnSequence::getFeature const uint32    featureI const [inline, virtual]
 

Returns the feature specified by featureI.

Parameters:
featureI The index of the feature to return.
Exceptions:
FeatureIndexOutOfBounds exception is thrown if featureI does not reference a valid feature
Returns:
A copy of the feature allocated on the heap. You must delete the feature when finished with it.

Definition at line 562 of file gnSequence.h.

References gnGenomeSpec::GetFeature(), and spec.

uint32 gnSequence::getFeatureListLength   const [inline, virtual]
 

Returns the size of the feature list for the specified contig.

Returns:
The feature list size.

Definition at line 558 of file gnSequence.h.

References gnGenomeSpec::GetFeatureListLength(), spec, and uint32.

list< const gnBaseFilter * > gnSequence::getFilterList   const [inline, virtual]
 

Returns the list of filters currently being used.

Returns:
The list of filters in use.

Definition at line 631 of file gnSequence.h.

References filter_list.

gnBaseHeader * gnSequence::getHeader const uint32    contigI,
const uint32    headerI
const [virtual]
 

Returns the feature specified by featureI.

Parameters:
contigI The index of the contig to use, or ALL_CONTIGS to get a general header.
headerI The index of the header to return.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
HeaderIndexOutOfBounds will be propagated if headerI is invalid
Returns:
The header, or NULL if headerI is out of range.

Definition at line 477 of file gnSequence.cpp.

References gnMultiSpec::GetHeader(), gnGenomeSpec::GetSpec(), spec, STACK_TRACE_END, and STACK_TRACE_START.

uint32 gnSequence::getHeaderListLength const uint32    contigI const [virtual]
 

Returns the size of the header list for the specified contig.

Parameters:
contigI The index of the contig to use, or ALL_CONTIGS to add a general header.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
The header list size.

Definition at line 467 of file gnSequence.cpp.

References gnMultiSpec::GetHeaderListLength(), gnGenomeSpec::GetSpec(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

void gnSequence::getIntersectingFeatures const gnLocation   lt,
vector< gnBaseFeature * > &    feature_vector,
vector< uint32 > &    index_vector
const [inline, virtual]
 

Creates a list of all features which intersect the coordinates specified.

Parameters:
lt The coordinates intersecting the features to return.
feature_vector The vector to store features in. Each feature pointer points to a copy of the feature on the heap which must be deleted.
index_vector A vector of indices which correspond to the features.

Definition at line 578 of file gnSequence.h.

References gnGenomeSpec::GetIntersectingFeatures(), and spec.

gnSeqC gnSequence::GetSeqC const gnSeqI    offset const [virtual]
 

Returns the base at "offset".

Parameters:
offset The index of the base to get.
Returns:
The base.

Definition at line 302 of file gnSequence.cpp.

References filter_list, gnSeqC, GNSEQC_NULL, gnSeqI, gnMultiSpec::SeqRead(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by operator[]().

gnGenomeSpec * gnSequence::GetSpec   const [inline, virtual]
 

Get the spec (annotated sequence) which this sequence represents.

Returns:
The spec represented by this gnSequence.

Definition at line 610 of file gnSequence.h.

References spec.

Referenced by gnSEQSource::Write(), gnGBKSource::Write(), gnFASSource::Write(), and gnDNXSource::Write().

void gnSequence::globalToLocal uint32   contigI,
gnSeqI   baseI
const [virtual]
 

Converts the global sequence coordinate baseI to a contig local coordinate.

Parameters:
contigI This is set to the index of the contig containing baseI
baseI This is the global coordinate to be converted to contig local.
Exceptions:
SeqIndexOutOfBounds will be thrown if baseI is out of range

Definition at line 384 of file gnSequence.cpp.

References contigIndexByBase(), contigStart(), STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::globalToSource uint32   contigI,
gnSeqI   baseI
const [virtual]
 

Converts the global sequence coordinate baseI to a local coordinate in the original data source.

globalToSource() will overwrite any values passed to it!

Parameters:
contigI This will be set to contig index in the original source.
baseI This will be set to the contig local base index in the original source.
Exceptions:
SeqIndexOutOfBounds will be thrown if baseI is out of range

Definition at line 399 of file gnSequence.cpp.

References gnContigSpec::GetSourceContigIndex(), gnContigSpec::GetSourceLength(), gnFragmentSpec::GetSpec(), gnGenomeSpec::GetSpec(), gnMultiSpec::GetSpecIndexByBase(), gnMultiSpec::GetSpecStartBase(), gnContigSpec::GetStart(), gnSeqI, gnBaseSpec::IsReverseComplement(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by localToSource().

void gnSequence::insert const gnSeqI    offset,
const gnGenomeSpec   gnbs
[virtual]
 

Inserts the annotated sequence in "gnbs" into this sequence.at "offset".

insert() will update the locations of all affected features.

Parameters:
offset The base pair to insert before.
gnbs The spec to insert.

Definition at line 155 of file gnSequence.cpp.

References gnGenomeSpec::AddSpec(), gnGenomeSpec::Clone(), gnFragmentSpec::Clone(), gnMultiSpec::CropEnd(), gnMultiSpec::CropStart(), gnMultiSpec::GetLength(), gnGenomeSpec::GetSpec(), gnGenomeSpec::GetSpecListLength(), gnSeqI, GNSEQI_END, insert(), SeqIndexOutOfBounds(), spec, STACK_TRACE_END, STACK_TRACE_START, Throw_gnEx, and uint32.

void gnSequence::insert const gnSeqI    offset,
const gnSequence &    seq
[inline, virtual]
 

Inserts the annotated sequence in "seq" into this sequence.at "offset".

insert() will update the locations of all affected features.

Parameters:
offset The base pair to insert before.
seq The sequence to insert.

Definition at line 596 of file gnSequence.h.

References insert(), and spec.

void gnSequence::insert const gnSeqI    offset,
const gnSeqC   bases,
const gnSeqI    length
[virtual]
 

Inserts the first "len" bases in "bases" into this sequence.at "offset".

insert() will update the locations of all affected features.

Parameters:
offset The base pair to insert before.
bases The character array of bases to insert.
length The length of the character array.

Definition at line 146 of file gnSequence.cpp.

References STACK_TRACE_END, and STACK_TRACE_START.

Referenced by append(), erase(), insert(), operator+=(), and splitContig().

boolean gnSequence::isCircular   const [inline, virtual]
 

Returns true if this sequence is circular.

Returns:
True if this sequence is circular.

Definition at line 587 of file gnSequence.h.

References gnBaseSpec::IsCircular(), and spec.

boolean gnSequence::isReverseComplement const uint32    contigI = ALL_CONTIGS [virtual]
 

Returns true if a specified contig, or the entire sequence is reverse complement.

Parameters:
contigI The index of the contig to use, or ALL_CONTIGS for the whole sequence.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid
Returns:
True if the sequence is reverse complement, false otherwise.

Definition at line 458 of file gnSequence.cpp.

References contig(), gnGenomeSpec::GetSpec(), gnBaseSpec::IsReverseComplement(), spec, STACK_TRACE_END, and STACK_TRACE_START.

gnSeqI gnSequence::length   const [inline, virtual]
 

Returns the length of this sequence.

Returns:
the length of this sequence.

Definition at line 602 of file gnSequence.h.

References gnMultiSpec::GetLength(), gnSeqI, and spec.

Referenced by compare(), erase(), splitContig(), ToString(), and gnRAWSource::Write().

bool gnSequence::LoadSource const string    sourcename [virtual]
 

Loads the sequence located at the URL in "sourcename".

Possible URLs currently include only "file:///" URLs. If no URL prefix is found then LoadSource assumes that "sourcename" contains the name of a local file.

Parameters:
sourcename The location of the data to load.
Returns:
True if successful. False otherwise.

Definition at line 517 of file gnSequence.cpp.

References gnSourceFactory::GetSourceFactory(), gnBaseSource::GetSpec(), spec, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::localToGlobal const uint32    contigI,
gnSeqI   baseI
const [virtual]
 

Converts the local contig coordinate baseI to a global sequence coordinate.

Parameters:
contigI The index of the contig containing baseI.
baseI The local contig coordinate to be converted to global.
Exceptions:
SeqIndexOutOfBounds will be thrown if baseI is out of range
FragmentIndexOutOfBounds will be propagated if contigI is invalid

Definition at line 391 of file gnSequence.cpp.

References contigLength(), contigStart(), SeqIndexOutOfBounds(), STACK_TRACE_END, STACK_TRACE_START, and Throw_gnEx.

Referenced by localToSource(), and splitContig().

void gnSequence::localToSource uint32   contigI,
gnSeqI   baseI
const [virtual]
 

Converts the contig local sequence coordinate baseI in contig contigI to a local coordinate in the original data source.

localToSource() will overwrite any values passed to it!

Parameters:
contigI This will be set to contig index in the original source.
baseI This will be set to the contig local base index in the original source.
Exceptions:
SeqIndexOutOfBounds will be thrown if baseI is out of range
FragmentIndexOutOfBounds will be propagated if contigI is invalid

Definition at line 424 of file gnSequence.cpp.

References globalToSource(), localToGlobal(), STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::merge const gnSeqI    startI,
const gnSeqI    endI
[virtual]
 

Merges the bases starting at base index "startI" and ending at "endI" into one contig, splitting existing contigs.

Parameters:
startI The starting base pair of the new contig.
endI The ending base pair of the new contig.
Exceptions:
SeqIndexOutOfBounds exception is propagated if startI or endI are invalid

Definition at line 506 of file gnSequence.cpp.

References STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::mergeContigs const uint32    startC,
const uint32    endC
[virtual]
 

Merges the contigs starting at the contig index "startC" and ending at "endC" into one contig.

Parameters:
startC The starting contig of the new contig.
endC The ending contig of the new contig.
Exceptions:
FragmentIndexOutOfBounds exception is propagated if startC or endC are invalid

Definition at line 511 of file gnSequence.cpp.

References gnGenomeSpec::MergeFragments(), spec, STACK_TRACE_END, and STACK_TRACE_START.

boolean gnSequence::operator!= const gnSequence &    seq const [inline]
 

Definition at line 527 of file gnSequence.h.

References compare().

gnSequence const gnSequence::operator+ const gnSequence &    seq const
 

Concatenates this sequence with the annotated sequence in "seq".

Definition at line 179 of file gnSequence.cpp.

References STACK_TRACE_END, and STACK_TRACE_START.

gnSequence & gnSequence::operator+= const gnSequence &    seq [inline]
 

Appends the bases in "seq" to this sequence.

Definition at line 548 of file gnSequence.h.

References insert(), and spec.

boolean gnSequence::operator< const gnSequence &    seq const [inline]
 

Definition at line 531 of file gnSequence.h.

References compare().

boolean gnSequence::operator<= const gnSequence &    seq const [inline]
 

Definition at line 535 of file gnSequence.h.

References compare().

void gnSequence::operator= gnSequence &    seq [inline]
 

Assigns the sequence "seq" to this sequence.

Definition at line 515 of file gnSequence.h.

References gnGenomeSpec::Clone(), and spec.

gnSequence & gnSequence::operator= const gnSequence &    seq
 

Copies the gnSequence.

Definition at line 81 of file gnSequence.cpp.

References gnGenomeSpec::Clone(), comparator, filter_list, and spec.

boolean gnSequence::operator== const gnSequence &    seq const [inline]
 

Definition at line 523 of file gnSequence.h.

References compare().

boolean gnSequence::operator> const gnSequence &    seq const [inline]
 

Definition at line 539 of file gnSequence.h.

References compare().

boolean gnSequence::operator>= const gnSequence &    seq const [inline]
 

Definition at line 543 of file gnSequence.h.

References compare().

gnSeqC gnSequence::operator[] const gnSeqI    offset const
 

Returns the base at the specified index.

Returns:
The base at the specified index.

Definition at line 321 of file gnSequence.cpp.

References GetSeqC(), gnSeqC, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::removeFeature const uint32    featureI [inline, virtual]
 

Removes the specified feature.

Parameters:
featureI The index in the feature list of the feature to remove.
Exceptions:
FeatureIndexOutOfBounds exception is thrown if featureI does not reference a valid feature

Definition at line 570 of file gnSequence.h.

References gnGenomeSpec::RemoveFeature(), and spec.

void gnSequence::removeHeader const uint32    contigI,
const uint32    headerI
[virtual]
 

Removes header information from a specified contig.

Parameters:
contigI The index of the contig to use, or ALL_CONTIGS to remove a general header.
headerI The index in the header list of the header to remove.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid

Definition at line 497 of file gnSequence.cpp.

References gnGenomeSpec::GetSpec(), gnMultiSpec::RemoveHeader(), spec, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::setCircular const boolean    value [inline, virtual]
 

Sets whether this sequence should be read circular.

If circular is set, reads beyond the end of the sequence will pick up at the beginning.

Parameters:
value True for circular, false otherwise.

Definition at line 592 of file gnSequence.h.

References gnBaseSpec::SetCircular(), and spec.

void gnSequence::setContigName const uint32    contigI,
const string &    contig_name
[virtual]
 

Definition at line 438 of file gnSequence.cpp.

References gnGenomeSpec::GetSpec(), gnBaseSpec::SetName(), spec, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::setFilter const gnBaseFilter   filt [inline, virtual]
 

Assigns a filter which all sequence data must pass through when read from the object.

Parameters:
filt The filter to use.

Definition at line 621 of file gnSequence.h.

References filter_list.

void gnSequence::setFilterList list< const gnBaseFilter * > &    filt_list [inline, virtual]
 

Assigns a list of filters which all sequence data passes through in order when read from the object.

There may not be any NULL pointers in the list.

Parameters:
filt_list The ordered list of filters to use.

Definition at line 627 of file gnSequence.h.

References filter_list.

void gnSequence::setReverseComplement const boolean    revComp,
const uint32    contigI = ALL_CONTIGS
[virtual]
 

Reverse complements a specified contig, or the entire sequence if ALL_CONTIGS is specified.

Parameters:
revComp True if the area should be reverse complement, false otherwise.
contigI The index of the contig to use, or ALL_CONTIGS.
Exceptions:
FragmentIndexOutOfBounds will be propagated if contigI is invalid

Definition at line 447 of file gnSequence.cpp.

References contig(), gnGenomeSpec::GetSpec(), gnFragmentSpec::SetReverseComplement(), gnGenomeSpec::SetReverseComplement(), spec, STACK_TRACE_END, and STACK_TRACE_START.

void gnSequence::SetSpec gnGenomeSpec   s [inline, virtual]
 

Set the spec (annotated sequence) which this sequence represents.

Parameters:
s The new spec.

Definition at line 614 of file gnSequence.h.

References spec.

gnSeqI gnSequence::size   const [inline, virtual]
 

Returns the length of this sequence.

Returns:
the length of this sequence.

Definition at line 606 of file gnSequence.h.

References gnMultiSpec::GetLength(), gnSeqI, and spec.

void gnSequence::splitContig const gnSeqI    splitI,
const uint32    contigI = ALL_CONTIGS
[virtual]
 

Splits the specified contig after splitI.

Parameters:
splitI The base pair to split after.
contigI The index of the contig to split or ALL_CONTIGS by default.

Definition at line 219 of file gnSequence.cpp.

References gnGenomeSpec::Clone(), gnMultiSpec::CropEnd(), gnMultiSpec::CropStart(), gnSeqI, insert(), length(), localToGlobal(), SeqIndexOutOfBounds(), spec, STACK_TRACE_END, STACK_TRACE_START, and Throw_gnEx.

gnSequence gnSequence::subseq const gnSeqI    offset,
const gnSeqI    length
const
 

Creates a sequence containing the "length" bases starting at "offset".

Parameters:
offset The base pair index to start the subsequence.
length The length of the subsequence.
Returns:
The subsequence.

Definition at line 187 of file gnSequence.cpp.

References gnGenomeSpec::CloneRange(), gnSequence(), SeqIndexOutOfBounds(), spec, STACK_TRACE_END, STACK_TRACE_START, and Throw_gnEx.

boolean gnSequence::ToArray gnSeqC   pSeqC,
gnSeqI    length,
const gnSeqI    offset = 1
const [virtual]
 

Converts the "length" bases starting at "offset" into the character array "pSeqC"..

After converting, "length" will be set to the actual length of the sequence. Be sure to null terminate the character array if you are going to print it!

Parameters:
pSeqC The character array of bases to store bases in.
length The length, in base pairs, to convert.
offset The base pair index to start converting.
Returns:
True if successful, false otherwise.

Definition at line 279 of file gnSequence.cpp.

References filter_list, gnSeqC, gnSeqI, GNSEQI_END, gnMultiSpec::SeqRead(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by gnRAWSource::Write(), gnGBKSource::Write(), and gnFASSource::Write().

boolean gnSequence::ToString string &    str,
const gnSeqI    length = GNSEQI_END,
const gnSeqI    offset = 1
const [virtual]
 

Converts the "length" bases starting at "offset" into the string "str".

Parameters:
str The string to store bases in.
length The length, in base pairs, to convert.
offset The base pair index to start converting.
Returns:
True if successful, false otherwise.

Definition at line 257 of file gnSequence.cpp.

References Array< T >::data, filter_list, gnSeqI, length(), gnMultiSpec::SeqRead(), spec, STACK_TRACE_END, and STACK_TRACE_START.

string gnSequence::ToString const gnSeqI    length = GNSEQI_END,
const gnSeqI    offset = 1
const [virtual]
 

Returns the "length" bases starting at "offset" as a string.

Parameters:
length The length of the sequence to convert
offset The base pair index of the sequence to convert
Returns:
The string of base pairs.

Definition at line 249 of file gnSequence.cpp.

References STACK_TRACE_END, and STACK_TRACE_START.

Referenced by compare(), and operator<<().


Friends And Related Function Documentation

std::ostream& operator<< std::ostream &    os,
const gnSequence &    gns
[friend]
 

Writes the bases in this sequence to the specified output stream (e.g.

cout).

Definition at line 245 of file gnSequence.cpp.

std::istream& operator>> std::istream &    is,
gnSequence &    gns
[friend]
 

Reads bases from the specified input stream (e.g.

cin).

Definition at line 239 of file gnSequence.cpp.


Member Data Documentation

const gnCompare* gnSequence::comparator [private]
 

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 504 of file gnSequence.h.

Referenced by compare(), gnSequence(), and operator=().

list<const gnBaseFilter*> gnSequence::filter_list [private]
 

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 503 of file gnSequence.h.

Referenced by getFilterList(), GetSeqC(), operator=(), setFilter(), setFilterList(), ToArray(), and ToString().

gnGenomeSpec* gnSequence::spec [private]
 

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 502 of file gnSequence.h.

Referenced by addFeature(), addHeader(), append(), assign(), contig(), contigByBase(), contigByName(), contigIndexByBase(), contigIndexByName(), contigLength(), contigListLength(), contigListSize(), contigName(), contigStart(), erase(), getBrokenFeatures(), getContainedFeatures(), getFeature(), getFeatureListLength(), getHeader(), getHeaderListLength(), getIntersectingFeatures(), GetSeqC(), GetSpec(), globalToSource(), gnSequence(), insert(), isCircular(), isReverseComplement(), length(), LoadSource(), mergeContigs(), operator+=(), operator=(), removeFeature(), removeHeader(), setCircular(), setContigName(), setReverseComplement(), SetSpec(), size(), splitContig(), subseq(), ToArray(), ToString(), and ~gnSequence().


The documentation for this class was generated from the following files:
Generated on Mon Feb 3 02:34:53 2003 for libGenome by doxygen1.3-rc3