bfe161aa0369995852953b6c15d284265c97d750
larrym
  Mon Jul 5 20:09:36 2010 -0700
add dnaMarkSql
diff --git src/hg/lib/dnaMarkovSql.c src/hg/lib/dnaMarkovSql.c
new file mode 100644
index 0000000..a2b27ca
--- /dev/null
+++ src/hg/lib/dnaMarkovSql.c
@@ -0,0 +1,25 @@
+/* Load markov objects from sql db. */
+
+#include "common.h"
+#include "linefile.h"
+#include "dnaMarkovSql.h"
+#include "dnaseq.h"
+#include "dnaMarkov.h"
+#include "hdb.h"
+
+boolean loadMark2(struct sqlConnection *conn, char *table, char *chrom, unsigned start, unsigned end, double mark2[5][5][5])
+// Load 2nd-order markov model from given table
+{
+boolean found = FALSE;
+int rowOffset;
+struct sqlResult *sr = hRangeQuery(conn, table, chrom, start, end, NULL, &rowOffset);
+char **row;
+// XXXX use "best" model instead of first if there are multiple (i.e. maximize overlap with start/end).
+if((row = sqlNextRow(sr)) != NULL)
+    {
+    dnaMark2Deserialize(row[rowOffset + 3], mark2);
+    found = TRUE;
+    }
+sqlFreeResult(&sr);
+return found;
+}