10 //background nucleotide probabilities
12 //can change this to a background model class later if needed
18 // pseudocount to avoid divide-by-zero errors
19 static double pseudocount;
20 static unsigned int strong_coverage_threshold;
22 // protected access directly to the data arrray
23 unsigned int& operator[](size_t b);
29 Nuc& operator=(const Nuc& n);
35 //Useful to get the listing of all the nucleotides sequenced for this position.
36 //Note that this function doesn't return the nucleotide in the order presented
37 char nth_nuc(unsigned int i);
41 //returns the number of nucleotides at the position
46 //allows read-only access to the dta array
47 unsigned int at(size_t b) const;
48 unsigned int A() const;
49 unsigned int C() const;
50 unsigned int G() const;
51 unsigned int T() const;
55 //returns the relative entropy of the nucleotide, taking into
56 //account the background model and pseudocounts
61 //returns 2 x the ratio of the most prominent nucleotide to the first two nucleotides.
62 //i.e. a homozygous position has chastity 1, and a heterozygous position has
64 //note, the value is doubled to put it on the same scale and with roughly the same
65 //interpretation as relative entropy (RE)
70 //returns the consensus sequence, including IUPAC degenerate bases to represent heterozygosity