selection removed, now SelectionGroup does same job as id select and residue select
[jalview.git] / src / jalview / gui / PairwiseAlignPanel.java
1 package jalview.gui;\r
2 \r
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
8 import java.util.*;\r
9 \r
10 \r
11 public class PairwiseAlignPanel extends GPairwiseAlignPanel\r
12 {\r
13     Vector sequences = new Vector();\r
14     AlignViewport av;\r
15 \r
16     public PairwiseAlignPanel(AlignViewport av)\r
17     {\r
18       super();\r
19       this.av = av;\r
20       float scores[][] = new float[av.getAlignment().getHeight()][av.getAlignment().getHeight()];\r
21       double totscore = 0;\r
22       int count = av.getSelectionGroup().getSize();\r
23 \r
24       int acount = 0;\r
25         for (int i = 1; i < count; i++)\r
26         {\r
27           for (int j = 0; j < i; j++)\r
28           {\r
29             acount++;\r
30             AlignSeq as = new AlignSeq(av.getSelectionGroup().getSequenceAt(i),\r
31                                        av.getSelectionGroup().getSequenceAt(j),"pep");\r
32 \r
33             as.calcScoreMatrix();\r
34             as.traceAlignment();\r
35             as.printAlignment();\r
36             scores[i][j] = (float)as.getMaxScore()/(float)as.getASeq1().length;\r
37             totscore = totscore + scores[i][j];\r
38 \r
39             textarea.append(as.getOutput());\r
40             sequences.add( new Sequence( as.getS1().getName(), as.getAStr1()) );\r
41             sequences.add( new Sequence( as.getS2().getName(), as.getAStr2()) );\r
42 \r
43 \r
44           }\r
45         }\r
46 \r
47         if (count > 2)\r
48         {\r
49           for (int i = 0; i < count;i++)\r
50             for (int j = 0; j < i; j++)\r
51               jalview.util.Format.print(System.out,"%7.3f",scores[i][j]/totscore);\r
52         }\r
53       }\r
54 \r
55 \r
56   protected void viewInEditorButton_actionPerformed(ActionEvent e)\r
57   {\r
58 \r
59       Sequence [] seq = new Sequence[sequences.size()];\r
60 \r
61       for (int i=0;i<sequences.size();i++)\r
62        seq[i] = (Sequence) sequences.elementAt(i);\r
63 \r
64 \r
65       AlignFrame af = new AlignFrame(new Alignment(seq));\r
66       int newHeight = seq.length * af.viewport.getCharHeight() + 200;\r
67       if(newHeight>500)\r
68         newHeight=500;\r
69 \r
70       Desktop.addInternalFrame(af, "Pairwise Aligned Sequences", 700,newHeight);\r
71 \r
72   }\r
73 \r
74 }\r