yat
0.14.5pre
|
Classes and functions related to genomics and proteomics. More...
Classes | |
class | BamFile |
class | InBamFile |
class | OutBamFile |
class | BamHeader |
Wrapper around bam_hdr_t struct. More... | |
class | BamPair |
class | BamPairProxy |
class | BamPairIterator |
class | BamRead |
Class holding a bam query. More... | |
struct | BamLessPos |
struct | BamLessEnd |
struct | BamLessName |
class | BamReadFilter |
Filter bam reads. More... | |
class | BamReadIterator |
class to iterate through a InBamFile More... | |
class | BamWriter |
class | BamWriteIterator |
Output iterator for bam file. More... | |
class | Codon |
struct | AminoAcidEqual |
Functor comparing if two Codons translate to the same amino acid. More... | |
class | DNA |
struct | DnaComplementer |
Functor that calculates genomic complement. More... | |
class | Fasta |
wrapper class around struct faidx_t in libhts More... | |
class | GenomicPosition |
class | GFF |
class | GFF2 |
class | GFF3 |
class | Pileup |
Functions | |
template<typename InputIterator , typename OutputIterator > | |
void | dna_complement (InputIterator begin, InputIterator end, OutputIterator out) |
template<typename BidirectionalIterator > | |
void | dna_reverse_complement (BidirectionalIterator begin, BidirectionalIterator end) |
template<typename BidirectionalIterator , typename OutputIterator > | |
void | dna_reverse_complement_copy (BidirectionalIterator begin, BidirectionalIterator end, OutputIterator out) |
const unsigned char | nt16_table (char) |
const char | nt16_str (uint8_t) |
template<typename RandomAccessIterator > | |
double | alignment_score (const BamRead &bam, RandomAccessIterator ref, double mismatch, double gap=0.0, double open_gap=0.0) |
unsigned short | chr2int (const std::string &str) |
transform a string to unsigned short chromosome number More... | |
double | phred (double p) |
double | phred_inv (double x) |
Classes and functions related to genomics and proteomics.
double theplu::yat::omic::alignment_score | ( | const BamRead & | bam, |
RandomAccessIterator | ref, | ||
double | mismatch, | ||
double | gap = 0.0 , |
||
double | open_gap = 0.0 |
||
) |
Calculate alignment score based on bam's cigar and sequence and the reference as in [ref, ref + bam.end()-bam.pos()).
For indels the score is calculated as open_gap + len * gap. For mismatches the score is calculated -mismatch. For matches the score is unity.
For cigar element BAM_CMATCH the sequence and reference is used to differentiate match from mismatch.
Type Requirments:
RandomAccessIterator
is a Readable IteratorRandomAccessIterator
is a Random Access Traversal Iteratorvalue_type
is equality compareable with char
unsigned short theplu::yat::omic::chr2int | ( | const std::string & | str | ) |
transform a string to unsigned short chromosome number
If str starts with 'chr' that prefix is stripped away before translating the string to chromosome number. Function translates "X" to 23, "Y" to 24, and "M" or "MT" to 25. For other inputs utility::convert is used to transform the input to an unsigned short.
void theplu::yat::omic::dna_complement | ( | InputIterator | begin, |
InputIterator | end, | ||
OutputIterator | out | ||
) |
bam_pair_analyse
performs an operation on bam read pairs as defined by visitor. The function iterates over sorted input range of reads; if read is first read, it is cached for later use; if read is second read and mate is present in cache, visitor operates on pair, i.e., Visitor
(mate
, read
) is called.
Type Requirements:
Iterator
is a Readable IteratorIterator
is a Single Pass IteratorIterator
's reference
type must be convertible to BamReadVisitor
must have an operator()(BamRead, BamRead)
(or any const
or reference combination)
[first, last
) must be sorted or behaviour is undefined.Type Requirements:
InputIterator
is Readable IteratorInputIterator
models Single Pass IteratorInputIterator
is convertible to charOutputIterator
models Incrementable IteratorOutputIterator
is a Writable Iteratorchar
must be convertible to value type of OutputIteratorvoid theplu::yat::omic::dna_reverse_complement | ( | BidirectionalIterator | begin, |
BidirectionalIterator | end | ||
) |
Function that transforms a sequence of chars to its genomic reverse complement, i.e., it transforms the sequence using DnaComplementer and reverse the sequence.
Type Requirements:
BidirectionalIterator
is Bidirectional IteratorBidirectionalIterator
is Writable IteratorBidirectionalIterator
is convertible to charchar
must be convertible to value type of BidirectionalIteratorvoid theplu::yat::omic::dna_reverse_complement_copy | ( | BidirectionalIterator | begin, |
BidirectionalIterator | end, | ||
OutputIterator | out | ||
) |
Function that transforms a sequence of chars to its genomic reverse complement, i.e., it transforms the sequence using DnaComplementer and reverse the sequence.
Type Requirements:
BidirectionalIterator
is Readable IteratorBidirectionalIterator
is Bidirectional Traversal IteratorBidirectionalIterator
is convertible to charchar
must be convertible to value type of BidirectionalIteratorType Requirements:
InputIterator
is Readable IteratorInputIterator
models Single Pass IteratorInputIterator
is convertible to charOutputIterator
models Incrementable IteratorOutputIterator
is a Writable Iteratorchar
must be convertible to value type of OutputIteratorconst char theplu::yat::omic::nt16_str | ( | uint8_t | ) |
Convert a 4-bit encoded nucleotide to a character.
This is the same functionality that is provided in HTSLIB's global array seq_nt16_str, but this function works also when building against libbam. In libbam the array was called bam_nt16_rev_table
.
This is the inverse of function nt16_table.
const unsigned char theplu::yat::omic::nt16_table | ( | char | ) |
Convert nucleotide character to 4-bit encoding. The result is encoded as 1/2/4/8 for A/C/G/T or combinations of these bits.
This is the same functionality that is provided in HTSLIB's global array seq_nt16_table
, but this function works also when building against libbam. In libbam the array was called bam_nt16_table
.
This is the inverse of function nt16_str.
double theplu::yat::omic::phred | ( | double | p | ) |
Phred scaled probability is defined as
double theplu::yat::omic::phred_inv | ( | double | x | ) |
The inverse of Phred scaling is calculated as