Esempio n. 1
0
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;
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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);
}
Esempio n. 6
0
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");
}
Esempio n. 7
0
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");
    }
}