Changes

From Genome Analysis Wiki
Jump to: navigation, search

C++ Class: CigarRoller

10,268 bytes removed, 12:00, 2 February 2017
Cigar
[[Category:Software]]
[[Category:C++]]
[[Category:libStatGen]]
= Cigar=
This class is part of [[C++ LibrarylibStatGen: libStatGengeneral]].
The purpose of this class is to provide utilities for processing CIGARs. It has read-only operators that do not allow modification to the class other than for lazy-evaluation.
== static Methods ==These methods are helpful See: http://csg.sph.umich.edu//mktrost/doxygen/current/classCigar.html for determining information about the operatordocumentation.
{| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code>bool Cigar::foundInQuery(Operation op)</code>| Return true if The static methods are helpful for determining information about the specified operation is found in the query sequence, false if not.|-| <code>bool Cigar::isClip(Operation op)</code>| Return true if the specified operation is a clipping operation, false if notoperator.|-|}
== Public Methods =={| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code>Cigar::Cigar()</code>| Default constructor initializes as a CIGAR with no operations.|-| <code>void Cigar::getCigarString(String& cigarString)</code>| Sets the passed in String to the string representation of this CIGAR object.|-| <code>void Cigar::getCigarString(std::string& cigarString)</code>| Sets the passed in std::string to the string representation of this CIGAR object.|-| <code>void Cigar::getExpandedString(std::string &s)</code>| Sets the specified string to a string of characters that represent this cigar with no digits (a CIGAR of "3M" would return "MMM")|-| <code>CigarOperator & Cigar::operator [] (int i)</code>| Return the Cigar Operation at the specified index (starting at 0).|-| <code>CigarOperator & Cigar::getOperator(int i)</code>| Return the Cigar Operation at the specified index (starting at 0).|-| <code>bool Cigar::operator == (CigarRoller &rhs)</code>| Returns true if two Cigars are the same (the same operations of the same sizes)|-| <code>int Cigar::size()</code>| Return the number of cigar operations in this object.|-| <code>void Cigar::Dump()</code>| Write this object as a string to cout.|-| <code>int Cigar::getExpectedQueryBaseCount()</code>| Returns the expected read length|-| <code>int Cigar::getExpectedReferenceBaseCount()</code>| Return how many bases in the reference are spanned by the given CIGAR string|-| <code>int Cigar::getNumBeginClips()</code>| Return the number of clips that are at the beginning of the cigar.|-| <code>int Cigar::getNumEndClips()</code>| Return the number of clips that are at the end of the cigar.|-| <code>int32_t Cigar::getRefOffset(int32_t queryIndex)</code>|Return the reference offset associated with the specified query index or INDEX_NA based on this cigar.See [[C++ Class: CigarRoller#Mapping Between Reference and Read/Query|Mapping Between Reference and Read/Query]] for a more detailed explanation with examples as to how it works.|-| <code>int32_t Cigar::getQueryIndex(int32_t refOffset)</code>| Return the query index associated with mapping between the specified reference offset or INDEX_NA based on this cigar.See [[C++ Class: CigarRoller#Mapping Between Reference and Readread/Query|Mapping Between Reference and Read/Query]] for a more detailed explanation with examples as to how it query works.|-| <code>int32_t Cigar::getRefPosition(int32_t queryIndex, int32_t queryStartPos)</code>|Return the reference position associated with the specified query index or INDEX_NA based on this cigar and the specified queryStartPos. queryStartPops is the leftmost mapping position of the first matching base in the query.
See [[C++ Class: CigarRoller#Mapping Between Reference and Read/Query|Mapping Between Reference and Read/Query]] for a more detailed explanation with examples as to how it works.|-| <code>int32_t Cigar::getQueryIndex(int32_t refPosition, int32_t queryStartPos)</code>| Return the query index associated with the specified reference position and queryStartPos or INDEX_NA based on this cigar.queryStartPops is the leftmost mapping position of the first matching base in the query. See [[C++ Class: CigarRoller#Mapping Between Reference and Read/Query|Mapping Between Reference and Read/Query]] for a more detailed explanation with examples as to how it works.|-| <code>uint32_t Cigar::getNumOverlaps(int32_t start, int32_t end, int32_t queryStartPos)</code>| Return the number of bases that overlap the reference and the read associated with this cigar that falls within the specified region.start : inclusive start position (reference position) of the region to check for overlaps in. (-1 indicates to start at the beginning of the reference.) end : exclusive end position (reference position) of the region to check for overlaps in. (-1 indicates to go to the end of the reference.) queryStartPos : leftmost mapping position of the first matching base in the query. NOTE: ensure that start, end, and queryStartPos are all in the same base (0 or 1). See [[C++ Class: CigarRoller#Determining the Number of Reference and Read/Query Overlaps|Determining the Number of Reference and Read/Query Overlaps]] for a more detailed explanation with examples as to how it determining overlaps works. |} == Overloaded Streaming Operators == {| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code> std::ostream &operator << (std::ostream &stream, const Cigar& cigar)</code>| Writes all of the cigar operations contained in the cigar to the passed in stream.|-| <code> std::ostream &operator << (std::ostream &stream, const Cigar::CigarOperator& o)</code>| Writes the specified cigar operation to the specified stream as <count><char> (3M).|}   == Public Enums =={| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! colspan="2"| enum SPACE_TYPE|-! Enum Value !! Description|-| none| No operation has been specified|-| match| The query sequence and the reference sequence bases are the same for the bases associated with this cigar operation.Both <code>match</code> and <code>mismatch</code> are associated with CIGAR Operation "M"|-| mismatch| The query sequence and the reference sequence bases are different for the bases associated with this cigar operation, but bases exist in both the query and the reference.Both <code>match</code> and <code>mismatch</code> are associated with CIGAR Operation "M"|-| insert| Insertion to the reference (the query sequence contains bases that have no corresponding base in the reference).Associated with CIGAR Operation "I"|-| del|Deletion from the reference (the reference contains bases that have no corresponding base in the query sequence).Associated with CIGAR Operation "D"|-| skip| Skipped region from the reference (the reference contains bases that have no corresponding base in the query sequence).Associated with CIGAR Operation "N"|-| softClip| Soft clip on the read (clipped sequence present in the query sequence)Associated with CIGAR Operation "S"|-| hardClip| Hard clip on the read (clipped sequence not present in the query sequence)Associated with CIGAR Operation "H"|-|pad| Padding (silent deletion from the padded reference sequence)Associated with CIGAR Operation "P"|}  == Public Constants =={| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Constant !! Value !! Description|-| INDEX_NA| -1| Value associated with an index that is not applicable/does not exist.Used for converting between query and reference indexes/offsets when an associated index/offset does not exist.|}  == Nested Class ==  === CigarOperation === ==== Public Methods ===={| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code>CigarOperator::CigarOperator(Operation operation, uint32_t count)</code>| Set the cigar operator with the specified operation and count length.|-| <code>char CigarOperator::getChar()</code>| Returns the character code (M, I, D, N, S, H, or P) associated with this operation.|-| <code>bool CigarOperator::operator == (const CigarOperator &rhs)</code>| Returns true if the passed in operator is the same as this operator, false if not.|-| <code>bool CigarOperator::operator != (const CigarOperator &rhs)</code>| Returns true if the passed in operator is not the same as this operator, false if they are the same.|}
= CigarRoller=
This class is part of [[C++ LibrarylibStatGen: libcsg|libcsggeneral]].
The purpose of this class is to provide accessors for setting, updating, modifying the CIGAR object. It is a child class of Cigar.
== Public Methods =={| style="marginSee: 1em 1em 1em 0; background-colorhttp: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code>CigarRoller::CigarRoller()</code>| Default constructor initializes as a CIGAR with no operations.|-| <code>CigarRoller::CigarRoller(const char *cigarString)</code>| Constructor that initializes the object with the specified cigarString.|-| <code>CigarRoller & CigarRoller::operator += (CigarRoller &rhs)</code>| Add the contents of the specified CigarRoller to this object.|-| <code>CigarRoller & CigarRoller::operator += (const CigarOperator &rhs)</code>| Append the specified cigar operation to this object.|-| <code>CigarRoller & CigarRoller::operator = (CigarRoller &rhs)</code>| Append the specified cigar operation to this object.|-| <code>void CigarRoller::Add(Operation operation, int count)</code>| Adds the specified operation with the specified count to this objectcsg.|-| <code>void CigarRoller::Add(const char *cigarString)</code>| Adds the specified cigarString to this objectsph.|-| <code>void CigarRoller::Add(CigarRoller &rhs)</code>| Adds the specified CIGAR to this objectumich.|-| <code>void CigarRoller::Set(const char *cigarString)<edu/code>| Sets this object to the specified cigarString.|-| <code>void CigarRoller::Set(const uint32_t* cigarBuffer, uint16_t bufferLen)</code>| Sets this object to the BAM formatted cigar found at the beginning of the specified buffer which is bufferLen long.|-| ''' DEPRECATED''' <code>int CigarRoller::getMatchPositionOffset()<mktrost/code>| DO NOT USE.|-| <code>const char * CigarRoller::getString()<doxygen/code>| Returns the string representation of this CIGAR object.|-| <code>void CigarRoller::clear()<current/code>| Clear this object so that it has 0 Cigar OperationsclassCigarRoller.|} == Overloaded Streaming Operators == {| style="margin: 1em 1em 1em 0; background-color: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse;" border="1"|-style="background: #f2f2f2; text-align: center;"! Method Name !! Description|-| <code> std::ostream &operator << (std::ostream &stream, const CigarRoller& roller)</code>| Writes all of the cigar operations contained in this roller to the passed in streamhtml for documentation.|} 
= Mapping Between Reference and Read/Query =
96
edits

Navigation menu