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::

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 gnBaseFeature* | getFeature (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 gnBaseHeader* | getHeader (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 gnGenomeSpec* | GetSpec () 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
gnGenomeSpec* | spec
list<const gnBaseFilter*> | filter_list
const gnCompare* | comparator
## 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:

- gnSequence.h
- gnSequence.cpp