b622d147b7dbac52dbf3ba26928cd18e02d42bd8 braney Sat Feb 26 12:34:37 2022 -0800 add support for using a bigBed as the chromAlias file diff --git src/hg/inc/chromAlias.h src/hg/inc/chromAlias.h index 902abc4..e9149f7 100644 --- src/hg/inc/chromAlias.h +++ src/hg/inc/chromAlias.h @@ -1,87 +1,77 @@ /* chromAlias.h was originally generated by the autoSql program, which also * generated chromAlias.c and chromAlias.sql. This header links the database and * the RAM representation of objects. */ #ifndef CHROMALIAS_H #define CHROMALIAS_H #define CHROMALIAS_NUM_COLS 3 extern char *chromAliasCommaSepFieldNames; struct chromAlias /* correspondence of UCSC chromosome names to refseq, genbank, and ensembl names */ { struct chromAlias *next; /* Next in singly linked list. */ char *alias; /* external name */ char *chrom; /* UCSC genome browser chromosome name */ char *source; /* comma separated list, when available: refseq,genbank,ensembl */ }; void chromAliasStaticLoad(char **row, struct chromAlias *ret); /* Load a row from chromAlias table into ret. The contents of ret will * be replaced at the next call to this function. */ struct chromAlias *chromAliasLoad(char **row); /* Load a chromAlias from row fetched with select * from chromAlias * from database. Dispose of this with chromAliasFree(). */ struct chromAlias *chromAliasLoadAll(char *fileName); /* Load all chromAlias from whitespace-separated file. * Dispose of this with chromAliasFreeList(). */ struct chromAlias *chromAliasLoadAllByChar(char *fileName, char chopper); /* Load all chromAlias from chopper separated file. * Dispose of this with chromAliasFreeList(). */ #define chromAliasLoadAllByTab(a) chromAliasLoadAllByChar(a, '\t'); /* Load all chromAlias from tab separated file. * Dispose of this with chromAliasFreeList(). */ struct chromAlias *chromAliasCommaIn(char **pS, struct chromAlias *ret); /* Create a chromAlias out of a comma separated string. * This will fill in ret if non-null, otherwise will * return a new chromAlias */ void chromAliasFree(struct chromAlias **pEl); /* Free a single dynamically allocated chromAlias such as created * with chromAliasLoad(). */ void chromAliasFreeList(struct chromAlias **pList); /* Free a list of dynamically allocated chromAlias's */ void chromAliasOutput(struct chromAlias *el, FILE *f, char sep, char lastSep); /* Print out chromAlias. Separate fields with sep. Follow last field with lastSep. */ #define chromAliasTabOut(el,f) chromAliasOutput(el,f,'\t','\n'); /* Print out chromAlias as a line in a tab-separated file. */ #define chromAliasCommaOut(el,f) chromAliasOutput(el,f,',',','); /* Print out chromAlias as a comma separated list including final comma. */ void chromAliasJsonOutput(struct chromAlias *el, FILE *f); /* Print out chromAlias in JSON format. */ /* -------------------------------- End autoSql Generated Code -------------------------------- */ -struct hash *chromAliasMakeLookupTable(char *database); -/* Given a database name and a connection to that database, construct a lookup table - * that takes chromosome alias names to a matching struct chromAlias. Returns NULL - * if the given database does not have a chromAlias table. */ - -struct hash *chromAliasMakeReverseLookupTable(char *database); -/* Given a database name and a connection to that database, construct a lookup table - * that takes the actual assembly chromosome names to struct chromAliases. Because a - * chromosome name may well have multiple aliases, repeated calls to hashLookupNext - * may be required to see them all. Returns NULL if the given database does not have - * a chromAlias table. */ void chromAliasSetup(char *database); /* Read in the chromAlias file/table for this database. */ -struct hash *chromAliasChromToAliasHash(char *database); -/* Get the hash that maps chrom names to their aliases. */ +char *chromAliasFindNative(char *name); +/* Find the native seqName for a given alias. */ + +struct slName *chromAliasFindAliases(char *seqName); +/* Get the list of aliases for this sequence name. */ -struct hash *chromAliasAliasToChromHash(char *database); -/* Get the hash that maps alias names to their chroms. */ #endif /* CHROMALIAS_H */