String... type)
{
List<SequenceFeature> result = new ArrayList<>();
+
for (FeatureStore featureSet : varargToTypes(type))
{
result.addAll(featureSet.findOverlappingFeatures(from, to));
}
+
return result;
}
return featureStore.values();
}
-
List<FeatureStore> types = new ArrayList<>();
List<String> args = Arrays.asList(type);
for (Entry<String, FeatureStore> featureType : featureStore.entrySet())
{
return true;
}
- SequenceOntologyI so = SequenceOntologyFactory.getSequenceOntology();
+ SequenceOntologyI so = SequenceOntologyFactory.getInstance();
for (String term : soTerm)
{
if (type.equals(term) || so.isA(type, term))
{
featureStore.clear();
}
-
- /**
- * Simplified find for features associated with a given position.
- *
- * JavaScript set to not use IntervalI, but easily testable by setting false
- * to true in javadoc
- *
- * FeatureRenderer has checked already that featureStore does contain type.
- *
- * @author Bob Hanson 2019.07.30
- */
- @Override
- public List<SequenceFeature> findFeatures(int pos, String type,
- List<SequenceFeature> list)
- {
- FeatureStore fs = featureStore.get(type);
- boolean useIntervalStore = /**
- * @j2sNative false &&
- */
- true;
- return (useIntervalStore ? fs.findOverlappingFeatures(pos, pos)
- : fs.findOverlappingFeatures(pos, list));
- }
-
- // Chrome; developer console closed
-
- // BH 2019.08.01 useIntervalStore true, redraw false:
- // Platform: timer mark 13.848 0.367 overviewrender 16000 pixels row:14
- // Platform: timer mark 15.391 0.39 overviewrender 16000 pixels row:14
- // Platform: timer mark 16.498 0.39 overviewrender 16000 pixels row:14
- // Platform: timer mark 17.596 0.401 overviewrender 16000 pixels row:14
- // Platform: timer mark 18.738 0.363 overviewrender 16000 pixels row:14
- // Platform: timer mark 19.659 0.358 overviewrender 16000 pixels row:14
- // Platform: timer mark 20.737 0.359 overviewrender 16000 pixels row:14
- // Platform: timer mark 21.797 0.391 overviewrender 16000 pixels row:14
- // Platform: timer mark 22.851 0.361 overviewrender 16000 pixels row:14
- // Platform: timer mark 24.019 0.395 overviewrender 16000 pixels row:14
-
- // BH 2019.08.01 useIntervalStore false, redraw false:
- // Platform: timer mark 19.011 0.181 overviewrender 16000 pixels row:14
- // Platform: timer mark 20.311 0.183 overviewrender 16000 pixels row:14
- // Platform: timer mark 21.368 0.175 overviewrender 16000 pixels row:14
- // Platform: timer mark 22.347 0.178 overviewrender 16000 pixels row:14
- // Platform: timer mark 23.605 0.216 overviewrender 16000 pixels row:14
- // Platform: timer mark 24.836 0.191 overviewrender 16000 pixels row:14
- // Platform: timer mark 26.016 0.181 overviewrender 16000 pixels row:14
- // Platform: timer mark 27.278 0.178 overviewrender 16000 pixels row:14
- // Platform: timer mark 28.158 0.181 overviewrender 16000 pixels row:14
- // Platform: timer mark 29.227 0.196 overviewrender 16000 pixels row:14
- // Platform: timer mark 30.1 0.171 overviewrender 16000 pixels row:14
- // Platform: timer mark 31.684 0.196 overviewrender 16000 pixels row:14
- // Platform: timer mark 32.779 0.18 overviewrender 16000 pixels row:14
- // Platform: timer mark 52.355 0.185 overviewrender 16000 pixels row:14
- // Platform: timer mark 53.829 0.186 overviewrender 16000 pixels row:14
-
-
-
- /**
- * @author Bob Hanson 2019.08.01
- */
- @Override
- public boolean hasFeatures(String type)
- {
- return featureStore.containsKey(type);
- }
-
}