static void refSeqPepUpdate(struct sqlConnection *conn, HGID pepFaId) /* Make or update a seq table entry for a RefSeq peptide sequence * referenced a refLink table. */ { /* done for all stateChg values */ if (raProtFaOff >= 0) { HGID gbSeqId = seqTblGetId(seqTbl, conn, raProtAcc); if (gbSeqId == 0) seqTblAdd(seqTbl, raProtAcc, raProtVersion, SEQ_PEP, SEQ_REFSEQ, pepFaId, raProtSize, raProtFaOff, raProtFaSize); else seqTblMod(seqTbl, gbSeqId, raProtVersion, pepFaId, raProtSize, raProtFaOff, raProtFaSize); } }
static void refPepRepairOne(struct sqlConnection *conn, struct brokenRefPep *brp, struct seqTbl* seqTbl, struct extFileTbl* extFileTbl, boolean dryRun) /* repair a refPep */ { gbVerbPrStart(2, "%s\t%s\trepair", sqlGetDatabase(conn), brp->protAcc); gbVerbPrMore(3, "\tsz: %d\toff: %lld\trecSz: %d\tfid: %d\t%s", brp->newSeqSize, (long long)brp->newFaOff, brp->newRecSize, brp->newFaId, brp->newFaPath); gbVerbPrMore(2, "\n"); if (!dryRun) seqTblMod(seqTbl, brp->protSeqId, -1, brp->newFaId, brp->newSeqSize, brp->newFaOff, brp->newRecSize); }
static void seqUpdate(struct gbStatus* status, HGID faFileId) /* Update the seq table for the current entry */ { assert((status->stateChg & GB_NEW) || (status->gbSeqId != 0)); if (status->stateChg & GB_NEW) { char* seqType = (status->type == GB_MRNA) ? SEQ_MRNA : SEQ_EST; char* seqSrcDb = (gSrcDb == GB_GENBANK) ? SEQ_GENBANK : SEQ_REFSEQ; assert(status->gbSeqId == 0); status->gbSeqId = seqTblAdd(seqTbl, raAcc, raVersion, seqType, seqSrcDb, faFileId, raDnaSize, raFaOff, raFaSize); } else if (status->stateChg & (GB_SEQ_CHG|GB_EXT_CHG)) { /* Update only the columns that need to change */ HGID fileId = (status->stateChg & (GB_SEQ_CHG|GB_EXT_CHG)) ? faFileId : 0; short version = (status->stateChg & GB_SEQ_CHG) ? raVersion : -1; seqTblMod(seqTbl, status->gbSeqId, version, fileId, raDnaSize, raFaOff, raFaSize); } }