54452ec022a6073410955c04e110a1784f71fb57 angie Wed Nov 13 17:37:34 2019 -0800 dbSnp153: add new ucscNote otherMapErr for mappings with the same rs# as a mapping w/inconsistent SPDI in BadCoords/Map Err subtrack. refs #23283 diff --git src/hg/inc/bigDbSnp.h src/hg/inc/bigDbSnp.h index dcfd84f..6fb3d21 100644 --- src/hg/inc/bigDbSnp.h +++ src/hg/inc/bigDbSnp.h @@ -1,122 +1,123 @@ /* bigDbSnp.h was originally generated by the autoSql program, which also * generated bigDbSnp.c and bigDbSnp.sql. This header links the database and * the RAM representation of objects. */ #ifndef BIGDBSNP_H #define BIGDBSNP_H #define BIGDBSNP_NUM_COLS 17 extern char *bigDbSnpCommaSepFieldNames; enum bigDbSnpClass { bigDbSnpSnv = 0, bigDbSnpMnv = 1, bigDbSnpIns = 2, bigDbSnpDel = 3, bigDbSnpDelins = 4, bigDbSnpIdentity = 5, }; struct bigDbSnp /* Variant summary data extracted from dbSNP, 2019 and later */ { struct bigDbSnp *next; /* Next in singly linked list. */ char *chrom; /* Reference sequence chromosome or scaffold */ unsigned chromStart; /* Start position in chrom */ unsigned chromEnd; /* End position in chrom */ char *name; /* dbSNP Reference SNP (rs) identifier */ char *ref; /* Reference allele; usually major allele, but may be minor allele */ int altCount; /* Number of alternate alleles (usually 1) */ char **alts; /* Alternate (non-reference) alleles; may include major allele */ unsigned shiftBases; /* Bases by which an indel placement could be shifted left or right (display shows thin line over uncertain region, shifts minimal representation right) */ int freqSourceCount; /* Number of projects reporting frequencies in current dbSNP build */ double *minorAlleleFreq; /* Minor allele frequency, i.e. second highest allele frequency, from each frequency source; NaN if no data from project */ char **majorAllele; /* Allele most frequently observed by each source */ char **minorAllele; /* Allele second most frequently observed by each source */ unsigned maxFuncImpact; /* Sequence Ontology (SO) ID number for greatest functional impact on gene; 0 if no SO terms are annotated */ enum bigDbSnpClass class; /* Variation class/type */ char *ucscNotes; /* Interesting or anomalous properties noted by UCSC */ long long _dataOffset; /* Offset into bigDbSnpDetails file for line with more info */ int _dataLen; /* Length of line in bigDbSnpDetails */ }; struct bigDbSnp *bigDbSnpLoad(char **row); /* Load a bigDbSnp from row fetched with select * from bigDbSnp * from database. Dispose of this with bigDbSnpFree(). */ struct bigDbSnp *bigDbSnpLoadAll(char *fileName); /* Load all bigDbSnp from whitespace-separated file. * Dispose of this with bigDbSnpFreeList(). */ struct bigDbSnp *bigDbSnpLoadAllByChar(char *fileName, char chopper); /* Load all bigDbSnp from chopper separated file. * Dispose of this with bigDbSnpFreeList(). */ #define bigDbSnpLoadAllByTab(a) bigDbSnpLoadAllByChar(a, '\t'); /* Load all bigDbSnp from tab separated file. * Dispose of this with bigDbSnpFreeList(). */ struct bigDbSnp *bigDbSnpCommaIn(char **pS, struct bigDbSnp *ret); /* Create a bigDbSnp out of a comma separated string. * This will fill in ret if non-null, otherwise will * return a new bigDbSnp */ void bigDbSnpFree(struct bigDbSnp **pEl); /* Free a single dynamically allocated bigDbSnp such as created * with bigDbSnpLoad(). */ void bigDbSnpFreeList(struct bigDbSnp **pList); /* Free a list of dynamically allocated bigDbSnp's */ void bigDbSnpOutput(struct bigDbSnp *el, FILE *f, char sep, char lastSep); /* Print out bigDbSnp. Separate fields with sep. Follow last field with lastSep. */ #define bigDbSnpTabOut(el,f) bigDbSnpOutput(el,f,'\t','\n'); /* Print out bigDbSnp as a line in a tab-separated file. */ #define bigDbSnpCommaOut(el,f) bigDbSnpOutput(el,f,',',','); /* Print out bigDbSnp as a comma separated list including final comma. */ /* -------------------------------- End autoSql Generated Code -------------------------------- */ // ucscNotes is a comma-separated list of these values. Developer: if you add a new one here, // then also update the descriptions used by bigDbSnpDescribeUcscNote in bigDbSnp.c. #define bdsAltIsAmbiguous "altIsAmbiguous" #define bdsClassMismatch "classMismatch" #define bdsClinvar "clinvar" #define bdsClinvarBenign "clinvarBenign" #define bdsClinvarConflicting "clinvarConflicting" #define bdsClinvarPathogenic "clinvarPathogenic" #define bdsClusterError "clusterError" #define bdsCommonAll "commonAll" #define bdsCommonSome "commonSome" #define bdsDiffMajor "diffMajor" #define bdsFreqIsAmbiguous "freqIsAmbiguous" #define bdsFreqNotRefAlt "freqNotRefAlt" #define bdsMultiMap "multiMap" +#define bdsOtherMapErr "otherMapErr" #define bdsOverlapDiffClass "overlapDiffClass" #define bdsOverlapSameClass "overlapSameClass" #define bdsRareAll "rareAll" #define bdsRareSome "rareSome" #define bdsRefIsAmbiguous "refIsAmbiguous" #define bdsRefIsMinor "refIsMinor" #define bdsRefIsRare "refIsRare" #define bdsRefIsSingleton "refIsSingleton" #define bdsRefMismatch "refMismatch" #define bdsRevStrand "revStrand" char *bigDbSnpDescribeUcscNote(char *ucscNote); /* Return a string describing ucscNote, unless it is unrecognized in which case return NULL. * Do not free returned value. */ char *bigDbSnpClassToString(enum bigDbSnpClass class); /* Return the string version of enum bigDbSnpClass. Do not free result. */ char *bigDbSnpAbbrevAllele(char *allele, char *buf, size_t bufLen); /* If allele can be abbreviated to something shorter than itself that fits in buf, * and doesn't end up with a tiny bit of abbreviation followed by a bunch of unabbreviated * sequence, then put the abbreviation in buf and return buf; otherwise return allele. * If allele is the empty string, returns "-" (in buf). */ #endif /* BIGDBSNP_H */