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 */