Changes

From Genome Analysis Wiki
Jump to: navigation, search

C++ Class: CigarRoller

1,620 bytes added, 09:00, 11 August 2010
no edit summary
= CigarRollerCigar=
This class is part of [[C++ Library: libcsg|libcsg]].
This purpose of this class is to provide utilities for creating and processing CIGAR stringsCIGARs. It has read-only operators that do not allow modification to the class other than for lazy-evaluation.
== Public Methods ==
! Method Name !! Description
|-
| <code>CigarRollerCigar::CigarRollerCigar()</code>
| Default constructor initializes as a CIGAR with no operations.
|-
| <code>CigarRollervoid Cigar::CigarRollergetCigarString(const char *String& cigarString)</code>| Constructor that initializes Sets the object with the specified cigarString.|-| <code>CigarRoller & CigarRoller::operator += (CigarRoller &rhs)</code>| Add passed in String to the contents string representation of the specified CigarRoller to this object.|-| <code>CigarRoller & CigarRoller::operator += (CigarOperator &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 object.|-| <code>void CigarRoller::Add(const char *cigarString)</code>| Adds the specified cigarString to this CIGAR object.
|-
| <code>void CigarRoller::Set(const char *cigarString)</code>| Sets this object to the specified cigarString.|-| ''' DEPRECATED''' <code>int CigarRoller::getMatchPositionOffset()</code>| DO NOT USE.|-| <code>const char * CigarRoller::getString()</code>| Returns the string representation of this CIGAR object.|-| <code>void CigarRollerCigar::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>void CigarRoller::clear()</code>| Clear this object so that it has 0 Cigar Operations.|-| <code>CigarOperator & CigarRollerCigar::operator [] (int i)</code>
| Return the Cigar Operation at the specified index (starting at 0).
|-
| <code>bool CigarRollerCigar::operator == (CigarRoller &rhs)</code>| Returns true if two Cigar Rollers Cigars are the same (the same operations of the same sizes)
|-
| <code>int CigarRollerCigar::size()</code>
| Return the number of cigar operations in this object.
|-
| <code>void CigarRollerCigar::Dump()</code>
| Write this object as a string to cout.
|-
| <code>int CigarRollerCigar::getExpectedQueryBaseCount()</code>
| Returns the expected read length
|-
| <code>int CigarRollerCigar::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 CigarRollerCigar::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 CigarRollerCigar::getQueryIndex(int32_t refOffset)</code>
| Return the query index associated with the specified reference offset 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 CigarRollerCigar::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 CigarRollerCigar::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.)
! Method Name !! Description
|-
| <code> std::ostream &operator << (std::ostream &stream, const CigarRollerCigar& rollercigar)</code>| Writes all of the cigar operations contained in this roller the cigar to the passed in stream.
|-
| <code> std::ostream &operator << (std::ostream &stream, const CigarRollerCigar::CigarOperator& o)</code>
| Writes the specified cigar operation to the specified stream as <count><char> (3M).
|}
=CigarRoller=This class is part of [[C++ Library: libcsg|libcsg]]. 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="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>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 += (CigarOperator &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 object.|-| <code>void CigarRoller::Add(const char *cigarString)</code>| Adds the specified cigarString to this object.|-| <code>void CigarRoller::Add(CigarRoller &rhs)</code>| Adds the specified CIGAR to this object.|-| <code>void CigarRoller::Set(const char *cigarString)</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()</code>| DO NOT USE.|-| <code>const char * CigarRoller::getString()</code>| Returns the string representation of this CIGAR object.|-| <code>void CigarRoller::clear()</code>| Clear this object so that it has 0 Cigar Operations.|}  == 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 stream.|}  = Mapping Between Reference and Read/Query ==<code>int32_t CigarRollerCigar::getRefOffset(int32_t queryIndex)</code> and <code>int32_t CigarRollerCigar::getQueryIndex(int32_t refOffset)</code> are used to map between the reference and the read.
The queryIndex is the index in the read - from 0 to (read length - 1).
=== Determining the Number of Reference and Read/Query Overlaps ===
A useful concept is determining the number of bases that overlap between the reference and the read in a given region.

Navigation menu