38b9ede07fb3bfb98c74f611c62146b820747e4a
braney
  Sat Dec 11 08:32:34 2021 -0800
check in custom hgc code for support of TOGA gene annotation from
Michael Hiller's group

diff --git src/hg/hgc/togaClick.h src/hg/hgc/togaClick.h
new file mode 100644
index 0000000..daada30
--- /dev/null
+++ src/hg/hgc/togaClick.h
@@ -0,0 +1,101 @@
+/* togaClick - click handling for TOGA tracks */

+#ifndef TOGACLICK_H

+#define TOGACLICK_H

+

+#define YES_ "Yes"

+#define NO_ "No"

+#define ONE_ "1"

+

+#define HLTOGA_BED_PREFIX "HLTOGAannot"

+#define HLTOGA_BED_PREFIX_LEN 11

+#define HLTOGA_DATA_PREFIX "HLTOGAData"

+#define HLTOGA_NUCL_PREFIX "HLTOGANucl"

+#define HLTOGA_INACT_PREFIX "HLTOGAInactMut"

+

+#define HLTOGA_MAXCHAR 255

+

+

+struct togaData

+{

+    char *projection;

+    char *ref_trans_id;

+    char *ref_region;

+    char *query_region;

+    char *chain_score;

+    char *chain_synteny;

+    char *chain_flank;

+    char *chain_gl_cds_fract;

+    char *chain_loc_cds_fract;

+    char *chain_exon_cov;

+    char *chain_intron_cov;

+    char *status;

+    char *perc_intact_ign_M;

+    char *perc_intact_int_M;

+    char *intact_codon_prop;

+    char *ouf_prop;

+    char *mid_intact;

+    char *mid_pres;

+    char *prot_alignment;

+    char *svg_line;

+};

+

+

+struct togaNucl

+{

+    char *transcript;

+    char *exon_num;

+    char *exon_region;

+    char *pid;

+    char *blosum;

+    char *gaps;

+    char *ali_class;

+    char *exp_region;

+    char *in_exp_region;

+    char *alignment;

+};

+

+

+struct togaInactMut

+{

+    char *transcript;

+    char *exon_num;

+    char *position;

+    char *mut_class;

+    char *mutation;

+    char *is_inact;

+    char *mut_id;

+};

+

+

+struct togaData *togaDataLoad(char **row);

+/* Load a togaData from row fetched with select * from togaData

+ * from database.  Dispose of this with togaDataFree(). */

+

+void togaDataFree(struct togaData **pEl);

+/* Free a single dynamically allocated togaDatasuch as created

+ * with togaDataLoad(). */

+

+struct togaNucl *togaNuclLoad(char **row);

+/* Load a togaNucl from row fetched with select * from togaNucl

+ * from database.  Dispose of this with togaNuclFree(). */

+

+void togaNuclFree(struct togaNucl **pEl);

+/* Free a single dynamically allocated togaNucl such as created

+ * with togaNuclLoad(). */

+

+struct togaInactMut *togaInactMutLoad(char **row);

+/* Load a togaInactMut from row fetched with select * from togaInactMut

+ * from database.  Dispose of this with togaInactMutFree(). */

+

+void togaInactMutFree(struct togaInactMut **pEl);

+/* Free a single dynamically allocated togaInactMut such as created

+ * with togaInactMutLoad(). */

+

+void extractHLTOGAsuffix(char *suffix);

+/* Extract suffix from TOGA table name.

+Prefix must be HLTOGAannot */

+

+void doHillerLabTOGAGene(struct trackDb *tdb, char *item, char *table_name);

+/* Put up TOGA Gene track info. */

+

+#endif  // TOGACLICK_H