コード例 #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);
    }
}
コード例 #2
0
ファイル: gbGeneTbl.c プロジェクト: davidhoover/kent
void gbGeneTblRebuild(struct gbGeneTbl *ggt, struct gbStatus* status,
                      struct sqlConnection *conn)
/* rebuild a gene from an alignment that is already loaded in a table */
{
char where[128];
sqlSafefFrag(where, sizeof(where), "qName = \"%s\"", status->acc);
struct psl *psls = pslReaderLoadQuery(conn, ggt->alnTbl, where);
struct psl *psl;
for (psl = psls; psl != NULL; psl = psl->next)
    gbGeneTblWrite(ggt, status, psl, conn);
pslFreeList(&psls);
}