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 float scores[][] = new float[av.getAlignment().getHeight()][av.getAlignment().getHeight()];
\r
21 double totscore = 0;
\r
22 int count = av.getSelection().size();
\r
25 for (int i = 1; i < count; i++)
\r
27 for (int j = 0; j < i; j++)
\r
30 AlignSeq as = new AlignSeq(av.getSelection().sequenceAt(i),av.getSelection().sequenceAt(j),"pep");
\r
32 as.calcScoreMatrix();
\r
33 as.traceAlignment();
\r
34 as.printAlignment();
\r
35 scores[i][j] = (float)as.getMaxScore()/(float)as.getASeq1().length;
\r
36 totscore = totscore + scores[i][j];
\r
38 textarea.append(as.getOutput());
\r
39 sequences.add( new Sequence( as.getS1().getName(), as.getAStr1()) );
\r
40 sequences.add( new Sequence( as.getS2().getName(), as.getAStr2()) );
\r
48 for (int i = 0; i < count;i++)
\r
49 for (int j = 0; j < i; j++)
\r
50 jalview.util.Format.print(System.out,"%7.3f",scores[i][j]/totscore);
\r
55 protected void viewInEditorButton_actionPerformed(ActionEvent e)
\r
58 Sequence [] seq = new Sequence[sequences.size()];
\r
60 for (int i=0;i<sequences.size();i++)
\r
61 seq[i] = (Sequence) sequences.elementAt(i);
\r
64 AlignFrame af = new AlignFrame(new Alignment(seq));
\r
65 int newHeight = seq.length * af.viewport.getCharHeight() + 200;
\r
69 Desktop.addInternalFrame(af, "Pairwise Aligned Sequences", 700,newHeight);
\r