Ejemplo n.º 1
0
static char *getCcdsRefSeqSummary(struct sqlConnection *conn, struct ccdsInfo *rsCcds)
/* get the refseq summary for a CCDS */
{
struct ccdsInfo *ci;
char accBuf[GENBANK_ACC_BUFSZ];
char *summary = NULL;

for (ci = rsCcds; ci != NULL; ci = ci->next)
    {
    summary = getRefSeqSummary(conn, genbankDropVer(accBuf, ci->mrnaAcc));
    if (summary != NULL)
        return summary;
    }
return NULL;
}
Ejemplo n.º 2
0
static char *findRefSeqSummary(struct sqlConnection *conn,
                               struct geneSimilarities *refSeqs,
                               char **sumAccv)
/* Given similar refseq genes, find the first one with a RefSeq
 * summary and return that summary, or NULL if not found.  Also returns
 * accv of matched */
{
char buf[GENBANK_ACC_BUFSZ];
struct geneSim *rs;
for (rs = refSeqs->genes; rs != NULL; rs = rs->next)
    {
    char *sum = getRefSeqSummary(conn, genbankDropVer(buf, rs->gene->name));
    if (sum != NULL)
        {
        *sumAccv = cloneString(rs->gene->name);
        return sum;
        }
    }
*sumAccv = NULL;
return NULL;
}
Ejemplo n.º 3
0
void hgKgGetText(char *database, char *outFile)
/* hgKgGetText - Get text from known genes into a file. */
{
FILE *f = mustOpen(outFile, "w");
struct sqlConnection *conn = sqlConnect(database);
struct sqlConnection *spConn = sqlConnect("uniProt");
struct sqlConnection *goConn = sqlConnect("go");
struct kgXref *kgList = NULL, *kg;
struct hash *refSeqHash = NULL;
/* Return hash keyed by refSeq NM_ id, with description values. */

gotRefSeqSummary = sqlTableExists(conn, summaryTable);
if (gotRefSeqSummary)
    refSeqHash = getRefSeqSummary(conn);
else
    warn("No %s table in %s, proceeding without...", summaryTable, database);
kgList = getKgList(conn);
verbose(1, "Read in %d known genes from %s\n", slCount(kgList), database);

for (kg = kgList; kg != NULL; kg = kg->next)
    getText(kg, refSeqHash, conn, spConn, goConn, f);
carefulClose(&f);
}