From: Jim Procter Date: Mon, 21 Apr 2014 10:07:46 +0000 (+0100) Subject: JAL-1483 cut and paste from SW score model to allow scores based on sequences to... X-Git-Tag: Jalview_2_9~123^2~24 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=dfa04e77181fccfa6229ffef1591fc9c622d9b39;p=jalview.git JAL-1483 cut and paste from SW score model to allow scores based on sequences to be calculated --- 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