7f5b0b5cf3ed7efc0f9e84aa5bdcc097473c7584
kent
  Thu Feb 3 21:18:16 2011 -0800
Some preliminary work putting proper bam support in table browser.  Still quite a ways to go, but have implemented a way to get a list of alignments in 'sam' format out of a BAM.  This I think contains all the info.
diff --git src/hg/hgTracks/bamTrack.c src/hg/hgTracks/bamTrack.c
index 4061197..51be6f2 100644
--- src/hg/hgTracks/bamTrack.c
+++ src/hg/hgTracks/bamTrack.c
@@ -470,39 +470,39 @@
     if (tg->customPt)
 	{
 	errAbort("bamLoadItemsCore: can't find bigDataUrl for custom track %s", tg->track);
 	}
     else
 	{
 	struct sqlConnection *conn = hAllocConnTrack(database, tg->tdb);
 	fileName = bamFileNameFromTable(conn, tg->table, chromName);
 	hFreeConn(&conn);
 	}
     }
 
 char posForBam[512];
 safef(posForBam, sizeof(posForBam), "%s:%d-%d", chromName, winStart, winEnd);
 if (!isPaired)
-    bamFetch(fileName, posForBam, addBam, &btd);
+    bamFetch(fileName, posForBam, addBam, &btd, NULL);
 else
     {
     char *setting = trackDbSettingClosestToHomeOrDefault(tg->tdb, "pairSearchRange", "20000");
     int pairSearchRange = atoi(setting);
     if (pairSearchRange > 0)
 	safef(posForBam, sizeof(posForBam), "%s:%d-%d", chromName,
 	      max(0, winStart-pairSearchRange), winEnd+pairSearchRange);
-    bamFetch(fileName, posForBam, addBamPaired, &btd);
+    bamFetch(fileName, posForBam, addBamPaired, &btd, NULL);
     struct hashEl *hel;
     struct hashCookie cookie = hashFirst(btd.pairHash);
     while ((hel = hashNext(&cookie)) != NULL)
 	{
 	struct linkedFeatures *lf = hel->val;
 	if (lf->start < winEnd && lf->end > winStart)
 	    slAddHead(&(tg->items), lfsFromLf(lf));
 	}
     }
 if (tg->visibility != tvDense)
     {
     slReverse(&(tg->items));
     if (isPaired)
 	slSort(&(tg->items), linkedFeaturesSeriesCmp);
     else if (sameString(colorMode, BAM_COLOR_MODE_STRAND))