#include <gnGenomeSpec.h>
Inheritance diagram for gnGenomeSpec:
Public Member Functions | |
gnGenomeSpec () | |
gnGenomeSpec (const gnGenomeSpec &s) | |
Copy constructor. | |
virtual | ~gnGenomeSpec () |
Destructor, frees memory. | |
virtual gnGenomeSpec * | Clone () const |
virtual void | Clear () |
Clears all data from this spec. | |
virtual void | SetReverseComplement (const boolean value) |
Sets the reverse complement bit for this spec. | |
virtual uint32 | GetSpecListLength () const |
Returns the number of subspecs this spec contains. | |
virtual gnFragmentSpec * | GetSpec (const uint32 i) const |
Get the spec at index i in the list of subspecs. | |
virtual gnFragmentSpec * | GetSpecByBase (const gnSeqI baseI) const |
Get the spec from the list of subspecs which contains the specified base pair. | |
virtual void | AddSpec (gnBaseSpec *spec, const uint32 i=UINT32_MAX) |
Add a subspec to this spec. | |
virtual void | RemoveSpec (uint32 i) |
Remove a subspec from this spec. | |
virtual void | MergeFragments (const uint32 startC, const uint32 endC) |
virtual uint32 | AddFeature (gnBaseFeature *feat) |
Add a feature to this spec. | |
virtual uint32 | GetFeatureListLength () const |
Returns the number of features this spec contains. | |
virtual gnBaseFeature * | GetFeature (const uint32 i) const |
Get the feature at index i in the list of features. | |
virtual void | GetContainedFeatures (const gnLocation <, vector< gnBaseFeature * > &feature_vector, vector< uint32 > &index_vector) const |
Creates a list of all features which are contained by coordinates specified. | |
virtual void | GetIntersectingFeatures (const gnLocation <, vector< gnBaseFeature * > &feature_vector, vector< uint32 > &index_vector) const |
Creates a list of all features which intersect the coordinates specified. | |
virtual void | GetBrokenFeatures (const gnLocation <, vector< gnBaseFeature * > &feature_vector) const |
Creates a list of features which may have been broken by an edit. | |
virtual void | RemoveFeature (const uint32 i) |
Remove a feature from this spec. | |
virtual gnGenomeSpec * | CloneRange (const gnSeqI startI, const gnSeqI len) const |
Copies a specified range of bases and returns a pointer to the resulting gnGenomeSpec. | |
virtual gnSeqI | GetLength () const |
Get the length of all the sequence data covered by this spec. | |
virtual void | CropStart (gnSeqI cropLen) |
Crop the first cropLen bases from the sequence. | |
virtual void | CropEnd (gnSeqI cropLen) |
Crop the last cropLen bases from the sequence. | |
virtual string | GetSourceName () const |
virtual void | SetSourceName (const string &sourceName) |
virtual boolean | SeqRead (const gnSeqI start, gnSeqC *buf, uint32 &bufLen, const uint32 contigI) const |
Reads sequence data from this spec. | |
virtual uint32 | GetSpecIndexByBase (const gnSeqI baseI) const |
Get the index of the subspec which contains the specified base pair. | |
virtual uint32 | GetSpecIndexByName (const string &name) const |
Get the index of the spec which has the given name. | |
virtual gnSeqI | GetSpecStartBase (const uint32 specI) const |
Get the starting base pair, in this spec's sequence, of the given subspec. | |
virtual gnSeqI | GetSpecEndBase (const uint32 specI) const |
Get the ending base pair, in this spec's sequence, of the given subspec. | |
virtual uint32 | GetHeaderListLength () const |
Returns the number of headers this spec contains. | |
virtual void | AddHeader (gnBaseHeader *head, const uint32 i=UINT32_MAX) |
Add a header to this spec, adds to the end of the header list by default. | |
virtual gnBaseHeader * | GetHeader (const uint32 i) const |
Get the headers at index i in the list of headers. | |
virtual gnBaseHeader * | GetHeader (const string &name, uint32 &i) const |
Find the first header with the specified name, starting at index i. | |
virtual void | RemoveHeader (uint32 i) |
Remove a header from this spec. | |
virtual gnBaseSpec * | CloneRange (const uint32 startI, const uint32 len) const=0 |
virtual string | GetName () const |
Get the name of the contig associated with this spec. | |
virtual void | SetName (const string &name) |
Sets the name for this contig. | |
virtual boolean | IsReverseComplement () const |
Returns true if this spec is read reverse complement. | |
virtual boolean | IsCircular () const |
Returns true if this spec's sequence is circular. | |
virtual void | SetCircular (const boolean value) |
Sets whether this spec should be read circular. | |
Protected Attributes | |
vector< gnFragmentSpec * > | m_SpecList |
string | m_sourceName |
vector< gnBaseHeader * > | m_headerList |
boolean | m_reverseComplement |
boolean | m_circular |
string | m_name |
The genome is organized into a list of sequence fragments (specs), a list of features, and a list of headers.
Definition at line 33 of file gnGenomeSpec.h.
|
Definition at line 16 of file gnGenomeSpec.cpp. References gnBaseSpec::Clear(). Referenced by Clone(), and CloneRange(). |
|
Copy constructor.
Definition at line 21 of file gnGenomeSpec.cpp. References gnBaseSpec::m_circular, gnMultiSpec::m_headerList, gnBaseSpec::m_name, gnBaseSpec::m_reverseComplement, gnMultiSpec::m_sourceName, m_SpecList, and uint32. |
|
Destructor, frees memory.
Definition at line 38 of file gnGenomeSpec.cpp. References Clear(). |
|
Add a feature to this spec.
Reimplemented from gnMultiSpec. Definition at line 128 of file gnGenomeSpec.cpp. References gnFragmentSpec::AddFeature(), gnFragmentSpec::GetFeatureListLength(), gnMultiSpec::GetLength(), GetSpec(), GetSpecListLength(), gnBaseFeature::IsContainedBy(), SeqIndexOutOfBounds(), Throw_gnEx, and uint32. Referenced by gnSequence::addFeature(). |
|
Add a header to this spec, adds to the end of the header list by default.
Definition at line 125 of file gnMultiSpec.cpp. References gnMultiSpec::m_headerList, uint32, and UINT32_MAX. Referenced by gnSequence::addHeader(), gnFASSource::GetSpec(), gnSEQSource::ParseStream(), and gnGBKSource::ParseStream(). |
|
Add a subspec to this spec. Throws an exception if the insertion index i is out of range
Implements gnMultiSpec. Definition at line 105 of file gnGenomeSpec.h. References m_SpecList, uint32, and UINT32_MAX. Referenced by CloneRange(), gnFASSource::GetSpec(), gnSequence::gnSequence(), gnSequence::insert(), gnSEQSource::ParseStream(), gnRAWSource::ParseStream(), gnGBKSource::ParseStream(), and gnDNXSource::ParseStream(). |
|
Clears all data from this spec.
Reimplemented from gnMultiSpec. Definition at line 43 of file gnGenomeSpec.cpp. References gnMultiSpec::Clear(), m_SpecList, and uint32. Referenced by ~gnGenomeSpec(). |
|
Implements gnMultiSpec. Definition at line 83 of file gnGenomeSpec.h. References gnGenomeSpec(). Referenced by gnSequence::assign(), CloneRange(), gnSEQSource::GetSpec(), gnRAWSource::GetSpec(), gnGBKSource::GetSpec(), gnDNXSource::GetSpec(), gnABISource::GetSpec(), gnDNXSource::gnDNXSource(), gnSequence::gnSequence(), gnSequence::insert(), gnSequence::operator=(), and gnSequence::splitContig(). |
|
Implemented in gnContigSpec. |
|
Copies a specified range of bases and returns a pointer to the resulting gnGenomeSpec. You must delete the copy when you are finished with it.
Definition at line 67 of file gnGenomeSpec.cpp. References AddSpec(), Clone(), gnFragmentSpec::CloneRange(), gnMultiSpec::GetLength(), GetSpec(), gnMultiSpec::GetSpecIndexByBase(), GetSpecListLength(), gnMultiSpec::GetSpecStartBase(), gnGenomeSpec(), gnSeqI, GNSEQI_END, m_SpecList, and uint32. Referenced by gnSequence::erase(), and gnSequence::subseq(). |
|
Crop the last cropLen bases from the sequence. CropEnd will delete features and headers associated with the cropped bases.
Implements gnBaseSpec. Reimplemented in gnFragmentSpec. Definition at line 104 of file gnMultiSpec.cpp. References gnBaseSpec::CropEnd(), gnBaseSpec::GetLength(), gnMultiSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, gnMultiSpec::RemoveSpec(), and uint32. Referenced by gnFragmentSpec::CropEnd(), gnSequence::erase(), gnSequence::insert(), and gnSequence::splitContig(). |
|
Crop the first cropLen bases from the sequence. CropStart will delete features and headers associated with the cropped bases.
Implements gnBaseSpec. Reimplemented in gnFragmentSpec. Definition at line 85 of file gnMultiSpec.cpp. References gnBaseSpec::CropStart(), gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, gnMultiSpec::RemoveSpec(), and uint32. Referenced by gnFragmentSpec::CropStart(), gnSequence::insert(), and gnSequence::splitContig(). |
|
Creates a list of features which may have been broken by an edit.
Implements gnMultiSpec. Definition at line 214 of file gnGenomeSpec.cpp. References gnLocation::CropEnd(), gnFragmentSpec::GetBrokenFeatures(), gnFragmentSpec::GetFeatureListLength(), gnMultiSpec::GetLength(), GetSpec(), GetSpecListLength(), gnSeqI, gnLocation::MoveNegative(), and uint32. Referenced by gnSequence::getBrokenFeatures(). |
|
Creates a list of all features which are contained by coordinates specified.
Implements gnMultiSpec. Definition at line 171 of file gnGenomeSpec.cpp. References gnLocation::CropEnd(), gnFragmentSpec::GetContainedFeatures(), gnFragmentSpec::GetFeatureListLength(), gnMultiSpec::GetLength(), GetSpec(), GetSpecListLength(), gnSeqI, gnLocation::MoveNegative(), and uint32. Referenced by gnSequence::getContainedFeatures(). |
|
Get the feature at index i in the list of features.
Implements gnMultiSpec. Definition at line 155 of file gnGenomeSpec.cpp. References FeatureIndexOutOfBounds(), gnFragmentSpec::GetFeature(), gnFragmentSpec::GetFeatureListLength(), GetSpec(), GetSpecListLength(), gnMultiSpec::GetSpecStartBase(), gnBaseFeature::MovePositive(), Throw_gnEx, and uint32. Referenced by gnSequence::getFeature(). |
|
Returns the number of features this spec contains.
Implements gnMultiSpec. Definition at line 147 of file gnGenomeSpec.cpp. References gnFragmentSpec::GetFeatureListLength(), GetSpec(), GetSpecListLength(), and uint32. Referenced by gnSequence::getFeatureListLength(). |
|
Find the first header with the specified name, starting at index i.
Definition at line 131 of file gnMultiSpec.cpp. References HeaderIndexOutOfBounds(), gnMultiSpec::m_headerList, and Throw_gnEx. |
|
Get the headers at index i in the list of headers. Throws a HeaderIndexOutOfBounds exception if a nonexistant header is referenced
Definition at line 197 of file gnMultiSpec.h. References gnMultiSpec::m_headerList. Referenced by gnSequence::getHeader(), gnGBKSource::Write(), gnFASSource::Write(), gnDNXSource::Write(), and gnGBKSource::WriteHeader(). |
|
Returns the number of headers this spec contains.
Definition at line 192 of file gnMultiSpec.h. References gnMultiSpec::m_headerList, and uint32. Referenced by gnSequence::getHeaderListLength(), gnSEQSource::ParseStream(), gnGBKSource::ParseStream(), and gnGBKSource::Write(). |
|
Creates a list of all features which intersect the coordinates specified.
Implements gnMultiSpec. Definition at line 193 of file gnGenomeSpec.cpp. References gnLocation::CropEnd(), gnFragmentSpec::GetFeatureListLength(), gnFragmentSpec::GetIntersectingFeatures(), gnMultiSpec::GetLength(), GetSpec(), GetSpecListLength(), gnSeqI, gnLocation::MoveNegative(), and uint32. Referenced by gnSequence::getIntersectingFeatures(). |
|
Get the length of all the sequence data covered by this spec.
Implements gnBaseSpec. Definition at line 32 of file gnMultiSpec.cpp. References gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, and uint32. Referenced by AddFeature(), CloneRange(), gnFragmentSpec::CloneRange(), gnSequence::contigLength(), gnMultiSpec::CropEnd(), gnSequence::erase(), GetBrokenFeatures(), GetContainedFeatures(), gnSEQSource::GetContigSeqLength(), gnGBKSource::GetContigSeqLength(), gnDNXSource::GetContigSeqLength(), GetIntersectingFeatures(), gnSequence::insert(), gnSequence::length(), gnSequence::size(), and gnGBKSource::Write(). |
|
Get the name of the contig associated with this spec.
Definition at line 116 of file gnBaseSpec.h. References gnBaseSpec::m_name. Referenced by gnSequence::contigName(), gnDNXSource::GetContigID(), gnDNXSource::GetContigName(), gnMultiSpec::GetSpecIndexByName(), gnDNXSource::HasContig(), gnGBKSource::Write(), and gnDNXSource::Write(). |
|
Definition at line 206 of file gnMultiSpec.h. References gnMultiSpec::m_sourceName. Referenced by gnDNXSource::Write(). |
|
Get the spec at index i in the list of subspecs.
Implements gnMultiSpec. Definition at line 93 of file gnGenomeSpec.h. References FragmentIndexOutOfBounds(), m_SpecList, and Throw_gnEx. Referenced by AddFeature(), gnSequence::addHeader(), CloneRange(), gnSequence::contig(), gnSequence::contigByName(), gnSequence::contigLength(), gnSequence::contigName(), GetBrokenFeatures(), GetContainedFeatures(), gnDNXSource::GetContigID(), gnDNXSource::GetContigName(), gnDNXSource::GetContigSeqLength(), GetFeature(), GetFeatureListLength(), gnSequence::getHeader(), gnSequence::getHeaderListLength(), GetIntersectingFeatures(), gnSequence::globalToSource(), gnDNXSource::HasContig(), gnSequence::insert(), gnSequence::isReverseComplement(), RemoveFeature(), gnSequence::removeHeader(), gnSequence::setContigName(), gnSequence::setReverseComplement(), SetReverseComplement(), gnGBKSource::Write(), gnFASSource::Write(), and gnDNXSource::Write(). |
|
Get the spec from the list of subspecs which contains the specified base pair.
Implements gnMultiSpec. Definition at line 100 of file gnGenomeSpec.h. References gnMultiSpec::GetSpecIndexByBase(), and m_SpecList. Referenced by gnSequence::contigByBase(). |
|
Get the ending base pair, in this spec's sequence, of the given subspec.
Definition at line 73 of file gnMultiSpec.cpp. References gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, SpecIndexOutOfBounds(), Throw_gnEx, and uint32. |
|
Get the index of the subspec which contains the specified base pair.
Definition at line 41 of file gnMultiSpec.cpp. References gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, SeqIndexOutOfBounds(), Throw_gnEx, and uint32. Referenced by CloneRange(), gnFragmentSpec::CloneRange(), gnSequence::contigIndexByBase(), GetSpecByBase(), gnFragmentSpec::GetSpecByBase(), and gnSequence::globalToSource(). |
|
Get the index of the spec which has the given name.
Definition at line 52 of file gnMultiSpec.cpp. References gnBaseSpec::GetName(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), SpecIndexOutOfBounds(), Throw_gnEx, and uint32. Referenced by gnSequence::contigByName(), and gnSequence::contigIndexByName(). |
|
Returns the number of subspecs this spec contains.
Implements gnMultiSpec. Definition at line 88 of file gnGenomeSpec.h. References m_SpecList, and uint32. Referenced by AddFeature(), CloneRange(), gnSequence::contigListLength(), gnSequence::contigListSize(), GetBrokenFeatures(), GetContainedFeatures(), gnDNXSource::GetContigID(), gnDNXSource::GetContigListLength(), gnDNXSource::GetContigName(), gnDNXSource::GetContigSeqLength(), GetFeature(), GetFeatureListLength(), GetIntersectingFeatures(), gnDNXSource::HasContig(), gnSequence::insert(), gnSEQSource::ParseStream(), gnGBKSource::ParseStream(), RemoveFeature(), RemoveSpec(), SetReverseComplement(), gnGBKSource::Write(), and gnDNXSource::Write(). |
|
Get the starting base pair, in this spec's sequence, of the given subspec.
Definition at line 61 of file gnMultiSpec.cpp. References gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, SpecIndexOutOfBounds(), Throw_gnEx, and uint32. Referenced by CloneRange(), gnFragmentSpec::CloneRange(), gnSequence::contigStart(), GetFeature(), and gnSequence::globalToSource(). |
|
Returns true if this spec's sequence is circular.
Definition at line 128 of file gnBaseSpec.h. References gnBaseSpec::m_circular. Referenced by gnSequence::isCircular(), and gnGBKSource::Write(). |
|
Returns true if this spec is read reverse complement.
Definition at line 124 of file gnBaseSpec.h. References gnBaseSpec::m_reverseComplement. Referenced by gnSequence::globalToSource(), gnSequence::isReverseComplement(), SetReverseComplement(), and gnFragmentSpec::SetReverseComplement(). |
|
Definition at line 112 of file gnGenomeSpec.cpp. References gnFragmentSpec::AddSpec(), FragmentIndexOutOfBounds(), gnFragmentSpec::GetSpec(), gnFragmentSpec::GetSpecListLength(), m_SpecList, Throw_gnEx, and uint32. Referenced by gnSequence::mergeContigs(). |
|
Remove a feature from this spec.
Implements gnMultiSpec. Definition at line 234 of file gnGenomeSpec.cpp. References FeatureIndexOutOfBounds(), gnFragmentSpec::GetFeatureListLength(), GetSpec(), GetSpecListLength(), gnFragmentSpec::RemoveFeature(), Throw_gnEx, and uint32. Referenced by gnSequence::removeFeature(). |
|
Remove a header from this spec. Throws a HeaderIndexOutOfBounds exception if a nonexistant header is referenced
Definition at line 139 of file gnMultiSpec.cpp. References HeaderIndexOutOfBounds(), gnMultiSpec::m_headerList, and Throw_gnEx. Referenced by gnSequence::removeHeader(). |
|
Remove a subspec from this spec.
Implements gnMultiSpec. Definition at line 113 of file gnGenomeSpec.h. References GetSpecListLength(), and m_SpecList. Referenced by gnSEQSource::ParseStream(), and gnGBKSource::ParseStream(). |
|
Reads sequence data from this spec. SeqRead will attempt to read "bufLen" base pairs starting at "start", an offset into the sequence. Reading inside a specific contig can be accomplished by supplying the "contigI" parameter with a valid contig index. SeqRead stores the sequence data in "buf" and returns the actual number of bases read in "bufLen". SeqRead will return false if a serious error occurs.
Implements gnBaseSpec. Definition at line 147 of file gnMultiSpec.cpp. References gnBaseSpec::GetLength(), gnMultiSpec::GetSpec(), gnMultiSpec::GetSpecListLength(), gnSeqI, SeqIndexOutOfBounds(), gnBaseSpec::SeqRead(), SpecIndexOutOfBounds(), Throw_gnEx, and uint32. Referenced by gnSequence::GetSeqC(), gnDNXSource::SeqRead(), gnSequence::ToArray(), and gnSequence::ToString(). |
|
Sets whether this spec should be read circular. If circular is set, reads beyond the end of this spec will pick up at the beginning and read up to the start index.
Definition at line 132 of file gnBaseSpec.h. References gnBaseSpec::m_circular. Referenced by gnSEQSource::ParseStream(), gnGBKSource::ParseStream(), and gnSequence::setCircular(). |
|
Sets the name for this contig.
Definition at line 120 of file gnBaseSpec.h. References gnBaseSpec::m_name. Referenced by gnFASSource::GetSpec(), gnSEQSource::ParseStream(), gnGBKSource::ParseStream(), gnDNXSource::ParseStream(), and gnSequence::setContigName(). |
|
Sets the reverse complement bit for this spec.
Implements gnBaseSpec. Definition at line 52 of file gnGenomeSpec.cpp. References GetSpec(), GetSpecListLength(), gnBaseSpec::IsReverseComplement(), gnBaseSpec::m_reverseComplement, m_SpecList, gnFragmentSpec::SetReverseComplement(), and uint32. Referenced by gnSequence::setReverseComplement(). |
|
Definition at line 211 of file gnMultiSpec.h. References gnMultiSpec::m_sourceName. Referenced by gnFASSource::GetSpec(), and gnDNXSource::ParseStream(). |
|
Definition at line 108 of file gnBaseSpec.h. Referenced by gnBaseSpec::Clear(), gnStringSpec::CloneRange(), gnSourceSpec::CloneRange(), gnFragmentSpec::gnFragmentSpec(), gnGenomeSpec(), gnSourceSpec::gnSourceSpec(), gnStringSpec::gnStringSpec(), gnBaseSpec::IsCircular(), and gnBaseSpec::SetCircular(). |
|
Definition at line 186 of file gnMultiSpec.h. Referenced by gnMultiSpec::AddHeader(), gnMultiSpec::Clear(), gnMultiSpec::GetHeader(), gnMultiSpec::GetHeaderListLength(), gnFragmentSpec::gnFragmentSpec(), gnGenomeSpec(), and gnMultiSpec::RemoveHeader(). |
|
Definition at line 110 of file gnBaseSpec.h. Referenced by gnBaseSpec::Clear(), gnStringSpec::CloneRange(), gnSourceSpec::CloneRange(), gnBaseSpec::GetName(), gnFragmentSpec::gnFragmentSpec(), gnGenomeSpec(), gnSourceSpec::gnSourceSpec(), gnStringSpec::gnStringSpec(), and gnBaseSpec::SetName(). |
|
|
Reimplemented from gnBaseSpec. Definition at line 184 of file gnMultiSpec.h. Referenced by gnMultiSpec::GetSourceName(), gnFragmentSpec::gnFragmentSpec(), gnGenomeSpec(), and gnMultiSpec::SetSourceName(). |
|
Definition at line 78 of file gnGenomeSpec.h. Referenced by AddSpec(), Clear(), CloneRange(), GetSpec(), GetSpecByBase(), GetSpecListLength(), gnGenomeSpec(), MergeFragments(), RemoveSpec(), and SetReverseComplement(). |