Class for extracting information from a SAM Flag.
More...
#include <SamRecordHelper.h>
|
static int | checkSequence (SamRecord &record, int32_t pos0Based, const char *sequence) |
| Helper method that checks if the record's read sequence starting at the specified 0-based reference position matches the passed in sequence. More...
|
|
static bool | genSamTagsString (SamRecord &record, String &returnString, char delim='\t') |
| Helper to append the SAM string representation of all the tags to the specified string. More...
|
|
static bool | genSamTagString (const char *tag, char vtype, void *value, String &returnString) |
| Helper to append the SAM string representation of the specified tag to the specified string. More...
|
|
Class for extracting information from a SAM Flag.
Definition at line 24 of file SamRecordHelper.h.
◆ checkSequence()
int SamRecordHelper::checkSequence |
( |
SamRecord & |
record, |
|
|
int32_t |
pos0Based, |
|
|
const char * |
sequence |
|
) |
| |
|
static |
Helper method that checks if the record's read sequence starting at the specified 0-based reference position matches the passed in sequence.
- Returns
- returns -1 if it does not match, returns the cycle (read position) of pos0Based if it does match.
Definition at line 21 of file SamRecordHelper.cpp.
31 throw std::runtime_error(
"Failed to get Cigar.");
34 int32_t readStartIndex =
45 readSeq += readStartIndex;
46 if(strncmp(readSeq, sequence, strlen(sequence)) == 0)
49 return(readStartIndex);
This class represents the CIGAR without any methods to set the cigar (see CigarRoller for that).
static const int32_t INDEX_NA
Value associated with an index that is not applicable/does not exist, used for converting between que...
int32_t getQueryIndex(int32_t refOffset)
Return the query index associated with the specified reference offset or INDEX_NA based on this cigar...
Cigar * getCigarInfo()
Returns a pointer to the Cigar object associated with this record.
int32_t get0BasedPosition()
Get the 0-based(BAM) leftmost position of the record.
const char * getSequence()
Returns the SAM formatted sequence string (SEQ), translating the base as specified by setSequenceTran...
References SamRecord::get0BasedPosition(), SamRecord::getCigarInfo(), Cigar::getQueryIndex(), SamRecord::getSequence(), and Cigar::INDEX_NA.
◆ genSamTagsString()
bool SamRecordHelper::genSamTagsString |
( |
SamRecord & |
record, |
|
|
String & |
returnString, |
|
|
char |
delim = '\t' |
|
) |
| |
|
static |
Helper to append the SAM string representation of all the tags to the specified string.
Does NOT add a preceding delimiter before the first tag.
- Parameters
-
record | record whose tags to append. |
returnString | string to append the tags to. |
delim | delimiter to use to separate different tags. |
- Returns
- true on success, false on failure/partial generation.
Definition at line 56 of file SamRecordHelper.cpp.
68 bool firstEntry =
true;
69 bool returnStatus =
true;
74 returnString += delim;
static bool genSamTagString(const char *tag, char vtype, void *value, String &returnString)
Helper to append the SAM string representation of the specified tag to the specified string.
bool getNextSamTag(char *tag, char &vtype, void **value)
Get the next tag from the record.
void resetTagIter()
Reset the tag iterator to the beginning of the tags.
References genSamTagString(), SamRecord::getNextSamTag(), and SamRecord::resetTagIter().
◆ genSamTagString()
bool SamRecordHelper::genSamTagString |
( |
const char * |
tag, |
|
|
char |
vtype, |
|
|
void * |
value, |
|
|
String & |
returnString |
|
) |
| |
|
static |
Helper to append the SAM string representation of the specified tag to the specified string.
- Parameters
-
tag | the tag name. |
vtype | the vtype. |
value | pointer to the value of the tag (will be cast to int, double, char, or string based on vtype). |
returnString | string to append the tag to. |
- Returns
- true on success, false on failure/partial generation.
Definition at line 86 of file SamRecordHelper.cpp.
91 returnString += vtype;
95 returnString += (int)*(
int*)value;
99 returnString.appendFullFloat(*(
float*)value);
103 returnString += (char)*(
char*)value;
static bool isIntegerType(char vtype)
Returns whether or not the specified vtype is an integer type.
static bool isFloatType(char vtype)
Returns whether or not the specified vtype is a float type.
static bool isCharType(char vtype)
Returns whether or not the specified vtype is a char type.
static bool isStringType(char vtype)
Returns whether or not the specified vtype is a string type.
References SamRecord::isCharType(), SamRecord::isFloatType(), SamRecord::isIntegerType(), and SamRecord::isStringType().
Referenced by genSamTagsString().
The documentation for this class was generated from the following files: