gnSequence Class Reference

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

#include <gnSequence.h>

Inheritance diagram for gnSequence:

Inheritance graph
[legend]
Collaboration diagram for gnSequence:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual uint32 addFeature (gnBaseFeature *feature)
 Adds the specified feature to the feature list.
virtual void addHeader (const uint32 contigI, gnBaseHeader *header, const uint32 headerI)
 Adds header information to a specified contig.
virtual void append (const gnSequence &seq)
 Appends the bases in "seq" to this sequence.
virtual void assign (gnSequence &seq)
 Assigns the sequence "seq" to this sequence.
gnSequenceClone () const
virtual int compare (const string &str) const
virtual int compare (const gnSequence &seq) const
 Compares the bases in "seq" to this sequence.
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 gnSequence contigByName (string &contigName) const
 Returns a gnSequence containing only the named contig.
uint32 contigIndexByBase (const gnSeqI baseI) const
 Returns the index of the contig which contains the specified base.
virtual uint32 contigIndexByName (string &contigName) const
 Returns the index of the contig with the given name.
virtual gnSeqI contigLength (const uint32 contigI) const
 Returns the length in base pairs of the specified contig in this sequence.
gnSeqI contigListLength () const
 Returns the number of sequence fragments in this sequence.
gnSeqI contigListSize () const
 Returns the number of sequence fragments in this sequence.
virtual string contigName (const uint32 contigI) const
 Returns the name of the specified contig.
virtual gnSeqI contigStart (const uint32 contigI) const
 Returns the index of the base pair where the specified contig starts in this sequence.
virtual void erase (const gnSeqI offset=0, const gnSeqI length=GNSEQI_END)
 Deletes the "len" bases starting at "offset".
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.
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 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 gnBaseFeaturegetFeature (const uint32 featureI) const
 Returns the feature specified by featureI.
virtual uint32 getFeatureListLength () const
 Returns the size of the feature list for the specified contig.
virtual list< const gnBaseFilter * > getFilterList () const
 Returns the list of filters currently being used.
virtual gnBaseHeadergetHeader (const uint32 contigI, const uint32 headerI) const
 Returns the feature specified by featureI.
virtual uint32 getHeaderListLength (const uint32 contigI) const
 Returns the size of the header list for the specified contig.
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 gnSeqC GetSeqC (const gnSeqI offset) const
 Returns the base at "offset".
virtual gnGenomeSpecGetSpec () const
 Get the spec (annotated sequence) which this sequence represents.
virtual void globalToLocal (uint32 &contigI, gnSeqI &baseI) const
 Converts the global sequence coordinate baseI to a contig local coordinate.
virtual void globalToSource (uint32 &contigI, gnSeqI &baseI) const
 Converts the global sequence coordinate baseI to a local coordinate in the original data source.
 gnSequence (const gnSequence &seq)
 Copies the gnSequence "seq".
 gnSequence (gnSeqC *bases, const gnSeqI length)
 Creates a gnSequence with a single fragment containing the bases in "bases".
 gnSequence (const gnContigSpec &gncs)
 Creates a gnSequence with the contig stored in the gnContigSpec "gncs".
 gnSequence (const gnFragmentSpec &gnfs)
 Creates a gnSequence with the sequence fragment stored in the gnFragmentSpec "gnfs".
 gnSequence (const gnGenomeSpec &gngs)
 Creates a gnSequence with the genome stored in the gnGenomeSpec "gngs".
 gnSequence (const string &str)
 Creates a gnSequence with a single fragment containing the bases in "str".
 gnSequence (const gnSeqC *seq)
 Creates a gnSequence with a single fragment containing the bases in "seq".
 gnSequence ()
 Empty Constructor, creates an empty gnSequence.
virtual void insert (const gnSeqI offset, const gnGenomeSpec &gnbs)
 Inserts the annotated sequence in "gnbs" 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 gnSeqC *bases, const gnSeqI length)
 Inserts the first "len" bases in "bases" into this sequence.at "offset".
