32d7f059cbf363cf6b98a6139ad1e7975b59e116
larrym
  Mon Jul 5 20:12:09 2010 -0700
add dnaMotifBitScoreWithMarkovBg
diff --git src/inc/dnaMarkov.h src/inc/dnaMarkov.h
index 3f64fe4..552422f 100644
--- src/inc/dnaMarkov.h
+++ src/inc/dnaMarkov.h
@@ -1,34 +1,43 @@
 /* dnaMarkov - stuff to build 1st, 2nd, 3rd, and coding
  * 3rd degree Markov models for DNA. */
 
 #ifndef DNAMARKOV_H
 #define DNAMARKOV_H
 
 void dnaMark0(struct dnaSeq *seqList, double mark0[5], int slogMark0[5]);
 /* Figure out frequency of bases in input.  Results go into
  * mark0 and optionally in scaled log form into slogMark0.
  * Order is N, T, C, A, G.  (TCAG is our normal order) */
 
 void dnaMark1(struct dnaSeq *seqList, double mark0[5], int slogMark0[5], 
 	double mark1[5][5], int slogMark1[5][5]);
 /* Make up 1st order Markov model - probability that one nucleotide
  * will follow another. Input is sequence and 0th order Markov models.
  * Output is first order Markov model. slogMark1 can be NULL. */
 
 void dnaMark2(struct dnaSeq *seqList, double mark0[5], int slogMark0[5],
 	double mark1[5][5], int slogMark1[5][5],
 	double mark2[5][5][5], int slogMark2[5][5][5]);
 /* Make up 1st order Markov model - probability that one nucleotide
  * will follow the previous two. */
 
 void dnaMarkTriple(struct dnaSeq *seqList, 
     double mark0[5], int slogMark0[5],
     double mark1[5][5], int slogMark1[5][5],
     double mark2[5][5][5], int slogMark2[5][5][5],
     int offset, int advance, int earlyEnd);
 /* Make up a table of how the probability of a nucleotide depends on the previous two.
  * Depending on offset and advance parameters this could either be a straight 2nd order
  * Markov model, or a model for a particular coding frame. */
 
+char *dnaMark2Serialize(double mark2[5][5][5]);
+// serialize a 2nd order markov model
+
+void dnaMark2Deserialize(char *buf, double mark2[5][5][5]);
+// deserialize a 2nd order markov model from buf which was serialized with dnaMark2Serialize
+
+void dnaMarkMakeLog2(double mark2[5][5][5]);
+// convert a 2nd-order markov array to log2
+
 #endif /* DNAMARKOV_H */