1020ed9ae2ad60e3ec36657f14029485bb2ae0f7
kate
Wed May 3 11:13:57 2017 -0700
Get bigBarChart custom track support mostly working. refs #18736
diff --git src/hg/hgc/barChartClick.c src/hg/hgc/barChartClick.c
index e1689ce..7418989 100644
--- src/hg/hgc/barChartClick.c
+++ src/hg/hgc/barChartClick.c
@@ -61,30 +61,32 @@
*retAs = as;
hasOffsets = (
asColumnFind(as, BARCHART_OFFSET_COLUMN) != NULL &&
asColumnFind(as, BARCHART_LEN_COLUMN) != NULL);
hFreeConn(&conn);
}
struct bbiFile *bbi = bigBedFileOpen(file);
struct lm *lm = lmInit(0);
struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, chrom, start, end, 0, lm);
for (bb = bbList; bb != NULL; bb = bb->next)
{
char startBuf[16], endBuf[16];
char *row[32];
bigBedIntervalToRow(bb, chrom, startBuf, endBuf, row, ArraySize(row));
struct barChartBed *barChart = barChartBedLoadOptionalOffsets(row, hasOffsets);
+ if (barChart == NULL)
+ continue;
if (sameString(barChart->name, item))
return barChart;
}
return NULL;
}
static struct barChartBed *getBarChartFromTable(struct trackDb *tdb, char *table,
char *item, char *chrom, int start, int end)
/* Retrieve barChart BED item from track table */
{
struct sqlConnection *conn = hAllocConn(database);
if (conn == NULL)
return NULL;
struct barChartBed *barChart = NULL;
char **row;
@@ -381,26 +383,20 @@
printf("Genomic position: "
"%s %s:%d-%d
\n",
database, hgTracksPathAndSettings(), database,
chartItem->chrom, chartItem->chromStart+1, chartItem->chromEnd,
chartItem->chrom, chartItem->chromStart+1, chartItem->chromEnd);
printf("Strand: %s\n", chartItem->strand);
char *matrixUrl = NULL, *sampleUrl = NULL;
struct barChartItemData *vals = getSampleVals(tdb, chartItem, &matrixUrl, &sampleUrl);
if (vals != NULL)
{
// Print boxplot
puts("
");
char *df = makeDataFrame(tdb->table, vals);
char *colorFile = makeColorFile(tdb);
printBoxplot(df, item, chartItem->name2, units, colorFile);
-/*
- if (matrixUrl != NULL)
- printf("
View data matrix and sample file\n",
- matrixUrl, sampleUrl);
-*/
printf("
View data for all samples\n", df);
}
puts("
");
-printTrackHtml(tdb);
}