491bae89e94aedf11666a9e662d2d80012cc312d markd Wed Jan 25 07:38:10 2017 -0800 add more information to display of transmap source gene diff --git src/hg/lib/bigTransMap.c src/hg/lib/bigTransMap.c index 8e4a491..e248779 100644 --- src/hg/lib/bigTransMap.c +++ src/hg/lib/bigTransMap.c @@ -1,28 +1,28 @@ /* bigTransMap.c was originally generated by the autoSql program, which also * generated bigTransMap.h and bigTransMap.sql. This module links the database and * the RAM representation of objects. */ #include "common.h" #include "linefile.h" #include "dystring.h" #include "jksql.h" #include "bigTransMap.h" -char *bigTransMapCommaSepFieldNames = "chrom,chromStart,chromEnd,name,score,strand,thickStart,thickEnd,reserved,blockCount,blockSizes,chromStarts,oChromStart,oChromEnd,oStrand,oChromSize,oChromStarts,oSequence,oCDS,chromSize,match,misMatch,repMatch,nCount,seqType,srcDb,srcChrom,srcChromStart,srcChromEnd,srcScore,srcAligned,geneName,geneId,geneType,transcriptType,chainType,commonName,orgAbbrev"; +char *bigTransMapCommaSepFieldNames = "chrom,chromStart,chromEnd,name,score,strand,thickStart,thickEnd,reserved,blockCount,blockSizes,chromStarts,oChromStart,oChromEnd,oStrand,oChromSize,oChromStarts,oSequence,oCDS,chromSize,match,misMatch,repMatch,nCount,seqType,srcDb,srcChrom,srcChromStart,srcChromEnd,srcScore,srcAligned,geneName,geneId,geneType,transcriptType,chainType,commonName,scientificName,orgAbbrev"; struct bigTransMap *bigTransMapLoad(char **row) /* Load a bigTransMap from row fetched with select * from bigTransMap * from database. Dispose of this with bigTransMapFree(). */ { struct bigTransMap *ret; AllocVar(ret); ret->blockCount = sqlSigned(row[9]); ret->chrom = cloneString(row[0]); ret->chromStart = sqlUnsigned(row[1]); ret->chromEnd = sqlUnsigned(row[2]); ret->name = cloneString(row[3]); ret->score = sqlUnsigned(row[4]); safecpy(ret->strand, sizeof(ret->strand), row[5]); @@ -56,59 +56,60 @@ ret->repMatch = sqlUnsigned(row[22]); ret->nCount = sqlUnsigned(row[23]); ret->seqType = sqlUnsigned(row[24]); ret->srcDb = cloneString(row[25]); ret->srcChrom = cloneString(row[26]); ret->srcChromStart = sqlUnsigned(row[27]); ret->srcChromEnd = sqlUnsigned(row[28]); ret->srcScore = sqlUnsigned(row[29]); ret->srcAligned = sqlUnsigned(row[30]); ret->geneName = cloneString(row[31]); ret->geneId = cloneString(row[32]); ret->geneType = cloneString(row[33]); ret->transcriptType = cloneString(row[34]); ret->chainType = cloneString(row[35]); ret->commonName = cloneString(row[36]); -ret->orgAbbrev = cloneString(row[37]); +ret->scientificName = cloneString(row[37]); +ret->orgAbbrev = cloneString(row[38]); return ret; } struct bigTransMap *bigTransMapLoadAll(char *fileName) /* Load all bigTransMap from a whitespace-separated file. * Dispose of this with bigTransMapFreeList(). */ { struct bigTransMap *list = NULL, *el; struct lineFile *lf = lineFileOpen(fileName, TRUE); -char *row[38]; +char *row[39]; while (lineFileRow(lf, row)) { el = bigTransMapLoad(row); slAddHead(&list, el); } lineFileClose(&lf); slReverse(&list); return list; } struct bigTransMap *bigTransMapLoadAllByChar(char *fileName, char chopper) /* Load all bigTransMap from a chopper separated file. * Dispose of this with bigTransMapFreeList(). */ { struct bigTransMap *list = NULL, *el; struct lineFile *lf = lineFileOpen(fileName, TRUE); -char *row[38]; +char *row[39]; while (lineFileNextCharRow(lf, chopper, row, ArraySize(row))) { el = bigTransMapLoad(row); slAddHead(&list, el); } lineFileClose(&lf); slReverse(&list); return list; } struct bigTransMap *bigTransMapCommaIn(char **pS, struct bigTransMap *ret) /* Create a bigTransMap out of a comma separated string. * This will fill in ret if non-null, otherwise will * return a new bigTransMap */ @@ -172,57 +173,59 @@ ret->repMatch = sqlUnsignedComma(&s); ret->nCount = sqlUnsignedComma(&s); ret->seqType = sqlUnsignedComma(&s); ret->srcDb = sqlStringComma(&s); ret->srcChrom = sqlStringComma(&s); ret->srcChromStart = sqlUnsignedComma(&s); ret->srcChromEnd = sqlUnsignedComma(&s); ret->srcScore = sqlUnsignedComma(&s); ret->srcAligned = sqlUnsignedComma(&s); ret->geneName = sqlStringComma(&s); ret->geneId = sqlStringComma(&s); ret->geneType = sqlStringComma(&s); ret->transcriptType = sqlStringComma(&s); ret->chainType = sqlStringComma(&s); ret->commonName = sqlStringComma(&s); +ret->scientificName = sqlStringComma(&s); ret->orgAbbrev = sqlStringComma(&s); *pS = s; return ret; } void bigTransMapFree(struct bigTransMap **pEl) /* Free a single dynamically allocated bigTransMap such as created * with bigTransMapLoad(). */ { struct bigTransMap *el; if ((el = *pEl) == NULL) return; freeMem(el->chrom); freeMem(el->name); freeMem(el->blockSizes); freeMem(el->chromStarts); freeMem(el->oChromStarts); freeMem(el->oSequence); freeMem(el->oCDS); freeMem(el->srcDb); freeMem(el->srcChrom); freeMem(el->geneName); freeMem(el->geneId); freeMem(el->geneType); freeMem(el->transcriptType); freeMem(el->chainType); freeMem(el->commonName); +freeMem(el->scientificName); freeMem(el->orgAbbrev); freez(pEl); } void bigTransMapFreeList(struct bigTransMap **pList) /* Free a list of dynamically allocated bigTransMap's */ { struct bigTransMap *el, *next; for (el = *pList; el != NULL; el = next) { next = el->next; bigTransMapFree(&el); } *pList = NULL; @@ -349,22 +352,26 @@ if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); fprintf(f, "%s", el->transcriptType); if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); fprintf(f, "%s", el->chainType); if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); fprintf(f, "%s", el->commonName); if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); +fprintf(f, "%s", el->scientificName); +if (sep == ',') fputc('"',f); +fputc(sep,f); +if (sep == ',') fputc('"',f); fprintf(f, "%s", el->orgAbbrev); if (sep == ',') fputc('"',f); fputc(lastSep,f); } /* -------------------------------- End autoSql Generated Code -------------------------------- */