3 import jalview.datamodel.*;
\r
4 import jalview.jbgui.GPairwiseAlignPanel;
\r
5 import jalview.analysis.*;
\r
6 import java.awt.event.*;
\r
7 import javax.swing.*;
\r
11 public class PairwiseAlignPanel extends GPairwiseAlignPanel
\r
13 Vector sequences = new Vector();
\r
16 public PairwiseAlignPanel(AlignViewport av)
\r
20 Vector selsubset = new Vector();
\r
21 for (int i=0, j=av.getSelectionGroup().getSize(); i<j; i++)
\r
22 if (av.getAlignment().getSequences().contains(av.getSelectionGroup().getSequenceAt(i)))
\r
23 selsubset.add(av.getSelectionGroup().getSequenceAt(i));
\r
24 float scores[][] = new float[selsubset.size()][selsubset.size()];
\r
25 double totscore = 0;
\r
26 int count = selsubset.size();
\r
29 for (int i = 1; i < count; i++)
\r
31 for (int j = 0; j < i; j++)
\r
34 AlignSeq as = new AlignSeq( (SequenceI) selsubset.elementAt(i),
\r
35 (SequenceI) selsubset.elementAt(j), "pep");
\r
36 as.calcScoreMatrix();
\r
37 as.traceAlignment();
\r
38 as.printAlignment();
\r
39 scores[i][j] = (float) as.getMaxScore() /
\r
40 (float) as.getASeq1().length;
\r
41 totscore = totscore + scores[i][j];
\r
43 textarea.append(as.getOutput());
\r
44 sequences.add(new Sequence(as.getS1().getName(), as.getAStr1()));
\r
45 sequences.add(new Sequence(as.getS2().getName(), as.getAStr2()));
\r
50 System.out.println("Pairwise alignment scaled similarity score matrix\n");
\r
51 for (int i = 0; i < count;i++)
\r
52 jalview.util.Format.print(System.out, "%s \n", (""+i)+" "+((SequenceI) selsubset.elementAt(i)).getName());
\r
53 System.out.println("\n");
\r
54 for (int i = 0; i < count;i++)
\r
55 for (int j = 0; j < i; j++)
\r
56 jalview.util.Format.print(System.out,"%7.3f",scores[i][j]/totscore);
\r
57 System.out.println("\n");
\r
63 protected void viewInEditorButton_actionPerformed(ActionEvent e)
\r
66 Sequence [] seq = new Sequence[sequences.size()];
\r
68 for (int i=0;i<sequences.size();i++)
\r
69 seq[i] = (Sequence) sequences.elementAt(i);
\r
72 AlignFrame af = new AlignFrame(new Alignment(seq));
\r
73 Desktop.addInternalFrame(af, "Pairwise Aligned Sequences",
\r
74 AlignFrame.NEW_WINDOW_WIDTH,
\r
75 AlignFrame.NEW_WINDOW_HEIGHT);
\r