From dfa04e77181fccfa6229ffef1591fc9c622d9b39 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Mon, 21 Apr 2014 11:07:46 +0100 Subject: [PATCH] JAL-1483 cut and paste from SW score model to allow scores based on sequences to be calculated --- .../analysis/scoremodels/FeatureScoreModel.java | 84 ++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/jalview/analysis/scoremodels/FeatureScoreModel.java diff --git a/src/jalview/analysis/scoremodels/FeatureScoreModel.java b/src/jalview/analysis/scoremodels/FeatureScoreModel.java new file mode 100644 index 0000000..e9347e4 --- /dev/null +++ b/src/jalview/analysis/scoremodels/FeatureScoreModel.java @@ -0,0 +1,84 @@ +package jalview.analysis.scoremodels; + +import java.awt.Color; + +import jalview.analysis.AlignSeq; +import jalview.api.analysis.ScoreModelI; +import jalview.api.analysis.ViewBasedAnalysisI; +import jalview.datamodel.AlignmentView; +import jalview.datamodel.SeqCigar; +import jalview.datamodel.SequenceFeature; +import jalview.datamodel.SequenceI; +import jalview.util.Comparison; + +public class FeatureScoreModel implements ScoreModelI,ViewBasedAnalysisI +{ + jalview.api.FeatureRenderer fr; + + @Override + public boolean configureFromAlignmentView(jalview.api.AlignmentViewPanel view) + { + fr = view.cloneFeatureRenderer(); + return true; + } + + @Override + public float[][] findDistances(AlignmentView seqData) + { + + SequenceI[] sequenceString = seqData + .getVisibleAlignment(Comparison.GapChars.charAt(0)).getSequencesArray(); + int noseqs = sequenceString.length; + int cpwidth = seqData.getWidth(); + float[][] distance = new float[noseqs][noseqs]; + float max=0; + for (int cpos = 0;cpos