protected Stream<Entity> queryDataSet(String segmentId, int browserStart, int browserStop, String dataSet,
int maxbins)
{
String chromosomeAttribute = config.getAttributeNameForAttributeNameArray(GenomicDataSettings.Meta.ATTRS_CHROM,
dataService.getEntityType(dataSet));
String posAttr = config.getAttributeNameForAttributeNameArray(GenomicDataSettings.Meta.ATTRS_POS,
dataService.getEntityType(dataSet));
String stopAttr = config.getAttributeNameForAttributeNameArray(GenomicDataSettings.Meta.ATTRS_STOP,
dataService.getEntityType(dataSet));
Query<Entity> q = new QueryImpl<>().eq(chromosomeAttribute, segmentId);
q.and().nest();
q.le(posAttr, browserStop);
if (stopAttr != "")
{
q.and().ge(stopAttr, browserStart);
}
else
{
q.and().ge(posAttr, browserStart);
}
q.unnest();
q.pageSize(maxbins);
return dataService.findAll(dataSet, q);
}