X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPairwiseAlignPanel.java;h=c4b53675abfa3830ed371f5826ebe175d5207ba6;hb=353cb52722490edcba2c13b18836b6d37c5455de;hp=4aea4b1a08395f3fb078295415145ec3e6bad269;hpb=427421de47dacacac55ac29deca78e2f0a1c5408;p=jalview.git diff --git a/src/jalview/gui/PairwiseAlignPanel.java b/src/jalview/gui/PairwiseAlignPanel.java index 4aea4b1..c4b5367 100755 --- a/src/jalview/gui/PairwiseAlignPanel.java +++ b/src/jalview/gui/PairwiseAlignPanel.java @@ -65,14 +65,14 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel && selectionGroup.getSize() > 0; AlignmentView view = viewport.getAlignmentView(isSelection); // String[] seqStrings = viewport.getViewAsString(true); - String[] seqStrings = view.getSequenceStrings(viewport - .getGapCharacter()); + String[] seqStrings = view + .getSequenceStrings(viewport.getGapCharacter()); SequenceI[] seqs; if (isSelection) { - seqs = (SequenceI[]) view.getAlignmentAndHiddenColumns(viewport - .getGapCharacter())[0]; + seqs = (SequenceI[]) view + .getAlignmentAndHiddenColumns(viewport.getGapCharacter())[0]; } else { @@ -83,7 +83,7 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel : AlignSeq.PEP; float[][] scores = new float[seqs.length][seqs.length]; - double totscore = 0; + double totscore = 0D; int count = seqs.length; boolean first = true; @@ -109,8 +109,7 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel } first = false; as.printAlignment(System.out); - scores[i][j] = as.getMaxScore() - / as.getASeq1().length; + scores[i][j] = as.getMaxScore() / as.getASeq1().length; totscore = totscore + scores[i][j]; textarea.append(as.getOutput()); @@ -121,26 +120,53 @@ public class PairwiseAlignPanel extends GPairwiseAlignPanel if (count > 2) { + printScoreMatrix(seqs, scores, totscore); + } + } + + /** + * Prints a matrix of seqi-seqj pairwise alignment scores to sysout + * + * @param seqs + * @param scores + * @param totscore + */ + protected void printScoreMatrix(SequenceI[] seqs, float[][] scores, + double totscore) + { + System.out + .println("Pairwise alignment scaled similarity score matrix\n"); + + for (int i = 0; i < seqs.length; i++) + { System.out.println( - "Pairwise alignment scaled similarity score matrix\n"); + String.format("%3d %s", i + 1, seqs[i].getDisplayId(true))); + } - for (int i = 0; i < count; i++) - { - System.out.println(String.format("%d %s", i, - seqs[i].getDisplayId(true))); - } + /* + * table heading columns for sequences 1, 2, 3... + */ + System.out.print("\n "); + for (int i = 0; i < seqs.length; i++) + { + System.out.print(String.format("%7d", i + 1)); + } + System.out.println(); - for (int i = 0; i < count; i++) + for (int i = 0; i < seqs.length; i++) + { + System.out.print(String.format("%3d", i + 1)); + for (int j = 0; j < i; j++) { - for (int j = 0; j < i; j++) - { - System.out.print(String.format("%7.3f", scores[i][j] / totscore)); - } - System.out.println(); + /* + * as a fraction of tot score, outputs are 0 <= score <= 1 + */ + System.out.print(String.format("%7.3f", scores[i][j] / totscore)); } - - System.out.println("\n"); + System.out.println(); } + + System.out.println("\n"); } /**