Example #1
0
static void processSelectedPsl(struct sqlConnection *conn, struct gbSelect* select,
                               struct gbStatus* status, struct psl* psl)
/* Process the next PSL that is selected for load */
{
struct gbAlignTbl *gat = gbAlignTblSetGet(alignTblSet, status);
gbAlignTblWrite(gat, psl, conn);

if (status->srcDb == GB_REFSEQ)
    {
    /* create refSeq genePred */
    struct gbGeneTbl *ggt = (status->orgCat == GB_NATIVE)
        ? gbGeneTblSetRefGeneGet(geneTblSet, select->hasVersion, conn)
        : gbGeneTblSetXenoRefGeneGet(geneTblSet, select->hasVersion, conn);
    gbGeneTblWrite(ggt, status, psl, conn);
    }
if (status->isMgcFull)
    {
    /* create MGC genePred and psl */
    struct gbGeneTbl *ggt = gbGeneTblSetMgcGenesGet(geneTblSet, select->hasVersion, conn);
    gbGeneTblWrite(ggt, status, psl, conn);
    struct gbAlignTbl *mgat = gbAlignTblSetGetMgc(alignTblSet);
    gbAlignTblWrite(mgat, psl, conn);
    }
if (status->isOrfeome)
    {
    /* create ORFeome genePred and psl */
    struct gbGeneTbl *ggt = gbGeneTblSetOrfeomeGenesGet(geneTblSet, select->hasVersion, conn);
    gbGeneTblWrite(ggt, status, psl, conn);
    struct gbAlignTbl *ogat = gbAlignTblSetOrfeomeGet(alignTblSet);
    gbAlignTblWrite(ogat, psl, conn);
    }
}
Example #2
0
static void updateGeneEntries(struct sqlConnection *conn,
                              struct gbGeneTblSet *ggts,
                              struct gbStatus* status,
			      boolean hasVersion)
/* update gene table entries when annotation have changed */
{
if (status->srcDb == GB_REFSEQ)
    {
    struct gbGeneTbl *geneTbl = (status->orgCat == GB_NATIVE)
        ? gbGeneTblSetRefGeneGet(ggts, hasVersion, conn)
        : gbGeneTblSetXenoRefGeneGet(ggts, hasVersion, conn);
    gbGeneTblRebuild(geneTbl, status, conn);
    }
else 
    {
    // can be both MGC and orfeome
    if (status->isMgcFull)
        gbGeneTblRebuild(gbGeneTblSetMgcGenesGet(ggts, hasVersion, conn), status, conn);
    if (status->isOrfeome)
        gbGeneTblRebuild(gbGeneTblSetOrfeomeGenesGet(ggts, hasVersion, conn), status, conn);
    }
}