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);