import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
-import jalview.api.analysis.DistanceScoreModelI;
+import jalview.api.analysis.ScoreModelI;
import jalview.api.analysis.SimilarityParamsI;
-import jalview.api.analysis.ViewBasedAnalysisI;
import jalview.datamodel.AlignmentView;
import jalview.datamodel.SeqCigar;
import jalview.datamodel.SequenceFeature;
import java.util.Map;
import java.util.Set;
-public class FeatureDistanceModel implements DistanceScoreModelI,
- ViewBasedAnalysisI
+public class FeatureDistanceModel extends DistanceScoreModel
{
private static final String NAME = "Sequence Feature Similarity";
}
@Override
- public boolean configureFromAlignmentView(AlignmentViewPanel view)
+ public ScoreModelI getInstance(AlignmentViewPanel view)
+ {
+ FeatureDistanceModel instance;
+ try
+ {
+ instance = this.getClass().newInstance();
+ instance.configureFromAlignmentView(view);
+ return instance;
+ } catch (InstantiationException | IllegalAccessException e)
+ {
+ System.err.println("Error in " + getClass().getName()
+ + ".getInstance(): " + e.getMessage());
+ return null;
+ }
+ }
+
+ boolean configureFromAlignmentView(AlignmentViewPanel view)
{
fr = view.cloneFeatureRenderer();
/*
* first record feature types in this column for each sequence
*/
- Map<SeqCigar, Set<String>> sfap = findFeatureTypesAtColumn(
- seqs, cpos);
+ Map<SeqCigar, Set<String>> sfap = findFeatureTypesAtColumn(seqs,
+ cpos);
/*
* count feature types on either i'th or j'th sequence but not both