package org.broad.igv.feature.dsi; import htsjdk.tribble.Feature; import org.broad.igv.track.FeatureSource; import org.broad.igv.track.FeatureTrack; import org.broad.igv.ui.panel.ReferenceFrame; import org.broad.igv.util.ResourceLocator; import java.util.List; /** * Created by jrobinson on 7/19/16. */ public class DSITrack extends FeatureTrack { public DSITrack(ResourceLocator locator, FeatureSource src) { super(locator, src); setRenderer(new DSIRenderer()); } @Override public String getValueStringAt(String chr, double position, int mouseX, int mouseY, ReferenceFrame frame) { List<Feature> allFeatures = getAllFeatureAt(position, mouseY, frame); if (allFeatures == null) { return null; } StringBuffer buf = new StringBuffer(); boolean firstFeature = true; int maxNumber = 10; int n = 1; for (Feature feature : allFeatures) { if (feature != null && feature instanceof DSIFeature) { if (!firstFeature) { buf.append("<hr><br>"); } DSIFeature igvFeature = (DSIFeature) feature; String vs = igvFeature.getValueString(position, null); buf.append(vs); firstFeature = false; if (n > maxNumber) { buf.append("..."); break; } } n++; } return buf.toString(); } }