-/*
- * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
- * Copyright (C) $$Year-Rel$$ The Jalview Authors
- *
- * This file is part of Jalview.
- *
- * Jalview is free software: you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3
- * of the License, or (at your option) any later version.
- *
- * Jalview is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
- * The Jalview Authors are detailed in the 'AUTHORS' file.
- */
-package jalview.appletgui;
-
-import jalview.analysis.AlignSeq;
-import jalview.datamodel.Alignment;
-import jalview.datamodel.Sequence;
-import jalview.datamodel.SequenceI;
-import jalview.util.Format;
-import jalview.util.MessageManager;
-
-import java.awt.BorderLayout;
-import javax.swing.JButton;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Vector;
-
-public class PairwiseAlignPanel extends JPanel implements ActionListener
-{
- Vector sequences = new Vector();
-
- AlignmentPanel ap;
-
- public PairwiseAlignPanel(AlignmentPanel ap)
- {
- try
- {
- jbInit();
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- this.ap = ap;
- sequences = new Vector();
-
- SequenceI[] seqs;
- String[] seqStrings = ap.av.getViewAsString(true);
-
- if (ap.av.getSelectionGroup() == null)
- {
- seqs = ap.av.getAlignment().getSequencesArray();
- }
- else
- {
- seqs = ap.av.getSelectionGroup().getSequencesInOrder(
- ap.av.getAlignment());
- }
-
- float scores[][] = new float[seqs.length][seqs.length];
- double totscore = 0;
- int count = ap.av.getSelectionGroup().getSize();
- String type = (ap.av.getAlignment().isNucleotide()) ? AlignSeq.DNA
- : AlignSeq.PEP;
- Sequence seq;
-
- for (int i = 1; i < count; i++)
- {
- for (int j = 0; j < i; j++)
- {
-
- AlignSeq as = new AlignSeq(seqs[i], seqStrings[i], seqs[j],
- seqStrings[j], type);
-
- if (as.s1str.length() == 0 || as.s2str.length() == 0)
- {
- continue;
- }
-
- as.calcScoreMatrix();
- as.traceAlignment();
-
- as.printAlignment(System.out);
- scores[i][j] = (float) as.getMaxScore()
- / (float) as.getASeq1().length;
- totscore = totscore + scores[i][j];
-
- textarea.append(as.getOutput());
- sequences.add(as.getAlignedSeq1());
- sequences.add(as.getAlignedSeq1());
- }
- }
-
- if (count > 2)
- {
- System.out
- .println("Pairwise alignment scaled similarity score matrix\n");
-
- for (int i = 0; i < count; i++)
- {
- Format.print(System.out, "%s \n",
- ("" + i) + " "
- + seqs[i].getName());
- }
-
- System.out.println("\n");
-
- for (int i = 0; i < count; i++)
- {
- for (int j = 0; j < i; j++)
- {
- Format.printDouble(System.out, "%7.3f", scores[i][j]
- / totscore);
- }
- }
-
- System.out.println("\n");
- }
- }
-
- public void actionPerformed(ActionEvent evt)
- {
- if (evt.getSource() == viewInEditorButton)
- {
- viewInEditorButton_actionPerformed();
- }
- }
-
- protected void viewInEditorButton_actionPerformed()
- {
-
- Sequence[] seq = new Sequence[sequences.size()];
-
- for (int i = 0; i < sequences.size(); i++)
- {
- seq[i] = (Sequence) sequences.elementAt(i);
- }
-
- new AlignFrame(new Alignment(seq), ap.av.applet,
- "Pairwise Aligned Sequences", false);
-
- }
-
- protected JScrollPane scrollPane = new JScrollPane();
-
- protected JTextArea textarea = new JTextArea();
-
- protected JButton viewInEditorButton = new JButton();
-
- JPanel jPanel1 = new JPanel();
-
- BorderLayout borderLayout1 = new BorderLayout();
-
- private void jbInit() throws Exception
- {
- this.setLayout(borderLayout1);
- textarea.setFont(new java.awt.Font("Monospaced", 0, 12));
- textarea.setText("");
- viewInEditorButton.setFont(new java.awt.Font("Verdana", 0, 12));
- viewInEditorButton.setLabel(MessageManager
- .getString("label.view_alignment_editor"));
- viewInEditorButton.addActionListener(this);
- this.add(scrollPane, BorderLayout.CENTER);
- scrollPane.add(textarea);
- this.add(jPanel1, BorderLayout.SOUTH);
- jPanel1.add(viewInEditorButton, null);
- }
-
-}
+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)\r
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors\r
+ * \r
+ * This file is part of Jalview.\r
+ * \r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3\r
+ * of the License, or (at your option) any later version.\r
+ * \r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE. See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License\r
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
+ * The Jalview Authors are detailed in the 'AUTHORS' file.\r
+ */\r
+package jalview.appletgui;\r
+\r
+import jalview.analysis.AlignSeq;\r
+import jalview.datamodel.Alignment;\r
+import jalview.datamodel.Sequence;\r
+import jalview.datamodel.SequenceI;\r
+import jalview.util.Format;\r
+import jalview.util.MessageManager;\r
+\r
+import java.awt.BorderLayout;\r
+import javax.swing.JButton;\r
+import javax.swing.JPanel;\r
+import javax.swing.JScrollPane;\r
+import javax.swing.JTextArea;\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.ActionListener;\r
+import java.util.Vector;\r
+\r
+public class PairwiseAlignPanel extends JPanel implements ActionListener\r
+{\r
+ Vector sequences = new Vector();\r
+\r
+ AlignmentPanel ap;\r
+\r
+ public PairwiseAlignPanel(AlignmentPanel ap)\r
+ {\r
+ try\r
+ {\r
+ jbInit();\r
+ } catch (Exception e)\r
+ {\r
+ e.printStackTrace();\r
+ }\r
+ this.ap = ap;\r
+ sequences = new Vector();\r
+\r
+ SequenceI[] seqs;\r
+ String[] seqStrings = ap.av.getViewAsString(true);\r
+\r
+ if (ap.av.getSelectionGroup() == null)\r
+ {\r
+ seqs = ap.av.getAlignment().getSequencesArray();\r
+ }\r
+ else\r
+ {\r
+ seqs = ap.av.getSelectionGroup().getSequencesInOrder(\r
+ ap.av.getAlignment());\r
+ }\r
+\r
+ float scores[][] = new float[seqs.length][seqs.length];\r
+ double totscore = 0;\r
+ int count = ap.av.getSelectionGroup().getSize();\r
+ String type = (ap.av.getAlignment().isNucleotide()) ? AlignSeq.DNA\r
+ : AlignSeq.PEP;\r
+ Sequence seq;\r
+\r
+ for (int i = 1; i < count; i++)\r
+ {\r
+ for (int j = 0; j < i; j++)\r
+ {\r
+\r
+ AlignSeq as = new AlignSeq(seqs[i], seqStrings[i], seqs[j],\r
+ seqStrings[j], type);\r
+\r
+ if (as.s1str.length() == 0 || as.s2str.length() == 0)\r
+ {\r
+ continue;\r
+ }\r
+\r
+ as.calcScoreMatrix();\r
+ as.traceAlignment();\r
+\r
+ as.printAlignment(System.out);\r
+ scores[i][j] = (float) as.getMaxScore()\r
+ / (float) as.getASeq1().length;\r
+ totscore = totscore + scores[i][j];\r
+\r
+ textarea.append(as.getOutput());\r
+ sequences.add(as.getAlignedSeq1());\r
+ sequences.add(as.getAlignedSeq1());\r
+ }\r
+ }\r
+\r
+ if (count > 2)\r
+ {\r
+ System.out\r
+ .println("Pairwise alignment scaled similarity score matrix\n");\r
+\r
+ for (int i = 0; i < count; i++)\r
+ {\r
+ Format.print(System.out, "%s \n",\r
+ ("" + i) + " "\r
+ + seqs[i].getName());\r
+ }\r
+\r
+ System.out.println("\n");\r
+\r
+ for (int i = 0; i < count; i++)\r
+ {\r
+ for (int j = 0; j < i; j++)\r
+ {\r
+ Format.printDouble(System.out, "%7.3f", scores[i][j]\r
+ / totscore);\r
+ }\r
+ }\r
+\r
+ System.out.println("\n");\r
+ }\r
+ }\r
+\r
+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+ if (evt.getSource() == viewInEditorButton)\r
+ {\r
+ viewInEditorButton_actionPerformed();\r
+ }\r
+ }\r
+\r
+ protected void viewInEditorButton_actionPerformed()\r
+ {\r
+\r
+ Sequence[] seq = new Sequence[sequences.size()];\r
+\r
+ for (int i = 0; i < sequences.size(); i++)\r
+ {\r
+ seq[i] = (Sequence) sequences.elementAt(i);\r
+ }\r
+\r
+ new AlignFrame(new Alignment(seq), ap.av.applet,\r
+ "Pairwise Aligned Sequences", false);\r
+\r
+ }\r
+\r
+ protected JScrollPane scrollPane = new JScrollPane();\r
+\r
+ protected JTextArea textarea = new JTextArea();\r
+\r
+ protected JButton viewInEditorButton = new JButton();\r
+\r
+ JPanel jPanel1 = new JPanel();\r
+\r
+ BorderLayout borderLayout1 = new BorderLayout();\r
+\r
+ private void jbInit() throws Exception\r
+ {\r
+ this.setLayout(borderLayout1);\r
+ textarea.setFont(new java.awt.Font("Monospaced", 0, 12));\r
+ textarea.setText("");\r
+ viewInEditorButton.setFont(new java.awt.Font("Verdana", 0, 12));\r
+ viewInEditorButton.setLabel(MessageManager\r
+ .getString("label.view_alignment_editor"));\r
+ viewInEditorButton.addActionListener(this);\r
+ this.add(scrollPane, BorderLayout.CENTER);\r
+ scrollPane.add(textarea);\r
+ this.add(jPanel1, BorderLayout.SOUTH);\r
+ jPanel1.add(viewInEditorButton, null);\r
+ }\r
+\r
+}\r