virtual boolean isCircular () const
 Returns true if this sequence is circular.
virtual boolean isReverseComplement (const uint32 contigI=ALL_CONTIGS)
 Returns true if a specified contig, or the entire sequence is reverse complement.
virtual gnSeqI length () const
 Returns the length of this sequence.
virtual bool LoadSource (const string sourcename)
 Loads the sequence located at the URL in "sourcename".
virtual void localToGlobal (const uint32 contigI, gnSeqI &baseI) const
 Converts the local contig coordinate baseI to a global sequence coordinate.
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 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.
boolean operator!= (const gnSequence &seq) const
gnSequence const operator+ (const gnSequence &seq) const
 Concatenates this sequence with the annotated sequence in "seq".
gnSequenceoperator+= (const gnSequence &seq)
 Appends the bases in "seq" to this sequence.
boolean operator< (const gnSequence &seq) const
boolean operator<= (const gnSequence &seq) const
void operator= (gnSequence &seq)
 Assigns the sequence "seq" to this sequence.
gnSequenceoperator= (const gnSequence &seq)
 Copies the gnSequence.
boolean operator== (const gnSequence &seq) const
boolean operator> (const gnSequence &seq) const
boolean operator>= (const gnSequence &seq) const
gnSeqC operator[] (const gnSeqI offset) const
 Returns the base at the specified index.
virtual void removeFeature (const uint32 featureI)
 Removes the specified feature.
virtual void removeHeader (const uint32 contigI, const uint32 headerI)
 Removes header information from a specified contig.
virtual void setCircular (const boolean value)
 Sets whether this sequence should be read circular.
virtual void setContigName (const uint32 contigI, const string &contig_name)
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 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 void SetSpec (gnGenomeSpec *s)
 Set the spec (annotated sequence) which this sequence represents.
virtual gnSeqI size () const
 Returns the length of this sequence.
virtual void splitContig (const gnSeqI splitI, const uint32 contigI=ALL_CONTIGS)
 Splits the specified contig after splitI.
gnSequence subseq (const gnSeqI offset, const gnSeqI length) const
 Creates a sequence containing the "length" bases starting at "offset".
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 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 string ToString (const gnSeqI length=GNSEQI_END, const gnSeqI offset=1) const
 Returns the "length" bases starting at "offset" as a string.
 ~gnSequence ()
 Destructor, frees the memory used by this sequence.

Private Attributes

const gnComparecomparator
list< const gnBaseFilter * > filter_list
gnGenomeSpecspec

Friends

