X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src2%2Ffr%2Forsay%2Flri%2Fvarna%2Fapplications%2FSuperpositionDemo.java;fp=src2%2Ffr%2Forsay%2Flri%2Fvarna%2Fapplications%2FSuperpositionDemo.java;h=edef438dff8ec97de72796190a862eadd80914c4;hb=665d2c2f4c1310e6985b93b7c2c8a8eec2fa9086;hp=0000000000000000000000000000000000000000;hpb=0e684f72690bd6532272a39ab6c188a27559fd09;p=jalview.git diff --git a/src2/fr/orsay/lri/varna/applications/SuperpositionDemo.java b/src2/fr/orsay/lri/varna/applications/SuperpositionDemo.java new file mode 100644 index 0000000..edef438 --- /dev/null +++ b/src2/fr/orsay/lri/varna/applications/SuperpositionDemo.java @@ -0,0 +1,467 @@ +/* + VARNA is a tool for the automated drawing, visualization and annotation of the secondary structure of RNA, designed as a companion software for web servers and databases. + Copyright (C) 2008 Kevin Darty, Alain Denise and Yann Ponty. + electronic mail : Yann.Ponty@lri.fr + paper mail : LRI, bat 490 Université Paris-Sud 91405 Orsay Cedex France + + This file is part of VARNA version 3.1. + VARNA version 3.1 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. + + VARNA version 3.1 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 VARNA version 3.1. + If not, see http://www.gnu.org/licenses. + */ +package fr.orsay.lri.varna.applications; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + +import fr.orsay.lri.varna.VARNAPanel; +import fr.orsay.lri.varna.controlers.ControleurInterpolator; +import fr.orsay.lri.varna.exceptions.ExceptionDrawingAlgorithm; +import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax; +import fr.orsay.lri.varna.exceptions.ExceptionModeleStyleBaseSyntaxError; +import fr.orsay.lri.varna.exceptions.ExceptionNAViewAlgorithm; +import fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength; +import fr.orsay.lri.varna.exceptions.ExceptionParameterError; +import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses; +import fr.orsay.lri.varna.exceptions.MappingException; +import fr.orsay.lri.varna.models.VARNAConfig; +import fr.orsay.lri.varna.models.rna.Mapping; +import fr.orsay.lri.varna.models.rna.ModeleBase; +import fr.orsay.lri.varna.models.rna.ModelBaseStyle; +import fr.orsay.lri.varna.models.rna.RNA; + +import fr.orsay.lri.varna.interfaces.InterfaceVARNAListener;; + +public class SuperpositionDemo extends JFrame implements InterfaceVARNAListener { + + /** + * + */ + private static final long serialVersionUID = -790155708306987257L; + + private static final String DEFAULT_SEQUENCE1 = "CGCGCACGCGAUAUUUCGCGUCGCGCAUUUGCGCGUAGCGCG"; + private static final String DEFAULT_SEQUENCE2 = "CGCGCACGCGAUAUUUCGCGUCGCGCAUUUGCGCGUAGCGCG"; + + private static final String DEFAULT_STRUCTURE1 = "(((((.(((((----....----))))).(((((....)))))..)))))"; + private static final String DEFAULT_STRUCTURE2 = "(((((.(((((((((....))))))))).--------------..)))))"; + // private static final String DEFAULT_STRUCTURE1 = "((((....))))"; + // private static final String DEFAULT_STRUCTURE2 = + // "((((..(((....)))..))))"; + + private VARNAPanel _vpMaster; + private VARNAPanel _vpSlave; + + private JPanel _tools = new JPanel(); + private JPanel _input = new JPanel(); + + private JPanel _seqPanel = new JPanel(); + private JPanel _struct1Panel = new JPanel(); + private JPanel _struct2Panel = new JPanel(); + private JLabel _info = new JLabel(); + private JTextField _struct1 = new JTextField(DEFAULT_STRUCTURE1); + private JTextField _struct2 = new JTextField(DEFAULT_STRUCTURE2); + private JTextField _seq1 = new JTextField(DEFAULT_SEQUENCE1); + private JTextField _seq2 = new JTextField(DEFAULT_SEQUENCE2); + private JLabel _struct1Label = new JLabel(" Str1:"); + private JLabel _struct2Label = new JLabel(" Str2:"); + private JLabel _seqLabel = new JLabel(" Seq:"); + private JButton _goButton = new JButton("Go"); + private JButton _switchButton = new JButton("Switch"); + + private String _str1Backup = ""; + private String _str2Backup = ""; + private RNA _RNA1 = new RNA(); + private RNA _RNA2 = new RNA(); + + private static String errorOpt = "error"; + @SuppressWarnings("unused") + private boolean _error; + + private Color _backgroundColor = Color.white; + + @SuppressWarnings("unused") + private int _algoCode; + + private int _currentDisplay = 1; + + public static ModelBaseStyle createStyle(String txt) + { + ModelBaseStyle result = new ModelBaseStyle(); + try { + result.assignParameters(txt); + } catch (ExceptionModeleStyleBaseSyntaxError e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (ExceptionParameterError e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return result; + } + + public void applyTo(VARNAPanel vp, ModelBaseStyle mb, int[] indices) + { + for(int i=0;i