inc/dnaMarkov.h

Go to the documentation of this file.
00001 /* dnaMarkov - stuff to build 1st, 2nd, 3rd, and coding
00002  * 3rd degree Markov models for DNA. */
00003 
00004 #ifndef DNAMARKOV_H
00005 #define DNAMARKOV_H
00006 
00007 void dnaMark0(struct dnaSeq *seqList, double mark0[5], int slogMark0[5]);
00008 /* Figure out frequency of bases in input.  Results go into
00009  * mark0 and optionally in scaled log form into slogMark0.
00010  * Order is N, T, C, A, G.  (TCAG is our normal order) */
00011 
00012 void dnaMark1(struct dnaSeq *seqList, double mark0[5], int slogMark0[5], 
00013         double mark1[5][5], int slogMark1[5][5]);
00014 /* Make up 1st order Markov model - probability that one nucleotide
00015  * will follow another. Input is sequence and 0th order Markov models.
00016  * Output is first order Markov model. slogMark1 can be NULL. */
00017 
00018 void dnaMark2(struct dnaSeq *seqList, double mark0[5], int slogMark0[5],
00019         double mark1[5][5], int slogMark1[5][5],
00020         double mark2[5][5][5], int slogMark2[5][5][5]);
00021 /* Make up 1st order Markov model - probability that one nucleotide
00022  * will follow the previous two. */
00023 
00024 void dnaMarkTriple(struct dnaSeq *seqList, 
00025     double mark0[5], int slogMark0[5],
00026     double mark1[5][5], int slogMark1[5][5],
00027     double mark2[5][5][5], int slogMark2[5][5][5],
00028     int offset, int advance, int earlyEnd);
00029 /* Make up a table of how the probability of a nucleotide depends on the previous two.
00030  * Depending on offset and advance parameters this could either be a straight 2nd order
00031  * Markov model, or a model for a particular coding frame. */
00032 
00033 #endif /* DNAMARKOV_H */
00034 

Generated on Tue Dec 25 18:39:29 2007 for blat by  doxygen 1.5.2