Google

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 Methods

 gnSequence ()
 Empty Constructor, creates an empty gnSequence. More...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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. More...

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. More...

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

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. More...

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

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. More...

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. More...

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

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

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

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

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

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

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

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. More...

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

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

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

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

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

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

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. More...

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

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

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. More...

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

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

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

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. More...

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

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

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

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

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

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

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

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

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

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

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

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". More...

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

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

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

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

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

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. More...


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. More...

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


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 36 of file gnSequence.h.


Constructor & Destructor Documentation

gnSequence::gnSequence ( )
 

Empty Constructor, creates an empty gnSequence.

Definition at line 23 of file gnSequence.cpp.

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 28 of file gnSequence.cpp.

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 37 of file gnSequence.cpp.

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 46 of file gnSequence.cpp.

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 50 of file gnSequence.cpp.

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 55 of file gnSequence.cpp.

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 61 of file gnSequence.cpp.

gnSequence::gnSequence ( const gnSequence & seq )
 

Copies the gnSequence "seq".

Parameters:
seq   The gnSequence to copy.

Definition at line 70 of file gnSequence.cpp.

gnSequence::~gnSequence ( )
 

Destructor, frees the memory used by this sequence.

Definition at line 77 of file gnSequence.cpp.


Member Function Documentation

gnSequence * gnSequence::Clone ( ) const [virtual]
 

Reimplemented from gnClone.

Definition at line 90 of file gnSequence.cpp.

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

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 300 of file gnSequence.cpp.

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 612 of file gnSequence.h.

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

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 515 of file gnSequence.cpp.

Referenced by main().

void gnSequence::SetSpec ( gnGenomeSpec * s ) [inline, virtual]
 

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

Parameters:
s   The new spec.

Definition at line 616 of file gnSequence.h.

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 278 of file gnSequence.cpp.

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

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 256 of file gnSequence.cpp.

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 248 of file gnSequence.cpp.

Referenced by WriteData(), compare(), find(), main(), and operator<<().

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 568 of file gnSequence.h.

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 485 of file gnSequence.cpp.

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 555 of file gnSequence.h.

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 521 of file gnSequence.h.

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

Definition at line 95 of file gnSequence.cpp.

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 121 of file gnSequence.cpp.

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 343 of file gnSequence.cpp.

Referenced by main().

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 351 of file gnSequence.cpp.

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 429 of file gnSequence.cpp.

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 338 of file gnSequence.cpp.

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 356 of file gnSequence.cpp.

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 370 of file gnSequence.cpp.

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

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 331 of file gnSequence.cpp.

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

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 326 of file gnSequence.cpp.

Referenced by main().

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 376 of file gnSequence.cpp.

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

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 362 of file gnSequence.cpp.

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

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 199 of file gnSequence.cpp.

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 530 of file gnSequence.cpp.

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 584 of file gnSequence.h.

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 576 of file gnSequence.h.

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 564 of file gnSequence.h.

Referenced by main().

uint32 gnSequence::getFeatureListLength ( ) const [inline, virtual]
 

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

Parameters:
contigI   The index of the contig to use, or ALL_CONTIGS to add a general header.
Returns:
The feature list size.

Definition at line 560 of file gnSequence.h.

Referenced by main().

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 633 of file gnSequence.h.

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 475 of file gnSequence.cpp.

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 465 of file gnSequence.cpp.

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 580 of file gnSequence.h.

Referenced by main().

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 382 of file gnSequence.cpp.

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 397 of file gnSequence.cpp.

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 156 of file gnSequence.cpp.

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 598 of file gnSequence.h.

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.
str   The character array of bases to insert.
length   The length of the character array.

Definition at line 147 of file gnSequence.cpp.

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 589 of file gnSequence.h.

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 456 of file gnSequence.cpp.

gnSeqI gnSequence::length ( ) const [inline, virtual]
 

Returns the length of this sequence.

Returns:
the length of this sequence.

Definition at line 604 of file gnSequence.h.

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

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 389 of file gnSequence.cpp.

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 422 of file gnSequence.cpp.

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 504 of file gnSequence.cpp.

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 509 of file gnSequence.cpp.

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

Definition at line 529 of file gnSequence.h.

gnSequence const gnSequence::operator+ ( const gnSequence & seq ) const
 

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

Definition at line 180 of file gnSequence.cpp.

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

Appends the bases in "seq" to this sequence.

Definition at line 550 of file gnSequence.h.

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

Definition at line 533 of file gnSequence.h.

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

Definition at line 537 of file gnSequence.h.

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

Assigns the sequence "seq" to this sequence.

Definition at line 517 of file gnSequence.h.

gnSequence & gnSequence::operator= ( const gnSequence & seq )
 

Copies the gnSequence.

Definition at line 82 of file gnSequence.cpp.

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

Definition at line 525 of file gnSequence.h.

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

Definition at line 541 of file gnSequence.h.

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

Definition at line 545 of file gnSequence.h.

gnSeqC gnSequence::operator[] ( const gnSeqI offset ) const
 

Returns the base at the specified index.

Returns:
The base at the specified index.

Definition at line 319 of file gnSequence.cpp.

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 572 of file gnSequence.h.

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 495 of file gnSequence.cpp.

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 594 of file gnSequence.h.

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

Definition at line 436 of file gnSequence.cpp.

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 623 of file gnSequence.h.

Referenced by main(), and runTests().

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 629 of file gnSequence.h.

Referenced by runTests().

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 445 of file gnSequence.cpp.

Referenced by runTests().

gnSeqI gnSequence::size ( ) const [inline, virtual]
 

Returns the length of this sequence.

Returns:
the length of this sequence.

Definition at line 608 of file gnSequence.h.

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 218 of file gnSequence.cpp.

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

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

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

Definition at line 188 of file gnSequence.cpp.

Referenced by main().


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 244 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 238 of file gnSequence.cpp.


Member Data Documentation

const gnCompare * gnSequence::comparator [private]
 

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 506 of file gnSequence.h.

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

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 505 of file gnSequence.h.

gnGenomeSpec * gnSequence::spec [private]
 

Reimplemented in gnDNASequence, gnProteinSequence, and gnRNASequence.

Definition at line 504 of file gnSequence.h.


The documentation for this class was generated from the following files:
Generated at Fri Nov 30 15:36:56 2001 for libGenome by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001