JAL-3032 upgrade to Jmol 14.29.17; clearing of src2 directory
[jalview.git] / src2 / fr / orsay / lri / varna / models / rna / ModeleBaseNucleotide.java
diff --git a/src2/fr/orsay/lri/varna/models/rna/ModeleBaseNucleotide.java b/src2/fr/orsay/lri/varna/models/rna/ModeleBaseNucleotide.java
deleted file mode 100644 (file)
index ad0c5c1..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- 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.models.rna;
-
-import java.awt.geom.Point2D;
-import java.util.HashMap;
-
-import javax.xml.transform.sax.TransformerHandler;
-
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.AttributesImpl;
-
-import fr.orsay.lri.varna.utils.XMLUtils;
-
-
-/**
- * The rna base model with the first character of the nitrogenous base and it
- * display
- * 
- * @author darty
- * 
- */
-public class ModeleBaseNucleotide extends ModeleBase {
-
-       /**
-        * 
-        */
-       private static final long serialVersionUID = -5493938366569588113L;
-       private String _c;
-       private int _index;
-       
-
-       
-       public static String XML_ELEMENT_NAME = "nt";
-       public static String XML_VAR_CONTENT_NAME = "base";
-       
-       
-       public void toXML(TransformerHandler hd) throws SAXException
-       {
-               AttributesImpl atts = new AttributesImpl();
-               atts.addAttribute("","",XML_VAR_INDEX_NAME,"CDATA",""+_index);
-               atts.addAttribute("","",XML_VAR_NUMBER_NAME,"CDATA",""+_realIndex);
-               atts.addAttribute("","",XML_VAR_CUSTOM_DRAWN_NAME,"CDATA",""+_colorie);
-               atts.addAttribute("","",XML_VAR_VALUE_NAME,"CDATA",""+_value);
-               atts.addAttribute("","",XML_VAR_LABEL_NAME,"CDATA",""+_label);
-               hd.startElement("","",XML_ELEMENT_NAME,atts);
-               atts.clear();
-               hd.startElement("","",XML_VAR_CONTENT_NAME,atts);
-               XMLUtils.exportCDATAString(hd, _c);
-               hd.endElement("","",XML_VAR_CONTENT_NAME);
-
-               _coords.toXML(hd,XML_VAR_POSITION_NAME);
-               _center.toXML(hd,XML_VAR_CENTER_NAME);
-               if (_colorie)
-               { _styleBase.toXML(hd); }
-               hd.endElement("","",XML_ELEMENT_NAME);
-       }
-
-       /**
-        * Creates a new rna base with the default display style and a space as
-        * nitrogenous base
-        * @param index The index of this base
-        */
-       public ModeleBaseNucleotide(int index) {
-               this(" ", index);
-       }
-
-       /**
-        * Creates a new rna base with the nitrogenous base
-        * 
-        * @param s
-        *            The code of this base
-        * @param index The index of this base
-        */
-       public ModeleBaseNucleotide(String s, int index) {
-               this(s, new ModelBaseStyle(), index);
-       }
-
-
-       /**
-        * Creates a new rna base with the nitrogenous base
-        * 
-        * @param s
-        *            The full label, potentially requiring further decoding
-        * @param index The index of this base
-        * @param baseNumber The number of this base, which may differ from the index (e.g. discontinuous numbering)
-        */
-       public ModeleBaseNucleotide(String s, int index, int baseNumber) {
-               this(s, new ModelBaseStyle(), index);
-               _realIndex = baseNumber;
-       }
-
-       /**
-        * Creates a new rna base with the nitrogenous base and the display style
-        * 
-        * @param s
-        *            The full label, potentially requiring further decoding
-        * @param msb
-        *            The display style
-        * @param index The index of this base
-        */
-       public ModeleBaseNucleotide(String s, ModelBaseStyle msb, int index) {
-               this(new Point2D.Double(), new Point2D.Double(), true, s, msb, -1,
-                               index);
-       }
-
-       /**
-        * Creates a new rna base with a display style
-        * 
-        * @param msb
-        *            The display style
-        */
-       public ModeleBaseNucleotide(ModelBaseStyle msb, int index, int baseNumber) {
-               this("", msb, index);
-               _realIndex = baseNumber;
-       }
-
-       /**
-        * Creates a new rna base with a space as the nitrogenous base and the
-        * display style
-        * 
-        * @param coord
-        * @param index
-        */
-       public ModeleBaseNucleotide(Point2D.Double coord, int index) {
-               this(new Point2D.Double(coord.getX(), coord.getY()),
-                               new Point2D.Double(), true, "", new ModelBaseStyle(), -1,
-                               index);
-       }
-
-       /**
-        * Creates a new rna base from another one with the same attributes
-        * 
-        * @param mb
-        *            The base to copy
-        */
-       public ModeleBaseNucleotide(ModeleBaseNucleotide mb, int index) {
-               this(
-                               new Point2D.Double(mb.getCoords().getX(), mb.getCoords()
-                                               .getY()), new Point2D.Double(mb.getCenter().getX(), mb
-                                               .getCenter().getY()), true, mb.getBase(), mb
-                                               .getStyleBase(), mb.getElementStructure(), index);
-       }
-
-       public ModeleBaseNucleotide(Point2D.Double coords, Point2D.Double center,
-                       boolean colorie, String label, ModelBaseStyle mb, int elementStruct,
-                       int index) {
-               _colorie = colorie;
-               _c = label;
-               _styleBase = mb;
-               _coords = new VARNAPoint(coords);
-               _center = new VARNAPoint(center);
-               _index = index;
-               _realIndex = index + 1;
-               _value = 0.0;
-       }
-
-       
-       public ModelBaseStyle getStyleBase() {
-               if (_colorie)
-                       return _styleBase;
-               return new ModelBaseStyle();
-       }
-
-       public String getBase() {
-               return decode(_c);
-       }
-
-       public void setBase(String _s) {
-               this._c = _s;
-       }
-
-
-
-       public String getContent() {
-               return getBase();
-       }
-
-       public void setContent(String s) {
-               setBase(s);
-       }
-
-       public int getIndex() {
-               return _index;
-       }
-       
-       public String toString()
-       {
-               return ""+this._realIndex+" ("+_index+") (x,y):"+this._coords +" C:"+_center;
-       }
-
-       
-       private enum STATE_SPECIAL_CHARS_STATES{ NORMAL,SUBSCRIPT, SUPERSCRIPT, COMMAND};
-
-       private static HashMap<Character,Character> _subscripts = new HashMap<Character,Character>();
-       private static HashMap<Character,Character> _superscripts = new HashMap<Character,Character>();
-       private static HashMap<String,Character> _commands = new HashMap<String,Character>();
-       {
-               _subscripts.put('0', '\u2080');
-               _subscripts.put('1', '\u2081');
-               _subscripts.put('2', '\u2082');
-               _subscripts.put('3', '\u2083');
-               _subscripts.put('4', '\u2084');
-               _subscripts.put('5', '\u2085');
-               _subscripts.put('6', '\u2086');
-               _subscripts.put('7', '\u2087');
-               _subscripts.put('8', '\u2088');
-               _subscripts.put('9', '\u2089');
-               _subscripts.put('+', '\u208A');
-               _subscripts.put('-', '\u208B');
-               _subscripts.put('a', '\u2090');
-               _subscripts.put('e', '\u2091');
-               _subscripts.put('o', '\u2092');
-               _subscripts.put('i', '\u1D62');
-               _subscripts.put('r', '\u1D63');
-               _subscripts.put('u', '\u1D64');
-               _subscripts.put('v', '\u1D65');
-               _subscripts.put('x', '\u2093');
-               _superscripts.put('0', '\u2070');
-               _superscripts.put('1', '\u00B9');
-               _superscripts.put('2', '\u00B2');
-               _superscripts.put('3', '\u00B3');
-               _superscripts.put('4', '\u2074');
-               _superscripts.put('5', '\u2075');
-               _superscripts.put('6', '\u2076');
-               _superscripts.put('7', '\u2077');
-               _superscripts.put('8', '\u2078');
-               _superscripts.put('9', '\u2079');
-               _superscripts.put('+', '\u207A');
-               _superscripts.put('-', '\u207B');
-               _superscripts.put('i', '\u2071');
-               _superscripts.put('n', '\u207F');
-               _commands.put("alpha",  '\u03B1');
-               _commands.put("beta",   '\u03B2');
-               _commands.put("gamma",  '\u03B3');
-               _commands.put("delta",  '\u03B4');
-               _commands.put("epsilon",'\u03B5');
-               _commands.put("zeta",   '\u03B6');
-               _commands.put("eta",    '\u03B7');
-               _commands.put("theta",  '\u03B8');
-               _commands.put("iota",   '\u03B9');
-               _commands.put("kappa",  '\u03BA');
-               _commands.put("lambda", '\u03BB');
-               _commands.put("mu",     '\u03BC');
-               _commands.put("nu",     '\u03BD');
-               _commands.put("xi",     '\u03BE');
-               _commands.put("omicron",'\u03BF');
-               _commands.put("pi",     '\u03C1');
-               _commands.put("rho",    '\u03C2');
-               _commands.put("sigma",  '\u03C3');
-               _commands.put("tau",    '\u03C4');
-               _commands.put("upsilon",'\u03C5');
-               _commands.put("phi",    '\u03C6');
-               _commands.put("chi",    '\u03C7');
-               _commands.put("psi",    '\u03C8');
-               _commands.put("omega",  '\u03C9');
-               _commands.put("Psi",    '\u03A8');
-               _commands.put("Phi",    '\u03A6');
-               _commands.put("Sigma",  '\u03A3');
-               _commands.put("Pi",     '\u03A0');
-               _commands.put("Theta",  '\u0398');
-               _commands.put("Omega",  '\u03A9');
-               _commands.put("Gamma",  '\u0393');
-               _commands.put("Delta",  '\u0394');
-               _commands.put("Lambda", '\u039B');
-       }
-
-       
-       
-       private static String decode(String s)
-       {
-               if (s.length()<=1)
-               {
-                       return s;
-               }
-               STATE_SPECIAL_CHARS_STATES state = STATE_SPECIAL_CHARS_STATES.NORMAL;
-               
-               String result = "";
-               String buffer = ""; 
-               for(int i=0;i<s.length();i++)
-               {
-                       char c = s.charAt(i);
-                       switch (state)
-                       {
-                               case NORMAL:
-                               {
-                                       switch(c)
-                                       {
-                                               case '_':
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUBSCRIPT;
-                                               break;
-                                               case '^':
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUPERSCRIPT;
-                                               break;
-                                               case '\\':
-                                                       buffer = "";
-                                                       state = STATE_SPECIAL_CHARS_STATES.COMMAND;
-                                               break;
-                                               default:
-                                                       result += c;
-                                                       state = STATE_SPECIAL_CHARS_STATES.NORMAL;
-                                               break;
-                                       }
-                               }
-                               break;
-                               case SUBSCRIPT:
-                               case SUPERSCRIPT:
-                               {
-                                       switch(c)
-                                       {
-                                               case '_':
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUBSCRIPT;
-                                               break;
-                                               case '^':
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUPERSCRIPT;
-                                               break;
-                                               case '\\':
-                                                       buffer = "";
-                                                       state = STATE_SPECIAL_CHARS_STATES.COMMAND;
-                                               break;
-                                               default:
-                                                       if ((state==STATE_SPECIAL_CHARS_STATES.SUBSCRIPT) && _subscripts.containsKey(c))
-                                                               result += _subscripts.get(c); 
-                                                       else if ((state==STATE_SPECIAL_CHARS_STATES.SUPERSCRIPT) && _superscripts.containsKey(c))
-                                                               result += _superscripts.get(c); 
-                                                       else
-                                                               result += c;
-                                                       state = STATE_SPECIAL_CHARS_STATES.NORMAL;
-                                               break;
-                                       }
-                               }
-                               break;
-                               case COMMAND:
-                               {
-                                       switch(c)
-                                       {
-                                               case '_':
-                                                       if (_commands.containsKey(buffer))
-                                                       { result += _commands.get(buffer); }
-                                                       else
-                                                       { result += buffer; }
-                                                       buffer = "";
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUBSCRIPT;
-                                               break;
-                                               case '^':
-                                                       if (_commands.containsKey(buffer))
-                                                       { result += _commands.get(buffer); }
-                                                       else
-                                                       { result += buffer; }
-                                                       buffer = "";
-                                                       state = STATE_SPECIAL_CHARS_STATES.SUPERSCRIPT;
-                                               break;
-                                               case '\\':
-                                                       if (_commands.containsKey(buffer))
-                                                       { result += _commands.get(buffer); }
-                                                       else
-                                                       { result += buffer; }
-                                                       buffer = "";
-                                                       state = STATE_SPECIAL_CHARS_STATES.COMMAND;
-                                               break;
-                                               case ' ':
-                                                       state = STATE_SPECIAL_CHARS_STATES.NORMAL;
-                                                       if (_commands.containsKey(buffer))
-                                                       { 
-                                                               result += _commands.get(buffer);
-                                                       }
-                                                       else
-                                                       {
-                                                               result += buffer;
-                                                       }
-                                                       buffer = "";
-                                               break;
-                                               default:
-                                                       buffer += c;
-                                               break;
-                                       }
-                               }
-                               break;
-                       }
-               }
-               if (_commands.containsKey(buffer))
-               { 
-                       result += _commands.get(buffer);
-               }
-               else
-               {
-                       result += buffer;
-               }
-               return result;
-       }
-       
-       
-}