static struct mappingInfo *mappingInfoNew(struct sqlConnection *conn, char *tbl, char *mappedId) /* load mapping info for a mapped gene */ { struct mappingInfo *mi; int preLen; char *suffix = containsStringNoCase(tbl,"Info"); int suffixLen = 4; AllocVar(mi); if (startsWith("retroAnc", tbl)) safef(mi->tblPre, sizeof(mi->tblPre), "retroAnc"); else if (startsWith("retroOld", tbl)) safef(mi->tblPre, sizeof(mi->tblPre), "retroOld"); else if (startsWith("retro", tbl)) safef(mi->tblPre, sizeof(mi->tblPre), "retro"); else { safef(mi->tblPre, sizeof(mi->tblPre), "ucsc"); suffix = containsStringNoCase(tbl,"Ali"); suffixLen = 3; } if (suffix != NULL) { suffix +=suffixLen; safef(mi->suffix,ID_BUFSZ,"%s",suffix); } preLen = strlen(mi->tblPre); if (startsWith("retroAugust", tbl)) safef(mi->geneSet, sizeof(mi->geneSet), "August"); else if (startsWith("retro", tbl)) safef(mi->geneSet, sizeof(mi->geneSet), "Mrna"); else safef(mi->geneSet, sizeof(mi->geneSet), "Retro"); if (suffix != NULL && strlen(suffix) > 0) mi->pg = sqlQueryObjs(conn, (sqlLoadFunc)ucscRetroInfoLoad, sqlQueryMust|sqlQuerySingle, "select * from %s%sInfo%s where name='%s'", mi->tblPre, mi->geneSet, suffix, mappedId); else { mi->pg = sqlQueryObjs(conn, (sqlLoadFunc)ucscRetroInfoLoad, sqlQueryMust|sqlQuerySingle, "select * from %s%sInfo where name='%s'", mi->tblPre, mi->geneSet, mappedId); } parseSrcId(mi); getGenbankInfo(conn, mi); return mi; }
static void chimeraxGen(struct sqlConnection *conn, char *pdbId, char *where, char *primarySnpId, char *outName) /* Generate a chimerax file for the given PDB, optionally coloring * primarySnpId differently. The where arguments specifies which entries to * obtain from the lsSnpPdb table. */ { FILE *xfh = chimeraxBegin(outName); fprintf(xfh, "\ndisplayPdb(\"%s\", (", pdbId); struct lsSnpPdb *pdbSnp, *pdbSnps = NULL; if (sqlTableExists(conn, "lsSnpPdb")) pdbSnps = sqlQueryObjs(conn, (sqlLoadFunc)lsSnpPdbLoad, sqlQueryMulti, "SELECT * FROM lsSnpPdb WHERE %-s", where); for (pdbSnp = pdbSnps; pdbSnp != NULL; pdbSnp = pdbSnp->next) prSnp(xfh, pdbSnp, primarySnpId); lsSnpPdbFreeList(&pdbSnps); fprintf(xfh, "))\n"); chimeraxEnd(&xfh); }
struct transMapGene *transMapGeneQuery(struct sqlConnection *geneConn, char *table, char *srcDb, char *srcId) /* load a single transMapSrc object for an srcDb and srcId from a table, * or return NULL if not found */ { /* geneId field was added after original table definition. Return empty string * in query for legacy tables. */ if (sqlFieldIndex(geneConn, table, "geneId") >= 0) return sqlQueryObjs(geneConn, (sqlLoadFunc)transMapGeneLoad, sqlQuerySingle, "SELECT %-s FROM %s WHERE (db=\"%s\") and (id = \"%s\")", transMapGeneCommaSepFieldNames, table, srcDb, srcId); else return sqlQueryObjs(geneConn, (sqlLoadFunc)transMapGeneLoad, sqlQuerySingle, "SELECT %-s,\"\" FROM %s WHERE (db=\"%s\") and (id = \"%s\")", transMapGeneCommaSepFieldNames4, table, srcDb, srcId); }
struct transMapSrc *transMapSrcQuery(struct sqlConnection *srcConn, char *table, char *srcDb, char *srcId) /* load a single transMapSrc object for an srcDb and srcId from a table, * or error if not found */ { return sqlQueryObjs(srcConn, (sqlLoadFunc)transMapSrcLoad, sqlQueryMust|sqlQuerySingle, "SELECT * FROM %s WHERE (db=\"%s\") and (id = \"%s\")", table, srcDb, srcId); }
struct transMapGene *transMapGeneQuery(struct sqlConnection *geneConn, char *table, char *srcDb, char *srcId) /* load a single transMapSrc object for an srcDb and srcId from a table, * or return NULL if not found */ { return sqlQueryObjs(geneConn, (sqlLoadFunc)transMapGeneLoad, sqlQuerySingle, "SELECT * FROM %s WHERE (db=\"%s\") and (id = \"%s\")", table, srcDb, srcId); }
static void prMiscDiffs(struct sqlConnection *conn, char *acc) /* print any gbMiscDiff rows for the accession */ { struct gbMiscDiff *gmds = NULL, *gmd; if (sqlTableExists(conn, "gbMiscDiff")) gmds = sqlQueryObjs(conn, (sqlLoadFunc)gbMiscDiffLoad, sqlQueryMulti, "select * from gbMiscDiff where acc=\"%s\"", acc); webNewSection("NCBI Clone Validation"); if (gmds != NULL) { unsigned miscDiffFlds = getMiscDiffFields(gmds); webPrintLinkTableStart(); prMiscDiffHdr(miscDiffFlds); for (gmd = gmds; gmd != NULL; gmd = gmd->next) prMiscDiff(gmd, miscDiffFlds); webPrintLinkTableEnd(); } else printf("<EM>No clone discrepancies annotated</EM><BR><BR>\n"); }
static void writePublicNotesHtml(struct sqlConnection *conn, char *ccdsId) /* write public notes if available */ { struct ccdsNotes *ccdsNotes = NULL; if (sqlTableExists(conn, "ccdsNotes")) ccdsNotes = sqlQueryObjs(conn, (sqlLoadFunc)ccdsNotesLoad, sqlQueryMulti, "select * from ccdsNotes where ccds = \"%s\" order by createDate", ccdsId); if (ccdsNotes != NULL) { htmlHorizontalLine(); printf("<H3>Annotator Notes</H3>\n"); printf("<TABLE class=\"hgcCcds\">\n"); printf("<THEAD>\n"); printf("<TR><TH>Date<TH>Note</TR>\n"); printf("</THEAD><TBODY>\n"); struct ccdsNotes *note; for (note = ccdsNotes; note != NULL; note = note->next) printf("<TR><TD style=\"white-space: nowrap;\">%s<TD>%s</TR>", note->createDate, note->note); printf("</TBODY></TABLE>\n"); } }