std::ostream & operator<< (std::ostream &os, const gnSequence &gns)
 Writes the bases in this sequence to the specified output stream (e.g.
std::istream & operator>> (std::istream &is, gnSequence &gns)
 Reads bases from the specified input 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 gnMultiSpec< SubSpec >::AddSpec(), comparator, gnCompare::DNASeqCompare(), gnSeqC, 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 gnMultiSpec< SubSpec >::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 gnMultiSpec< SubSpec >::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 gnMultiSpec< SubSpec >::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 gnMultiSpec< SubSpec >::AddSpec(), comparator, gnCompare::DNASeqCompare(), gnSeqC, gnSeqI, 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< SubSpec >::AddHeader(), gnMultiSpec< SubSpec >::GetSpec(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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 GNSEQI_END, 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 gnMultiSpec< SubSpec >::GetSpec(), gnSequence(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

Referenced by isReverseComplement(), main(), 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 gnMultiSpec< SubSpec >::GetSpecByBase(), gnSeqI, 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 gnMultiSpec< SubSpec >::GetSpec(), gnMultiSpec< SubSpec >::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< SubSpec >::GetSpecIndexByBase(), gnSeqI, 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< SubSpec >::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< SubSpec >::GetLength(), gnMultiSpec< SubSpec >::GetSpec(), gnSeqI, spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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 gnMultiSpec< SubSpec >::GetSpecListLength(), gnSeqI, spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by main(), and 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 gnMultiSpec< SubSpec >::GetSpecListLength(), gnSeqI, spec, STACK_TRACE_END, and STACK_TRACE_START.

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

References gnBaseSpec::GetName(), gnMultiSpec< SubSpec >::GetSpec(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

Referenced by main(), and 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< SubSpec >::GetSpecStartBase(), gnSeqI, int64, spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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< SubSpec >::CropEnd(), gnMultiSpec< SubSpec >::GetLength(), gnSeqI, GNSEQI_END, insert(), length(), 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(), spec, and uint32.

Referenced by main().

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.

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 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< SubSpec >::GetHeader(), gnMultiSpec< SubSpec >::GetSpec(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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< SubSpec >::GetHeaderListLength(), gnMultiSpec< SubSpec >::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.

Referenced by main().

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< SubSpec >::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 main(), gnGBKSource::Write(), gnFASSource::Write(), gnSEQSource::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(), gnSeqI, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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(), gnMultiSpec< SubSpec >::GetSpec(), gnMultiSpec< SubSpec >::GetSpecIndexByBase(), gnMultiSpec< SubSpec >::GetSpecStartBase(), gnContigSpec::GetStart(), gnSeqI, gnBaseSpec::IsReverseComplement(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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 gnMultiSpec< SubSpec >::AddSpec(), gnGenomeSpec::Clone(), gnFragmentSpec::Clone(), gnMultiSpec< SubSpec >::CropEnd(), gnMultiSpec< SubSpec >::CropStart(), gnMultiSpec< SubSpec >::GetLength(), gnMultiSpec< SubSpec >::GetSpec(), gnMultiSpec< SubSpec >::GetSpecListLength(), gnSeqI, GNSEQI_END, insert(), 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 gnSeqI, 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 gnSeqC, gnSeqI, 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(), gnMultiSpec< SubSpec >::GetSpec(), gnBaseSpec::IsReverseComplement(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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< SubSpec >::GetLength(), gnSeqI, and spec.

Referenced by compare(), erase(), main(), 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.

Referenced by main().

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(), gnSeqI, STACK_TRACE_END, STACK_TRACE_START, Throw_gnEx, and uint32.

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(), gnSeqI, localToGlobal(), STACK_TRACE_END, STACK_TRACE_START, and uint32.

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 gnSeqI, 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, STACK_TRACE_START, and uint32.

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 GNSEQI_END, 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, gnSeqI, 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(), spec, and uint32.

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 gnMultiSpec< SubSpec >::GetSpec(), gnMultiSpec< SubSpec >::RemoveHeader(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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 gnMultiSpec< SubSpec >::GetSpec(), gnBaseSpec::SetName(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

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.

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

References filter_list.

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

References contig(), gnMultiSpec< SubSpec >::GetSpec(), gnFragmentSpec::SetReverseComplement(), gnGenomeSpec::SetReverseComplement(), spec, STACK_TRACE_END, STACK_TRACE_START, and uint32.

Referenced by runTests().

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< SubSpec >::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< SubSpec >::CropEnd(), gnMultiSpec< SubSpec >::CropStart(), gnSeqI, GNSEQI_END, insert(), length(), localToGlobal(), spec, STACK_TRACE_END, STACK_TRACE_START, Throw_gnEx, and uint32.

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(), gnSeqI, gnSequence(), spec, STACK_TRACE_END, STACK_TRACE_START, and Throw_gnEx.

Referenced by main().

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< SubSpec >::SeqRead(), spec, STACK_TRACE_END, and STACK_TRACE_START.

Referenced by main(), 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 filter_list, gnSeqI, length(), gnMultiSpec< SubSpec >::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 gnSeqI, STACK_TRACE_END, and STACK_TRACE_START.

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


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

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

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

cin).


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 14 19:29:57 2005 for libGenome by doxygen 1.3.8