/* txInfo.h was originally generated by the autoSql program, which also * generated txInfo.c and txInfo.sql. This header links the database and * the RAM representation of objects. */ #ifndef TXINFO_H #define TXINFO_H #define TXINFO_NUM_COLS 23 struct txInfo /* Various bits of information about a transcript from the txGraph/txCds system (aka KG3) */ { struct txInfo *next; /* Next in singly linked list. */ char *name; /* Name of transcript */ char *category; /* coding/nearCoding/noncoding for now */ char *sourceAcc; /* Accession of genbank transcript patterned on (may be refSeq) */ unsigned char isRefSeq; /* Is a refSeq */ int sourceSize; /* Number of bases in source, excluding poly-A tail. */ double aliCoverage; /* Fraction of bases in source aligning. */ double aliIdRatio; /* matching/total bases in alignment */ int genoMapCount; /* Number of times source aligns in genome. */ int exonCount; /* Number of exons (excludes gaps from frame shift/stops) */ int orfSize; /* Size of ORF */ double cdsScore; /* Score of best CDS according to txCdsPredict */ unsigned char startComplete; /* Starts with ATG */ unsigned char endComplete; /* Ends with stop codon */ unsigned char nonsenseMediatedDecay; /* If true, is a nonsense mediated decay candidate. */ unsigned char retainedIntron; /* True if has a retained intron compared to overlapping transcripts */ int bleedIntoIntron; /* If nonzero number of bases start or end of tx bleeds into intron */ int strangeSplice; /* Count of splice sites not gt/ag, gc/ag, or at/ac */ int atacIntrons; /* Count of number of at/ac introns */ unsigned char cdsSingleInIntron; /* True if CDS is single exon and in intron of other transcript. */ unsigned char cdsSingleInUtr3; /* True if CDS is single exon and in 3' UTR of other transcript. */ unsigned char selenocysteine; /* If true TGA codes for selenocysteine */ unsigned char genomicFrameShift; /* True if genomic version has frame shift we cut out */ unsigned char genomicStop; /* True if genomic version has stop codon we cut out */ }; void txInfoStaticLoad(char **row, struct txInfo *ret); /* Load a row from txInfo table into ret. The contents of ret will * be replaced at the next call to this function. */ struct txInfo *txInfoLoad(char **row); /* Load a txInfo from row fetched with select * from txInfo * from database. Dispose of this with txInfoFree(). */ struct txInfo *txInfoLoadAll(char *fileName); /* Load all txInfo from whitespace-separated file. * Dispose of this with txInfoFreeList(). */ struct txInfo *txInfoLoadAllByChar(char *fileName, char chopper); /* Load all txInfo from chopper separated file. * Dispose of this with txInfoFreeList(). */ #define txInfoLoadAllByTab(a) txInfoLoadAllByChar(a, '\t'); /* Load all txInfo from tab separated file. * Dispose of this with txInfoFreeList(). */ struct txInfo *txInfoCommaIn(char **pS, struct txInfo *ret); /* Create a txInfo out of a comma separated string. * This will fill in ret if non-null, otherwise will * return a new txInfo */ void txInfoFree(struct txInfo **pEl); /* Free a single dynamically allocated txInfo such as created * with txInfoLoad(). */ void txInfoFreeList(struct txInfo **pList); /* Free a list of dynamically allocated txInfo's */ void txInfoOutput(struct txInfo *el, FILE *f, char sep, char lastSep); /* Print out txInfo. Separate fields with sep. Follow last field with lastSep. */ #define txInfoTabOut(el,f) txInfoOutput(el,f,'\t','\n'); /* Print out txInfo as a line in a tab-separated file. */ #define txInfoCommaOut(el,f) txInfoOutput(el,f,',',','); /* Print out txInfo as a comma separated list including final comma. */ /* -------------------------------- End autoSql Generated Code -------------------------------- */ double txInfoCodingScore(struct txInfo *info, boolean boostRefSeq); /* Return coding score for info. This is just the cdsScore score, * plus another 1000 if it's a refSeq. 1000 is quite a bit for a * cdsScore score, equivalent to another 1000 bases in the coding region. */ #endif /* TXINFO_H */