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; +}