X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2Fscoremodels%2FSWScoreModel.java;h=d5d998e45670e78b54193c2ff88ebd0d2a0cf173;hb=refs%2Fheads%2Freleases%2FRelease_2_10_0_Branch;hp=6e85b5e7fe7459045fa2f34d6e7e8cf10f2e610c;hpb=47168f025aefdaa044802bd5f8f510ffe43a4808;p=jalview.git diff --git a/src/jalview/analysis/scoremodels/SWScoreModel.java b/src/jalview/analysis/scoremodels/SWScoreModel.java index 6e85b5e..d5d998e 100644 --- a/src/jalview/analysis/scoremodels/SWScoreModel.java +++ b/src/jalview/analysis/scoremodels/SWScoreModel.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -32,24 +32,40 @@ public class SWScoreModel implements ScoreModelI @Override public float[][] findDistances(AlignmentView seqData) { - SequenceI[] sequenceString = seqData - .getVisibleAlignment(Comparison.GapChars.charAt(0)).getSequencesArray(); + SequenceI[] sequenceString = seqData.getVisibleAlignment( + Comparison.GapChars.charAt(0)).getSequencesArray(); int noseqs = sequenceString.length; float[][] distance = new float[noseqs][noseqs]; - - float max = -1; - - for (int i = 0; i < (noseqs - 1); i++) { for (int j = i; j < noseqs; j++) - { AlignSeq as = new AlignSeq(sequenceString[i], sequenceString[j], seqData.isNa() ? "dna" : "pep"); - as.calcScoreMatrix(); as.traceAlignment(); as.printAlignment(System.out); - distance[i][j] = (float) as.maxscore; - - if (max < distance[i][j]) { max = distance[i][j]; } } } - - for (int i = 0; i < (noseqs - 1); i++) { for (int j = i; j < noseqs; j++) - { distance[i][j] = max - distance[i][j]; distance[j][i] = distance[i][j]; - } } - + + float max = -1; + + for (int i = 0; i < (noseqs - 1); i++) + { + for (int j = i; j < noseqs; j++) + { + AlignSeq as = new AlignSeq(sequenceString[i], sequenceString[j], + seqData.isNa() ? "dna" : "pep"); + as.calcScoreMatrix(); + as.traceAlignment(); + as.printAlignment(System.out); + distance[i][j] = (float) as.maxscore; + + if (max < distance[i][j]) + { + max = distance[i][j]; + } + } + } + + for (int i = 0; i < (noseqs - 1); i++) + { + for (int j = i; j < noseqs; j++) + { + distance[i][j] = max - distance[i][j]; + distance[j][i] = distance[i][j]; + } + } + return distance; } @@ -58,17 +74,21 @@ public class SWScoreModel implements ScoreModelI { return "Smith Waterman Score"; } + @Override public boolean isDNA() { return true; } + @Override public boolean isProtein() { return true; } - public String toString() { + + public String toString() + { return "Score between two sequences aligned with Smith Waterman with default Peptide/Nucleotide matrix"; } }