src/hg/hgTrackUi/hgTrackUi.c 1.500

1.500 2009/09/02 23:22:21 angie
Basic ui for type bam -- still need to add filtering on BAM flag bits.
Index: src/hg/hgTrackUi/hgTrackUi.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTrackUi/hgTrackUi.c,v
retrieving revision 1.499
retrieving revision 1.500
diff -b -B -U 4 -r1.499 -r1.500
--- src/hg/hgTrackUi/hgTrackUi.c	28 Aug 2009 17:47:07 -0000	1.499
+++ src/hg/hgTrackUi/hgTrackUi.c	2 Sep 2009 23:22:21 -0000	1.500
@@ -34,8 +34,12 @@
 #include "pcrResult.h"
 #include "dgv.h"
 #include "transMapStuff.h"
 
+#ifdef USE_BAM
+#include "bamFile.h"
+#endif
+
 #define MAIN_FORM "mainForm"
 #define WIGGLE_HELP_PAGE  "../goldenPath/help/hgWiggleTrackHelp.html"
 
 static char const rcsid[] = "$Id$";
@@ -2136,8 +2140,30 @@
 cgiMakeCheckboxGroupWithVals(cartVarName, labelArr, valueArr, refCount, checked, 4);
 hFreeConn(&conn);
 }
 
+#ifdef USE_BAM
+void bamUi(struct trackDb *tdb)
+/* BAM: short-read-oriented alignment file format. */
+{
+char cartVarName[512];
+puts("<BR>");
+if (trackDbSetting(tdb, "pairEndsByName") != NULL)
+    {
+    printf("<B>Attempt to join paired end reads by name:</B>\n");
+    safef(cartVarName, sizeof(cartVarName), "%s_pairEndsByName", tdb->tableName);
+    cartMakeCheckBox(cart, cartVarName, TRUE);
+    puts("<BR>");
+    }
+printf("<B>Minimum alignment quality:</B>\n");
+safef(cartVarName, sizeof(cartVarName), "%s_minAliQual", tdb->tableName);
+cartMakeIntVar(cart, cartVarName, 0, 4);
+puts("<BR>");
+baseColorDrawOptDropDown(cart, tdb);
+//TODO: include / exclude flags
+}
+#endif//def USE_BAM
+
 
 void superTrackUi(struct trackDb *superTdb)
 /* List tracks in this collection, with visibility controls and UI links */
 {
@@ -2327,8 +2353,12 @@
 else if (sameString(track, "switchDbTss"))
     switchDbScoreUi(tdb);
 else if (sameString(track, "dgv") || (startsWith("dgvV", track) && isdigit(track[4])))
     dgvUi(tdb);
+#ifdef USE_BAM
+else if (sameString(tdb->type, "bam"))
+    bamUi(tdb);
+#endif
 else if (tdb->type != NULL)
     {
     /* handle all tracks with type genePred or bed or "psl xeno <otherDb>" */
     char *typeLine = cloneString(tdb->type);