}
@Override
- public List<SequenceFeature> findFeaturesAtRes(SequenceI sequence, int res)
+ public List<SequenceFeature> findFeaturesAtColumn(SequenceI sequence, int column)
{
+ /*
+ * include features at the position provided their feature type is
+ * displayed, and feature group is null or marked for display
+ */
List<SequenceFeature> result = new ArrayList<SequenceFeature>();
- if (!av.areFeaturesDisplayed())
+ if (!av.areFeaturesDisplayed() || getFeaturesDisplayed() == null)
{
return result;
}
.getVisibleFeatures();
String[] visibleTypes = visibleFeatures
.toArray(new String[visibleFeatures.size()]);
-
- /*
- * include features at the position provided their feature type is
- * displayed, and feature group is null or marked for display
- */
- List<SequenceFeature> features = sequence.findFeatures(res, res,
+ List<SequenceFeature> features = sequence.findFeatures(column, column,
visibleTypes);
for (SequenceFeature sf : features)
.booleanValue();
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public List<SequenceFeature> findFeaturesAtResidue(SequenceI sequence,
+ int resNo)
+ {
+ List<SequenceFeature> result = new ArrayList<SequenceFeature>();
+ if (!av.areFeaturesDisplayed() || getFeaturesDisplayed() == null)
+ {
+ return result;
+ }
+
+ /*
+ * include features at the position provided their feature type is
+ * displayed, and feature group is null or the empty string
+ * or marked for display
+ */
+ Set<String> visibleFeatures = getFeaturesDisplayed()
+ .getVisibleFeatures();
+ String[] visibleTypes = visibleFeatures
+ .toArray(new String[visibleFeatures.size()]);
+ List<SequenceFeature> features = sequence.getFeatures().findFeatures(
+ resNo, resNo, visibleTypes);
+
+ for (SequenceFeature sf : features)
+ {
+ if (!featureGroupNotShown(sf))
+ {
+ result.add(sf);
+ }
+ }
+ return result;
+ }
+
}