示例#1
0
static void gbWarnUpdate(struct gbStatus* status, struct sqlConnection *conn)
/* update gbWarn table */
{
if (status->stateChg & (GB_NEW|GB_META_CHG|GB_REBUILD_DERIVED))
    {
    if (gbWarnUpd == NULL)
        gbWarnUpd = sqlUpdaterNew("gbWarn", gTmpDir, (gbVerbose >= 4), &allUpdaters);
    sqlUpdaterAddRow(gbWarnUpd, "%s\t%s", raAcc, raWarn);
    }
}
static void initLoader(struct sqlDeleter* sd)
/* setup loader and copy access to tab file */
{
struct slName* acc;
sd->accLoader = sqlUpdaterNew(GB_DELETE_TMP, sd->tmpDir, sd->verbose, NULL);

for (acc = sd->accs; acc != NULL; acc = acc->next)
    sqlUpdaterAddRow(sd->accLoader, "%s", acc->name);
sd->useDeleteJoin = TRUE;
sd->accs = NULL;  /* mark as not in use (list in localmem) */
}
示例#3
0
static FILE *gbGeneTblGetFlatTabFh(struct gbGeneTbl *ggt,
                                   struct sqlConnection* conn)
/* get tab file for genePred flat table, create updater and table if needed */
{
if (ggt->flatUpd == NULL)
    {
    if (!sqlTableExists(conn, ggt->flatTbl))
        createFlatTbl(ggt, conn);
    ggt->flatUpd = sqlUpdaterNew(ggt->flatTbl, ggt->tmpDir, (gbVerbose >= 4), NULL);
    }
return sqlUpdaterGetFh(ggt->flatUpd, 1);
}
示例#4
0
static void gbMiscDiffUpdate(struct gbStatus* status, struct sqlConnection *conn)
/* update gbMiscDiff table */
{
if (status->stateChg & (GB_NEW|GB_META_CHG|GB_REBUILD_DERIVED))
    {
    if (gbMiscDiffUpd == NULL)
        gbMiscDiffUpd = sqlUpdaterNew("gbMiscDiff", gTmpDir, (gbVerbose >= 4), &allUpdaters);
    struct gbMiscDiff *gmd;
    for (gmd = raMiscDiffs; gmd != NULL; gmd = gmd->next)
        sqlUpdaterAddRow(gbMiscDiffUpd, "%s\t%d\t%d\t%s\t%s\t%s",
                         gmd->acc, gmd->mrnaStart, gmd->mrnaEnd,
                         gbSqlStrOrNullTabVar(gmd->notes),
                         gbSqlStrOrNullTabVar(gmd->gene),
                         gbSqlStrOrNullTabVar(gmd->replacement));
    }
}
示例#5
0
void gbMetaDataInit(struct sqlConnection *conn, unsigned srcDb,
                    struct dbLoadOptions* options, char *gbdbGenBank,
                    char *tmpDir)
/* initialize for parsing metadata */
{
gOptions = options;
gSrcDb = srcDb;
gGbdbGenBank[0] = '\0';
if (gbdbGenBank != NULL)
    strcpy(gGbdbGenBank, gbdbGenBank);
strcpy(gTmpDir, tmpDir);

if (seqTbl == NULL)
    seqTbl = seqTblNew(conn, gTmpDir, (gbVerbose >= 4));
if (imageCloneTbl == NULL)
    imageCloneTbl = imageCloneTblNew(conn, gTmpDir, (gbVerbose >= 4));

if (!sqlTableExists(conn, "gbCdnaInfo"))
    {
    sqlUpdate(conn, gbCdnaInfoCreate);
    haveGi = TRUE;
    haveMol = TRUE;
    }
else
    {
    haveGi = sqlFieldIndex(conn, "gbCdnaInfo", "gi") >= 0;
    haveMol = sqlFieldIndex(conn, "gbCdnaInfo", "mol") >= 0;
    if (haveMol && !haveGi)
        errAbort("must have gi column to have mol");
    }

setGeneTblFlags(conn, options);

if (!sqlTableExists(conn, "gbMiscDiff"))
    sqlUpdate(conn, gbMiscDiffCreate);
if (!sqlTableExists(conn, "gbWarn"))
    sqlUpdate(conn, gbWarnCreate);

if (gbCdnaInfoUpd == NULL)
    gbCdnaInfoUpd = sqlUpdaterNew("gbCdnaInfo", gTmpDir, (gbVerbose >= 4), &allUpdaters);

if (gSrcDb == GB_REFSEQ)
    {
    if (!sqlTableExists(conn, "refSeqStatus"))
        {
        sqlUpdate(conn, refSeqStatusCreate);
        haveRsMol = TRUE;
        }
    else
        {
        haveRsMol = sqlFieldIndex(conn, "refSeqStatus", "mol") >= 0;
        }
    if (refSeqStatusUpd == NULL)
        refSeqStatusUpd = sqlUpdaterNew("refSeqStatus", gTmpDir, (gbVerbose >= 4),
                                        &allUpdaters);
    if (!sqlTableExists(conn, "refSeqSummary"))
        sqlUpdate(conn, refSeqSummaryCreate);
    if (refSeqSummaryUpd == NULL)
        refSeqSummaryUpd = sqlUpdaterNew("refSeqSummary", gTmpDir, (gbVerbose >= 4),
                                         &allUpdaters);
    if (!sqlTableExists(conn, "refLink"))
        sqlUpdate(conn, refLinkCreate);
    if (refLinkUpd == NULL)
        refLinkUpd = sqlUpdaterNew("refLink", gTmpDir, (gbVerbose >= 4),
                                   &allUpdaters);
    }
}