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.getSelectionGroup().getSize();
\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.getSelectionGroup().getSequenceAt(i),
\r
31 av.getSelectionGroup().getSequenceAt(j),"pep");
\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
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
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
56 protected void viewInEditorButton_actionPerformed(ActionEvent e)
\r
59 Sequence [] seq = new Sequence[sequences.size()];
\r
61 for (int i=0;i<sequences.size();i++)
\r
62 seq[i] = (Sequence) sequences.elementAt(i);
\r
65 AlignFrame af = new AlignFrame(new Alignment(seq));
\r
66 Desktop.addInternalFrame(af, "Pairwise Aligned Sequences",
\r
67 AlignFrame.NEW_WINDOW_WIDTH,
\r
68 AlignFrame.NEW_WINDOW_HEIGHT);
\r