--- /dev/null
+// The Jalview Authors //
+// /////////////////// //
+
+This file details everyone who has contributed code to Jalview,
+or might otherwise be considered author of Jalview.
+
+The people listed below are 'The Jalview Authors', who collectively
+own the copyright to the Jalview source code and permit it to be released under GPL.
+
+This is the authoritative list. It was correct on 29th January 2014.
+If you are releasing a version of Jalview, please make sure any
+statement of authorship in the GUI reflects the list shown here.
+
+Jim Procter
+Andrew Waterhouse
+Jan Engelhardt
+Lauren Lui
+Natasha Sherstnev
+Daniel Barton
+Michele Clamp
+James Cuff
+Steve Searle
+David Martin
+Geoff Barton
+
-jalview.release=Release_2_8_Branch\r
-jalview.version=2.8\r
+jalview.release=Release_2_8_0b1_Branch\r
+jalview.version=2.8.0b1\r
examples/javascript/deployJava.js : http://java.com/js/deployJava.js
examples/javascript/jquery*.js : BSD license
examples/javascript/jshashtable-2.1.js : Apache License
+
+Tools not bundled with Jalview source
+jbake (http://jbake.org MIT license) was used to build the JalviewLite examples pages found in the examples directory.
+
<?xml version="1.0"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<project name="jalviewX" default="usage" basedir=".">
<!-- we use jalopy to format our sources -->
<!-- J2SE version needed for webstart launch -->
<property name="j2sev" value="1.6+"/>
- <!-- Permissions for running Java applets and applications. Defaults are those suitable for deploying jalview webstart/jalviewLite at www.jalview.org -->
- <property name="application.codebase" value="*.jalview.org"/>
- <property name="applet.codebase" value="*.jalview.org"/>
- <property name="applet.caller-codebase" value="${applet.codebase}"/>
+ <!-- Permissions for running Java applets and applications. -->
+ <!-- Defaults are those suitable for deploying jalview webstart www.jalview.org -->
+ <property name="application.codebase" value="*.jalview.org" />
+ <!-- and allowing the applet to be deployed from any URL -->
+ <property name="applet.codebase" value="*" />
+ <property name="applet.caller-codebase" value="${applet.codebase}" />
<!-- build directory configuration -->
<property name="libDir" value="lib" />
</target>
<target name="makefulldist" depends="makedist">
- <!-- the default keystore details might need to be edited here -->
- <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="SHA1withRSA">
-
- <fileset dir="${packageDir}">
- <include name="*.jar" />
- </fileset>
- </signjar>
<copy todir="${packageDir}">
<fileset dir="${resourceDir}/images">
<include name="${WebStartImage}"/>
<taskdef classpathref="build.classpath" resource="com/roxes/tools/ant/taskdefs.properties" />
- <!-- codebase="http://www.jalview.org/jalview/webstart" -->
- <!-- href="jalview.jnlp" prevent hard-wired pickup of jnlp in certain javaws versions -->
- <jnlp toFile="${packageDir}/jalview.jnlp" codebase="${WebStartLocation}">
- <information>
- <title>Jalview</title>
- <vendor>The Barton Group</vendor>
- <homepage href="http://www.jalview.org" />
- <description>Jalview Multiple Alignment Editor</description>
- <description kind="short">Jalview</description>
- <icon href="${WebStartImage}" />
- <offline_allowed/>
- </information>
- <resources>
- <j2se version="${j2sev}" initial_heap_size="10M" />
+ <!-- create a dummy jar which will eventually contain the jnlp template -->
+ <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
<fileset dir="${packageDir}">
<include name="jalview.jar" />
</fileset>
+ </jar>
+
+ <mkdir dir="${packageDir}/JNLP-INF"/>
+ <antcall target="writejnlpf">
+ <param name="jnlpFile" value="${packageDir}/JNLP-INF/APPLICATION-TEMPLATE.JNLP"/>
+ <param name="inih" value="*" />
+ <param name="maxh" value="*"/>
+ </antcall>
+
+ <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
<fileset dir="${packageDir}">
- <include name="*.jar" />
- <include name="*_*.jar" />
- <exclude name="jalview.jar" />
- </fileset>
- <property name="jalview.version" value="${JALVIEW_VERSION}" />
- </resources>
- <application_desc main_class="jalview.bin.Jalview">
- </application_desc>
- <security>
- <all_permissions />
- </security>
- </jnlp>
- <jnlp toFile="${packageDir}/jalview_1G.jnlp" codebase="${WebStartLocation}">
- <information>
- <title>Jalview</title>
- <vendor>The Barton Group</vendor>
- <homepage href="http://www.jalview.org" />
- <description>Jalview Multiple Alignment Editor</description>
- <description kind="short">Jalview</description>
- <icon href="${WebStartImage}" />
- <offline_allowed />
- </information>
- <resources>
- <j2se version="${j2sev}" initial_heap_size="128M" max_heap_size="512M" />
- <fileset dir="${packageDir}">
- <include name="jalview.jar" />
- </fileset>
- <fileset dir="${packageDir}">
- <include name="*.jar" />
- <include name="*_*.jar" />
- <exclude name="jalview.jar" />
- </fileset>
- <property name="jalview.version" value="${JALVIEW_VERSION}" />
- </resources>
- <application_desc main_class="jalview.bin.Jalview">
- </application_desc>
- <security>
- <all_permissions />
- </security>
- </jnlp>
- <jnlp toFile="${packageDir}/jalview_2G.jnlp" codebase="${WebStartLocation}">
- <information>
- <title>Jalview</title>
- <vendor>The Barton Group</vendor>
- <homepage href="http://www.jalview.org" />
- <description>Jalview Multiple Alignment Editor</description>
- <description kind="short">Jalview</description>
- <icon href="${WebStartImage}" />
- <offline_allowed />
- </information>
- <resources>
- <j2se version="${j2sev}" initial_heap_size="256M" max_heap_size="1024M" />
- <fileset dir="${packageDir}">
- <include name="jalview.jar" />
+ <include name="JNLP-INF"/>
</fileset>
- <fileset dir="${packageDir}">
- <include name="*.jar" />
- <include name="*_*.jar" />
- <exclude name="jalview.jar" />
- </fileset>
- <property name="jalview.version" value="${JALVIEW_VERSION}" />
- </resources>
- <application_desc main_class="jalview.bin.Jalview">
- </application_desc>
- <security>
- <all_permissions />
- </security>
- </jnlp>
+ </jar>
+
+ <antcall target="writejnlpf">
+ <param name="jnlpFile" value="${packageDir}/jalview.jnlp"/>
+ <param name="inih" value="10M" />
+ <param name="maxh" value="256M"/>
+ </antcall>
+
+ <antcall target="writejnlpf">
+ <param name="jnlpFile" value="${packageDir}/jalview_1G.jnlp"/>
+ <param name="inih" value="128M" />
+ <param name="maxh" value="512M"/>
+ </antcall>
+
+ <antcall target="writejnlpf">
+ <param name="jnlpFile" value="${packageDir}/jalview_2G.jnlp"/>
+ <param name="inih" value="256M" />
+ <param name="maxh" value="1024M"/>
+ </antcall>
+
<!-- finally, need to postprocess to add in associations at end of 'information' element
<xslt in="${packageDir}/jalview_noa_1G.jnlp" out="${packageDir}/jalview_1G.jnlp">
<!--
<association mime-type="application-x/ext-file" extensions="fa"/>
<association mime-type="application-x/ext-file" extensions="fasta"/>
+ <association mime-type="application-x/ext-file" extensions="mfa"/>
<association mime-type="application-x/ext-file" extensions="fastq"/>
<association mime-type="application-x/ext-file" extensions="blc"/>
<association mime-type="application-x/ext-file" extensions="msf"/>
<association mime-type="application-x/ext-file" extensions="amsa"/>
<association mime-type="application-x/ext-file" extensions="stk"/>
<association mime-type="application-x/ext-file" extensions="jar"/>-->
-
+ <!-- and sign the jars -->
+ <!-- the default keystore details might need to be edited here -->
+ <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="SHA1withRSA">
+ <fileset dir="${packageDir}">
+ <include name="*.jar" />
+ </fileset>
+ </signjar>
</target>
<target name="runenv" depends="init">
<echo>java -classpath ${run.classpath} jalview.bin.Jalview
</echo>
</target>
-
+ <target name="writejnlpf">
+ <presetdef name="jnlpf">
+ <jnlp codebase="${WebStartLocation}">
+ <information>
+ <title>Jalview</title>
+ <vendor>The Barton Group</vendor>
+ <homepage href="http://www.jalview.org" />
+ <description>Jalview Multiple Alignment Editor</description>
+ <description kind="short">Jalview</description>
+ <icon href="${WebStartImage}" />
+ <offline_allowed />
+ </information>
+ <resources>
+ <j2se version="${j2sev}" initial_heap_size="${inih}" max_heap_size="${maxh}" />
+ <fileset dir="${packageDir}">
+ <include name="jalview.jar" />
+ </fileset>
+ <fileset dir="${packageDir}">
+ <include name="*.jar" />
+ <include name="*_*.jar" />
+ <exclude name="jalview.jar" />
+ </fileset>
+ <property name="jalview.version" value="${JALVIEW_VERSION}" />
+ </resources>
+ <application_desc main_class="jalview.bin.Jalview">
+ </application_desc>
+ <security>
+ <all_permissions />
+ </security>
+ </jnlp>
+ </presetdef>
+
+ <jnlpf toFile="${jnlpFile}"/>
+ </target>
<target name="buildextclients" depends="init">
<input message="Building external client source from WSDLs - Do you really want to do this ? (Yy/Nn)" validargs="Y,y,n,N" defaultvalue="N" addproperty="doextbuild.response" />
<condition property="dontextbuild">
<manifest>
<attribute name="Main-Class" value="jalview.bin.Jalview" />
<attribute name="Permissions" value="all-permissions" />
- <!--<attribute name="Trusted-Lib" value="true" /> -->
- <attribute name="Application-Name" value="Jalview Desktop"/>
- <attribute name="Codebase" value="${application.codebase}"/>
+ <attribute name="Application-Name" value="Jalview Desktop" />
+ <attribute name="Codebase" value="${application.codebase}" />
</manifest>
<fileset dir="${outputDir}/">
<exclude name="cache*/**" />
<jar destfile="in.jar" index="true">
<manifest>
<attribute name="Main-Class" value="jalview.bin.JalviewLite" />
- <attribute name="Application-Name" value="JalviewLite Applet"/>
- <!-- <attribute name="Permissions" value="sandbox" /> -->
- <!--<attribute name="Trusted-Lib" value="true" /> -->
- <attribute name="Codebase" value="${applet.codebase}"/>
- <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}"/>
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Codebase" value="${applet.codebase}" />
</manifest>
<fileset dir="${outputDir}">
<include name="com/**" />
<include name="jmol/*"/>
</fileset>
<fileset dir=".">
- <include name="jalviewApplet.jar"/>
+ <include name="${jalviewLiteJar}" />
</fileset>
<fileset dir="appletlib">
<include name="**/*"/>
<include name="*.jar" />
</fileset>
</signjar>
- </target>
- <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
- <javadoc destdir="${javadocDir}">
- <packageset dir="${sourceDir}" includes="jalview/*,MCView/*">
- </packageset>
- </javadoc>
- </target>
-
+ <presetdef name="ap_applet.jar">
+ <!-- build a signed applet with 'all-permissions' -
+ Needs 'param name="permissions' value="all-permissions"' in applet tag
+ JalviewLite+JmolApplet linked sequence/structure fails
+ Mixed code warnings are raised
+ -->
+ <jar update="true" index="true">
+ <manifest>
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Permissions" value="all-permissions" />
+ <attribute name="Codebase" value="${applet.codebase}" />
+ <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}" />
+ <attribute name="Application-Library-Allowable-Codebase" value="${applet.codebase}" />
+ </manifest>
+ </jar>
+ </presetdef>
+ <presetdef name="applet.jar">
+ <!-- build signed applet with sandbox permissions -
+ Needs 'param name="permissions' value="sandbox"' in applet tag
+ Preserves Pre-Java 1.7_u45 behavior once 'permissions' parameter added to applet tag
+ -->
+
+ <jar update="true" index="true">
+ <manifest>
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Permissions" value="sandbox" />
+ <attribute name="Codebase" value="${applet.codebase}" />
+ <attribute name="Caller-Allowable-Codebase" value="${applet.caller-codebase}" />
+ <attribute name="Application-Library-Allowable-Codebase" value="${applet.codebase}" />
+ </manifest>
+ </jar>
+ </presetdef>
+ <presetdef name="tl_applet.jar">
+ <!-- build signed applet with trusted library/trusted permissions -
+ Needs 'param name="permissions' value="all-permissions"' in applet tag
+ j1.7_45:
+ No mixed code warnings raised
+ Jmol/JalviewLite sequence/structure example doesn't link structures
+ Raises dialog asking user to allow page to control applet via LiveConnect javascript
+
+ -->
+
+ <jar update="true" index="true">
+ <manifest>
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Permissions" value="all-permissions" />
+ <attribute name="Codebase" value="${applet.codebase}" />
+ <attribute name="Trusted-Only" value="true" />
+ <attribute name="Trusted-Library" value="true" />
+ </manifest>
+ </jar>
+ </presetdef>
+ <presetdef name="to_applet.jar">
+ <!-- not fully test variant (yet) -->
+ <jar update="true" index="true">
+ <manifest>
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Permissions" value="all-permissions" />
+ <attribute name="Codebase" value="${applet.codebase}" />
+ <attribute name="Trusted-Only" value="true" />
+ </manifest>
+ </jar>
+ </presetdef>
+ <!-- create differently privileged artefacts -->
+ <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/u_${jalviewLiteJar}" />
+ <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true"/>
+ <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/ap_${jalviewLiteJar}" />
+ <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/ap_${jmolJar}"/>
+ <ap_applet.jar jarfile="${packageDir}/examples/ap_${jalviewLiteJar}" />
+ <ap_applet.jar jarfile="${packageDir}/examples/ap_${jmolJar}" />
+ <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/tl_${jalviewLiteJar}" />
+ <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/tl_${jmolJar}" />
+ <tl_applet.jar jarfile="${packageDir}/examples/tl_${jalviewLiteJar}" />
+ <tl_applet.jar jarfile="${packageDir}/examples/tl_${jmolJar}" />
+ <copy file="${packageDir}/examples/${jalviewLiteJar}" tofile="${packageDir}/examples/to_${jalviewLiteJar}" />
+ <copy file="${packageDir}/examples/${jmolJar}" tofile="${packageDir}/examples/to_${jmolJar}" />
+ <to_applet.jar jarfile="${packageDir}/examples/to_${jalviewLiteJar}" />
+ <to_applet.jar jarfile="${packageDir}/examples/to_${jmolJar}" />
+ <!-- finally, create manifest for original jars -->
+ <applet.jar jarfile="${packageDir}/examples/${jalviewLiteJar}" />
+ <applet.jar jarfile="${packageDir}/examples/${jmolJar}" />
+
+ <!-- todo - write examples/downloads for alternate versions of the applet -->
+ <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
+
+ <fileset dir="${packageDir}/examples">
+ <exclude name="u_*.jar"/>
+ <include name="${jalviewLiteJar}" />
+ <include name="${jmolJar}" />
+ <include name="to_${jalviewLiteJar}" />
+ <include name="to_${jmolJar}" />
+ <include name="tl_${jalviewLiteJar}" />
+ <include name="tl_${jmolJar}" />
+ <include name="ap_${jalviewLiteJar}" />
+ <include name="ap_${jmolJar}" />
+ </fileset>
+ </signjar>
+ <!-- bizarre bug causes JmolApplet to always get signed, even if excluded from above. so copy explicitly -->
+ <copy file="appletlib/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true" />
+ </target>
+ <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
+ <javadoc destdir="${javadocDir}">
+ <packageset dir="${sourceDir}" includes="jalview/*,MCView/*">
+ </packageset>
+ </javadoc>
+ </target>
</project>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<title>Adding Groovy Support to Jalview
</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<title>Jalview RNA Support</title>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Building Jalview from Source</title>
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>Developing Jalview</head>
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Adding New Datamodel Objects To Jalview</title>
--- /dev/null
+#examples-jbake
+#==============
+
+#This directory contains a jbake project that regenerates the JalviewLite example pages
+#shown at http://www.jalview.org/examples/applets.html
+
+#Instructions for building the examples directory from the jbake project:
+
+#Download jbake and add it to your path:
+#http://hash.to/2R
+#(unzip the download and add the extracted directory to your path)
+
+cd examples-jbake
+
+# this generates the example pages in the 'output' directory
+jbake
+
+# jbake -s will test the output. Copy build artefacts (jalviewLite/JmolApplet jars) into the assets directory to create a real test
+
+# remove the pages jbake autogenerates
+rm output/archive.html output/index.html output/feed.xml
+
+# and copy all the rest to examples
+cp output/*.html ../examples/
+cp -R output/css output/images ../examples/
--- /dev/null
+HEADER OXIDOREDUCTASE/ELECTRON TRANSPORT 08-MAY-00 1GAQ \r
+ATOM 2 CA GLU A 19 20.491 30.713 36.290 1.00 74.29 C \r
+ATOM 11 CA SER A 20 24.056 29.774 37.264 1.00 72.09 C \r
+ATOM 17 CA LYS A 21 27.517 31.289 37.563 1.00 70.09 C \r
+ATOM 26 CA LYS A 22 28.794 27.865 36.481 1.00 68.64 C \r
+ATOM 35 CA GLN A 23 29.484 26.806 32.884 1.00 70.46 C \r
+ATOM 44 CA GLU A 24 26.420 25.175 31.360 1.00 72.08 C \r
+ATOM 53 CA GLU A 25 26.736 26.049 27.683 1.00 70.43 C \r
+ATOM 62 CA GLY A 26 28.299 22.912 26.233 1.00 63.14 C \r
+ATOM 66 CA VAL A 27 26.863 20.704 28.982 1.00 54.50 C \r
+ATOM 73 CA VAL A 28 25.030 17.390 28.655 1.00 48.32 C \r
+ATOM 80 CA THR A 29 23.728 14.677 30.991 1.00 44.86 C \r
+ATOM 87 CA ASN A 30 22.327 11.164 30.703 1.00 45.42 C \r
+ATOM 95 CA LEU A 31 23.332 10.459 27.102 1.00 45.42 C \r
+ATOM 103 CA TYR A 32 23.549 6.898 28.380 1.00 45.88 C \r
+ATOM 115 CA LYS A 33 21.656 5.321 31.262 1.00 47.27 C \r
+ATOM 124 CA PRO A 34 21.991 2.046 33.248 1.00 48.99 C \r
+ATOM 131 CA LYS A 35 19.339 0.560 30.970 1.00 52.75 C \r
+ATOM 140 CA GLU A 36 21.580 0.855 27.886 1.00 53.33 C \r
+ATOM 149 CA PRO A 37 25.154 2.015 28.678 1.00 47.54 C \r
+ATOM 156 CA TYR A 38 27.929 2.872 26.249 1.00 41.98 C \r
+ATOM 168 CA VAL A 39 30.355 -0.017 25.909 1.00 41.48 C \r
+ATOM 175 CA GLY A 40 33.823 1.485 25.966 1.00 37.59 C \r
+ATOM 179 CA ARG A 41 37.165 -0.277 26.122 1.00 39.77 C \r
+ATOM 190 CA CYS A 42 40.148 -0.029 28.442 1.00 36.51 C \r
+ATOM 196 CA LEU A 43 43.095 1.441 26.554 1.00 36.13 C \r
+ATOM 204 CA LEU A 44 45.231 2.023 29.649 1.00 33.55 C \r
+ATOM 212 CA ASN A 45 45.140 1.026 33.307 1.00 27.79 C \r
+ATOM 220 CA THR A 46 48.056 1.800 35.617 1.00 28.75 C \r
+ATOM 227 CA LYS A 47 48.542 1.776 39.388 1.00 30.31 C \r
+ATOM 236 CA ILE A 48 49.564 5.317 40.376 1.00 31.32 C \r
+ATOM 244 CA THR A 49 50.339 4.682 44.059 1.00 37.62 C \r
+ATOM 251 CA GLY A 50 53.585 3.317 45.460 1.00 44.49 C \r
+ATOM 255 CA ASP A 51 53.706 -0.448 46.087 1.00 52.89 C \r
+ATOM 263 CA ASP A 52 53.910 0.545 49.751 1.00 55.23 C \r
+ATOM 271 CA ALA A 53 50.816 2.767 50.056 1.00 53.34 C \r
+ATOM 276 CA PRO A 54 47.904 1.940 52.405 1.00 50.60 C \r
+ATOM 283 CA GLY A 55 45.420 1.579 49.561 1.00 50.35 C \r
+ATOM 287 CA GLU A 56 46.098 1.286 45.836 1.00 42.53 C \r
+ATOM 296 CA THR A 57 44.534 3.816 43.480 1.00 41.14 C \r
+ATOM 303 CA TRP A 58 44.540 3.423 39.708 1.00 35.60 C \r
+ATOM 317 CA HIS A 59 44.468 5.853 36.796 1.00 31.89 C \r
+ATOM 327 CA MET A 60 42.658 4.227 33.866 1.00 31.65 C \r
+ATOM 335 CA VAL A 61 41.716 5.345 30.350 1.00 30.43 C \r
+ATOM 342 CA PHE A 62 38.669 4.172 28.360 1.00 34.36 C \r
+ATOM 353 CA SER A 63 37.657 4.908 24.772 1.00 34.69 C \r
+ATOM 359 CA THR A 64 34.448 6.828 23.951 1.00 36.96 C \r
+ATOM 366 CA GLU A 65 34.691 7.644 20.254 1.00 40.08 C \r
+ATOM 375 CA GLY A 66 33.742 11.183 21.285 1.00 40.22 C \r
+ATOM 379 CA LYS A 67 30.272 9.763 22.003 1.00 41.93 C \r
+ATOM 388 CA ILE A 68 30.279 11.116 25.577 1.00 41.52 C \r
+ATOM 396 CA PRO A 69 30.791 14.926 25.537 1.00 42.35 C \r
+ATOM 403 CA TYR A 70 31.228 15.232 29.299 1.00 39.84 C \r
+ATOM 415 CA ARG A 71 32.639 18.451 30.768 1.00 44.14 C \r
+ATOM 426 CA GLU A 72 35.122 19.278 33.515 1.00 43.82 C \r
+ATOM 435 CA GLY A 73 33.472 18.458 36.835 1.00 41.97 C \r
+ATOM 439 CA GLN A 74 30.929 15.874 35.657 1.00 37.19 C \r
+ATOM 448 CA SER A 75 31.285 12.124 36.138 1.00 38.28 C \r
+ATOM 454 CA ILE A 76 30.458 8.792 34.539 1.00 36.84 C \r
+ATOM 462 CA GLY A 77 28.983 5.620 35.918 1.00 35.39 C \r
+ATOM 466 CA VAL A 78 30.311 2.108 35.530 1.00 32.05 C \r
+ATOM 473 CA ILE A 79 28.458 -1.201 35.591 1.00 32.67 C \r
+ATOM 481 CA ALA A 80 30.745 -4.018 36.644 1.00 35.36 C \r
+ATOM 486 CA ASP A 81 30.359 -7.373 34.872 1.00 38.72 C \r
+ATOM 494 CA GLY A 82 28.308 -10.332 36.110 1.00 45.79 C \r
+ATOM 498 CA VAL A 83 25.820 -10.242 39.001 1.00 52.24 C \r
+ATOM 505 CA ASP A 84 25.838 -10.250 42.834 1.00 60.54 C \r
+ATOM 513 CA LYS A 85 25.014 -13.158 45.196 1.00 66.72 C \r
+ATOM 522 CA ASN A 86 21.414 -13.062 43.904 1.00 67.37 C \r
+ATOM 530 CA GLY A 87 21.724 -13.423 40.136 1.00 64.74 C \r
+ATOM 534 CA LYS A 88 20.971 -9.733 39.570 1.00 61.12 C \r
+ATOM 543 CA PRO A 89 23.054 -7.201 37.561 1.00 54.68 C \r
+ATOM 550 CA HIS A 90 25.224 -4.957 39.755 1.00 44.44 C \r
+ATOM 560 CA LYS A 91 23.940 -1.433 40.260 1.00 40.48 C \r
+ATOM 569 CA VAL A 92 25.803 1.546 38.843 1.00 38.45 C \r
+ATOM 576 CA ARG A 93 28.709 2.986 40.828 1.00 38.93 C \r
+ATOM 587 CA LEU A 94 29.778 6.584 40.096 1.00 34.37 C \r
+ATOM 595 CA TYR A 95 33.309 7.878 39.513 1.00 30.27 C \r
+ATOM 607 CA SER A 96 34.425 11.475 39.057 1.00 29.44 C \r
+ATOM 613 CA ILE A 97 36.029 12.090 35.662 1.00 27.61 C \r
+ATOM 621 CA ALA A 98 39.769 12.693 36.069 1.00 31.12 C \r
+ATOM 626 CA SER A 99 40.393 13.712 32.475 1.00 32.42 C \r
+ATOM 632 CA SER A 100 39.566 17.142 31.059 1.00 36.14 C \r
+ATOM 638 CA ALA A 101 37.097 17.367 28.154 1.00 41.07 C \r
+ATOM 643 CA ILE A 102 39.764 16.549 25.527 1.00 47.65 C \r
+ATOM 651 CA GLY A 103 41.172 13.692 27.599 1.00 46.77 C \r
+ATOM 655 CA ASP A 104 44.730 12.612 28.289 1.00 43.82 C \r
+ATOM 663 CA PHE A 105 45.115 12.065 24.522 1.00 41.52 C \r
+ATOM 674 CA GLY A 106 43.862 15.455 23.328 1.00 41.66 C \r
+ATOM 678 CA ASP A 107 41.355 13.883 20.926 1.00 40.90 C \r
+ATOM 686 CA SER A 108 38.132 14.250 22.954 1.00 42.95 C \r
+ATOM 692 CA LYS A 109 37.967 10.535 22.224 1.00 44.74 C \r
+ATOM 701 CA THR A 110 38.731 9.184 25.704 1.00 41.09 C \r
+ATOM 708 CA VAL A 111 37.728 9.519 29.374 1.00 39.03 C \r
+ATOM 715 CA SER A 112 39.912 8.705 32.399 1.00 37.17 C \r
+ATOM 721 CA LEU A 113 39.098 7.476 35.935 1.00 32.10 C \r
+ATOM 729 CA CYS A 114 40.964 7.578 39.261 1.00 30.65 C \r
+ATOM 735 CA VAL A 115 39.724 4.459 41.060 1.00 33.45 C \r
+ATOM 742 CA LYS A 116 40.668 3.524 44.628 1.00 34.75 C \r
+ATOM 751 CA ARG A 117 40.376 -0.250 45.123 1.00 32.85 C \r
+ATOM 762 CA LEU A 118 38.137 -1.094 48.077 1.00 30.50 C \r
+ATOM 770 CA ILE A 119 39.376 -3.752 50.459 1.00 34.34 C \r
+ATOM 778 CA TYR A 120 38.699 -4.266 54.125 1.00 31.39 C \r
+ATOM 790 CA THR A 121 38.264 -7.086 56.567 1.00 28.83 C \r
+ATOM 797 CA ASN A 122 34.792 -7.477 58.109 1.00 26.51 C \r
+ATOM 805 CA ASP A 123 33.626 -8.382 61.634 1.00 31.58 C \r
+ATOM 813 CA ALA A 124 34.191 -12.077 60.901 1.00 27.84 C \r
+ATOM 818 CA GLY A 125 37.759 -11.844 59.728 1.00 32.39 C \r
+ATOM 822 CA GLU A 126 36.809 -12.146 56.073 1.00 35.82 C \r
+ATOM 831 CA ILE A 127 38.655 -9.932 53.598 1.00 38.42 C \r
+ATOM 839 CA VAL A 128 36.025 -8.261 51.421 1.00 33.73 C \r
+ATOM 846 CA LYS A 129 36.482 -6.484 48.090 1.00 31.87 C \r
+ATOM 855 CA GLY A 130 34.363 -3.680 46.686 1.00 26.91 C \r
+ATOM 859 CA VAL A 131 32.680 -5.051 43.569 1.00 27.89 C \r
+ATOM 866 CA CYS A 132 33.074 -2.246 41.018 1.00 28.46 C \r
+ATOM 872 CA SER A 133 36.266 -0.553 42.213 1.00 31.33 C \r
+ATOM 878 CA ASN A 134 37.861 -3.983 41.984 1.00 30.29 C \r
+ATOM 886 CA PHE A 135 36.318 -4.795 38.623 1.00 31.48 C \r
+ATOM 897 CA LEU A 136 37.926 -1.553 37.520 1.00 27.81 C \r
+ATOM 905 CA CYS A 137 41.417 -1.976 38.955 1.00 25.91 C \r
+ATOM 911 CA ASP A 138 41.605 -5.419 37.338 1.00 30.22 C \r
+ATOM 919 CA LEU A 139 40.462 -4.306 33.874 1.00 32.69 C \r
+ATOM 927 CA GLN A 140 42.851 -5.511 31.186 1.00 36.80 C \r
+ATOM 936 CA PRO A 141 43.380 -3.220 28.170 1.00 36.16 C \r
+ATOM 943 CA GLY A 142 40.864 -4.420 25.586 1.00 31.10 C \r
+ATOM 947 CA ASP A 143 38.129 -5.298 28.055 1.00 30.62 C \r
+ATOM 955 CA ASN A 144 34.690 -3.847 27.645 1.00 33.52 C \r
+ATOM 963 CA VAL A 145 33.430 -1.522 30.361 1.00 37.08 C \r
+ATOM 970 CA GLN A 146 29.817 -0.374 30.523 1.00 37.65 C \r
+ATOM 979 CA ILE A 147 29.547 3.413 31.045 1.00 30.95 C \r
+ATOM 987 CA THR A 148 26.637 5.791 31.832 1.00 29.95 C \r
+ATOM 994 CA GLY A 149 26.297 9.581 31.843 1.00 32.81 C \r
+ATOM 998 CA PRO A 150 27.785 12.148 31.800 1.00 34.98 C \r
+ATOM 1005 CA VAL A 151 26.376 12.668 35.275 1.00 36.53 C \r
+ATOM 1012 CA GLY A 152 26.196 15.756 37.474 1.00 43.09 C \r
+ATOM 1016 CA LYS A 153 26.048 19.528 37.068 1.00 48.37 C \r
+ATOM 1025 CA GLU A 154 26.921 20.540 40.633 1.00 49.70 C \r
+ATOM 1034 CA MET A 155 30.710 20.266 40.235 1.00 47.30 C \r
+ATOM 1042 CA LEU A 156 30.882 22.020 36.869 1.00 50.36 C \r
+ATOM 1050 CA MET A 157 33.362 24.883 36.404 1.00 55.29 C \r
+ATOM 1058 CA PRO A 158 32.521 28.612 36.605 1.00 54.88 C \r
+ATOM 1065 CA LYS A 159 32.291 30.776 33.464 1.00 54.92 C \r
+ATOM 1074 CA ASP A 160 34.497 33.503 34.939 1.00 57.22 C \r
+ATOM 1082 CA PRO A 161 38.055 32.687 33.759 1.00 58.62 C \r
+ATOM 1089 CA ASN A 162 39.524 35.240 36.163 1.00 60.44 C \r
+ATOM 1097 CA ALA A 163 37.814 33.910 39.279 1.00 55.80 C \r
+ATOM 1102 CA THR A 164 39.596 32.487 42.316 1.00 51.04 C \r
+ATOM 1109 CA ILE A 165 38.966 28.771 42.756 1.00 50.26 C \r
+ATOM 1117 CA ILE A 166 39.774 26.773 45.885 1.00 47.54 C \r
+ATOM 1125 CA MET A 167 39.883 23.014 45.324 1.00 46.38 C \r
+ATOM 1133 CA LEU A 168 39.700 20.963 48.522 1.00 42.18 C \r
+ATOM 1141 CA ALA A 169 40.377 17.316 47.770 1.00 36.41 C \r
+ATOM 1146 CA THR A 170 41.005 14.086 49.622 1.00 32.98 C \r
+ATOM 1153 CA GLY A 171 42.027 10.802 48.014 1.00 31.36 C \r
+ATOM 1157 CA THR A 172 40.386 10.037 44.680 1.00 30.48 C \r
+ATOM 1164 CA GLY A 173 38.640 13.335 45.359 1.00 33.99 C \r
+ATOM 1168 CA ILE A 174 41.418 15.036 43.394 1.00 35.66 C \r
+ATOM 1176 CA ALA A 175 39.758 13.585 40.300 1.00 36.00 C \r
+ATOM 1181 CA PRO A 176 37.445 16.385 39.155 1.00 39.41 C \r
+ATOM 1188 CA PHE A 177 40.109 18.971 39.976 1.00 43.21 C \r
+ATOM 1199 CA ARG A 178 42.726 17.119 37.955 1.00 41.09 C \r
+ATOM 1210 CA SER A 179 40.235 17.536 35.124 1.00 39.92 C \r
+ATOM 1216 CA PHE A 180 39.808 21.204 36.009 1.00 39.23 C \r
+ATOM 1227 CA LEU A 181 43.528 21.949 35.995 1.00 39.50 C \r
+ATOM 1235 CA TRP A 182 44.305 20.081 32.770 1.00 41.47 C \r
+ATOM 1249 CA LYS A 183 42.141 22.654 30.972 1.00 48.08 C \r
+ATOM 1258 CA MET A 184 43.477 25.547 33.062 1.00 52.79 C \r
+ATOM 1266 CA PHE A 185 47.102 25.043 32.014 1.00 57.35 C \r
+ATOM 1277 CA PHE A 186 48.075 21.921 30.051 1.00 55.98 C \r
+ATOM 1288 CA GLU A 187 45.758 23.173 27.297 1.00 54.44 C \r
+ATOM 1297 CA LYS A 188 44.908 26.236 25.196 1.00 51.29 C \r
+ATOM 1306 CA HIS A 189 41.395 27.080 24.003 1.00 51.35 C \r
+ATOM 1316 CA ASP A 190 40.108 29.972 21.873 1.00 54.30 C \r
+ATOM 1324 CA ASP A 191 37.199 30.481 24.249 1.00 53.95 C \r
+ATOM 1332 CA TYR A 192 38.816 29.937 27.634 1.00 50.68 C \r
+ATOM 1344 CA LYS A 193 41.916 31.388 29.230 1.00 51.00 C \r
+ATOM 1353 CA PHE A 194 42.322 30.967 32.956 1.00 52.09 C \r
+ATOM 1364 CA ASN A 195 43.672 34.234 34.312 1.00 56.46 C \r
+ATOM 1372 CA GLY A 196 42.616 34.078 37.969 1.00 57.17 C \r
+ATOM 1376 CA LEU A 197 43.874 31.920 40.843 1.00 57.92 C \r
+ATOM 1384 CA GLY A 198 43.549 28.151 41.086 1.00 56.67 C \r
+ATOM 1388 CA TRP A 199 44.258 26.886 44.592 1.00 51.55 C \r
+ATOM 1402 CA LEU A 200 44.411 23.170 45.379 1.00 49.17 C \r
+ATOM 1410 CA PHE A 201 44.558 21.335 48.709 1.00 48.60 C \r
+ATOM 1421 CA LEU A 202 45.122 17.570 48.598 1.00 45.34 C \r
+ATOM 1429 CA GLY A 203 44.885 15.480 51.742 1.00 48.55 C \r
+ATOM 1433 CA VAL A 204 46.225 11.936 51.755 1.00 50.23 C \r
+ATOM 1440 CA PRO A 205 47.942 9.740 54.365 1.00 51.51 C \r
+ATOM 1447 CA THR A 206 51.284 9.148 52.648 1.00 50.21 C \r
+ATOM 1454 CA SER A 207 53.551 10.483 49.894 1.00 49.38 C \r
+ATOM 1460 CA SER A 208 53.267 7.061 48.259 1.00 43.49 C \r
+ATOM 1466 CA SER A 209 49.588 8.049 48.093 1.00 42.57 C \r
+ATOM 1472 CA LEU A 210 49.990 11.424 46.364 1.00 42.65 C \r
+ATOM 1480 CA LEU A 211 48.121 11.446 43.035 1.00 39.33 C \r
+ATOM 1488 CA TYR A 212 49.516 13.214 39.935 1.00 40.89 C \r
+ATOM 1500 CA LYS A 213 52.128 15.234 41.873 1.00 45.88 C \r
+ATOM 1509 CA GLU A 214 54.518 15.406 38.899 1.00 53.22 C \r
+ATOM 1518 CA GLU A 215 51.680 16.911 36.889 1.00 55.16 C \r
+ATOM 1527 CA PHE A 216 50.757 19.475 39.514 1.00 60.55 C \r
+ATOM 1538 CA GLY A 217 54.488 20.153 39.524 1.00 66.64 C \r
+ATOM 1542 CA LYS A 218 54.575 21.110 35.850 1.00 68.86 C \r
+ATOM 1551 CA MET A 219 51.398 23.159 36.265 1.00 66.97 C \r
+ATOM 1559 CA LYS A 220 53.138 25.090 39.061 1.00 65.97 C \r
+ATOM 1568 CA GLU A 221 55.654 26.250 36.459 1.00 70.02 C \r
+ATOM 1577 CA ARG A 222 53.584 26.507 33.294 1.00 73.48 C \r
+ATOM 1588 CA ALA A 223 52.005 29.449 35.175 1.00 76.21 C \r
+ATOM 1593 CA PRO A 224 53.272 29.877 38.804 1.00 79.25 C \r
+ATOM 1600 CA GLU A 225 51.296 33.124 39.020 1.00 81.84 C \r
+ATOM 1609 CA ASN A 226 47.873 31.528 38.622 1.00 78.84 C \r
+ATOM 1617 CA PHE A 227 48.418 28.176 40.350 1.00 75.28 C \r
+ATOM 1628 CA ARG A 228 49.090 27.305 43.996 1.00 72.05 C \r
+ATOM 1639 CA VAL A 229 49.165 23.724 45.323 1.00 68.82 C \r
+ATOM 1646 CA ASP A 230 49.258 22.581 48.958 1.00 66.54 C \r
+ATOM 1654 CA TYR A 231 49.605 18.943 49.968 1.00 60.31 C \r
+ATOM 1666 CA ALA A 232 48.551 17.560 53.332 1.00 57.39 C \r
+ATOM 1671 CA VAL A 233 50.260 14.228 53.945 1.00 57.14 C \r
+ATOM 1678 CA SER A 234 48.465 13.579 57.244 1.00 60.81 C \r
+ATOM 1684 CA ARG A 235 50.959 11.010 58.514 1.00 60.74 C \r
+ATOM 1695 CA GLU A 236 54.268 12.594 57.481 1.00 59.17 C \r
+ATOM 1704 CA GLN A 237 53.494 16.197 58.450 1.00 59.62 C \r
+ATOM 1713 CA THR A 238 52.590 18.236 61.521 1.00 63.18 C \r
+ATOM 1720 CA ASN A 239 52.019 21.937 62.188 1.00 66.71 C \r
+ATOM 1728 CA ALA A 240 52.096 23.767 65.537 1.00 70.06 C \r
+ATOM 1733 CA ALA A 241 51.302 21.400 68.410 1.00 72.44 C \r
+ATOM 1738 CA GLY A 242 52.383 18.324 66.438 1.00 72.38 C \r
+ATOM 1742 CA GLU A 243 48.826 18.169 65.110 1.00 69.71 C \r
+ATOM 1751 CA ARG A 244 48.674 15.776 62.148 1.00 67.21 C \r
+ATOM 1762 CA MET A 245 48.712 17.796 58.933 1.00 64.20 C \r
+ATOM 1770 CA TYR A 246 45.246 17.082 57.556 1.00 60.65 C \r
+ATOM 1782 CA ILE A 247 43.617 18.437 54.409 1.00 62.98 C \r
+ATOM 1790 CA GLN A 248 42.035 21.001 56.761 1.00 64.64 C \r
+ATOM 1799 CA THR A 249 45.057 21.461 59.009 1.00 63.37 C \r
+ATOM 1806 CA ARG A 250 46.891 22.664 55.903 1.00 62.47 C \r
+ATOM 1817 CA MET A 251 44.123 25.201 55.251 1.00 63.35 C \r
+ATOM 1825 CA ALA A 252 44.571 26.305 58.854 1.00 65.73 C \r
+ATOM 1830 CA GLU A 253 47.973 27.809 58.076 1.00 65.97 C \r
+ATOM 1839 CA TYR A 254 46.267 30.063 55.517 1.00 65.83 C \r
+ATOM 1851 CA LYS A 255 42.991 30.559 57.379 1.00 70.30 C \r
+ATOM 1860 CA GLU A 256 43.578 34.326 57.320 1.00 73.73 C \r
+ATOM 1869 CA GLU A 257 44.189 34.738 53.593 1.00 71.52 C \r
+ATOM 1878 CA LEU A 258 41.459 32.202 52.893 1.00 73.38 C \r
+ATOM 1886 CA TRP A 259 38.790 34.074 54.853 1.00 76.72 C \r
+ATOM 1900 CA GLU A 260 39.721 37.275 53.006 1.00 78.61 C \r
+ATOM 1909 CA LEU A 261 38.580 35.553 49.815 1.00 75.71 C \r
+ATOM 1917 CA LEU A 262 35.391 33.881 51.047 1.00 73.74 C \r
+ATOM 1925 CA LYS A 263 33.562 37.165 50.535 1.00 73.64 C \r
+ATOM 1934 CA LYS A 264 34.299 38.143 46.954 1.00 72.48 C \r
+ATOM 1943 CA ASP A 265 31.954 37.554 43.993 1.00 69.65 C \r
+ATOM 1951 CA ASN A 266 34.660 35.649 42.106 1.00 65.06 C \r
+ATOM 1959 CA THR A 267 35.835 33.117 44.683 1.00 58.24 C \r
+ATOM 1966 CA TYR A 268 34.459 29.646 43.909 1.00 51.04 C \r
+ATOM 1978 CA VAL A 269 35.192 26.827 46.382 1.00 44.95 C \r
+ATOM 1985 CA TYR A 270 35.012 23.150 45.368 1.00 44.96 C \r
+ATOM 1997 CA MET A 271 35.162 20.122 47.656 1.00 41.72 C \r
+ATOM 2005 CA CYS A 272 35.314 16.468 46.632 1.00 37.19 C \r
+ATOM 2011 CA GLY A 273 36.343 13.080 47.951 1.00 37.65 C \r
+ATOM 2015 CA LEU A 274 36.040 10.886 51.020 1.00 39.39 C \r
+ATOM 2023 CA LYS A 275 33.076 12.283 52.955 1.00 44.86 C \r
+ATOM 2032 CA GLY A 276 34.322 13.183 56.400 1.00 49.16 C \r
+ATOM 2036 CA MET A 277 36.932 15.608 55.168 1.00 53.30 C \r
+ATOM 2044 CA GLU A 278 33.917 17.921 55.165 1.00 56.74 C \r
+ATOM 2053 CA LYS A 279 33.531 18.089 58.947 1.00 59.30 C \r
+ATOM 2062 CA GLY A 280 36.982 19.413 59.776 1.00 58.94 C \r
+ATOM 2066 CA ILE A 281 36.705 22.048 57.063 1.00 61.43 C \r
+ATOM 2074 CA ASP A 282 33.453 23.402 58.515 1.00 67.06 C \r
+ATOM 2082 CA ASP A 283 35.050 23.189 61.972 1.00 74.12 C \r
+ATOM 2090 CA ILE A 284 37.991 25.422 61.040 1.00 78.49 C \r
+ATOM 2098 CA MET A 285 35.456 27.566 59.201 1.00 82.25 C \r
+ATOM 2106 CA VAL A 286 32.941 27.959 62.027 1.00 83.44 C \r
+ATOM 2113 CA SER A 287 35.610 29.113 64.469 1.00 83.43 C \r
+ATOM 2119 CA LEU A 288 36.927 31.601 61.887 1.00 85.53 C \r
+ATOM 2127 CA ALA A 289 33.506 33.025 60.970 1.00 86.85 C \r
+ATOM 2132 CA GLU A 290 31.841 32.696 64.387 1.00 89.26 C \r
+ATOM 2141 CA LYS A 291 34.438 35.312 65.347 1.00 88.73 C \r
+ATOM 2150 CA ASP A 292 33.635 37.891 62.652 1.00 88.03 C \r
+ATOM 2158 CA GLY A 293 30.219 37.450 61.081 1.00 87.88 C \r
+ATOM 2162 CA ILE A 294 27.319 35.051 61.511 1.00 84.61 C \r
+ATOM 2170 CA ASP A 295 27.665 31.329 62.188 1.00 82.45 C \r
+ATOM 2178 CA TRP A 296 29.539 29.627 59.355 1.00 80.12 C \r
+ATOM 2192 CA PHE A 297 26.527 27.452 58.512 1.00 78.99 C \r
+ATOM 2203 CA ASP A 298 24.167 30.241 57.486 1.00 76.37 C \r
+ATOM 2211 CA TYR A 299 27.074 31.748 55.561 1.00 74.07 C \r
+ATOM 2223 CA LYS A 300 27.679 28.620 53.473 1.00 74.31 C \r
+ATOM 2232 CA LYS A 301 24.059 29.146 52.464 1.00 75.97 C \r
+ATOM 2241 CA GLN A 302 24.921 32.563 51.018 1.00 75.38 C \r
+ATOM 2250 CA LEU A 303 27.896 31.099 49.155 1.00 72.10 C \r
+ATOM 2258 CA LYS A 304 25.917 28.207 47.690 1.00 72.08 C \r
+ATOM 2267 CA ARG A 305 23.595 31.021 46.594 1.00 74.82 C \r
+ATOM 2278 CA GLY A 306 26.071 32.136 43.958 1.00 71.84 C \r
+ATOM 2282 CA ASP A 307 27.505 28.682 43.220 1.00 67.23 C \r
+ATOM 2290 CA GLN A 308 30.620 29.291 45.346 1.00 60.18 C \r
+ATOM 2299 CA TRP A 309 30.585 26.177 47.537 1.00 52.25 C \r
+ATOM 2313 CA ASN A 310 29.894 22.997 45.597 1.00 45.03 C \r
+ATOM 2321 CA VAL A 311 30.327 19.716 47.403 1.00 39.13 C \r
+ATOM 2328 CA GLU A 312 30.507 16.190 46.110 1.00 35.17 C \r
+ATOM 2337 CA VAL A 313 31.761 13.957 48.861 1.00 30.12 C \r
+ATOM 2344 CA TYR A 314 31.112 10.230 49.021 1.00 28.23 C \r
+ATOM 2358 CA ALA B 1 2.311 24.702 44.475 1.00 74.17 C \r
+ATOM 2363 CA THR B 2 3.590 24.207 48.055 1.00 74.76 C \r
+ATOM 2370 CA TYR B 3 3.069 20.876 49.837 1.00 73.52 C \r
+ATOM 2382 CA ASN B 4 3.748 19.874 53.435 1.00 75.75 C \r
+ATOM 2390 CA VAL B 5 6.618 17.399 53.868 1.00 75.95 C \r
+ATOM 2397 CA LYS B 6 7.769 15.523 56.983 1.00 77.70 C \r
+ATOM 2406 CA LEU B 7 11.351 14.325 57.458 1.00 78.91 C \r
+ATOM 2414 CA ILE B 8 11.807 11.511 59.985 1.00 81.00 C \r
+ATOM 2422 CA THR B 9 15.560 12.046 60.247 1.00 87.49 C \r
+ATOM 2429 CA PRO B 10 17.662 9.793 62.539 1.00 92.94 C \r
+ATOM 2436 CA GLU B 11 18.161 13.147 64.282 1.00 96.61 C \r
+ATOM 2445 CA GLY B 12 14.579 14.154 65.041 1.00 97.52 C \r
+ATOM 2449 CA GLU B 13 11.602 14.823 62.748 1.00 96.90 C \r
+ATOM 2458 CA VAL B 14 11.547 17.892 60.480 1.00 96.63 C \r
+ATOM 2465 CA GLU B 15 8.340 19.701 59.440 1.00 94.86 C \r
+ATOM 2474 CA LEU B 16 9.471 21.479 56.254 1.00 91.55 C \r
+ATOM 2482 CA GLN B 17 7.281 23.141 53.598 1.00 89.75 C \r
+ATOM 2491 CA VAL B 18 8.485 22.069 50.145 1.00 87.92 C \r
+ATOM 2498 CA PRO B 19 6.906 23.558 46.964 1.00 86.35 C \r
+ATOM 2505 CA ASP B 20 5.990 21.744 43.717 1.00 86.29 C \r
+ATOM 2513 CA ASP B 21 8.578 22.751 41.083 1.00 83.78 C \r
+ATOM 2521 CA VAL B 22 11.385 22.401 43.639 1.00 80.98 C \r
+ATOM 2528 CA TYR B 23 13.439 19.280 44.481 1.00 77.04 C \r
+ATOM 2540 CA ILE B 24 13.212 18.196 48.120 1.00 76.45 C \r
+ATOM 2548 CA LEU B 25 16.959 18.133 48.851 1.00 75.15 C \r
+ATOM 2556 CA ASP B 26 17.154 21.745 47.689 1.00 75.80 C \r
+ATOM 2564 CA GLN B 27 14.616 22.906 50.280 1.00 76.31 C \r
+ATOM 2573 CA ALA B 28 16.562 20.957 52.914 1.00 78.86 C \r
+ATOM 2578 CA GLU B 29 19.698 23.011 52.198 1.00 81.51 C \r
+ATOM 2587 CA GLU B 30 17.491 26.106 52.510 1.00 83.25 C \r
+ATOM 2596 CA ASP B 31 15.857 25.933 55.935 1.00 81.92 C \r
+ATOM 2604 CA GLY B 32 19.280 24.859 57.151 1.00 79.08 C \r
+ATOM 2608 CA ILE B 33 18.621 21.130 57.157 1.00 76.93 C \r
+ATOM 2616 CA ASP B 34 21.528 18.731 56.618 1.00 73.53 C \r
+ATOM 2624 CA LEU B 35 20.738 15.738 54.421 1.00 67.74 C \r
+ATOM 2632 CA PRO B 36 23.138 13.391 52.547 1.00 65.90 C \r
+ATOM 2639 CA TYR B 37 23.916 14.226 48.912 1.00 64.85 C \r
+ATOM 2651 CA SER B 38 26.659 13.373 46.412 1.00 62.58 C \r
+ATOM 2657 CA CYS B 39 26.193 13.603 42.652 1.00 60.99 C \r
+ATOM 2663 CA ARG B 40 22.908 15.441 43.251 1.00 58.35 C \r
+ATOM 2674 CA ALA B 41 21.699 14.108 39.886 1.00 56.38 C \r
+ATOM 2679 CA GLY B 42 19.886 10.955 40.991 1.00 56.66 C \r
+ATOM 2683 CA SER B 43 22.465 8.336 40.010 1.00 58.55 C \r
+ATOM 2689 CA CYS B 44 23.548 7.052 43.447 1.00 56.27 C \r
+ATOM 2695 CA SER B 45 22.057 5.987 46.791 1.00 58.20 C \r
+ATOM 2701 CA SER B 46 23.574 8.773 48.890 1.00 59.13 C \r
+ATOM 2707 CA CYS B 47 20.220 10.475 49.517 1.00 65.64 C \r
+ATOM 2713 CA ALA B 48 17.911 7.436 49.610 1.00 69.71 C \r
+ATOM 2718 CA GLY B 49 14.733 7.635 51.681 1.00 73.09 C \r
+ATOM 2722 CA LYS B 50 11.712 5.340 52.183 1.00 73.77 C \r
+ATOM 2731 CA VAL B 51 8.551 7.412 51.568 1.00 76.51 C \r
+ATOM 2738 CA VAL B 52 5.237 7.081 53.429 1.00 78.85 C \r
+ATOM 2745 CA SER B 53 2.180 9.376 53.647 1.00 79.57 C \r
+ATOM 2751 CA GLY B 54 2.118 10.991 50.218 1.00 76.32 C \r
+ATOM 2755 CA SER B 55 3.577 10.944 46.726 1.00 76.31 C \r
+ATOM 2761 CA VAL B 56 6.436 12.592 44.828 1.00 77.50 C \r
+ATOM 2768 CA ASP B 57 7.691 12.960 41.243 1.00 76.83 C \r
+ATOM 2776 CA GLN B 58 11.150 11.483 40.555 1.00 76.66 C \r
+ATOM 2785 CA SER B 59 10.976 10.827 36.792 1.00 80.19 C \r
+ATOM 2791 CA ASP B 60 14.688 11.644 36.510 1.00 83.51 C \r
+ATOM 2799 CA GLN B 61 15.175 8.137 37.916 1.00 85.74 C \r
+ATOM 2808 CA SER B 62 18.644 7.080 36.699 1.00 85.85 C \r
+ATOM 2814 CA TYR B 63 19.324 5.049 39.852 1.00 84.49 C \r
+ATOM 2826 CA LEU B 64 15.683 4.296 40.629 1.00 89.06 C \r
+ATOM 2834 CA ASP B 65 15.356 0.604 39.742 1.00 92.21 C \r
+ATOM 2842 CA ASP B 66 12.421 -1.791 39.331 1.00 92.35 C \r
+ATOM 2850 CA GLY B 67 10.747 -2.542 42.659 1.00 89.07 C \r
+ATOM 2854 CA GLN B 68 12.336 0.632 44.010 1.00 88.41 C \r
+ATOM 2863 CA ILE B 69 9.483 2.828 42.742 1.00 86.11 C \r
+ATOM 2871 CA ALA B 70 7.060 0.441 44.446 1.00 81.10 C \r
+ATOM 2876 CA ASP B 71 8.985 -0.310 47.648 1.00 76.82 C \r
+ATOM 2884 CA GLY B 72 8.653 3.423 48.186 1.00 73.00 C \r
+ATOM 2888 CA TRP B 73 12.342 4.386 48.095 1.00 67.93 C \r
+ATOM 2902 CA VAL B 74 13.052 8.007 47.136 1.00 63.84 C \r
+ATOM 2909 CA LEU B 75 16.093 9.940 45.892 1.00 58.37 C \r
+ATOM 2917 CA THR B 76 15.524 13.198 47.826 1.00 55.82 C \r
+ATOM 2924 CA CYS B 77 17.941 15.109 45.556 1.00 58.23 C \r
+ATOM 2930 CA HIS B 78 15.777 14.389 42.513 1.00 64.55 C \r
+ATOM 2940 CA ALA B 79 12.108 14.429 43.512 1.00 68.40 C \r
+ATOM 2945 CA TYR B 80 9.442 17.152 43.581 1.00 69.69 C \r
+ATOM 2957 CA PRO B 81 6.414 16.584 45.842 1.00 71.39 C \r
+ATOM 2964 CA THR B 82 3.015 16.014 44.179 1.00 73.67 C \r
+ATOM 2971 CA SER B 83 1.278 15.771 47.557 1.00 76.90 C \r
+ATOM 2977 CA ASP B 84 1.940 16.119 51.289 1.00 75.20 C \r
+ATOM 2985 CA VAL B 85 4.840 13.765 52.050 1.00 71.37 C \r
+ATOM 2992 CA VAL B 86 6.363 11.824 54.956 1.00 70.12 C \r
+ATOM 2999 CA ILE B 87 9.770 10.300 54.188 1.00 74.18 C \r
+ATOM 3007 CA GLU B 88 12.211 8.403 56.410 1.00 78.53 C \r
+ATOM 3012 CA THR B 89 15.541 9.964 55.407 1.00 79.79 C \r
+ATOM 3019 CA HIS B 90 19.062 8.538 55.881 1.00 79.40 C \r
+ATOM 3029 CA LYS B 91 17.584 5.099 55.099 1.00 84.52 C \r
+ATOM 3038 CA GLU B 92 20.016 2.596 53.549 1.00 91.64 C \r
+ATOM 3047 CA GLU B 93 20.192 -0.858 51.981 1.00 98.97 C \r
+ATOM 3056 CA GLU B 94 23.321 -2.924 51.298 1.00106.32 C \r
+ATOM 3065 CA LEU B 95 22.104 -6.552 51.453 1.00111.32 C \r
+ATOM 3073 CA THR B 96 18.778 -8.417 51.866 1.00116.01 C \r
+ATOM 3080 CA GLY B 97 18.877 -11.302 49.394 1.00116.63 C \r
+ATOM 3084 CA ALA B 98 22.056 -9.833 47.910 1.00116.02 C \r
+ATOM 3091 CA GLU C 19 26.080 -2.480 15.294 1.00 73.96 C \r
+ATOM 3100 CA SER C 20 23.405 0.198 14.956 1.00 67.27 C \r
+ATOM 3106 CA LYS C 21 22.937 3.927 15.380 1.00 59.27 C \r
+ATOM 3115 CA LYS C 22 19.198 3.481 15.874 1.00 58.42 C \r
+ATOM 3124 CA GLN C 23 17.251 3.141 19.137 1.00 59.89 C \r
+ATOM 3133 CA GLU C 24 17.931 -0.276 20.610 1.00 62.66 C \r
+ATOM 3142 CA GLU C 25 16.850 -0.453 24.226 1.00 64.27 C \r
+ATOM 3151 CA GLY C 26 13.211 -0.817 25.116 1.00 61.78 C \r
+ATOM 3155 CA VAL C 27 12.703 -2.073 21.582 1.00 58.37 C \r
+ATOM 3162 CA VAL C 28 10.779 -5.347 21.485 1.00 54.17 C \r
+ATOM 3169 CA THR C 29 9.481 -7.339 18.549 1.00 52.79 C \r
+ATOM 3176 CA ASN C 30 6.670 -9.775 17.786 1.00 51.30 C \r
+ATOM 3184 CA LEU C 31 4.863 -9.997 21.112 1.00 51.05 C \r
+ATOM 3192 CA TYR C 32 1.766 -11.297 19.327 1.00 50.51 C \r
+ATOM 3204 CA LYS C 33 1.373 -13.532 16.266 1.00 49.49 C \r
+ATOM 3213 CA PRO C 34 -1.609 -14.150 13.925 1.00 50.98 C \r
+ATOM 3220 CA LYS C 35 -2.450 -17.248 16.011 1.00 55.46 C \r
+ATOM 3229 CA GLU C 36 -2.977 -15.400 19.288 1.00 53.79 C \r
+ATOM 3238 CA PRO C 37 -3.251 -11.638 18.607 1.00 49.32 C \r
+ATOM 3245 CA TYR C 38 -3.674 -9.050 21.318 1.00 46.76 C \r
+ATOM 3257 CA VAL C 39 -7.276 -7.947 21.418 1.00 43.68 C \r
+ATOM 3264 CA GLY C 40 -7.415 -4.194 21.922 1.00 41.62 C \r
+ATOM 3268 CA ARG C 41 -10.273 -1.719 21.954 1.00 40.07 C \r
+ATOM 3279 CA CYS C 42 -11.026 1.064 19.477 1.00 36.37 C \r
+ATOM 3285 CA LEU C 43 -11.330 4.206 21.583 1.00 31.09 C \r
+ATOM 3293 CA LEU C 44 -11.337 6.671 18.673 1.00 28.46 C \r
+ATOM 3301 CA ASN C 45 -11.792 6.653 14.923 1.00 26.74 C \r
+ATOM 3309 CA THR C 46 -11.954 9.920 13.013 1.00 25.29 C \r
+ATOM 3316 CA LYS C 47 -11.667 10.775 9.352 1.00 21.50 C \r
+ATOM 3325 CA ILE C 48 -8.895 13.355 9.121 1.00 19.33 C \r
+ATOM 3333 CA THR C 49 -9.125 14.281 5.442 1.00 20.38 C \r
+ATOM 3340 CA GLY C 50 -11.630 16.676 3.855 1.00 20.12 C \r
+ATOM 3344 CA ASP C 51 -14.895 15.345 2.412 1.00 21.75 C \r
+ATOM 3352 CA ASP C 52 -13.889 16.693 -0.999 1.00 21.19 C \r
+ATOM 3360 CA ALA C 53 -10.651 14.683 -0.749 1.00 21.06 C \r
+ATOM 3365 CA PRO C 54 -10.036 11.974 -3.413 1.00 21.39 C \r
+ATOM 3372 CA GLY C 55 -9.982 9.067 -0.977 1.00 24.42 C \r
+ATOM 3376 CA GLU C 56 -10.374 9.298 2.857 1.00 22.08 C \r
+ATOM 3385 CA THR C 57 -7.723 8.611 5.517 1.00 20.31 C \r
+ATOM 3392 CA TRP C 58 -8.541 7.849 9.162 1.00 19.33 C \r
+ATOM 3406 CA HIS C 59 -6.758 8.520 12.438 1.00 22.68 C \r
+ATOM 3416 CA MET C 60 -7.645 5.951 15.108 1.00 27.16 C \r
+ATOM 3424 CA VAL C 61 -6.672 5.224 18.723 1.00 29.32 C \r
+ATOM 3431 CA PHE C 62 -6.669 1.704 20.220 1.00 34.23 C \r
+ATOM 3442 CA SER C 63 -6.102 0.643 23.847 1.00 37.05 C \r
+ATOM 3448 CA THR C 64 -3.096 -1.517 24.798 1.00 41.86 C \r
+ATOM 3455 CA GLU C 65 -3.169 -1.652 28.621 1.00 48.33 C \r
+ATOM 3464 CA GLY C 66 0.537 -0.885 28.318 1.00 52.45 C \r
+ATOM 3468 CA LYS C 67 0.955 -4.385 26.891 1.00 54.14 C \r
+ATOM 3477 CA ILE C 68 2.429 -3.211 23.570 1.00 51.52 C \r
+ATOM 3485 CA PRO C 69 5.602 -1.279 24.487 1.00 49.85 C \r
+ATOM 3492 CA TYR C 70 6.523 -0.180 20.967 1.00 44.48 C \r
+ATOM 3504 CA ARG C 71 9.185 2.353 19.993 1.00 40.96 C \r
+ATOM 3515 CA GLU C 72 8.727 5.317 17.688 1.00 33.49 C \r
+ATOM 3524 CA GLY C 73 8.913 3.876 14.164 1.00 30.16 C \r
+ATOM 3528 CA GLN C 74 7.423 0.399 14.427 1.00 31.26 C \r
+ATOM 3537 CA SER C 75 4.187 -0.913 12.966 1.00 33.65 C \r
+ATOM 3543 CA ILE C 76 1.454 -3.212 14.278 1.00 33.75 C \r
+ATOM 3551 CA GLY C 77 -0.295 -5.923 12.356 1.00 34.32 C \r
+ATOM 3555 CA VAL C 78 -4.060 -6.111 12.164 1.00 36.67 C \r
+ATOM 3562 CA ILE C 79 -6.137 -9.230 11.507 1.00 41.91 C \r
+ATOM 3570 CA ALA C 80 -9.427 -8.086 10.024 1.00 44.06 C \r
+ATOM 3575 CA ASP C 81 -12.530 -9.927 11.224 1.00 47.03 C \r
+ATOM 3583 CA GLY C 82 -13.972 -12.487 8.829 1.00 53.52 C \r
+ATOM 3587 CA VAL C 83 -12.521 -14.951 6.324 1.00 62.57 C \r
+ATOM 3594 CA ASP C 84 -11.856 -14.200 2.630 1.00 71.97 C \r
+ATOM 3602 CA LYS C 85 -12.935 -17.403 0.861 1.00 76.86 C \r
+ATOM 3611 CA ASN C 86 -13.690 -18.960 4.253 1.00 76.52 C \r
+ATOM 3619 CA GLY C 87 -10.006 -19.837 4.066 1.00 76.22 C \r
+ATOM 3623 CA LYS C 88 -8.802 -19.138 7.616 1.00 71.60 C \r
+ATOM 3632 CA PRO C 89 -8.651 -15.577 8.944 1.00 64.14 C \r
+ATOM 3639 CA HIS C 90 -7.547 -12.649 6.805 1.00 52.35 C \r
+ATOM 3649 CA LYS C 91 -3.753 -12.529 6.474 1.00 46.81 C \r
+ATOM 3658 CA VAL C 92 -2.180 -9.868 8.686 1.00 43.48 C \r
+ATOM 3665 CA ARG C 93 -1.491 -6.414 7.232 1.00 36.99 C \r
+ATOM 3676 CA LEU C 94 0.983 -3.882 8.601 1.00 32.95 C \r
+ATOM 3684 CA TYR C 95 0.340 -0.239 9.510 1.00 24.84 C \r
+ATOM 3696 CA SER C 96 3.003 2.101 10.803 1.00 23.32 C \r
+ATOM 3702 CA ILE C 97 2.244 3.502 14.236 1.00 24.12 C \r
+ATOM 3710 CA ALA C 98 1.243 7.179 13.932 1.00 22.32 C \r
+ATOM 3715 CA SER C 99 1.572 7.636 17.676 1.00 25.69 C \r
+ATOM 3721 CA SER C 100 4.752 7.924 19.726 1.00 28.83 C \r
+ATOM 3727 CA ALA C 101 5.741 5.521 22.508 1.00 35.61 C \r
+ATOM 3732 CA ILE C 102 3.906 7.635 25.079 1.00 38.39 C \r
+ATOM 3740 CA GLY C 103 0.899 7.826 22.742 1.00 31.93 C \r
+ATOM 3744 CA ASP C 104 -1.803 10.384 21.986 1.00 28.77 C \r
+ATOM 3752 CA PHE C 105 -3.050 10.293 25.607 1.00 37.05 C \r
+ATOM 3763 CA GLY C 106 0.503 10.389 26.967 1.00 39.36 C \r
+ATOM 3767 CA ASP C 107 -0.221 7.437 29.266 1.00 41.44 C \r
+ATOM 3775 CA SER C 108 1.566 4.766 27.217 1.00 42.18 C \r
+ATOM 3781 CA LYS C 109 -1.747 2.877 27.156 1.00 42.45 C \r
+ATOM 3790 CA THR C 110 -2.698 3.586 23.515 1.00 38.10 C \r
+ATOM 3797 CA VAL C 111 -1.603 2.971 19.906 1.00 32.79 C \r
+ATOM 3804 CA SER C 112 -2.671 5.020 16.872 1.00 29.60 C \r
+ATOM 3810 CA LEU C 113 -2.713 4.324 13.126 1.00 25.68 C \r
+ATOM 3818 CA CYS C 114 -3.142 6.498 9.999 1.00 24.23 C \r
+ATOM 3824 CA VAL C 115 -5.345 4.496 7.641 1.00 22.80 C \r
+ATOM 3831 CA LYS C 116 -6.221 5.196 4.015 1.00 22.11 C \r
+ATOM 3840 CA ARG C 117 -9.458 3.521 2.955 1.00 25.68 C \r
+ATOM 3851 CA LEU C 118 -8.447 1.440 -0.100 1.00 28.80 C \r
+ATOM 3859 CA ILE C 119 -11.140 1.661 -2.792 1.00 31.75 C \r
+ATOM 3867 CA TYR C 120 -10.086 0.716 -6.312 1.00 32.93 C \r
+ATOM 3879 CA THR C 121 -11.388 -0.733 -9.598 1.00 36.84 C \r
+ATOM 3886 CA ASN C 122 -10.258 -4.257 -10.546 1.00 36.90 C \r
+ATOM 3894 CA ASP C 123 -9.574 -5.562 -14.056 1.00 45.45 C \r
+ATOM 3902 CA ALA C 124 -13.196 -6.758 -14.269 1.00 44.66 C \r
+ATOM 3907 CA GLY C 125 -14.207 -3.102 -14.023 1.00 45.49 C \r
+ATOM 3911 CA GLU C 126 -16.059 -3.511 -10.722 1.00 45.54 C \r
+ATOM 3920 CA ILE C 127 -15.507 -1.321 -7.638 1.00 39.70 C \r
+ATOM 3928 CA VAL C 128 -13.846 -3.171 -4.762 1.00 38.09 C \r
+ATOM 3935 CA LYS C 129 -12.759 -2.512 -1.198 1.00 33.77 C \r
+ATOM 3944 CA GLY C 130 -9.566 -3.363 0.599 1.00 31.98 C \r
+ATOM 3948 CA VAL C 131 -10.443 -5.797 3.385 1.00 33.16 C \r
+ATOM 3955 CA CYS C 132 -8.241 -4.645 6.257 1.00 29.97 C \r
+ATOM 3961 CA SER C 133 -8.238 -0.898 5.607 1.00 30.67 C \r
+ATOM 3967 CA ASN C 134 -12.022 -0.902 5.268 1.00 30.35 C \r
+ATOM 3975 CA PHE C 135 -12.375 -2.946 8.424 1.00 29.86 C \r
+ATOM 3986 CA LEU C 136 -10.223 -0.334 10.195 1.00 29.42 C \r
+ATOM 3994 CA CYS C 137 -11.779 2.834 8.813 1.00 32.27 C \r
+ATOM 4000 CA ASP C 138 -15.116 1.280 9.724 1.00 34.29 C \r
+ATOM 4008 CA LEU C 139 -14.287 0.699 13.399 1.00 37.51 C \r
+ATOM 4016 CA GLN C 140 -16.635 2.170 16.028 1.00 43.76 C \r
+ATOM 4025 CA PRO C 141 -15.630 3.032 19.581 1.00 42.77 C \r
+ATOM 4032 CA GLY C 142 -16.082 -0.210 21.478 1.00 42.83 C \r
+ATOM 4036 CA ASP C 143 -15.117 -2.625 18.696 1.00 40.91 C \r
+ATOM 4044 CA ASN C 144 -12.182 -4.947 19.288 1.00 45.66 C \r
+ATOM 4052 CA VAL C 145 -9.056 -5.146 17.145 1.00 46.95 C \r
+ATOM 4059 CA GLN C 146 -6.707 -8.107 16.606 1.00 48.69 C \r
+ATOM 4068 CA ILE C 147 -3.249 -6.538 17.123 1.00 46.84 C \r
+ATOM 4076 CA THR C 148 -0.010 -8.392 16.264 1.00 46.26 C \r
+ATOM 4083 CA GLY C 149 3.543 -7.117 16.634 1.00 45.60 C \r
+ATOM 4087 CA PRO C 150 5.248 -4.818 17.394 1.00 44.97 C \r
+ATOM 4094 CA VAL C 151 7.423 -5.293 14.321 1.00 44.50 C \r
+ATOM 4101 CA GLY C 152 10.289 -3.716 12.438 1.00 45.33 C \r
+ATOM 4105 CA LYS C 153 13.599 -2.161 13.435 1.00 48.64 C \r
+ATOM 4114 CA GLU C 154 14.166 -0.437 10.074 1.00 48.20 C \r
+ATOM 4123 CA MET C 155 12.437 2.888 10.737 1.00 41.77 C \r
+ATOM 4131 CA LEU C 156 13.839 3.081 14.267 1.00 38.27 C \r
+ATOM 4139 CA MET C 157 15.076 6.540 15.308 1.00 34.29 C \r
+ATOM 4147 CA PRO C 158 18.782 7.419 15.339 1.00 34.05 C \r
+ATOM 4154 CA LYS C 159 20.262 7.521 18.845 1.00 35.82 C \r
+ATOM 4163 CA ASP C 160 22.076 10.792 18.273 1.00 35.95 C \r
+ATOM 4171 CA PRO C 161 19.683 13.401 19.809 1.00 35.63 C \r
+ATOM 4178 CA ASN C 162 21.563 15.948 17.758 1.00 33.92 C \r
+ATOM 4186 CA ALA C 163 21.028 14.172 14.487 1.00 30.82 C \r
+ATOM 4191 CA THR C 164 19.693 15.722 11.305 1.00 25.18 C \r
+ATOM 4198 CA ILE C 165 16.617 13.601 10.636 1.00 19.91 C \r
+ATOM 4206 CA ILE C 166 15.351 13.978 7.060 1.00 13.76 C \r
+ATOM 4214 CA MET C 167 11.843 12.550 6.703 1.00 14.98 C \r
+ATOM 4222 CA LEU C 168 10.385 11.831 3.251 1.00 16.64 C \r
+ATOM 4230 CA ALA C 169 6.747 10.808 3.007 1.00 15.85 C \r
+ATOM 4235 CA THR C 170 3.765 10.346 0.737 1.00 14.23 C \r
+ATOM 4242 CA GLY C 171 0.255 9.724 2.035 1.00 13.78 C \r
+ATOM 4246 CA THR C 172 -0.103 7.560 5.139 1.00 17.62 C \r
+ATOM 4253 CA GLY C 173 3.646 7.343 4.821 1.00 17.20 C \r
+ATOM 4257 CA ILE C 174 3.469 10.213 7.270 1.00 15.91 C \r
+ATOM 4265 CA ALA C 175 2.586 7.783 10.110 1.00 15.63 C \r
+ATOM 4270 CA PRO C 176 6.023 6.933 11.582 1.00 17.04 C \r
+ATOM 4277 CA PHE C 177 7.215 10.514 11.327 1.00 18.21 C \r
+ATOM 4288 CA ARG C 178 4.268 11.745 13.359 1.00 22.35 C \r
+ATOM 4299 CA SER C 179 5.563 9.289 15.983 1.00 25.22 C \r
+ATOM 4305 CA PHE C 180 9.139 10.593 15.614 1.00 25.98 C \r
+ATOM 4316 CA LEU C 181 7.925 14.180 15.767 1.00 29.12 C \r
+ATOM 4324 CA TRP C 182 5.625 13.641 18.714 1.00 31.35 C \r
+ATOM 4338 CA LYS C 183 8.488 12.385 20.871 1.00 30.92 C \r
+ATOM 4347 CA MET C 184 10.841 15.050 19.503 1.00 24.85 C \r
+ATOM 4355 CA PHE C 185 8.741 18.202 20.114 1.00 22.97 C \r
+ATOM 4366 CA PHE C 186 5.604 17.337 22.076 1.00 27.77 C \r
+ATOM 4377 CA GLU C 187 7.117 15.432 25.009 1.00 37.71 C \r
+ATOM 4386 CA LYS C 188 9.542 15.977 27.878 1.00 53.59 C \r
+ATOM 4395 CA HIS C 189 12.355 13.416 28.180 1.00 63.67 C \r
+ATOM 4405 CA ASP C 190 15.318 13.181 30.569 1.00 66.93 C \r
+ATOM 4413 CA ASP C 191 17.480 11.106 28.238 1.00 59.79 C \r
+ATOM 4421 CA TYR C 192 16.190 12.725 25.047 1.00 51.96 C \r
+ATOM 4433 CA LYS C 193 16.700 16.406 24.324 1.00 47.01 C \r
+ATOM 4442 CA PHE C 194 16.580 16.471 20.530 1.00 39.85 C \r
+ATOM 4453 CA ASN C 195 18.572 19.494 19.409 1.00 37.52 C \r
+ATOM 4461 CA GLY C 196 19.361 18.548 15.845 1.00 32.08 C \r
+ATOM 4465 CA LEU C 197 17.310 19.266 12.766 1.00 28.26 C \r
+ATOM 4473 CA GLY C 198 14.051 17.526 11.928 1.00 25.05 C \r
+ATOM 4477 CA TRP C 199 13.211 18.137 8.269 1.00 19.81 C \r
+ATOM 4491 CA LEU C 200 9.908 16.742 7.059 1.00 13.86 C \r
+ATOM 4499 CA PHE C 201 8.855 16.521 3.429 1.00 14.83 C \r
+ATOM 4510 CA LEU C 202 5.288 15.361 2.717 1.00 16.12 C \r
+ATOM 4518 CA GLY C 203 3.701 14.731 -0.681 1.00 13.79 C \r
+ATOM 4522 CA VAL C 204 -0.051 14.414 -1.182 1.00 11.75 C \r
+ATOM 4529 CA PRO C 205 -2.113 15.264 -4.308 1.00 14.66 C \r
+ATOM 4536 CA THR C 206 -4.553 17.737 -2.778 1.00 16.37 C \r
+ATOM 4543 CA SER C 207 -4.756 20.169 0.120 1.00 18.01 C \r
+ATOM 4549 CA SER C 208 -7.780 18.225 1.280 1.00 17.59 C \r
+ATOM 4555 CA SER C 209 -5.452 15.198 1.550 1.00 16.19 C \r
+ATOM 4561 CA LEU C 210 -2.972 16.940 3.860 1.00 14.22 C \r
+ATOM 4569 CA LEU C 211 -2.255 14.980 7.059 1.00 14.43 C \r
+ATOM 4577 CA TYR C 212 -1.624 16.449 10.549 1.00 18.94 C \r
+ATOM 4589 CA LYS C 213 -0.818 19.896 9.150 1.00 22.61 C \r
+ATOM 4598 CA GLU C 214 -2.039 21.572 12.352 1.00 25.73 C \r
+ATOM 4607 CA GLU C 215 0.152 19.413 14.514 1.00 19.23 C \r
+ATOM 4616 CA PHE C 216 3.216 20.178 12.439 1.00 17.80 C \r
+ATOM 4627 CA GLY C 217 2.478 23.890 12.512 1.00 19.90 C \r
+ATOM 4631 CA LYS C 218 2.578 24.001 16.294 1.00 25.54 C \r
+ATOM 4640 CA MET C 219 5.810 22.021 16.188 1.00 26.79 C \r
+ATOM 4648 CA LYS C 220 7.224 24.606 13.819 1.00 31.85 C \r
+ATOM 4657 CA GLU C 221 6.071 27.341 16.219 1.00 38.62 C \r
+ATOM 4666 CA ARG C 222 7.760 25.760 19.233 1.00 39.10 C \r
+ATOM 4677 CA ALA C 223 11.124 24.971 17.668 1.00 35.43 C \r
+ATOM 4682 CA PRO C 224 11.696 27.100 14.528 1.00 32.99 C \r
+ATOM 4689 CA GLU C 225 15.425 26.331 14.360 1.00 33.87 C \r
+ATOM 4698 CA ASN C 226 15.038 22.591 14.986 1.00 30.46 C \r
+ATOM 4706 CA PHE C 227 12.088 21.755 12.732 1.00 24.98 C \r
+ATOM 4717 CA ARG C 228 11.351 22.384 9.075 1.00 19.87 C \r
+ATOM 4728 CA VAL C 229 8.435 21.010 7.118 1.00 14.21 C \r
+ATOM 4735 CA ASP C 230 7.739 21.452 3.398 1.00 12.26 C \r
+ATOM 4743 CA TYR C 231 4.627 20.147 1.722 1.00 14.42 C \r
+ATOM 4755 CA ALA C 232 4.334 19.003 -1.872 1.00 9.99 C \r
+ATOM 4760 CA VAL C 233 0.778 19.232 -3.168 1.00 10.49 C \r
+ATOM 4767 CA SER C 234 1.043 17.769 -6.694 1.00 19.00 C \r
+ATOM 4773 CA ARG C 235 -2.240 19.042 -8.206 1.00 23.13 C \r
+ATOM 4784 CA GLU C 236 -2.069 22.459 -6.578 1.00 17.58 C \r
+ATOM 4793 CA GLN C 237 1.546 23.511 -6.623 1.00 15.89 C \r
+ATOM 4802 CA THR C 238 4.202 24.018 -9.275 1.00 17.86 C \r
+ATOM 4809 CA ASN C 239 7.922 24.800 -9.182 1.00 15.15 C \r
+ATOM 4817 CA ALA C 240 9.558 27.791 -10.892 1.00 21.51 C \r
+ATOM 4822 CA ALA C 241 9.475 25.887 -14.174 1.00 24.05 C \r
+ATOM 4827 CA GLY C 242 5.741 25.110 -13.938 1.00 26.25 C \r
+ATOM 4831 CA GLU C 243 5.999 21.359 -13.153 1.00 25.92 C \r
+ATOM 4840 CA ARG C 244 3.679 19.536 -10.704 1.00 24.04 C \r
+ATOM 4851 CA MET C 245 5.076 19.643 -7.174 1.00 18.58 C \r
+ATOM 4859 CA TYR C 246 5.784 16.047 -6.100 1.00 14.16 C \r
+ATOM 4871 CA ILE C 247 7.910 15.343 -3.034 1.00 16.78 C \r
+ATOM 4879 CA GLN C 248 11.089 15.070 -5.120 1.00 18.72 C \r
+ATOM 4888 CA THR C 249 10.168 18.255 -6.921 1.00 20.93 C \r
+ATOM 4895 CA ARG C 250 9.962 20.031 -3.567 1.00 19.25 C \r
+ATOM 4906 CA MET C 251 13.275 18.471 -2.561 1.00 19.40 C \r
+ATOM 4914 CA ALA C 252 14.910 19.812 -5.760 1.00 20.48 C \r
+ATOM 4919 CA GLU C 253 14.456 23.418 -4.569 1.00 18.19 C \r
+ATOM 4928 CA TYR C 254 16.804 22.515 -1.673 1.00 17.80 C \r
+ATOM 4940 CA LYS C 255 19.038 20.415 -3.902 1.00 20.66 C \r
+ATOM 4949 CA GLU C 256 22.452 21.603 -2.682 1.00 16.05 C \r
+ATOM 4958 CA GLU C 257 21.544 21.914 0.993 1.00 15.89 C \r
+ATOM 4967 CA LEU C 258 20.377 18.297 0.919 1.00 20.74 C \r
+ATOM 4975 CA TRP C 259 23.388 16.939 -0.965 1.00 23.45 C \r
+ATOM 4989 CA GLU C 260 25.645 18.669 1.563 1.00 24.08 C \r
+ATOM 4998 CA LEU C 261 23.573 17.378 4.477 1.00 24.74 C \r
+ATOM 5006 CA LEU C 262 24.020 13.928 2.938 1.00 26.14 C \r
+ATOM 5014 CA LYS C 263 27.792 14.091 3.402 1.00 25.40 C \r
+ATOM 5023 CA LYS C 264 27.457 14.521 7.176 1.00 31.47 C \r
+ATOM 5032 CA ASP C 265 27.877 11.474 9.425 1.00 35.31 C \r
+ATOM 5040 CA ASN C 266 24.934 12.482 11.620 1.00 29.63 C \r
+ATOM 5048 CA THR C 267 22.321 12.795 8.832 1.00 28.00 C \r
+ATOM 5055 CA TYR C 268 19.556 10.160 8.808 1.00 27.00 C \r
+ATOM 5067 CA VAL C 269 17.143 9.903 5.884 1.00 24.65 C \r
+ATOM 5074 CA TYR C 270 13.890 8.016 6.276 1.00 23.37 C \r
+ATOM 5086 CA MET C 271 11.373 7.327 3.518 1.00 18.93 C \r
+ATOM 5094 CA CYS C 272 7.834 6.074 4.043 1.00 18.24 C \r
+ATOM 5100 CA GLY C 273 4.784 5.874 1.826 1.00 22.39 C \r
+ATOM 5104 CA LEU C 274 3.837 4.483 -1.568 1.00 26.95 C \r
+ATOM 5112 CA LYS C 275 6.305 2.384 -3.532 1.00 32.36 C \r
+ATOM 5121 CA GLY C 276 7.741 4.199 -6.514 1.00 37.46 C \r
+ATOM 5125 CA MET C 277 7.714 7.455 -4.608 1.00 28.76 C \r
+ATOM 5133 CA GLU C 278 11.430 6.639 -4.425 1.00 32.22 C \r
+ATOM 5142 CA LYS C 279 12.017 6.321 -8.153 1.00 29.94 C \r
+ATOM 5151 CA GLY C 280 11.317 10.057 -8.293 1.00 24.18 C \r
+ATOM 5155 CA ILE C 281 13.766 10.673 -5.460 1.00 23.68 C \r
+ATOM 5163 CA ASP C 282 16.431 8.365 -6.934 1.00 26.58 C \r
+ATOM 5171 CA ASP C 283 16.211 10.530 -10.054 1.00 28.70 C \r
+ATOM 5179 CA ILE C 284 17.089 13.937 -8.538 1.00 27.28 C \r
+ATOM 5187 CA MET C 285 19.706 12.222 -6.388 1.00 27.45 C \r
+ATOM 5195 CA VAL C 286 21.377 10.712 -9.470 1.00 30.74 C \r
+ATOM 5202 CA SER C 287 21.619 14.159 -11.061 1.00 32.14 C \r
+ATOM 5208 CA LEU C 288 23.240 15.463 -7.873 1.00 34.20 C \r
+ATOM 5216 CA ALA C 289 25.801 12.653 -7.874 1.00 40.16 C \r
+ATOM 5221 CA GLU C 290 26.837 12.825 -11.536 1.00 41.84 C \r
+ATOM 5230 CA LYS C 291 27.855 16.387 -10.793 1.00 43.17 C \r
+ATOM 5239 CA ASP C 292 30.299 15.115 -8.139 1.00 41.84 C \r
+ATOM 5247 CA GLY C 293 31.237 12.232 -10.420 1.00 46.12 C \r
+ATOM 5251 CA ILE C 294 30.053 9.669 -7.864 1.00 45.54 C \r
+ATOM 5259 CA ASP C 295 27.399 6.998 -8.480 1.00 41.14 C \r
+ATOM 5267 CA TRP C 296 24.222 7.605 -6.479 1.00 30.67 C \r
+ATOM 5281 CA PHE C 297 23.381 3.910 -6.151 1.00 31.97 C \r
+ATOM 5292 CA ASP C 298 26.856 2.916 -4.907 1.00 38.12 C \r
+ATOM 5300 CA TYR C 299 26.671 5.875 -2.540 1.00 39.05 C \r
+ATOM 5312 CA LYS C 300 23.196 4.971 -1.294 1.00 41.63 C \r
+ATOM 5321 CA LYS C 301 24.542 1.489 -0.577 1.00 43.40 C \r
+ATOM 5330 CA GLN C 302 27.207 3.064 1.608 1.00 43.79 C \r
+ATOM 5339 CA LEU C 303 24.476 5.181 3.238 1.00 41.51 C \r
+ATOM 5347 CA LYS C 304 22.138 2.343 4.264 1.00 45.18 C \r
+ATOM 5356 CA ARG C 305 25.322 0.535 5.256 1.00 46.65 C \r
+ATOM 5367 CA GLY C 306 25.613 3.181 7.945 1.00 40.29 C \r
+ATOM 5371 CA ASP C 307 21.954 3.487 8.940 1.00 41.21 C \r
+ATOM 5379 CA GLN C 308 21.463 6.730 7.023 1.00 35.55 C \r
+ATOM 5388 CA TRP C 309 18.961 5.674 4.361 1.00 31.22 C \r
+ATOM 5402 CA ASN C 310 16.018 3.728 5.752 1.00 31.61 C \r
+ATOM 5410 CA VAL C 311 13.120 2.841 3.452 1.00 32.13 C \r
+ATOM 5417 CA GLU C 312 9.705 1.332 4.261 1.00 31.51 C \r
+ATOM 5426 CA VAL C 313 7.466 1.606 1.209 1.00 26.39 C \r
+ATOM 5433 CA TYR C 314 4.403 -0.343 0.111 1.00 25.42 C \r
--- /dev/null
+# STOCKHOLM 1.0
+#=GF ID Fer2
+#=GF AC PF00111.22
+#=GF DE 2Fe-2S iron-sulfur cluster binding domain
+#=GF PI fer2;
+#=GF AU Sonnhammer ELL
+#=GF SE Prosite
+#=GF GA 20.70 15.00;
+#=GF TC 20.70 15.70;
+#=GF NC 20.60 14.90;
+#=GF BM hmmbuild HMM.ann SEED.ann
+#=GF SM hmmsearch -Z 15929002 -E 1000 --cpu 4 HMM pfamseq
+#=GF TP Domain
+#=GF WK Ferredoxin
+#=GF DR INTERPRO; IPR001041;
+#=GF DR PROSITE; PDOC00175;
+#=GF DR PROSITE; PDOC00642;
+#=GF DR SCOP; 3fxc; fa;
+#=GF DR HOMSTRAD; fer2;
+#=GF DR HOMSTRAD; Ald_Xan_dh_1;
+#=GF SQ 206
+#=GS FER_GLEJA/8-82 AC P00233.1
+#=GS FER2_RAPSA/9-84 AC P14937.1
+#=GS Q39648_CITSI/61-136 AC Q39648.1
+#=GS FER3_MAIZE/63-138 AC P27788.1
+#=GS FER6_MAIZE/66-141 AC P94044.1
+#=GS FER1_SYNP2/9-83 AC P31965.2
+#=GS FER1_EQUAR/7-81 AC P00235.1
+#=GS FER2_EQUAR/7-80 AC P00237.1
+#=GS FER2_EQUAR/7-80 DR PDB; 1WRI A; 7-80;
+#=GS FER2_PLEBO/10-85 AC P46035.2
+#=GS P95533_PSEPU/253-328 AC P95533.1
+#=GS KSHB_MYCTU/273-348 AC P96853.1
+#=GS Q44253_ACISP/251-326 AC Q44253.1
+#=GS Q59656_PLEBO/573-647 AC Q59656.1
+#=GS P71846_MYCTU/600-675 AC P71846.3
+#=GS O84985_PSEPU/271-347 AC O84985.2
+#=GS PAAE_ECOLI/266-342 AC P76081.1
+#=GS HCR_ECOLI/241-316 AC P75824.3
+#=GS O87803_PSEST/5-82 AC O87803.2
+#=GS TMOF_PSEME/4-81 AC Q03304.1
+#=GS O32476_PSESP/4-81 AC O32476.1
+#=GS Q51944_BURPI/5-82 AC Q51944.1
+#=GS Q53028_RHOCO/4-80 AC Q53028.1
+#=GS Q45344_BURPI/10-88 AC Q45344.1
+#=GS Q9ZNP1_COMTE/9-88 AC Q9ZNP1.1
+#=GS Q9Z418_PSEPU/11-90 AC Q9Z418.1
+#=GS Q9ZAN6_9BURK/12-91 AC Q9ZAN6.1
+#=GS FERN_PSEPU/7-85 AC P23263.1
+#=GS O24827_ACISP/7-85 AC O24827.1
+#=GS FERX_PSEPU/8-86 AC P23103.1
+#=GS Q52061_PSEPU/8-86 AC Q52061.1
+#=GS Q52167_PSEPU/8-86 AC Q52167.1
+#=GS O84964_9RALS/4-82 AC O84964.1
+#=GS Q9Z3W9_9SPHN/8-85 AC Q9Z3W9.1
+#=GS DMPP_PSEUF/5-82 AC P19734.3
+#=GS O84963_9RALS/4-81 AC O84963.1
+#=GS Q52574_PSESP/5-83 AC Q52574.1
+#=GS Q9ZNP2_COMTE/5-82 AC Q9ZNP2.1
+#=GS Q43983_ACICA/5-82 AC Q43983.1
+#=GS O87617_PSEAE/3-78 AC O87617.1
+#=GS O52378_9RALS/3-78 AC O52378.1
+#=GS Q51492_PSEAE/3-78 AC Q51492.1
+#=GS NDOR_PSEPU/3-78 AC Q52126.1
+#=GS Q52140_PSEPU/3-78 AC Q52140.1
+#=GS Q9Z9X8_9GAMM/242-317 AC Q9Z9X8.1
+#=GS VANB_PSEUH/234-309 AC O05617.1
+#=GS VANB_PSES9/231-306 AC P12580.1
+#=GS VANB_PSEPU/231-307 AC O54037.1
+#=GS VANB_ACIAD/234-309 AC O24840.1
+#=GS O88034_STRCO/230-305 AC O88034.1
+#=GS P94680_COMTE/234-309 AC P94680.1
+#=GS CBAB_COMTE/232-307 AC Q44257.2
+#=GS POBB_PSEPS/236-311 AC Q52186.1
+#=GS YEAX_ECOLI/237-313 AC P76254.1
+#=GS Q47914_SPHCR/241-316 AC Q47914.2
+#=GS PDR_BURCE/241-314 AC P33164.3
+#=GS PDR_BURCE/241-314 DR PDB; 2PIA A; 240-313;
+#=GS PHT2_PSEPU/243-316 AC Q05182.1
+#=GS O86347_MYCTU/231-301 AC O86347.3
+#=GS YFAE_ECOLI/4-77 AC P0ABW3.1
+#=GS Y1309_HAEIN/3-75 AC P45154.1
+#=GS O31003_VIBAN/5-73 AC O31003.1
+#=GS RFBI_SALTY/5-76 AC P26395.1
+#=GS P95461_9PSED/17-94 AC P95461.1
+#=GS O85971_SPHAR/13-90 AC O85971.1
+#=GS XYLA_PSEPU/20-97 AC P21394.1
+#=GS YCBX_ECOLI/293-362 AC P75863.1
+#=GS P96096_THIFE/9-86 AC P96096.1
+#=GS MMOC_METTR/7-81 AC Q53563.1
+#=GS O85675_ACIAD/8-85 AC O85675.1
+#=GS BENC_ACIAD/19-98 AC P07771.2
+#=GS BENC_ACIAD/19-98 DR PDB; 1KRH B; 9-88;
+#=GS BENC_ACIAD/19-98 DR PDB; 1KRH A; 9-88;
+#=GS XYLZ_PSEPU/8-86 AC P23101.1
+#=GS CBDC_BURCE/8-85 AC Q51603.1
+#=GS O66892_AQUAE/7-72 AC O66892.1
+#=GS O85226_PSEFL/27-86 AC O85226.1
+#=GS O29575_ARCFU/14-75 AC O29575.1
+#=GS O27878_METTH/21-82 AC O27878.1
+#=GS Y092_METJA/14-73 AC Q57557.1
+#=GS FER5_RHOCA/10-107 AC P37097.2
+#=GS Q44501_AZOVI/10-107 AC Q44501.1
+#=GS Q46508_DESFR/6-74 AC Q46508.1
+#=GS Q9ZBV9_STRCO/15-78 AC Q9ZBV9.1
+#=GS NUOG_MYCTU/19-82 AC P95175.2
+#=GS O87815_CUPNE/22-85 AC O87815.1
+#=GS NQO3_THET8/4-88 AC Q56223.2
+#=GS NQO3_THET8/4-88 DR PDB; 3M9S C; 4-88;
+#=GS NQO3_THET8/4-88 DR PDB; 3M9S 3; 4-88;
+#=GS P74022_SYNY3/6-69 AC P74022.1
+#=GS P94157_SYNP6/6-69 AC P94157.1
+#=GS Q44513_ANAVA/6-69 AC Q44513.1
+#=GS P77908_MOOTH/4-67 AC P77908.3
+#=GS Q9ZJW1_HELPJ/4-65 AC Q9ZJW1.1
+#=GS O05397_BACSU/11-72 AC O05397.1
+#=GS YJGC_BACSU/7-68 AC O34720.1
+#=GS NUOG_SALTI/4-72 AC P0A1Y5.2
+#=GS O66748_AQUAE/6-70 AC O66748.1
+#=GS NDUS1_DICDI/5-71 AC Q34312.1
+#=GS NQO3_PARDE/7-71 AC P29915.4
+#=GS NDUS1_NEUCR/38-101 AC P24918.2
+#=GS NUOG_RICPR/4-67 AC Q9ZCF6.1
+#=GS NDUS1_SOLTU/70-133 AC Q43644.1
+#=GS NDUS1_RECAM/4-67 AC O21241.1
+#=GS NDUS1_BOVIN/34-97 AC P15690.1
+#=GS O52683_THEMA/3-65 AC O52683.1
+#=GS Q46606_DESVU/3-71 AC Q46606.1
+#=GS HOXU_CUPNH/5-66 AC P22318.2
+#=GS P72305_RHOOP/5-66 AC P72305.1
+#=GS Q59261_CLOSA/4-67 AC Q59261.1
+#=GS Q9ZNE4_CLOPE/4-67 AC Q9ZNE4.1
+#=GS PHF1_CLOPA/4-67 AC P29166.1
+#=GS Q59262_CLOAB/4-66 AC Q59262.1
+#=GS P74801_SYNY3/5-63 AC P74801.1
+#=GS XDHE_BACSU/18-77 AC O32143.1
+#=GS HCRC_THAAR/7-66 AC O33818.1
+#=GS HCRC_THAAR/7-66 DR PDB; 1SB3 F; 7-66;
+#=GS HCRC_THAAR/7-66 DR PDB; 1RM6 C; 7-66;
+#=GS HCRC_THAAR/7-66 DR PDB; 1RM6 F; 7-66;
+#=GS HCRC_THAAR/7-66 DR PDB; 1SB3 C; 7-66;
+#=GS P95635_RHOPA/15-74 AC P95635.1
+#=GS XDHC_ECOLI/11-69 AC Q46801.1
+#=GS YAGT_ECOLI/65-124 AC P77165.1
+#=GS DCMS_HYDPS/8-67 AC P19915.2
+#=GS Q52589_9PSED/8-67 AC Q52589.1
+#=GS O52837_BRAJA/6-65 AC O52837.1
+#=GS O53709_MYCTU/5-64 AC O53709.1
+#=GS O87682_ARTNI/8-67 AC O87682.1
+#=GS Q59128_ARTNI/14-73 AC Q59128.1
+#=GS P72223_PSEPU/14-73 AC P72223.1
+#=GS P72223_PSEPU/14-73 DR PDB; 1T3Q A; 14-73;
+#=GS P72223_PSEPU/14-73 DR PDB; 1T3Q D; 14-73;
+#=GS Q9ZBN8_STRCO/5-65 AC Q9ZBN8.1
+#=GS O54050_RHOCA/5-68 AC O54050.1
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRP A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3R A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3S A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRP G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W54 E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRP E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W55 A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3R E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3S E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W54 G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3R G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W54 A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRO A; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRO E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W55 E; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W55 C; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3R C; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRO C; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W54 C; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3S G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W55 G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 2W3S C; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRO G; 5-68;
+#=GS O54050_RHOCA/5-68 DR PDB; 1JRP C; 5-68;
+#=GS O23887_MAIZE/15-85 AC O23887.1
+#=GS ALDO4_ARATH/8-78 AC Q7G191.2
+#=GS ALDO1_ARATH/23-95 AC Q7G193.2
+#=GS O30328_ACEEU/4-63 AC O30328.1
+#=GS IORA_BREDI/4-64 AC Q51697.1
+#=GS XDH_EMENI/39-108 AC Q12553.2
+#=GS O61198_CAEEL/8-78 AC O61198.2
+#=GS O17892_CAEEL/18-86 AC O17892.1
+#=GS XDH_DROSU/13-83 AC P91711.1
+#=GS O17506_BOMMO/19-89 AC O17506.1
+#=GS Q17250_BOMMO/18-88 AC Q17250.2
+#=GS ADO_BOVIN/9-79 AC P48034.2
+#=GS XDH_BOVIN/8-78 AC P80457.4
+#=GS XDH_BOVIN/8-78 DR PDB; 1V97 B; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NVY A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NVY J; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NRZ J; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NVV A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NRZ A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 1N5X A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 1N5X B; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 1V97 A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 1VDV A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NVV J; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 1VDV B; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NS1 A; 8-78;
+#=GS XDH_BOVIN/8-78 DR PDB; 3NS1 J; 8-78;
+#=GS MOP_DESGI/6-65 AC Q46509.1
+#=GS MOP_DESGI/6-65 DR PDB; 1VLB A; 6-65;
+#=GS MOP_DESGI/6-65 DR PDB; 1SIJ A; 6-65;
+#=GS O53669_MYCTU/13-78 AC O53669.1
+#=GS O29566_ARCFU/5-80 AC O29566.1
+#=GS O30225_ARCFU/5-84 AC O30225.1
+#=GS NQRF_CHLTR/46-122 AC O84745.1
+#=GS NQRF_HAEIN/43-119 AC O05012.1
+#=GS NQRF_VIBAL/39-115 AC Q56584.1
+#=GS O84062_CHLTR/8-83 AC O84062.1
+#=GS Q9Z8H9_CHLPN/8-83 AC Q9Z8H9.1
+#=GS CSMJ_CHLTE/5-82 AC O68983.1
+#=GS CSMI_CHLTE/5-82 AC O68988.1
+#=GS FER_TRIVA/13-90 AC P21149.1
+#=GS FER_TRIVA/13-90 DR PDB; 1L5P A; 5-83;
+#=GS FER_TRIVA/13-90 DR PDB; 1L5P C; 5-83;
+#=GS FER_TRIVA/13-90 DR PDB; 1L5P B; 5-83;
+#=GS P73774_SYNY3/7-88 AC P73774.1
+#=GS FER_BUCAP/10-92 AC O51882.1
+#=GS O69222_AZOVI/11-93 AC O69222.1
+#=GS FER_HAEIN/10-92 AC P44428.2
+#=GS FER_PSEAE/10-92 AC Q51383.2
+#=GS ADRX_YEAST/67-149 AC Q12184.1
+#=GS ADX_PIG/71-155 AC P00258.2
+#=GS FER2_RICPR/11-93 AC Q9ZDW6.1
+#=GS O49551_ARATH/44-127 AC O49551.1
+#=GS ETP1_SCHPO/525-592 AC Q10361.2
+#=GS ETP1_SCHPO/525-592 DR PDB; 2WLB A; 525-607;
+#=GS ETP1_SCHPO/525-592 DR PDB; 2WLB B; 525-607;
+#=GS O07876_SPHSX/8-91 AC O07876.1
+#=GS Q9ZAM5_SPHSX/8-91 AC Q9ZAM5.1
+#=GS FER2_CAUCR/8-91 AC P37098.1
+#=GS FER6_RHOCA/7-91 AC P80306.1
+#=GS FER6_RHOCA/7-91 DR PDB; 1UWM A; 7-91;
+#=GS P74447_SYNY3/31-113 AC P74447.1
+#=GS P73171_SYNY3/7-85 AC P73171.1
+#=GS FER1_AQUAE/3-83 AC O67065.1
+#=GS FER4_RHOCA/7-86 AC P16022.1
+#=GS P74283_SYNY3/5-88 AC P74283.1
+#=GS PUTX_PSEPU/8-92 AC P00259.3
+#=GS PUTX_PSEPU/8-92 DR PDB; 1PDX A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1OQR C; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1OQR B; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1XLP C; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1R7S A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1OQR A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1YJJ A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1R7S C; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1OQQ B; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1XLP A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1XLP B; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1R7S B; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1OQQ A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1XLN B; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1YJI A; 7-91;
+#=GS PUTX_PSEPU/8-92 DR PDB; 1XLN A; 7-91;
+#=GS TERPB_PSESP/8-92 AC P33007.2
+#=GS P95277_MYCTU/9-84 AC P95277.1
+#=GS O05933_PSEPU/11-88 AC O05933.1
+#=GS DESET_MYCTU/303-373 AC O05875.1
+#=GS O23344_ARATH/57-131 AC O23344.1
+#=GS P74159_SYNY3/11-86 AC P74159.1
+#=GS FER2_SYNP6/8-83 AC P08451.2
+#=GS P73388_SYNY3/9-84 AC P73388.1
+#=GS FER1_HALMA/35-108 AC P00217.2
+#=GS P74449_SYNY3/11-88 AC P74449.1
+#=GS FER2_NOSMU/10-85 AC P00249.2
+#=GS FER2_APHSA/10-86 AC P00251.2
+#=GS FER1_CYAPA/10-85 AC P17007.3
+#=GS FER_PORPU/10-85 AC P51320.2
+#=GS FER_ODOSI/10-85 AC P49522.2
+#=GS FER_BUMFI/9-84 AC P13106.1
+#=GS FER3_CYACA/9-84 AC P00241.1
+#=GS FER2_CYACA/8-83 AC P15789.1
+#=GS FER_BRYMA/8-83 AC P07838.1
+#=GS FER_APHSA/9-83 AC P00250.2
+#=GS FER_THEVL/9-84 AC P0A3D1.2
+#=GS FER_PERBI/6-80 AC P10770.1
+#=GS FER3_RAPSA/8-82 AC P14938.1
+#=GS FER1_SPIOL/58-132 AC P00221.2
+#=GS FER_SILPR/57-131 AC P04669.1
+#=GS FER_WHEAT/54-128 AC P00228.2
+#=GS FER_SAMNI/8-82 AC P00226.1
+#=GS FERA_ALOMA/8-82 AC P81372.1
+#=GS FER_ARCLA/8-82 AC P00223.1
+#=GS FER_DATST/8-82 AC P68165.1
+#=GS FER_PALPL/9-83 AC P07484.1
+#=GS FER_EUGVI/8-82 AC P22341.1
+#=GS FER_CHLFU/6-80 AC P56408.1
+#=GS FER_SYNY4/9-83 AC P00243.2
+#=GS FER1_PHYAM/8-82 AC P00229.1
+#=GS FER2_PHYAM/9-83 AC P00231.1
+#=GS FER2_SPIOL/8-82 AC P00224.1
+#=GS FER_PHYPA/57-132 AC O04166.1
+#=GS FER_MARPO/7-81 AC P09735.1
+FER_GLEJA/8-82 LTPDGE...RTIEVPDDKF.ILDAGE...E.A.GLDLPYSCRA.......GA....CSSCTGKLLDGRV.....DQSE...QSFLDDDQMAEGFV.....................LTCVAYPA
+FER2_RAPSA/9-84 IGPEGE..ENEFEVQDDQF.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGQIVKGQV.....DQSE...GSFLEDDHFEKGFV.....................LTCVAYPQ
+Q39648_CITSI/61-136 IGPMGE..EHEFEAQEDQY.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGKLVSGSV.....DQSD...GSFLDDNQMEAGYL.....................LTCISYPT
+FER3_MAIZE/63-138 VGPEGE..EHEFDAPDDAY.ILDAAE...T.A.GVELPYSCRA.......GA....CSTCAGKIESGSV.....DQSD...GSFLDDGQQEEGYV.....................LTCVSYPK
+FER6_MAIZE/66-141 VGPDGT..EHEFEAPDDTY.ILEAAE...T.A.GVELPFSCRA.......GS....CSTCAGRMSAGEV.....DQSE...GSFLDDGQMAEGYL.....................LTCISYPK
+FER1_SYNP2/9-83 ITPDGE...VSYDAPDDEY.ILDSAG...D.A.GYDLPASCRA.......GA....CSTCAGKIVSGTV.....DQSE...QSFLDDDQIEAGYV.....................LTCIAYPQ
+FER1_EQUAR/7-81 KTPSGE...FTLDVPEGTT.ILDAAE...E.A.GYDLPFSCRA.......GA....CSSCLGKVVSGSV.....DESE...GSFLDDGQMEEGFV.....................LTCIAIPE
+FER2_EQUAR/7-80 KTPDGD...ITFDVEPGER.LIDIGS...E.K..ADLPLSCQA.......GA....CSTCLGKIVSGTV.....DQSE...GSFLDDEQIEQGYV.....................LTCIAIPE
+#=GR FER2_EQUAR/7-80 SS E-----...EEEEE-----.TT----...-.S..S----SS--.......--....-STT---EEE-EE.....E---...-----HHHHH----.....................-TTT-EEE
+FER2_PLEBO/10-85 NKKRNL..DITLPVDEDTT.VLEAAE...E.A.ELDLPFSCHS.......GA....CSSCVGKVVEGEI.....NQDD...QTFLDEEQVAKGFV.....................LLCVTYPR
+P95533_PSEPU/253-328 VLMKGQ..THAVPVRAGEL.LLSAML...R.A.GLPAPHACRV.......GE....CASCMCRLQAGEVQ....RLDS....SVLDEDDVAAG.W...................L.LACRTRAA
+KSHB_MYCTU/273-348 VELDGQ..THTVSWPRTAK.LLDVLL...A.A.GLDAPFSCRE.......GH....CGACACTLRAGKVN....MGVN....DVLEQQDLDEG.L...................I.LACQSRPE
+Q44253_ACISP/251-326 FMLNGI..KNSVMCSEDDFILNEIIK......AGINVPSSCCA.......GN....CGSCMCLLVSGDVI....LESN....TVLDASDEEDGWI.....................LACRSKPR
+Q59656_PLEBO/573-647 FAQSGK....EITCTQDDL.ILDIAD.....QAEVAIESSCRS.......GT....CGSCKCTLLEGEV.....SYDS..EPDVLDEHDRASGQI.....................LTCIARPV
+P71846_MYCTU/600-675 FTLSGQ..RAIFDLVPGDS.ILEGAL...G..LRSDAPYACMG.......GA....CGTCRAKLIEGNVE....MD....HNFALRKAELDAGYI.....................LTCQSHPT
+O84985_PSEPU/271-347 VISDGR..ALTFDLPRNTQNVLDAGN...A.I.GAELPYSCKA.......GV....CSTCKCRVIEGEV.....EMDS...NHALEDYEVAAGYV.....................LSCQTYPV
+PAAE_ECOLI/266-342 VRQDGR..DREIVLNADDESILDAAL...R.Q.GADLPYACKG.......GV....CATCKCKVLRGKV.....AMET...NYSLEPDELAAGYV.....................LSCQALPL
+HCR_ECOLI/241-316 FTKLQP..AREFYAPVGTT.LLEALE.....SNNVPVVAACRA.......GV....CGCCKTKVVSGEY.....TVSS...TMTLTDAEIAEGYV.....................LACSCHPQ
+O87803_PSEST/5-82 IKIADT..DVEFTISDRDT.ILRAAL...R.D.GIPISYECNS.......GG....CGSCKIDVVEGQVE...TLWGE...APGLSPRDKRK.SR...................K.LACQCLAS
+TMOF_PSEME/4-81 IQSDDL..LHHFEADSNDT.LLSAAL...R.A.ELVFPYECNS.......GG....CGACKIELLEGEVS...NLWPD...APGLAARELRK.NR...................F.LACQCKPL
+O32476_PSESP/4-81 LKIEGQ..APGTCG.SGKS.LLVSAL...A.N.GIGFPYECAS.......GG....CGVCKFELLEGNVQ...SMWPD...APGLSSRDREKGNR...................H.LACQCVAL
+Q51944_BURPI/5-82 ITIEGG..SAFSVAADEDT.LLRGAL...R.G.GIALPHECSV.......GG....CGACRFDLLSGLVE...SIWPE...APGLSERDRKR.GK...................H.LACQSRPL
+Q53028_RHOCO/4-80 INVQPF..SHEYSCEDGES.LLDGAL..RN...SLLLKYGCKH.......GG....CGTCKVRLLDGDV.....EEPG..SSFALTPEDRENDVI.....................LACASVPL
+Q45344_BURPI/10-88 YAWNRP..RSTTHARPPKA.SLTGML...R.LGRKGIPVGCVN.......GG....CGVCKVRVLDGST......RLGR.RQPCPRQRRRRSAGL...................T.LACREAPL
+Q9ZNP1_COMTE/9-88 VSVEQT..GDTYACGTHES.LLSGML...R.LGRKGIPVGCVN.......GG....CGVCKVQVLEGAV.....RHLGP.VSCAHVSDLERDQGY...................T.LACRVAPL
+Q9Z418_PSEPU/11-90 VHVMQT..GETFPCATDES.LLQGML...R.LGRKGIPVGCVN.......GG....CGVCKVHVIEGQC.....RPLGP.VSRAHVSAAEEARGF...................T.LACRVAPV
+Q9ZAN6_9BURK/12-91 VHVAQT..DETFPCAGNES.LLTGMV...R.LGRKGIPVGCVN.......GG....CGVCKVRIVEGQI.....KALGP.ISRAHVTLDEENQGY...................T.LACRVAPQ
+FERN_PSEPU/7-85 ITVQPG..GERFVCQPQQS.ALHAME...T.QGKRCLPVGCRG.......GG....CGLCKVRVLAGDY......ESGR.VSCKHLPVEAREQGY...................A.LACRLFAR
+O24827_ACISP/7-85 ITEQCS..GQRFPCKAGQS.VLKAME...Q.QGLECAPVGCRG.......GG....CGLCKVTVREGDY......ECGK.MSRVHAPPEALAQGE...................V.LACRIYPL
+FERX_PSEPU/8-86 VFEVLS..GQSFRCAEGQS.VLRAME...A.QGKRCIPVGCRG.......GG....CGLCRVRVLSGAY......RSGR.MSRGHVPAKAAAEAL...................A.LACQVFPQ
+Q52061_PSEPU/8-86 IRETVS..GQTFRCLPDQS.VLSAME...Q.QGKRCVPVGCRG.......GG....CGLCKVRVLSGTY......QCHK.MSCNHVPPEAAKQGL...................A.LACQLFPQ
+Q52167_PSEPU/8-86 VHETNS..GQSFTCRPDQS.VLRAME...E.QGKRCVPVGCRG.......GG....CGLCKVRVLSGDY......QCGR.MSCSQVPPEAAQQGL...................A.LACQLYPR
+O84964_9RALS/4-82 VEIADS..GQRYPCDPGQN.LLRAME...V.LGQRGIPAGCRG.......GG....CGVCKVRIESGRY......RTGK.MSRACLSEAEQGQGL...................V.LACKAFPD
+Q9Z3W9_9SPHN/8-85 IRILGG..GQ.FACPEGER.VLIAME...Q.FGSSDIGVGCRG.......GG....CGFCLVRVVEGEY......RTGK.MSTAKVSVADQAKGY...................A.LACRIYPM
+DMPP_PSEUF/5-82 VTIEPT..GEVIEVEDGQT.ILQAAL...R.Q.GVWLPFACGH.......GT....CATCKVQVVEGEVD...IGEAS...PFALMDIERDERKV.....................LACCAIPL
+O84963_9RALS/4-81 LTIEPI..GQTIPIAPGQT.VLDACL...R.S.GVWLPHACCH.......GL....CATCKVQVVEGEVD...QGEAS..SFALMDFER.DNGQC.....................LACCATAQ
+Q52574_PSESP/5-83 LTIEPL..GRTLDVAEGQT.LLDAAL...R.S.GVYIPHACGH.......GL....CGTCKVQVTSGEVD...HGAAN..PLRRSWISSGEEGKT.....................LACCATAL
+Q9ZNP2_COMTE/5-82 LTLEPL..GASIEVEEGQT.LLDAAL...R.Q.GIYIPHACGH.......GL....CGTCKIQVCDGDVD...HGAAN..PFALMDMER.EDGMT.....................LACCATLQ
+Q43983_ACICA/5-82 VTIEPA..GTIIQVEEDQT.ILDAAL...R.Q.GVWLPFACGH.......GT....CGTCKVQVTDGFYD...VGEAS..PFALMDIER.EENKV.....................LACCCKPE
+O87617_PSEAE/3-78 LHIQPL..GQTLSVDSGAN.LLEALR...A.AE.VPISYSCMA.......GR....CGTCRCKVLKGQV......L..E.SGREATLTNPHADDY...................V.LACMSAIT
+O52378_9RALS/3-78 LVVEPL..NLHLNAETGST.LLDVLR...S.NE.VPISYSCMS.......GR....CGTCRCRVIAGHL......R..D.NGPETGRPQAGKGTY...................V.LACQAVLT
+Q51492_PSEAE/3-78 LLVLPN..NRRLPFDSGAN.LLEVLR...E.HR.VGISYSCMS.......GR....CGTCRCRVIDGSV......I..S.SAAKSGDSNRIEEHY...................V.LACQSVLT
+NDOR_PSEPU/3-78 LLIQPN..NRIIPFSAGAN.LLEVLR...E.NG.VAISYSCLS.......GR....CGTCRCRVIDGSV......I..D.SGAENGQSNLTDKQY...................V.LACQSVLT
+Q52140_PSEPU/3-78 LLIQPN..NRLISFSPGAN.LLEVLR...E.NG.VAISYSCMS.......GR....CGTCRCRVTDGSV......I..D.SGTGSGLPHLVDEHY...................V.LACRSVLT
+Q9Z9X8_9GAMM/242-317 VRIASS..GATVHVDKHTT.IVAALA...S.I.GIEVDTSCGE.......GV....CGTCMVDVVSGTP.....EHRD....HCLSKAERASGKV...................I.CCCVSRAR
+VANB_PSEUH/234-309 VRIHST..GQVLQVPADQT.VSQVLD...A.A.GIIVPVSCEQ.......GI....CGTCITRVVDGEP.....DHRD....FFLTDAEKAKNDQ...................F.TPCCSRAK
+VANB_PSES9/231-306 GRLARS..GLTLQVPAERS.VAQVLD...D.A.GVCIPLACEQ.......GI....CGTCLTRVLDGEP.....EHRD....SFLTDAERARNDQ...................F.TPCCSRAR
+VANB_PSEPU/231-307 VQLNST..GQVFEVPADQS.VVHVLE...Q.H.GIAIAMSCEQ.......GI....CGTCLTRVLSGTPE....ASRP....VFLTEQEQALNDQ...................F.TPCCSRSK
+VANB_ACIAD/234-309 IEVLGS..DRKIEVSAHQT.ATQALL...E.H.GFDVPVSCEQ.......GI....CGTCITRVVSGTP.....DHRD....VFMTDEEHALNDQ...................F.TPCCSRAK
+O88034_STRCO/230-305 VVLARS..GRTVAVPPGTS.VLDAVR...E.T.GVEVLYSCTE.......GT....CGTCETEVVEGEP.....DHRD....SVLTEEERAAGET...................M.LICVSRCR
+P94680_COMTE/234-309 LVLQRA..GLSTTVDAHES.VLDAME...R.V.GVDFPWSCRE.......GI....CGTCEAPVLEGEV.....QHLD....YVLSPEERAEQRR...................M.MVCVSRCG
+CBAB_COMTE/232-307 VNLARS..GAQYVVREGET.ILDVLR...N.A.GHHVTSSCRQ.......GI....CGMCETTLISGVP.....DHRD....RLLTDSEKASGRT...................M.LICCSRAL
+POBB_PSEPS/236-311 VHLARS..GRTIPIAAGCT.ILDALQ...A.G.GVAVPSSCQQ.......GV....CGICETAVLAGVP.....DHRD....LVLSDQERAAGRT...................M.MICCSGSK
+YEAX_ECOLI/237-313 LVLARS..GKEFVVPEEMT.ILQVIE...N.NKAAKVECLCRE.......GV....CGTCETAILEGEA.....DHRD....QYFSDEERASQQS...................M.LICCSRAK
+Q47914_SPHCR/241-316 VLARRS..GQEFTVEPGMT.ILETLL...Q.N.GISRNYSCTQ.......GV....CGTCETKVLEGEP.....DHRD....WVLSDEKKASNST...................M.LICCSLSK
+PDR_BURCE/241-314 VRLSRS..GTSFEIPANRS.ILEVLR...D.A.NVRVPSSCES.......GT....CGSCKTALCSGEA.....DHRD....MVLRDD..EKGTQ...................I.MVCVSRAK
+#=GR PDR_BURCE/241-314 SS EEES--..--EEEE-TTS-.HHHHHH...H.T.T-----S---.......--....----EEEEEE--E.....E---....SS--TT..T---E...................E.ETTT-EES
+PHT2_PSEPU/243-316 VTLGRS..GIDLEIPVDRS.ILEVLR...D.N.GIRAPSSCES.......GT....CGSCRTRLIEGDV.....EHRD....MVLREDEQH..DQ...................I.MICVSRAR
+O86347_MYCTU/231-301 LELARS..RRVLRVPANRS.ALDVML.....DWDPTTAYSCQQ.......GF....CGTCKVRVLAGQV.....DRRG....RIIEGDN.....E...................M.LVCVSRAV
+YFAE_ECOLI/4-77 VTLRIT..GTQLLCQDEHP.SLLAAL...E.SHNVAVEYQCRE.......GY....CGSCRTRLVAGQV......D......WIAEPLAFIQPGE...................I.LPCCCRAK
+Y1309_HAEIN/3-75 IHLIRH..NTTLEFNNET..SLLDHL...E.KNNIHHEYQCRS.......GY....CGSCRVKIKKGKV......S......YKEMPLAFIQPDE...................I.LLCCCHVE
+O31003_VIBAN/5-73 VIVKPS..GVEYQSG..RN.ILDDAF...A.S.SISLEHSCKT.......GD....CGVCCAEVISGLV.....ENEN........GELVTQG.H...................I.LTCQSKAK
+RFBI_SALTY/5-76 IKIFPS..NIEFSGREDES.ILDAAL...S.A.GIHLEHSCKA.......GD....CGICESDLLAGEVV....DSKG.........NIFGQGDK...................I.LTCCCKPK
+P95461_9PSED/17-94 VQILPQ..DVTIVLEPGQT.LLEAAL...A.N.GIAYPHDCTV.......GT....CASCKTRLKQGRVR...EATPF...GYTLSKAELDA.GY...................I.LACQAFPR
+O85971_SPHAR/13-90 VTVEGS..PTTLDIPAGKT.LLEAML...D.A.GLAMPHDCKV.......GS....CGTCKFKLVSGKIG...ELSPS...ALALEGDELRS.GF...................R.LACQAIPR
+XYLA_PSEPU/20-97 VSVRGQ..GFQFKVPRGQT.ILESAL...H.Q.GIAFPHDCKV.......GS....CGTCKYKLISGRVN...ELTSS...AMGLSGDLYQS.GY...................R.LGCQCIPK
+YCBX_ECOLI/293-362 IDWQGQ....AFRGNNQQV.LLEQLE.....NQGIRIPYSCRA.......GI....CGSCRVQLLEGEV......T.P......LKKSAMGDDGT....................ILCCSCVPK
+P96096_THIFE/9-86 HTRDKQ..QVSFVCSEAED.LLSAAD...R.G.SILLPSQCRK.......GT....CGACVATVTAGTYH...LGEVS..MEALPEKAQ.ARGDV.....................LLCRTYPR
+MMOC_METTR/7-81 ETEDGE..TCRRMR.PSED.WISR.A...E.A.ERNLLASCRA.......G.....CATCKADCTDGDYE...LIDVK..VQAVPPDEE.EDGKV.....................LLCRTFPR
+O85675_ACIAD/8-85 NFADGK..TFFIAVQEDEL.LLDAAV...R.Q.GINLPLDCRE.......GV....CGTCQGTCETGIYE...QEYVD..EDALSERDL.AKRKM.....................LACQTRVK
+BENC_ACIAD/19-98 QFEDGV..TRFIRIAQGET.LSDAAY...R.Q.QINIPMDCRE.......GA....CGTCRAFCESGNYD...MPEDNY.IEDALTPEEAQQGYV.....................LACQCRPT
+#=GR BENC_ACIAD/19-98 SS E-----..EEEEEE-----.HHHHHH...H.T.T---S-S---.......--....----EEEEEE-EEE...--GGGS.-TTT--HHHHH---E.....................ETTT-EEE
+XYLZ_PSEPU/8-86 DFEDGV..TRFIDANTGET.VADAAY...R.Q.GINLPLDCRD.......GA....CGACKCFAESGRYS...LGEE.YIEDALSEAEA.EQGYV.....................LTCQMRAE
+CBDC_BURCE/8-85 RFEDDV..TYFITSSEHET.VADAAY...Q.H.GIRIPLDCRN.......GV....CGTCKGFCEHGEYD...GGDY.I.EDALSADEA.REGFV.....................LPCQMQAR
+O66892_AQUAE/7-72 RYSDGDFRWEEYEVDGEGKTVLEILQNIKEIDPTLSFRAMCRA.......GI....CGTCVVKVN.....................GEHK..........................LACNTRVY
+O85226_PSEFL/27-86 VTA.AL..GETVLSVIQATGLRQVAR...N.DHGQLVGAYCGM.......GV....CHCCLVQIDG...................RHKR...........................RACQTLVK
+O29575_ARCFU/14-75 AYWQSFEVPAKR.GMTVLEALYYIKE...NLDSSLAFRASCRM.......GI....CGSCAMKIN.....................DKP..........................RLACETQVL
+O27878_METTH/21-82 PHLESYEIPSKE.KMKVLDALQLINK...IHGANIAFRSSCRA.......GQ....CGSCAVKMN.....................GEV..........................VLACRAEVE
+Y092_METJA/14-73 EYLESYEVP..E.NITVLEALEYINK...HYEANILFRASCRN.......AQ....CGSCAVTIN.....................GEP..........................RLACETKVE
+FER5_RHOCA/10-107 IMKKDK..TIYAVAGNTATILALAKE...H.AIPIPF..ECG........DG...DCASCLIEVTHLDN.....KPAMAMMLTEKEKARLKELQMITAEEIEAA..EVSDLPPRFRLACQFIPR
+Q44501_AZOVI/10-107 LMPHNK..KVQAVAGKRSTLLGVAQE...N.GVKIPF..ECQ........DG...NCGSCLVKITHLDG.....ERIKGMLLTDKERNVLKSVGKLPKSEEERA..AVRDLPPTYRLACQTIVT
+Q46508_DESFR/6-74 ITIDGK..TTSVPE...GSTILDAAK...T.L.DIDIPTLCYLNLEALSINNKAASCRVCVVE.....................VEGRRN....L....................APSCATPVT
+Q9ZBV9_STRCO/15-78 FTLDGQ..EARVPE...GSTILDACR...A.A.GKDVPTLCEGDT..LAPKN...ACRVCVVD.....................VEGART....L....................APACSRKAE
+NUOG_MYCTU/19-82 LTIDGV..EISVPK...GTLVIRAAE...L.M.GIQIPRFCDHPL..LEPVG...ACRQCLV.....................EVEGQR....KP....................LASCTTVAT
+O87815_CUPNE/22-85 LEVDGV..SVTVPA...GTSVMRAAM...E.A.QIAVPKLCATDS..LRNFG...SCRLCLV.....................EIEGRR....GY....................PASCTTPVE
+NQO3_THET8/4-88 VKVNDR..IVEVPP...GTSVMDAVF...H.A.GYDVPLFCSEKH..LSPIG...ACRMCLVRIGLPKKGPDGKPLLNEKGEPEIQWQP....KL....................AASCVTAVA
+#=GR NQO3_THET8/4-88 SS EE-SS-..EEEE--...--BHHHHHH...H.-.------SS--TT..S----...----SEEB-------------------------S....S-....................EETTT-B--
+P74022_SYNY3/6-69 LTIDDK..AIAIEE...GASILQAAK...E.A.GVPIPTLCHLEG..ISEAA...ACRLCMVE.....................VEGTNK....L....................MPACVTAVS
+P94157_SYNP6/6-69 LQIDDQ..ELAANV...GQTVLQVAR...E.A.SIPIPTLCHLQG..VSDVG...ACRLCVVE.....................VAGSPK....L....................QPACLLTVS
+Q44513_ANAVA/6-69 LTINDQ..LISAQE...EETLLQAAQ...E.A.GIHIPTLCHLEG..VGDVG...ACRLCLVE.....................VAGSNK....L....................LPACVTKVA
+P77908_MOOTH/4-67 LTIDGQ..RVTAPE...GMTILEVAR...E.N.GIHIPTLCHHPK..LRPLG...YCRLCLVD.....................IEGAAK....P....................MTACNTPVA
+Q9ZJW1_HELPJ/4-65 MNINGK..TIECQE...GQSVLEAAR...S.A.GIYIPTICYLSG..CSPTV...ACKMCMV........................EMDG...KR....................IYSCNTKAK
+O05397_BACSU/11-72 VRVDGT..EIQARA...GATILDILN...E.N.GIEYPQICHVPE..VDPIQ...TCDTCIV........................EANG...KL....................VRSCATVAE
+YJGC_BACSU/7-68 ITINGV..EMEASE...EQTVLQLLN...N.S.SIEVPQVCYHPS..LGPIE...TCDTCIV........................SING...EL....................KRSCSAELK
+NUOG_SALTI/4-72 IHVDGK....EYEVNGADN.LLQACL...S.L.GLDIPYFCWHPAL.GSVGA....CRQCAVK..................QYQNAEDTR...GR...................LVMSCMTPAT
+O66748_AQUAE/6-70 KIYIDD...VEIEAEKGKTVLQVALE..N....GIDIPYFCYHPR..LSIAG...ACRMCVVY.......................WEDINR......................LVISCNLPVQ
+NDUS1_DICDI/5-71 FKINEI..ECEVNEEKEDITILQACT...A.N.GIEIPRFCYHEK..LTIAG...NCRMCLV.....................YVTNEE....KL....................LAACGIPLD
+NQO3_PARDE/7-71 IKIDDT....IIEVDPNMT.LIQACE...M.A.GIEVPRFCYHER..LSIAG...NCRMCLVEVVGG........PPK........PA............................ASCAMQVK
+NDUS1_NEUCR/38-101 LTIDGK..KVSIEA...GSALIQACE...K.A.GVTIPRYCYHEK..LMIAG...NCRMCLV.....................EVEKVP....KP....................VASCAWPVQ
+NUOG_RICPR/4-67 LIIDGS..EIEISE...GSTVYQACI...Q.A.GKEIPHFCYHAR..LKIAG...NCRMCLV.....................EIEKSQ....KP....................VASCAMPVS
+NDUS1_SOLTU/70-133 VFVDGY..PVKIPK...GMTVLQACE...I.A.GVDIPRFCYHSR..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPAL
+NDUS1_RECAM/4-67 VFVDGL..SVEVKK...GATILQACA...Q.V.GIEIPRFCYHER..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPVM
+NDUS1_BOVIN/34-97 VFVDGQ..SVMVEP...GTTVLQACE...K.V.GMQIPRFCYHER..LSVAG...NCRMCLV.....................EIEKAP....KV....................VAACAMPVM
+O52683_THEMA/3-65 IYVDGR..EVIIN..DNERNLLEALK.....NVGIEIPNLCYLS.....EASIYGACRMCLVEIN.......................GQIT........................TSCTLKPY
+Q46606_DESVU/3-71 AFINGK..EVRCEP...GRTILEAAR...E.N.GHFIPTLCELADIGHAPGT....CRVCLVE.....................IWRDKEAGPQI....................VTSCTTPVE
+HOXU_CUPNH/5-66 ITIDGK..TLTTEE...GRTLVDVAA...E.N.GVYIPTLCYLKDK.PCLGT....CRVCSVKVN.....................GN......V....................AAACTVRVS
+P72305_RHOOP/5-66 IEIDGV..TVTTEE...SRTLVDVAA...E.A.GVYIPTLCYLKGK.PSLGT....CRVCSVK.....................LNGTV..........................VAACTIRVA
+Q59261_CLOSA/4-67 IVIDEK..TIQVQE...NTTVIQAAL...A.N.GIDIPSLCYLNEC.GNVGK....CGVCAVE.....................IEGKNN....L....................ALACITKVE
+Q9ZNE4_CLOPE/4-67 IIINDK..TIEFDG...DKTILDLAR...E.N.GFDIPVLCELKNC.GNKGQ....CGVCLVE.....................QEGNDR....L....................LRSCAIKAK
+PHF1_CLOPA/4-67 IIINGV..QFNTDE...DTTILKFAR...D.N.NIDISALCFLNNCNNDINK....CEICTVE.....................VEGTG.....L....................VTACDTLIE
+Q59262_CLOAB/4-66 IILNGN..EVHTDK...DITILELAR...E.N.NVDIPTLCFLKDC.GNFGK....CGVCMVE.....................VEGKG.....F....................RAACVAKVE
+P74801_SYNY3/5-63 IHFLPD..DVTVAARVGEPILDVAER......AGVFIPTGCLM.......GS....CHACEVELG.......................DGTP.......................ICACISAVP
+XDHE_BACSU/18-77 MTVNGQ..AWEV.AAVPTTHLSDLLR...KEFQLTGTKVSCGI.......GR....CGACSILID.....................GK......L....................ANACMTMAY
+HCRC_THAAR/7-66 LTLNGR..ARED.LVPDNMLLLDYLR...ETVGLTGTKQGCDG.......GE....CGACTVLVD.....................DR......P....................RLACSTLAH
+#=GR HCRC_THAAR/7-66 SS EEE---..EEEE.EEETT-BHHHHHH...HT------------.......--....----EEEET.....................TE......E....................EEGGGSBGG
+P95635_RHOPA/15-74 LNVNGR..WRED.AVTDDMLLVDYLR...DIAGLTGVKTGCDG.......GE....CGACTVLID.....................GE......A....................APSCLVLAV
+XDHC_ECOLI/11-69 CTINGM..PFQLHAAPGTP.LSELLR...E.QGLLSVKQGCCV.......GE....CGACTVLVD....................G..TAID.........................SCLYLAA
+YAGT_ECOLI/65-124 LKVNGK..TEQL.EVDTRTTLLDTLR...ENLHLIGTKKGCDH.......GQ....CGACTVLVN.....................GR......R....................LNACLTLAV
+DCMS_HYDPS/8-67 VNVNGK..AQEK.AVEPRTLLIHFLR...EELNLTGAHIGCET.......SH....CGACTVDID.....................GR......S....................VKSCTHLAV
+Q52589_9PSED/8-67 MTVNGR..KVEE.AVEARTLLVHFLR...EKLNLTGTHIGCDT.......SH....CGACTVDVD.....................GK......S....................IKSCTHLAV
+O52837_BRAJA/6-65 LIVNGN..PVTA.NVDPRTLLVQFLR...ENLRLTGTHVGCDT.......SQ....CGACVVHLD.....................GK......A....................VKSCTTLAV
+O53709_MYCTU/5-64 MTVNGE..PVTA.EVEPRMLLVHFLR...DQLRLTGTHWGCDT.......SN....CGTCVVEVD.....................GV......P....................VKSCTMLAV
+O87682_ARTNI/8-67 VEVNGV..THAT.DVEPRRLLADFLR...DDLHLRGTRVGCEH.......GV....CGSCTVLLD.....................GQ......P....................VRSCTVLAV
+Q59128_ARTNI/14-73 VEVNGR..RRTV.AVDARETLADHLR...NDQKLTGIKLGCEH.......GV....CGACTILMD.....................GA......A....................VRSCLTLAA
+P72223_PSEPU/14-73 ATINGK..PRVF.YVEPRMHLADALR...EVVGLTGTKIGCEQ.......GV....CGSCTILID.....................GA......P....................MRSCLTLAV
+#=GR P72223_PSEPU/14-73 SS EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGGSBGG
+Q9ZBN8_STRCO/5-65 LTVNGR..PQEADDVWEGESLLYVLR...ERMGLPGSKNACEQ.......GE....CGSCTVRLD.....................GVP..........................VCSCLVAAG
+O54050_RHOCA/5-68 FLLNGE..TRRVRIEDPTQSLLELLR...A.EGLTGTKEGCNE.......GD....CGACTVMIRD.................AAGSR......A....................VNACLMMLP
+#=GR O54050_RHOCA/5-68 SS EEE---..EEEEE-S-TT-BHHHHHH...H.------------.......--....----EEEEES.................----E......E....................EETTTSBGG
+O23887_MAIZE/15-85 LAVNGK..RYEAAGVAPSTSLLEFLR...TQTPVRGPKLGCGE.......GG....CGACVVLVSK.................YDPATDEVTEFS....................ASSCLTLLH
+ALDO4_ARATH/8-78 FAVNGE..KFEVLSVNPSTTLLEFLR...SNTCFKSVKLSCGE.......GG....CGACIVILSK.................YDPVLDQVEEYS....................INSCLTLLC
+ALDO1_ARATH/23-95 FAINGQRFELELSSIDPSTTLVDFLR...NKTPFKSVKLGCGE.......GG....CGACVVLLSK.................YDPLLEKVDEFT....................ISSCLTLLC
+O30328_ACEEU/4-63 FRLNGR..EVTV.DVPGDTPLLWVIR...DEVGLTGTKFGCGI.......GM....CGACTIHIG.....................GR......A....................TRSCVTPVS
+IORA_BREDI/4-64 FILNGQ..PVRVTEVPEDAPLLWVVR...EHLKLSGTKFGCGL.......GL....CGACTVHIN.....................GE......A....................ARSCITPLS
+XDH_EMENI/39-108 FYLNGT..KVILDSVDPEITLLEYLR...G.IGLTGTKLGCAE.......GG....CGACTVVVS..........QIN.....PTTKKL....YHA..................SINACIAPLV
+O61198_CAEEL/8-78 FNVNGK..DIKEENVDPELTLAYYLR...NKLGLRGTKLGCEE.......GV....CGSCTVVLGT.................WDDSLNKAVYSA....................VNACLVPLF
+O17892_CAEEL/18-86 FYVNGK..RVEEKDVDPKMTLATYLR...DKLKLTGTKIGCNE.......GG....CGACTIMISH.................IENGE..IKHFS....................ANSCLMPVC
+XDH_DROSU/13-83 FFVNGK..KVTDTNPDPECTLLTYLR...DKLRLCGTKLGCAE.......GG....CGACTVMISR.................MDRGQHKIRHLA....................VNACLTPVC
+O17506_BOMMO/19-89 FYVNGK..KVIESSPDPEWTLLWYLR...KKLRLTGTKLGCAE.......GG....CGACTVMVSK.................YNRQENKIIHLA....................VNACLAPVC
+Q17250_BOMMO/18-88 FFVNGK..KVLESNPDPEWTLLFYLR...KKLKLTGTKYGCGE.......GG....CGACTVMVSK.................YLKNEDRINHIA....................VNACLISVC
+ADO_BOVIN/9-79 FYVNGR..KVTEKNVDPETMLLPYLR...KKLRLTGTKYGCGG.......GG....CGACTVMISR.................YNPITKKIRHYP....................ANACLTPIC
+XDH_BOVIN/8-78 FFVNGK..KVVEKNADPETTLLAYLR...RKLGLRGTKLGCGE.......GG....CGACTVM............LSK.....YDRLQDKIIHFS....................ANACLAPIC
+#=GR XDH_BOVIN/8-78 SS EEE---..EEEETT--TT-BHHHHHH...HT------------.......--....----EEE............EEE.....EETTTTEEEEEE....................EETTT-BGG
+MOP_DESGI/6-65 ITVNGI..EQNL.FVDAEALLSDVLR...QQLGLTGVKVGCEQ.......GQ....CGACSVILD.....................GK......V....................VRACVTKMK
+#=GR MOP_DESGI/6-65 SS EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGG-BGG
+O53669_MYCTU/13-78 DESCGELREFTVEVNEGEVVLDVILRLQQTQTPDLAVRWNCKA.......GK....CGSCSAEIN.....................GKPR..........................LMCMTRMS
+O29566_ARCFU/5-80 TFL.PS..GKRAEVDEGKTILSAAQE...I.GEGIRS..LCGG.......KG...SCGKCL..VVVR........KGDVEILSEEAHEKFVRE..K.................GYYLACQTAVK
+O30225_ARCFU/5-84 TFE.PV..GKKVE.DEPDTILEIARR...N.GVLIRS..DCGG.......KG...VCGKCK..VVVVDY......RGSLSDITDHERKHLIEEEISK................GYRLACQARVE
+NQRF_CHLTR/46-122 NND.DS..LTKTV.DSGKTLLSSLLD...S.GIAIPS..PCGG.......KA...ACKQCK..VRIT.........KNADEPLETDRSTFSKQQLEQ................GWRLSCQTKVQ
+NQRF_HAEIN/43-119 NDD.PE..KAITL.PAGGKLLGALAS...K.GIFVSS..ACGG.......GG...SCGQCI..VKVK.........NGGGEILPTELSHINKREAKE................GYRLACQVNVK
+NQRF_VIBAL/39-115 NDD.PS..LAIVT.QPGGKLLSALAG...A.GVFVSS..ACGG.......GG...SCGQCR..VKVK.........SGGGDILPTELDHITKGEARE................GERLACQVAMK
+O84062_CHLTR/8-83 ADD......ENQEFHLEDGSSIAEV......CEHSGVPLACT........EG...VCGTCVIEVLEGA........DNLSDFSEAEYDFLGDPEDS.................NERLACQCCIK
+Q9Z8H9_CHLPN/8-83 SDD......EQQEFELEDNSEIAEP......CESMGIPFACT........EG...VCGTCVIEVLEGR........ENLSEFTEPEYDFLGEPEDS.................NERLACQCRIK
+CSMJ_CHLTE/5-82 IND......KPCNAKVGDLLLNTAK......LNKAHIGYICGG.......NG...ICQSCFVYVLEGA........ECLSEPGEDEKAFISDKLFAE................GGRLACRTTIV
+CSMI_CHLTE/5-82 IND......KTASSSVGQTIGKAAR......LNHAHVGYVCGG.......HG...LCQACYITVQEGA........DCLAPLTDVEKAFLSPRQIAA................GGRIACQATIA
+FER_TRIVA/13-90 AVKGGVKKQLKFEDDQTLFTVLTEAG.......LMSADDTCQG.......NK...ACGKCICKHVSGKV......A.A..E..DDEKEFLEDQPAN..................ARLACAITLS
+#=GR FER_TRIVA/13-90 SS EE----EEEE---TTEEHHHHHHT--.......----TTS---.......--...-----EEEEEE---......-.-..-..HHHHHHCTTS-TT..................EEEGGG-EE-
+P73774_SYNY3/7-88 LICLPD..NRLLEIDSNETILDALLK..G....DIAHISVCGG.......KA...NCSTCRIMVLDGIK.....NCSPPTSIEQALAKKLDFPFHV..................R.LACQTKLS
+FER_BUCAP/10-92 KLLLPK..GGCFECKEGETILNVALK...N.NIKLEHA..CEK.......SC...ACSTCH..CIIRKG......FLSLSGWSEKEEDVLDKAWGLE...............STSRLSCQAIIG
+O69222_AZOVI/11-93 EVHCPE..GRVVEAETGESILEAALR...N.DIEIEHA..CEM.......SC...ACTTCH..VIVRDG......FDSLEPSDELEDDMLDKAWGLE...............PESRLSCQARVG
+FER_HAEIN/10-92 EDFCPE..GMVVDAATGDN.LLEVAH...N.A.GVEIHHACDG.......SC...ACTTCHVIVREG........FDSLNETSDQEEDMLDKAWGLE...............MDSRLSCQCVVG
+FER_PSEAE/10-92 ADHCPE..GAVFEAKPGET.ILDAAL...R.N.GIEIEHACEK.......SC...ACTTCHVIVREG........LDSMEPSDELEDDMLDKAWGLE...............PDSRLSCQAVVA
+ADRX_YEAST/67-149 LKD.GS..QKTYEVCEGETILDIAQG...H.NLDMEG..ACGG.......SC...ACSTCH.VIVDPDY......YDALPEPEDDENDMLDLAYGLT...............ETSRLGCQIKMS
+ADX_PIG/71-155 NRD.GK..TLTTQGKVGDSLLDVVIE...N.NLDIDGFGACEG.......TL...ACSTCH.LIFEDHI......FEKLEAITDEENDMLDLAYGLT...............DRSRLGCQICLT
+FER2_RICPR/11-93 IND.EE..ERTVEAPIGLSILEIAHS...N.DLDLEG..ACEG.......SL...ACATCH.VMLEEEF......YNKLKKPTEAEEDMLDLAFGLT...............DTSRLGCQIILT
+O49551_ARATH/44-127 DKD.GE..EIHIKVPVGMNILEAAHE...N.DIELEG..ACEG.......SL...ACSTCHVIVMDTKY......YNKLEEPTDEENDMLDLAFGLT...............ATSRLGCQVIAK
+ETP1_SCHPO/525-592 TPE.GR..EIMIE....GN......E...E.G.......ACEG.......SV...ACSTCHVIVDPEHY.....ELLD..PPEEDEEDMLDLAFGLE...............ETSRLGCQVLLR
+#=GR ETP1_SCHPO/525-592 SS ---.--..EEEE-....--......-...-.-.......----.......--...--STT-EEE-HHHH.....HHS-..---HHHHHHHCTB----...............TTEE-----B--
+O07876_SPHSX/8-91 AAD.GR..EIETNVDIGTDLMHAGLY...N.SVPGLLG.ECSG.......GL...ACATCR.VHVPAEW......QGVLPAALPAEAELLGFCEESP...............PEARLSCQIKMT
+Q9ZAM5_SPHSX/8-91 SED.GS..ELETTVDVGVDLMHAGLY...N.SIPGILG.ECSG.......GL...ACATCR.VRVPVEW......QSILPPAFPSEAELLGFCDEAP...............PEARLSCQIKMT
+FER2_CAUCR/8-91 QHD.GA..EQVIDVKPGLTVMEGAVK...N.NVPGIDA.DCGG.......AC...ACATCH.VYVDEAW......LDKTGDKSAMEESMLDFAENVE...............PNSRLSCQIKVS
+FER6_RHOCA/7-91 EHN.GT..RHEVEAKPGLTVMEAARD...N.GVPGIDA.DCGG.......AC...ACSTCH.AYVDPAW......VDKLPKALPTETDMIDFAYEPNP..............ATSRLTCQIKVT
+#=GR FER6_RHOCA/7-91 SS ---.--..EEEEE-----BHHHHHHT...-.-------.----.......--...SS-TTE.EEE-HHH......HTTS----HHHHHHHTTSSS--T..............TTEEEGGG-B--
+P74447_SYNY3/31-113 IKLDPIDLKVAIETNDNLLSGLLGQD........LRIMKECGG.......RG...MCATCHVYITAGMES...LSPLNRREQRTLEVITTHNRYS...................R.LACQARVL
+P73171_SYNY3/7-85 SFPQTKFLPLSLEFNACLAEYLTPDN........SPILFGCRT.......GL....CGTCLVKVVGEIL......SPEAEEREILAILAPDDVQA...................R.LACQIKLT
+FER1_AQUAE/3-83 VIINGK....EFDIPKGVRFGELSHE.....IEKAGIEFGCTD.......GQ....CGVCVARVIKGMECL..NEPSEEEEETLWRVGAVDEDQR.....................LTCQLVIE
+FER4_RHOCA/7-86 TFTDVS...ITVNVPTGTRIIEMSEK......VGSGITYGCRE.......GE....CGTCMTHILEGSE.....NLSEPTALEMRVLEENLGGKD...................DRLACQCRVL
+P74283_SYNY3/5-88 FVKEQK....DIVVAQGANLREKALQNGVDIYTLKGKLMNCGG......YGQ....CGTCIVEITAGME.....NLSPKTDFENRVLRKKPDNFR.....................LACQTLVN
+PUTX_PSEPU/8-92 SHD.GT..RRELDVADGVS.LMQAAV...S.NGIYDIVGDCGG.......SA...SCATCHVYVN................EAFTDKVP.....AANEREIGMLECVTAELKPNSRLCCQIIMT
+#=GR PUTX_PSEPU/8-92 SS E--.--..EEEEE-----B.HHHHHH...H.---TTG------.......--...SSSTTEEEE-................TTTGTTS-.....---TTT---GGGSSS---TTEEEGGG-B--
+TERPB_PSESP/8-92 DEQSGE...YAVDAQDGQS.LMEVAT...Q.NGVPGIVAECGG.......SC...VCATCRIEIEDAWV......E.......IVGEANPDENDLLQSTGE........PMTAGTRLSCQVFID
+P95277_MYCTU/9-84 GYSDGT..HKTMPVRCDQT.VLDAAE.....EHGVAIVNECQS.......GI....CGTCVATCTAGRYQ....MG.R...TEGLSDVERAARKI.....................LTCQTFVT
+O05933_PSEPU/11-88 NFSDGV..SRSFDVEAGTS.ILDAAI.....ESEIPLLYQCRS.......GS....CSTCIAQLTEGEAH....TRAG..ASSTLLASEYASGQR.....................LLCLCQAQ
+DESET_MYCTU/303-373 FARSGK....SVAADAATS.LMDAGE.....GAGVQLPFGCRM.......GI....CQSCVVDLVEGHV......R.D.....LRTGQRHEPGTR....................VQTCVSAAS
+O23344_ARATH/57-131 VEHDGK..TTELEVEPDETILSKALD...S...GLDVPYDCNL.......GV....CMTCPAKLVTGTV.....DQSG....GMLSDDVVERGYT.....................LLCASYPT
+P74159_SYNY3/11-86 DRQNEK..DYSVIVSDDRYILHQAED...Q...GFELPFSCRN.......GA....CTACAVRVISGQIH....QP....EAMGLSPDLQRQGYA.....................LLCVSYAQ
+FER2_SYNP6/8-83 VIYQGQ..SQTFTADSDQS.VLDSAQ...A.A.GVDLPASCLT.......GV....CTTCAARILSGEV.....DQPD...AMGVGPEPAKQGYT.....................LLCVAYPR
+P73388_SYNY3/9-84 IQHQGQ..TYTISVPEDKT.VLQAAD...D.E.GIQLPTSCGA.......GV....CTTCAALITEGTA.....EQAD...GMGVSAELQAEGYA.....................LLCVAYPR
+FER1_HALMA/35-108 DEDYGS.....LEVNEGEY.ILEAAE...A.Q.GYDWPFSCRA.......GA....CANCAAIVLEGDI.....DM..D.MQQILSDEEVEDKNV....................RLTCIGSPD
+P74449_SYNY3/11-88 NPATGS..DVTIEVAEDEL.ILEAAE...N.Q.GLDLPYSCRA.......AS....CVACAGRLLEGTVE...HTDKG...SDFLKPEELAAGCV.....................LLCAAYAT
+FER2_NOSMU/10-85 NAAEGL..DETIEVPDDEY.ILDAAE...E.A.GLDLPFSCRS.......GS....CSSCNGILKKGTV.....DQSD...QNFLDDDQIAAGNV.....................LTCVAYPT
+FER2_APHSA/10-86 NEEEGI..NAILEVADDQT.ILDAGE...E.A.GLDLPSSCRA.......GS....CSTCAGKLVSGAA.......PNQDDQAFLDDDQLAAGWV.....................MTCVAYPT
+FER1_CYAPA/10-85 CEEQGL..DTTIECPDDEY.ILDAAE...E.Q.GIDLPYSCRA.......GA....CSTCAGKVVEGTV.....DQSD...QSFLDDAQLAAGYV.....................LTCVAYPS
+FER_PORPU/10-85 SEDEGI..DVTFDCSEDTY.ILDAAE...E.A.GIELPYSCRA.......GA....CSTCAGKVTEGSV.....DQSD...QSFLDDEQLLKGYV.....................LTCIAYPE
+FER_ODOSI/10-85 SEEHDI..DATIDCNDDVF.LLDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVTEGDI.....DQSE...QTFLDDDQVGAGFV.....................LTCIAYPK
+FER_BUMFI/9-84 NEEKNI..NAVIKCPDDQF.ILDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVLSGTI.....DQSE...QSFLDDDQMGAGFL.....................LTCVAYPT
+FER3_CYACA/9-84 NKDQGI..DETIECPDDQY.ILDAAE...E.Q.GLDLPYSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQVKAGFV.....................LTCVAYPT
+FER2_CYACA/8-83 NQKEGV..DVTINCPGDQY.ILDAAE...E.Q.GVDLPYSCRA.......GA....CSTCAGKLVKGSV.....DQSD...QSFLDEEQINNGFI.....................LTCVAYPT
+FER_BRYMA/8-83 KLDDGS..EAVIDCDEDSF.ILDVAE...E.E.GIDIPFSCRS.......GS....CSTCAGKIEGGTV.....DQSE...QTFLDDDQMEEGYV.....................LTCVAYPT
+FER_APHSA/9-83 KTPDGD..NVIT.VPDDEY.ILDVAE...E.E.GLDLPYSCRA.......GA....CSTCAGKLVSG........PAPDEDQSFLDDDQIQAGYI.....................LTCVAYPT
+FER_THEVL/9-84 VRPDGS..ETTIDVPEDEY.ILDVAE...E.Q.GLDLPFSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQIEKGFV.....................LTCVAYPR
+FER_PERBI/6-80 DTPDGK...KSFECPGDSY.ILDKAE...E.E.GLELPYSCRA.......GS....CSSCAGKVLTGSI.....DQSD...QAFLDDDQGGDGYC.....................LTCVTYPT
+FER3_RAPSA/8-82 ITPEGE...QEVECDDDVY.VLDAAE...E.A.GIDLPYSCRA.......GS....CSSCAGKVVSGSV.....DQSD...QSFLDDDQIAEGFV.....................LTCAAYPT
+FER1_SPIOL/58-132 VTPTGN...VEFQCPDDVY.ILDAAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLKTGSL.....NQDD...QSFLDDDQIDEGWV.....................LTCAAYPV
+FER_SILPR/57-131 TKESGT...VTFDCPDDVY.VLDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVVAGSV.....DQSD...QSFLDDDQIEAGWV.....................LTCAAYPS
+FER_WHEAT/54-128 VTPEGE...VELEVPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLVSGEI.....DQSD...QSFLDDDQMEAGWV.....................LTCHAYPK
+FER_SAMNI/8-82 ITPDGP...QEFECPDDVY.ILEHAE...E.L.GIDIPYSCRA.......GS....CSSCAGKLVAGSV.....DQSD...QSFLDDEQIEEGWV.....................LTCVAYPK
+FERA_ALOMA/8-82 VTPQGQ...QEFDCPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVKQGEV.....DQSD...GSFLDDEQMEQGWV.....................LTCVAFPT
+FER_ARCLA/8-82 ITPEGK...QEFEVPDDVY.ILDHAA...E.E.VGDLPYSCRA.......GS....CSSCAGKVTAGSV.....DQSD...GSYLDDDQMEAGWV.....................LTCVAYPT
+FER_DATST/8-82 VTPDGP...VEFNCPDDVY.ILDQAE...E.E.GHDLPYSCRA.......GS....CSSCAGKVTAGTV.....DQSD...GNYLDDDQMADGFV.....................LTCVAYPQ
+FER_PALPL/9-83 STPGGV...EEIEGDETTY.VLDSAE...D.Q.GIDLPYSCRA.......GA....CSTCAGIVELGTV.....DQSD...QSFLDDDQLNDSFV.....................LTCVAYPT
+FER_EUGVI/8-82 INPDGE..VTI.ECGEDQY.ILDAAE...D.A.GIDLPYSCRA.......GA....CSSCTGIVKEGTV.....DQSD...QSFLDDDQMAKGFC.....................LTCTTYPT
+FER_CHLFU/6-80 KTPSGE...ETIECPEDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSSCAGKVESGEV.....DQSD...QSFLDDAQMGKGFV.....................LTCVAYPT
+FER_SYNY4/9-83 ITPDGE...NSIECSDDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSTCAGKITAGSV.....DQSD...QSFLDDDQIEAGYV.....................LTCVAYPT
+FER1_PHYAM/8-82 VTPSGT...QTIDCPDDTY.VLDAAE...E.A.GLDLPYSCRA.......GS....CSSCTGKVTAGTV.....DQED...QSFLDDDQIEAGFV.....................LTCVAFPK
+FER2_PHYAM/9-83 VTPSGT...NTITCPADTY.VLDAAE...E.S.GLDLPYSCRA.......GA....CSSCAGKVTAGAV.....NQED...GSFLEEEQMEAGWV.....................LTCVAYPT
+FER2_SPIOL/8-82 VTPSGS...QVIECGDDEY.ILDAAE...E.K.GMDLPYSCRA.......GA....CSSCAGKVTSGSV.....DQSD...QSFLEDGQMEEGWV.....................LTCIAYPT
+FER_PHYPA/57-132 DGETGA..ENVXECSDEEY.XLDAAE...R.A.GMDLPYSCRA.......GA....CSSCAGIIKAGEV.....DQSD...QSFLDDSQIDDGFV.....................LTCVAYPA
+FER_MARPO/7-81 NTPTGQ...SVIDVEDDEY.ILDAAE...E.A.GLSLPYSCRA.......GA....CSSCAGKVTAGEV.....DQSD...ESFLDDDQMDEGYV.....................LTCIAYPT
+#=GC SS_cons EEESS-EEEEEEEEEETTCBHHHHHH...HTT-TTTGTTSS--TT..S..--...SSSTTEEEEEEHCEE....EHCCS..TTHHHHHHHTTSSET-TTT---GGGSSS---TTEEECCCSBGG
+#=GC seq_cons hphsup..thphpsssspp.lLcshc...p.t.slslshuCps.......Gs....CusCtsplhtu.................hpspphttt.h.....................LuCtshsp
+//
--- /dev/null
+# STOCKHOLM 1.0
+
+#=GF ID SECIS_1
+#=GF AC RF00031
+#=GF DE Selenocysteine insertion sequence 1
+#=GF AU Griffiths-Jones SR
+#=GF GA 20.0
+#=GF NC 0.0
+#=GF TC 22.6
+#=GF PI SECIS
+#=GF SE Gautheret D, PMID:12458087
+#=GF SS Published; PMID:12458087
+#=GF TP Cis-reg;
+#=GF BM cmbuild -F CM SEED; cmcalibrate --mpi -s 1 CM
+#=GF BM cmsearch -Z 169604 -E 1000 --toponly CM SEQDB
+#=GF DR SO:1001274 SO:SECIS_element
+#=GF DR GO:0001514 GO:selenocysteine incorporation
+#=GF RN [1]
+#=GF RM 8634917
+#=GF RT A novel RNA structural motif in the selenocysteine insertion element
+#=GF RT of eukaryotic selenoprotein mRNAs.
+#=GF RA Walczak R, Westhof E, Carbon P, Krol A;
+#=GF RL RNA 1996;2:367-379.
+#=GF RN [2]
+#=GF RM 12458087
+#=GF RT A survey of metazoan selenocysteine insertion sequences.
+#=GF RA Lambert A, Lescure A, Gautheret D;
+#=GF RL Biochimie 2002;84:953-959.
+#=GF CC The incorporation of selenocysteine into a protein sequence
+#=GF CC is directed by an in-frame UGA codon (usually a stop codon)
+#=GF CC within the coding region of the mRNA. Selenoprotein mRNAs
+#=GF CC contain a conserved secondary structure in the 3' UTR that
+#=GF CC is required for the distinction of UGA stop from UGA
+#=GF CC selenocysteine. The selenocysteine insertion sequence
+#=GF CC (SECIS) is around 60 nt in length and adopts a hairpin
+#=GF CC structure which is sufficiently well-defined and conserved
+#=GF CC to act as a computational screen for selenoprotein genes [2].
+#=GF WK http://en.wikipedia.org/wiki/SECIS_element
+#=GF SQ 61
+
+#=GS D.melanogaster.1 AC AY119185.1/838-902
+#=GS D.melanogaster.2 AC AC092237.1/57223-57161
+#=GS D.melanogaster.3 AC AY060611.1/560-627
+#=GS O.niloticus.1 AC Y11109.1/1272-1330
+#=GS O.niloticus.2 AC Y11109.1/927-987
+#=GS O.niloticus.3 AC Y11111.1/1260-1324
+#=GS D.rerio.1 AC AF322071.1/1577-1642
+#=GS X.laevis.1 AC L28111.1/1299-1365
+#=GS G.gallus.1 AC AF125575.1/5781-5843
+#=GS G.gallus.2 AC Y11110.1/1218-1277
+#=GS G.gallus.3 AC Y11273.1/1139-1211
+#=GS M.musculus.1 AC AF195142.1/461-524
+#=GS M.musculus.2 AC AF021345.1/10097-10160
+#=GS M.musculus.3 AC X03920.1/1172-1235
+#=GS M.musculus.4 AC AF096875.1/5504-5568
+#=GS M.musculus.5 AC AF241527.2/359-424
+#=GS M.musculus.6 AC AF136399.1/1808-1868
+#=GS M.musculus.7 AC X84742.1/5239-5302
+#=GS M.musculus.8 AC AF288740.1/1291-1357
+#=GS M.musculus.9 AC AF274027.1/835-900
+#=GS M.musculus.10 AC AB030643.1/4176-4241
+#=GS M.musculus.11 AC AL645723.11/192421-192359
+#=GS M.musculus.12 AC AC002327.1/156204-156268
+#=GS M.musculus.13 AC AF333036.1/2190-2249
+#=GS M.musculus.14 AC U43285.1/2009-2075
+#=GS R.norvegicus.1 AC X57999.1/1526-1586
+#=GS R.norvegicus.2 AC M63574.1/1465-1528
+#=GS R.norvegicus.3 AC AF390544.1/1076-1142
+#=GS R.norvegicus.4 AC AF072865.1/1887-1947
+#=GS R.norvegicus.5 AC X12367.1/703-764
+#=GS R.norvegicus.6 AC U25264.1/366-432
+#=GS R.norvegicus.7 AC L24896.1/600-665
+#=GS H.sapiens.1 AC AF201385.1/3055-3117
+#=GS H.sapiens.2 AC AL049837.4/130674-130738
+#=GS H.sapiens.3 AC U67171.1/375-442
+#=GS H.sapiens.4 AC AF195141.1/689-759
+#=GS H.sapiens.5 AC X53463.1/847-903
+#=GS H.sapiens.6 AC AF093774.1/5851-5916
+#=GS H.sapiens.7 AC X58295.1/1384-1453
+#=GS H.sapiens.8 AC AL833145.1/1479-1545
+#=GS H.sapiens.9 AC S48220.1/1731-1788
+#=GS H.sapiens.10 AC X71973.1/730-791
+#=GS H.sapiens.11 AC AF166127.1/1919-1981
+#=GS H.sapiens.12 AC U43286.1/2054-2120
+#=GS H.sapiens.13 AC BC003127.1/865-928
+#=GS H.sapiens.14 AC S79854.1/1605-1666
+#=GS H.sapiens.15 AC X13710.1/946-1008
+#=GS B.taurus.1 AC D88033.3/5711-5774
+#=GS B.taurus.2 AC D25220.1/1493-1556
+#=GS B.taurus.3 AC AB017534.1/661-726
+#=GS B.taurus.4 AC AB032826.1/1401-1464
+#=GS B.taurus.5 AC AB022283.1/1669-1729
+#=GS B.taurus.6 AC AF053984.1/1951-2017
+#=GS B.taurus.7 AC X13684.1/700-760
+#=GS O.aries.1 AC U67853.1/375-442
+#=GS S.scrofa.1 AC AF380118.1/366-433
+#=GS S.scrofa.2 AC L12743.1/694-758
+#=GS S.scrofa.3 AC AF532927.1/678-740
+#=GS S.scrofa.4 AC X76008.1/2709-2772
+#=GS C.elegans.1 AC U61947.2/4246-4309
+#=GS S.mansoni.1 AC L37762.1/2940-3006
+
+D.melanogaster.1 G.AGCC.CU...AUGAUCGAUGAUUGG.CAAA.UCCUCUC..GAGG..A.......ACCGAUC.G.U.UGAGAA..CCCCU.....UUGCCUU
+#=GR D.melanogaster.1 SS ................(((((((((((......((((......)))..)........)))))).).).)))......................
+D.melanogaster.2 C.AUUCAACU.UAUGAGGAUUAUUUCU.UAAA.GGCCUCU...GGC..U.......CGGAAAU.A.G.UCUGAA...CCU........UAUUG
+#=GR D.melanogaster.2 SS ................(((((((((((......((((......)))..)........)))))).).).)))......................
+D.melanogaster.3 G.UGGCGCU..UAUGACGCAGUUGUCU.UAAA.CUCGAAC..UCGA.GC........GGGCAA.U.U.GCUGAU...UACG...AUUAACCAC
+#=GR D.melanogaster.3 SS (.(((...(....((((((((((((((......((((......))).).........)))))).).).)).).)...)).....)....))))
+O.niloticus.1 G.UUUCUCA...GUGAAGGCUACAGAU.UAAA..CCUCU....GGC...........CUCUGG.A.G.CCAGAU..GCAUU.......GAAAC
+#=GR O.niloticus.1 SS ......(((...(((..(((((.((..........)).)....)))...........)((((.......))))....)))).......))...
+O.niloticus.2 U.GUUUAUU..AAUGACGGCUACAGAU.UAAA..CCUUU....AGC...........CUCUGG.A.G.CCAGAU..GCAUU......CAAACA
+#=GR O.niloticus.2 SS ..((((.....((((..(((((.((..........)).)....)))...........)((((.......))))....)))).......)))).
+O.niloticus.3 G.UGUCUCU...GUGAAGUUCGGUUUU.UAAA.AGGGUCA...UCC..A.......GAAAACC.G.ACACUGAU..GUUUC......CGACAC
+#=GR O.niloticus.3 SS (.((((..........(((((((((((.(......((.......))..........))))))).).).))).................)))))
+D.rerio.1 A.UGUGGUCUUUAUGAAGGCAGGUGCA.GAAA.CUAUGCA...CUA.GU........GGUGUC.U.G.UCUGAU..GUUUG.......GCCAU
+#=GR D.rerio.1 SS ...((((((.......(((((((..(.....(.(((........)).)).........)..)).).).))).........).......)))))
+X.laevis.1 G.UGUUUGCA.AAUGACGACCGAUUUU.GAAA.UGGUCUCACGGCC..A.......AAAACUC.GUG.UCCGAC...AUC........AACCC
+#=GR X.laevis.1 SS .................((((((.(((......(((((....))))..)........))).)).).).)).......................
+G.gallus.1 G.UGUGUUU...AUGAAGAGCACUAAC.AAAA.GAGUAAU.UGACU..C.......AGUUGGU.G.U.UCAGAU..GCU.........CUCAC
+#=GR G.gallus.1 SS (.((.(..(...((...((((((((((......((((......)))..)........)))))).).).))..))..)...........).)))
+G.gallus.2 U.AUUUGUC...AUGACAGUCACAGCA.UAAA..GCGCA....GAC...........GGCUGU.G.A.CCUGAU..UUUAG......AAAAUA
+#=GR G.gallus.2 SS ................((((((((((................................))))).).)..))).....................
+G.gallus.3 U.AUUUCUU..UGUGAUGACCGAUUUU.GAAA.UGGGUUU...CUC..UAAUGCCAGGAAAUC.GUG.UCUGAU...GUUG.....UCAAGUA
+#=GR G.gallus.3 SS ......(((...(..((((((((((((......((((((..........))).))).)))))).).).)).......)).......).)))..
+M.musculus.1 G.UCACCGA...AUGAUCUGCUCUGGU.CAAA.UCCUUCU...AUG..C......CAGCCAGG.G.U.GGUGAU..GACCC.......GUGAC
+#=GR M.musculus.1 SS (.((((.(....((.(((.((((((((..............................)))))).).).))).)).....)........)))))
+M.musculus.2 G.UUACAUU..AAUGAGAACAGAAACA.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU..AGCUU.......GUAAU
+#=GR M.musculus.2 SS (.(((((..........(((((((((........(((......)))............))))).).).))..........).......)))))
+M.musculus.3 G.GUUCUUC..CAUGAUGGUGUUUCCUCUAAA..UUUGC....ACG...........GAGAAA.C.A.CCUGAU.UUCCAG.....GAAAAUC
+#=GR M.musculus.3 SS (.(((.(((..(..((.((((((((.(((................)...........)))))).).).))......))..).....)))))))
+M.musculus.4 G.UGUGCGA...AUGAUAACUACUGAC.GAAA.GAGCUGU.CUGCU..C.......AGUCUGU.G.G.UUGGAU...GUAG......UCACAC
+#=GR M.musculus.4 SS (.(((((.........(((((((.(((......((((......)))..)........))).)).).).))).........).......)))))
+M.musculus.5 G.CCGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUUA...GAC..C.....UGUGGUCUU.U.C.CUCGAU..GUUCC......UGCGGC
+#=GR M.musculus.5 SS (.((((..(...((...((((((((((.(.....(((......)))..........))))))).).).))..))..)...........)))))
+M.musculus.6 G.UCAGAUG...AUGAUGGCCUGGGCA.GAAA.CCCCAUG..UGGG..C........CGCCCA.G.G.UUUGAA...CCC........CUGGC
+#=GR M.musculus.6 SS (.((((...........(((((((((..(.....(((......)))..).........))))).).).))..................)))))
+M.musculus.7 G.UGUCUCU...AUGAAGGAGGGGCCC.GAAG.CCCUUGU...GGG..C........GGGCCU.C.C.CCUGAG...CCCG....UCUGUGGU
+#=GR M.musculus.7 SS ................(((.(((((((....(.(((.......)))..)........)))))).)...)))..(...(((........).)))
+M.musculus.8 U.UUGCAUU..AAUGAGGAUUACACAG.AAAA.CCUUUGU..UAAG.GA.......CUUGUGU.AGA.UCUGAU..AAUUG.......GCAAA
+#=GR M.musculus.8 SS ..((((......((.(((.((((((((......((((......))).).........)))))).))..))).))..............)))).
+M.musculus.9 C.CGGCACU..CAUGAAGGUCUGCUUG.AAAA.CCAGCCU..GCUG.GU........GGGGCA.G.U.CCUGAG.GACCUG.......GCGUG
+#=GR M.musculus.9 SS (.(((..((..((....((.((((((.....(.((((......))).)).........))))).)...))))))...)).).......)....
+M.musculus.10 C.CGGCACU..CAUGAAGGUCUGCCUG.AAAA.CCAGCCU..GCUG.GU........GGGGCA.G.U.CCUGAG.GACCUG.......GCGUG
+#=GR M.musculus.10 SS (.(((..((..((....((.((((((.....(.((((......))).)).........))))).)...))))))...)).).......)....
+M.musculus.11 U.AUUUGUG..UAUGAUGGUCACAGUG.UAAA..GUUCC....CAC...........AGCUGU.G.A.CUUGAU..UUUUA....AAAAUGUC
+#=GR M.musculus.11 SS (.((((...........((((((((((.(...............))...........).)))).).).))................)))))..
+M.musculus.12 C.UCAGCAG..GAUGAUGAGAAGGGCU.GAAA.UGCUGCC..AAAC..C.......AGGUCCU.U.U.UCUGAU..GGUGG.......CUGGG
+#=GR M.musculus.12 SS (.(((((..........((((((((((......((....)..)..............)))))).).).))..........).......)))))
+M.musculus.13 C.AUGCGUC..CAUGAAGUCACUGGCC.UCAA.GCCCAA....GUG.GU........GGGCAG.U.G.ACAGAA...GA.........GCUGC
+#=GR M.musculus.13 SS (.(((......))))..(((((((.((......(((.........).))........)).))).).).)).......................
+M.musculus.14 C.UCUGAUA...AUGAUGUCUCUCCCU.CUAA.CUCCCAGUAAGGA..C........UGGGAG.A.G.GCUGAACAAACCU.......CAGAG
+#=GR M.musculus.14 SS (.(((((.........(((.((..(((.(.....(((((((....)..)........)))))).).).)..)))))....).......)))))
+R.norvegicus.1 A.UAUUUGUU.UAUGAUGGUCACAGUG.UAAA..GUUCA....CAC...........AGCUGU.G.A.CUUGAU..UUUUA.......AAAAU
+#=GR R.norvegicus.1 SS ....((((.........((((((((((.(...............))...........).)))).).).)).........)).......))...
+R.norvegicus.2 G.UUACAUU..GAUGAGAACAGAAACA.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU..AGCUC.......GUAAU
+#=GR R.norvegicus.2 SS ............((((((((((((((........(((......)))............))))).).).))........))).......))...
+R.norvegicus.3 U.UUGCAUU..AAUGAGGAUUACACAG.AAAA.CCUUUGU..UAAGGGU........UUGUGUCG.A.UCUGCU..AAUUG.......GCAAA
+#=GR R.norvegicus.3 SS ..((((..........(((((((((((.(....((((......)))).)........)))))).).).))).................)))).
+R.norvegicus.4 G.UCAGAUG...AUGACGGCCUGUGCA.GAAA.CCCCCAC.GUGGG..C........UGC.CA.G.G.UUUGAA...CCC........CUGGC
+#=GR R.norvegicus.4 SS (.(((........)))).(((..((...(.......)..).)..))..).........((.((.(.(............)........)))))
+R.norvegicus.5 G.UUUUUCC...AUGACGGUGUUUCCUCUAAA..UUUAC....AUG...........GAGAAA.C.A.CCUGAU.UUCCAG......AAAAAU
+#=GR R.norvegicus.5 SS (.((((((......(((((((((((.((((..............))...........)))))).).).)).).).)....)......))))))
+R.norvegicus.6 G.CCGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUCA.AAGAC..C.....UGUGGUCUU.U.C.UUCGAU..GUUCU.......GCGGC
+#=GR R.norvegicus.6 SS (.((((..(...((((..(((((((((.(.....(((......)))..........))))))).).).))).))..)...........)))))
+R.norvegicus.7 C.CGGCACU..CAUGACGGUCUGCCUG.AAAA.CCAGCCC..GCUG.GU........GGGGCA.G.U.CCCGAG.GACCUG.......GCGUG
+#=GR R.norvegicus.7 SS (.(((..((..(.....((.((((((.....(.((((......))).)).........))))).)...)).)))...)).).......)....
+H.sapiens.1 G.CCAGAUG...AUGACGACCUGGGUG.GAAA.CCUACCC.UGUGG..G........CACCCA.U.G.UCCGAG...CCCC.......CUGGC
+#=GR H.sapiens.1 SS (.((((...........(((.((((((......(((((....))))..)........))))))...).))..................)))))
+H.sapiens.2 G.UGUGCGG...AUGAUAACUACUGAC.GAAA.GAGUCAU.CGACU..C.......AGUUAGU.G.G.UUGGAU...GUAG......UCACAU
+#=GR H.sapiens.2 SS (.(((((.........(((((((((((......(((((....))))..)........)))))).).).))).........).......)))))
+H.sapiens.3 G.ACGCUUC...AUGAUAGGAAGGACU.GAAA.AGUCUUG.UGGAC..A.....CCUGGUCUU.U.C.CCUGAU..GUUCU......CGUGGC
+#=GR H.sapiens.3 SS ..(((...(...((.(..(((((((((.......(((......)))...........)))))).).).).).))..)..........)))...
+H.sapiens.4 G.ACUGACAU.UAUGAAGGCCUGUACU.GAAG.ACAGCAA..GCUG..U.......UAGUACA.G.A.CCAGAU..GCUUU..CUUGGCAGGC
+#=GR H.sapiens.4 SS ...(((.((.....(((((((((((((....(.((((......)))..).......))))))).)...........)))))..).)).)))..
+H.sapiens.5 U.UCACAGA...AUGAUGGCACCUUCC.UAA...ACCCU....CAU...........GGGUGG.U.G.UCUGAG..AGGC........GUGAA
+#=GR H.sapiens.5 SS ..((((...........((((((...........((((...................)))))).).).))..................)))).
+H.sapiens.6 G.UGUGCGG...AUGAUAACUACUGAC.GAAAGAGUCAUC...GAC..C.....UCAGUUAGU.G.G.UUGGAU...GUAG......UCACAU
+#=GR H.sapiens.6 SS (.(((((.........(((((((((((....((.(((......)))..).....)..)))))).).).))).........).......)))))
+H.sapiens.7 U.GGCGUCUU.CAUGAGGGAGGGGCCC..AAA.GCCCUUG..UGGG..C........GGACCU.C.C.CCUGAG...CCUGUCUGAGGGGCCA
+#=GR H.sapiens.7 SS ..(((.((((.((...((((((((.........((((......)))..)...............).).)))......)))...))))))))).
+H.sapiens.8 U.UUGCUUU..AAUGAGAAUAGAAACG.UAAA..CUAUGA.CCUAG.G.........GGUUUC.U.G.UUGGAU.AAUUAG.....CAGUUUA
+#=GR H.sapiens.8 SS ..(((((..........(((((((((........(((......)))............))))).).).)).........)).....)))....
+H.sapiens.9 U.AUUUGUU..UAUGAUGGCCACAGCC.UAAA..GUACA....CAC...........GGCUGU.G.A.CUUGAU...UCA........AAAGA
+#=GR H.sapiens.9 SS .............(((.((.(((((((..............................)))))).)...)).......))).............
+H.sapiens.10 C.CGGCACU..CAUGACGGCCUGCCUG.CAAA..CCUGC....UGG..U........GGGGCA.G.A.CCCGAA.AAUCCA.......GCGUG
+#=GR H.sapiens.10 SS ...((((....(......)..))))............((....(((..(........(((........))))......))).......))...
+H.sapiens.11 G.CCGGAUG...AUGACGACCUGGGUG.GAAA.CCUACCC.UGUGG..G........CACCCA.U.G.UCCGAG...CCCC.......CUGGC
+#=GR H.sapiens.11 SS (.((((...........(((.((((((......(((((....))))..)........))))))...).))..................)))))
+H.sapiens.12 C.UCUGUUA...AUGACGUCUCUCCCUCUAAA.CCCCAUU.AAGGA..C........UGGGAG.A.G.GCAGAGCAAGCCU.......CAGAG
+#=GR H.sapiens.12 SS (.((((.......((..(((((((((.......((........)).............))))).).).))....))............)))))
+H.sapiens.13 G.UCACUGC...AUGAUCCGCUCUGGU.CAAA.CCCUUCC...AGG..C......CAGCCAGA.G.U.GGGGAU..GGUCU.......GUGAC
+#=GR H.sapiens.13 SS (.((((.((.......(((((((((((......((.........))...........)))))).).).)))......)).........)))))
+H.sapiens.14 C.ACUGCUG...AUGACGAACUAUCUC.UAAC.UGGUCUU..GACC..A.......CGAGCUA.G.U.UCUGAA...UU.G.......CAGGG
+#=GR H.sapiens.14 SS ...((((.(...((...((((((.(((......((((......)))..)........))).)).).).))...)...)).).......)))..
+H.sapiens.15 U.UUUCAUC..UAUGAGGGUGUUUCCUCUAAA..CCUACG...AGG...........GAGGAA.C.A.CCUGAU...CUUA.....CAGAAAA
+#=GR H.sapiens.15 SS .......((..(.((((((((((.(((((................)...........)))))).).).)).......))))......)))...
+B.taurus.1 C.UUGCGUU..AAUGAGAACAGAAACG.UAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAAC
+#=GR B.taurus.1 SS ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.2 C.UUGCGUU..AAUGAGAACAGAAACG.AAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAAC
+#=GR B.taurus.2 SS ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.3 C.CCGGUGCC.UAUGACGGUCUGUCUG.AAAA.CCAGCCC...CUG.GU........GGGGCA.G.A.CCUGAG.AACCUG.......GCGUG
+#=GR B.taurus.3 SS (.(.(((..(.(.....(((((((((.....(.((((......))).)).........))))).).).))..))..))).).......)....
+B.taurus.4 ACUUGCGUU..AAUGAGAACAGAAACG.UAAA..CUAUAA.CCUAG.G.........GGUUUC.U.G.UUGGAU..GGUUG.......GCAA.
+#=GR B.taurus.4 SS ......(((..(((.(.(((((((((........(((......)))............))))).).).))...)...)))).......))...
+B.taurus.5 G.CCAGAUG...AUGAGGACCUGUGCG.GAAA.CCCCCCG..CGGG..C........UGCCCA.U.G.UCUGAG...CCC........CUGGC
+#=GR B.taurus.5 SS (.((((((....(((.((.((((((.(.(.......))))..)))).............)))).).).)))).)...)...............
+B.taurus.6 G.AUGCGUC..CAUGAAGUCACCAGCC.CCAA.GCCCCUC...GUG.GU........GGGUGG.U.G.AUGGAA.CCGUCA.....AAGCAGU
+#=GR B.taurus.6 SS (.(((..((..((.....((((((.((.(((.............)).).........)).))).).).)))))...)))).............
+B.taurus.7 U.UUUGCCC...AUGAAGGUGUUCCCUCUAAA..CCUAC....GUG...........GAGGAA.U.G.CCUGAU.GUCCAG.......GAAAA
+#=GR B.taurus.7 SS (.((((..(...((..(((((((((.((((..............))...........)))))).).).))).)).)..))).......))...
+O.aries.1 G.ACGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUCU.UGGAC.GC......CUGGUCCU.U.C.CUUGAU..GUUCU......CACGGC
+#=GR O.aries.1 SS (.(.((.((...(....((((((((((.(....((((......))).)........))))))).).).)))))...))..)......).....
+S.scrofa.1 G.ACGCUUC...AUGACAGGAAGGACU.GAAA.UGUCUUG.UGGAC.GC......CUGGUCCU.U.C.CCUGAU..GUUCU......CAUGGC
+#=GR S.scrofa.1 SS .......((...(((((((((((((((.(....((((......))).)........))))))).)...))))........)......))))).
+S.scrofa.2 C.UGGCACC..CAUGACAGUCUGCCUA.AAAA.CCAGCCC...CUG.GU........GGGGCA.G.A.CUCGAG.AACCUG.......GCGUG
+#=GR S.scrofa.2 SS .....((((..((.(.((((((((((.....(.((((......))).)).........))))).).).)).).....).)).......).)))
+S.scrofa.3 A.UUUUAUC..CAUGAAAGUGUUUCCUCUAAA..CCUAU....GUG...........GAGGAA.C.A.CCUGAU.GUCCAG......GAAAAU
+#=GR S.scrofa.3 SS ...........(((....))).((((((((..............))...........)))))).....((((......)))......).....
+S.scrofa.4 C.UGGCACC..CAUGACAGUCUGCCUA.AAAA.CCAGCC....CUG.GU........GGGGCA.G.A.CUCGAG.AACCUG.......GCGUG
+#=GR S.scrofa.4 SS .....((((..((.(.((((((((((.....(.(((........)).)).........))))).).).)).).....).)).......).)))
+C.elegans.1 G.AGGCAGCUUUGUGACGACCUUUGGC.UAAA.CUCCAUC..GUGA.GC........GCCUCU.G.G.UCUGAU...GC.........GCCUC
+#=GR C.elegans.1 SS (.((((.((...((.(.((((...(((......(((........)).).........)))....).).))).))...)).........)))))
+S.mansoni.1 C.UCGCUAU...AUGACGAUGGCAAUC.UCAA..AUGUU....CAU..U........GGUUGC.C.A.UUUGAU..GAAAUCAGUUUUGUGUG
+#=GR S.mansoni.1 SS ...(((.((...(.(((((((((((((..............................)))))).).).)).............))).))))))
+#=GC SS_cons <-<<<<-----------<<<<<<<<<<-------<<<______>>>----------->>>>>>->->->>------------------>>>>>
+#=GC RF g.ucucauu..uAUGAuGgccucuccc.uAAA.ucccuuu...ggg..c........gggaga.g.g.cCuGAU..gcuug.......gagac
+//
--- /dev/null
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#nav #navInner
+{
+margin-top:0x;
+}
+
+
+#sddm
+{
+ position:relative;
+ top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:absolute;
+top:28px;
+left:270px;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{ position: absolute;
+ visibility: hidden;
+ margin: 0;
+ padding: 0;
+ top:80px;
+ z-index:9999;
+ width:0;
+ display:none;
+}
+
+
+ #sddm div a
+ { position: relative;
+ display: block;
+ margin: 0;
+ padding:8px;
+ width: 200px;
+ white-space: nowrap;
+ text-align: left;
+ text-decoration: none;
+ background: #555;
+ color: #fff;
+ border: 1px solid #000000;
+ background: #555;
+ z-index:100;
+ left:-1100px;
+ }
+
+
+#nav
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
+
+#content
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
--- /dev/null
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#sddm
+{
+ position:relative;
+ top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:relative;
+left:0;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{ position: absolute;
+ visibility: hidden;
+ margin: 0;
+ padding: 0;
+ background: #555;
+ border: 1px solid #000000;
+ top:80px;
+ z-index:9999;
+ width:120px;
+}
+
+
+ #sddm div a
+ { position: relative;
+ display: block;
+ margin: 0;
+ padding:8px;
+ width: 200px;
+ white-space: nowrap;
+ text-align: left;
+ text-decoration: none;
+ background: #555;
+ color: #fff;
+ border: 1px solid #000000;
+ background: #555;
+ z-index:100;
+ left:-80px;
+ }
+
+
+#nav
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
+
+#content
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
--- /dev/null
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+/* http://meyerweb.com/eric/tools/css/reset/
+
+ v2.0 | 20110126
+
+ License: none (public domain)
+
+*/
+
+
+
+html, body, div, span, applet, object, iframe,
+
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+
+a, abbr, acronym, address, big, cite, code,
+
+del, dfn, em, img, ins, kbd, q, s, samp,
+
+small, strike, strong, sub, sup, tt, var,
+
+b, u, i, center,
+
+dl, dt, dd, ol, ul, li,
+
+fieldset, form, label, legend,
+
+table, caption, tbody, tfoot, thead, tr, th, td,
+
+article, aside, canvas, details, embed,
+
+figure, figcaption, footer, header, hgroup,
+
+menu, nav, output, ruby, section, summary,
+
+time, mark, audio, video {
+
+ margin: 0;
+
+ padding: 0;
+
+ border: 0;
+
+ font-size: 100%;
+
+ font: inherit;
+
+ vertical-align: baseline;
+
+}
+
+/* HTML5 display-role reset for older browsers */
+
+article, aside, details, figcaption, figure,
+
+footer, header, hgroup, menu, nav, section {
+
+ display: block;
+
+}
+
+body {
+
+ line-height: 1;
+
+}
+
+ol, ul {
+
+ list-style: none;
+
+}
+
+blockquote, q {
+
+ quotes: none;
+
+}
+
+blockquote:before, blockquote:after,
+
+q:before, q:after {
+
+ content: '';
+
+ content: none;
+
+}
+
+table {
+
+ border-collapse: collapse;
+
+ border-spacing: 0;
+
+}
--- /dev/null
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+@import url(http://fonts.googleapis.com/css?family=Lato);
+@import url(http://fonts.googleapis.com/css?family=Oswald);
+
+/*****************
+HTML 5 Elements
+******************/
+new
+
+
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section
+{
+ display: block;
+}
+
+
+.clearfix:after
+ {
+ visibility: hidden;
+ display: block;
+ font-size: 0;
+ content: " ";
+ clear: both;
+ height: 0;
+}
+
+
+/****************
+Body
+****************/
+
+body
+
+{
+ font: 76% arial,Helvetica,sans-serif;
+ text-align:left;
+ background:#fff;
+ color:#000;
+ border-top: 20px solid #555555;
+}
+
+
+
+/*********************
+Page Wrapper
+********************/
+
+#pageWrap
+
+{
+ width: 960px;
+ margin: 0 auto;
+ position:relative;
+}
+
+/**********************
+HEADER
+************************/
+
+#header
+{
+ display: block;
+ height: 180px;
+ margin: 0 auto 8px;
+ width: 960px;
+ position:relative;
+}
+
+#logo a
+{
+ background-image: url("../images/logo.jpg");
+ background-repeat: no-repeat;
+ height: 87px;
+ left: 0;
+ position: absolute;
+ top: 50px;
+ width: 361px;
+ margin-bottom:50px;
+}
+
+#buttons
+{
+height:88px;
+width:252px;
+float:right;
+ right: 0;
+ position: absolute;
+ top: 50px;
+}
+
+#buttons li
+{
+margin-bottom:10px;
+}
+
+#buttons #applet a
+{
+ background-image: url("../images/applet.jpg");
+ background-repeat: no-repeat;
+ height:50px;
+ width:250px;
+ position: absolute;
+ opacity: 1;
+ transition: opacity .25s ease-in-out;
+ -moz-transition: opacity .25s ease-in-out;
+ -webkit-transition: opacity .25s ease-in-out;
+ text-shadow: 2px 2px 10px #000000;
+}
+
+#buttons #desktop a
+{
+ background-image: url("../images/desk.jpg");
+ background-repeat: no-repeat;
+ height:50px;
+ width:250px;
+ position: absolute;
+ top:45px;
+ opacity: 1;
+ transition: opacity .25s ease-in-out;
+ -moz-transition: opacity .25s ease-in-out;
+ -webkit-transition: opacity .25s ease-in-out;
+ text-shadow: 2px 2px 10px #000000;
+}
+
+#buttons #applet a:hover
+{
+ opacity: 0.8;
+}
+
+#buttons #desktop a:hover
+{
+ opacity: 0.8;
+}
+
+/*****************************
+NAV
+*********************************/
+#nav
+{
+width:100%;
+max-width:100%;
+color:#fff;
+background:#555;
+height:80px;
+}
+
+#navInner
+{
+width:960px;
+margin:0 auto;
+position:relative;
+}
+
+
+#sddm
+{ margin: 0;
+ padding: 0;
+ z-index: 30;
+ position:relative;
+ top:27px;
+}
+
+#sddm li
+{ margin: 0;
+ padding:0;
+ list-style: none;
+ float: left;
+}
+
+#sddm li a
+{
+ color: #FFFFFF;
+ font-size: 13pt;
+ padding: 27px 15px 25px;
+ text-align: center;
+ text-decoration: none;
+ font-family: 'Lato',sans-serif;
+}
+
+#sddm li a.community:hover
+{
+background:#F78E1E;
+}
+
+#sddm li a.development:hover
+{
+background:#AEBF45;
+}
+
+#sddm li a.training:hover
+{
+background:#009DDC;
+}
+
+#sddm li a.download-right
+{
+float:right;
+position:relative;
+left:345px;
+display:block;
+clear:left;
+ margin-top: -27px;
+ padding: 27px 15px 25px;
+}
+
+
+ul#sddm li a:hover
+{
+ text-decoration: none;
+ background:#0083A9;
+}
+
+#sddm div
+{ position: absolute;
+ visibility: hidden;
+ margin: 0;
+ padding: 0;
+ background: #555;
+ border: 1px solid #000000;
+ top:50px;
+}
+
+ #sddm div a
+ { position: relative;
+ display: block;
+ margin: 0;
+ padding:8px;
+ width: 200px;
+ white-space: nowrap;
+ text-align: center;
+ text-decoration: none;
+ background: #555;
+ color: #fff;
+ border: 1px solid #000000;
+ background: #555;
+ }
+
+
+
+/*****************************
+CONTENT
+*****************************/
+
+#content
+{
+ font-size: 10pt;
+ height: auto;
+ width: 710px;
+ padding-top:23px;
+ padding-bottom:12px;
+ overflow-x:auto;
+ overflow-y:hidden;
+}
+#content h1
+{
+ padding-top:29px;
+ font-size: 15pt;
+ font-style: bold;
+}
+#content h2
+{
+ padding-top:27px;
+ font-size: 13pt;
+ font-style: bold;
+}
+#content h3
+{
+ padding-top:25px;
+ font-size: 12pt;
+ font-style: bold italic;
+}
+#content pre
+{
+ font-family: monospace;
+}
+#sideNav
+{
+width:200px;
+float:left;
+padding-top:29px;
+margin-right:50px;
+}
+#content ul
+{
+ list-style-type: disc;
+}
+#content li
+{
+ margin-left: 11px;
+ padding-bottom:11px;
+}
+
+#sideNav li
+{
+ height: 40px;
+ list-style-image: none;
+ list-style-type: none;
+ margin-bottom: 20px;
+}
+
+#sideNav a
+{
+ color: #555555;
+ display: block;
+ font-size: 13pt;
+ padding: 8px 0 0 15px;
+ text-decoration: none;
+}
+
+#sideNav a:hover
+{
+ text-decoration: underline;
+}
+#sideNav .about-nav-title
+{
+background: url("../images/normal-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 5px;
+}
+
+#sideNav .jvlite-nav-title
+{
+background: url("../images/jvlite-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 5px;
+}
+
+#sideNav .jvlite-nav-small
+{
+background: url("../images/jvlite-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 0px;
+}
+
+#sideNav .com-nav-title
+{
+background: url("../images/com-arrow-3-small.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 5px;
+}
+
+#sideNav .dev-nav-title
+{
+background: url("../images/dev-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 5px;
+}
+
+#sideNav .train-nav-title
+{
+background: url("../images/train-arrow-3-normal.png") no-repeat scroll 0 0 transparent;
+ color: #FFFFFF;
+ font-family: 'Lato',sans-serif;
+ font-size: 18pt;
+ font-weight: normal;
+ height: 40px;
+ margin-bottom: 20px;
+ padding-left: 5px;
+}
+
+#content .borderTable td
+{
+ border: 1px solid black;
+}
+#content .borderTable tr
+{
+ border-bottom: 2px solid black;
+}
+
+td
+{
+ vertical-align: middle;
+}
+
+/********************************
+FOOTER
+***********************************/
+
+#footer
+{
+max-width:100%;
+width:100%;
+color:#fff;
+background:#555;
+height:140px;
+padding-top:10px;
+clear:both;
+}
+#innerFooter a
+{
+ color: #EEEEEE;
+ visited: #DDDDDD;
+
+}
+
+#innerFooter
+{
+width:960px;
+margin:0 auto;
+height:140px;
+padding-top:10px;
+}
+
+
+#copyright
+{
+float:left;
+}
+
+#cite
+{
+float:right;
+width:555px;
+}
--- /dev/null
+#-------------------------------------------------------------------------------
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+#-------------------------------------------------------------------------------
+ST-TURN-IIL 705b23
+GAMMA-TURN-CLASSIC 788763
+BETA-TURN-IR 9a6a94
+BETA-TURN-IL d6a6ca
+BETA-BULGE 1dc451
+Pfam dc206a
+PHOSPHORYLATION (S) b974a5
+PHOSPHORYLATION (Y) 7d3881
+Cath 93b1d2
+ASX-TURN-IR 4ccc6e
+BETA-BULGE-LOOP-5 4066da
+CATMAT-4 4dc465
+CATMAT-3 3eb555
+GAMMA-TURN-INVERSE 7881c7
+SCHELLMANN-LOOP-6 a28bbb
+METAL cc9900
+ALPHA-BETA-MOTIF 7bd649
+ASX-MOTIF 6addbb
+NEST-LR 3e16d0
+ASX-TURN-IIR 6a4062
+NEST-RL 3e16b2
+ASX-TURN-IIL a67c98
+BETA-TURN-IIR c79792
+PHOSPHORYLATION (T) c88395
+BETA-TURN-IIL 8b5b50
+ST-MOTIF ac25a1
+
+STARTGROUP uniprot
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 47 47 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 77 77 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER_CAPAA -1 8 83 Pfam
+Ferredoxin_fold Status: True Positive FER_CAPAA -1 3 93 Cath
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 86 86 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 94 94 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 124 124 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html> FER_CAPAN -1 55 130 Pfam
+Ferredoxin_fold Status: True Positive FER_CAPAN -1 45 140 Cath
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 86 86 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 94 94 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 124 124 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html> FER1_SOLLC -1 55 130 Pfam
+Ferredoxin_fold Status: True Positive FER1_SOLLC -1 45 140 Cath
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_13</a></html> Q93XJ9_SOLTU -1 55 130 Pfam
+Ferredoxin_fold Status: True Positive Q93XJ9_SOLTU -1 45 140 Cath
+Iron-sulfur (2Fe-2S) FER1_PEA -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 129 129 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html> FER1_PEA -1 60 135 Pfam
+Ferredoxin_fold Status: True Positive FER1_PEA -1 50 145 Cath
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 63_13</a></html> Q7XA98_TRIPR -1 63 138 Pfam
+Ferredoxin_fold Status: True Positive Q7XA98_TRIPR -1 53 148 Cath
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 90 90 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 95 95 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 98 98 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 128 128 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 59_13</a></html> FER1_MESCR -1 59 134 Pfam
+Ferredoxin_fold Status: True Positive FER1_MESCR -1 49 144 Cath
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 89 89 METAL
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 94 94 METAL
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 97 97 METAL
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 127 127 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 58_13</a></html> FER1_SPIOL -1 58 133 Pfam
+Ferredoxin_fold Status: True Positive FER1_SPIOL -1 48 143 Cath
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 47 47 METAL
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 77 77 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER3_RAPSA -1 8 83 Pfam
+Ferredoxin_fold Status: True Positive FER3_RAPSA -1 3 93 Cath
+Iron-sulfur (2Fe-2S) FER_BRANA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 47 47 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 77 77 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_8</a></html> FER_BRANA -1 8 83 Pfam
+Ferredoxin_fold Status: True Positive FER_BRANA -1 2 96 Cath
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 129 129 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html> FER2_ARATH -1 60 135 Pfam
+Ferredoxin_fold Status: True Positive FER2_ARATH -1 50 145 Cath
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_11</a></html> Q93Z60_ARATH -1 60 118 Pfam
+Ferredoxin_fold Status: True Positive Q93Z60_ARATH -1 52 118 Cath
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 129 129 METAL
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_13</a></html> FER1_MAIZE -1 60 135 Pfam
+Ferredoxin_fold Status: True Positive FER1_MAIZE -1 50 145 Cath
+<html>Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 52_12</a></html> O80429_MAIZE -1 52 127 Pfam
+Ferredoxin_fold Status: True Positive O80429_MAIZE -1 42 137 Cath
+ENDGROUP uniprot
+
+
+STARTGROUP netphos
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P83527&service=NetPhos-2.0">PHOSPHORYLATION (T) 89_8</a></html> FER_CAPAA -1 89 89 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&service=NetPhos-2.0">PHOSPHORYLATION (S) 22_2</a></html> FER1_SOLLC -1 22 22 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html> FER1_SOLLC -1 38 38 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&service=NetPhos-2.0">PHOSPHORYLATION (S) 102_10</a></html> FER1_SOLLC -1 102 102 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q43517&service=NetPhos-2.0">PHOSPHORYLATION (T) 136_13</a></html> FER1_SOLLC -1 136 136 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&service=NetPhos-2.0">PHOSPHORYLATION (T) 136_13</a></html> Q93XJ9_SOLTU -1 136 136 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&service=NetPhos-2.0">PHOSPHORYLATION (S) 22_2</a></html> Q93XJ9_SOLTU -1 22 22 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93XJ9&service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html> Q93XJ9_SOLTU -1 38 38 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (S) 33_3</a></html> FER1_PEA -1 33 33 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (S) 42_4</a></html> FER1_PEA -1 42 42 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html> FER1_PEA -1 90 90 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html> FER1_PEA -1 114 114 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (T) 4_</a></html> FER1_PEA -1 4 4 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (T) 28_2</a></html> FER1_PEA -1 28 28 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P09911&service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html> FER1_PEA -1 141 141 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (S) 117_11</a></html> Q7XA98_TRIPR -1 117 117 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 137_13</a></html> Q7XA98_TRIPR -1 137 137 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 144_14</a></html> Q7XA98_TRIPR -1 144 144 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 30_3</a></html> Q7XA98_TRIPR -1 30 30 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 31_3</a></html> Q7XA98_TRIPR -1 31 31 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 4_</a></html> Q7XA98_TRIPR -1 4 4 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (S) 45_4</a></html> Q7XA98_TRIPR -1 45 45 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (T) 46_4</a></html> Q7XA98_TRIPR -1 46 46 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q7XA98&service=NetPhos-2.0">PHOSPHORYLATION (S) 93_9</a></html> Q7XA98_TRIPR -1 93 93 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&service=NetPhos-2.0">PHOSPHORYLATION (S) 88_8</a></html> FER1_SPIOL -1 88 88 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&service=NetPhos-2.0">PHOSPHORYLATION (S) 112_11</a></html> FER1_SPIOL -1 112 112 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&service=NetPhos-2.0">PHOSPHORYLATION (T) 139_13</a></html> FER1_SPIOL -1 139 139 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00221&service=NetPhos-2.0">PHOSPHORYLATION (Y) 73_7</a></html> FER1_SPIOL -1 73 73 PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (S) 19_1</a></html> FER1_ARATH -1 19 19 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (S) 24_2</a></html> FER1_ARATH -1 24 24 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html> FER1_ARATH -1 90 90 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html> FER1_ARATH -1 107 107 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html> FER1_ARATH -1 114 114 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html> FER1_ARATH -1 141 141 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=FER1_ARATH&service=NetPhos-2.0">PHOSPHORYLATION (Y) 75_7</a></html> FER1_ARATH -1 75 75 PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&service=NetPhos-2.0">PHOSPHORYLATION (S) 38_3</a></html> FER_BRANA -1 38 38 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&service=NetPhos-2.0">PHOSPHORYLATION (S) 62_6</a></html> FER_BRANA -1 62 62 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&service=NetPhos-2.0">PHOSPHORYLATION (T) 89_8</a></html> FER_BRANA -1 89 89 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P00227&service=NetPhos-2.0">PHOSPHORYLATION (Y) 23_2</a></html> FER_BRANA -1 23 23 PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html> Q93Z60_ARATH -1 107 107 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html> Q93Z60_ARATH -1 114 114 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&service=NetPhos-2.0">PHOSPHORYLATION (T) 21_2</a></html> Q93Z60_ARATH -1 21 21 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&service=NetPhos-2.0">PHOSPHORYLATION (S) 24_2</a></html> Q93Z60_ARATH -1 24 24 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=Q93Z60&service=NetPhos-2.0">PHOSPHORYLATION (Y) 75_7</a></html> Q93Z60_ARATH -1 75 75 PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 7_</a></html> FER1_MAIZE -1 7 7 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 19_1</a></html> FER1_MAIZE -1 19 19 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 44_4</a></html> FER1_MAIZE -1 44 44 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 45_4</a></html> FER1_MAIZE -1 45 45 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 90_9</a></html> FER1_MAIZE -1 90 90 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 107_10</a></html> FER1_MAIZE -1 107 107 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (S) 114_11</a></html> FER1_MAIZE -1 114 114 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (T) 134_13</a></html> FER1_MAIZE -1 134 134 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (T) 141_14</a></html> FER1_MAIZE -1 141 141 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=P27787&service=NetPhos-2.0">PHOSPHORYLATION (Y) 115_11</a></html> FER1_MAIZE -1 115 115 PHOSPHORYLATION (Y)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&service=NetPhos-2.0">PHOSPHORYLATION (T) 133_13</a></html> O80429_MAIZE -1 133 133 PHOSPHORYLATION (T)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&service=NetPhos-2.0">PHOSPHORYLATION (S) 82_8</a></html> O80429_MAIZE -1 82 82 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&service=NetPhos-2.0">PHOSPHORYLATION (S) 9_</a></html> O80429_MAIZE -1 9 9 PHOSPHORYLATION (S)
+<html>High confidence server. Only hits with scores over 0.8 are reported. <a href="http://www.cbs.dtu.dk/cgi-bin/proview/webface-link?seqid=O80429&service=NetPhos-2.0">PHOSPHORYLATION (S) 99_9</a></html> O80429_MAIZE -1 99 99 PHOSPHORYLATION (S)
+ENDGROUP netphos
+
+STARTGROUP s3dm
+<html>Found in PDBs: 1a70.,1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 115_11</a></html> FER1_SPIOL -1 115 119 ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/asxturniil?gzip=false">ASX-TURN-IIL 107_10</a></html> FER1_SPIOL -1 107 109 ASX-TURN-IIL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/asxturnir?gzip=false">ASX-TURN-IR 115_11</a></html> FER1_SPIOL -1 115 117 ASX-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betabulge?gzip=false">BETA-BULGE 102_10</a></html> FER1_SPIOL -1 102 103 BETA-BULGE
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 59_6</a></html> FER1_SPIOL -1 59 62 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 69_7</a></html> FER1_SPIOL -1 69 72 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 95_9</a></html> FER1_SPIOL -1 95 98 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 108_11</a></html> FER1_SPIOL -1 108 111 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 125_12</a></html> FER1_SPIOL -1 125 128 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 141_14</a></html> FER1_SPIOL -1 141 144 BETA-TURN-IR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 90_9</a></html> FER1_SPIOL -1 90 92 NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 92_9</a></html> FER1_SPIOL -1 92 94 NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 140_14</a></html> FER1_SPIOL -1 140 142 NEST-LR
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 81_8</a></html> FER1_SPIOL -1 81 83 NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 89_9</a></html> FER1_SPIOL -1 89 91 NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 91_9</a></html> FER1_SPIOL -1 91 93 NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 121_12</a></html> FER1_SPIOL -1 121 123 NEST-RL
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/schellmannloop6?gzip=false">SCHELLMANN-LOOP-6 78_8</a></html> FER1_SPIOL -1 78 83 SCHELLMANN-LOOP-6
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/schellmannloop6?gzip=false">SCHELLMANN-LOOP-6 118_12</a></html> FER1_SPIOL -1 118 123 SCHELLMANN-LOOP-6
+<html>Found in PDBs: 1a70. <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/stmotif?gzip=false">ST-MOTIF 59_6</a></html> FER1_SPIOL -1 59 63 ST-MOTIF
+ALPHA-BETA-MOTIF FER1_SPIOL -1 65 69 ALPHA-BETA-MOTIF
+ASX-MOTIF FER1_SPIOL -1 65 69 ASX-MOTIF
+ASX-TURN-IIL FER1_SPIOL -1 57 59 ASX-TURN-IIL
+ASX-TURN-IR FER1_SPIOL -1 65 67 ASX-TURN-IR
+BETA-BULGE FER1_SPIOL -1 52 53 BETA-BULGE
+BETA-TURN-IR FER1_SPIOL -1 9 12 BETA-TURN-IR
+BETA-TURN-IR FER1_SPIOL -1 19 22 BETA-TURN-IR
+BETA-TURN-IR FER1_SPIOL -1 45 48 BETA-TURN-IR
+BETA-TURN-IR FER1_SPIOL -1 58 61 BETA-TURN-IR
+BETA-TURN-IR FER1_SPIOL -1 75 78 BETA-TURN-IR
+BETA-TURN-IR FER1_SPIOL -1 91 94 BETA-TURN-IR
+NEST-LR FER1_SPIOL -1 40 42 NEST-LR
+NEST-LR FER1_SPIOL -1 42 44 NEST-LR
+NEST-LR FER1_SPIOL -1 90 92 NEST-LR
+NEST-RL FER1_SPIOL -1 31 33 NEST-RL
+NEST-RL FER1_SPIOL -1 39 41 NEST-RL
+NEST-RL FER1_SPIOL -1 41 43 NEST-RL
+NEST-RL FER1_SPIOL -1 71 73 NEST-RL
+SCHELLMANN-LOOP-6 FER1_SPIOL -1 28 33 SCHELLMANN-LOOP-6
+SCHELLMANN-LOOP-6 FER1_SPIOL -1 68 73 SCHELLMANN-LOOP-6
+ST-MOTIF FER1_SPIOL -1 9 13 ST-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 76_8</a></html> FER1_MAIZE -1 76 80 ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/alphabetamotif?gzip=false">ALPHA-BETA-MOTIF 77_8</a></html> FER1_MAIZE -1 77 81 ALPHA-BETA-MOTIF
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/betaturnir?gzip=false">BETA-TURN-IR 127_13</a></html> FER1_MAIZE -1 127 130 BETA-TURN-IR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturnclassic?gzip=false">GAMMA-TURN-CLASSIC 113_11</a></html> FER1_MAIZE -1 113 115 GAMMA-TURN-CLASSIC
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturninverse?gzip=false">GAMMA-TURN-INVERSE 59_6</a></html> FER1_MAIZE -1 59 61 GAMMA-TURN-INVERSE
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/gammaturninverse?gzip=false">GAMMA-TURN-INVERSE 104_10</a></html> FER1_MAIZE -1 104 106 GAMMA-TURN-INVERSE
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 92_9</a></html> FER1_MAIZE -1 92 94 NEST-LR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestlr?gzip=false">NEST-LR 94_9</a></html> FER1_MAIZE -1 94 96 NEST-LR
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 83_8</a></html> FER1_MAIZE -1 83 85 NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 91_9</a></html> FER1_MAIZE -1 91 93 NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 93_9</a></html> FER1_MAIZE -1 93 95 NEST-RL
+<html>Found in PDBs: 1gaq.B <a href="http://www.ebi.ac.uk/msd-srv/msdmotif/nestrl?gzip=false">NEST-RL 123_12</a></html> FER1_MAIZE -1 123 125 NEST-RL
+ALPHA-BETA-MOTIF FER1_MAIZE -1 132 136 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 174 178 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 175 179 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 180 184 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 181 185 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 214 218 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 215 219 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 218 222 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 223 227 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 246 250 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 251 255 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 254 258 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 258 262 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 279 283 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 280 284 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 289 293 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 296 300 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 299 303 ALPHA-BETA-MOTIF
+ASX-TURN-IIL FER1_MAIZE -1 160 162 ASX-TURN-IIL
+ASX-TURN-IIR FER1_MAIZE -1 107 109 ASX-TURN-IIR
+BETA-BULGE FER1_MAIZE -1 31 32 BETA-BULGE
+BETA-BULGE FER1_MAIZE -1 43 44 BETA-BULGE
+BETA-TURN-IIL FER1_MAIZE -1 170 173 BETA-TURN-IIL
+BETA-TURN-IIR FER1_MAIZE -1 71 74 BETA-TURN-IIR
+BETA-TURN-IIR FER1_MAIZE -1 140 143 BETA-TURN-IIR
+BETA-TURN-IIR FER1_MAIZE -1 274 277 BETA-TURN-IIR
+BETA-TURN-IL FER1_MAIZE -1 64 67 BETA-TURN-IL
+BETA-TURN-IR FER1_MAIZE -1 33 36 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 50 53 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 100 103 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 103 106 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 136 139 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 171 174 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 172 175 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 206 209 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 207 210 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 223 226 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 233 236 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 252 255 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 264 267 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 289 292 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 295 298 BETA-TURN-IR
+CATMAT-3 FER1_MAIZE -1 20 22 CATMAT-3
+CATMAT-3 FER1_MAIZE -1 47 49 CATMAT-3
+CATMAT-3 FER1_MAIZE -1 97 99 CATMAT-3
+CATMAT-4 FER1_MAIZE -1 189 192 CATMAT-4
+GAMMA-TURN-INVERSE FER1_MAIZE -1 68 70 GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE FER1_MAIZE -1 84 86 GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE FER1_MAIZE -1 232 234 GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE FER1_MAIZE -1 240 242 GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE FER1_MAIZE -1 244 246 GAMMA-TURN-INVERSE
+NEST-LR FER1_MAIZE -1 30 32 NEST-LR
+NEST-LR FER1_MAIZE -1 66 68 NEST-LR
+NEST-LR FER1_MAIZE -1 106 108 NEST-LR
+NEST-LR FER1_MAIZE -1 108 110 NEST-LR
+NEST-LR FER1_MAIZE -1 212 214 NEST-LR
+NEST-LR FER1_MAIZE -1 276 278 NEST-LR
+NEST-LR FER1_MAIZE -1 307 309 NEST-LR
+NEST-RL FER1_MAIZE -1 64 66 NEST-RL
+NEST-RL FER1_MAIZE -1 105 107 NEST-RL
+NEST-RL FER1_MAIZE -1 107 109 NEST-RL
+NEST-RL FER1_MAIZE -1 306 308 NEST-RL
+ST-TURN-IIL FER1_MAIZE -1 20 22 ST-TURN-IIL
+ALPHA-BETA-MOTIF FER1_MAIZE -1 24 28 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 25 29 ALPHA-BETA-MOTIF
+BETA-TURN-IR FER1_MAIZE -1 75 78 BETA-TURN-IR
+GAMMA-TURN-CLASSIC FER1_MAIZE -1 61 63 GAMMA-TURN-CLASSIC
+GAMMA-TURN-INVERSE FER1_MAIZE -1 7 9 GAMMA-TURN-INVERSE
+GAMMA-TURN-INVERSE FER1_MAIZE -1 52 54 GAMMA-TURN-INVERSE
+NEST-LR FER1_MAIZE -1 40 42 NEST-LR
+NEST-LR FER1_MAIZE -1 42 44 NEST-LR
+NEST-RL FER1_MAIZE -1 31 33 NEST-RL
+NEST-RL FER1_MAIZE -1 39 41 NEST-RL
+NEST-RL FER1_MAIZE -1 41 43 NEST-RL
+NEST-RL FER1_MAIZE -1 71 73 NEST-RL
+ALPHA-BETA-MOTIF FER1_MAIZE -1 176 180 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 233 237 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 247 251 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 278 282 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 286 290 ALPHA-BETA-MOTIF
+ALPHA-BETA-MOTIF FER1_MAIZE -1 295 299 ALPHA-BETA-MOTIF
+ASX-MOTIF FER1_MAIZE -1 122 126 ASX-MOTIF
+ASX-MOTIF FER1_MAIZE -1 160 164 ASX-MOTIF
+ASX-TURN-IR FER1_MAIZE -1 122 124 ASX-TURN-IR
+BETA-BULGE-LOOP-5 FER1_MAIZE -1 122 126 BETA-BULGE-LOOP-5
+BETA-BULGE-LOOP-5 FER1_MAIZE -1 239 243 BETA-BULGE-LOOP-5
+BETA-TURN-IR FER1_MAIZE -1 122 125 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 160 163 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 239 242 BETA-TURN-IR
+BETA-TURN-IR FER1_MAIZE -1 261 264 BETA-TURN-IR
+CATMAT-3 FER1_MAIZE -1 80 82 CATMAT-3
+CATMAT-3 FER1_MAIZE -1 87 89 CATMAT-3
+CATMAT-3 FER1_MAIZE -1 262 264 CATMAT-3
+NEST-RL FER1_MAIZE -1 124 126 NEST-RL
+NEST-RL FER1_MAIZE -1 241 243 NEST-RL
+NEST-RL FER1_MAIZE -1 292 294 NEST-RL
+ENDGROUP s3dm
--- /dev/null
+(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);\r
--- /dev/null
+/*********\r
+ * downloaded from http://java.com/js/deployJava.js\r
+ * Probably copyright Oracle nee Sun 2011,2010,2009.\r
+ */\r
+var deployJava={debug:null,firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,getJavaURL:'http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com',appleRedirectPage:'http://www.apple.com/support/downloads/',oldMimeType:'application/npruntime-scriptable-plugin;DeploymentToolkit',mimeType:'application/java-deployment-toolkit',launchButtonPNG:'http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png',browserName:null,browserName2:null,getJREs:function(){var list=new Array();if(deployJava.isPluginInstalled()){var plugin=deployJava.getPlugin();var VMs=plugin.jvms;for(var i=0;i<VMs.getLength();i++){list[i]=VMs.get(i).version;}}else{var browser=deployJava.getBrowser();if(browser=='MSIE'){if(deployJava.testUsingActiveX('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingActiveX('1.6.0')){list[0]='1.6.0';}else if(deployJava.testUsingActiveX('1.5.0')){list[0]='1.5.0';}else if(deployJava.testUsingActiveX('1.4.2')){list[0]='1.4.2';}else if(deployJava.testForMSVM()){list[0]='1.1';}}else if(browser=='Netscape Family'){deployJava.getJPIVersionUsingMimeType();if(deployJava.firefoxJavaVersion!=null){list[0]=deployJava.firefoxJavaVersion;}else if(deployJava.testUsingMimeTypes('1.7')){list[0]='1.7.0';}else if(deployJava.testUsingMimeTypes('1.6')){list[0]='1.6.0';}else if(deployJava.testUsingMimeTypes('1.5')){list[0]='1.5.0';}else if(deployJava.testUsingMimeTypes('1.4.2')){list[0]='1.4.2';}else if(deployJava.browserName2=='Safari'){if(deployJava.testUsingPluginsArray('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingPluginsArray('1.6')){list[0]='1.6.0';}else if(deployJava.testUsingPluginsArray('1.5')){list[0]='1.5.0';}else if(deployJava.testUsingPluginsArray('1.4.2')){list[0]='1.4.2';}}}}\r
+if(deployJava.debug){for(var i=0;i<list.length;++i){alert('We claim to have detected Java SE '+list[i]);}}\r
+return list;},installJRE:function(requestVersion){var ret=false;if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installJRE(requestVersion)){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage;}\r
+return true;}else{return false;}}else{return deployJava.installLatestJRE();}},installLatestJRE:function(){if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installLatestJRE()){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage;}\r
+return true;}else{return false;}}else{var browser=deployJava.getBrowser();var platform=navigator.platform.toLowerCase();if((deployJava.EAInstallEnabled=='true')&&(platform.indexOf('win')!=-1)&&(deployJava.EarlyAccessURL!=null)){deployJava.preInstallJREList=deployJava.getJREs();if(deployJava.returnPage!=null){deployJava.myInterval=setInterval("deployJava.poll()",3000);}\r
+location.href=deployJava.EarlyAccessURL;return false;}else{if(browser=='MSIE'){return deployJava.IEInstall();}else if((browser=='Netscape Family')&&(platform.indexOf('win32')!=-1)){return deployJava.FFInstall();}else{location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'');}\r
+return false;}}},runApplet:function(attributes,parameters,minimumVersion){if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.1';}\r
+var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(deployJava.returnPage==null){deployJava.returnPage=document.location;}\r
+if(matchData!=null){var browser=deployJava.getBrowser();if((browser!='?')&&('Safari'!=deployJava.browserName2)){if(deployJava.versionCheck(minimumVersion+'+')){deployJava.writeAppletTag(attributes,parameters);}else if(deployJava.installJRE(minimumVersion+'+')){deployJava.refresh();location.href=document.location;deployJava.writeAppletTag(attributes,parameters);}}else{deployJava.writeAppletTag(attributes,parameters);}}else{if(deployJava.debug){alert('Invalid minimumVersion argument to runApplet():'+\r
+minimumVersion);}}},writeAppletTag:function(attributes,parameters){var startApplet='<'+'applet ';var params='';var endApplet='<'+'/'+'applet'+'>';var addCodeAttribute=true;for(var attribute in attributes){startApplet+=(' '+attribute+'="'+attributes[attribute]+'"');if(attribute=='code'||attribute=='java_code'){addCodeAttribute=false;}}\r
+if(parameters!='undefined'&¶meters!=null){var codebaseParam=false;for(var parameter in parameters){if(parameter=='codebase_lookup'){codebaseParam=true;}\r
+if(parameter=='object'||parameter=='java_object'){addCodeAttribute=false;}\r
+params+='<param name="'+parameter+'" value="'+\r
+parameters[parameter]+'"/>';}\r
+if(!codebaseParam){params+='<param name="codebase_lookup" value="false"/>';}}\r
+if(addCodeAttribute){startApplet+=(' code="dummy"');}\r
+startApplet+='>';document.write(startApplet+'\n'+params+'\n'+endApplet);},versionCheck:function(versionPattern)\r
+{var index=0;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var matchData=versionPattern.match(regex);if(matchData!=null){var familyMatch=true;var patternArray=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!='')){patternArray[index]=matchData[i];index++;}}\r
+if(patternArray[patternArray.length-1]=='+'){familyMatch=false;patternArray.length--;}else{if(patternArray[patternArray.length-1]=='*'){patternArray.length--;}}\r
+var list=deployJava.getJREs();for(var i=0;i<list.length;++i){if(deployJava.compareVersionToPattern(list[i],patternArray,familyMatch)){return true;}}\r
+return false;}else{alert('Invalid versionPattern passed to versionCheck: '+\r
+versionPattern);return false;}},isWebStartInstalled:function(minimumVersion){var browser=deployJava.getBrowser();if((browser=='?')||('Safari'==deployJava.browserName2)){return true;}\r
+if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.4.2';}\r
+var retval=false;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(matchData!=null){retval=deployJava.versionCheck(minimumVersion+'+');}else{if(deployJava.debug){alert('Invalid minimumVersion argument to isWebStartInstalled(): '+minimumVersion);}\r
+retval=deployJava.versionCheck('1.4.2+');}\r
+return retval;},getJPIVersionUsingMimeType:function(){for(var i=0;i<navigator.mimeTypes.length;++i){var s=navigator.mimeTypes[i].type;var m=s.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(m!=null){deployJava.firefoxJavaVersion=m[1];if('Opera'!=deployJava.browserName2){break;}}}},launchWebStartApplication:function(jnlp){var uaString=navigator.userAgent.toLowerCase();deployJava.getJPIVersionUsingMimeType();if(deployJava.isWebStartInstalled('1.7.0')==false){if((deployJava.installJRE('1.7.0+')==false)||((deployJava.isWebStartInstalled('1.7.0')==false))){return false;}}\r
+var jnlpDocbase=null;if(document.documentURI){jnlpDocbase=document.documentURI;}\r
+if(jnlpDocbase==null){jnlpDocbase=document.URL;}\r
+var browser=deployJava.getBrowser();var launchTag;if(browser=='MSIE'){launchTag='<'+'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+'width="0" height="0">'+'<'+'PARAM name="launchjnlp" value="'+jnlp+'"'+'>'+'<'+'PARAM name="docbase" value="'+jnlpDocbase+'"'+'>'+'<'+'/'+'object'+'>';}else if(browser=='Netscape Family'){launchTag='<'+'embed type="application/x-java-applet;jpi-version='+\r
+deployJava.firefoxJavaVersion+'" '+'width="0" height="0" '+'launchjnlp="'+jnlp+'"'+'docbase="'+jnlpDocbase+'"'+' />';}\r
+if(document.body=='undefined'||document.body==null){document.write(launchTag);document.location=jnlpDocbase;}else{var divTag=document.createElement("div");divTag.id="div1";divTag.style.position="relative";divTag.style.left="-10000px";divTag.style.margin="0px auto";divTag.className="dynamicDiv";divTag.innerHTML=launchTag;document.body.appendChild(divTag);}},createWebStartLaunchButtonEx:function(jnlp,minimumVersion){if(deployJava.returnPage==null){deployJava.returnPage=jnlp;}\r
+var url='javascript:deployJava.launchWebStartApplication(\''+jnlp+'\');';document.write('<'+'a href="'+url+'" onMouseOver="window.status=\'\'; '+'return true;"><'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>');},createWebStartLaunchButton:function(jnlp,minimumVersion){if(deployJava.returnPage==null){deployJava.returnPage=jnlp;}\r
+var url='javascript:'+'if (!deployJava.isWebStartInstalled("'+\r
+minimumVersion+'")) {'+'if (deployJava.installLatestJRE()) {'+'if (deployJava.launch("'+jnlp+'")) {}'+'}'+'} else {'+'if (deployJava.launch("'+jnlp+'")) {}'+'}';document.write('<'+'a href="'+url+'" onMouseOver="window.status=\'\'; '+'return true;"><'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>');},launch:function(jnlp){document.location=jnlp;return true;},isPluginInstalled:function(){var plugin=deployJava.getPlugin();if(plugin&&plugin.jvms){return true;}else{return false;}},isAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().isAutoUpdateEnabled();}\r
+return false;},setAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAutoUpdateEnabled();}\r
+return false;},setInstallerType:function(type){deployJava.installType=type;if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setInstallerType(type);}\r
+return false;},setAdditionalPackages:function(packageList){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAdditionalPackages(packageList);}\r
+return false;},setEarlyAccess:function(enabled){deployJava.EAInstallEnabled=enabled;},isPlugin2:function(){if(deployJava.isPluginInstalled()){if(deployJava.versionCheck('1.6.0_10+')){try{return deployJava.getPlugin().isPlugin2();}catch(err){}}}\r
+return false;},allowPlugin:function(){deployJava.getBrowser();var ret=('Safari'!=deployJava.browserName2&&'Opera'!=deployJava.browserName2);return ret;},getPlugin:function(){deployJava.refresh();var ret=null;if(deployJava.allowPlugin()){ret=document.getElementById('deployJavaPlugin');}\r
+return ret;},compareVersionToPattern:function(version,patternArray,familyMatch){var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=version.match(regex);if(matchData!=null){var index=0;var result=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!=''))\r
+{result[index]=matchData[i];index++;}}\r
+var l=Math.min(result.length,patternArray.length);if(familyMatch){for(var i=0;i<l;++i){if(result[i]!=patternArray[i])return false;}\r
+return true;}else{for(var i=0;i<l;++i){if(result[i]<patternArray[i]){return false;}else if(result[i]>patternArray[i]){return true;}}\r
+return true;}}else{return false;}},getBrowser:function(){if(deployJava.browserName==null){var browser=navigator.userAgent.toLowerCase();if(deployJava.debug){alert('userAgent -> '+browser);}\r
+if(browser.indexOf('msie')!=-1){deployJava.browserName='MSIE';deployJava.browserName2='MSIE';}else if(browser.indexOf('iphone')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='iPhone';}else if(browser.indexOf('firefox')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Firefox';}else if(browser.indexOf('chrome')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Chrome';}else if(browser.indexOf('safari')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Safari';}else if(browser.indexOf('mozilla')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Other';}else if(browser.indexOf('opera')!=-1){deployJava.browserName='Netscape Family';deployJava.browserName2='Opera';}else{deployJava.browserName='?';deployJava.browserName2='unknown';}\r
+if(deployJava.debug){alert('Detected browser name:'+deployJava.browserName+', '+deployJava.browserName2);}}\r
+return deployJava.browserName;},testUsingActiveX:function(version){var objectName='JavaWebStart.isInstalled.'+version+'.0';if(!ActiveXObject){if(deployJava.debug){alert('Browser claims to be IE, but no ActiveXObject object?');}\r
+return false;}\r
+try{return(new ActiveXObject(objectName)!=null);}catch(exception){return false;}},testForMSVM:function(){var clsid='{08B0E5C0-4FCB-11CF-AAA5-00401C608500}';if(typeof oClientCaps!='undefined'){var v=oClientCaps.getComponentVersion(clsid,"ComponentID");if((v=='')||(v=='5,0,5000,0')){return false;}else{return true;}}else{return false;}},testUsingMimeTypes:function(version){if(!navigator.mimeTypes){if(deployJava.debug){alert('Browser claims to be Netscape family, but no mimeTypes[] array?');}\r
+return false;}\r
+for(var i=0;i<navigator.mimeTypes.length;++i){s=navigator.mimeTypes[i].type;var m=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(m!=null){if(deployJava.compareVersions(m[1],version)){return true;}}}\r
+return false;},testUsingPluginsArray:function(version){if((!navigator.plugins)||(!navigator.plugins.length)){return false;}\r
+var platform=navigator.platform.toLowerCase();for(var i=0;i<navigator.plugins.length;++i){s=navigator.plugins[i].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(deployJava.compareVersions("1.5.0",version)){return true;}}else if(s.search(/^Java/)!=-1){if(platform.indexOf('win')!=-1){if(deployJava.compareVersions("1.5.0",version)||deployJava.compareVersions("1.6.0",version)){return true;}}}}\r
+if(deployJava.compareVersions("1.5.0",version)){return true;}\r
+return false;},IEInstall:function(){location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'')+\r
+((deployJava.installType!=null)?('&type='+deployJava.installType):'');return false;},done:function(name,result){},FFInstall:function(){location.href=deployJava.getJavaURL+\r
+((deployJava.returnPage!=null)?('&returnPage='+deployJava.returnPage):'')+\r
+((deployJava.locale!=null)?('&locale='+deployJava.locale):'')+\r
+((deployJava.brand!=null)?('&brand='+deployJava.brand):'')+\r
+((deployJava.installType!=null)?('&type='+deployJava.installType):'');return false;},compareVersions:function(installed,required){var a=installed.split('.');var b=required.split('.');for(var i=0;i<a.length;++i){a[i]=Number(a[i]);}\r
+for(var i=0;i<b.length;++i){b[i]=Number(b[i]);}\r
+if(a.length==2){a[2]=0;}\r
+if(a[0]>b[0])return true;if(a[0]<b[0])return false;if(a[1]>b[1])return true;if(a[1]<b[1])return false;if(a[2]>b[2])return true;if(a[2]<b[2])return false;return true;},enableAlerts:function(){deployJava.browserName=null;deployJava.debug=true;},poll:function(){deployJava.refresh();var postInstallJREList=deployJava.getJREs();if((deployJava.preInstallJREList.length==0)&&(postInstallJREList.length!=0)){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;};}\r
+if((deployJava.preInstallJREList.length!=0)&&(postInstallJREList.length!=0)&&(deployJava.preInstallJREList[0]!=postInstallJREList[0])){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;}}},writePluginTag:function(){var browser=deployJava.getBrowser();if(browser=='MSIE'){document.write('<'+'object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+'<'+'/'+'object'+'>');}else if(browser=='Netscape Family'&&deployJava.allowPlugin()){deployJava.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(false);var browser=deployJava.getBrowser();if(browser=='Netscape Family'&&deployJava.allowPlugin()){var plugin=document.getElementById('deployJavaPlugin');if(plugin==null){deployJava.writeEmbedTag();}}},writeEmbedTag:function(){var written=false;if(navigator.mimeTypes!=null){for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.mimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+\r
+deployJava.mimeType+'" hidden="true" />');written=true;}}}\r
+if(!written)for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.oldMimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+\r
+deployJava.oldMimeType+'" hidden="true" />');}}}}},do_initialize:function(){deployJava.writePluginTag();if(deployJava.locale==null){var loc=null;if(loc==null)try{loc=navigator.userLanguage;}catch(err){}\r
+if(loc==null)try{loc=navigator.systemLanguage;}catch(err){}\r
+if(loc==null)try{loc=navigator.language;}catch(err){}\r
+if(loc!=null){loc.replace("-","_")\r
+deployJava.locale=loc;}}}};deployJava.do_initialize();
\ No newline at end of file
--- /dev/null
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+
+// default console to report messages
+var _console = document.getElementById("stdout");
+var _jvapps = new Array();
+// jvjmols is a list associating a jmol id to { modelstofiles }
+var _jvjmols = new Hashtable();
+// array of model names used to lookup index in Jmol
+var _modeltofiles = new Array();
+// counter for jmol structures
+var mnum = 1;
+
+function setConsole(console) {
+ _console = console;
+}
+
+function getDestinationFrms(source, frames) {
+ var frms = new Array();
+ var frid = "";
+ for (frm in frames) {
+ try {
+ frid = (source!=null) && (("" + source.getSequenceSetId()) == ("" + frames[frm].currentAlignFrame
+ .getSequenceSetId()));
+ } catch (q) {
+ };
+
+ if (!frames[frm].equals(source) && !frid
+ && !frames[frm].currentAlignFrame.equals(source)) {
+ frms[frms.length] = frames[frm];
+ }
+ }
+ return frms;
+}
+
+function mouseover(list1, list2, list3, list4) {
+ // list1 = new Object(list1);
+ var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+ var msg = "Mouse over :\n" + "AlignFrame obj: " + list1 + " Seq : "
+ + list[1] + "\nPos: " + list[2] + "(" + list[3] + ")\n";
+
+ var flist = getDestinationFrms(list1, _jvapps);
+ if (_console) {
+ _console.value = msg + "\n";
+ }
+
+ for (follower in flist) {
+ if (_console) {
+ _console.value += "Sending to " + flist[follower] + "\n";
+ }
+ flist[follower].highlight(list[1], list[2], "true");
+ }
+ return true;
+}
+
+function sellist(list1, list2, list3, list4) {
+ // list1 = new Object(list1);
+ var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+ var msg = "Selection:\n" + "AlignFrame obj: " + list[0] + " id : "
+ + list[1] + "\nSeqs " + list[2] + "\nColumns " + list[3] + "\n";
+ var flist = getDestinationFrms(list1, _jvapps);
+ if (_console) {
+ _console.value = msg + "\n";
+ }
+
+ for (follower in flist) {
+ if (_console) {
+ _console.value += "Sending to " + flist[follower] + "\n";
+ }
+ flist[follower].selectIn(flist[follower].getDefaultTargetFrame(),
+ list[2], list[3])
+ }
+ return true;
+}
+
+function viewlist(list1, list2, list3, list4) {
+ // list1 = new Object(list1);
+ var list = new Array(("" + list1), ("" + list2), ("" + list3), ("" + list4));
+ var msg = "Viewport extent change::\n" + "AlignFrame obj: " + list[0]
+ + " id : " + list[1] + "\nRow from " + list[2] + " and to "
+ + list[3] + "\nVisible columns: " + list[4] + "\n";
+ var flist = getDestinationFrms(list1, _jvapps);
+ if (_console) {
+ _console.value = msg + "\n";
+ }
+
+ for (follower in flist) {
+ if (_console) {
+ _console.value += "Sending to " + flist[follower] + "\n";
+ }
+ flist[follower].scrollToViewIn(flist[follower].getDefaultTargetFrame(),
+ list[2], "-1");
+ }
+ return true;
+}
+
+// register a jalview applet and add some handlers to it
+// jmolView is a reference to a jmol applet that is displaying the PDB files listed (in order) in the modeltofiles Array
+function linkJvJmol(applet, jmolView, modeltofiles) {
+ var i = _jvapps.length;
+ while (i--) {
+ if (_jvapps[i].equals(applet)) {
+ throw ("Ignoring additional linkJvJmol call for "
+ + applet.getName() + ".");
+ }
+ }
+ _jvapps[_jvapps.length] = applet;
+ applet.setMouseoverListener("mouseover");
+ applet.setSelectionListener("sellist");
+ // viewListener not fully implemented in 2.7
+ // try { applet.setViewListener("viewlist"); } catch (err) {};
+ if (jmolView)
+ {
+ var sep = applet.getSeparator();
+ var oldjm=jmolView;
+ // recover full id of Jmol applet
+ jmolView=_jmolGetApplet(jmolView).id;
+ var jmbinding=_jvjmols.get(jmolView);
+ if (!jmbinding)
+ {
+ jmbinding=new Object();
+ jmbinding._modelstofiles=new Array();
+ jmbinding._fullmpath=new Array();
+ jmbinding._filetonum=new Hashtable();
+ jmbinding._jmol=jmolView;
+ jmbinding._jmhandle=oldjm;
+ _jvjmols.put(jmolView,jmbinding);
+ }
+
+ jmbinding._modelstofiles=jmbinding._modelstofiles.concat(jmbinding._modelstofiles,modeltofiles);
+ jmbinding._jmol=jmolView;
+ // now update structureListener list
+ mtf="";
+ var dbase = document.baseURI.substring(0,document.baseURI.lastIndexOf("/")+1);
+ for (m in jmbinding._modelstofiles)
+ { if (m>0) { mtf+=sep; }
+ mtf+=jmbinding._modelstofiles[m];
+ if (jmbinding._modelstofiles[m].indexOf("//")==-1)
+ { jmbinding._fullmpath[m] = dbase+((jmbinding._modelstofiles[m].indexOf("/")==0) ? jmbinding._modelstofiles[m].substring(1) : jmbinding._modelstofiles[m]); }
+ jmbinding._filetonum.put(jmbinding._modelstofiles[m], m+1);
+ jmbinding._filetonum.put(jmbinding._fullmpath[m], m+1);
+
+ }
+ applet.setStructureListener("_structure", mtf);
+ }
+}
+
+/*function _addJmolModel(jmolid, modelname) {
+ modelname=""+modelname;
+ var jminf = _jvjmols[jmolid];
+ if (!jminf) {
+ jminf = new Object();
+ jminf._modelstofiles = new Array(); //new Hashtable();
+ jminf._jmol = jmolid;
+ jminf._modellist=new Array();
+ _jvjmols[jmolid] = jminf;
+ }
+ var obj = new Object();
+ jminf._modeltofiles[modelname] = obj; // .put(modelname, obj);
+ obj.id = modelname;
+ obj.mnum = jminf._modeltofiles.length;
+ jminf._modellist+=modelname;
+}*/
+
+
+
+// jmol Jalview Methods
+
+function _structure(list1, list2, list3, list4) {
+ var follower;
+ // if (_console) { if (!_console.value) { _console.value="";} }
+ if (list1 == "mouseover") {
+ var list = new Array(("" + list1), ("" + list2), ("" + list3),
+ ("" + list4));
+ // 1 is pdb file, 2 is residue number, 3 is chain
+ // list1 = new Object(list1);
+ var base = list[1].indexOf(document.baseURI
+ .substring(0, document.baseURI.lastIndexOf('/'))
+ ); // .indexOf(_path);
+ if (base==0) { base = document.baseURI.lastIndexOf('/'); }
+ var sid = list[1]; // .substring(base);
+ base = list[1].substring(0, base);
+ if (_console) {
+ _console.value += "Model is " + list[1] + ", Structure id is : "
+ + sid + "\n";
+ }
+ ;
+ var siddat;
+ for ( var jmolappi in _jvjmols.values()) {
+ var jmolapp=_jvjmols.values()[jmolappi];
+ var msg = "";
+ if (siddat = jmolapp._filetonum.get(sid)) {
+ // we don't putin chain number because there isn't one ?
+ // skip select 0 bit
+ var ch = ""+list[3];
+ if ((""+list[2]).trim().length==1)
+ {
+ ch+=":"+list[2];
+ }
+ msg = "select (" + ch + " /" + siddat + ") ;";
+ }
+ if (msg) {
+ if (_console) {
+ _console.value += "Sending '" + msg + "' to jmol." + "\n";
+ }
+ }
+ jmolScriptWait(msg, "" + jmolapp._jmhandle);
+ // only do highlight for one jmol ?
+ // return 1;
+ }
+ }
+ if (list1 == "colourstruct") {
+ if (_console) {
+ _console.value += 'colourStruct("' + list1 + '","' + list2
+ + '") [' + list4 + ']' + "\n";
+ }
+ setTimeout('colourStruct("'+list4+'","' + list1 + '","' + list2 + '")', 1);
+ return 1;
+ }
+ return 1;
+}
+// last colour message
+var _lastMsg = "";
+// indicator - if _colourStruct==0 then no colouring is going on
+var _colourStruct = 0;
+
+function colourStruct(involves, msg, handle) {
+ if (_colourStruct == 0) {
+ _colourStruct = 1;
+ for (ap in _jvapps) {
+ var _msg = "";
+ do {
+ if (_msg.match(/\S/)) {
+ _lastMsg += _msg;
+ }
+ _msg = "" + _jvapps[ap].getJsMessage(msg, handle);
+ } while (_msg.match(/\S/));
+ }
+ // locate the jmol that should get the message
+ for (var jmol in _jvjmols.values())
+ {
+ var jml=_jvjmols.values()[jmol];
+ if (jml._filetonum.get(involves))
+ {
+ colourStructs(jml._jmhandle);
+ }
+ }
+ _colourStruct = 0;
+ } else {
+ // setTimeout('colourStruct("'+msg+'","'+handle+'")',3);
+ }
+}
+
+function colourStructs(jmolapp) {
+ dbg(0, "Colouring the structures\n");
+ jmolScriptWait("set selectionhalos false;" + _lastMsg
+ + "; select 0; set selectionhalos true;", jmolapp);
+ _lastMsg = "";
+}
+var _jmolhovermsg="";
+function _jmolhover(jmid, atomlabel, atomidx) {
+ var msg=""+jmid+" "+atomlabel+" "+atomidx;
+ if (_jmolhovermsg==msg)
+ {
+ return;
+ }
+ _jmolhovermsg=msg;
+ modeltofiles = _jvjmols.get(jmid)._modelstofiles;
+ // atomlabel=(""+atomlabel).match(/\[(.+)\](\d+):(.)\.(\S+)\s*\/(\d+)\..+/);
+ // relaxed third parameter - may be null or a model number for multi model
+ // views
+ atomlabel = ("" + atomlabel)
+ .match(/\[(.+)\](\d+):(.)\.([^\/]+)(\/\d+\.|).+/);
+ atomidx = "" + atomidx;
+ if (atomlabel[5]) {
+ atomlabel[5] = atomlabel[5].match(/\/(.+)\./)[1];
+ atomlabel[5] = parseInt(atomlabel[5])-1;
+ } else {
+ // default - first model
+ atomlabel[5] = 0;
+ }
+ // use atomlabel[5] to look up model filename so we can highlight associated positions in any jalviews
+ for (ap in _jvapps) {
+ _jvapps[ap].mouseOverStructure(atomlabel[2], atomlabel[3],
+ document.baseURI
+ .substring(0, document.baseURI.lastIndexOf('/'))
+ + "/" +
+ modeltofiles[atomlabel[5]]);
+ msg = _jmolhovermsg;
+ }
+}
+function _jmolpick(jmid, atomlabel, atomidx) {
+ atomlabel = "" + atomlabel;
+ atomidx = "" + atomidx;
+ // label is atom id, atom number, and xyz coordinates in the form:
+ // C6 #6 -0.30683374 -1.6836332 -0.716934
+ // atom index, starting with 0.
+
+}
+function _jmolMessagecallback(jmid, statmess) {
+ // if (statmess.indexOf("Script Terminated")==0)
+ {
+ var thisTime = new Date();
+ if (_console) {
+ _console.value += "Last script execution took : "
+ + (thisTime.valueOf() - _lastTime.valueOf()) / 1000.0
+ + " seconds.";
+ }
+ _lastTime = thisTime;
+
+ }
+}
--- /dev/null
+/*!
+ * jQuery JavaScript Library v1.4.4
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Nov 11 19:04:53 2010 -0500
+ */
+(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
+h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
+h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
+"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
+e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
+"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
+s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
+j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
+toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
+-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
+if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
+if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
+b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
+!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
+l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
+z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
+s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
+s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
+[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
+false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
+k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
+scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
+false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
+1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
+"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
+c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
+else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
+a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
+c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
+a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
+colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
+1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
+l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
+"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
+if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
+a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
+attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
+b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
+c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
+arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
+d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
+c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
+w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
+8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
+"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
+d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
+fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
+Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
+c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
+var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
+"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
+xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
+B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
+"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
+0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
+a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
+1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
+"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
+c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
+(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
+[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
+break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
+q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
+l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
+return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
+B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
+POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
+i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
+i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
+"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
+m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
+true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
+g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
+0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
+"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
+i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
+if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
+g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
+for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
+i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
+n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
+function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
+p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
+t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
+function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
+c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
+not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
+h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
+c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
+2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
+b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
+e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
+"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
+else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
+c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
+b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
+this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
+prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
+b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
+1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
+d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
+jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
+zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
+h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
+if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
+d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
+e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
+ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
+"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
+!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
+getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
+script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
+!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
+false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
+A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
+b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
+c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
+c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
+encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
+[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
+e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
+if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
+3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
+d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
+d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
+"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
+1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
+d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
+Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
+var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
+this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
+this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
+c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
+b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
+h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
+for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
+parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
+height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
+f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
+"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
+e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
+c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
+c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
+b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);
--- /dev/null
+\feff/*!
+ * jQuery blockUI plugin
+ * Version 2.37 (29-JAN-2011)
+ * @requires jQuery v1.2.3 or later
+ *
+ * Examples at: http://malsup.com/jquery/block/
+ * Copyright (c) 2007-2010 M. Alsup
+ * Dual licensed under the MIT and GPL licenses:
+ * http://www.opensource.org/licenses/mit-license.php
+ * http://www.gnu.org/licenses/gpl.html
+ *
+ * Thanks to Amir-Hossein Sobhi for some excellent contributions!
+ */
+
+;(function($) {
+
+if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) {
+ alert('blockUI requires jQuery v1.2.3 or later! You are using v' + $.fn.jquery);
+ return;
+}
+
+$.fn._fadeIn = $.fn.fadeIn;
+
+var noOp = function() {};
+
+// this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle
+// retarded userAgent strings on Vista)
+var mode = document.documentMode || 0;
+var setExpr = $.browser.msie && (($.browser.version < 8 && !mode) || mode < 8);
+var ie6 = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !mode;
+
+// global $ methods for blocking/unblocking the entire page
+$.blockUI = function(opts) { install(window, opts); };
+$.unblockUI = function(opts) { remove(window, opts); };
+
+// convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)
+$.growlUI = function(title, message, timeout, onClose) {
+ var $m = $('<div class="growlUI"></div>');
+ if (title) $m.append('<h1>'+title+'</h1>');
+ if (message) $m.append('<h2>'+message+'</h2>');
+ if (timeout == undefined) timeout = 3000;
+ $.blockUI({
+ message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
+ timeout: timeout, showOverlay: false,
+ onUnblock: onClose,
+ css: $.blockUI.defaults.growlCSS
+ });
+};
+
+// plugin method for blocking element content
+$.fn.block = function(opts) {
+ return this.unblock({ fadeOut: 0 }).each(function() {
+ if ($.css(this,'position') == 'static')
+ this.style.position = 'relative';
+ if ($.browser.msie)
+ this.style.zoom = 1; // force 'hasLayout'
+ install(this, opts);
+ });
+};
+
+// plugin method for unblocking element content
+$.fn.unblock = function(opts) {
+ return this.each(function() {
+ remove(this, opts);
+ });
+};
+
+$.blockUI.version = 2.37; // 2nd generation blocking at no extra cost!
+
+// override these in your code to change the default behavior and style
+$.blockUI.defaults = {
+ // message displayed when blocking (use null for no message)
+ message: '<h1>Please wait...</h1>',
+
+ title: null, // title string; only used when theme == true
+ draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)
+
+ theme: false, // set to true to use with jQuery UI themes
+
+ // styles for the message when blocking; if you wish to disable
+ // these and use an external stylesheet then do this in your code:
+ // $.blockUI.defaults.css = {};
+ css: {
+ padding: 0,
+ margin: 0,
+ width: '30%',
+ top: '40%',
+ left: '35%',
+ textAlign: 'center',
+ color: '#000',
+ border: '3px solid #aaa',
+ backgroundColor:'#fff',
+ cursor: 'wait'
+ },
+
+ // minimal style set used when themes are used
+ themedCSS: {
+ width: '30%',
+ top: '40%',
+ left: '35%'
+ },
+
+ // styles for the overlay
+ overlayCSS: {
+ backgroundColor: '#000',
+ opacity: 0.6,
+ cursor: 'wait'
+ },
+
+ // styles applied when using $.growlUI
+ growlCSS: {
+ width: '350px',
+ top: '10px',
+ left: '',
+ right: '10px',
+ border: 'none',
+ padding: '5px',
+ opacity: 0.6,
+ cursor: 'default',
+ color: '#fff',
+ backgroundColor: '#000',
+ '-webkit-border-radius': '10px',
+ '-moz-border-radius': '10px',
+ 'border-radius': '10px'
+ },
+
+ // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
+ // (hat tip to Jorge H. N. de Vasconcelos)
+ iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
+
+ // force usage of iframe in non-IE browsers (handy for blocking applets)
+ forceIframe: false,
+
+ // z-index for the blocking overlay
+ baseZ: 1000,
+
+ // set these to true to have the message automatically centered
+ centerX: true, // <-- only effects element blocking (page block controlled via css above)
+ centerY: true,
+
+ // allow body element to be stetched in ie6; this makes blocking look better
+ // on "short" pages. disable if you wish to prevent changes to the body height
+ allowBodyStretch: true,
+
+ // enable if you want key and mouse events to be disabled for content that is blocked
+ bindEvents: true,
+
+ // be default blockUI will supress tab navigation from leaving blocking content
+ // (if bindEvents is true)
+ constrainTabKey: true,
+
+ // fadeIn time in millis; set to 0 to disable fadeIn on block
+ fadeIn: 200,
+
+ // fadeOut time in millis; set to 0 to disable fadeOut on unblock
+ fadeOut: 400,
+
+ // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
+ timeout: 0,
+
+ // disable if you don't want to show the overlay
+ showOverlay: true,
+
+ // if true, focus will be placed in the first available input field when
+ // page blocking
+ focusInput: true,
+
+ // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)
+ applyPlatformOpacityRules: true,
+
+ // callback method invoked when fadeIn has completed and blocking message is visible
+ onBlock: null,
+
+ // callback method invoked when unblocking has completed; the callback is
+ // passed the element that has been unblocked (which is the window object for page
+ // blocks) and the options that were passed to the unblock call:
+ // onUnblock(element, options)
+ onUnblock: null,
+
+ // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493
+ quirksmodeOffsetHack: 4,
+
+ // class name of the message block
+ blockMsgClass: 'blockMsg'
+};
+
+// private data and functions follow...
+
+var pageBlock = null;
+var pageBlockEls = [];
+
+function install(el, opts) {
+ var full = (el == window);
+ var msg = opts && opts.message !== undefined ? opts.message : undefined;
+ opts = $.extend({}, $.blockUI.defaults, opts || {});
+ opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
+ var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
+ var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
+ msg = msg === undefined ? opts.message : msg;
+
+ // remove the current block (if there is one)
+ if (full && pageBlock)
+ remove(window, {fadeOut:0});
+
+ // if an existing element is being used as the blocking content then we capture
+ // its current place in the DOM (and current display style) so we can restore
+ // it when we unblock
+ if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {
+ var node = msg.jquery ? msg[0] : msg;
+ var data = {};
+ $(el).data('blockUI.history', data);
+ data.el = node;
+ data.parent = node.parentNode;
+ data.display = node.style.display;
+ data.position = node.style.position;
+ if (data.parent)
+ data.parent.removeChild(node);
+ }
+
+ var z = opts.baseZ;
+
+ // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;
+ // layer1 is the iframe layer which is used to supress bleed through of underlying content
+ // layer2 is the overlay layer which has opacity and a wait cursor (by default)
+ // layer3 is the message content that is displayed while blocking
+
+ var lyr1 = ($.browser.msie || opts.forceIframe)
+ ? $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>')
+ : $('<div class="blockUI" style="display:none"></div>');
+ var lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');
+
+ var lyr3, s;
+ if (opts.theme && full) {
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:fixed">' +
+ '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>' +
+ '<div class="ui-widget-content ui-dialog-content"></div>' +
+ '</div>';
+ }
+ else if (opts.theme) {
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+z+';display:none;position:absolute">' +
+ '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || ' ')+'</div>' +
+ '<div class="ui-widget-content ui-dialog-content"></div>' +
+ '</div>';
+ }
+ else if (full) {
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+z+';display:none;position:fixed"></div>';
+ }
+ else {
+ s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+z+';display:none;position:absolute"></div>';
+ }
+ lyr3 = $(s);
+
+ // if we have a message, style it
+ if (msg) {
+ if (opts.theme) {
+ lyr3.css(themedCSS);
+ lyr3.addClass('ui-widget-content');
+ }
+ else
+ lyr3.css(css);
+ }
+
+ // style the overlay
+ if (!opts.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform)))
+ lyr2.css(opts.overlayCSS);
+ lyr2.css('position', full ? 'fixed' : 'absolute');
+
+ // make iframe layer transparent in IE
+ if ($.browser.msie || opts.forceIframe)
+ lyr1.css('opacity',0.0);
+
+ //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
+ var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el);
+ $.each(layers, function() {
+ this.appendTo($par);
+ });
+
+ if (opts.theme && opts.draggable && $.fn.draggable) {
+ lyr3.draggable({
+ handle: '.ui-dialog-titlebar',
+ cancel: 'li'
+ });
+ }
+
+ // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
+ var expr = setExpr && (!$.boxModel || $('object,embed', full ? null : el).length > 0);
+ if (ie6 || expr) {
+ // give body 100% height
+ if (full && opts.allowBodyStretch && $.boxModel)
+ $('html,body').css('height','100%');
+
+ // fix ie6 issue when blocked element has a border width
+ if ((ie6 || !$.boxModel) && !full) {
+ var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth');
+ var fixT = t ? '(0 - '+t+')' : 0;
+ var fixL = l ? '(0 - '+l+')' : 0;
+ }
+
+ // simulate fixed position
+ $.each([lyr1,lyr2,lyr3], function(i,o) {
+ var s = o[0].style;
+ s.position = 'absolute';
+ if (i < 2) {
+ full ? s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"')
+ : s.setExpression('height','this.parentNode.offsetHeight + "px"');
+ full ? s.setExpression('width','jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"')
+ : s.setExpression('width','this.parentNode.offsetWidth + "px"');
+ if (fixL) s.setExpression('left', fixL);
+ if (fixT) s.setExpression('top', fixT);
+ }
+ else if (opts.centerY) {
+ if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');
+ s.marginTop = 0;
+ }
+ else if (!opts.centerY && full) {
+ var top = (opts.css && opts.css.top) ? parseInt(opts.css.top) : 0;
+ var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"';
+ s.setExpression('top',expression);
+ }
+ });
+ }
+
+ // show the message
+ if (msg) {
+ if (opts.theme)
+ lyr3.find('.ui-widget-content').append(msg);
+ else
+ lyr3.append(msg);
+ if (msg.jquery || msg.nodeType)
+ $(msg).show();
+ }
+
+ if (($.browser.msie || opts.forceIframe) && opts.showOverlay)
+ lyr1.show(); // opacity is zero
+ if (opts.fadeIn) {
+ var cb = opts.onBlock ? opts.onBlock : noOp;
+ var cb1 = (opts.showOverlay && !msg) ? cb : noOp;
+ var cb2 = msg ? cb : noOp;
+ if (opts.showOverlay)
+ lyr2._fadeIn(opts.fadeIn, cb1);
+ if (msg)
+ lyr3._fadeIn(opts.fadeIn, cb2);
+ }
+ else {
+ if (opts.showOverlay)
+ lyr2.show();
+ if (msg)
+ lyr3.show();
+ if (opts.onBlock)
+ opts.onBlock();
+ }
+
+ // bind key and mouse events
+ bind(1, el, opts);
+
+ if (full) {
+ pageBlock = lyr3[0];
+ pageBlockEls = $(':input:enabled:visible',pageBlock);
+ if (opts.focusInput)
+ setTimeout(focus, 20);
+ }
+ else
+ center(lyr3[0], opts.centerX, opts.centerY);
+
+ if (opts.timeout) {
+ // auto-unblock
+ var to = setTimeout(function() {
+ full ? $.unblockUI(opts) : $(el).unblock(opts);
+ }, opts.timeout);
+ $(el).data('blockUI.timeout', to);
+ }
+};
+
+// remove the block
+function remove(el, opts) {
+ var full = (el == window);
+ var $el = $(el);
+ var data = $el.data('blockUI.history');
+ var to = $el.data('blockUI.timeout');
+ if (to) {
+ clearTimeout(to);
+ $el.removeData('blockUI.timeout');
+ }
+ opts = $.extend({}, $.blockUI.defaults, opts || {});
+ bind(0, el, opts); // unbind events
+
+ var els;
+ if (full) // crazy selector to handle odd field errors in ie6/7
+ els = $('body').children().filter('.blockUI').add('body > .blockUI');
+ else
+ els = $('.blockUI', el);
+
+ if (full)
+ pageBlock = pageBlockEls = null;
+
+ if (opts.fadeOut) {
+ els.fadeOut(opts.fadeOut);
+ setTimeout(function() { reset(els,data,opts,el); }, opts.fadeOut);
+ }
+ else
+ reset(els, data, opts, el);
+};
+
+// move blocking element back into the DOM where it started
+function reset(els,data,opts,el) {
+ els.each(function(i,o) {
+ // remove via DOM calls so we don't lose event handlers
+ if (this.parentNode)
+ this.parentNode.removeChild(this);
+ });
+
+ if (data && data.el) {
+ data.el.style.display = data.display;
+ data.el.style.position = data.position;
+ if (data.parent)
+ data.parent.appendChild(data.el);
+ $(el).removeData('blockUI.history');
+ }
+
+ if (typeof opts.onUnblock == 'function')
+ opts.onUnblock(el,opts);
+};
+
+// bind/unbind the handler
+function bind(b, el, opts) {
+ var full = el == window, $el = $(el);
+
+ // don't bother unbinding if there is nothing to unbind
+ if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))
+ return;
+ if (!full)
+ $el.data('blockUI.isBlocked', b);
+
+ // don't bind events when overlay is not in use or if bindEvents is false
+ if (!opts.bindEvents || (b && !opts.showOverlay))
+ return;
+
+ // bind anchors and inputs for mouse and key events
+ var events = 'mousedown mouseup keydown keypress';
+ b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);
+
+// former impl...
+// var $e = $('a,:input');
+// b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
+};
+
+// event handler to suppress keyboard/mouse events when blocking
+function handler(e) {
+ // allow tab navigation (conditionally)
+ if (e.keyCode && e.keyCode == 9) {
+ if (pageBlock && e.data.constrainTabKey) {
+ var els = pageBlockEls;
+ var fwd = !e.shiftKey && e.target === els[els.length-1];
+ var back = e.shiftKey && e.target === els[0];
+ if (fwd || back) {
+ setTimeout(function(){focus(back)},10);
+ return false;
+ }
+ }
+ }
+ var opts = e.data;
+ // allow events within the message content
+ if ($(e.target).parents('div.' + opts.blockMsgClass).length > 0)
+ return true;
+
+ // allow events for content that is not being blocked
+ return $(e.target).parents().children().filter('div.blockUI').length == 0;
+};
+
+function focus(back) {
+ if (!pageBlockEls)
+ return;
+ var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0];
+ if (e)
+ e.focus();
+};
+
+function center(el, x, y) {
+ var p = el.parentNode, s = el.style;
+ var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth');
+ var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth');
+ if (x) s.left = l > 0 ? (l+'px') : '0';
+ if (y) s.top = t > 0 ? (t+'px') : '0';
+};
+
+function sz(el, p) {
+ return parseInt($.css(el,p))||0;
+};
+
+})(jQuery);
--- /dev/null
+\feff/*
+ *
+ * jQuery Timer plugin v0.1
+ * Matt Schmidt [http://www.mattptr.net]
+ *
+ * Licensed under the BSD License:
+ * http://mattptr.net/license/license.txt
+ *
+ */
+
+ jQuery.timer = function (interval, callback)
+ {
+ /**
+ *
+ * timer() provides a cleaner way to handle intervals
+ *
+ * @usage
+ * $.timer(interval, callback);
+ *
+ *
+ * @example
+ * $.timer(1000, function (timer) {
+ * alert("hello");
+ * timer.stop();
+ * });
+ * @desc Show an alert box after 1 second and stop
+ *
+ * @example
+ * var second = false;
+ * $.timer(1000, function (timer) {
+ * if (!second) {
+ * alert('First time!');
+ * second = true;
+ * timer.reset(3000);
+ * }
+ * else {
+ * alert('Second time');
+ * timer.stop();
+ * }
+ * });
+ * @desc Show an alert box after 1 second and show another after 3 seconds
+ *
+ *
+ */
+
+ var interval = interval || 100;
+
+ if (!callback)
+ return false;
+
+ _timer = function (interval, callback) {
+ this.stop = function () {
+ clearInterval(self.id);
+ };
+
+ this.internalCallback = function () {
+ callback(self);
+ };
+
+ this.reset = function (val) {
+ if (self.id)
+ clearInterval(self.id);
+
+ var val = val || 100;
+ this.id = setInterval(this.internalCallback, val);
+ };
+
+ this.interval = interval;
+ this.id = setInterval(this.internalCallback, this.interval);
+
+ var self = this;
+ };
+
+ return new _timer(interval, callback);
+ };
\ No newline at end of file
--- /dev/null
+/**\r
+ * Copyright 2010 Tim Down.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();
\ No newline at end of file
--- /dev/null
+/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson\r
+\r
+ checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm\r
+\r
+ based on:\r
+ *\r
+ * Copyright (C) 2004-2005 Miguel, Jmol Development, www.jmol.org\r
+ *\r
+ * Contact: hansonr@stolaf.edu\r
+ *\r
+ * This library is free software; you can redistribute it and/or\r
+ * modify it under the terms of the GNU Lesser General Public\r
+ * License as published by the Free Software Foundation; either\r
+ * version 2.1 of the License, or (at your option) any later version.\r
+ *\r
+ * This library is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+ * Lesser General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU Lesser General Public\r
+ * License along with this library; if not, write to the Free Software\r
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA\r
+ * 02111-1307 USA.\r
+ */\r
+\r
+// for documentation see www.jmol.org/jslibrary\r
+\r
+try{if(typeof(_jmol)!="undefined")exit()\r
+\r
+// place "?NOAPPLET" on your command line to check applet control action with a textarea\r
+// place "?JMOLJAR=xxxxx" to use a specific jar file\r
+\r
+// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)\r
+// angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet\r
+// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007\r
+// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006\r
+// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006\r
+// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006\r
+// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006\r
+// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.\r
+// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006\r
+// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006\r
+// bob hanson -- fix for iframes not available for finding applet\r
+// bob hanson -- added applet fake ?NOAPPLET URL flag\r
+// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006\r
+// used PRIOR to jmolApplet() or jmolAppletInline()\r
+// added 4th array element in jmolRadioGroup -- title\r
+// added <span> and id around link, checkbox, radio, menu\r
+// fixing AJAX loads for MSIE/Opera-Mozilla incompatibility\r
+// -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar\r
+// renamed Jmol.js for Jmol 11 distribution\r
+// -- modified jmolRestoreOrientation() to be immediate, no 1-second delay\r
+// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006\r
+// bh -- jmolCommandInput()\r
+// bh -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues\r
+// bh -- minor fixes suggested by Angel\r
+// bh -- adds jmolSetSyncId() and jmolGetSyncId()\r
+// bh 3/2008 -- adds jmolAppendInlineScript() and jmolAppendInlineArray()\r
+// bh 3/2008 -- fixes IE7 bug in relation to jmolLoadInlineArray()\r
+// bh 6/2008 -- adds jmolSetAppletWindow()\r
+// Angel H. 6/2008 -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]\r
+// bh 7/2008 -- code fix "for(i..." not "for(var i..."\r
+// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)\r
+// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console\r
+\r
+// bh 5/2009 -- Support for XHTML using jmolSetXHTML(id)\r
+// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax\r
+// bh 11/2009 -- care in accessing top.document\r
+// bh 12/2009 -- added jmolSetParameter(name, value)\r
+// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line\r
+// bh 12/2009 -- overhaul of target checking\r
+// bh 1/2010 -- all _xxxx() methods ALWAYS have complete argument list\r
+// bh 1/2010 -- adds option to run a JavaScript function from any Jmol control. \r
+// This is accomplished by passing an array rather than a script:\r
+// jmolHref([myfunc,"my param 1", "my param 2"], "testing")\r
+// function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}\r
+// and allows much more flexibility with responding to controls\r
+// bh 4/2010 -- added jmolSetMemoryMb(nMb)\r
+// ah 1/2011 -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; \r
+// fix of object tag (removed classid) accounts for change of behavior in Chrome\r
+// bh 3/2011 -- added jmolLoadAjax_STOLAF_NIH\r
+\r
+var defaultdir = "."\r
+var defaultjar = "JmolApplet.jar"\r
+\r
+\r
+// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:\r
+\r
+// JMOLJAR=xxxxx.jar on the URL for this page will override\r
+// the JAR file specified in the jmolInitialize() call.\r
+\r
+// The idea is that it can be very useful to test a web page with different JAR files\r
+// Or for an expert user to substitute a signed applet for an unsigned one\r
+// so as to use a broader range of models or to create JPEG files, for example.\r
+\r
+// If the JAR file is not in the current directory (has any sort of "/" in its name)\r
+// then the user is presented with a warning and asked whether it is OK to change Jar files.\r
+// The default action, if the user just presses "OK" is to NOT allow the change. \r
+// The user must type the word "yes" in the prompt box for the change to be approved.\r
+\r
+// If you don't want people to be able to switch in their own JAR file on your page,\r
+// simply set this next line to read "var allowJMOLJAR = false".\r
+\r
+\r
+var undefined; // for IE 5 ... wherein undefined is undefined\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Basic Scripting infrastruture\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {\r
+ if (_jmol.initialized)\r
+ return;\r
+ _jmol.initialized = true;\r
+ if(_jmol.jmoljar) {\r
+ var f = _jmol.jmoljar;\r
+ if (f.indexOf("/") >= 0) {\r
+ alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")\r
+ var ok = prompt("Do you want to use applet " + f + "? ","yes or no")\r
+ if (ok == "yes") {\r
+ codebaseDirectory = f.substring(0, f.lastIndexOf("/"));\r
+ fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);\r
+ } else {\r
+ _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
+ alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');\r
+ }\r
+ } else {\r
+ fileNameOrUseSignedApplet = f;\r
+ }\r
+ }\r
+ _jmolSetCodebase(codebaseDirectory);\r
+ _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
+ _jmolOnloadResetForms();\r
+}\r
+\r
+function jmolSetTranslation(TF) {\r
+ _jmol.params.doTranslate = ''+TF;\r
+}\r
+\r
+function _jmolGetJarFilename(fileNameOrFlag) {\r
+ _jmol.archivePath =\r
+ (typeof(fileNameOrFlag) == "string" ? fileNameOrFlag : (fileNameOrFlag ? "JmolAppletSigned" : "JmolApplet") + "0.jar");\r
+}\r
+\r
+function jmolSetDocument(doc) {\r
+ _jmol.currentDocument = doc;\r
+}\r
+\r
+function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {\r
+ _jmolInitCheck();\r
+ _jmol.params.boxbgcolor = boxbgcolor;\r
+ if (boxfgcolor)\r
+ _jmol.params.boxfgcolor = boxfgcolor\r
+ else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")\r
+ _jmol.params.boxfgcolor = "black";\r
+ else\r
+ _jmol.params.boxfgcolor = "white";\r
+ if (progresscolor)\r
+ _jmol.params.progresscolor = progresscolor;\r
+ if (_jmol.debugAlert)\r
+ alert(" boxbgcolor=" + _jmol.params.boxbgcolor +\r
+ " boxfgcolor=" + _jmol.params.boxfgcolor +\r
+ " progresscolor=" + _jmol.params.progresscolor);\r
+}\r
+\r
+function jmolSetAppletWindow(w) {\r
+ _jmol.appletWindow = w;\r
+}\r
+\r
+function jmolApplet(size, script, nameSuffix) {\r
+ _jmolInitCheck();\r
+ return _jmolApplet(size, null, script, nameSuffix);\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Basic controls\r
+////////////////////////////////////////////////////////////////\r
+\r
+// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)\r
+\r
+function jmolButton(script, label, id, title) {\r
+ _jmolInitCheck();\r
+ id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);\r
+ label != undefined && label != null || (label = script.substring(0, 32));\r
+ ++_jmol.buttonCount;\r
+ var scriptIndex = _jmolAddScript(script);\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +\r
+ "' value='" + label +\r
+ "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +\r
+ ")' onmouseover='_jmolMouseOver(" + scriptIndex +\r
+ ");return true' onmouseout='_jmolMouseOut()' " +\r
+ _jmol.buttonCssText + " /></span>";\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,\r
+ labelHtml, isChecked, id, title) {\r
+ _jmolInitCheck();\r
+ id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);\r
+ ++_jmol.checkboxCount;\r
+ if (scriptWhenChecked == undefined || scriptWhenChecked == null ||\r
+ scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {\r
+ alert("jmolCheckbox requires two scripts");\r
+ return;\r
+ }\r
+ if (labelHtml == undefined || labelHtml == null) {\r
+ alert("jmolCheckbox requires a label");\r
+ return;\r
+ }\r
+ var indexChecked = _jmolAddScript(scriptWhenChecked);\r
+ var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);\r
+ var eospan = "</span>"\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +\r
+ "' onclick='_jmolCbClick(this," +\r
+ indexChecked + "," + indexUnchecked + _jmol.targetText +\r
+ ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +\r
+ indexUnchecked +\r
+ ");return true' onmouseout='_jmolMouseOut()' " +\r
+ (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" \r
+ if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
+ t += eospan\r
+ eospan = "";\r
+ }\r
+ t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolStartNewRadioGroup() {\r
+ ++_jmol.radioGroupCount;\r
+}\r
+\r
+function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {\r
+ /*\r
+\r
+ array: [radio1,radio2,radio3...]\r
+ where radioN = ["script","label",isSelected,"id","title"]\r
+\r
+ */\r
+\r
+ _jmolInitCheck();\r
+ var type = typeof arrayOfRadioButtons;\r
+ if (type != "object" || type == null || ! arrayOfRadioButtons.length) {\r
+ alert("invalid arrayOfRadioButtons");\r
+ return;\r
+ }\r
+ separatorHtml != undefined && separatorHtml != null || (separatorHtml = " ");\r
+ var len = arrayOfRadioButtons.length;\r
+ jmolStartNewRadioGroup();\r
+ groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
+ var t = "<span id='"+(id ? id : groupName)+"'>";\r
+ for (var i = 0; i < len; ++i) {\r
+ if (i == len - 1)\r
+ separatorHtml = "";\r
+ var radio = arrayOfRadioButtons[i];\r
+ type = typeof radio;\r
+ if (type == "object") {\r
+ t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);\r
+ } else {\r
+ t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);\r
+ }\r
+ }\r
+ t+="</span>"\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+\r
+function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
+ _jmolInitCheck();\r
+ if (_jmol.radioGroupCount == 0)\r
+ ++_jmol.radioGroupCount;\r
+ var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolLink(script, label, id, title) {\r
+ _jmolInitCheck();\r
+ id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);\r
+ label != undefined && label != null || (label = script.substring(0, 32));\r
+ ++_jmol.linkCount;\r
+ var scriptIndex = _jmolAddScript(script);\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + \r
+ "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +\r
+ ");return true;' onmouseout='_jmolMouseOut()' " +\r
+ _jmol.linkCssText + ">" + label + "</a></span>";\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+function jmolCommandInput(label, size, id, title) {\r
+ _jmolInitCheck();\r
+ id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);\r
+ label != undefined && label != null || (label = "Execute");\r
+ size != undefined && !isNaN(size) || (size = 60);\r
+ ++_jmol.cmdCount;\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + \r
+ "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+}\r
+\r
+function _jmolCommandKeyPress(e, id, target) {\r
+ var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);\r
+ if (keycode == 13) {\r
+ var inputBox = document.getElementById(id)\r
+ _jmolScriptExecute(inputBox, inputBox.value, target)\r
+ }\r
+}\r
+\r
+function _jmolScriptExecute(element,script,target) {\r
+ if (typeof(script) == "object")\r
+ script[0](element, script, target)\r
+ else\r
+ jmolScript(script, target) \r
+}\r
+\r
+function jmolMenu(arrayOfMenuItems, size, id, title) {\r
+ _jmolInitCheck();\r
+ id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);\r
+ ++_jmol.menuCount;\r
+ var type = typeof arrayOfMenuItems;\r
+ if (type != null && type == "object" && arrayOfMenuItems.length) {\r
+ var len = arrayOfMenuItems.length;\r
+ if (typeof size != "number" || size == 1)\r
+ size = null;\r
+ else if (size < 0)\r
+ size = len;\r
+ var sizeText = size ? " size='" + size + "' " : "";\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +\r
+ "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +\r
+ sizeText + _jmol.menuCssText + ">";\r
+ for (var i = 0; i < len; ++i) {\r
+ var menuItem = arrayOfMenuItems[i];\r
+ type = typeof menuItem;\r
+ var script, text;\r
+ var isSelected = undefined;\r
+ if (type == "object" && menuItem != null) {\r
+ script = menuItem[0];\r
+ text = menuItem[1];\r
+ isSelected = menuItem[2];\r
+ } else {\r
+ script = text = menuItem;\r
+ }\r
+ text != undefined && text != null || (text = script); \r
+ if (script=="#optgroup") {\r
+ t += "<optgroup label='" + text + "'>"; \r
+ } else if (script=="#optgroupEnd") {\r
+ t += "</optgroup>"; \r
+ } else { \r
+ var scriptIndex = _jmolAddScript(script);\r
+ var selectedText = isSelected ? "' selected='true'>" : "'>";\r
+ t += "<option value='" + scriptIndex + selectedText + text + "</option>";\r
+ }\r
+ }\r
+ t += "</select></span>";\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+ }\r
+}\r
+\r
+function jmolHtml(html) {\r
+ return _jmolDocumentWrite(html);\r
+}\r
+\r
+function jmolBr() {\r
+ return _jmolDocumentWrite("<br />");\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// advanced scripting functions\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolDebugAlert(enableAlerts) {\r
+ _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)\r
+}\r
+\r
+function jmolAppletInline(size, inlineModel, script, nameSuffix) {\r
+ _jmolInitCheck();\r
+ return _jmolApplet(size, _jmolSterilizeInline(inlineModel),\r
+ script, nameSuffix);\r
+}\r
+\r
+function jmolSetTarget(targetSuffix) {\r
+ _jmol.targetSuffix = targetSuffix;\r
+ _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";\r
+}\r
+\r
+function jmolScript(script, targetSuffix) {\r
+ if (script) {\r
+ _jmolCheckBrowser();\r
+ if (targetSuffix == "all") {\r
+ with (_jmol) {\r
+ for (var i = 0; i < appletSuffixes.length; ++i) {\r
+ var applet = _jmolGetApplet(appletSuffixes[i]);\r
+ if (applet) applet.script(script);\r
+ }\r
+ }\r
+ } else {\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (applet) applet.script(script);\r
+ }\r
+ }\r
+}\r
+\r
+function jmolLoadInline(model, targetSuffix) {\r
+ if (!model)return "ERROR: NO MODEL"\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (!applet)return "ERROR: NO APPLET"\r
+ if (typeof(model) == "string")\r
+ return applet.loadInlineString(model, "", false);\r
+ else\r
+ return applet.loadInlineArray(model, "", false);\r
+}\r
+\r
+\r
+function jmolLoadInlineScript(model, script, targetSuffix) {\r
+ if (!model)return "ERROR: NO MODEL"\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (!applet)return "ERROR: NO APPLET"\r
+ return applet.loadInlineString(model, script, false);\r
+}\r
+\r
+\r
+function jmolLoadInlineArray(ModelArray, script, targetSuffix) {\r
+ if (!model)return "ERROR: NO MODEL"\r
+ script || (script="")\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (!applet)return "ERROR: NO APPLET"\r
+ try {\r
+ return applet.loadInlineArray(ModelArray, script, false);\r
+ } catch (err) {\r
+ //IE 7 bug\r
+ return applet.loadInlineString(ModelArray.join("\n"), script, false);\r
+ }\r
+}\r
+\r
+function jmolAppendInlineArray(ModelArray, script, targetSuffix) {\r
+ if (!model)return "ERROR: NO MODEL"\r
+ script || (script="")\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (!applet)return "ERROR: NO APPLET"\r
+ try {\r
+ return applet.loadInlineArray(ModelArray, script, true);\r
+ } catch (err) {\r
+ //IE 7 bug\r
+ return applet.loadInlineString(ModelArray.join("\n"), script, true);\r
+ }\r
+}\r
+\r
+function jmolAppendInlineScript(model, script, targetSuffix) {\r
+ if (!model)return "ERROR: NO MODEL"\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (!applet)return "ERROR: NO APPLET"\r
+ return applet.loadInlineString(model, script, true);\r
+}\r
+\r
+function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {\r
+ if (typeof action == "string") {\r
+ action = action.toLowerCase();\r
+ action == "alert" || action == "redirect" || action == "popup" || (action = null);\r
+ }\r
+ if (typeof action != "string")\r
+ alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
+ "action must be 'alert', 'redirect', or 'popup'");\r
+ else {\r
+ if (typeof urlOrMessage != "string")\r
+ alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
+ "urlOrMessage must be a string");\r
+ else {\r
+ _jmol.checkBrowserAction = action;\r
+ _jmol.checkBrowserUrlOrMessage = urlOrMessage;\r
+ }\r
+ }\r
+ if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")\r
+ _jmolCheckBrowser();\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// Cascading Style Sheet Class support\r
+////////////////////////////////////////////////////////////////\r
+\r
+function jmolSetAppletCssClass(appletCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.appletCssClass = appletCssClass;\r
+ _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+function jmolSetButtonCssClass(buttonCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.buttonCssClass = buttonCssClass;\r
+ _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+function jmolSetCheckboxCssClass(checkboxCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.checkboxCssClass = checkboxCssClass;\r
+ _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+function jmolSetRadioCssClass(radioCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.radioCssClass = radioCssClass;\r
+ _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+function jmolSetLinkCssClass(linkCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.linkCssClass = linkCssClass;\r
+ _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+function jmolSetMenuCssClass(menuCssClass) {\r
+ if (_jmol.hasGetElementById) {\r
+ _jmol.menuCssClass = menuCssClass;\r
+ _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";\r
+ }\r
+}\r
+\r
+////////////////////////////////////////////////////////////////\r
+// functions for INTERNAL USE ONLY which are subject to change\r
+// use at your own risk ... you have been WARNED!\r
+////////////////////////////////////////////////////////////////\r
+var _jmol = {\r
+ currentDocument: document,\r
+\r
+ debugAlert: false,\r
+ \r
+ codebase: "",\r
+ modelbase: ".",\r
+ \r
+ appletCount: 0,\r
+ appletSuffixes: [],\r
+ appletWindow: null,\r
+ allowedJmolSize: [25, 2048, 300], // min, max, default (pixels)\r
+ /* By setting the _jmol.allowedJmolSize[] variable in the webpage \r
+ before calling jmolApplet(), limits for applet size can be overriden.\r
+ 2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)\r
+ */ \r
+ buttonCount: 0,\r
+ checkboxCount: 0,\r
+ linkCount: 0,\r
+ cmdCount: 0,\r
+ menuCount: 0,\r
+ radioCount: 0,\r
+ radioGroupCount: 0,\r
+ \r
+ appletCssClass: null,\r
+ appletCssText: "",\r
+ buttonCssClass: null,\r
+ buttonCssText: "",\r
+ checkboxCssClass: null,\r
+ checkboxCssText: "",\r
+ java_arguments: "-Xmx512m",\r
+ radioCssClass: null,\r
+ radioCssText: "",\r
+ linkCssClass: null,\r
+ linkCssText: "",\r
+ menuCssClass: null,\r
+ menuCssText: "",\r
+ \r
+ targetSuffix: 0,\r
+ targetText: ",0",\r
+ scripts: [""],\r
+ params: {\r
+ syncId: ("" + Math.random()).substring(3),\r
+ progressbar: "true",\r
+ progresscolor: "blue",\r
+ boxbgcolor: "black",\r
+ boxfgcolor: "white",\r
+ boxmessage: "Downloading JmolApplet ..."\r
+ },\r
+ ua: navigator.userAgent.toLowerCase(),\r
+ // uaVersion: parseFloat(navigator.appVersion), // not used\r
+ \r
+ os: "unknown",\r
+ browser: "unknown",\r
+ browserVersion: 0,\r
+ hasGetElementById: !!document.getElementById,\r
+ isJavaEnabled: navigator.javaEnabled(),\r
+ // isNetscape47Win: false, // not used, N4.7 is no longer supported even for detection\r
+ useIEObject: false,\r
+ useHtml4Object: false,\r
+ \r
+ windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",\r
+ windowsCabUrl:\r
+ "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",\r
+\r
+ isBrowserCompliant: false,\r
+ isJavaCompliant: false,\r
+ isFullyCompliant: false,\r
+\r
+ initialized: false,\r
+ initChecked: false,\r
+ \r
+ browserChecked: false,\r
+ checkBrowserAction: "alert",\r
+ checkBrowserUrlOrMessage: null,\r
+\r
+ archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar\r
+\r
+ previousOnloadHandler: null,\r
+\r
+ jmoljar: null, \r
+ useNoApplet: false,\r
+\r
+ ready: {}\r
+}\r
+\r
+with (_jmol) {\r
+ function _jmolTestUA(candidate) {\r
+ var ua = _jmol.ua;\r
+ var index = ua.indexOf(candidate);\r
+ if (index < 0)\r
+ return false;\r
+ _jmol.browser = candidate;\r
+ _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));\r
+ return true;\r
+ }\r
+ \r
+ function _jmolTestOS(candidate) {\r
+ if (_jmol.ua.indexOf(candidate) < 0)\r
+ return false;\r
+ _jmol.os = candidate;\r
+ return true;\r
+ }\r
+ \r
+ _jmolTestUA("konqueror") ||\r
+ _jmolTestUA("webkit") ||\r
+ _jmolTestUA("omniweb") ||\r
+ _jmolTestUA("opera") ||\r
+ _jmolTestUA("webtv") ||\r
+ _jmolTestUA("icab") ||\r
+ _jmolTestUA("msie") ||\r
+ (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated\r
+ \r
+ _jmolTestOS("linux") ||\r
+ _jmolTestOS("unix") ||\r
+ _jmolTestOS("mac") ||\r
+ _jmolTestOS("win");\r
+\r
+ /* not used:\r
+ isNetscape47Win = (os == "win" && browser == "mozilla" &&\r
+ browserVersion >= 4.78 && browserVersion <= 4.8);\r
+ */\r
+\r
+ if (os == "win") {\r
+ isBrowserCompliant = hasGetElementById;\r
+ } else if (os == "mac") { // mac is the problem child :-(\r
+ if (browser == "mozilla" && browserVersion >= 5) {\r
+ // miguel 2004 11 17\r
+ // checking the plugins array does not work because\r
+ // Netscape 7.2 OS X still has Java 1.3.1 listed even though\r
+ // javaplugin.sf.net is installed to upgrade to 1.4.2\r
+ eval("try {var v = java.lang.System.getProperty('java.version');" +\r
+ " _jmol.isBrowserCompliant = v >= '1.4.2';" +\r
+ " } catch (e) { }");\r
+ } else if (browser == "opera" && browserVersion <= 7.54) {\r
+ isBrowserCompliant = false;\r
+ } else {\r
+ isBrowserCompliant = hasGetElementById &&\r
+ !((browser == "msie") ||\r
+ (browser == "webkit" && browserVersion < 125.12));\r
+ }\r
+ } else if (os == "linux" || os == "unix") {\r
+ if (browser == "konqueror" && browserVersion <= 3.3)\r
+ isBrowserCompliant = false;\r
+ else\r
+ isBrowserCompliant = hasGetElementById;\r
+ } else { // other OS\r
+ isBrowserCompliant = hasGetElementById;\r
+ }\r
+\r
+ // possibly more checks in the future for this\r
+ isJavaCompliant = isJavaEnabled;\r
+\r
+ isFullyCompliant = isBrowserCompliant && isJavaCompliant;\r
+\r
+ useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);\r
+ useHtml4Object =\r
+ (browser == "mozilla" && browserVersion >= 5) ||\r
+ (browser == "opera" && browserVersion >= 8) ||\r
+ (browser == "webkit" && browserVersion >= 412.2);\r
+ try {\r
+ if (top.location.search.indexOf("JMOLJAR=")>=0)\r
+ jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];\r
+ } catch(e) {\r
+ // can't access top.location\r
+ }\r
+ try {\r
+ useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);\r
+ } catch(e) {\r
+ // can't access top.document\r
+ }\r
+}\r
+\r
+function jmolSetMemoryMb(nMb) {\r
+ _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"\r
+}\r
+\r
+function jmolSetParameter(name,value) {\r
+ _jmol.params[name] = value\r
+}\r
+\r
+function jmolSetCallback(callbackName,funcName) {\r
+ _jmol.params[callbackName] = funcName\r
+}\r
+\r
+ try {\r
+// note this is done FIRST, so it cannot override a setting done by the developer\r
+ if (top.location.search.indexOf("PARAMS=")>=0) {\r
+ var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");\r
+ for (var i = 0; i < pars.length; i++) {\r
+ var p = pars[i].split(":");\r
+ jmolSetParameter(p[0],p[1]);\r
+ }\r
+ }\r
+ } catch(e) {\r
+ // can't access top.location\r
+ }\r
+\r
+function jmolSetSyncId(n) {\r
+ return _jmol.params["syncId"] = n\r
+}\r
+\r
+function jmolGetSyncId() {\r
+ return _jmol.params["syncId"]\r
+}\r
+\r
+function jmolSetLogLevel(n) {\r
+ _jmol.params.logLevel = ''+n;\r
+}\r
+\r
+ /* AngelH, mar2007:\r
+ By (re)setting these variables in the webpage before calling jmolApplet(), \r
+ a custom message can be provided (e.g. localized for user's language) when no Java is installed.\r
+ */\r
+if (noJavaMsg==undefined) var noJavaMsg = \r
+ "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +\r
+ "Check the warning message from your browser and/or enable Java applets in<br />\n" +\r
+ "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";\r
+if (noJavaMsg2==undefined) var noJavaMsg2 = \r
+ "You do not have the<br />\n" +\r
+ "Java Runtime Environment<br />\n" +\r
+ "installed for applet support.<br />\n" +\r
+ "Visit <a href='http://www.java.com'>www.java.com</a>";\r
+function _jmolApplet(size, inlineModel, script, nameSuffix) {\r
+ /* AngelH, mar2007\r
+ Fixed percent / pixel business, to avoid browser errors:\r
+ put "px" where needed, avoid where not.\r
+\r
+ Bob Hanson, 1/2010\r
+ Fixed inline escape changing returns to | \r
+ */\r
+ with (_jmol) {\r
+ nameSuffix == undefined && (nameSuffix = appletCount);\r
+ appletSuffixes.push(nameSuffix);\r
+ ++appletCount;\r
+ script || (script = "select *");\r
+ var sz = _jmolGetAppletSize(size);\r
+ var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";\r
+ var tHeader, tFooter;\r
+ codebase || jmolInitialize(".");\r
+ if (useIEObject || useHtml4Object) {\r
+ params.archive = archivePath;\r
+ params.mayscript = 'true';\r
+ params.codebase = codebase;\r
+ params.code = 'JmolApplet';\r
+ tHeader = \r
+ "<object name='jmolApplet" + nameSuffix +\r
+ "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
+ widthAndHeight + "\n";\r
+ tFooter = "</object>";\r
+ }\r
+ if (java_arguments)\r
+ params.java_arguments = java_arguments;\r
+ if (useIEObject) { // use MSFT IE6 object tag with .cab file reference\r
+ tHeader += " classid='" + windowsClassId + "'\n" +\r
+ (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";\r
+ } else if (useHtml4Object) { // use HTML4 object tag\r
+ tHeader += " type='application/x-java-applet'\n>\n";\r
+ /* " classid='java:JmolApplet'\n" + AH removed this\r
+ Chromium Issue 62076: Java Applets using an <object> with a classid paramater don't load.\r
+ http://code.google.com/p/chromium/issues/detail?id=62076\r
+ They say this is the correct behavior according to the spec, and there's no indication at this point \r
+ that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.\r
+ Removing the classid parameter seems to be well tolerated by all browsers (even IE!).\r
+ */\r
+ } else { // use applet tag\r
+ tHeader = \r
+ "<applet name='jmolApplet" + nameSuffix +\r
+ "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
+ widthAndHeight + "\n" +\r
+ " code='JmolApplet'" +\r
+ " archive='" + archivePath + "' codebase='" + codebase + "'\n" +\r
+ " mayscript='true'>\n";\r
+ tFooter = "</applet>";\r
+ }\r
+ var visitJava;\r
+ if (useIEObject || useHtml4Object) {\r
+ var szX = "width:" + sz[0]\r
+ if ( szX.indexOf("%")==-1 ) szX+="px" \r
+ var szY = "height:" + sz[1]\r
+ if ( szY.indexOf("%")==-1 ) szY+="px" \r
+ visitJava =\r
+ "<p style='background-color:yellow; color:black; " +\r
+ szX + ";" + szY + ";" +\r
+ // why doesn't this vertical-align work?\r
+ "text-align:center;vertical-align:middle;'>\n" +\r
+ noJavaMsg +\r
+ "</p>";\r
+ } else {\r
+ visitJava =\r
+ "<table bgcolor='yellow'><tr>" +\r
+ "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +\r
+ noJavaMsg2 +\r
+ "</font></td></tr></table>";\r
+ }\r
+ params.loadInline = (inlineModel ? inlineModel : "");\r
+ params.script = (script ? _jmolSterilizeScript(script) : "");\r
+ var t = tHeader + _jmolParams() + visitJava + tFooter;\r
+ jmolSetTarget(nameSuffix);\r
+ ready["jmolApplet" + nameSuffix] = false;\r
+ if (_jmol.debugAlert)\r
+ alert(t);\r
+ return _jmolDocumentWrite(t);\r
+ }\r
+}\r
+\r
+function _jmolParams() {\r
+ var t = "";\r
+ for (var i in _jmol.params)\r
+ if(_jmol.params[i]!="")\r
+ t+=" <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";\r
+ return t\r
+}\r
+\r
+function _jmolInitCheck() {\r
+ if (_jmol.initChecked)\r
+ return;\r
+ _jmol.initChecked = true;\r
+ jmolInitialize(defaultdir, defaultjar)\r
+}\r
+\r
+function _jmolCheckBrowser() {\r
+ with (_jmol) {\r
+ if (browserChecked)\r
+ return;\r
+ browserChecked = true;\r
+ \r
+ if (isFullyCompliant)\r
+ return true;\r
+\r
+ if (checkBrowserAction == "redirect")\r
+ location.href = checkBrowserUrlOrMessage;\r
+ else if (checkBrowserAction == "popup")\r
+ _jmolPopup(checkBrowserUrlOrMessage);\r
+ else {\r
+ var msg = checkBrowserUrlOrMessage;\r
+ if (msg == null)\r
+ msg = "Your web browser is not fully compatible with Jmol\n\n" +\r
+ "browser: " + browser +\r
+ " version: " + browserVersion +\r
+ " os: " + os +\r
+ " isBrowserCompliant: " + isBrowserCompliant +\r
+ " isJavaCompliant: " + isJavaCompliant +\r
+ "\n\n" + ua;\r
+ alert(msg);\r
+ }\r
+ }\r
+ return false;\r
+}\r
+\r
+function jmolSetXHTML(id) {\r
+ _jmol.isXHTML = true\r
+ _jmol.XhtmlElement = null\r
+ _jmol.XhtmlAppendChild = false\r
+ if (id){\r
+ _jmol.XhtmlElement = document.getElementById(id)\r
+ _jmol.XhtmlAppendChild = true\r
+ }\r
+}\r
+\r
+function _jmolDocumentWrite(text) {\r
+ if (_jmol.currentDocument) {\r
+ if (_jmol.isXHTML && !_jmol.XhtmlElement) {\r
+ var s = document.getElementsByTagName("script")\r
+ _jmol.XhtmlElement = s.item(s.length - 1)\r
+ _jmol.XhtmlAppendChild = false\r
+ }\r
+ if (_jmol.XhtmlElement) {\r
+ _jmolDomDocumentWrite(text)\r
+ } else {\r
+ _jmol.currentDocument.write(text);\r
+ }\r
+ }\r
+ return text;\r
+}\r
+\r
+function _jmolDomDocumentWrite(data) {\r
+ var pt = 0\r
+ var Ptr = []\r
+ Ptr[0] = 0\r
+ while (Ptr[0] < data.length) {\r
+ var child = _jmolGetDomElement(data, Ptr)\r
+ if (!child)break\r
+ if (_jmol.XhtmlAppendChild)\r
+ _jmol.XhtmlElement.appendChild(child)\r
+ else\r
+ _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); \r
+ }\r
+}\r
+function _jmolGetDomElement(data, Ptr, closetag, lvel) {\r
+ var e = document.createElement("span")\r
+ e.innerHTML = data\r
+ Ptr[0] = data.length\r
+ return e\r
+\r
+//unnecessary?\r
+\r
+ closetag || (closetag = "")\r
+ lvel || (lvel = 0)\r
+ var pt0 = Ptr[0]\r
+ var pt = pt0\r
+ while (pt < data.length && data.charAt(pt) != "<") pt++\r
+ if (pt != pt0) {\r
+ var text = data.substring(pt0, pt)\r
+ Ptr[0] = pt\r
+ return document.createTextNode(text)\r
+ } \r
+ pt0 = ++pt\r
+ var ch\r
+ while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++\r
+ var tagname = data.substring(pt0, pt)\r
+ var e = (tagname == closetag || tagname == "/" ? "" \r
+ : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)\r
+ : document.createElement(tagname));\r
+ if (ch == ">") {\r
+ Ptr[0] = ++pt\r
+ return e\r
+ }\r
+ while (pt < data.length && (ch = data.charAt(pt)) != ">") {\r
+ while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
+ pt0 = pt\r
+ while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++\r
+ var attrname = data.substring(pt0, pt).toLowerCase()\r
+ if (attrname && ch != "=") \r
+ e.setAttribute(attrname, "true")\r
+ while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
+ if (ch == "/") {\r
+ Ptr[0] = pt + 2\r
+ return e\r
+ } else if (ch == "=") {\r
+ var quote = data.charAt(++pt)\r
+ pt0 = ++pt\r
+ while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++\r
+ var attrvalue = data.substring(pt0, pt)\r
+ e.setAttribute(attrname, attrvalue)\r
+ pt++\r
+ }\r
+ }\r
+ Ptr[0] = ++pt\r
+ while (Ptr[0] < data.length) {\r
+ var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)\r
+ if (!child)break\r
+ e.appendChild(child)\r
+ }\r
+ return e\r
+}\r
+\r
+function _jmolPopup(url) {\r
+ var popup = window.open(url, "JmolPopup",\r
+ "left=150,top=150,height=400,width=600," +\r
+ "directories=yes,location=yes,menubar=yes," +\r
+ "toolbar=yes," +\r
+ "resizable=yes,scrollbars=yes,status=yes");\r
+ if (popup.focus)\r
+ poup.focus();\r
+}\r
+\r
+function _jmolReadyCallback(name) {\r
+ if (_jmol.debugAlert)\r
+ alert(name + " is ready");\r
+ _jmol.ready["" + name] = true;\r
+}\r
+\r
+function _jmolSterilizeScript(script) {\r
+ script = script.replace(/'/g, "'");\r
+ if (_jmol.debugAlert)\r
+ alert("script:\n" + script);\r
+ return script;\r
+}\r
+\r
+function _jmolSterilizeInline(model) {\r
+ model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "'");\r
+ if (_jmol.debugAlert)\r
+ alert("inline model:\n" + model);\r
+ return model;\r
+}\r
+\r
+function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
+ ++_jmol.radioCount;\r
+ groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
+ if (!script)\r
+ return "";\r
+ labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));\r
+ separatorHtml || (separatorHtml = "")\r
+ var scriptIndex = _jmolAddScript(script);\r
+ var eospan = "</span>"\r
+ var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" \r
+ + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +\r
+ scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +\r
+ scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +\r
+ (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"\r
+ if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
+ t += eospan\r
+ eospan = "";\r
+ }\r
+ t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;\r
+\r
+ return t;\r
+}\r
+\r
+function _jmolFindApplet(target) {\r
+ // first look for the target in the current window\r
+ var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);\r
+ // THEN look for the target in child frames\r
+ if (applet == undefined)\r
+ applet = _jmolSearchFrames(window, target);\r
+ // FINALLY look for the target in sibling frames\r
+ if (applet == undefined)\r
+ applet = _jmolSearchFrames(top, target); // look starting in top frame\r
+ return applet;\r
+}\r
+\r
+function _jmolGetApplet(targetSuffix){\r
+ var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");\r
+ var applet = _jmolFindApplet(target);\r
+ if (applet) return applet\r
+ _jmol.alerted || alert("could not find applet " + target);\r
+ _jmol.alerted = true;\r
+ return null\r
+}\r
+\r
+function _jmolSearchFrames(win, target) {\r
+ var applet;\r
+ var frames = win.frames;\r
+ if (frames && frames.length) { // look in all the frames below this window\r
+ try{\r
+ for (var i = 0; i < frames.length; ++i) {\r
+ applet = _jmolSearchFrames(frames[i], target);\r
+ if (applet)\r
+ return applet;\r
+ }\r
+ }catch(e) {\r
+ if (_jmol.debugAlert)\r
+ alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") \r
+ }\r
+ }\r
+ return applet = _jmolFindAppletInWindow(win, target)\r
+}\r
+\r
+function _jmolFindAppletInWindow(win, target) {\r
+ var doc = win.document;\r
+ if (doc.getElementById(target))\r
+ return doc.getElementById(target);\r
+ else if (doc.applets)\r
+ return doc.applets[target];\r
+ else\r
+ return doc[target]; \r
+}\r
+\r
+function _jmolAddScript(script) {\r
+ if (!script)\r
+ return 0;\r
+ var index = _jmol.scripts.length;\r
+ _jmol.scripts[index] = script;\r
+ return index;\r
+}\r
+\r
+function _jmolClick(elementClicked, scriptIndex, targetSuffix) {\r
+ _jmol.element = elementClicked;\r
+ _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);\r
+}\r
+\r
+function _jmolMenuSelected(menuObject, targetSuffix) {\r
+ var scriptIndex = menuObject.value;\r
+ if (scriptIndex != undefined) {\r
+ _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);\r
+ return;\r
+ }\r
+ var len = menuObject.length;\r
+ if (typeof len == "number") {\r
+ for (var i = 0; i < len; ++i) {\r
+ if (menuObject[i].selected) {\r
+ _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);\r
+ return;\r
+ }\r
+ }\r
+ }\r
+ alert("?Que? menu selected bug #8734");\r
+}\r
+\r
+\r
+_jmol.checkboxMasters = {};\r
+_jmol.checkboxItems = {};\r
+\r
+function jmolSetCheckboxGroup(chkMaster,chkBox) {\r
+ var id = chkMaster;\r
+ if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
+ chkMaster = document.getElementById(id);\r
+ if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);\r
+ var m = _jmol.checkboxMasters[id] = {};\r
+ m.chkMaster = chkMaster;\r
+ m.chkGroup = {};\r
+ for (var i = 1; i < arguments.length; i++){\r
+ var id = arguments[i];\r
+ if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
+ checkboxItem = document.getElementById(id);\r
+ if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);\r
+ m.chkGroup[id] = checkboxItem;\r
+ _jmol.checkboxItems[id] = m;\r
+ }\r
+}\r
+\r
+function _jmolNotifyMaster(m){\r
+ //called when a group item is checked\r
+ var allOn = true;\r
+ var allOff = true;\r
+ for (var chkBox in m.chkGroup){\r
+ if(m.chkGroup[chkBox].checked)\r
+ allOff = false;\r
+ else\r
+ allOn = false;\r
+ }\r
+ if (allOn)m.chkMaster.checked = true; \r
+ if (allOff)m.chkMaster.checked = false;\r
+ if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])\r
+ _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])\r
+}\r
+\r
+function _jmolNotifyGroup(m, isOn){\r
+ //called when a master item is checked\r
+ for (var chkBox in m.chkGroup){\r
+ var item = m.chkGroup[chkBox]\r
+ item.checked = isOn;\r
+ if (_jmol.checkboxMasters[item.id])\r
+ _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)\r
+ }\r
+}\r
+\r
+function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {\r
+ _jmol.control = ckbox\r
+ _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);\r
+ if(_jmol.checkboxMasters[ckbox.id])\r
+ _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)\r
+ if(_jmol.checkboxItems[ckbox.id])\r
+ _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])\r
+}\r
+\r
+function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {\r
+ window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];\r
+}\r
+\r
+function _jmolMouseOver(scriptIndex) {\r
+ window.status = _jmol.scripts[scriptIndex];\r
+}\r
+\r
+function _jmolMouseOut() {\r
+ window.status = " ";\r
+ return true;\r
+}\r
+\r
+function _jmolSetCodebase(codebase) {\r
+ _jmol.codebase = codebase ? codebase : ".";\r
+ if (_jmol.debugAlert)\r
+ alert("jmolCodebase=" + _jmol.codebase);\r
+}\r
+\r
+function _jmolOnloadResetForms() {\r
+ // must be evaluated ONLY once\r
+ _jmol.previousOnloadHandler = window.onload;\r
+ window.onload =\r
+ function() {\r
+ with (_jmol) {\r
+ if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {\r
+ var forms = document.forms;\r
+ for (var i = forms.length; --i >= 0; )\r
+ forms[i].reset();\r
+ }\r
+ if (previousOnloadHandler)\r
+ previousOnloadHandler();\r
+ }\r
+ }\r
+}\r
+\r
+////////////////////////////////////\r
+/////extensions for getProperty/////\r
+////////////////////////////////////\r
+\r
+\r
+function _jmolEvalJSON(s,key){\r
+ s=s+""\r
+ if(!s)return []\r
+ if(s.charAt(0)!="{"){\r
+ if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")\r
+ return s\r
+ }\r
+ var A = eval("("+s+")")\r
+ if(!A)return\r
+ if(key && A[key])A=A[key]\r
+ return A\r
+}\r
+\r
+function _jmolEnumerateObject(A,key){\r
+ var sout=""\r
+ if(typeof(A) == "string" && A!="null"){\r
+ sout+="\n"+key+"=\""+A+"\""\r
+ }else if(!isNaN(A)||A==null){\r
+ sout+="\n"+key+"="+(A+""==""?"null":A)\r
+ }else if(A.length){\r
+ sout+=key+"=[]"\r
+ for(var i=0;i<A.length;i++){\r
+ sout+="\n"\r
+ if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
+ sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")\r
+ }else{\r
+ sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
+ }\r
+ }\r
+ }else{\r
+ if(key != ""){\r
+ sout+=key+"={}"\r
+ key+="."\r
+ }\r
+ \r
+ for(var i in A){\r
+ sout+="\n"\r
+ if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
+ sout+=_jmolEnumerateObject(A[i],key+i)\r
+ }else{\r
+ sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
+ }\r
+ }\r
+ } \r
+ return sout\r
+}\r
+\r
+\r
+function _jmolSortKey0(a,b){\r
+ return (a[0]<b[0]?1:a[0]>b[0]?-1:0)\r
+}\r
+\r
+function _jmolSortMessages(A){\r
+ if(!A || typeof(A)!="object")return []\r
+ var B = []\r
+ for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]\r
+ if(B.length == 0) return\r
+ B=B.sort(_jmolSortKey0)\r
+ return B\r
+}\r
+\r
+/////////additional extensions //////////\r
+\r
+\r
+function _jmolDomScriptLoad(URL){\r
+ //open(URL) //to debug\r
+ _jmol.servercall=URL\r
+ var node = document.getElementById("_jmolScriptNode")\r
+ if (node && _jmol.browser!="msie"){\r
+ document.getElementsByTagName("HEAD")[0].removeChild(node)\r
+ node=null\r
+ }\r
+ if (node) {\r
+ node.setAttribute("src",URL)\r
+ } else {\r
+ node=document.createElement("script")\r
+ node.setAttribute("id","_jmolScriptNode")\r
+ node.setAttribute("type","text/javascript")\r
+ node.setAttribute("src",URL)\r
+ document.getElementsByTagName("HEAD")[0].appendChild(node)\r
+ }\r
+}\r
+\r
+\r
+function _jmolExtractPostData(url){\r
+ S=url.split("&POST:")\r
+ var s=""\r
+ for(var i=1;i<S.length;i++){\r
+ KV=S[i].split("=")\r
+ s+="&POSTKEY"+i+"="+KV[0]\r
+ s+="&POSTVALUE"+i+"="+KV[1]\r
+ }\r
+ return "&url="+escape(S[0])+s\r
+}\r
+\r
+function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){\r
+ //called by server, but in client\r
+ //overload this function to customize return\r
+ _jmol.remoteURL=remoteURL\r
+ isError && alert(errorMessage)\r
+ jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)\r
+}\r
+\r
+//////////user property/status functions/////////\r
+\r
+function jmolGetStatus(strStatus,targetSuffix){\r
+ return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))\r
+}\r
+\r
+function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {\r
+ return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)\r
+}\r
+\r
+function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ sValue == undefined && (sValue="");\r
+ return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")\r
+}\r
+\r
+function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {\r
+ sValue == undefined && (sValue = "")\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ try {\r
+ return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")\r
+ } catch(e) {\r
+ return ""\r
+ }\r
+}\r
+\r
+function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {\r
+ sValue == undefined && (sValue = "")\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ return (applet ? applet.getProperty(sKey,sValue) : null)\r
+}\r
+\r
+\r
+function jmolDecodeJSON(s) {\r
+ return _jmolEnumerateObject(_jmolEvalJSON(s),"")\r
+}\r
+\r
+\r
+///////// synchronous scripting ////////\r
+\r
+function jmolScriptWait(script, targetSuffix) {\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+ var s = ""\r
+ for(var i=Ret.length;--i>=0;)\r
+ for(var j=0;j< Ret[i].length;j++)\r
+ s+=Ret[i][j]+"\n"\r
+ return s\r
+}\r
+\r
+function jmolScriptWaitOutput(script, targetSuffix) {\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var ret = ""\r
+ try{\r
+ if (script) {\r
+ _jmolCheckBrowser();\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (applet) ret += applet.scriptWaitOutput(script);\r
+ }\r
+ }catch(e){\r
+ }\r
+ return ret;\r
+}\r
+\r
+function jmolEvaluate(molecularMath, targetSuffix) {\r
+\r
+ //carries out molecular math on a model\r
+\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);\r
+ var s = result.replace(/\-*\d+/,"")\r
+ if (s == "" && !isNaN(parseInt(result)))return parseInt(result);\r
+ var s = result.replace(/\-*\d*\.\d*/,"")\r
+ if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);\r
+ return result;\r
+}\r
+\r
+function jmolScriptEcho(script, targetSuffix) {\r
+ // returns a newline-separated list of all echos from a script\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+ var s = ""\r
+ for(var i=Ret.length;--i>=0;)\r
+ for(var j=Ret[i].length;--j>=0;)\r
+ if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"\r
+ return s.replace(/ \| /g, "\n")\r
+}\r
+\r
+\r
+function jmolScriptMessage(script, targetSuffix) {\r
+ // returns a newline-separated list of all messages from a script, ending with "script completed\n"\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
+ var s = ""\r
+ for(var i=Ret.length;--i>=0;)\r
+ for(var j=Ret[i].length;--j>=0;)\r
+ if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"\r
+ return s.replace(/ \| /g, "\n")\r
+}\r
+\r
+\r
+function jmolScriptWaitAsArray(script, targetSuffix) {\r
+ var ret = ""\r
+ try{\r
+ jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)\r
+ if (script) {\r
+ _jmolCheckBrowser();\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (applet) ret += applet.scriptWait(script);\r
+ ret = _jmolEvalJSON(ret,"jmolStatus")\r
+ if(typeof ret == "object")\r
+ return ret\r
+ }\r
+ }catch(e){\r
+ }\r
+ return [[ret]]\r
+}\r
+\r
+\r
+\r
+//////////// save/restore orientation /////////////\r
+\r
+function jmolSaveOrientation(id, targetSuffix) { \r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo\r
+}\r
+\r
+function jmolRestoreOrientation(id, targetSuffix) {\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var s=_jmol["savedOrientation"+id]\r
+ if (!s || s == "")return\r
+ s=s.replace(/1\.0/,"0")\r
+ return jmolScriptWait(s,targetSuffix)\r
+}\r
+\r
+function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {\r
+ arguments.length < 2 && (delay=1)\r
+ targetSuffix == undefined && (targetSuffix="0")\r
+ var s=_jmol["savedOrientation"+id]\r
+ if (!s || s == "")return\r
+ s=s.replace(/1\.0/,delay)\r
+ return jmolScriptWait(s,targetSuffix)\r
+}\r
+\r
+//////////// add parameter /////////////\r
+/*\r
+ * for adding callbacks or other parameters. Use:\r
+\r
+ jmolSetDocument(0)\r
+ var s= jmolApplet(....)\r
+ s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")\r
+ document.write(s)\r
+ jmolSetDocument(document) // if you want to then write buttons and such normally\r
+ \r
+ */\r
+\r
+function jmolAppletAddParam(appletCode,name,value){\r
+ return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))\r
+}\r
+\r
+///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////\r
+\r
+function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){\r
+\r
+ _jmol.thismodel || (_jmol.thismodel = "1crn")\r
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
+ _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")\r
+ _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")\r
+ fileformat || (fileformat="PDB")\r
+ pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))\r
+ if(!pdbid || pdbid.length != 4)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())\r
+ fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=pdbid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////\r
+\r
+function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){\r
+ _jmol.thismodel || (_jmol.thismodel = "aspirin")\r
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
+ _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")\r
+ compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))\r
+ if(!compoundid)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=compoundid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+/////////////// St. Olaf College AJAX server -- ANY URL ///////////\r
+\r
+function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){\r
+ _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"\r
+ _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")\r
+ url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))\r
+ userid || (userid="0")\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.modelArray = []\r
+ _jmol.thisurl = url\r
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
+ _jmolDomScriptLoad(url)\r
+}\r
+\r
+\r
+/////////////// Mineralogical Society of America (MSA) data /////////\r
+\r
+function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){\r
+\r
+ _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")\r
+ _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")\r
+ _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")\r
+ key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))\r
+ if(!key)return ""\r
+ value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))\r
+ if(!value)return ""\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ optionalscript == 1 && (optionalscript='load "" {1 1 1}')\r
+ var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thiskeyMSA=key\r
+ _jmol.thismodelMSA=value\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.thisurl=url\r
+ _jmol.modelArray = []\r
+ loadModel=_jmolLoadModel\r
+ _jmolDomScriptLoad(url)\r
+ return url\r
+}\r
+\r
+\r
+\r
+function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){\r
+ userid || (userid="0")\r
+ targetSuffix || (targetSuffix="0")\r
+ optionalscript || (optionalscript="")\r
+ _jmol.optionalscript=optionalscript\r
+ _jmol.thismodel=userid\r
+ _jmol.thistargetsuffix=targetSuffix\r
+ _jmol.modelArray = []\r
+ _jmol.thisurl = url\r
+ url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix\r
+ _jmolDomScriptLoad(url)\r
+}\r
+\r
+\r
+//// in case Jmol library has already been loaded:\r
+\r
+}catch(e){}\r
+\r
+///////////////moving atoms //////////////\r
+\r
+// HIGHLY experimental!!\r
+\r
+function jmolSetAtomCoord(i,x,y,z,targetSuffix){\r
+ _jmolCheckBrowser();\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)\r
+}\r
+\r
+function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){\r
+ _jmolCheckBrowser();\r
+ var applet=_jmolGetApplet(targetSuffix);\r
+ if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)\r
+}\r
+\r
+\r
+///////////////applet fake for testing buttons/////////////\r
+\r
+\r
+if(_jmol.useNoApplet){\r
+ jmolApplet = function(w){\r
+ var s="<table style='background-color:black' width="+w+"><tr height="+w+">"\r
+ +"<td align=center valign=center style='background-color:white'>"\r
+ +"Applet would be here"\r
+ +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"\r
+ +"</td></tr></table>"\r
+ return _jmolDocumentWrite(s)\r
+ }\r
+\r
+ _jmolFindApplet = function(){return jmolApplet0}\r
+\r
+ jmolApplet0 = {\r
+ script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}\r
+ ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} \r
+ ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}\r
+ }\r
+}\r
+\r
+\r
+///////////////////////////////////////////\r
+\r
+ // This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility\r
+ /*\r
+ Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).\r
+ targetSuffix is optional and defaults to zero (first applet in page).\r
+ Both w and h are optional, but needed if you want to use targetSuffix.\r
+ h defaults to w\r
+ w defaults to 100% of window\r
+ If either w or h is between 0 and 1, then it is taken as percent/100.\r
+ If either w or h is greater than 1, then it is taken as a size (pixels). \r
+ */\r
+function jmolResize(w,h,targetSuffix) {\r
+ _jmol.alerted = true;\r
+ var percentW = (!w ? 100 : w <= 1 && w > 0 ? w * 100 : 0);\r
+ var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);\r
+ if (_jmol.browser=="msie") {\r
+ var width=document.body.clientWidth;\r
+ var height=document.body.clientHeight;\r
+ } else {\r
+ var netscapeScrollWidth=15;\r
+ var width=window.innerWidth - netscapeScrollWidth;\r
+ var height=window.innerHeight-netscapeScrollWidth;\r
+ }\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ if(!applet)return;\r
+ applet.style.width = (percentW ? width * percentW/100 : w)+"px";\r
+ applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";\r
+ //title=width + " " + height + " " + (new Date());\r
+}\r
+\r
+// 13 Jun 09 -- makes jmolResize() obsolete (kept for backwards compatibility)\r
+function jmolResizeApplet(size,targetSuffix) {\r
+ // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]\r
+ // Special case: an empty value for width or height is accepted, meaning no change in that dimension.\r
+ _jmol.alerted = true;\r
+ var applet = _jmolGetApplet(targetSuffix);\r
+ if(!applet)return;\r
+ var sz = _jmolGetAppletSize(size, "px");\r
+ sz[0] && (applet.style.width = sz[0]);\r
+ sz[1] && (applet.style.height = sz[1]);\r
+}\r
+\r
+function _jmolGetAppletSize(size, units) {\r
+ /* Accepts single number or 2-value array, each one can be one of:\r
+ percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)\r
+ [width, height] array of strings is returned, with units added if specified.\r
+ Percent is relative to container div or element (which should have explicitly set size).\r
+ */\r
+ var width, height;\r
+ if ( (typeof size) == "object" && size != null ) {\r
+ width = size[0]; height = size[1];\r
+ } else {\r
+ width = height = size;\r
+ }\r
+ return [_jmolFixDim(width, units), _jmolFixDim(height, units)];\r
+}\r
+\r
+function _jmolFixDim(x, units) {\r
+ var sx = "" + x;\r
+ return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])\r
+ : sx.indexOf("%") == sx.length-1 ? sx \r
+ : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"\r
+ : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]\r
+ : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]\r
+ : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] \r
+ : x) + (units ? units : ""));\r
+}\r
+\r
+\r
+\r
+\r
--- /dev/null
+>FER_CAPAA Ferredoxin
+ASYKVKLITPDGPIEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEG
+WVLTCVAYPQSDVTIETHKEAELVG-
+>FER_CAPAN Ferredoxin, chloroplast precursor
+ASYKVKLITPDGPIEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEG
+WVLTCVAYPQSDVTIETHKEAELVG-
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor
+ASYKVKLITPEGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAG
+FVLTCVAYPKGDVTIETHKEEELTA-
+>Q93XJ9_SOLTU Ferredoxin I precursor
+ASYKVKLITPDGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAG
+FVLTCVAYPKCDVTIETHKEEELTA-
+>FER1_MESCR Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPEGKQELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEG
+WVLTCVAYPTGDVTIETHKEEELTA-
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEG
+WVLTCAAYPVSDVTIETHKEEELTA-
+>FER1_ARATH Ferredoxin-1, chloroplast precursor
+ATYKVKFITPEGELEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEG
+FVLTCAAYPTSDVTIETHKEEDIV--
+>FER2_ARATH Ferredoxin-2, chloroplast precursor
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEG
+YVLTCVAYPTSDVVIETHKEEAIM--
+>FER1_PEA Ferredoxin-1, chloroplast precursor
+ASYKVKLVTPDGTQEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAG
+FVLTCVAYPTSDVVIETHKEEDLTA-
+>Q7XA98_TRIPR Ferredoxin I
+ATYKVKLITPEGPQEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGG
+WVLTCVAFPTSDVTIETHKEEELTA-
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor
+ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADG
+WVLTCHAYPTSDVVIETHKEEELTGA
+>O80429_MAIZE Ferredoxin
+ATYNVKLITPEGEVELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADG
+WVLTCAAYPTSDVVIETHKEDDLL--
+>Q93Z60_ARATH At1g10960/T19D16_12
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD------
+--------------------------
+>FER3_RAPSA Ferredoxin, leaf L-A
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEG
+FVLTCAAYPTSDVTIETHREEDMV--
+>FER_BRANA Ferredoxin
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEG
+FVLTCAAYPTSDVTIETHKEEELV--
--- /dev/null
+Lupas_21:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+Lupas_14:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+Lupas_28:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,
+
+jnetpred:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,H,H,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
+JNETCONF:1,3,1,2,7,7,9,9,7,1,6,8,9,8,1,3,5,5,1,6,8,9,7,4,8,8,7,2,3,2,0,2,1,2,5,7,8,8,7,6,4,2,1,3,5,7,8,7,5,4,4,5,7,5,2,5,5,1,4,2,0,1,5,6,7,7,5,4,5,4,5,6,6,3,1,1,1,4,6,1,6,9,9,9,8,8,7,0,8,9,9,7,2,8,9,9,8,
+JNETSOL25:B,-,B,-,-,B,B,B,B,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,B,B,B,-,B,-,B,-,-,-,-,-,-,B,B,B,B,B,B,B,B,B,B,B,B,B,B,B,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,B,B,-,-,-,-,-,-,B,-,-,B,B,B,B,B,B,B,B,B,B,-,-,-,-,B,B,-,-,
+JNETSOL5:-,-,-,-,-,-,-,B,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,B,B,B,B,B,-,-,-,-,-,-,-,B,-,-,
+JNETSOL0:-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,B,-,B,-,-,-,-,-,-,-,-,-,-,-,-,-,
+JNETPROPH:0.44514,0.02676,0.50891,0.59931,0.03767,0.31300,0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,
+JNETPROPB:0.59931,0.03767,0.31300,0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,0.52815,0.46401,0.03979,
+JNETPROPC:0.54697,0.01490,0.41391,0.55820,0.01816,0.38620,0.82780,0.00804,0.16764,0.86436,0.00416,0.14111,0.96423,0.00391,0.03569,0.94587,0.00483,0.05758,0.88110,0.01273,0.13718,0.57335,0.02654,0.44509,0.17935,0.02373,0.80108,0.08085,0.00825,0.91351,0.06739,0.00450,0.93803,0.11202,0.00730,0.88142,0.41953,0.00953,0.55868,0.64171,0.00894,0.34807,0.74660,0.00831,0.27522,0.78367,0.00952,0.27786,0.54376,0.01578,0.49285,0.18080,0.01695,0.78463,0.05922,0.01157,0.90794,0.03565,0.02045,0.91548,0.12377,0.02896,0.77671,0.58102,0.05600,0.22143,0.82750,0.03376,0.07013,0.86371,0.02169,0.08984,0.81881,0.04410,0.14200,0.60784,0.05837,0.36725,0.27275,0.10034,0.53452,0.12405,0.28672,0.44961,0.07683,0.43094,0.40783,0.05134,0.55252,0.37353,0.03890,0.52815,0.46401,0.03979,0.40515,0.56556,0.03815,
+JNETHMM:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,-,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
+JNETALIGN:-,-,-,E,E,E,E,E,-,-,-,-,-,-,E,-,-,-,-,-,-,E,E,E,E,H,H,H,H,H,-,-,-,-,-,-,-,E,-,-,-,-,-,-,-,-,-,-,-,-,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,H,-,-,-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,E,E,H,H,H,-,-,-,-,
+align1;Sequence0/1.97:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,D,C,P,D,D,V,Y,I,L,D,Q,A,E,E,A,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,I,A,G,G,A,V,D,Q,T,D,G,N,F,L,D,D,D,Q,L,E,E,G,W,V,L,T,C,V,A,Y,P,Q,S,D,V,T,I,E,T,H,K,E,A,E,L,V,G,
+align2;Sequence1/1.144:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,D,C,P,D,N,V,Y,I,L,D,Q,A,E,E,A,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,I,A,G,G,A,V,D,Q,T,D,G,N,F,L,D,D,D,Q,L,E,E,G,W,V,L,T,C,V,A,Y,P,Q,S,D,V,T,I,E,T,H,K,E,A,E,L,V,G,
+align3;Sequence2/1.144:A,S,Y,K,V,K,L,I,T,P,E,G,P,I,E,F,E,C,P,D,D,V,Y,I,L,D,Q,A,E,E,E,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,A,G,S,V,D,Q,S,D,G,N,F,L,D,E,D,Q,E,A,A,G,F,V,L,T,C,V,A,Y,P,K,G,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align4;Sequence3/1.144:A,S,Y,K,V,K,L,I,T,P,D,G,P,I,E,F,E,C,P,D,D,V,Y,I,L,D,Q,A,E,E,E,G,H,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,A,G,T,V,D,Q,S,D,G,K,F,L,D,D,D,Q,E,A,A,G,F,V,L,T,C,V,A,Y,P,K,C,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align5;Sequence4/1.149:A,S,Y,K,V,K,L,V,T,P,D,G,T,Q,E,F,E,C,P,S,D,V,Y,I,L,D,H,A,E,E,V,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,G,G,E,V,D,Q,S,D,G,S,F,L,D,D,E,Q,I,E,A,G,F,V,L,T,C,V,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,D,L,T,A,
+align6;Sequence5/1.152:A,T,Y,K,V,K,L,I,T,P,E,G,P,Q,E,F,D,C,P,D,D,V,Y,I,L,D,H,A,E,E,V,G,I,E,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,N,G,N,V,N,Q,E,D,G,S,F,L,D,D,E,Q,I,E,G,G,W,V,L,T,C,V,A,F,P,T,S,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align7;Sequence6/1.148:A,A,Y,K,V,T,L,V,T,P,E,G,K,Q,E,L,E,C,P,D,D,V,Y,I,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,T,S,G,S,V,N,Q,D,D,G,S,F,L,D,D,D,Q,I,K,E,G,W,V,L,T,C,V,A,Y,P,T,G,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align8;Sequence7/1.147:A,A,Y,K,V,T,L,V,T,P,T,G,N,V,E,F,Q,C,P,D,D,V,Y,I,L,D,A,A,E,E,E,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,L,K,T,G,S,L,N,Q,D,D,Q,S,F,L,D,D,D,Q,I,D,E,G,W,V,L,T,C,A,A,Y,P,V,S,D,V,T,I,E,T,H,K,E,E,E,L,T,A,
+align9;Sequence8/1.96:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,D,D,D,Q,I,A,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,R,E,E,D,M,V,.,
+align10;Sequence9/1.148:A,T,Y,K,V,K,F,I,T,P,E,G,E,L,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,D,D,E,Q,I,G,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,K,E,E,D,I,V,.,
+align11;Sequence10/1.96:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,D,D,D,V,Y,V,L,D,A,A,E,E,A,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,F,V,D,Q,S,D,E,S,F,L,D,D,D,Q,I,A,E,G,F,V,L,T,C,A,A,Y,P,T,S,D,V,T,I,E,T,H,K,E,E,E,L,V,.,
+align12;Sequence11/1.148:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,E,E,D,V,Y,V,L,D,A,A,E,E,A,G,L,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,I,D,Q,S,D,Q,S,F,L,D,D,E,Q,M,S,E,G,Y,V,L,T,C,V,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,A,I,M,.,
+align13;Sequence12/1.118:A,T,Y,K,V,K,F,I,T,P,E,G,E,Q,E,V,E,C,E,E,D,V,Y,V,L,D,A,A,E,E,A,G,L,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,I,D,Q,S,D,Q,S,F,L,D,D,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,
+align14;Sequence13/1.150:A,T,Y,N,V,K,L,I,T,P,E,G,E,V,E,L,Q,V,P,D,D,V,Y,I,L,D,Q,A,E,E,D,G,I,D,L,P,Y,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,Y,L,D,D,G,Q,I,A,D,G,W,V,L,T,C,H,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,E,E,L,T,G,
+align15;Sequence14/1.140:A,T,Y,N,V,K,L,I,T,P,E,G,E,V,E,L,Q,V,P,D,D,V,Y,I,L,D,F,A,E,E,E,G,I,D,L,P,F,S,C,R,A,G,S,C,S,S,C,A,G,K,V,V,S,G,S,V,D,Q,S,D,Q,S,F,L,N,D,N,Q,V,A,D,G,W,V,L,T,C,A,A,Y,P,T,S,D,V,V,I,E,T,H,K,E,D,D,L,L,.,
+jpred:-,-,-,-,E,E,E,E,E,E,-,-,-,-,-,E,E,E,E,-,-,-,-,E,E,E,E,E,-,H,H,H,H,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,-,-,E,E,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,E,E,E,E,E,E,E,E,-,-,-,-,E,E,E,E,-,
--- /dev/null
+>FER_CAPAA/1-97
+----------------------------------------------------------ASYKVKLITPDGPI
+EFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDVT
+IETHKEAELVG-
+>FER_CAPAN/1-144
+------MASVSATMISTSFMPRKPAVTSLKPIP-NVG-EALFGLKS---ANGGKVTCMASYKVKLITPDGPI
+EFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDVT
+IETHKEAELVG-
+>FER1_SOLLC/1-144
+------MASISGTMISTSFLPRKPAVTSLKAIS-NVG-EALFGLKS---GRNGRITCMASYKVKLITPEGPI
+EFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDVT
+IETHKEEELTA-
+>Q93XJ9_SOLTU/1-144
+------MASISGTMISTSFLPRKPVVTSLKAIS-NVG-EALFGLKS---GRNGRITCMASYKVKLITPDGPI
+EFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDVT
+IETHKEEELTA-
+>FER1_PEA/1-149
+---MATTPALYGTAVSTSFLRTQPMPMSVTTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGTQ
+EFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDVV
+IETHKEEDLTA-
+>Q7XA98_TRIPR/1-152
+---MATTPALYGTAVSTSFMRRQPVPMSVATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGPQ
+EFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDVT
+IETHKEEELTA-
+>FER1_MESCR/1-148
+--MAATTAALSGATMSTAFAPKT--PPMTAALPTNVG-RALFGLKS--SASRGRVTAMAAYKVTLVTPEGKQ
+ELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDVT
+IETHKEEELTA-
+>FER1_SPIOL/1-147
+----MAATTTTMMGMATTFVPKPQAPPMMAALPSNTG-RSLFGLKT--GSRGGRMT-MAAYKVTLVTPTGNV
+EFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDVT
+IETHKEEELTA-
+>FER3_RAPSA/1-96
+----------------------------------------------------------ATYKVKFITPEGEQ
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDVT
+IETHREEDMV--
+>FER1_ARATH/1-148
+----MASTALSSAIVGTSFIRRSPAPISLRSLPSANT-QSLFGLKS-GTARGGRVTAMATYKVKFITPEGEL
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDVT
+IETHKEEDIV--
+>FER_BRANA/1-96
+----------------------------------------------------------ATYKVKFITPEGEQ
+EVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDVT
+IETHKEEELV--
+>FER2_ARATH/1-148
+----MASTALSSAIVSTSFLRRQQTPISLRSLPFANT-QSLFGLKS-STARGGRVTAMATYKVKFITPEGEQ
+EVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDVV
+IETHKEEAIM--
+>Q93Z60_ARATH/1-118
+----MASTALSSAIVSTSFLRRQQTPISLRSLPFANT-QSLFGLKS-STARGGRVTAMATYKVKFITPEGEQ
+EVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD--------------------
+------------
+>FER1_MAIZE/1-150
+MATVLGSPRAPAFFFSSSSLRAAPAPTAVALPAAKVG---IMGRSA---SSRRRLRAQATYNVKLITPEGEV
+ELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDVV
+IETHKEEELTGA
+>O80429_MAIZE/1-140
+---------MAATALSMSILRAPP-PCFSSPLRLRVAVAKPLAAPM----RRQLLRAQATYNVKLITPEGEV
+ELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDVV
+IETHKEDDLL--
--- /dev/null
+HELIX d4d189
+MOD_RES 47e459
+TRANSIT 6f949b
+TURN 1d1e2d
+METAL 70686e
+SIGNAL 92c7dd
+VARIANT 60beac
+Pfam dc206a
+CONFLICT c46c6e
+STRAND 25c54c
+
+STARTGROUP uniprot
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 47 47 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAA -1 77 77 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html> FER_CAPAA -1 8 83 Pfam
+Chloroplast FER_CAPAN -1 1 47 TRANSIT
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 86 86 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 94 94 METAL
+Iron-sulfur (2Fe-2S) FER_CAPAN -1 124 124 METAL
+Phosphothreonine FER_CAPAN -1 136 136 MOD_RES
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> FER_CAPAN -1 55 130 Pfam
+Chloroplast FER1_SOLLC -1 1 47 TRANSIT
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 86 86 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 94 94 METAL
+Iron-sulfur (2Fe-2S) FER1_SOLLC -1 124 124 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> FER1_SOLLC -1 55 130 Pfam
+Evidence: EI4 Q93XJ9_SOLTU -1 1 48 SIGNAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 55_130</a></html> Q93XJ9_SOLTU -1 55 130 Pfam
+Chloroplast FER1_PEA -1 1 52 TRANSIT
+L -> I (in strain: cv. Onward) FER1_PEA -1 59 59 VARIANT
+I -> L (in strain: cv. Onward) FER1_PEA -1 85 85 VARIANT
+Iron-sulfur (2Fe-2S) FER1_PEA -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER1_PEA -1 129 129 METAL
+YPTS -> PPPA (in Ref. 2) FER1_PEA -1 132 135 CONFLICT
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_PEA -1 60 135 Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 63_138</a></html> Q7XA98_TRIPR -1 63 138 Pfam
+Chloroplast FER1_MESCR -1 1 51 TRANSIT
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 90 90 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 95 95 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 98 98 METAL
+Iron-sulfur (2Fe-2S) FER1_MESCR -1 128 128 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 59_134</a></html> FER1_MESCR -1 59 134 Pfam
+Chloroplast FER1_SPIOL -1 1 50 TRANSIT
+STRAND FER1_SPIOL -1 52 59 STRAND
+TURN FER1_SPIOL -1 60 61 TURN
+STRAND FER1_SPIOL -1 62 69 STRAND
+TURN FER1_SPIOL -1 70 71 TURN
+HELIX FER1_SPIOL -1 74 80 HELIX
+TURN FER1_SPIOL -1 81 82 TURN
+STRAND FER1_SPIOL -1 88 92 STRAND
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 89 89 METAL
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 94 94 METAL
+TURN FER1_SPIOL -1 96 97 TURN
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 97 97 METAL
+STRAND FER1_SPIOL -1 98 104 STRAND
+TURN FER1_SPIOL -1 109 110 TURN
+HELIX FER1_SPIOL -1 116 121 HELIX
+TURN FER1_SPIOL -1 122 122 TURN
+STRAND FER1_SPIOL -1 123 125 STRAND
+HELIX FER1_SPIOL -1 126 128 HELIX
+Iron-sulfur (2Fe-2S) FER1_SPIOL -1 127 127 METAL
+STRAND FER1_SPIOL -1 130 133 STRAND
+STRAND FER1_SPIOL -1 135 138 STRAND
+HELIX FER1_SPIOL -1 142 144 HELIX
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 58_133</a></html> FER1_SPIOL -1 58 133 Pfam
+I -> V FER3_RAPSA -1 8 8 VARIANT
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 47 47 METAL
+S -> T FER3_RAPSA -1 55 55 VARIANT
+Iron-sulfur (2Fe-2S) FER3_RAPSA -1 77 77 METAL
+R -> K FER3_RAPSA -1 91 91 VARIANT
+M -> V FER3_RAPSA -1 95 95 VARIANT
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html> FER3_RAPSA -1 8 83 Pfam
+Chloroplast FER1_ARATH -1 1 52 TRANSIT
+Iron-sulfur (2Fe-2S) FER1_ARATH -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_ARATH -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER1_ARATH -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER1_ARATH -1 129 129 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_ARATH -1 60 135 Pfam
+Iron-sulfur (2Fe-2S) FER_BRANA -1 39 39 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 44 44 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 47 47 METAL
+Iron-sulfur (2Fe-2S) FER_BRANA -1 77 77 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 8_83</a></html> FER_BRANA -1 8 83 Pfam
+Chloroplast FER2_ARATH -1 1 52 TRANSIT
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 96 96 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 99 99 METAL
+Iron-sulfur (2Fe-2S) FER2_ARATH -1 129 129 METAL
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER2_ARATH -1 60 135 Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_118</a></html> Q93Z60_ARATH -1 60 118 Pfam
+Chloroplast FER1_MAIZE -1 1 52 TRANSIT
+STRAND FER1_MAIZE -1 57 59 STRAND
+STRAND FER1_MAIZE -1 72 74 STRAND
+HELIX FER1_MAIZE -1 76 80 HELIX
+TURN FER1_MAIZE -1 81 84 TURN
+STRAND FER1_MAIZE -1 90 97 STRAND
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 91 91 METAL
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 96 96 METAL
+TURN FER1_MAIZE -1 98 99 TURN
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 99 99 METAL
+TURN FER1_MAIZE -1 118 119 TURN
+HELIX FER1_MAIZE -1 120 123 HELIX
+TURN FER1_MAIZE -1 128 129 TURN
+Iron-sulfur (2Fe-2S) FER1_MAIZE -1 129 129 METAL
+STRAND FER1_MAIZE -1 132 135 STRAND
+STRAND FER1_MAIZE -1 137 141 STRAND
+TURN FER1_MAIZE -1 142 142 TURN
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 60_135</a></html> FER1_MAIZE -1 60 135 Pfam
+<html>Description: Fer2 Status: True Positive <a href="http://pfam.sanger.ac.uk/family/PF00111">Pfam 52_127</a></html> O80429_MAIZE -1 52 127 Pfam
+ENDGROUP uniprot
--- /dev/null
+>FER_CAPAA Ferredoxin\r
+-----------------------------------------------------------ASYKVKLITPDGP\r
+IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
+TIETHKEAELVG-\r
+>FER_CAPAN Ferredoxin, chloroplast precursor\r
+MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP\r
+IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
+TIETHKEAELVG-\r
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor\r
+MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP\r
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV\r
+TIETHKEEELTA-\r
+>Q93XJ9_SOLTU Ferredoxin I precursor\r
+MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP\r
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV\r
+TIETHKEEELTA-\r
+>FER1_PEA Ferredoxin-1, chloroplast precursor\r
+MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT\r
+QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV\r
+VIETHKEEDLTA-\r
+>Q7XA98_TRIPR Ferredoxin I\r
+MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP\r
+QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV\r
+TIETHKEEELTA-\r
+>FER1_MESCR Ferredoxin-1, chloroplast precursor\r
+MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK\r
+QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV\r
+TIETHKEEELTA-\r
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor\r
+MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN\r
+VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV\r
+TIETHKEEELTA-\r
+>FER3_RAPSA Ferredoxin, leaf L-A\r
+-----------------------------------------------------------ATYKVKFITPEGE\r
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV\r
+TIETHREEDMV--\r
+>FER1_ARATH Ferredoxin-1, chloroplast precursor\r
+MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE\r
+LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV\r
+TIETHKEEDIV--\r
+>FER_BRANA Ferredoxin\r
+-----------------------------------------------------------ATYKVKFITPEGE\r
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV\r
+TIETHKEEELV--\r
+>FER2_ARATH Ferredoxin-2, chloroplast precursor\r
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV\r
+VIETHKEEAIM--\r
+>Q93Z60_ARATH At1g10960/T19D16_12\r
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------\r
+-------------\r
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor\r
+MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE\r
+VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV\r
+VIETHKEEELTGA\r
+>O80429_MAIZE Ferredoxin\r
+MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE\r
+VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV\r
+VIETHKEDDLL--\r
--- /dev/null
+>FER1_MAIZE/53-118 Ferredoxin-1, chloroplast precursor
+ATYNVKLITPEGEVELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDD
+>FER_CAPAA/1-66 Ferredoxin
+ASYKVKLITPDGPIEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDD
+>FER_CAPAN/48-113 Ferredoxin, chloroplast precursor
+ASYKVKLITPDGPIEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDD
+>FER1_SOLLC/48-113 Ferredoxin-1, chloroplast precursor
+ASYKVKLITPEGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDE
+>Q93XJ9_SOLTU/48-113 Ferredoxin I precursor
+ASYKVKLITPDGPIEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDD
+>FER1_PEA/53-118 Ferredoxin-1, chloroplast precursor
+ASYKVKLVTPDGTQEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDD
+>Q7XA98_TRIPR/56-121 Ferredoxin I
+ATYKVKLITPEGPQEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDD
+>FER1_MESCR/52-117 Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPEGKQELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDD
+>FER1_SPIOL/51-116 Ferredoxin-1, chloroplast precursor
+AAYKVTLVTPTGNVEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDD
+>FER3_RAPSA/1-66 Ferredoxin, leaf L-A
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDD
+>FER1_ARATH/53-118 Ferredoxin-1, chloroplast precursor
+ATYKVKFITPEGELEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDD
+>FER_BRANA/1-66 Ferredoxin
+ATYKVKFITPEGEQEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDD
+>FER2_ARATH/53-118 Ferredoxin-2, chloroplast precursor
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD
+>Q93Z60_ARATH/53-118 At1g10960/T19D16_12
+ATYKVKFITPEGEQEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD
+>O80429_MAIZE/45-110 Ferredoxin
+ATYNVKLITPEGEVELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLND
--- /dev/null
+title=Applet Parameters
+type=page
+status=published
+~~~~~~
+<h2>JalviewLite Applet Parameter Documentation</h2>
+<p>
+The JalviewLite applet is configured through a series of applet parameters,
+which are described <a href="#parameters"> below</a>. Once initialised,
+the applet can be interacted with <em>via</em> its
+<a href="jalviewLiteJs.html">Javascript API</a>.
+</p><p><strong>Issues arising from tightening of Java Security default settings</strong><br/>JalviewLite is provided as a signed applet with 'sandbox' permissions and wildcards that allow it to be run from any website. Unfortunately, earlier versions of Java are not compatible with these settings, so if you find that you cannot see any of the examples on the left, try the <a href="u_applets.html">unsigned applet examples</a>.
+</p>
+ <p>For additional deployment notes, <a href="#appletdeploymentnotes">see below</a>.</p>
+ <p><h2>Applet Parameters</h2><br/>The applet takes the following initialisation parameters.</p>
+ <a name="parameters"></a> <table width="97%" class="borderTable" align="center" >
+ <tr>
+ <td width="103" height="23"><strong><param name=""</strong></td>
+ <td width="80" ><strong>value=""></strong></td>
+ <td width="100%"><strong>Description</strong></td>
+ </tr>
+ <tr>
+ <td>permissions</td>
+ <td>sandbox</td>
+ <td><strong>This parameter is necessary, and must have the value <em>sandbox</em> to allow the JalviewLite applet to run.</strong></td>
+ </tr>
+ <tr>
+ <td>file</td>
+ <td>fileName</td>
+ <td>The file to open, must be on same server as the applet.</td>
+ </tr>
+ <tr>
+ <td>sequence1,<br>
+ sequence2,<br>
+ sequence3</td>
+ <td>sequence in (preferably) PFAM or Fasta format</td>
+ <td>The alignment can be added as a series of sequences instead of
+ from a file.</td>
+ </tr>
+ <tr>
+ <td>tree</td>
+ <td>fileName</td>
+ <td>Tree file in Newick format</td>
+ </tr>
+ <tr>
+ <td>features</td>
+ <td>fileName</td>
+ <td>Jalview Features file to be applied to the alignment</td>
+ </tr>
+ <tr>
+ <td>annotations</td>
+ <td>fileName</td>
+ <td>Jalview Annotation file will be added to the alignment</td>
+ </tr>
+ <tr>
+ <td>jnetfile</td>
+ <td>fileName</td>
+ <td>Secondary structure predictions from a <a
+ href="http://www.compbio.dundee.ac.uk/~www-jpred/">Jnet</a> Concise
+ file will be added to the first sequence in the alignment.</td>
+ </tr>
+ <tr>
+ <td>PDBfile(x)</td>
+ <td><p>fileName seq1 seq2 seq3</p>
+ <p>or</p>
+ <p>fileName A=seq1 B=seq2 C=seq3</p></td>
+ <td>PDB file which is to be associated with a sequence, followed by
+ space separated list of alignment sequence ids. PDB chains can be
+ specifed to map to particular sequence by using A=SeqA notation</td>
+ </tr>
+ <tr>
+ <td><p>PDBSeq<br>
+ *Not needed post Jalview 2.3, use PDBFile instead</p></td>
+ <td>SequenceId</td>
+ <td>The sequence to associate a PDB file with. Note the value is case
+ sensitive.</td>
+ </tr>
+ <tr>
+ <td>defaultColour</td>
+ <td> <em>One of: </em><br>
+ Clustal, Blosum62, % Identity, Hydrophobic, Zappo, Taylor, Helix
+ Propensity, Strand Propensity, Turn Propensity, Buried Index, Nucleotide</td>
+ <td>Default is no colour.</td>
+ </tr>
+ <tr>
+ <td>userDefinedColour</td>
+ <td><p><em>Example:</em><br>
+ D,E=red; K,R,H=0022FF; c=yellow</p></td>
+ <td>Define residue colours</td>
+ </tr>
+ <tr>
+ <td height="35">showFullId</td>
+ <td>true <em>or</em> false</td>
+ <td>if true displays start and end residue at the end of sequence
+ Id.</td>
+ </tr>
+ <tr>
+ <td>showAnnotation</td>
+ <td>true <em>or</em> false</td>
+ <td>If true shows the annotation panel below the alignment.</td>
+ </tr>
+ <tr>
+ <td>showConservation</td>
+ <td>true <em>or</em> false</td>
+ <td>Default is true.</td>
+ </tr>
+ <tr>
+ <td>showQuality</td>
+ <td>true <em>or</em> false</td>
+ <td>Default is true.</td>
+ </tr>
+ <tr>
+ <td>showConsensus</td>
+ <td>true <em>or</em> false</td>
+ <td>Default is true.</td>
+ </tr>
+ <tr>
+ <td>sortBy</td>
+ <td> Id <em>, </em> Pairwise Identity<em>, or</em> Length</td>
+ <td> Sorts the alignment on startup</td>
+ </tr>
+ <tr>
+ <td>RGB</td>
+ <td>colour as hex string</td>
+ <td>Background colour for applet button - purely cosmetic to blend
+ in with your web page. For orange, enter the value FF6600</td>
+ </tr>
+ <tr>
+ <td>embedded</td>
+ <td>true <em>or</em> false</td>
+ <td>The applet is embedded in the web page, the "Start Jalview"
+ button is not displayed.</td>
+ </tr>
+ <tr>
+ <td>windowWidth</td>
+ <td>value</td>
+ <td>frame width</td>
+ </tr>
+ <tr>
+ <td>windowHeight</td>
+ <td>value</td>
+ <td>frame height</td>
+ </tr>
+ <tr>
+ <td>label</td>
+ <td>label text</td>
+ <td>Change text for the Launch Jalview Button</td>
+ </tr>
+ <tr>
+ <td>wrap</td>
+ <td>true <em>or</em> false</td>
+ <td>Opens new windows in wrapped mode</td>
+ </tr>
+ <tr>
+ <td>linkLabel_1</td>
+ <td>EMBL-EBI Search</td>
+ <td rowspan="2"><p>Right click on sequence id to see list of available
+ links. Any new links MUST have $SEQUENCE_ID$ as part of the linkURL_n
+ value. For multiple links, increment the label and url name by
+ 1. ie <br>
+ <param name="linkLabel_2" ..., <br>
+ <param name="linkUrl_2"....<br>
+ </p>
+ <p>Regular expressions may also be used (<em>since Jalview 2.4</em>) to process the ID string inserted into the URL:
+ <br>$SEQUENCE_ID=/<regex to extract ID>/=$<br><em>Use the debug flag to check parsing and make sure that special symbols are properly escaped (particularly when generating applet tags from CGI scripts).
+ <br>Regex URL links are also applied to the description line (since Jalview 2.4.+).</em></p></td>
+ </tr>
+ <tr>
+ <td> <p>
+ <br>
+ linkUrl_1<br>
+ </p></td>
+ <td><p><br>
+ http://www.ebi.ac.uk/ebisearch/<br/>search.ebi?db=allebi&query=$SEQUENCE_ID$</p>
+ </td>
+ </tr>
+ <tr>
+ <td>showFeatureSettings</td>
+ <td>true <em>or</em> false</td>
+ <td>Shows the feature settings window when starting the applet</td>
+ </tr>
+ <tr>
+ <td>showfeaturegroups</td>
+ <td><em>separator</em> separated list of feature groups</td>
+ <td>Display the features in the given groups on the alignment</td>
+ </tr>
+ <tr>
+ <td>hidefeaturegroups</td>
+ <td><em>separator</em> separated list of feature groups</td>
+ <td>Hide the features in the given groups on the alignment
+ (will be overridden by showfeaturegroups for group names
+ found in both lists)</td>
+ </tr>
+ <tr>
+ <td>application_url</td>
+ <td><p><em>URL of dynamic JNLP servlet,</em></p>
+ <p>http://www.jalview.org/services/launchApp</p></td>
+ <td>Launches full application with original alignment, features and
+ annotations files used in applet</td>
+ </tr>
+ <tr>
+ <td>separator</td>
+ <td><em>non-empty separator string</em><br>default: |</td>
+ <td>string used to separate fields in list parameters (such as <em>showfeaturegroups</em>)</td>
+ </tr>
+ <tr><td>debug</td>
+ <td>true</td>
+ <td>Instruct the applet to output additional debug messages to the java console</td>
+ </tr>
+ <tr><td>nojmol</td>
+ <td>false</td>
+ <td>When set, do not try to find Jmol classes. Set this to supress URL not found errors appearing
+ in server logs when Jmol is not available.
+ </td>
+ </tr>
+ <tr><td>showbutton</td>
+ <td>true</td>
+ <td>Show the jalview button on the page. When false, JalviewLite will open immediately.</td>
+ </tr>
+ </tr>
+ <tr><td>sortByTree</td>
+ <td>true or false (default is false)</td>
+ <td>automatically sort the associated alignment view by the tree when a new tree is opened.</td>
+ </tr>
+ <tr>
+ <td>showTreeBootstraps</td><td>true or false (default is true)</td><td>show or hide branch bootstraps</td>
+ </tr>
+ <tr><td>showTreeDistances</td><td>true or false (default is true)</td><td>show or hide branch lengths</td></tr>
+ <tr><td>showUnlinkedTreeNodes</td><td>true or false (default is false)</td><td>indicate if unassociated nodes should be highlighted in the tree view</td>
+ </tr>
+ <tr><td>heightScale</td>
+ <td>1.0 or greater</td>
+ <td>Adjust the height of each cell in the alignment grid relative to the height of a character in the alignment font. (<em>since 2.5.1</em>)</td>
+ </tr>
+ <tr><td>widthScale</td>
+ <td>1.0 or greater</td>
+ <td>Adjust the width of each cell in the alignment grid relative to the width of a character in the alignment font. (<em>since 2.5.1</em>)</td>
+ </tr>
+ <tr><td>centrecolumnlabels</td>
+ <td>true of false (default is false)</td>
+ <td>When true, text labels associated with a column in the alignment will be shown centered with respect to the column. (<em>since 2.4</em>)</td>
+ <tr><td>showUnconserved</td>
+ <td>true of false (default is false)</td>
+ <td>When true, only gaps and symbols different to the consensus sequence for a column will be shown. Useful for visualizing alignments exhibiting low sequence variation, where it is important to highlight mutations. (<em>since 2.5</em>)</td>
+ </tr>
+ <tr><td>upperCase</td>
+ <td><em>bold</em> or other value</td>
+ <td>Indicate a text style to apply to uppercase sequence symbols. Currently, only <strong>bold</strong> is supported.</td>
+ </tr>
+ <tr><td>automaticScrolling</td>
+ <td>true of false (default is true)</td>
+ <td>When true, alignment panels will automatically scroll to show any regions of the alignment highlighted due to javascript events or when mousing over a position in an associated structure. (<em>since 2.6</em>)</td>
+ </tr>
+
+ <tr><td>showGroupConsensus</td>
+ <td>true of false (default is false)</td>
+ <td>When true, shows consensus annotation row for any groups on the alignment. (<em>since 2.7</em>)</td>
+ </tr>
+
+ <tr><td>showGroupConservation</td>
+ <td>true of false (default is false)</td>
+ <td>When true, shows amino-acid property conservation annotation row for any groups on the alignment. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>showConsensusHistogram</td>
+ <td>true of false (default is true)</td>
+ <td>When true, shows the percentage occurence of the consensus symbol for each column as a histogram above the consensus sequence row. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>showSequenceLogo</td>
+ <td>true of false (default is false)</td>
+ <td>When true, shows a sequence logo above the consensus sequence (overlaid above the Consensus Histogram, if visible, with symbols coloured using the alignment's default colourscheme). (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>normaliseSequenceLogo</td>
+ <td>true of false (default is false)</td>
+ <td>When true, all sequence logos will be normalised (all symbol stacks add up to full height of annotation row), rather than being scaled according to the fraction of symbols identical to the consensus. (<em>since 2.8</em>)</td>
+ </tr>
+ <tr><td>oninit</td>
+ <td><em>after_init()</em></td>
+ <td>name of javascript function that will be called after the jalviewLite instance has completed its initialisation. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>relaxedidmatch</td>
+ <td><em>true or false (default is false)</em></td>
+ <td>When true, use stem based matching to identify sequences that match features imported from a GFF or Jalview sequence features file, and for associating PDB data (passed on PDBfile parguments) with sequences (based on a given destination sequence ID). (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>alignpdbfiles</td>
+ <td><em>true or false (default is false)</em></td>
+ <td>When true, and jalviewLite is able to use jmol as a structure viewer, attempt to show a superposition of all structures loaded onto the alignment, superimposed using the aligned regions of corresponding sequences. [experimental] (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>externalstructureviewer</td>
+ <td><em>true or false (default is false)</em></td>
+ <td>re-route jmol colouring commands, selection and mouseover events to an external viewer using javascript callbacks. [experimental] (<em>since 2.7</em>)</td>
+
+ </tr>
+ <tr><td>annotationcolour_max</td>
+ <td>colour name or RGB hex triplet (default is red)</td>
+ <td>Default colour used for maximum value when shading by annotation. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>annotationcolour_min</td>
+ <td>colour name or RGB hex triplet (default is orange)</td>
+ <td>Default colour used for minimum value when shading by annotation. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>jalviewhelpurl</td>
+ <td>absolute or relative url or javascript function prefixed by <em>javascript:</em> (default is http://www.jalview.org/help.html)</td>
+ <td>Optional parameter allowing modification of the default Jalview Help URL normally opened when JalviewLite's 'Help' menu item is selected. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>resolvetocodebase</td>
+ <td>True or False (False)</td>
+ <td>Set to true to re-instate pre-JalviewLite 2.7 behaviour where relative URLs were prepended with the applet 'codebase' rather than the current document base URL before resolution. (<em>since 2.7</em>)</td>
+ </tr>
+ <tr><td>scoreFile</td>
+ <td>file</td>
+ <td>Multiple sequences aligment scores file. Currently is supported only the T-Coffee score_ascii file format</td>
+ </tr>
+ </table>
+ <p><h2><a name="appletdeploymentnotes"/>Notes on applet deployment</h2><br/>
+ <ul>
+ <li>Package all your data files into a single (or multiple) zip / jar
+ files. This is very useful to reduce download time of large data files.
+ The applet archive tag can take multiple entries separated by commas,
+ eg<br>
+ <pre><applet code="jalview.bin.JalviewLite"<em><strong>
+ archive="jalviewApplet.jar, mydata.zip"</strong></em>><br>
+ </pre></li>
+ <li> Use Jalview for input to a HTML form. For an example of how to
+ code this using Javascript, click <a href="formComplete.html">here</a>.
+ <br>
+ </li>
+ <li>Embed Jalview into the web page, without the "Start Jalview"
+ button by setting the embed parameter to true;<br>
+ <param name="embedded"
+ value="true"> </li>
+ </ul>
+ <p><strong>**NEW FEATURES** in Jalview 2.8</strong></p>
+ <ul>
+ <li>Normalised sequence logo display
+ </li>
+ <li>RNA secondary structure annotation row
+ </li>
+<li>Jmol compatibility updated to Jmol 12.2.x series - <a href="JmolApplet-12.2.4.jar">download the JmolApplet here</a></li>
+<li>To use Jmol as the structure viewer for Jalview, you must include
+ the jar file in the applet archive argument thus:<br>
+ <pre>archive="jalviewApplet.jar,Jmol-12.2.4.jar"</pre>
+ </li>
+ <li>Jmol 12.2.x requires at least Java 1.6 to run in the clients web browser. If the client does not have
+ Java 1.6, or if the Jmol-12.2.jar is not added to the archive, the
+ original Jalview structure viewer will still be available. <br>
+ </li>
+
+ </ul>
+ <p><strong>**NEW FEATURES** in Jalview 2.7</strong></p>
+ <ul>
+ <li>Javascript callbacks capabilities<ul><li>oninit parameter and methods for registering javascript handlers for selections, mouseovers and linking to Jmol applets on the page.</li>
+ <li>To use javascript callbacks, ensure the applet tag includes the '<a href="http://download.oracle.com/javase/6/docs/technotes/guides/plugin/developer_guide/java_js.html">mayscript</a>' attribute - either as a parameter (<param name="mayscript" value="true"/;gt;) or as a bare attribute in the applet html tag).</li></ul>
+ </li>
+ <li>New <a href="jalviewLiteJs.html">jalviewLite java api</a> methods for selecting, highlighting, scrolling and reordering sequences in an alignment view.
+ </li></ul>
+ <p><strong>**NEW FEATURES** in Jalview 2.6</strong></p>
+ <ul>
+ <li>Jmol compatibility updated to Jmol 12.1.x series</li>
+ <li>Jalview 2.6 works only with Jmol version 12.1.13 or later. You can use the JmolApplet.jar from
+ the Jmol binary distribution available at the Jmol Sourceforge site,
+ or <a href="JmolApplet-12.1.13.jar">download the Jmol applet from here</a></li>
+ <li>Minimum recommended version of Java runtime for the applet is now 1.5 (JalviewLite v2.6 without the Jmol viewer may work ok on earlier Java environments but compatibility can no-longer be guaranteed).</li>
+ </ul>
+ <br><strong>**NEW FEATURES** in Jalview 2.5</strong></p>
+ <ul>
+ <li>New parameters to control display of tree annotation, width of alignment columns, and to disable the jalview button and check for Jmol on startup.</li>
+ </ul>
+ <br><strong>**NEW FEATURES** in Jalview 2.4</strong></p>
+ <ul>
+ <li>New applet API methods for feature display control, views, and obtaining current selection via javascript.</li>
+ <li>Group show and hide parameters:
+ "showfeaturegroups" and
+ "hidefeaturegroups". Both take a list
+ of feature group names (separarated by "|" by default) to hide or show on the displayed
+ alignment.
+ </li>
+ <li>Regular expressions can be used in URL links for sequence IDs.</li>
+ <li>"debug" parameter to control verbosity of the applet's console output.</li>
+ <li>"showbutton" parameter to disable launch button and open JalviewLite immediatly.</li>
+ <li>"nojmol" parameter to disable check for Jmol classes.</li>
+ </ul><br>
+ <strong>**NEW FEATURES** in Jalview 2.3</strong></p>
+ <ul>
+ <li>Note that Parameter "PDBFile" now takes
+ the PDB file followed by a space separated list of alignment sequence
+ ids to associate the structure to. It is also possible to associate
+ multiple PDB files by adding an incremental value to PDBFile (up to
+ 10). It is also possible to map specific sequences to specific chains
+ by using the following notation:<br>
+ <br>
+ <pre>
+ <param name="PDBFile" value="First.pdb SeqA SeqB
+ SeqC"><br>
+ <param name="PDBFile2" value="Second.pdb
+ A=SeqA B=SeqB C=SeqC"><br>
+ <param name="PDBFile3" value="Third.pdb
+ D=SeqX B=SeqY C=SeqZ"><br>
+ </pre>
+ </li>
+ <li>Note parameter "PDBSeq" is no longer required.<br>
+ </li>
+ <li>Jalview 2.3 was updated to work with Jmol 11. See the <a href="/development">versions archive if you want to download the old Jmol applet</a>.</li>
+ <p> </p>
+ </li>
+ </ul>
+ <strong>**NEW FEATURES** in Jalview 2.1</strong>
+ <ul>
+ <li>Jalview Applet can read and display JNet secondary structure annotation
+ directly via the <strong>jnetfile</strong> parameter. <br>
+ </li>
+ <li>Param "UserDefinedColour" - specify your own colours for each residue using a semi colon
+ separated list. Multiple residues can be assigned the same colour
+ using commas. eg:<br>
+ <pre><param name="userDefinedColour"
+ value="D,E=red; K,R,H=0022FF; C=yellow"></pre>
+ </li>
+ <li>Param "showFeatureSettings"
+ - this will display the feature settings window when the applet starts.
+ </li>
+ <li>Param "Application_URL" value="http://www.jalview.org/services/launchApp"<br/>
+ This calls a servlet which creates a JNLP file with the alignment
+ file, annotations file and features file of the applet as arguments.
+ If the user has Java installed, the returned JNLP file should start
+ up the full Jalview Application. BUT this does not currently work
+ for alignment files added to the applet in a zip file.
+ <br/>Look at the XML comments in the file downloaded from <a href="http://www.jalview.org/services/launchApp">The LaunchApp page</a> for full documentation.
+ </li>
+ <li>Alignment file can be a series of parameters using eg PFAM format
+ <br>
+ <pre><param name="sequence1"
+ value="Q93XJ9_SOLTU/11-26 TSFLPRKPVVTSLKAI"><br>
+ <param name="sequence2" value="FER1_PEA/14-29 TSFLRTQPMPMSVTTT"><br>
+ </pre>(All the usual Jalview File formats are valid, however each
+ new line in an alignment file must be entered as a parameter)</li>
+ </ul>
+
--- /dev/null
+title=JalviewLite Examples
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+status=published
+level=0
+class=jvl_examples.ftl
+~~~~~~
+
--- /dev/null
+title=Embedded Alignment
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_embedded.ftl
+status=published
+level=2
+~~~~~~
--- /dev/null
+title=Jalview and Jmol
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_embeddedWJmol.ftl
+hclass=jvl_embeddedWJmol_hdr.ftl
+status=published
+level=2
+~~~~~~
--- /dev/null
+title=Access from Javascript
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_formComplete.ftl
+status=published
+level=2
+~~~~~~
+<!-- end of -->
--- /dev/null
+title=Javascript API
+type=page
+status=published
+level=0
+~~~~~~
+
+
+ <p>The jalviewLite applet's application programming interface (API) includes two components. A <a href="javascript/jalview.js">JalviewLite Javascript Library</a> and the <a href="#api">public methods on the JalviewLite applet</a>.
+</p>
+ <h3>Notes</h3>
+ <ul>
+ <li>Unfortunately Javascript - Java communication is not possible
+ using Internet Explorer or Opera on Macs. Please use Safari or
+ Firefox.</li>
+ <li>If more than one Jalview window is open, Jalview returns the
+ alignment in the active window, unless you provide an AlignFrame
+ object reference.</li>
+ <li>The alignment output format can be either Fasta, PFAM, Clustal,
+ MSF, PIR, or BLC.</li>
+ <li>When referring to the Jalview applet in javascript, you must
+ either give Jalview a name in the applet tag or use the document.applets index.</li>
+ <li>When creating javascript functions that are called by jalviewLite (e.g. the <em>oninit</em> parameter, or any mouseOver, selection or structureListener handlers), ensure they complete very quickly, and do not access any jalview API methods that might result in more javascript calls (this which will cause your browser to hang). If you need to do this, we suggest that jalviewLite callbacks are used to add new javascript events to a queue (e.g. using a Jquery timer callback) to avoid any concurrency issues.
+ </li>
+ </ul>
+ <a name="api">
+ <h1>JalviewLite's Javascript API</h1></a>
+ <p>The following public methods on the jalviewLite applet are available to be called from javascript:</p>
+ <pre>//get list of IDs of selected sequences
+public String getSelectedSequences()
+
+// list of IDs of selected sequences terminated by sep or, if sep is null, '¬' (&#172;)
+public String getSelectedSequences(sep)
+
+// get list of selected sequences from specific alignFrame. (2.7)
+public String getSelectedSequencesFrom(AlignFrame alf)
+public String getSelectedSequencesFrom(AlignFrame alf, String sep)
+
+// highlight a position in a specific sequence or a column in an alignment containing it
+// provide ID sequence to highlight, integer (range highlighting will be supported in future versions)
+// and flag indicating if position is an alignment column or given according to sequence numbering (2.7)
+public void highlight(String sequenceId, String position, String alignedPosition)
+public void highlightIn(AlignFrame alf, String sequenceId, String position, String alignedPosition)
+
+
+// select regions of the currrent alignment frame using a list of sequence ids and a list of
+// column numbers and ranges (with minus sign indicating start-end) (separated by default separator) (2.7)
+public void select(String sequenceIds, String columns)
+public void select(String sequenceIds, String columns, String sep)
+public void selectIn(AlignFrame alf, String sequenceIds, String columns)
+public void selectIn(AlignFrame alf, String sequenceIds, String columns, String sep)
+
+
+// get selected sequences as alignment as format with or without start-end suffix
+public String getSelectedSequencesAsAlignment(String format, boolean suffix)
+
+// get selected sequences as alignment from given view as format with or without start-end suffix
+public String getSelectedSequencesAsAlignmentFrom(AlignFrame alf, String format, boolean suffix)
+
+// get a separator separated list of sequence IDs reflecting the order of the current alignment (2.7)
+public String getAlignmentOrder();
+public String getAlignmentOrderFrom(AlignFrame alf);
+public String getAlignmentOrderFrom(AlignFrame alf, String sep);
+
+// re-order the current alignment using the given list of sequence IDs separated by sep
+// undoName - is string to use when referring to ordering action in undo buffer
+// returns 'true' if alignment was actually reordered. empty string if alignment did not contain sequences.
+// (v2.7)
+public String orderBy(String order, String undoName)
+public String orderBy(String order, String undoName, String sep)
+String orderAlignmentBy(AlignFrame alf, String order, String undoName, String sep)
+
+
+// get alignment as format
+public String getAlignment(String format)
+
+// get alignment as format with jalview
+// start-end sequence suffix appended
+public String getAlignment(String format, String suffix)
+
+// get alignment displayed in alf as format
+public String getAlignmentFrom(AlignFrame alf, String format)
+
+// get alignment displayed in alf as format
+// with jalview start-end sequence suffix appended
+public String getAlignmentFrom(AlignFrame alf, String format, String suffix)
+
+// add the given features or annotation to the current alignment
+// if features are loaded, feature display is automatically enabled
+public void loadAnnotation(String annotation)
+
+// add the given features or annotation to the given alignment view
+// if features are loaded, feature display is automatically enabled
+public void loadAnnotationFrom(AlignFrame alf, String annotation)
+
+// parse the given string as a jalview or GFF features file and optionally enable feature display on the current alignment
+// (v2.8)
+public abstract void loadFeatures(String features, boolean autoenabledisplay)
+
+// parse the given string as a jalview or GFF features file and optionally enable feature display on the given alignment
+// (v2.8)
+public abstract void loadFeaturesFrom(AlignFrame alf, String features, boolean autoenabledisplay)
+
+// get the sequence features in the given format (Jalview or GFF)
+public String getFeatures(String format)
+
+// get the sequence features in alf in the given format (Jalview or GFF)
+public String getFeaturesFrom(AlignFrame alf, String format)
+
+// get current alignment's annotation as an annotation file
+public String getAnnotation()
+
+// get alignment view alf's annotation as an annotation file
+public String getAnnotationFrom(AlignFrame alf)
+
+// create a new view and return the alignFrame instance
+public AlignFrame newView()
+
+// create a new view named name and return the alignFrame instance
+public AlignFrame newView(String name)
+
+// create a new view on alf and return the alignFrame instance
+public AlignFrame newViewFrom(AlignFrame alf)
+
+// create a new view named name on alf
+// and return the alignFrame instance
+public AlignFrame newViewFrom(AlignFrame alf, String name)
+
+// load a new alignment
+// remember to store the AlignFrame object reference
+// if you want to manipulate the new alignment view.
+public AlignFrame loadAlignment(String text, String title)
+
+
+// register a javascript function to handle any alignment mouseover events
+// listener is name of javascript function which will be called
+// with arguments [jalview.appletgui.AlignFrame,String(sequence id),
+// String(column in alignment), String(position in sequence)]
+// (v2.7)
+public void setMouseoverListener(String listener)
+
+// register a javascript function to handle mouseover events for specific alignframe
+// (v2.7)
+public void setMouseoverListener(AlignFrame af, String listener)
+
+// register a javascript function to handle alignment selection events.
+// Events are generated when the user completes a selection event, or when
+// the user deselects all selected regions.
+// listener is name of javascript function that will be called with arguments
+// [jalview.appletgui.AlignFrame, String(sequence set id),
+// String(separator separated list of sequences which were selected),
+// String(separator separated list of column ranges)]
+// (v2.7)
+public void setSelectionListener(String listener)
+
+// register a selection listener for a specific alignment frame
+// (v2.7)
+public void setSelectionListener(AlignFrame af, String listener)
+
+// register a javascript function to handle events normally routed
+// to a Jmol structure viewer.
+// listener is a javascript function called with several different types
+// of arguments, dependent on the type of structure callback event.
+// See jalview.javascript.MouseOverStructureListener for full details or
+// the embedded Jmol example.
+// modelSet - is a separator separated list of PDB file URIs that this viewer is handling (where position in list equals model number in Jmol).
+// (v2.7)
+public void setStructureListener(String listener, String modelSet)
+
+// remove any callback using the given listener function and associated with
+// the given alignFrame (or null for all callbacks) (v2.7)
+public void removeJavascriptListener(AlignFrame af, String listener)
+
+// send a mouseover message to all the alignment windows associated with the
+// given residue in the pdbfile (v2.7)
+public void mouseOverStructure(String pdbResNum, String chain, String pdbfile)
+
+// bind a pdb file to a sequence in the given alignFrame - this will be searched
+// for sequences matching sequenceId. The PDB file in pdbFile is either the contents
+// of a PDB file or a URI that can be used to retrieve the file, and the pdbEntryString
+// is the user friendly name (or PDBID) shown in jalview's user interface.
+// returns true if binding was as success (v2.7)
+public boolean addPdbFile(AlignFrame alFrame,
+ String sequenceId, String pdbEntryString, String pdbFile)
+
+// adjust horizontal/vertical scroll in alf to the make
+// the given location the top left hand corner for given current view (v2.7)
+public void scrollViewToIn(AlignFrame alf, String topRow, String leftHandColumn)
+
+// adjust horizontal scroll in alf to the make
+// the given location the left hand corner for given current view (v2.7)
+public void scrollViewToColumnIn(AlignFrame alf, String leftHandColumn)
+
+// adjust horizontal/vertical scroll in alf to the make
+// the given location the top row for given current view (v2.7)
+public void scrollViewToRowIn(AlignFrame alf, String topRow)
+
+
+// return separator separated list of feature groups
+// on the current alignment
+public String getFeatureGroups()
+
+// return separator separated list of feature groups on alf
+public String getFeatureGroupsOn(AlignFrame alf)
+
+// return separator separated list of feature groups
+// either visible or hidden
+public String getFeatureGroupsOfState(boolean state)
+
+// return separator separated list of feature groups
+// either visible or hidden on alf
+public String getFeatureGroupsOfStateOn(AlignFrame alf, boolean state)
+
+// set the separator separated list of feature groups as
+// visible or hidden on the current alignment
+public void setFeatureGroupState(String groupList, boolean state)
+
+// set the separator separated list of feature groups
+// as visible or hidden on alf
+public void setFeatureGroupStateOn(AlignFrame alf, String groupList, boolean state)
+
+// helper functions
+
+// Asynchronously retrieve next chunk of a large packet of data made available
+// for a JalviewLite event handler, or the empty string if no more data is available.
+// messageclass and viewId are keys used to retrieve a specific message related
+// to an event.
+// Use this in a javascript timer or GUI update thread to retrieve data without
+// blocking the JalviewLite applet. DO NOT USE IN THE CALLBACK THAT HANDLED THE EVENT
+// (v2.7)
+public String getJsMessage(String messageclass, String viewId)
+
+
+// convert list to a separator separated array
+public String arrayToSeparatorList(String[] list)
+
+// get a string array from a list
+public String[] separatorListToArray(String list)
+
+// get the current separator
+public String getSeparator()
+
+// set the current separator
+public void setSeparator(String)
+
+//// JalviewLite global state methods and fields
+
+// return the build date as a string
+public static String getBuildDate()
+
+// return the JalviewLite version as a string
+public static String getVersion()
+
+// debug flag - controls output to standard out
+public static boolean debug
+
+</pre>
+
--- /dev/null
+title=Javascript Launch
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_javascriptLaunch.ftl
+status=published
+level=2
+~~~~~~
+
--- /dev/null
+title=Linked JalviewLites
+type=page
+jvl=jalviewApplet.jar
+jmol=JmolApplet-12.2.4.jar
+class=jvl_linkedapplets_ng.ftl
+status=published
+level=1
+~~~~~~
+
--- /dev/null
+title=JalviewLite Examples
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+status=published
+level=0
+class=jvl_examples.ftl
+~~~~~~
+
--- /dev/null
+title=Embedded Alignment
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_embedded.ftl
+status=published
+level=2
+~~~~~~
--- /dev/null
+title=Jalview and Jmol
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_embeddedWJmol.ftl
+hclass=jvl_embeddedWJmol_hdr.ftl
+status=published
+level=2
+~~~~~~
--- /dev/null
+title=Access from Javascript
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_formComplete.ftl
+status=published
+level=2
+~~~~~~
+<!-- end of -->
--- /dev/null
+title=Javascript Launch
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_javascriptLaunch.ftl
+status=published
+level=2
+~~~~~~
+
--- /dev/null
+title=Linked JalviewLites
+type=page
+jvl=u_jalviewApplet.jar
+jmol=u_JmolApplet-12.2.4.jar
+alteg=true
+class=jvl_linkedapplets_ng.ftl
+status=published
+level=1
+~~~~~~
+
--- /dev/null
+site.host=http://www.jalview.org/examples/
+render.tags=false
\ No newline at end of file
--- /dev/null
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>${content.title}</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+<#if (content.hclass?exists) >
+ <#include content.hclass />
+</#if>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
--- /dev/null
+<h2>Embedded viewing of Alignments</h2>
+<p>The alignment below was generated from the following files:
+ <ul>
+ <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+ FASTA format</li>
+ <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+ Format Sequence Features file</li>
+ <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+ Jalview Alignment Annotations File</li>
+ </ul>
+ <@jvlitebutton appjar="${content.jvl}" width=756 height=560
+ params={
+ "file":"plantfdx.fa",
+ "annotations":"plantfdx.annotations",
+ "features":"plantfdx.features",
+ "embedded":"true",
+ "userDefinedColour":"C=yellow; R,K,H=FF5555; D,E=5555FF",
+ "showFullId":"false"} />
+</p>
--- /dev/null
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+ jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+ deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
--- /dev/null
+<script src="javascript/deployJava.js"></script>
+<script src="jmol/Jmol.js"></script>
+<script src="javascript/jquery-1.4.4.min.js"></script>
+<script src="javascript/jquery.timer.js"></script>
+<script src="javascript/jquery.blockUI.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
+<!-- <script src="archive-min.js" language="javascript"></script>
+-->
+<script src="javascript/jalview.js" language="javascript"></script>
+<script language="JavaScript">
+// instead of this, we use a custom JmolApplet spec
+// jmolInitialize('jmol');
+jmolInitialize("","${content.jmol}");
+function genHref()
+{
+ var s1 = "ml:i@midd..", s2 = "atelcpoueau", s3 = "iomyob.neck", href="";
+ for(i=0; i<11; i++)
+ { href = href + s1.charAt(i) + s2.charAt(i) + s3.charAt(i);
+ }
+ window.location=href;
+}
+</script>
+<script>
+ var loglevel=1;
+ function dbg(lvl,string) {
+ if (_console && lvl<=loglevel) {_console.value += string + "\n";}
+ }
+ var _lastTime=new Date();
+ var _path;
+ var _datazip;
+ var _zip;
+ var alignA;
+ var alignB;
+ var featuresA;
+ var featuresB;
+ var pairs;
+ var atompairs;
+ var structdata;
+ var jmolview;
+ var jvstructassoc;
+ var modeltofiles = new Array();
+
+ function lJvA() {
+ jvfollower = document.getElementById("jvA");
+ setConsole(document.getElementById("stdout"));
+
+ sep = jvfollower.getSeparator();
+ //jvapp.setSeparator(""+jvapp.getSeparator());
+ linkJvJmol(jvfollower, "jmolView", modeltofiles);
+ };
+
+ var _jvA=new Object();
+ _jvA.attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : '${content.jvl}',
+ width : '500',
+ height : '350',
+ mayscript : 'True',
+ scriptable: 'True',
+ id : 'jvA'
+ };
+ _jvA.parameters = {
+ java_arguments : "-Xmx256m",
+ externalstructureviewer : "true",
+ oninit : "lJvA",
+ automaticScrolling : "true",
+// <!-- defaultColour : "Strand Propensity", -->
+ file : "uniref50_mz.fa",
+
+ relaxedidmatch : "true",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "false",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp",
+ PDBfile : "1gaq.txt FER1_MAIZE",
+ permissions : "sandbox"
+ };
+ jmolSetCallback("hoverCallback","_jmolhover");
+ jmolSetCallback("pickCallback","_jmolpick");
+ modeltofiles+="1gaq.txt";
+</script>
--- /dev/null
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p> </p><div align="center">
+ <p align="center">
+ <h2>Ferredoxins, chloroplast precursor related UniRef50
+ cluster</h2>
+ <br /> (15 sequences x 150 residues)
+ </p>
+ <table width="90%">
+ <tr>
+ <td width="10%" valign="center">
+ <@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions" , "file":"uniref50.fa"
+ , "treeFile":"ferredoxin.nw"
+ , "userDefinedColour":"C=yellow; R,K,H=FF5555; D,E=5555FF"
+ , "showFullId":"false"
+ , "sortByTree":"True"
+ , "showSequenceLogo":"true"
+ , "showGroupConsensus":"true"} prots=true /></td>
+ <td valign="center">User Defined Colours, loads an associated
+ Newick format tree file which is used to sort the alignment, and
+ group consensus and sequence logos are shown below the alignment.</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions",
+ "file":"uniref50.fa"
+ , "features":"exampleFeatures.txt"
+ , "showFeatureSettings":"true"
+ , "wrap":"true"
+ , "showAnnotation":"false"
+ , "windowHeight":"500"
+ , "windowWidth":"650"
+ , "showFullId":"false"}/></td>
+ <td valign="center">Displays a features file on the alignment</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl},${content.jmol}" params={ "permissions":"all-permissions"
+ , "file":"uniref50.fa"
+ , "defaultColour":"Strand Propensity"
+ , "wrap":"true"
+ , "showAnnotation":"false"
+ , "windowHeight":"500"
+ , "windowWidth":"650"
+ , "showFullId":"false"
+ , "PDBfile":"1gaq.txt FER1_MAIZE"} /></td>
+ <td valign="center">Associates PDB file 1GAQ with sequence
+ FER1_MAIZE</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions"
+ , "file":"jpred_msa.fasta"
+ , "jnetfile":"jpred_msa.seq.concise"
+ , "defaultColour":"Clustal"
+ , "showAnnotation":"true"
+ , "windowHeight":"515"
+ , "windowWidth":"650"
+ , "showConservation":"false"
+ , "showQuality":"false"
+ , "showConsensus":"false"
+ , "showFullId":"false"} />
+ </td>
+ <td valign="middle">Displays a Multiple Sequence Alignment
+ Based JNet Prediction for a Sequence</td>
+ </tr>
+ </table>
+ <p>
+ <h2>RF00031 RFAM Alignment with per sequence secondary
+ structure</h2>
+ </p>
+ <table width="90%">
+ <tr>
+ <td width="10%" valign="center"><@jvlitebutton appjar="${content.jvl}" params={ "permissions":"all-permissions"
+ , "file":"RF00031_folded.stk"
+ , "defaultColour":"Purine/Pyrimidine"
+ , "showAnnotation":"true"
+ , "windowHeight":"515"
+ , "windowWidth":"650"
+ , "showConservation":"false"
+ , "showQuality":"false"
+ , "showConsensus":"true"
+ , "showFullId":"false"} prots=false /></td>
+ <td valign="center">Displays an RFAM RNA fold family with
+ secondary structure annotation</td>
+ </tr>
+ </table>
+</div>
--- /dev/null
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+ archive="${content.jvl}" name="Jalview">
+ <#if content.permissions?exists><param name="permissions" value="${content.permissions}"/></#if>
+ <param name="file" value="plantfdx.fa"/>
+ <param name="features" value="plantfdx.features"/>
+ <param name="wrap" value="true"/>
+ <param name="showAnnotation" value="false"/>
+ <param name="windowHeight" value="500"/>
+ <param name="windowWidth" value="650"/>
+ <param name="showFullId" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="Expasy">
+ <param name="linkUrl_2"
+ value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+ <param name="hidefeaturegroups" value="uniprot" />
+ <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+ <br/>
+ <center><strong>Using the Jalview Applet for Input
+ to an HTML Form</strong></center>
+ <div align="center"><input type="button"
+ onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+ value="Fill Form from Jalview" /> <br/>
+ <br/>
+ <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+ Group Display List</strong></center>
+<form name="groupForm">
+ <div align="center"><input type="button"
+ onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+ value="Get groups" /> <input type="button"
+ onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+ <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+ <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+ value="Display groups" /> <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+ value="Hide groups" /></div>
+</form>
+</div>
--- /dev/null
+ <SCRIPT type="text/javascript">
+ /* <![CDATA[ // */
+// From http://snipplr.com/view.php?codeview&id=1272
+//----------------------------------------
+//Wrapper function for constructing a request object.
+// Parameters:
+// reqType: The HTTP request type, such as GET or POST.
+// url: The URL of the server program.
+// asynch: Whether to send the request asynchronously or not.
+//----------------------------------------
+
+function httpRequest(reqType,url,asynch,respHandle) {
+
+ // Mozilla-based browsers
+ if (window.XMLHttpRequest) {
+ request = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ request = new ActiveXObject("Msxml2.XMLHTTP");
+ if (!request) {
+ request = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ }
+
+ // Request could still be null if neither ActiveXObject
+ // initialization succeeded
+ if (request) {
+ // If the reqType param is POST, then the fifth arg is the POSTed data
+ if (reqType.toLowerCase() != "post") {
+ initReq(reqType, url, asynch, respHandle);
+ } else {
+ // The POSTed data
+ var args = arguments[5];
+ if (args != null && args.length > 0) {
+ initReq(reqType, url, asynch, respHandle, args);
+ }
+ }
+ } else {
+ alert("Your browser does not permit the use of all " +
+ "of this application's features!");
+ }
+
+}
+
+//----------------------------------------
+//Initialize a request object that is already constructed
+//----------------------------------------
+
+function initReq(reqType, url, bool, respHandle) {
+ try {
+ // Specify the function that will handle the HTTP response
+ request.onreadystatechange = respHandle;
+ request.open(reqType, url, bool);
+ // If the reqType param is POST, then the
+ // fifth argument to the function is the POSTed data
+ if (reqType.toLowerCase() == "post") {
+ // Set the Content-Type header for a POST request
+ request.setRequestHeader("Content-Type", "application/x-ww-form-urlencoded; charset=UTF-8");
+ request.send(arguments[4]);
+ } else {
+ request.send(null);
+ }
+ } catch (errv) {
+ alert("The application cannot contact the server at the moment. " +
+ "Please try again in a few seconds.\n" +
+ "Error detail: " + errv.message);
+ }
+}
+
+// jalview launching with fetched data
+
+function startJalview(aligURL,title,alwvar) {
+ var aligment = "";
+ httpRequest("get",aligURL,true,function() {
+ if (request.readyState == 4) {
+ alignment = request.responseText;
+ eval("var "+alwvar+" = document.JalviewLite.loadAlignment(alignment,title)");
+ }
+ })
+
+}
+
+/* ]]> */
+</SCRIPT>
+ <form name="Form1">
+<applet name="JalviewLite" code="jalview.bin.JalviewLite"
+archive="${content.jvl}" width="0" height="0">
+<param name="debug" value="true"/>
+<param name="showbutton" value="false"/>
+<#if (content.permissions?exists)>
+<param name="permissions" value="${content.permissions}"/>
+</#if>
+</applet>
+
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
+
+ <input type="button" name="Button1" value="Start"
+onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
+ </form>
--- /dev/null
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script> //deployJava.debug="true";
+
+ function lJvApp() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ setConsole(document.getElementById("stdout"));
+ //jvapp.setSeparator(""+jvapp.getSeparator());
+ linkJvJmol(jvapp);
+ };
+
+ function lJvFollow() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ //jvfollower.setSeparator(""+jvfollower.getSeparator());
+ linkJvJmol(jvfollower);
+ };
+</script>
+ <h2>JalviewLite Linked Applets Demo</h2>
+ <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+ </p>
+ <script>
+ var attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : '${content.jvl}',
+ width : 800,
+ height : 300,
+ mayscript : 'True', scriptable: 'True',
+ id : 'jvapp'
+ };
+ var parameters = {
+ oninit : "lJvApp",
+ automaticScrolling : "true",
+ file : "plantfdx.fa",
+ annotations : "plantfdx.annotations",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "true",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ permissions : 'sandbox',
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+ };
+
+ deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+<script>
+ var attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : '${content.jvl}',
+ width : 800,
+ height : 300,
+ mayscript : 'True', scriptable: 'True',
+ id : "jvfollower"
+ };
+ var parameters = {
+ oninit : "lJvFollow",
+ file : "plantfdx.fa",
+ annotations : "plantfdx.annotations",
+ automaticScrolling : "true",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "true",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ permissions : 'sandbox',
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+ };
+ deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+ <p>
+<!-- <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
+ <br>
+ -->
+<form name="console" id="console">
+<textarea name="output"
+ id="stdout" rows="20" cols="80">Messages will appear here.</textarea></form>
+ <br>
+</p>
--- /dev/null
+<#assign appparams = [ "file","features","jnetfile","treeFile","userDefinedColour","sortByTree","showSequenceLogo","showGroupConsensus","showFullId","linkLabel_1","linkUrl_1","linkUrl_2","linkLabel_2","windowHeight","windowWidth","showFeatureSettings","wrap","showAnnotation","defaultColour","embedded", "debug", "PDBfile" ] />
+
+
+<#macro jvlitebutton appjar params prots=true width=140 height=35>
+<applet
+ code="jalview.bin.JalviewLite" width="${width}" height="${height}"
+ archive="${appjar}">
+<#if (!content.alteg?exists)>
+<param name="permissions" value="sandbox"/>
+</#if>
+<#list appparams as p>
+<#if (params[p])?has_content><param name="${p}" value="${params[p]}"/>
+</#if></#list>
+<#if (prots)>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+</#if>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</#macro>
--- /dev/null
+
+ <!-- Fixed navbar -->
+ <div class="navbar navbar-fixed-top">
+ <div class="navbar-inner">
+ <div class="container">
+ <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="brand" href="/">JBake</a>
+ <div class="nav-collapse collapse">
+ <ul class="nav">
+ <li><a href="/index.html">Home</a></li>
+ <li><a href="about.html">About</a></li>
+ <li><a href="${config.feed_file}">Subscribe</a></li>
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+ <ul class="dropdown-menu">
+ <li><a href="#">Action</a></li>
+ <li><a href="#">Another action</a></li>
+ <li><a href="#">Something else here</a></li>
+ <li class="divider"></li>
+ <li class="nav-header">Nav header</li>
+ <li><a href="#">Separated link</a></li>
+ <li><a href="#">One more separated link</a></li>
+ </ul>
+ </li>
+ </ul>
+ </div><!--/.nav-collapse -->
+ </div>
+ </div>
+ </div>
+ <div class="container">
\ No newline at end of file
--- /dev/null
+<#include "header.ftl"/>
+<#include "macros.ftl"/>
+<#include "sidebar.ftl"/>
+<div id="content" class="content">
+
+<#if (content.class?exists) >
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+<#if (content.alteg?exists) >
+ Scary Java warnings ?<br/>Try <a href="${content.uri?substring(3)}">the signed applet demos</a>
+<#else>
+ Examples aren't working ?<br/>Try <a href="u_${content.uri?substring(1)}">the unsigned applet demos</a>
+</#if>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="${content.jvl}">jalviewApplet.jar</a> and <a href="${content.jmol}">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+ <#include content.class />
+<!-- content template end -->
+
+
+<#else>
+
+<!-- content start -->
+${content.body}
+<!-- content end -->
+
+</#if>
+
+</div> <!-- end content div -->
+
+<#include "footer.ftl"/>
--- /dev/null
+<#include "header.ftl">
+
+ <#include "menu.ftl">
+
+ <div class="page-header">
+ <h1>${content.title}</h1>
+ </div>
+
+ <p><em>${content.date?string("dd MMMM yyyy")}</em></p>
+
+ <p>${content.body}</p>
+
+ <hr>
+
+<#include "footer.ftl">
\ No newline at end of file
--- /dev/null
+<#macro allpages highlight="jvlite-nav-small">
+ <#list pages as page>
+ <#if page.alteg?exists>
+ <#else>
+ <#if content.alteg?exists && page.jvl?exists>
+ <#assign pref="u_"/>
+ <#else>
+ <#assign pref=""/>
+ </#if>
+ <#assign noclass=""/>
+ <#if page.title==content.title>
+ <#assign noclass="class=\"${highlight}\"">
+ </#if>
+ <#nested page>
+ </#if>
+ </#list>
+</#macro>
+
+<div id="sideNav">
+ <ul>
+ <@allpages; page>
+ <#if (((page.level!"1")?number)<1) >
+ <li ${noclass}><a href="${pref}${page.uri?substring(1)}">${page.title}</a></li>
+ </#if>
+ </@allpages>
+ <@allpages; page>
+ <#if (((page.level!"1")?number)>0) >
+ <li ${noclass}><a href="${pref}${page.uri?substring(1)}">${page.title}</a></li>
+ </#if>
+ </@allpages>
+ </ul>
+</div>
+
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<TITLE>Applet Parameters</TITLE>
+ <TITLE>Applet Parameters</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
-</script>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
-
-<div id ="nav">
-<div id="navInner">
-
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
</div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
-</div>
+
+ <div id ="nav">
+ <div id="navInner">
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+ </div>
<div id="pageWrap">
<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li class="jvlite-nav-small"><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li class="jvlite-nav-small"><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
<div id="content" class="content">
- <p>
- <strong>Quick Links:<ul><li>Download the applet jar file from <a
- href="jalviewApplet.jar">here</a>
- </li>
- <li>Parameters are described <a href="#parameters">below</a></li>
- <li>The javascript API is described <a
- href="jalviewLiteJs.html">here</a></li>
- </ul></strong>
- </p>
- <p>Additional <a href="#appletdeploymentnotes">applet deployment notes are below</a>.</p>
+
+
+<!-- content start -->
+<h2>JalviewLite Applet Parameter Documentation</h2>
+<p>
+The JalviewLite applet is configured through a series of applet parameters,
+which are described <a href="#parameters"> below</a>. Once initialised,
+the applet can be interacted with <em>via</em> its
+<a href="jalviewLiteJs.html">Javascript API</a>.
+</p><p><strong>Issues arising from tightening of Java Security default settings</strong><br/>JalviewLite is provided as a signed applet with 'sandbox' permissions and wildcards that allow it to be run from any website. Unfortunately, earlier versions of Java are not compatible with these settings, so if you find that you cannot see any of the examples on the left, try the <a href="u_applets.html">unsigned applet examples</a>.
+</p>
+ <p>For additional deployment notes, <a href="#appletdeploymentnotes">see below</a>.</p>
<p><h2>Applet Parameters</h2><br/>The applet takes the following initialisation parameters.</p>
<a name="parameters"></a> <table width="97%" class="borderTable" align="center" >
<tr>
</tr>
<tr>
<td>linkLabel_1</td>
- <td>Uniprot</td>
+ <td>EMBL-EBI Search</td>
<td rowspan="2"><p>Right click on sequence id to see list of available
links. Any new links MUST have $SEQUENCE_ID$ as part of the linkURL_n
value. For multiple links, increment the label and url name by
<br>Regex URL links are also applied to the description line (since Jalview 2.4.+).</em></p></td>
</tr>
<tr>
- <td> <p><br>
+ <td> <p>
+ <br>
linkUrl_1<br>
</p></td>
<td><p><br>
- http://us.expasy.org/cgi-bin/<br>
- niceprot.pl?$SEQUENCE_ID$</p>
+ http://www.ebi.ac.uk/ebisearch/<br/>search.ebi?db=allebi&query=$SEQUENCE_ID$</p>
</td>
</tr>
<tr>
new line in an alignment file must be entered as a parameter)</li>
</ul>
-</div>
-</div>
+
+<!-- content end -->
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<TITLE>Jalview - Applets</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <TITLE>JalviewLite Examples</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
-</script>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+ <div id ="nav">
+ <div id="navInner">
-<div id ="nav">
-<div id="navInner">
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
</div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
+<div id="sideNav">
+ <ul>
+ <li class="jvlite-nav-small"><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
+<div id="content" class="content">
- <div id="pageWrap">
- <div id="sideNav">
- <ul>
- <li class="jvlite-nav-title"><a href="applets.html">JalviewLite
- Examples</a></li>
- <li><a href="appletParameters.html">Applet Parameters</a></li>
- <li><a href="jalviewLiteJs.html">Javascript API</a></li>
- <li><a href="formComplete.html">in-page API demo</a></li>
- <li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
- <li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
- </ul>
- </div>
+<!-- boiler plate link to alternate demopage -->
- <div id="content" class="content">
- <p>JalviewLite is a web based version of Jalview, which runs as a
- Java applet in or on a web page. It's one of the easiest ways of
- providing an interactive display for precalculated alignments,
- features and annotations files. It lacks some functionality
- available in the Jalview Desktop, however, such as making images,
- saving files, and running web service jobs. This is mostly due to
- security restrictions imposed on applets.</p>
- <p align="left">
- Try out JalviewLite by pressing one of the buttons below. For more information on how to use the applet in your website, see the <a
- href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
- <div align="center">
- <p>
- <h2>Ferredoxins, chloroplast precursor related UniRef50
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_applets.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p> </p><div align="center">
+ <p align="center">
+ <h2>Ferredoxins, chloroplast precursor related UniRef50
cluster</h2>
- <br /> (15 sequences x 150 residues)
- </p>
- <table width="90%">
- <tr>
- <td width="10%" valign="center"><applet
- code="jalview.bin.JalviewLite" width="140" height="35"
- archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
- <param name="file" value="uniref50.fa">
- <param name="treeFile" value="ferredoxin.nw">
- <param name="userDefinedColour"
- value="C=yellow; R,K,H=FF5555; D,E=5555FF">
- <param name="showFullId" value="false">
- <param name="sortByTree" value="True">
- <param name="showSequenceLogo" value="true">
- <param name="showGroupConsensus" value="true">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- </applet></td>
+ <br /> (15 sequences x 150 residues)
+ </p>
+ <table width="90%">
+ <tr>
+ <td width="10%" valign="center">
+ <applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="treeFile" value="ferredoxin.nw"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="sortByTree" value="True"/>
+<param name="showSequenceLogo" value="true"/>
+<param name="showGroupConsensus" value="true"/>
+<param name="showFullId" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
<td valign="center">User Defined Colours, loads an associated
- Newick format tree file which is used to sort the alignment, and
- group consensus and sequence logos are shown below the alignment.</td>
- </tr>
- <tr>
+ Newick format tree file which is used to sort the alignment, and
+ group consensus and sequence logos are shown below the alignment.</td>
+ </tr>
+ <tr>
<td width="10%" valign="center"><applet
- code="jalview.bin.JalviewLite" width="140" height="35"
- archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
- <param name="file" value="uniref50.fa">
- <param name="features" value="exampleFeatures.txt">
- <param name="showFeatureSettings" value="true">
- <param name="wrap" value="true">
- <param name="showAnnotation" value="false">
- <param name="windowHeight" value="500">
- <param name="windowWidth" value="650">
- <param name="showFullId" value="false">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- </applet></td>
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="features" value="exampleFeatures.txt"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="showFeatureSettings" value="true"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
<td valign="center">Displays a features file on the alignment</td>
- </tr>
- <tr>
+ </tr>
+ <tr>
<td width="10%" valign="center"><applet
- code="jalview.bin.JalviewLite" width="140" height="35"
- archive="jalviewApplet.jar,JmolApplet-12.2.4.jar">
-<param name="permissions" value="sandbox">
- <param name="file" value="uniref50.fa">
- <!-- <param name="debug" value="true">
- -->
- <param name="defaultColour" value="Strand Propensity">
- <param name="wrap" value="true">
- <param name="showAnnotation" value="false">
- <param name="windowHeight" value="500">
- <param name="windowWidth" value="650">
- <param name="showFullId" value="false">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- <param name="PDBfile" value="1gaq.txt FER1_MAIZE">
- </applet></td>
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="jalviewApplet.jar,JmolApplet-12.2.4.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="uniref50.fa"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+<param name="defaultColour" value="Strand Propensity"/>
+<param name="PDBfile" value="1gaq.txt FER1_MAIZE"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
<td valign="center">Associates PDB file 1GAQ with sequence
- FER1_MAIZE</td>
- </tr>
- <tr>
- <td width="10%" valign="middle"><applet
- code="jalview.bin.JalviewLite" width="140" height="35"
- archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
- <param name="file" value="jpred_msa.fasta">
- <param name="jnetfile" value="jpred_msa.seq.concise">
- <param name="defaultColour" value="Clustal">
- <param name="showAnnotation" value="true">
- <param name="windowHeight" value="515">
- <param name="windowWidth" value="650">
- <param name="showConservation" value="false">
- <param name="showQuality" value="false">
- <param name="showConsensus" value="false">
- <param name="showFullId" value="false">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- </applet></td>
- <td valign="center">Displays a Multiple Sequence Alignment
- Based JNet Prediction for a Sequence</td>
- </tr>
- </table>
- <p>
+ FER1_MAIZE</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="jpred_msa.fasta"/>
+<param name="jnetfile" value="jpred_msa.seq.concise"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Clustal"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+ </td>
+ <td valign="middle">Displays a Multiple Sequence Alignment
+ Based JNet Prediction for a Sequence</td>
+ </tr>
+ </table>
+ <p>
<h2>RF00031 RFAM Alignment with per sequence secondary
- structure</h2>
- </p>
- <table width="90%">
- <tr>
+ structure</h2>
+ </p>
+ <table width="90%">
+ <tr>
<td width="10%" valign="center"><applet
- code="jalview.bin.JalviewLite" width="140" height="35"
- archive="jalviewApplet.jar">
-<param name="permissions" value="sandbox">
- <param name="file" value="RF00031_folded.stk">
- <param name="defaultColour" value="Purine/Pyrimidine">
- <param name="showAnnotation" value="true">
- <param name="windowHeight" value="515">
- <param name="windowWidth" value="650">
- <param name="showConservation" value="false">
- <param name="showQuality" value="false">
- <param name="showConsensus" value="true">
- <param name="showFullId" value="false">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- </applet></td>
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="RF00031_folded.stk"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Purine/Pyrimidine"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
<td valign="center">Displays an RFAM RNA fold family with
- secondary structure annotation</td>
- </tr>
- </table>
- </div>
- </div>
- </div>
+ secondary structure annotation</td>
+ </tr>
+ </table>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
</div>
</body>
</html>
-
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
#nav #navInner
{
margin-top:0x;
-#sddm\r
-{\r
- position:relative;\r
- top:0;\r
-}\r
-\r
-\r
-#sddm li a.download-right\r
-{\r
-position:relative;\r
-left:0;\r
-}\r
-\r
-#sddm li\r
-{\r
-padding-top:30px;\r
-padding-bottom:30px;\r
-}\r
-\r
-#sddm div\r
-{ position: absolute;\r
- visibility: hidden;\r
- margin: 0;\r
- padding: 0;\r
- background: #555;\r
- border: 1px solid #000000;\r
- top:80px;\r
- z-index:9999;\r
- width:120px;\r
-}\r
-\r
-\r
- #sddm div a\r
- { position: relative;\r
- display: block;\r
- margin: 0;\r
- padding:8px;\r
- width: 200px;\r
- white-space: nowrap;\r
- text-align: left;\r
- text-decoration: none;\r
- background: #555;\r
- color: #fff;\r
- border: 1px solid #000000;\r
- background: #555;\r
- z-index:100;\r
- left:-80px;\r
- }\r
- \r
- \r
-#nav\r
-{\r
-position:relative;\r
-z-index:2;\r
- clear:both;\r
- float:left;\r
- width:100%; /* width of whole page */\r
-}\r
-\r
-#content \r
-{\r
-position:relative;\r
-z-index:2;\r
- clear:both;\r
- float:left;\r
- width:100%; /* width of whole page */\r
-}\r
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
+#sddm
+{
+ position:relative;
+ top:0;
+}
+
+
+#sddm li a.download-right
+{
+position:relative;
+left:0;
+}
+
+#sddm li
+{
+padding-top:30px;
+padding-bottom:30px;
+}
+
+#sddm div
+{ position: absolute;
+ visibility: hidden;
+ margin: 0;
+ padding: 0;
+ background: #555;
+ border: 1px solid #000000;
+ top:80px;
+ z-index:9999;
+ width:120px;
+}
+
+
+ #sddm div a
+ { position: relative;
+ display: block;
+ margin: 0;
+ padding:8px;
+ width: 200px;
+ white-space: nowrap;
+ text-align: left;
+ text-decoration: none;
+ background: #555;
+ color: #fff;
+ border: 1px solid #000000;
+ background: #555;
+ z-index:100;
+ left:-80px;
+ }
+
+
+#nav
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
+
+#content
+{
+position:relative;
+z-index:2;
+ clear:both;
+ float:left;
+ width:100%; /* width of whole page */
+}
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
border-spacing: 0;
-}
\ No newline at end of file
+}
+/**
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+ */
@import url(http://fonts.googleapis.com/css?family=Lato);
@import url(http://fonts.googleapis.com/css?family=Oswald);
{
float:right;
width:555px;
-}
\ No newline at end of file
+}
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>Embedded viewing of Alignments
-</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
- <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+<head>
+ <TITLE>Embedded Alignment</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
-
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
-
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
-
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
-
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
-
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
-
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
-</script>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
-<div id ="nav">
-<div id="navInner">
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
</div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
+<div id="sideNav">
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li class="jvlite-nav-small"><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
+<div id="content" class="content">
-<div id="pageWrap">
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li class="jvlite-nav-small"><a href="embedded.html">Embedded applet demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_embedded.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
</div>
-<div id="content" class="content">
-<h1>Embedded viewing of Alignments</h1>
+<!-- content template start -->
+<h2>Embedded viewing of Alignments</h2>
<p>The alignment below was generated from the following files:
-<ul>
- <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
- FASTA format</li>
- <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
- Format Sequence Features file</li>
- <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
- Jalview Alignment Annotations File</li>
-</ul>
-<applet code="jalview.bin.JalviewLite"
- width="756" height="560" archive="jalviewApplet.jar">
- <param name="permissions" value="sandbox">
- <param name="file" value="plantfdx.fa">
- <param name="annotations" value="plantfdx.annotations">
- <param name="features" value="plantfdx.features">
- <param name="embedded" value="true">
- <param name="userDefinedColour"
- value="C=yellow; R,K,H=FF5555; D,E=5555FF">
- <param name="showFullId" value="false">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
- <param name="APPLICATION_URL"
- value="http://www.jalview.org/services/launchApp">
- </applet>
+ <ul>
+ <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+ FASTA format</li>
+ <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+ Format Sequence Features file</li>
+ <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+ Jalview Alignment Annotations File</li>
+ </ul>
+ <applet
+ code="jalview.bin.JalviewLite" width="756" height="560"
+ archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox"/>
+<param name="file" value="plantfdx.fa"/>
+<param name="features" value="plantfdx.features"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="showFullId" value="false"/>
+<param name="embedded" value="true"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
</p>
-</div>
-</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<TITLE>Embedded JalviewLite talking to externally managed Jmol</TITLE>
-<script>
-<!--//--><![CDATA[//><!--
+ <TITLE>Jalview and Jmol</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
-</script>
+ </script>
<script src="javascript/deployJava.js"></script>
<script src="jmol/Jmol.js"></script>
<script src="javascript/jquery-1.4.4.min.js"></script>
embedded : "true",
showFullId : "false",
RGB : "F2F2FF",
- linkLabel_1 : "SRS",
- linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
,
linkLabel_2 : "Uniprot"
,
- linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
APPLICATION_URL : "http://www.jalview.org/services/launchApp",
PDBfile : "1gaq.txt FER1_MAIZE",
permissions : "sandbox"
jmolSetCallback("pickCallback","_jmolpick");
modeltofiles+="1gaq.txt";
</script>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
- <!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
+</head>
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+<body>
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+
+ <div id ="nav">
+ <div id="navInner">
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
+ </div>
+<div id="pageWrap">
-</head>
+<div id="sideNav">
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li class="jvlite-nav-small"><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+<div id="content" class="content">
-<body>
+<!-- boiler plate link to alternate demopage -->
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_embeddedWJmol.html">the unsigned applet demos</a>
</div>
-
-
-<div id ="nav">
-<div id="navInner">
-
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
</div>
-
</div>
+<!-- content template start -->
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+ jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+ deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
+<!-- content template end -->
-<div id="pageWrap">
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li class="jvlite-nav-small"><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
-</div>
-<div id="content" class="content">
- <center>
- <script>
- jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
-</script>
- <script>
- deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
- </script>
- </center>
-</div>
-</div>
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
#-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
#
# 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.
#-------------------------------------------------------------------------------
ST-TURN-IIL 705b23
GAMMA-TURN-CLASSIC 788763
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<TITLE>JalviewLite Applet API and Form Complete Example</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <TITLE>Access from Javascript</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
-
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
-
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
-
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
-
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
-
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
-
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
-
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<script>
-<!--//--><![CDATA[//><!--
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
-</script>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
-<div id ="nav">
-<div id="navInner">
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
</div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
+<div id="sideNav">
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li class="jvlite-nav-small"><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
+<div id="content" class="content">
-<div id="pageWrap">
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li class="jvlite-nav-small"><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_formComplete.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
</div>
-<div id="content" class="content">
- <strong>Using the <a href="jalviewLiteJs.html">JalviewLite API</a> to fill out forms using data from JalviewLite<br></strong>
- Click the Javascript buttons below to interact with the Applet
- instance on the page.<br>
- View the source in your browser to see how it has been done. <br>
- <a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
- <applet code="jalview.bin.JalviewLite" width="0" height="0"
- archive="jalviewApplet.jar" name="Jalview">
- <param name="permissions" value="sandbox">
- <param name="file" value="plantfdx.fa">
- <param name="features" value="plantfdx.features">
- <param name="wrap" value="true">
- <param name="showAnnotation" value="false">
- <param name="windowHeight" value="500">
- <param name="windowWidth" value="650">
- <param name="showFullId" value="false">
- <param name="linkLabel_1" value="Uniprot">
- <param name="linkUrl_1"
- value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$">
- <param name="linkLabel_2" value="Expasy">
- <param name="linkUrl_2"
- value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$">
-<param name="hidefeaturegroups" value="uniprot" />
- <param name="showbutton" value="false" />
- </applet>
- <form name="exampleForm"><br>
- <br>
- <center><strong>Using the Jalview Applet for Input
- to an HTML Form</strong></center>
- <div align="center"><input type="button"
- onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
- value="Fill Form from Jalview" /> <br>
- <br>
- <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
- </form>
- <center><strong>Make a new View and Get and Set
- Group Display List</strong></center>
- <form name="groupForm">
- <div align="center"><input type="button"
- onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
- value="Get groups" /> <input type="button"
- onClick="document.applets.Jalview.newView()" value="new View" /> <br>
- <textarea name="groups" cols="55" rows="9"></textarea> <br>
- <input type="button"
- onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
- value="Display groups" /> <input type="button"
- onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
- value="Hide groups" /></div>
- </form>
- </div>
+<!-- content template start -->
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+ archive="jalviewApplet.jar" name="Jalview">
+
+ <param name="file" value="plantfdx.fa"/>
+ <param name="features" value="plantfdx.features"/>
+ <param name="wrap" value="true"/>
+ <param name="showAnnotation" value="false"/>
+ <param name="windowHeight" value="500"/>
+ <param name="windowWidth" value="650"/>
+ <param name="showFullId" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="Expasy">
+ <param name="linkUrl_2"
+ value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+ <param name="hidefeaturegroups" value="uniprot" />
+ <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+ <br/>
+ <center><strong>Using the Jalview Applet for Input
+ to an HTML Form</strong></center>
+ <div align="center"><input type="button"
+ onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+ value="Fill Form from Jalview" /> <br/>
+ <br/>
+ <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+ Group Display List</strong></center>
+<form name="groupForm">
+ <div align="center"><input type="button"
+ onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+ value="Get groups" /> <input type="button"
+ onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+ <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+ <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+ value="Display groups" /> <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+ value="Hide groups" /></div>
+</form>
</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
</div>
</body>
</html>
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+ <TITLE>Javascript API</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <title>JalviewLite API documentation</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
-
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
-
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
-
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
-
-// open hidden layer
-function mopen(id)
-{
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
// cancel close timer
mcancelclosetime();
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
-}
-// close showed layer
-function mclose()
-{
+ }
+ // close showed layer
+ function mclose()
+ {
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+ }
-// go close timer
-function mclosetime()
-{
+ // go close timer
+ function mclosetime()
+ {
closetimer = window.setTimeout(mclose, timeout);
-}
+ }
-// cancel close timer
-function mcancelclosetime()
-{
+ // cancel close timer
+ function mcancelclosetime()
+ {
if(closetimer)
{
- window.clearTimeout(closetimer);
- closetimer = null;
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
}
-}
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<!--//--><![CDATA[//><!--
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
-<div id ="nav">
-<div id="navInner">
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
</div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
+<div id="sideNav">
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li class="jvlite-nav-small"><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
+<div id="content" class="content">
-<div id="pageWrap">
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li class="jvlite-nav-small"><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedapplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
-</div>
+<!-- content start -->
+
-<div id="content" class="content">
<p>The jalviewLite applet's application programming interface (API) includes two components. A <a href="javascript/jalview.js">JalviewLite Javascript Library</a> and the <a href="#api">public methods on the JalviewLite applet</a>.
</p>
<h3>Notes</h3>
</pre>
-</div>
+<!-- content end -->
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
+
// default console to report messages
var _console = document.getElementById("stdout");
var _jvapps = new Array();
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
- <head><title>Opening JalviewLite from Javascript</title>
+ <TITLE>Javascript Launch</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
- <link href="css/reset.css" rel="stylesheet" type="text/css" />
- <link href="css/style.css" rel="stylesheet" type="text/css" />
-
<!--[if IE 6]>
- <link rel="stylesheet" type="text/css" href="css/ie6.css" />
-<![endif]-->
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
-<!--[if IE 7]>
- <link rel="stylesheet" type="text/css" href="css/ie7.css" />
-<![endif]-->
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
-<!-- dd menu -->
-<script type="text/javascript">
-<!--
-var timeout = 500;
-var closetimer = 0;
-var ddmenuitem = 0;
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
-// open hidden layer
-function mopen(id)
-{
- // cancel close timer
- mcancelclosetime();
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
- // close old layer
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
- // get new layer and show it
- ddmenuitem = document.getElementById(id);
- ddmenuitem.style.visibility = 'visible';
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
-}
-// close showed layer
-function mclose()
-{
- if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
-}
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
-// go close timer
-function mclosetime()
-{
- closetimer = window.setTimeout(mclose, timeout);
-}
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
-// cancel close timer
-function mcancelclosetime()
-{
- if(closetimer)
- {
- window.clearTimeout(closetimer);
- closetimer = null;
- }
-}
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
-// close layer when click-out
-document.onclick = mclose;
-// -->
-</script>
-<!--//--><![CDATA[//><!--
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
+ </script>
+
</head>
<body>
-<div id="header">
-<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
-<ul id="buttons">
-<li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
-</ul>
-</div>
-
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
-<div id ="nav">
-<div id="navInner">
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
-<ul id="sddm">
- <li><a href="http://www.jalview.org">Home</a></li>
- <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
- <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/about/documentation">Documentation</a>
- <a href="http://www.jalview.org/about/citation">Publications</a>
- <a href="http://www.jalview.org/about/credits">Credits</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/faq">FAQ</a></li>
- <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
- <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
- <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
- <a href="http://www.jalview.org/community/links">Links</a>
- <a href="http://www.jalview.org/community/community-news">Community News</a>
</div>
- </li>
- <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
- <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/development/release-history">Release History</a>
- <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
- <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
- <a href="http://www.jalview.org/development/development-news">Development News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
- <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
- <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
- <a href="http://www.jalview.org/training/training-news">Training News</a>
- </div>
- </li>
- <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
-</ul>
-<div style="clear:both"></div>
-</div>
+<div id="pageWrap">
+<div id="sideNav">
+ <ul>
+ <li ><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li class="jvlite-nav-small"><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
</div>
+<div id="content" class="content">
-<div id="pageWrap">
-<div id="sideNav">
-<ul>
-<li><a href="applets.html">JalviewLite Examples</a></li>
-<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a><ul><li class="jvlite-nav-small"><a href="javascriptLaunch.html">JalviewLite Button</a></li></ul></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li><a href="linkedApplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
-</ul>
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_javascriptLaunch.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
</div>
-<div id="content" class="content">
+<!-- content template start -->
<SCRIPT type="text/javascript">
/* <![CDATA[ // */
// From http://snipplr.com/view.php?codeview&id=1272
archive="jalviewApplet.jar" width="0" height="0">
<param name="debug" value="true"/>
<param name="showbutton" value="false"/>
-<param name="permissions" value="sandbox"/>
</applet>
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
<input type="button" name="Button1" value="Start"
onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
</form>
-
+<!-- content template end -->
-</div>
-</div>
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
</div>
</div>
</body>
-</head>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
-<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<title>Linked Jalview Applets Demo</title>
+ <TITLE>Linked JalviewLites</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="css/reset.css" rel="stylesheet" type="text/css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
-<script>
-<!--//--><![CDATA[//><!--
-var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
-//--><!]]>
-</script>
-<script src="http://www.java.com/js/deployJava.js"></script>
-<script src="javascript/jalview.js" language="javascript"></script>
-<script> //deployJava.debug="true";
-
- function lJvApp() {
- var jvapp = document.getElementById("jvapp");
- var jvfollower = document.getElementById("jvfollower");
- setConsole(document.getElementById("stdout"));
- //jvapp.setSeparator(""+jvapp.getSeparator());
- linkJvJmol(jvapp);
- };
-
- function lJvFollow() {
- var jvapp = document.getElementById("jvapp");
- var jvfollower = document.getElementById("jvfollower");
- //jvfollower.setSeparator(""+jvfollower.getSeparator());
- linkJvJmol(jvfollower);
- };
-</script>
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="css/ie6.css" />
document.onclick = mclose;
// -->
</script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
</head>
<div id="sideNav">
<ul>
<li><a href="applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
<li><a href="appletParameters.html">Applet Parameters</a></li>
-<li><a href="jalviewLiteJs.html">Javascript API</a></li>
-<li><a href="formComplete.html">in-page API demo</a></li>
-<li class="jvlite-nav-small"><a href="linkedApplets_ng.html">Two JalviewLites demo</a></li>
-<li><a href="embeddedWJmol.html">Jalview and Jmol demo</a></li>
+ <li ><a href="embedded.html">Embedded Alignment</a></li>
+ <li ><a href="embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="formComplete.html">Access from Javascript</a></li>
+ <li ><a href="javascriptLaunch.html">Javascript Launch</a></li>
+ <li class="jvlite-nav-small"><a href="linkedapplets_ng.html">Linked JalviewLites</a></li>
</ul>
</div>
<div id="content" class="content">
- <strong>JalviewLite Linked Applets Demo<br></strong>
- <p>The two applets below use <a href="JalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Examples aren't working ?<br/>Try <a href="u_linkedapplets_ng.html">the unsigned applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="jalviewApplet.jar">jalviewApplet.jar</a> and <a href="JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script> //deployJava.debug="true";
+
+ function lJvApp() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ setConsole(document.getElementById("stdout"));
+ //jvapp.setSeparator(""+jvapp.getSeparator());
+ linkJvJmol(jvapp);
+ };
+
+ function lJvFollow() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ //jvfollower.setSeparator(""+jvfollower.getSeparator());
+ linkJvJmol(jvfollower);
+ };
+</script>
+ <h2>JalviewLite Linked Applets Demo</h2>
+ <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
</p>
<script>
var attributes = {
embedded : "true",
showFullId : "false",
RGB : "F2F2FF",
- linkLabel_1 : "SRS",
- linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
-
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
,
linkLabel_2 : "Uniprot"
-
,
- linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
permissions : 'sandbox',
APPLICATION_URL : "http://www.jalview.org/services/launchApp"
};
embedded : "true",
showFullId : "false",
RGB : "F2F2FF",
- linkLabel_1 : "SRS",
- linkUrl_1 : "http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2"
-
- ,
- linkLabel_2 : "Uniprot"
-
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
,
- linkUrl_2 : "http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$",
+ linkLabel_2 : "Uniprot",
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
permissions : 'sandbox',
- APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp"
};
deployJava.runApplet(attributes, parameters, '1.6');
</script>
<p>
<!-- <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
<br>
- --><form name="console" id="console"><textarea name="output"
+ -->
+<form name="console" id="console">
+<textarea name="output"
id="stdout" rows="20" cols="80">Messages will appear here.</textarea></form>
<br>
</p>
-</div>
-</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
<div id ="footer">
<div id="innerFooter">
<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>JalviewLite Examples</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li class="jvlite-nav-small"><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="applets.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+
+<p align="left">
+<h2>JalviewLite Button Examples</h2>
+Try out JalviewLite by pressing one of the buttons below.<br/>
+ For more information on how to use the applet in your website, see the <a href="appletParameters.html"><strong>applet parameters</strong></a> and other documentation in the links to the left.</p>
+<p> </p><div align="center">
+ <p align="center">
+ <h2>Ferredoxins, chloroplast precursor related UniRef50
+ cluster</h2>
+ <br /> (15 sequences x 150 residues)
+ </p>
+ <table width="90%">
+ <tr>
+ <td width="10%" valign="center">
+ <applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="u_jalviewApplet.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="treeFile" value="ferredoxin.nw"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="sortByTree" value="True"/>
+<param name="showSequenceLogo" value="true"/>
+<param name="showGroupConsensus" value="true"/>
+<param name="showFullId" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+ <td valign="center">User Defined Colours, loads an associated
+ Newick format tree file which is used to sort the alignment, and
+ group consensus and sequence logos are shown below the alignment.</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="u_jalviewApplet.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="features" value="exampleFeatures.txt"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="showFeatureSettings" value="true"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+ <td valign="center">Displays a features file on the alignment</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="u_jalviewApplet.jar,u_JmolApplet-12.2.4.jar">
+<param name="file" value="uniref50.fa"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="500"/>
+<param name="windowWidth" value="650"/>
+<param name="wrap" value="true"/>
+<param name="showAnnotation" value="false"/>
+<param name="defaultColour" value="Strand Propensity"/>
+<param name="PDBfile" value="1gaq.txt FER1_MAIZE"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+ <td valign="center">Associates PDB file 1GAQ with sequence
+ FER1_MAIZE</td>
+ </tr>
+ <tr>
+ <td width="10%" valign="center"><applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="u_jalviewApplet.jar">
+<param name="file" value="jpred_msa.fasta"/>
+<param name="jnetfile" value="jpred_msa.seq.concise"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Clustal"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+ </td>
+ <td valign="middle">Displays a Multiple Sequence Alignment
+ Based JNet Prediction for a Sequence</td>
+ </tr>
+ </table>
+ <p>
+ <h2>RF00031 RFAM Alignment with per sequence secondary
+ structure</h2>
+ </p>
+ <table width="90%">
+ <tr>
+ <td width="10%" valign="center"><applet
+ code="jalview.bin.JalviewLite" width="140" height="35"
+ archive="u_jalviewApplet.jar">
+<param name="file" value="RF00031_folded.stk"/>
+<param name="showFullId" value="false"/>
+<param name="windowHeight" value="515"/>
+<param name="windowWidth" value="650"/>
+<param name="showAnnotation" value="true"/>
+<param name="defaultColour" value="Purine/Pyrimidine"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</td>
+ <td valign="center">Displays an RFAM RNA fold family with
+ secondary structure annotation</td>
+ </tr>
+ </table>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>Embedded Alignment</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li class="jvlite-nav-small"><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="embedded.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2>Embedded viewing of Alignments</h2>
+<p>The alignment below was generated from the following files:
+ <ul>
+ <li><a href="plantfdx.fa">plantfdx.fa</a> - Alignment file in
+ FASTA format</li>
+ <li><a href="plantfdx.features">plantfdx.features</a> - Jalview
+ Format Sequence Features file</li>
+ <li><a href="plantfdx.annotations">plantfdx.annotations</a> -
+ Jalview Alignment Annotations File</li>
+ </ul>
+ <applet
+ code="jalview.bin.JalviewLite" width="756" height="560"
+ archive="u_jalviewApplet.jar">
+<param name="file" value="plantfdx.fa"/>
+<param name="features" value="plantfdx.features"/>
+<param name="userDefinedColour" value="C=yellow; R,K,H=FF5555; D,E=5555FF"/>
+<param name="showFullId" value="false"/>
+<param name="embedded" value="true"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="EMBL-EBI Search"/>
+ <param name="linkUrl_2"
+ value="http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"/>
+ <param name="APPLICATION_URL"
+ value="http://www.jalview.org/services/launchApp"/>
+</applet>
+</p>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>Jalview and Jmol</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+<script src="javascript/deployJava.js"></script>
+<script src="jmol/Jmol.js"></script>
+<script src="javascript/jquery-1.4.4.min.js"></script>
+<script src="javascript/jquery.timer.js"></script>
+<script src="javascript/jquery.blockUI.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
+<!-- <script src="archive-min.js" language="javascript"></script>
+-->
+<script src="javascript/jalview.js" language="javascript"></script>
+<script language="JavaScript">
+// instead of this, we use a custom JmolApplet spec
+// jmolInitialize('jmol');
+jmolInitialize("","u_JmolApplet-12.2.4.jar");
+function genHref()
+{
+ var s1 = "ml:i@midd..", s2 = "atelcpoueau", s3 = "iomyob.neck", href="";
+ for(i=0; i<11; i++)
+ { href = href + s1.charAt(i) + s2.charAt(i) + s3.charAt(i);
+ }
+ window.location=href;
+}
+</script>
+<script>
+ var loglevel=1;
+ function dbg(lvl,string) {
+ if (_console && lvl<=loglevel) {_console.value += string + "\n";}
+ }
+ var _lastTime=new Date();
+ var _path;
+ var _datazip;
+ var _zip;
+ var alignA;
+ var alignB;
+ var featuresA;
+ var featuresB;
+ var pairs;
+ var atompairs;
+ var structdata;
+ var jmolview;
+ var jvstructassoc;
+ var modeltofiles = new Array();
+
+ function lJvA() {
+ jvfollower = document.getElementById("jvA");
+ setConsole(document.getElementById("stdout"));
+
+ sep = jvfollower.getSeparator();
+ //jvapp.setSeparator(""+jvapp.getSeparator());
+ linkJvJmol(jvfollower, "jmolView", modeltofiles);
+ };
+
+ var _jvA=new Object();
+ _jvA.attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : 'u_jalviewApplet.jar',
+ width : '500',
+ height : '350',
+ mayscript : 'True',
+ scriptable: 'True',
+ id : 'jvA'
+ };
+ _jvA.parameters = {
+ java_arguments : "-Xmx256m",
+ externalstructureviewer : "true",
+ oninit : "lJvA",
+ automaticScrolling : "true",
+// <!-- defaultColour : "Strand Propensity", -->
+ file : "uniref50_mz.fa",
+
+ relaxedidmatch : "true",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "false",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp",
+ PDBfile : "1gaq.txt FER1_MAIZE",
+ permissions : "sandbox"
+ };
+ jmolSetCallback("hoverCallback","_jmolhover");
+ jmolSetCallback("pickCallback","_jmolpick");
+ modeltofiles+="1gaq.txt";
+</script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li class="jvlite-nav-small"><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="embeddedWJmol.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2>Structure and Alignment</h2>
+<p>This demo shows how JalviewLite and Jmol can be integrated with the JalviewLite javascript library.</p>
+<center>
+ <script>
+ jmolApplet("500x500","zap; load FILE '1gaq.txt'; frame 0; select all; wireframe off; spacefill off; cartoons; restrict; center *; set selectionhalos true;select 0","jmolView");
+ </script>
+ <script>
+ deployJava.runApplet(_jvA.attributes, _jvA.parameters, '1.4');
+ </script>
+</center>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>Access from Javascript</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li class="jvlite-nav-small"><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="formComplete.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<h2><a href="jalviewLiteJs.html">JalviewLite API</a> Demo</h2>
+<p>Using the Javascript API to fill out forms using data from JalviewLite
+<br/>Click the Javascript buttons below to interact with the Applet
+instance on the page.</p>
+View the source in your browser to see how it has been done. <br/>
+<a name="api">View the full <a href="jalviewLiteJs.html">JalviewLite API documentation</a>.</a>
+<applet code="jalview.bin.JalviewLite" width="0" height="0"
+ archive="u_jalviewApplet.jar" name="Jalview">
+
+ <param name="file" value="plantfdx.fa"/>
+ <param name="features" value="plantfdx.features"/>
+ <param name="wrap" value="true"/>
+ <param name="showAnnotation" value="false"/>
+ <param name="windowHeight" value="500"/>
+ <param name="windowWidth" value="650"/>
+ <param name="showFullId" value="false"/>
+ <param name="linkLabel_1" value="Uniprot"/>
+ <param name="linkUrl_1"
+ value="http://www.uniprot.org/uniprot/$SEQUENCE_ID$"/>
+ <param name="linkLabel_2" value="Expasy">
+ <param name="linkUrl_2"
+ value="http://us.expasy.org/cgi-bin/niceprot.pl?$SEQUENCE_ID$"/>
+ <param name="hidefeaturegroups" value="uniprot" />
+ <param name="showbutton" value="false" />
+</applet>
+<form name="exampleForm"><br/>
+ <br/>
+ <center><strong>Using the Jalview Applet for Input
+ to an HTML Form</strong></center>
+ <div align="center"><input type="button"
+ onClick="document.forms.exampleForm.exampleTextarea.value=document.applets.Jalview.getAlignment('fasta', 'false')"
+ value="Fill Form from Jalview" /> <br/>
+ <br/>
+ <textarea name="exampleTextarea" cols="55" rows="9"></textarea></div>
+</form>
+<center><strong>Make a new View and Get and Set
+ Group Display List</strong></center>
+<form name="groupForm">
+ <div align="center"><input type="button"
+ onClick="document.forms.groupForm.groups.value=document.applets.Jalview.getFeatureGroups()"
+ value="Get groups" /> <input type="button"
+ onClick="document.applets.Jalview.newView()" value="new View" /> <br/>
+ <textarea name="groups" cols="55" rows="9"></textarea> <br/>
+ <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, true)"
+ value="Display groups" /> <input type="button"
+ onClick="document.applets.Jalview.setFeatureGroupState(document.forms.groupForm.groups.value, false)"
+ value="Hide groups" /></div>
+</form>
+</div>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>Javascript Launch</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li class="jvlite-nav-small"><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li ><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="javascriptLaunch.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+ <SCRIPT type="text/javascript">
+ /* <![CDATA[ // */
+// From http://snipplr.com/view.php?codeview&id=1272
+//----------------------------------------
+//Wrapper function for constructing a request object.
+// Parameters:
+// reqType: The HTTP request type, such as GET or POST.
+// url: The URL of the server program.
+// asynch: Whether to send the request asynchronously or not.
+//----------------------------------------
+
+function httpRequest(reqType,url,asynch,respHandle) {
+
+ // Mozilla-based browsers
+ if (window.XMLHttpRequest) {
+ request = new XMLHttpRequest();
+ } else if (window.ActiveXObject) {
+ request = new ActiveXObject("Msxml2.XMLHTTP");
+ if (!request) {
+ request = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ }
+
+ // Request could still be null if neither ActiveXObject
+ // initialization succeeded
+ if (request) {
+ // If the reqType param is POST, then the fifth arg is the POSTed data
+ if (reqType.toLowerCase() != "post") {
+ initReq(reqType, url, asynch, respHandle);
+ } else {
+ // The POSTed data
+ var args = arguments[5];
+ if (args != null && args.length > 0) {
+ initReq(reqType, url, asynch, respHandle, args);
+ }
+ }
+ } else {
+ alert("Your browser does not permit the use of all " +
+ "of this application's features!");
+ }
+
+}
+
+//----------------------------------------
+//Initialize a request object that is already constructed
+//----------------------------------------
+
+function initReq(reqType, url, bool, respHandle) {
+ try {
+ // Specify the function that will handle the HTTP response
+ request.onreadystatechange = respHandle;
+ request.open(reqType, url, bool);
+ // If the reqType param is POST, then the
+ // fifth argument to the function is the POSTed data
+ if (reqType.toLowerCase() == "post") {
+ // Set the Content-Type header for a POST request
+ request.setRequestHeader("Content-Type", "application/x-ww-form-urlencoded; charset=UTF-8");
+ request.send(arguments[4]);
+ } else {
+ request.send(null);
+ }
+ } catch (errv) {
+ alert("The application cannot contact the server at the moment. " +
+ "Please try again in a few seconds.\n" +
+ "Error detail: " + errv.message);
+ }
+}
+
+// jalview launching with fetched data
+
+function startJalview(aligURL,title,alwvar) {
+ var aligment = "";
+ httpRequest("get",aligURL,true,function() {
+ if (request.readyState == 4) {
+ alignment = request.responseText;
+ eval("var "+alwvar+" = document.JalviewLite.loadAlignment(alignment,title)");
+ }
+ })
+
+}
+
+/* ]]> */
+</SCRIPT>
+ <form name="Form1">
+<applet name="JalviewLite" code="jalview.bin.JalviewLite"
+archive="u_jalviewApplet.jar" width="0" height="0">
+<param name="debug" value="true"/>
+<param name="showbutton" value="false"/>
+</applet>
+
+<h2>Javascript Launch Button</h2><p>The button below demonstrates how JalviewLite can be launched via a javascript action.</p>
+
+ <input type="button" name="Button1" value="Start"
+onClick="startJalview('plantfdx.fa','Button1.alignment','alwvar')"/>
+ </form>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<head>
+ <TITLE>Linked JalviewLites</TITLE>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+
+ <link href="css/reset.css" rel="stylesheet" type="text/css" />
+ <link href="css/style.css" rel="stylesheet" type="text/css" />
+
+ <!--[if IE 6]>
+ <link rel="stylesheet" type="text/css" href="css/ie6.css" />
+ <![endif]-->
+
+ <!--[if IE 7]>
+ <link rel="stylesheet" type="text/css" href="css/ie7.css" />
+ <![endif]-->
+
+ <!-- dd menu -->
+ <script type="text/javascript">
+ <!--
+ var timeout = 500;
+ var closetimer = 0;
+ var ddmenuitem = 0;
+
+ // open hidden layer
+ function mopen(id)
+ {
+ // cancel close timer
+ mcancelclosetime();
+
+ // close old layer
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+
+ // get new layer and show it
+ ddmenuitem = document.getElementById(id);
+ ddmenuitem.style.visibility = 'visible';
+
+ }
+ // close showed layer
+ function mclose()
+ {
+ if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
+ }
+
+ // go close timer
+ function mclosetime()
+ {
+ closetimer = window.setTimeout(mclose, timeout);
+ }
+
+ // cancel close timer
+ function mcancelclosetime()
+ {
+ if(closetimer)
+ {
+ window.clearTimeout(closetimer);
+ closetimer = null;
+ }
+ }
+
+ // close layer when click-out
+ document.onclick = mclose;
+ // -->
+ </script>
+ <script>
+ <!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+ </script>
+
+</head>
+
+
+<body>
+
+
+ <div id="header">
+ <div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
+ <ul id="buttons">
+ <li id="applet"><a href="applets.html" title="applet"></a></li>
+ <li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
+ </ul>
+ </div>
+
+
+ <div id ="nav">
+ <div id="navInner">
+
+ <ul id="sddm">
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/about/documentation">Documentation</a>
+ <a href="http://www.jalview.org/about/citation">Publications</a>
+ <a href="http://www.jalview.org/about/credits">Credits</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+ <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+ <a href="http://www.jalview.org/community/links">Links</a>
+ <a href="http://www.jalview.org/community/community-news">Community News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/development/release-history">Release History</a>
+ <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+ <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+ <a href="http://www.jalview.org/development/development-news">Development News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+ <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+ <a href="http://www.jalview.org/training/training-news">Training News</a>
+ </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
+ </ul>
+ <div style="clear:both"></div>
+ </div>
+
+ </div>
+<div id="pageWrap">
+
+<div id="sideNav">
+ <ul>
+ <li ><a href="u_applets.html">JalviewLite Examples</a></li>
+ <li ><a href="jalviewLiteJs.html">Javascript API</a></li>
+ <li ><a href="appletParameters.html">Applet Parameters</a></li>
+ <li ><a href="u_embedded.html">Embedded Alignment</a></li>
+ <li ><a href="u_embeddedWJmol.html">Jalview and Jmol</a></li>
+ <li ><a href="u_formComplete.html">Access from Javascript</a></li>
+ <li ><a href="u_javascriptLaunch.html">Javascript Launch</a></li>
+ <li class="jvlite-nav-small"><a href="u_linkedapplets_ng.html">Linked JalviewLites</a></li>
+ </ul>
+</div>
+
+<div id="content" class="content">
+
+
+<!-- boiler plate link to alternate demopage -->
+
+<div style="width: 100%">
+<div style="width:35%; align:left; float:right;">
+<div style="margin:8px; padding:8px; border: 2px solid black; align: center; float:center;">
+ Scary Java warnings ?<br/>Try <a href="linkedapplets_ng.html">the signed applet demos</a>
+</div>
+<div style="margin:8px; padding:10px; align: left;">
+<p>Quick Links to jars for example:<br/><a href="u_jalviewApplet.jar">jalviewApplet.jar</a> and <a href="u_JmolApplet-12.2.4.jar">JmolApplet.jar</a>
+</p></div>
+</div>
+</div>
+
+<!-- content template start -->
+<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/jalview.js" language="javascript"></script>
+<script> //deployJava.debug="true";
+
+ function lJvApp() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ setConsole(document.getElementById("stdout"));
+ //jvapp.setSeparator(""+jvapp.getSeparator());
+ linkJvJmol(jvapp);
+ };
+
+ function lJvFollow() {
+ var jvapp = document.getElementById("jvapp");
+ var jvfollower = document.getElementById("jvfollower");
+ //jvfollower.setSeparator(""+jvfollower.getSeparator());
+ linkJvJmol(jvfollower);
+ };
+</script>
+ <h2>JalviewLite Linked Applets Demo</h2>
+ <p>The two applets below use <a href="jalviewLiteJs.html">JalviewLite's javascript API</a> to exchange events about the currently selected region and mouse position in the alignment.
+ </p>
+ <script>
+ var attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : 'u_jalviewApplet.jar',
+ width : 800,
+ height : 300,
+ mayscript : 'True', scriptable: 'True',
+ id : 'jvapp'
+ };
+ var parameters = {
+ oninit : "lJvApp",
+ automaticScrolling : "true",
+ file : "plantfdx.fa",
+ annotations : "plantfdx.annotations",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "true",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ permissions : 'sandbox',
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+ };
+
+ deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+<script>
+ var attributes = {
+ code : 'jalview.bin.JalviewLite',
+ archive : 'u_jalviewApplet.jar',
+ width : 800,
+ height : 300,
+ mayscript : 'True', scriptable: 'True',
+ id : "jvfollower"
+ };
+ var parameters = {
+ oninit : "lJvFollow",
+ file : "plantfdx.fa",
+ annotations : "plantfdx.annotations",
+ automaticScrolling : "true",
+ debug : "true",
+ wrap : "false",
+ // separator : "^",
+ showAnnotation : "true",
+ embedded : "true",
+ showFullId : "false",
+ RGB : "F2F2FF",
+ linkLabel_1 : "EMBL-EBI Search",
+ linkUrl_1 : "http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"
+ ,
+ linkLabel_2 : "Uniprot"
+ ,
+ linkUrl_2 : "http://www.uniprot.org/uniprot/$SEQUENCE_ID$",
+ permissions : 'sandbox',
+ APPLICATION_URL : "http://www.jalview.org/services/launchApp"
+ };
+ deployJava.runApplet(attributes, parameters, '1.6');
+</script>
+ <p>
+<!-- <a href="javascript:linkJvJmol()">Click Me If you don't see any messages below</a>
+ <br>
+ -->
+<form name="console" id="console">
+<textarea name="output"
+ id="stdout" rows="20" cols="80">Messages will appear here.</textarea></form>
+ <br>
+</p>
+<!-- content template end -->
+
+
+
+</div> <!-- end content div -->
+
+</div> <!-- content -->
+</div> <!-- pagewrap -->
+<div id ="footer">
+<div id="innerFooter">
+<div id="copyright"><p>Published under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC-SA 3.0</a></p></div>
+<div id="cite">
+<p>
+If you use Jalview in your work, please cite this publication:
+</p>
+<br />
+<p>
+Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+"Jalview Version 2 - a multiple sequence alignment editor and analysis workbench"
+Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatics/btp033">doi: 10.1093/bioinformatics/btp033</a>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
<?xml version="1.0" encoding="ISO-8859-1" ?>\r
<!--\r
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)\r
+ * Copyright (C) 2014 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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
+ * The Jalview Authors are detailed in the 'AUTHORS' file.\r
-->\r
<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">\r
<helpset version="1.0">\r
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
<map version="1.0">
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
<toc version="1.0">
<tocitem text="Jalview Documentation" target="home" expand="true" >
- <tocitem text="What's new" target="new" expand="true">
- <tocitem text="Protein Disorder Prediction" target="disorder"/>
- <tocitem text="Alignment Conservation Analysis" target="aacon"/>
- <tocitem text="RNAalifold RNA Secondary Structure Prediction" target="rnaalifold"/>
- <tocitem text="Viewing RNA structure" target="varna" />
- <tocitem text="RNA Structure Consensus" target="calcs.alstrconsensus"/>
- <tocitem text="RNA Helices coloring" target="colours.rnahelices"/>
- <tocitem text="HTML annotation report" target="io.seqreport"/>
- <tocitem text="T-COFFEE Alignment Score display" target="io.tcoffeescores"/>
- <tocitem text="Per-sequence Annotation Colouring" target="colours.annotation"/>
- <tocitem text="Sequence Database Retrieval Dialog" target="seqfetch"/>
- <tocitem text="JABAWS Web Service Preferences" target="wsprefs"/>
- <tocitem text="DNA or Protein PCA calculation" target="pca"/>
- <tocitem text="Normalised sequence logo display" target="calcs.consensus"/>
- </tocitem>
- <tocitem text="Editing Alignments" target ="edit"/>
- <tocitem text="Cursor Mode" target="cursor"/>
- <tocitem text="Key Strokes" target="keys"/>
+ <tocitem text="What's new" target="new" expand="true">
+ <tocitem text="Protein Disorder Prediction" target="disorder"/>
+ <tocitem text="Alignment Conservation Analysis" target="aacon"/>
+ <tocitem text="RNAalifold RNA Secondary Structure Prediction" target="rnaalifold"/>
+ </tocitem>
+ <tocitem text="Editing Alignments" target ="edit"/>
+ <tocitem text="Cursor Mode" target="cursor"/>
+ <tocitem text="Key Strokes" target="keys"/>
<tocitem text="Input / Output" target="io"/>
<tocitem text="Making Figures" target="export"/>
<tocitem text="Hidden Regions" target="hiddenRegions"/>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment Consensus Annotation</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment Conservation Annotation</title></head>
<body><p><strong>Alignment Conservation Annotation</strong></p>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Pairwise Alignment</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Principal Component Analysis</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment Quality Annotation</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Viewing Input Data to PCA and Tree calculations</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Removing Redundancy</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Substitution matrices in Jalview</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Sorting Sequences</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment RNA Structure Consensus Annotation</title></head>
<body><p><strong>Alignment RNA Structure Consensus Annotation</strong></p>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Tree Calculation</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>The Tree Viewing Window</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Above PID Colours</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Annotation Colouring</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Blosum Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Buried Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Clustal Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Colouring by Conservation</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Helix Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Hydrophobic Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Colour Schemes</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Nucleotide Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Percentage Identity Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Purine/Pyrimidine Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>RNA Helices Colouring</title></head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Strand Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Taylor Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
Background Dependent Text Colour
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Turn Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>User Defined Colours</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Zappo Colour Scheme</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Editing</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment Annotation</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>The Alignment Annotations File</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<title>Jalview Command Line Arguments
</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>DNA Sequence Coding Region Definition</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Running Jalview from the command line</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Creating Sequence Features</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Cursor Mode</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>DAS Features</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>DAS Settings</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Amending or Deleting Sequence Features</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Sequence feature colour schemes</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Sequence Feature Settings Dialog Box</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Groovy Shell</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Hidden Regions</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Jalview Archives</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>The Jmol PDB Viewer</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Multiple Alignment Views</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<title>New Key Strokes and Menus</title>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Overview Window</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>PDB Viewer</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Preferences</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Search</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Sequence Features</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Sequence Fetcher</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Mapping Between Different Sequences</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>The VARNA RNA Viewer</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>PDB Viewing</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Wrap Alignment</title></head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Jalview Documentation</title></head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Exporting alignments as artwork</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Viewing and exporting sequence annotation reports</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Fileformats</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Input/Output</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Modeller PIR Format IO</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>T-COFFEE Annotation Scores</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Jalview local Jnlp File</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Key Strokes</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Memory Settings</title></head>
<body>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Window Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Annotation Panel Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Window Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Alignment Window Menus</title></head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Window Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Window Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<p><strong>Alignment Window Format Menu</strong></p>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><body>
<p><strong>Alignment Window Select Menu</strong></p>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Alignment Window Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Desktop Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Jalview's Menus</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Popup Menu</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Web Service Menu</title></head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Amino Acid Properties</title>
</head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Amino Acids</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head><title>Genetic Code</title>
<style type="text/css">
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Nucleic Acid Support</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Jalview Privacy Statement</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Release History</title>
<div align="center"><em><strong>Issues Resolved</strong></em></div>
</td>
</tr>
+ <tr>
+ <td><div align="center">
+ <strong><a name="Jalview.2.8.0b1">2.8.0b1</a><br/><em>30/1/2014</em></strong>
+ </div>
+ </td>
+ <td>
+ <ul>
+ <li>Trusted certificates for JalviewLite applet and
+ Jalview Desktop application<br />Certificate was donated by
+ <a href="https://www.certum.eu">Certum</a> to the Jalview
+ open source project).
+ </li>
+ <li>Jalview SRS links replaced by Uniprot and EBI-search
+ </li>
+ <li>Output in Stockholm format</li>
+ <li>Allow import of data from gzipped files</li>
+ <li>Export/import group and sequence associated line
+ graph thresholds</li>
+ <li>Nucleotide substitution matrix that supports RNA and
+ ambiguity codes</li>
+ <li>Allow disorder predictions to be made on the current
+ selection (or visible selection) in the same way that JPred
+ works</li>
+ <li>Groovy scripting for headless jalview operation</li>
+ </ul> <em>Other improvements</em>
+ <ul>
+ <li>Upgrade desktop installer to InstallAnywhere 2013</li>
+ <li>COMBINE statement uses current SEQUENCE_REF and
+ GROUP_REF scope to group annotation rows</li>
+ <li>Support '' style escaping of quotes in Newick
+ files</li>
+ <li>Group options for JABAWS service by command line name</li>
+ <li>Empty tooltip shown for JABA service options with a
+ link but no description</li>
+ <li>Select primary source when selecting authority in
+ database fetcher GUI</li>
+ <li>Add .mfa to FASTA file extensions recognised by
+ Jalview</li>
+ <li>Annotation label tooltip text wrap</li>
+ </ul>
+ </td>
+ <td>
+ <ul>
+ <li>Slow scrolling when lots of annotation rows are
+ displayed</li>
+ <li>Lots of NPE (and slowness) after creating RNA
+ secondary structure annotation line</li>
+ <li>Sequence database accessions not imported when
+ fetching alignments from Rfam</li>
+ <li>Incorrect SHMR submission for sequences with
+ identical IDs</li>
+ <li>View all structures does not always superpose
+ structures</li>
+ <li>Option widgets in service parameters not updated to
+ reflect user or preset settings</li>
+ <li>Null pointer exceptions for some services without
+ presets or adjustable parameters</li>
+ <li>Discover PDB IDs entry in structure menu doesn't
+ discover PDB xRefs</li>
+ <li>Exception encountered while trying to retrieve
+ features with DAS</li>
+ <li>Lowest value in annotation row isn't coloured
+ when colour by annotation (per sequence) is coloured</li>
+ <li>Keyboard mode P jumps to start of gapped region when
+ residue follows a gap</li>
+ <li>Jalview appears to hang importing an alignment with
+ Wrap as default or after enabling Wrap</li>
+ <li>'Right click to add annotations' message
+ shown in wrap mode when no annotations present</li>
+ <li>Disorder predictions fail with NPE if no automatic
+ annotation already exists on alignment</li>
+ <li>oninit javascript function should be called after
+ initialisation completes</li>
+ <li>Remove redundancy after disorder prediction corrupts
+ alignment window display</li>
+ <li>Example annotation file in documentation is invalid</li>
+ <li>Grouped line graph annotation rows are not exported
+ to annotation file</li>
+ <li>Multi-harmony analysis cannot be run when only two
+ groups created</li>
+ <li>Cannot create multiple groups of line graphs with
+ several 'combine' statements in annotation file</li>
+ <li>Pressing return several times causes Number Format
+ exceptions in keyboard mode</li>
+ <li>Multi-harmony (SHMMR) method doesn't submit
+ correct partitions for input data</li>
+ <li>Translation from DNA to Amino Acids fails</li>
+ <li>Jalview fail to load newick tree with quoted label</li>
+ <li>--headless flag isn't understood</li>
+ <li>ClassCastException when generating EPS in headless
+ mode</li>
+ <li>Adjusting sequence-associated shading threshold only
+ changes one row's threshold</li>
+ <li>Preferences and Feature settings panel panel
+ doesn't open</li>
+ </ul>
+ </td>
+ </tr>
<tr>
<td><div align="center">
<strong><a name="Jalview2.8">2.8</a></strong><br /> <em>12/11/2012</em>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>VAMSAS Interoperation</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>AACon Web Service</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>The JABAWS system</title>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
- *
- * 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/>.
--->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Database Reference Fetching
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<html>
<head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>JNet Secondary Structure Prediction</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Multiple Sequence Alignment Web Service</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>Jalview Desktop RSS News Reader
</head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>JABAWS Protein Disorder Prediction Services</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>Multi-Group Sequence Harmony and Multi-Relief</title>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
Opening URLs from Jalview
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<html>
<head>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<html>
<head>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
-->
<head>
<title>What's new ?</title>
</head>
<body>
- <p>
- <strong>What's new ?</strong><br/>
- Jalview 2.8 includes a number of enhancements and new features that
- have been in development since July 2010. It is also the first Jalview
- release to incorporate RNA visualization features developed by Lauren
- Lui and Jan Engelhart during their Google Summer of Code projects
- (http://code.google.com/soc/). As usual you can find the highlights
- below, but to see the comprehensive list take a look at the look at
- the <a href="releases.html#Jalview2.8">Jalview 2.8 Release Notes</a>.
- </p>
- <strong>Highlights in Jalview Version 2.8</strong>
- <ul>
- <li><strong>Improved <a href="webServices/JABAWS.html">JABAWS</a>
- client and new JABAWS 2.0 Services
- </strong>
- <ul>
- <li><a href="webServices/AACon.html">AACon alignment
- conservation</a></li>
- <li><a href="webServices/proteinDisorder.html">Protein
- disorder</a> - DisEMBL, RONN, GlobPlot and IUPred</li>
- <li>Clustal Omega for creating huge protein alignments</li>
- </ul></li>
- <li><strong><a href="na/index.html">RNA</a></strong>
- <ul>
- <li>Import sequence and alignment associated WUSS or VIENNA
- dot-bracket notation from files and the <strong>RFAM</strong>
- database
- </li>
- <li>Interactive editing of RNA secondary structure annotation</li>
- <li>Colour scheme for purine/pyrimidine and to highlight RNA
- helices</li>
- <li>RNA canonical <a
- href="calculations/structureconsensus.html">base pair consensus
- score</a> and sequence logo
- </li>
- <li>Embedded <a href="features/varna.html">VARNA</a> RNA
- secondary structure viewer in the Desktop
- </li>
- </ul></li>
- <li>Parse and display <a href="io/tcoffeescores.html">T-COFFEE
- alignment quality scores</a> (thanks to Paolo di Tomasso of the Notredame
- Group)
- </li>
- <li><a href="colourSchemes/annotationColouring.html">Per
- sequence alignment annotation shading</a></li>
- <li>Enhanced <a href="calculations/pca.html">PCA viewer</a>: more
- export options, and switch between different PCA modes and residue
- score models
- </li>
- <li>New Jalview Desktop <a href="webServices/dbreffetcher.html">database
- fetcher</a> GUI
- </li>
- <li>Support for DAS 1.6 and DAS 2.0 sources (thanks to the new
- JDAS Distributed Annotation client library (see
- http://code.google.com/p/jdas))</li>
- <li>Export sequence database annotation as an <a
- href="io/exportseqreport.html">HTML report</a></li>
- <li>Normalised <a href="calculations/consensus.html">Sequence
- Logo Display</a></li>
- </ul>
- <p>
- <strong>Issues resolved in the Jalview Desktop</strong>
- </p>
- <ul>
- <li>PDB, Unprot and EMBL (ENA) databases retrieved via wsdbfetch
- REST service</li>
- <li>Stop windows being moved outside desktop on OSX</li>
- <li>Jnet job queues forever if a very short sequence is submitted
- for prediction</li>
- <li>Structure view highlighting doesn't work on windows 7</li>
- <li>Jalview desktop fails to launch with exception when using
- proxy</li>
- <li>DAS Sequence retrieval with range qualification results in
- sequence xref which includes range qualification</li>
- <li>Cannot close news reader when JABAWS server warning dialog is
- shown</li>
- <li>Edited sequence not submitted to web service</li>
- <li>Jalview 2.7 InstallAnywhere installer doesn't unpack and run
- on OSX Mountain Lion
- <ul>
- <li>If you use webstart then you may need to go into the
- Security panel (<em>a.k.a</em> the gatekeeper) in your System
- Settings, and select the 'allow any code to run' option.
- </li>
- </ul>
- </li>
- </ul>
- <p>
- <strong>Issues specific to the JalviewLite Applet</strong>
- </p>
- <ul>
- <li>Sequence features are momentarily displayed before they are
- hidden using hidefeaturegroups applet parameter</li>
- <li>loading features via javascript API automatically enables
- feature display</li>
- <li>scrollToColumnIn javascript API method doesn't work</li>
- </ul>
- <p>
- <strong>Issues affecting both applet and application</strong>
- </p>
- <ul>
- <li>Redundancy removal fails for rna alignment</li>
- <li>PCA window shows grey box when first opened on OSX</li>
- <li>Letters coloured pink in sequence logo when alignment
- coloured with clustalx</li>
- </ul>
+ <p>
+ <strong>What's new ?</strong><br /> Jalview 2.8.0b1 is a bugfix
+ release for Jalview version 2.8. <br /> As usual you can find the
+ highlights below, and the comprehensive list is given in the <a
+ href="releases.html#Jalview2.8.0b1">Jalview 2.8.0b1 Release Notes</a>.
+ </p>
+ <p>
+ This bug fix release includes numerous minor enhancements made over
+ the last 12 months. Importantly, it is also the first release that
+ provides Jalview as a trusted application, signed with a certificate
+ donated to us by <a href="certum.eu">Certum</a>.
+ </p>
+ <strong>Enhancements and new features</strong>
+ <ul>
+ <li>Allow disorder predictions to be made on the current
+ selection (or visible selection) in the same way that JPred works</li>
+ <li>allow import of data from gzipped files</li>
+ <li>Improved per-sequence 'colour-by-annotation' performance</li>
+ <li>Support '' style escaping of quotes in Newick files</li>
+ <li>group options for JABAWS service by command line name</li>
+ <li>Select primary source when selecting authority in database
+ fetcher GUI</li>
+ <li>COMBINE statement uses current SEQUENCE_REF and GROUP_REF
+ scope to group annotation rows</li>
+ <li>add .mfa to FASTA file extensions recognised by Jalview</li>
+ <li>groovy scripting for headless jalview operation</li>
+ <li>Output in Stockholm format</li>
+ </ul>
+ <strong>Bug fixes</strong>
+ <ul>
+ <li>Uniprot and PDB database cross-reference fetching works
+ properly</li>
+ <li>'View all structures' in the desktop is more reliable</li>
+ <li>Web services parameter dialog box shows the options enabled
+ for different presets</li>
+ <li>Interactive creation of RNA secondary structure works more
+ smoothly</li>
+ <li>Keyboard mode 'P' command jumps to the right place</li>
+ <li>Improved support for parsing database cross-references via
+ Stockholm and Rfam database</li>
+ <li>Improved semantics in annotation files for grouping
+ annotation rows associated with particular sequences and groups</li>
+ <li>More robust DNA->Amino acid translation</li>
+ <li>Improved Headless-mode operation for DAS annotation
+ retrieval, groovy script execution and alignment figure generation</li>
+ <li>annotation label tooltip text needs to be wrapped</li>
+ </ul>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<jalopy>
<general>
-<?xml version="1.0" encoding="UTF-8"?><!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
-
- 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/>.
- -->
-
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
<!-- You may freely edit this file. See commented blocks below for -->
<!-- some examples of how to customize the build. -->
<!-- (If you delete it and reopen the project it will be recreated.) -->
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<project xmlns="http://www.netbeans.org/ns/project/1">
<type>org.netbeans.modules.java.j2seproject</type>
-YEAR=2011
-AUTHORS=J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-AUTHORFNAMES=Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton
+YEAR=2014
+AUTHORS=J Procter, AM Waterhouse, LM Lui, J Engelhardt, N Sherstnev, G Barton, M Clamp, S Searle
+AUTHORFNAMES=Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Natasha Sherstnev, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton
\ No newline at end of file
<?xml version="1.0"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<mapping xmlns="http://castor.exolab.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://castor.exolab.org/ ../schemas/castor-mapping.xsd">
label.user_defined_colours = User defined colours\r
label.jalviewLite_release = JalviewLite - Release {0}\r
label.jaview_build_date = Build date: {0}\r
-label.jalview_authors_1 = Authors: Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,\r
-label.jalview_authors_2 = Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.\r
+label.jalview_authors_1 = Authors: : Jim Procter, Andrew Waterhouse, Lauren Lui, Jan Engelhardt, Natasha Sherstnev,\r
+label.jalview_authors_2 = Daniel Barton, Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.\r
label.jalview_dev_managers = Development managed by The Barton Group, University of Dundee, Scotland, UK.\r
label.jalview_distribution_lists = For help, see the FAQ at www.jalview.org and/or join the jalview-discuss@jalview.org mailing list\r
label.jalview_please_cite = If you use Jalview, please cite:\r
label.enter_value_increase_conservation_visibility = Enter value to increase conservation visibility\r
label.enter_percentage_identity_above_which_colour_residues = Enter % identity above which to colour residues\r
label.wswublast_client_credits = To display sequence features an exact Uniprot id with 100% sequence identity match must be entered.\nIn order to display these features, try changing the names of your sequences to the ids suggested below.\n\nRunning WSWUBlast at EBI.\nPlease quote Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez R.\nSOAP-based services provided by the European Bioinformatics Institute.\nNucleic Acids Res. 33(1):W25-W28 (2005));\r
-label.blasting_for_unidentified_sequence = BLASTing for unidentified sequences
\ No newline at end of file
+label.blasting_for_unidentified_sequence = BLASTing for unidentified sequences
<?xml version="1.0"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<mapping>
<class name="jalview.datamodel.UniprotFile">
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="www.jalview.org/xml/wsparamset">
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!--DOCTYPE schema PUBLIC "-//W3C/DTD XML Schema Version 1.0//EN"
"http://www.w3.org/TR/2000/WD-xmlschema-1-20000225/structures.dtd"-->
-###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
#
# 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.
+##
#
# Property file for SourceCodeGenerator for jalview project XML for parsing without descriptors
#
-###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
#
# 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.
+##
#
# Property file for SourceCodeGenerator for jalview project XML
#
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" xmlns:jalview="www.jalview.org/colours" xmlns:jv="www.jalview.org" xmlns:jvws="www.jalview.org/xml/wsparamset" targetNamespace="www.jalview.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="www.vamsas.ac.uk/jalview/version2" schemaLocation="vamsas.xsd"/>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vamsas="www.vamsas.org"
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.ac.uk/jalview/version2" targetNamespace="www.vamsas.ac.uk/jalview/version2" elementFormDefault="qualified" attributeFormDefault="unqualified">
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!-- edited with XMLSpy v2006 sp1 U (http://www.altova.com) by ioh[ (o[ih[oh) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vamsas="www.vamsas.org" targetNamespace="www.vamsas.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 MCview;
###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
-# Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
-#
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
###############################################################################
# THE CASTOR PROPERTIES FILE\r
# This file specifies values for Castor run-time which may be configured\r
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 ext.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/* Author: Lauren Michelle Lui
* Methods are based on RALEE methods http://personalpages.manchester.ac.uk/staff/sam.griffiths-jones/software/ralee/
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
import java.util.*;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.analysis;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.api;
/**
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
}
}
+ {
+ // upgrade old SRS link
+ int srsPos = links
+ .indexOf("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+ if (srsPos > -1)
+ {
+ links.setElementAt(
+ "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$",
+ srsPos);
+ }
+ }
if (links.size() < 1)
{
links = new java.util.Vector();
- links.addElement("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+ links.addElement("EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
}
}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.bin;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.bin;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.bin;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.bin;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.binding;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.commands;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.datamodel.xdb.embl;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ext.jmol;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ext.jmol;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ext.varna;
import java.awt.event.*;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ext.varna;
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import jalview.analysis.AAFrequency;\r
-import jalview.analysis.AlignmentSorter;\r
-import jalview.analysis.Conservation;\r
-import jalview.analysis.CrossRef;\r
-import jalview.analysis.NJTree;\r
-import jalview.analysis.ParseProperties;\r
-import jalview.analysis.SequenceIdMatcher;\r
-import jalview.api.AlignViewControllerI;\r
-import jalview.bin.Cache;\r
-import jalview.commands.CommandI;\r
-import jalview.commands.EditCommand;\r
-import jalview.commands.OrderCommand;\r
-import jalview.commands.RemoveGapColCommand;\r
-import jalview.commands.RemoveGapsCommand;\r
-import jalview.commands.SlideSequencesCommand;\r
-import jalview.commands.TrimRegionCommand;\r
-import jalview.datamodel.AlignedCodonFrame;\r
-import jalview.datamodel.Alignment;\r
-import jalview.datamodel.AlignmentAnnotation;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.AlignmentOrder;\r
-import jalview.datamodel.AlignmentView;\r
-import jalview.datamodel.ColumnSelection;\r
-import jalview.datamodel.PDBEntry;\r
-import jalview.datamodel.SeqCigar;\r
-import jalview.datamodel.Sequence;\r
-import jalview.datamodel.SequenceGroup;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.io.AlignmentProperties;\r
-import jalview.io.AnnotationFile;\r
-import jalview.io.FeaturesFile;\r
-import jalview.io.FileLoader;\r
-import jalview.io.FormatAdapter;\r
-import jalview.io.HTMLOutput;\r
-import jalview.io.IdentifyFile;\r
-import jalview.io.JalviewFileChooser;\r
-import jalview.io.JalviewFileView;\r
-import jalview.io.JnetAnnotationMaker;\r
-import jalview.io.NewickFile;\r
-import jalview.io.TCoffeeScoreFile;\r
-import jalview.jbgui.GAlignFrame;\r
-import jalview.schemes.Blosum62ColourScheme;\r
-import jalview.schemes.BuriedColourScheme;\r
-import jalview.schemes.ClustalxColourScheme;\r
-import jalview.schemes.ColourSchemeI;\r
-import jalview.schemes.ColourSchemeProperty;\r
-import jalview.schemes.HelixColourScheme;\r
-import jalview.schemes.HydrophobicColourScheme;\r
-import jalview.schemes.NucleotideColourScheme;\r
-import jalview.schemes.PIDColourScheme;\r
-import jalview.schemes.PurinePyrimidineColourScheme;\r
-import jalview.schemes.RNAHelicesColourChooser;\r
-import jalview.schemes.ResidueProperties;\r
-import jalview.schemes.StrandColourScheme;\r
-import jalview.schemes.TCoffeeColourScheme;\r
-import jalview.schemes.TaylorColourScheme;\r
-import jalview.schemes.TurnColourScheme;\r
-import jalview.schemes.UserColourScheme;\r
-import jalview.schemes.ZappoColourScheme;\r
-import jalview.util.MessageManager;\r
-import jalview.ws.jws1.Discoverer;\r
-import jalview.ws.jws2.Jws2Discoverer;\r
-import jalview.ws.jws2.jabaws2.Jws2Instance;\r
-import jalview.ws.seqfetcher.DbSourceProxy;\r
-\r
-import java.awt.BorderLayout;\r
-import java.awt.Color;\r
-import java.awt.Component;\r
-import java.awt.GridLayout;\r
-import java.awt.Rectangle;\r
-import java.awt.Toolkit;\r
-import java.awt.datatransfer.Clipboard;\r
-import java.awt.datatransfer.DataFlavor;\r
-import java.awt.datatransfer.StringSelection;\r
-import java.awt.datatransfer.Transferable;\r
-import java.awt.dnd.DnDConstants;\r
-import java.awt.dnd.DropTargetDragEvent;\r
-import java.awt.dnd.DropTargetDropEvent;\r
-import java.awt.dnd.DropTargetEvent;\r
-import java.awt.dnd.DropTargetListener;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.KeyAdapter;\r
-import java.awt.event.KeyEvent;\r
-import java.awt.event.MouseAdapter;\r
-import java.awt.event.MouseEvent;\r
-import java.awt.print.PageFormat;\r
-import java.awt.print.PrinterJob;\r
-import java.beans.PropertyChangeEvent;\r
-import java.io.File;\r
-import java.net.URL;\r
-import java.util.ArrayList;\r
-import java.util.Enumeration;\r
-import java.util.Hashtable;\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JEditorPane;\r
-import javax.swing.JInternalFrame;\r
-import javax.swing.JLabel;\r
-import javax.swing.JLayeredPane;\r
-import javax.swing.JMenu;\r
-import javax.swing.JMenuItem;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JPanel;\r
-import javax.swing.JProgressBar;\r
-import javax.swing.JRadioButtonMenuItem;\r
-import javax.swing.JScrollPane;\r
-import javax.swing.SwingUtilities;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class AlignFrame extends GAlignFrame implements DropTargetListener,\r
- IProgressIndicator\r
-{\r
-\r
- /** DOCUMENT ME!! */\r
- public static final int DEFAULT_WIDTH = 700;\r
-\r
- /** DOCUMENT ME!! */\r
- public static final int DEFAULT_HEIGHT = 500;\r
-\r
- public AlignmentPanel alignPanel;\r
-\r
- AlignViewport viewport;\r
- \r
- public AlignViewControllerI avc;\r
- \r
-\r
- Vector alignPanels = new Vector();\r
-\r
- /**\r
- * Last format used to load or save alignments in this window\r
- */\r
- String currentFileFormat = null;\r
-\r
- /**\r
- * Current filename for this alignment\r
- */\r
- String fileName = null;\r
-\r
- /**\r
- * Creates a new AlignFrame object with specific width and height.\r
- * \r
- * @param al\r
- * @param width\r
- * @param height\r
- */\r
- public AlignFrame(AlignmentI al, int width, int height)\r
- {\r
- this(al, null, width, height);\r
- }\r
-\r
- /**\r
- * Creates a new AlignFrame object with specific width, height and\r
- * sequenceSetId\r
- * \r
- * @param al\r
- * @param width\r
- * @param height\r
- * @param sequenceSetId\r
- */\r
- public AlignFrame(AlignmentI al, int width, int height,\r
- String sequenceSetId)\r
- {\r
- this(al, null, width, height, sequenceSetId);\r
- }\r
-\r
- /**\r
- * Creates a new AlignFrame object with specific width, height and\r
- * sequenceSetId\r
- * \r
- * @param al\r
- * @param width\r
- * @param height\r
- * @param sequenceSetId\r
- * @param viewId\r
- */\r
- public AlignFrame(AlignmentI al, int width, int height,\r
- String sequenceSetId, String viewId)\r
- {\r
- this(al, null, width, height, sequenceSetId, viewId);\r
- }\r
-\r
- /**\r
- * new alignment window with hidden columns\r
- * \r
- * @param al\r
- * AlignmentI\r
- * @param hiddenColumns\r
- * ColumnSelection or null\r
- * @param width\r
- * Width of alignment frame\r
- * @param height\r
- * height of frame.\r
- */\r
- public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
- int width, int height)\r
- {\r
- this(al, hiddenColumns, width, height, null);\r
- }\r
-\r
- /**\r
- * Create alignment frame for al with hiddenColumns, a specific width and\r
- * height, and specific sequenceId\r
- * \r
- * @param al\r
- * @param hiddenColumns\r
- * @param width\r
- * @param height\r
- * @param sequenceSetId\r
- * (may be null)\r
- */\r
- public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
- int width, int height, String sequenceSetId)\r
- {\r
- this(al, hiddenColumns, width, height, sequenceSetId, null);\r
- }\r
-\r
- /**\r
- * Create alignment frame for al with hiddenColumns, a specific width and\r
- * height, and specific sequenceId\r
- * \r
- * @param al\r
- * @param hiddenColumns\r
- * @param width\r
- * @param height\r
- * @param sequenceSetId\r
- * (may be null)\r
- * @param viewId\r
- * (may be null)\r
- */\r
- public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,\r
- int width, int height, String sequenceSetId, String viewId)\r
- {\r
- setSize(width, height);\r
- viewport = new AlignViewport(al, hiddenColumns, sequenceSetId, viewId);\r
-\r
- alignPanel = new AlignmentPanel(this, viewport);\r
-\r
- if (al.getDataset() == null)\r
- {\r
- al.setDataset(null);\r
- }\r
-\r
- addAlignmentPanel(alignPanel, true);\r
- init();\r
- }\r
-\r
- /**\r
- * Make a new AlignFrame from exisiting alignmentPanels\r
- * \r
- * @param ap\r
- * AlignmentPanel\r
- * @param av\r
- * AlignViewport\r
- */\r
- public AlignFrame(AlignmentPanel ap)\r
- {\r
- viewport = ap.av;\r
- alignPanel = ap;\r
- addAlignmentPanel(ap, false);\r
- init();\r
- }\r
-\r
- /**\r
- * initalise the alignframe from the underlying viewport data and the\r
- * configurations\r
- */\r
- void init()\r
- {\r
- avc = new jalview.controller.AlignViewController(viewport, alignPanel);\r
- if (viewport.getAlignmentConservationAnnotation() == null)\r
- {\r
- BLOSUM62Colour.setEnabled(false);\r
- conservationMenuItem.setEnabled(false);\r
- modifyConservation.setEnabled(false);\r
- // PIDColour.setEnabled(false);\r
- // abovePIDThreshold.setEnabled(false);\r
- // modifyPID.setEnabled(false);\r
- }\r
-\r
- String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT",\r
- "No sort");\r
-\r
- if (sortby.equals("Id"))\r
- {\r
- sortIDMenuItem_actionPerformed(null);\r
- }\r
- else if (sortby.equals("Pairwise Identity"))\r
- {\r
- sortPairwiseMenuItem_actionPerformed(null);\r
- }\r
-\r
- if (Desktop.desktop != null)\r
- {\r
- this.setDropTarget(new java.awt.dnd.DropTarget(this, this));\r
- addServiceListeners();\r
- setGUINucleotide(viewport.getAlignment().isNucleotide());\r
- }\r
-\r
- setMenusFromViewport(viewport);\r
- buildSortByAnnotationScoresMenu();\r
- if (viewport.wrapAlignment)\r
- {\r
- wrapMenuItem_actionPerformed(null);\r
- }\r
-\r
- if (jalview.bin.Cache.getDefault("SHOW_OVERVIEW", false))\r
- {\r
- this.overviewMenuItem_actionPerformed(null);\r
- }\r
-\r
- addKeyListener();\r
- \r
- }\r
-\r
- /**\r
- * Change the filename and format for the alignment, and enable the 'reload'\r
- * button functionality.\r
- * \r
- * @param file\r
- * valid filename\r
- * @param format\r
- * format of file\r
- */\r
- public void setFileName(String file, String format)\r
- {\r
- fileName = file;\r
- currentFileFormat = format;\r
- reload.setEnabled(true);\r
- }\r
-\r
- void addKeyListener()\r
- {\r
- addKeyListener(new KeyAdapter()\r
- {\r
- @Override\r
- public void keyPressed(KeyEvent evt)\r
- {\r
- if (viewport.cursorMode\r
- && ((evt.getKeyCode() >= KeyEvent.VK_0 && evt.getKeyCode() <= KeyEvent.VK_9) || (evt\r
- .getKeyCode() >= KeyEvent.VK_NUMPAD0 && evt\r
- .getKeyCode() <= KeyEvent.VK_NUMPAD9))\r
- && Character.isDigit(evt.getKeyChar()))\r
- alignPanel.seqPanel.numberPressed(evt.getKeyChar());\r
-\r
- switch (evt.getKeyCode())\r
- {\r
-\r
- case 27: // escape key\r
- deselectAllSequenceMenuItem_actionPerformed(null);\r
-\r
- break;\r
-\r
- case KeyEvent.VK_DOWN:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- moveSelectedSequences(false);\r
- if (viewport.cursorMode)\r
- alignPanel.seqPanel.moveCursor(0, 1);\r
- break;\r
-\r
- case KeyEvent.VK_UP:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- moveSelectedSequences(true);\r
- if (viewport.cursorMode)\r
- alignPanel.seqPanel.moveCursor(0, -1);\r
-\r
- break;\r
-\r
- case KeyEvent.VK_LEFT:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- slideSequences(false, alignPanel.seqPanel.getKeyboardNo1());\r
- else\r
- alignPanel.seqPanel.moveCursor(-1, 0);\r
-\r
- break;\r
-\r
- case KeyEvent.VK_RIGHT:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- slideSequences(true, alignPanel.seqPanel.getKeyboardNo1());\r
- else\r
- alignPanel.seqPanel.moveCursor(1, 0);\r
- break;\r
-\r
- case KeyEvent.VK_SPACE:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown()\r
- || evt.isShiftDown() || evt.isAltDown());\r
- }\r
- break;\r
-\r
- // case KeyEvent.VK_A:\r
- // if (viewport.cursorMode)\r
- // {\r
- // alignPanel.seqPanel.insertNucAtCursor(false,"A");\r
- // //System.out.println("A");\r
- // }\r
- // break;\r
- /*\r
- * case KeyEvent.VK_CLOSE_BRACKET: if (viewport.cursorMode) {\r
- * System.out.println("closing bracket"); } break;\r
- */\r
- case KeyEvent.VK_DELETE:\r
- case KeyEvent.VK_BACK_SPACE:\r
- if (!viewport.cursorMode)\r
- {\r
- cut_actionPerformed(null);\r
- }\r
- else\r
- {\r
- alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown()\r
- || evt.isShiftDown() || evt.isAltDown());\r
- }\r
-\r
- break;\r
-\r
- case KeyEvent.VK_S:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.setCursorRow();\r
- }\r
- break;\r
- case KeyEvent.VK_C:\r
- if (viewport.cursorMode && !evt.isControlDown())\r
- {\r
- alignPanel.seqPanel.setCursorColumn();\r
- }\r
- break;\r
- case KeyEvent.VK_P:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.setCursorPosition();\r
- }\r
- break;\r
-\r
- case KeyEvent.VK_ENTER:\r
- case KeyEvent.VK_COMMA:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.setCursorRowAndColumn();\r
- }\r
- break;\r
-\r
- case KeyEvent.VK_Q:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.setSelectionAreaAtCursor(true);\r
- }\r
- break;\r
- case KeyEvent.VK_M:\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.setSelectionAreaAtCursor(false);\r
- }\r
- break;\r
-\r
- case KeyEvent.VK_F2:\r
- viewport.cursorMode = !viewport.cursorMode;\r
- statusBar.setText(MessageManager.formatMessage("label.keyboard_editing_mode", new String[]{(viewport.cursorMode ? "on" : "off")}));\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes;\r
- alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq;\r
- }\r
- alignPanel.seqPanel.seqCanvas.repaint();\r
- break;\r
-\r
- case KeyEvent.VK_F1:\r
- try\r
- {\r
- ClassLoader cl = jalview.gui.Desktop.class.getClassLoader();\r
- java.net.URL url = javax.help.HelpSet.findHelpSet(cl,\r
- "help/help");\r
- javax.help.HelpSet hs = new javax.help.HelpSet(cl, url);\r
-\r
- javax.help.HelpBroker hb = hs.createHelpBroker();\r
- hb.setCurrentID("home");\r
- hb.setDisplayed(true);\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
- break;\r
- case KeyEvent.VK_H:\r
- {\r
- boolean toggleSeqs = !evt.isControlDown();\r
- boolean toggleCols = !evt.isShiftDown();\r
- toggleHiddenRegions(toggleSeqs, toggleCols);\r
- break;\r
- }\r
- case KeyEvent.VK_PAGE_UP:\r
- if (viewport.wrapAlignment)\r
- {\r
- alignPanel.scrollUp(true);\r
- }\r
- else\r
- {\r
- alignPanel.setScrollValues(viewport.startRes, viewport.startSeq\r
- - viewport.endSeq + viewport.startSeq);\r
- }\r
- break;\r
- case KeyEvent.VK_PAGE_DOWN:\r
- if (viewport.wrapAlignment)\r
- {\r
- alignPanel.scrollUp(false);\r
- }\r
- else\r
- {\r
- alignPanel.setScrollValues(viewport.startRes, viewport.startSeq\r
- + viewport.endSeq - viewport.startSeq);\r
- }\r
- break;\r
- }\r
- }\r
-\r
- @Override\r
- public void keyReleased(KeyEvent evt)\r
- {\r
- switch (evt.getKeyCode())\r
- {\r
- case KeyEvent.VK_LEFT:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- viewport.firePropertyChange("alignment", null, viewport\r
- .getAlignment().getSequences());\r
- break;\r
-\r
- case KeyEvent.VK_RIGHT:\r
- if (evt.isAltDown() || !viewport.cursorMode)\r
- viewport.firePropertyChange("alignment", null, viewport\r
- .getAlignment().getSequences());\r
- break;\r
- }\r
- }\r
- });\r
- }\r
-\r
- public void addAlignmentPanel(final AlignmentPanel ap, boolean newPanel)\r
- {\r
- ap.alignFrame = this;\r
- avc = new jalview.controller.AlignViewController(viewport, alignPanel);\r
-\r
- alignPanels.addElement(ap);\r
-\r
- PaintRefresher.Register(ap, ap.av.getSequenceSetId());\r
-\r
- int aSize = alignPanels.size();\r
-\r
- tabbedPane.setVisible(aSize > 1 || ap.av.viewName != null);\r
-\r
- if (aSize == 1 && ap.av.viewName == null)\r
- {\r
- this.getContentPane().add(ap, BorderLayout.CENTER);\r
- }\r
- else\r
- {\r
- if (aSize == 2)\r
- {\r
- setInitialTabVisible();\r
- }\r
-\r
- expandViews.setEnabled(true);\r
- gatherViews.setEnabled(true);\r
- tabbedPane.addTab(ap.av.viewName, ap);\r
-\r
- ap.setVisible(false);\r
- }\r
-\r
- if (newPanel)\r
- {\r
- if (ap.av.isPadGaps())\r
- {\r
- ap.av.getAlignment().padGaps();\r
- }\r
- ap.av.updateConservation(ap);\r
- ap.av.updateConsensus(ap);\r
- ap.av.updateStrucConsensus(ap);\r
- }\r
- }\r
-\r
- public void setInitialTabVisible()\r
- {\r
- expandViews.setEnabled(true);\r
- gatherViews.setEnabled(true);\r
- tabbedPane.setVisible(true);\r
- AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement();\r
- tabbedPane.addTab(first.av.viewName, first);\r
- this.getContentPane().add(tabbedPane, BorderLayout.CENTER);\r
- }\r
-\r
- public AlignViewport getViewport()\r
- {\r
- return viewport;\r
- }\r
-\r
- /* Set up intrinsic listeners for dynamically generated GUI bits. */\r
- private void addServiceListeners()\r
- {\r
- final java.beans.PropertyChangeListener thisListener;\r
- Desktop.instance.addJalviewPropertyChangeListener("services",\r
- thisListener = new java.beans.PropertyChangeListener()\r
- {\r
- @Override\r
- public void propertyChange(PropertyChangeEvent evt)\r
- {\r
- // // System.out.println("Discoverer property change.");\r
- // if (evt.getPropertyName().equals("services"))\r
- {\r
- SwingUtilities.invokeLater(new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- System.err\r
- .println("Rebuild WS Menu for service change");\r
- BuildWebServiceMenu();\r
- }\r
-\r
- });\r
- }\r
- }\r
- });\r
- addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
- {\r
- @Override\r
- public void internalFrameClosed(\r
- javax.swing.event.InternalFrameEvent evt)\r
- {\r
- System.out.println("deregistering discoverer listener");\r
- Desktop.instance.removeJalviewPropertyChangeListener("services",\r
- thisListener);\r
- closeMenuItem_actionPerformed(true);\r
- };\r
- });\r
- // Finally, build the menu once to get current service state\r
- new Thread(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- BuildWebServiceMenu();\r
- }\r
- }).start();\r
- }\r
-\r
- public void setGUINucleotide(boolean nucleotide)\r
- {\r
- showTranslation.setVisible(nucleotide);\r
- conservationMenuItem.setEnabled(!nucleotide);\r
- modifyConservation.setEnabled(!nucleotide);\r
- showGroupConservation.setEnabled(!nucleotide);\r
- rnahelicesColour.setEnabled(nucleotide);\r
- purinePyrimidineColour.setEnabled(nucleotide);\r
- // Remember AlignFrame always starts as protein\r
- // if (!nucleotide)\r
- // {\r
- // showTr\r
- // calculateMenu.remove(calculateMenu.getItemCount() - 2);\r
- // }\r
- }\r
-\r
- /**\r
- * set up menus for the currently viewport. This may be called after any\r
- * operation that affects the data in the current view (selection changed,\r
- * etc) to update the menus to reflect the new state.\r
- */\r
- public void setMenusForViewport()\r
- {\r
- setMenusFromViewport(viewport);\r
- }\r
-\r
- /**\r
- * Need to call this method when tabs are selected for multiple views, or when\r
- * loading from Jalview2XML.java\r
- * \r
- * @param av\r
- * AlignViewport\r
- */\r
- void setMenusFromViewport(AlignViewport av)\r
- {\r
- padGapsMenuitem.setSelected(av.isPadGaps());\r
- colourTextMenuItem.setSelected(av.showColourText);\r
- abovePIDThreshold.setSelected(av.getAbovePIDThreshold());\r
- conservationMenuItem.setSelected(av.getConservationSelected());\r
- seqLimits.setSelected(av.getShowJVSuffix());\r
- idRightAlign.setSelected(av.rightAlignIds);\r
- centreColumnLabelsMenuItem.setState(av.centreColumnLabels);\r
- renderGapsMenuItem.setSelected(av.renderGaps);\r
- wrapMenuItem.setSelected(av.wrapAlignment);\r
- scaleAbove.setVisible(av.wrapAlignment);\r
- scaleLeft.setVisible(av.wrapAlignment);\r
- scaleRight.setVisible(av.wrapAlignment);\r
- annotationPanelMenuItem.setState(av.showAnnotation);\r
- viewBoxesMenuItem.setSelected(av.showBoxes);\r
- viewTextMenuItem.setSelected(av.showText);\r
- showNonconservedMenuItem.setSelected(av.getShowUnconserved());\r
- showGroupConsensus.setSelected(av.isShowGroupConsensus());\r
- showGroupConservation.setSelected(av.isShowGroupConservation());\r
- showConsensusHistogram.setSelected(av.isShowConsensusHistogram());\r
- showSequenceLogo.setSelected(av.isShowSequenceLogo());\r
- normaliseSequenceLogo.setSelected(av.isNormaliseSequenceLogo());\r
-\r
- setColourSelected(ColourSchemeProperty.getColourName(av\r
- .getGlobalColourScheme()));\r
-\r
- showSeqFeatures.setSelected(av.showSequenceFeatures);\r
- hiddenMarkers.setState(av.showHiddenMarkers);\r
- applyToAllGroups.setState(av.getColourAppliesToAllGroups());\r
- showNpFeatsMenuitem.setSelected(av.isShowNpFeats());\r
- showDbRefsMenuitem.setSelected(av.isShowDbRefs());\r
- autoCalculate.setSelected(av.autoCalculateConsensus);\r
- sortByTree.setSelected(av.sortByTree);\r
- listenToViewSelections.setSelected(av.followSelection);\r
- rnahelicesColour.setEnabled(av.getAlignment().hasRNAStructure());\r
- rnahelicesColour\r
- .setSelected(av.getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);\r
- setShowProductsEnabled();\r
- updateEditMenuBar();\r
- }\r
-\r
- // methods for implementing IProgressIndicator\r
- // need to refactor to a reusable stub class\r
- Hashtable progressBars, progressBarHandlers;\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see jalview.gui.IProgressIndicator#setProgressBar(java.lang.String, long)\r
- */\r
- @Override\r
- public void setProgressBar(String message, long id)\r
- {\r
- if (progressBars == null)\r
- {\r
- progressBars = new Hashtable();\r
- progressBarHandlers = new Hashtable();\r
- }\r
-\r
- JPanel progressPanel;\r
- Long lId = new Long(id);\r
- GridLayout layout = (GridLayout) statusPanel.getLayout();\r
- if (progressBars.get(lId) != null)\r
- {\r
- progressPanel = (JPanel) progressBars.get(new Long(id));\r
- statusPanel.remove(progressPanel);\r
- progressBars.remove(lId);\r
- progressPanel = null;\r
- if (message != null)\r
- {\r
- statusBar.setText(message);\r
- }\r
- if (progressBarHandlers.contains(lId))\r
- {\r
- progressBarHandlers.remove(lId);\r
- }\r
- layout.setRows(layout.getRows() - 1);\r
- }\r
- else\r
- {\r
- progressPanel = new JPanel(new BorderLayout(10, 5));\r
-\r
- JProgressBar progressBar = new JProgressBar();\r
- progressBar.setIndeterminate(true);\r
-\r
- progressPanel.add(new JLabel(message), BorderLayout.WEST);\r
- progressPanel.add(progressBar, BorderLayout.CENTER);\r
-\r
- layout.setRows(layout.getRows() + 1);\r
- statusPanel.add(progressPanel);\r
-\r
- progressBars.put(lId, progressPanel);\r
- }\r
- // update GUI\r
- // setMenusForViewport();\r
- validate();\r
- }\r
-\r
- @Override\r
- public void registerHandler(final long id,\r
- final IProgressIndicatorHandler handler)\r
- {\r
- if (progressBarHandlers == null || !progressBars.contains(new Long(id)))\r
- {\r
- throw new Error(\r
- "call setProgressBar before registering the progress bar's handler.");\r
- }\r
- progressBarHandlers.put(new Long(id), handler);\r
- final JPanel progressPanel = (JPanel) progressBars.get(new Long(id));\r
- if (handler.canCancel())\r
- {\r
- JButton cancel = new JButton(MessageManager.getString("action.cancel"));\r
- final IProgressIndicator us = this;\r
- cancel.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- handler.cancelActivity(id);\r
- us.setProgressBar(\r
- "Cancelled "\r
- + ((JLabel) progressPanel.getComponent(0))\r
- .getText(), id);\r
- }\r
- });\r
- progressPanel.add(cancel, BorderLayout.EAST);\r
- }\r
- }\r
-\r
- /**\r
- * \r
- * @return true if any progress bars are still active\r
- */\r
- @Override\r
- public boolean operationInProgress()\r
- {\r
- if (progressBars != null && progressBars.size() > 0)\r
- {\r
- return true;\r
- }\r
- return false;\r
- }\r
-\r
- /*\r
- * Added so Castor Mapping file can obtain Jalview Version\r
- */\r
- public String getVersion()\r
- {\r
- return jalview.bin.Cache.getProperty("VERSION");\r
- }\r
-\r
- public FeatureRenderer getFeatureRenderer()\r
- {\r
- return alignPanel.seqPanel.seqCanvas.getFeatureRenderer();\r
- }\r
-\r
- @Override\r
- public void fetchSequence_actionPerformed(ActionEvent e)\r
- {\r
- new SequenceFetcher(this);\r
- }\r
-\r
- @Override\r
- public void addFromFile_actionPerformed(ActionEvent e)\r
- {\r
- Desktop.instance.inputLocalFileMenuItem_actionPerformed(viewport);\r
- }\r
-\r
- @Override\r
- public void reload_actionPerformed(ActionEvent e)\r
- {\r
- if (fileName != null)\r
- {\r
- // TODO: JAL-1108 - ensure all associated frames are closed regardless of\r
- // originating file's format\r
- // TODO: work out how to recover feature settings for correct view(s) when\r
- // file is reloaded.\r
- if (currentFileFormat.equals("Jalview"))\r
- {\r
- JInternalFrame[] frames = Desktop.desktop.getAllFrames();\r
- for (int i = 0; i < frames.length; i++)\r
- {\r
- if (frames[i] instanceof AlignFrame && frames[i] != this\r
- && ((AlignFrame) frames[i]).fileName != null\r
- && ((AlignFrame) frames[i]).fileName.equals(fileName))\r
- {\r
- try\r
- {\r
- frames[i].setSelected(true);\r
- Desktop.instance.closeAssociatedWindows();\r
- } catch (java.beans.PropertyVetoException ex)\r
- {\r
- }\r
- }\r
-\r
- }\r
- Desktop.instance.closeAssociatedWindows();\r
-\r
- FileLoader loader = new FileLoader();\r
- String protocol = fileName.startsWith("http:") ? "URL" : "File";\r
- loader.LoadFile(viewport, fileName, protocol, currentFileFormat);\r
- }\r
- else\r
- {\r
- Rectangle bounds = this.getBounds();\r
-\r
- FileLoader loader = new FileLoader();\r
- String protocol = fileName.startsWith("http:") ? "URL" : "File";\r
- AlignFrame newframe = loader.LoadFileWaitTillLoaded(fileName,\r
- protocol, currentFileFormat);\r
-\r
- newframe.setBounds(bounds);\r
- if (featureSettings != null && featureSettings.isShowing())\r
- {\r
- final Rectangle fspos = featureSettings.frame.getBounds();\r
- // TODO: need a 'show feature settings' function that takes bounds -\r
- // need to refactor Desktop.addFrame\r
- newframe.featureSettings_actionPerformed(null);\r
- final FeatureSettings nfs = newframe.featureSettings;\r
- SwingUtilities.invokeLater(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- nfs.frame.setBounds(fspos);\r
- }\r
- });\r
- this.featureSettings.close();\r
- this.featureSettings = null;\r
- }\r
- this.closeMenuItem_actionPerformed(true);\r
- }\r
- }\r
- }\r
-\r
- @Override\r
- public void addFromText_actionPerformed(ActionEvent e)\r
- {\r
- Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport);\r
- }\r
-\r
- @Override\r
- public void addFromURL_actionPerformed(ActionEvent e)\r
- {\r
- Desktop.instance.inputURLMenuItem_actionPerformed(viewport);\r
- }\r
-\r
- @Override\r
- public void save_actionPerformed(ActionEvent e)\r
- {\r
- if (fileName == null\r
- || (currentFileFormat == null || !jalview.io.FormatAdapter\r
- .isValidIOFormat(currentFileFormat, true))\r
- || fileName.startsWith("http"))\r
- {\r
- saveAs_actionPerformed(null);\r
- }\r
- else\r
- {\r
- saveAlignment(fileName, currentFileFormat);\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void saveAs_actionPerformed(ActionEvent e)\r
- {\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"),\r
- jalview.io.AppletFormatAdapter.WRITABLE_EXTENSIONS,\r
- jalview.io.AppletFormatAdapter.WRITABLE_FNAMES,\r
- currentFileFormat, false);\r
-\r
- chooser.setFileView(new JalviewFileView());\r
- chooser.setDialogTitle("Save Alignment to file");\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import jalview.analysis.AAFrequency;
+import jalview.analysis.AlignmentSorter;
+import jalview.analysis.Conservation;
+import jalview.analysis.CrossRef;
+import jalview.analysis.NJTree;
+import jalview.analysis.ParseProperties;
+import jalview.analysis.SequenceIdMatcher;
+import jalview.api.AlignViewControllerI;
+import jalview.bin.Cache;
+import jalview.commands.CommandI;
+import jalview.commands.EditCommand;
+import jalview.commands.OrderCommand;
+import jalview.commands.RemoveGapColCommand;
+import jalview.commands.RemoveGapsCommand;
+import jalview.commands.SlideSequencesCommand;
+import jalview.commands.TrimRegionCommand;
+import jalview.datamodel.AlignedCodonFrame;
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentOrder;
+import jalview.datamodel.AlignmentView;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.PDBEntry;
+import jalview.datamodel.SeqCigar;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceGroup;
+import jalview.datamodel.SequenceI;
+import jalview.io.AlignmentProperties;
+import jalview.io.AnnotationFile;
+import jalview.io.FeaturesFile;
+import jalview.io.FileLoader;
+import jalview.io.FormatAdapter;
+import jalview.io.HTMLOutput;
+import jalview.io.IdentifyFile;
+import jalview.io.JalviewFileChooser;
+import jalview.io.JalviewFileView;
+import jalview.io.JnetAnnotationMaker;
+import jalview.io.NewickFile;
+import jalview.io.TCoffeeScoreFile;
+import jalview.jbgui.GAlignFrame;
+import jalview.schemes.Blosum62ColourScheme;
+import jalview.schemes.BuriedColourScheme;
+import jalview.schemes.ClustalxColourScheme;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ColourSchemeProperty;
+import jalview.schemes.HelixColourScheme;
+import jalview.schemes.HydrophobicColourScheme;
+import jalview.schemes.NucleotideColourScheme;
+import jalview.schemes.PIDColourScheme;
+import jalview.schemes.PurinePyrimidineColourScheme;
+import jalview.schemes.RNAHelicesColourChooser;
+import jalview.schemes.ResidueProperties;
+import jalview.schemes.StrandColourScheme;
+import jalview.schemes.TCoffeeColourScheme;
+import jalview.schemes.TaylorColourScheme;
+import jalview.schemes.TurnColourScheme;
+import jalview.schemes.UserColourScheme;
+import jalview.schemes.ZappoColourScheme;
+import jalview.util.MessageManager;
+import jalview.ws.jws1.Discoverer;
+import jalview.ws.jws2.Jws2Discoverer;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.GridLayout;
+import java.awt.Rectangle;
+import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.StringSelection;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyAdapter;
+import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.print.PageFormat;
+import java.awt.print.PrinterJob;
+import java.beans.PropertyChangeEvent;
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JEditorPane;
+import javax.swing.JInternalFrame;
+import javax.swing.JLabel;
+import javax.swing.JLayeredPane;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JProgressBar;
+import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JScrollPane;
+import javax.swing.SwingUtilities;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public class AlignFrame extends GAlignFrame implements DropTargetListener,
+ IProgressIndicator
+{
+
+ /** DOCUMENT ME!! */
+ public static final int DEFAULT_WIDTH = 700;
+
+ /** DOCUMENT ME!! */
+ public static final int DEFAULT_HEIGHT = 500;
+
+ public AlignmentPanel alignPanel;
+
+ AlignViewport viewport;
+
+ public AlignViewControllerI avc;
+
+
+ Vector alignPanels = new Vector();
+
+ /**
+ * Last format used to load or save alignments in this window
+ */
+ String currentFileFormat = null;
+
+ /**
+ * Current filename for this alignment
+ */
+ String fileName = null;
+
+ /**
+ * Creates a new AlignFrame object with specific width and height.
+ *
+ * @param al
+ * @param width
+ * @param height
+ */
+ public AlignFrame(AlignmentI al, int width, int height)
+ {
+ this(al, null, width, height);
+ }
+
+ /**
+ * Creates a new AlignFrame object with specific width, height and
+ * sequenceSetId
+ *
+ * @param al
+ * @param width
+ * @param height
+ * @param sequenceSetId
+ */
+ public AlignFrame(AlignmentI al, int width, int height,
+ String sequenceSetId)
+ {
+ this(al, null, width, height, sequenceSetId);
+ }
+
+ /**
+ * Creates a new AlignFrame object with specific width, height and
+ * sequenceSetId
+ *
+ * @param al
+ * @param width
+ * @param height
+ * @param sequenceSetId
+ * @param viewId
+ */
+ public AlignFrame(AlignmentI al, int width, int height,
+ String sequenceSetId, String viewId)
+ {
+ this(al, null, width, height, sequenceSetId, viewId);
+ }
+
+ /**
+ * new alignment window with hidden columns
+ *
+ * @param al
+ * AlignmentI
+ * @param hiddenColumns
+ * ColumnSelection or null
+ * @param width
+ * Width of alignment frame
+ * @param height
+ * height of frame.
+ */
+ public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+ int width, int height)
+ {
+ this(al, hiddenColumns, width, height, null);
+ }
+
+ /**
+ * Create alignment frame for al with hiddenColumns, a specific width and
+ * height, and specific sequenceId
+ *
+ * @param al
+ * @param hiddenColumns
+ * @param width
+ * @param height
+ * @param sequenceSetId
+ * (may be null)
+ */
+ public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+ int width, int height, String sequenceSetId)
+ {
+ this(al, hiddenColumns, width, height, sequenceSetId, null);
+ }
+
+ /**
+ * Create alignment frame for al with hiddenColumns, a specific width and
+ * height, and specific sequenceId
+ *
+ * @param al
+ * @param hiddenColumns
+ * @param width
+ * @param height
+ * @param sequenceSetId
+ * (may be null)
+ * @param viewId
+ * (may be null)
+ */
+ public AlignFrame(AlignmentI al, ColumnSelection hiddenColumns,
+ int width, int height, String sequenceSetId, String viewId)
+ {
+ setSize(width, height);
+ viewport = new AlignViewport(al, hiddenColumns, sequenceSetId, viewId);
+
+ alignPanel = new AlignmentPanel(this, viewport);
+
+ if (al.getDataset() == null)
+ {
+ al.setDataset(null);
+ }
+
+ addAlignmentPanel(alignPanel, true);
+ init();
+ }
+
+ /**
+ * Make a new AlignFrame from exisiting alignmentPanels
+ *
+ * @param ap
+ * AlignmentPanel
+ * @param av
+ * AlignViewport
+ */
+ public AlignFrame(AlignmentPanel ap)
+ {
+ viewport = ap.av;
+ alignPanel = ap;
+ addAlignmentPanel(ap, false);
+ init();
+ }
+
+ /**
+ * initalise the alignframe from the underlying viewport data and the
+ * configurations
+ */
+ void init()
+ {
+ avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+ if (viewport.getAlignmentConservationAnnotation() == null)
+ {
+ BLOSUM62Colour.setEnabled(false);
+ conservationMenuItem.setEnabled(false);
+ modifyConservation.setEnabled(false);
+ // PIDColour.setEnabled(false);
+ // abovePIDThreshold.setEnabled(false);
+ // modifyPID.setEnabled(false);
+ }
+
+ String sortby = jalview.bin.Cache.getDefault("SORT_ALIGNMENT",
+ "No sort");
+
+ if (sortby.equals("Id"))
+ {
+ sortIDMenuItem_actionPerformed(null);
+ }
+ else if (sortby.equals("Pairwise Identity"))
+ {
+ sortPairwiseMenuItem_actionPerformed(null);
+ }
+
+ if (Desktop.desktop != null)
+ {
+ this.setDropTarget(new java.awt.dnd.DropTarget(this, this));
+ addServiceListeners();
+ setGUINucleotide(viewport.getAlignment().isNucleotide());
+ }
+
+ setMenusFromViewport(viewport);
+ buildSortByAnnotationScoresMenu();
+ if (viewport.wrapAlignment)
+ {
+ wrapMenuItem_actionPerformed(null);
+ }
+
+ if (jalview.bin.Cache.getDefault("SHOW_OVERVIEW", false))
+ {
+ this.overviewMenuItem_actionPerformed(null);
+ }
+
+ addKeyListener();
+
+ }
+
+ /**
+ * Change the filename and format for the alignment, and enable the 'reload'
+ * button functionality.
+ *
+ * @param file
+ * valid filename
+ * @param format
+ * format of file
+ */
+ public void setFileName(String file, String format)
+ {
+ fileName = file;
+ currentFileFormat = format;
+ reload.setEnabled(true);
+ }
+
+ void addKeyListener()
+ {
+ addKeyListener(new KeyAdapter()
+ {
+ @Override
+ public void keyPressed(KeyEvent evt)
+ {
+ if (viewport.cursorMode
+ && ((evt.getKeyCode() >= KeyEvent.VK_0 && evt.getKeyCode() <= KeyEvent.VK_9) || (evt
+ .getKeyCode() >= KeyEvent.VK_NUMPAD0 && evt
+ .getKeyCode() <= KeyEvent.VK_NUMPAD9))
+ && Character.isDigit(evt.getKeyChar()))
+ alignPanel.seqPanel.numberPressed(evt.getKeyChar());
+
+ switch (evt.getKeyCode())
+ {
+
+ case 27: // escape key
+ deselectAllSequenceMenuItem_actionPerformed(null);
+
+ break;
+
+ case KeyEvent.VK_DOWN:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ moveSelectedSequences(false);
+ if (viewport.cursorMode)
+ alignPanel.seqPanel.moveCursor(0, 1);
+ break;
+
+ case KeyEvent.VK_UP:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ moveSelectedSequences(true);
+ if (viewport.cursorMode)
+ alignPanel.seqPanel.moveCursor(0, -1);
+
+ break;
+
+ case KeyEvent.VK_LEFT:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ slideSequences(false, alignPanel.seqPanel.getKeyboardNo1());
+ else
+ alignPanel.seqPanel.moveCursor(-1, 0);
+
+ break;
+
+ case KeyEvent.VK_RIGHT:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ slideSequences(true, alignPanel.seqPanel.getKeyboardNo1());
+ else
+ alignPanel.seqPanel.moveCursor(1, 0);
+ break;
+
+ case KeyEvent.VK_SPACE:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown()
+ || evt.isShiftDown() || evt.isAltDown());
+ }
+ break;
+
+ // case KeyEvent.VK_A:
+ // if (viewport.cursorMode)
+ // {
+ // alignPanel.seqPanel.insertNucAtCursor(false,"A");
+ // //System.out.println("A");
+ // }
+ // break;
+ /*
+ * case KeyEvent.VK_CLOSE_BRACKET: if (viewport.cursorMode) {
+ * System.out.println("closing bracket"); } break;
+ */
+ case KeyEvent.VK_DELETE:
+ case KeyEvent.VK_BACK_SPACE:
+ if (!viewport.cursorMode)
+ {
+ cut_actionPerformed(null);
+ }
+ else
+ {
+ alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown()
+ || evt.isShiftDown() || evt.isAltDown());
+ }
+
+ break;
+
+ case KeyEvent.VK_S:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorRow();
+ }
+ break;
+ case KeyEvent.VK_C:
+ if (viewport.cursorMode && !evt.isControlDown())
+ {
+ alignPanel.seqPanel.setCursorColumn();
+ }
+ break;
+ case KeyEvent.VK_P:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorPosition();
+ }
+ break;
+
+ case KeyEvent.VK_ENTER:
+ case KeyEvent.VK_COMMA:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorRowAndColumn();
+ }
+ break;
+
+ case KeyEvent.VK_Q:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setSelectionAreaAtCursor(true);
+ }
+ break;
+ case KeyEvent.VK_M:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setSelectionAreaAtCursor(false);
+ }
+ break;
+
+ case KeyEvent.VK_F2:
+ viewport.cursorMode = !viewport.cursorMode;
+ statusBar.setText(MessageManager.formatMessage("label.keyboard_editing_mode", new String[]{(viewport.cursorMode ? "on" : "off")}));
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes;
+ alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq;
+ }
+ alignPanel.seqPanel.seqCanvas.repaint();
+ break;
+
+ case KeyEvent.VK_F1:
+ try
+ {
+ ClassLoader cl = jalview.gui.Desktop.class.getClassLoader();
+ java.net.URL url = javax.help.HelpSet.findHelpSet(cl,
+ "help/help");
+ javax.help.HelpSet hs = new javax.help.HelpSet(cl, url);
+
+ javax.help.HelpBroker hb = hs.createHelpBroker();
+ hb.setCurrentID("home");
+ hb.setDisplayed(true);
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ break;
+ case KeyEvent.VK_H:
+ {
+ boolean toggleSeqs = !evt.isControlDown();
+ boolean toggleCols = !evt.isShiftDown();
+ toggleHiddenRegions(toggleSeqs, toggleCols);
+ break;
+ }
+ case KeyEvent.VK_PAGE_UP:
+ if (viewport.wrapAlignment)
+ {
+ alignPanel.scrollUp(true);
+ }
+ else
+ {
+ alignPanel.setScrollValues(viewport.startRes, viewport.startSeq
+ - viewport.endSeq + viewport.startSeq);
+ }
+ break;
+ case KeyEvent.VK_PAGE_DOWN:
+ if (viewport.wrapAlignment)
+ {
+ alignPanel.scrollUp(false);
+ }
+ else
+ {
+ alignPanel.setScrollValues(viewport.startRes, viewport.startSeq
+ + viewport.endSeq - viewport.startSeq);
+ }
+ break;
+ }
+ }
+
+ @Override
+ public void keyReleased(KeyEvent evt)
+ {
+ switch (evt.getKeyCode())
+ {
+ case KeyEvent.VK_LEFT:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ viewport.firePropertyChange("alignment", null, viewport
+ .getAlignment().getSequences());
+ break;
+
+ case KeyEvent.VK_RIGHT:
+ if (evt.isAltDown() || !viewport.cursorMode)
+ viewport.firePropertyChange("alignment", null, viewport
+ .getAlignment().getSequences());
+ break;
+ }
+ }
+ });
+ }
+
+ public void addAlignmentPanel(final AlignmentPanel ap, boolean newPanel)
+ {
+ ap.alignFrame = this;
+ avc = new jalview.controller.AlignViewController(viewport, alignPanel);
+
+ alignPanels.addElement(ap);
+
+ PaintRefresher.Register(ap, ap.av.getSequenceSetId());
+
+ int aSize = alignPanels.size();
+
+ tabbedPane.setVisible(aSize > 1 || ap.av.viewName != null);
+
+ if (aSize == 1 && ap.av.viewName == null)
+ {
+ this.getContentPane().add(ap, BorderLayout.CENTER);
+ }
+ else
+ {
+ if (aSize == 2)
+ {
+ setInitialTabVisible();
+ }
+
+ expandViews.setEnabled(true);
+ gatherViews.setEnabled(true);
+ tabbedPane.addTab(ap.av.viewName, ap);
+
+ ap.setVisible(false);
+ }
+
+ if (newPanel)
+ {
+ if (ap.av.isPadGaps())
+ {
+ ap.av.getAlignment().padGaps();
+ }
+ ap.av.updateConservation(ap);
+ ap.av.updateConsensus(ap);
+ ap.av.updateStrucConsensus(ap);
+ }
+ }
+
+ public void setInitialTabVisible()
+ {
+ expandViews.setEnabled(true);
+ gatherViews.setEnabled(true);
+ tabbedPane.setVisible(true);
+ AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement();
+ tabbedPane.addTab(first.av.viewName, first);
+ this.getContentPane().add(tabbedPane, BorderLayout.CENTER);
+ }
+
+ public AlignViewport getViewport()
+ {
+ return viewport;
+ }
+
+ /* Set up intrinsic listeners for dynamically generated GUI bits. */
+ private void addServiceListeners()
+ {
+ final java.beans.PropertyChangeListener thisListener;
+ Desktop.instance.addJalviewPropertyChangeListener("services",
+ thisListener = new java.beans.PropertyChangeListener()
+ {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt)
+ {
+ // // System.out.println("Discoverer property change.");
+ // if (evt.getPropertyName().equals("services"))
+ {
+ SwingUtilities.invokeLater(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ System.err
+ .println("Rebuild WS Menu for service change");
+ BuildWebServiceMenu();
+ }
+
+ });
+ }
+ }
+ });
+ addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+ {
+ @Override
+ public void internalFrameClosed(
+ javax.swing.event.InternalFrameEvent evt)
+ {
+ System.out.println("deregistering discoverer listener");
+ Desktop.instance.removeJalviewPropertyChangeListener("services",
+ thisListener);
+ closeMenuItem_actionPerformed(true);
+ };
+ });
+ // Finally, build the menu once to get current service state
+ new Thread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ BuildWebServiceMenu();
+ }
+ }).start();
+ }
+
+ public void setGUINucleotide(boolean nucleotide)
+ {
+ showTranslation.setVisible(nucleotide);
+ conservationMenuItem.setEnabled(!nucleotide);
+ modifyConservation.setEnabled(!nucleotide);
+ showGroupConservation.setEnabled(!nucleotide);
+ rnahelicesColour.setEnabled(nucleotide);
+ purinePyrimidineColour.setEnabled(nucleotide);
+ // Remember AlignFrame always starts as protein
+ // if (!nucleotide)
+ // {
+ // showTr
+ // calculateMenu.remove(calculateMenu.getItemCount() - 2);
+ // }
+ }
+
+ /**
+ * set up menus for the currently viewport. This may be called after any
+ * operation that affects the data in the current view (selection changed,
+ * etc) to update the menus to reflect the new state.
+ */
+ public void setMenusForViewport()
+ {
+ setMenusFromViewport(viewport);
+ }
+
+ /**
+ * Need to call this method when tabs are selected for multiple views, or when
+ * loading from Jalview2XML.java
+ *
+ * @param av
+ * AlignViewport
+ */
+ void setMenusFromViewport(AlignViewport av)
+ {
+ padGapsMenuitem.setSelected(av.isPadGaps());
+ colourTextMenuItem.setSelected(av.showColourText);
+ abovePIDThreshold.setSelected(av.getAbovePIDThreshold());
+ conservationMenuItem.setSelected(av.getConservationSelected());
+ seqLimits.setSelected(av.getShowJVSuffix());
+ idRightAlign.setSelected(av.rightAlignIds);
+ centreColumnLabelsMenuItem.setState(av.centreColumnLabels);
+ renderGapsMenuItem.setSelected(av.renderGaps);
+ wrapMenuItem.setSelected(av.wrapAlignment);
+ scaleAbove.setVisible(av.wrapAlignment);
+ scaleLeft.setVisible(av.wrapAlignment);
+ scaleRight.setVisible(av.wrapAlignment);
+ annotationPanelMenuItem.setState(av.showAnnotation);
+ viewBoxesMenuItem.setSelected(av.showBoxes);
+ viewTextMenuItem.setSelected(av.showText);
+ showNonconservedMenuItem.setSelected(av.getShowUnconserved());
+ showGroupConsensus.setSelected(av.isShowGroupConsensus());
+ showGroupConservation.setSelected(av.isShowGroupConservation());
+ showConsensusHistogram.setSelected(av.isShowConsensusHistogram());
+ showSequenceLogo.setSelected(av.isShowSequenceLogo());
+ normaliseSequenceLogo.setSelected(av.isNormaliseSequenceLogo());
+
+ setColourSelected(ColourSchemeProperty.getColourName(av
+ .getGlobalColourScheme()));
+
+ showSeqFeatures.setSelected(av.showSequenceFeatures);
+ hiddenMarkers.setState(av.showHiddenMarkers);
+ applyToAllGroups.setState(av.getColourAppliesToAllGroups());
+ showNpFeatsMenuitem.setSelected(av.isShowNpFeats());
+ showDbRefsMenuitem.setSelected(av.isShowDbRefs());
+ autoCalculate.setSelected(av.autoCalculateConsensus);
+ sortByTree.setSelected(av.sortByTree);
+ listenToViewSelections.setSelected(av.followSelection);
+ rnahelicesColour.setEnabled(av.getAlignment().hasRNAStructure());
+ rnahelicesColour
+ .setSelected(av.getGlobalColourScheme() instanceof jalview.schemes.RNAHelicesColour);
+ setShowProductsEnabled();
+ updateEditMenuBar();
+ }
+
+ // methods for implementing IProgressIndicator
+ // need to refactor to a reusable stub class
+ Hashtable progressBars, progressBarHandlers;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see jalview.gui.IProgressIndicator#setProgressBar(java.lang.String, long)
+ */
+ @Override
+ public void setProgressBar(String message, long id)
+ {
+ if (progressBars == null)
+ {
+ progressBars = new Hashtable();
+ progressBarHandlers = new Hashtable();
+ }
+
+ JPanel progressPanel;
+ Long lId = new Long(id);
+ GridLayout layout = (GridLayout) statusPanel.getLayout();
+ if (progressBars.get(lId) != null)
+ {
+ progressPanel = (JPanel) progressBars.get(new Long(id));
+ statusPanel.remove(progressPanel);
+ progressBars.remove(lId);
+ progressPanel = null;
+ if (message != null)
+ {
+ statusBar.setText(message);
+ }
+ if (progressBarHandlers.contains(lId))
+ {
+ progressBarHandlers.remove(lId);
+ }
+ layout.setRows(layout.getRows() - 1);
+ }
+ else
+ {
+ progressPanel = new JPanel(new BorderLayout(10, 5));
+
+ JProgressBar progressBar = new JProgressBar();
+ progressBar.setIndeterminate(true);
+
+ progressPanel.add(new JLabel(message), BorderLayout.WEST);
+ progressPanel.add(progressBar, BorderLayout.CENTER);
+
+ layout.setRows(layout.getRows() + 1);
+ statusPanel.add(progressPanel);
+
+ progressBars.put(lId, progressPanel);
+ }
+ // update GUI
+ // setMenusForViewport();
+ validate();
+ }
+
+ @Override
+ public void registerHandler(final long id,
+ final IProgressIndicatorHandler handler)
+ {
+ if (progressBarHandlers == null || !progressBars.contains(new Long(id)))
+ {
+ throw new Error(
+ "call setProgressBar before registering the progress bar's handler.");
+ }
+ progressBarHandlers.put(new Long(id), handler);
+ final JPanel progressPanel = (JPanel) progressBars.get(new Long(id));
+ if (handler.canCancel())
+ {
+ JButton cancel = new JButton(MessageManager.getString("action.cancel"));
+ final IProgressIndicator us = this;
+ cancel.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ handler.cancelActivity(id);
+ us.setProgressBar(
+ "Cancelled "
+ + ((JLabel) progressPanel.getComponent(0))
+ .getText(), id);
+ }
+ });
+ progressPanel.add(cancel, BorderLayout.EAST);
+ }
+ }
+
+ /**
+ *
+ * @return true if any progress bars are still active
+ */
+ @Override
+ public boolean operationInProgress()
+ {
+ if (progressBars != null && progressBars.size() > 0)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ /*
+ * Added so Castor Mapping file can obtain Jalview Version
+ */
+ public String getVersion()
+ {
+ return jalview.bin.Cache.getProperty("VERSION");
+ }
+
+ public FeatureRenderer getFeatureRenderer()
+ {
+ return alignPanel.seqPanel.seqCanvas.getFeatureRenderer();
+ }
+
+ @Override
+ public void fetchSequence_actionPerformed(ActionEvent e)
+ {
+ new SequenceFetcher(this);
+ }
+
+ @Override
+ public void addFromFile_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputLocalFileMenuItem_actionPerformed(viewport);
+ }
+
+ @Override
+ public void reload_actionPerformed(ActionEvent e)
+ {
+ if (fileName != null)
+ {
+ // TODO: JAL-1108 - ensure all associated frames are closed regardless of
+ // originating file's format
+ // TODO: work out how to recover feature settings for correct view(s) when
+ // file is reloaded.
+ if (currentFileFormat.equals("Jalview"))
+ {
+ JInternalFrame[] frames = Desktop.desktop.getAllFrames();
+ for (int i = 0; i < frames.length; i++)
+ {
+ if (frames[i] instanceof AlignFrame && frames[i] != this
+ && ((AlignFrame) frames[i]).fileName != null
+ && ((AlignFrame) frames[i]).fileName.equals(fileName))
+ {
+ try
+ {
+ frames[i].setSelected(true);
+ Desktop.instance.closeAssociatedWindows();
+ } catch (java.beans.PropertyVetoException ex)
+ {
+ }
+ }
+
+ }
+ Desktop.instance.closeAssociatedWindows();
+
+ FileLoader loader = new FileLoader();
+ String protocol = fileName.startsWith("http:") ? "URL" : "File";
+ loader.LoadFile(viewport, fileName, protocol, currentFileFormat);
+ }
+ else
+ {
+ Rectangle bounds = this.getBounds();
+
+ FileLoader loader = new FileLoader();
+ String protocol = fileName.startsWith("http:") ? "URL" : "File";
+ AlignFrame newframe = loader.LoadFileWaitTillLoaded(fileName,
+ protocol, currentFileFormat);
+
+ newframe.setBounds(bounds);
+ if (featureSettings != null && featureSettings.isShowing())
+ {
+ final Rectangle fspos = featureSettings.frame.getBounds();
+ // TODO: need a 'show feature settings' function that takes bounds -
+ // need to refactor Desktop.addFrame
+ newframe.featureSettings_actionPerformed(null);
+ final FeatureSettings nfs = newframe.featureSettings;
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ nfs.frame.setBounds(fspos);
+ }
+ });
+ this.featureSettings.close();
+ this.featureSettings = null;
+ }
+ this.closeMenuItem_actionPerformed(true);
+ }
+ }
+ }
+
+ @Override
+ public void addFromText_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputTextboxMenuItem_actionPerformed(viewport);
+ }
+
+ @Override
+ public void addFromURL_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.inputURLMenuItem_actionPerformed(viewport);
+ }
+
+ @Override
+ public void save_actionPerformed(ActionEvent e)
+ {
+ if (fileName == null
+ || (currentFileFormat == null || !jalview.io.FormatAdapter
+ .isValidIOFormat(currentFileFormat, true))
+ || fileName.startsWith("http"))
+ {
+ saveAs_actionPerformed(null);
+ }
+ else
+ {
+ saveAlignment(fileName, currentFileFormat);
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void saveAs_actionPerformed(ActionEvent e)
+ {
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"),
+ jalview.io.AppletFormatAdapter.WRITABLE_EXTENSIONS,
+ jalview.io.AppletFormatAdapter.WRITABLE_FNAMES,
+ currentFileFormat, false);
+
+ chooser.setFileView(new JalviewFileView());
+ chooser.setDialogTitle("Save Alignment to file");
chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
- int value = chooser.showSaveDialog(this);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- currentFileFormat = chooser.getSelectedFormat();\r
- if (currentFileFormat == null)\r
- {\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- MessageManager.getString("label.select_file_format_before_saving"),\r
- MessageManager.getString("label.file_format_not_specified"), JOptionPane.WARNING_MESSAGE);\r
- value = chooser.showSaveDialog(this);\r
- return;\r
- }\r
-\r
- fileName = chooser.getSelectedFile().getPath();\r
-\r
- jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT",\r
- currentFileFormat);\r
-\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", fileName);\r
- if (currentFileFormat.indexOf(" ") > -1)\r
- {\r
- currentFileFormat = currentFileFormat.substring(0,\r
- currentFileFormat.indexOf(" "));\r
- }\r
- saveAlignment(fileName, currentFileFormat);\r
- }\r
- }\r
-\r
- public boolean saveAlignment(String file, String format)\r
- {\r
- boolean success = true;\r
-\r
- if (format.equalsIgnoreCase("Jalview"))\r
- {\r
- String shortName = title;\r
-\r
- if (shortName.indexOf(java.io.File.separatorChar) > -1)\r
- {\r
- shortName = shortName.substring(shortName\r
- .lastIndexOf(java.io.File.separatorChar) + 1);\r
- }\r
-\r
- success = new Jalview2XML().SaveAlignment(this, file, shortName);\r
-\r
- statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));\r
-\r
-\r
- }\r
- else\r
- {\r
- if (!jalview.io.AppletFormatAdapter.isValidFormat(format, true))\r
- {\r
- warningMessage("Cannot save file " + fileName + " using format "\r
- + format, "Alignment output format not supported");\r
- saveAs_actionPerformed(null);\r
- // JBPNote need to have a raise_gui flag here\r
- return false;\r
- }\r
-\r
- String[] omitHidden = null;\r
-\r
- if (viewport.hasHiddenColumns())\r
- {\r
- int reply = JOptionPane\r
- .showInternalConfirmDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.alignment_contains_hidden_columns"),\r
- MessageManager.getString("action.save_omit_hidden_columns"),\r
- JOptionPane.YES_NO_OPTION,\r
- JOptionPane.QUESTION_MESSAGE);\r
-\r
- if (reply == JOptionPane.YES_OPTION)\r
- {\r
- omitHidden = viewport.getViewAsString(false);\r
- }\r
- }\r
- FormatAdapter f = new FormatAdapter();\r
- String output = f.formatSequences(format,\r
- viewport.getAlignment(), // class cast exceptions will\r
- // occur in the distant future\r
- omitHidden, f.getCacheSuffixDefault(format),\r
- viewport.getColumnSelection());\r
-\r
- if (output == null)\r
- {\r
- success = false;\r
- }\r
- else\r
- {\r
- try\r
- {\r
- java.io.PrintWriter out = new java.io.PrintWriter(\r
- new java.io.FileWriter(file));\r
-\r
- out.print(output);\r
- out.close();\r
- this.setTitle(file);\r
- statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));\r
- } catch (Exception ex)\r
- {\r
- success = false;\r
- ex.printStackTrace();\r
- }\r
- }\r
- }\r
-\r
- if (!success)\r
- {\r
- JOptionPane.showInternalMessageDialog(this, MessageManager.formatMessage("label.couldnt_save_file", new String[]{fileName}),\r
- MessageManager.getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE);\r
- }\r
-\r
- return success;\r
- }\r
-\r
- private void warningMessage(String warning, String title)\r
- {\r
- if (new jalview.util.Platform().isHeadless())\r
- {\r
- System.err.println("Warning: " + title + "\nWarning: " + warning);\r
-\r
- }\r
- else\r
- {\r
- JOptionPane.showInternalMessageDialog(this, warning, title,\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
- return;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void outputText_actionPerformed(ActionEvent e)\r
- {\r
- String[] omitHidden = null;\r
-\r
- if (viewport.hasHiddenColumns())\r
- {\r
- int reply = JOptionPane\r
- .showInternalConfirmDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.alignment_contains_hidden_columns"),\r
- MessageManager.getString("action.save_omit_hidden_columns"),\r
- JOptionPane.YES_NO_OPTION,\r
- JOptionPane.QUESTION_MESSAGE);\r
-\r
- if (reply == JOptionPane.YES_OPTION)\r
- {\r
- omitHidden = viewport.getViewAsString(false);\r
- }\r
- }\r
-\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
- cap.setForInput(null);\r
-\r
- try\r
- {\r
- cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),\r
- viewport.getAlignment(), omitHidden,\r
- viewport.getColumnSelection()));\r
- Desktop.addInternalFrame(cap,\r
+
+ int value = chooser.showSaveDialog(this);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ currentFileFormat = chooser.getSelectedFormat();
+ if (currentFileFormat == null)
+ {
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager.getString("label.select_file_format_before_saving"),
+ MessageManager.getString("label.file_format_not_specified"), JOptionPane.WARNING_MESSAGE);
+ value = chooser.showSaveDialog(this);
+ return;
+ }
+
+ fileName = chooser.getSelectedFile().getPath();
+
+ jalview.bin.Cache.setProperty("DEFAULT_FILE_FORMAT",
+ currentFileFormat);
+
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", fileName);
+ if (currentFileFormat.indexOf(" ") > -1)
+ {
+ currentFileFormat = currentFileFormat.substring(0,
+ currentFileFormat.indexOf(" "));
+ }
+ saveAlignment(fileName, currentFileFormat);
+ }
+ }
+
+ public boolean saveAlignment(String file, String format)
+ {
+ boolean success = true;
+
+ if (format.equalsIgnoreCase("Jalview"))
+ {
+ String shortName = title;
+
+ if (shortName.indexOf(java.io.File.separatorChar) > -1)
+ {
+ shortName = shortName.substring(shortName
+ .lastIndexOf(java.io.File.separatorChar) + 1);
+ }
+
+ success = new Jalview2XML().SaveAlignment(this, file, shortName);
+
+ statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));
+
+
+ }
+ else
+ {
+ if (!jalview.io.AppletFormatAdapter.isValidFormat(format, true))
+ {
+ warningMessage("Cannot save file " + fileName + " using format "
+ + format, "Alignment output format not supported");
+ saveAs_actionPerformed(null);
+ // JBPNote need to have a raise_gui flag here
+ return false;
+ }
+
+ String[] omitHidden = null;
+
+ if (viewport.hasHiddenColumns())
+ {
+ int reply = JOptionPane
+ .showInternalConfirmDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.alignment_contains_hidden_columns"),
+ MessageManager.getString("action.save_omit_hidden_columns"),
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
+
+ if (reply == JOptionPane.YES_OPTION)
+ {
+ omitHidden = viewport.getViewAsString(false);
+ }
+ }
+ FormatAdapter f = new FormatAdapter();
+ String output = f.formatSequences(format,
+ viewport.getAlignment(), // class cast exceptions will
+ // occur in the distant future
+ omitHidden, f.getCacheSuffixDefault(format),
+ viewport.getColumnSelection());
+
+ if (output == null)
+ {
+ success = false;
+ }
+ else
+ {
+ try
+ {
+ java.io.PrintWriter out = new java.io.PrintWriter(
+ new java.io.FileWriter(file));
+
+ out.print(output);
+ out.close();
+ this.setTitle(file);
+ statusBar.setText(MessageManager.formatMessage("label.successfully_saved_to_file_in_format",new String[]{fileName, format}));
+ } catch (Exception ex)
+ {
+ success = false;
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ if (!success)
+ {
+ JOptionPane.showInternalMessageDialog(this, MessageManager.formatMessage("label.couldnt_save_file", new String[]{fileName}),
+ MessageManager.getString("label.error_saving_file"), JOptionPane.WARNING_MESSAGE);
+ }
+
+ return success;
+ }
+
+ private void warningMessage(String warning, String title)
+ {
+ if (new jalview.util.Platform().isHeadless())
+ {
+ System.err.println("Warning: " + title + "\nWarning: " + warning);
+
+ }
+ else
+ {
+ JOptionPane.showInternalMessageDialog(this, warning, title,
+ JOptionPane.WARNING_MESSAGE);
+ }
+ return;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void outputText_actionPerformed(ActionEvent e)
+ {
+ String[] omitHidden = null;
+
+ if (viewport.hasHiddenColumns())
+ {
+ int reply = JOptionPane
+ .showInternalConfirmDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.alignment_contains_hidden_columns"),
+ MessageManager.getString("action.save_omit_hidden_columns"),
+ JOptionPane.YES_NO_OPTION,
+ JOptionPane.QUESTION_MESSAGE);
+
+ if (reply == JOptionPane.YES_OPTION)
+ {
+ omitHidden = viewport.getViewAsString(false);
+ }
+ }
+
+ CutAndPasteTransfer cap = new CutAndPasteTransfer();
+ cap.setForInput(null);
+
+ try
+ {
+ cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
+ viewport.getAlignment(), omitHidden,
+ viewport.getColumnSelection()));
+ Desktop.addInternalFrame(cap,
MessageManager.formatMessage("label.alignment_output_command", new String[]{e.getActionCommand()}), 600, 500);\r
- } catch (OutOfMemoryError oom)\r
- {\r
- new OOMWarning("Outputting alignment as " + e.getActionCommand(), oom);\r
- cap.dispose();\r
- }\r
-\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void htmlMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- new HTMLOutput(alignPanel,\r
- alignPanel.seqPanel.seqCanvas.getSequenceRenderer(),\r
- alignPanel.seqPanel.seqCanvas.getFeatureRenderer());\r
- }\r
-\r
- public void createImageMap(File file, String image)\r
- {\r
- alignPanel.makePNGImageMap(file, image);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void createPNG(File f)\r
- {\r
- alignPanel.makePNG(f);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void createEPS(File f)\r
- {\r
- alignPanel.makeEPS(f);\r
- }\r
-\r
- @Override\r
- public void pageSetup_actionPerformed(ActionEvent e)\r
- {\r
- PrinterJob printJob = PrinterJob.getPrinterJob();\r
- PrintThread.pf = printJob.pageDialog(printJob.defaultPage());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void printMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- // Putting in a thread avoids Swing painting problems\r
- PrintThread thread = new PrintThread(alignPanel);\r
- thread.start();\r
- }\r
-\r
- @Override\r
- public void exportFeatures_actionPerformed(ActionEvent e)\r
- {\r
- new AnnotationExporter().exportFeatures(alignPanel);\r
- }\r
-\r
- @Override\r
- public void exportAnnotations_actionPerformed(ActionEvent e)\r
- {\r
- new AnnotationExporter().exportAnnotations(alignPanel,\r
- viewport.showAnnotation ? viewport.getAlignment()\r
- .getAlignmentAnnotation() : null, viewport\r
- .getAlignment().getGroups(), ((Alignment) viewport\r
- .getAlignment()).alignmentProperties);\r
- }\r
-\r
- @Override\r
- public void associatedData_actionPerformed(ActionEvent e)\r
- {\r
- // Pick the tree file\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
- chooser.setFileView(new JalviewFileView());\r
+ } catch (OutOfMemoryError oom)
+ {
+ new OOMWarning("Outputting alignment as " + e.getActionCommand(), oom);
+ cap.dispose();
+ }
+
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void htmlMenuItem_actionPerformed(ActionEvent e)
+ {
+ new HTMLOutput(alignPanel,
+ alignPanel.seqPanel.seqCanvas.getSequenceRenderer(),
+ alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
+ }
+
+ public void createImageMap(File file, String image)
+ {
+ alignPanel.makePNGImageMap(file, image);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void createPNG(File f)
+ {
+ alignPanel.makePNG(f);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void createEPS(File f)
+ {
+ alignPanel.makeEPS(f);
+ }
+
+ @Override
+ public void pageSetup_actionPerformed(ActionEvent e)
+ {
+ PrinterJob printJob = PrinterJob.getPrinterJob();
+ PrintThread.pf = printJob.pageDialog(printJob.defaultPage());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void printMenuItem_actionPerformed(ActionEvent e)
+ {
+ // Putting in a thread avoids Swing painting problems
+ PrintThread thread = new PrintThread(alignPanel);
+ thread.start();
+ }
+
+ @Override
+ public void exportFeatures_actionPerformed(ActionEvent e)
+ {
+ new AnnotationExporter().exportFeatures(alignPanel);
+ }
+
+ @Override
+ public void exportAnnotations_actionPerformed(ActionEvent e)
+ {
+ new AnnotationExporter().exportAnnotations(alignPanel,
+ viewport.showAnnotation ? viewport.getAlignment()
+ .getAlignmentAnnotation() : null, viewport
+ .getAlignment().getGroups(), ((Alignment) viewport
+ .getAlignment()).alignmentProperties);
+ }
+
+ @Override
+ public void associatedData_actionPerformed(ActionEvent e)
+ {
+ // Pick the tree file
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+ chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(MessageManager.getString("label.load_jalview_annotations"));\r
chooser.setToolTipText(MessageManager.getString("label.load_jalview_annotations"));\r
-\r
- int value = chooser.showOpenDialog(null);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- String choice = chooser.getSelectedFile().getPath();\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
- loadJalviewDataFile(choice, null, null, null);\r
- }\r
-\r
- }\r
-\r
- /**\r
- * Close the current view or all views in the alignment frame. If the frame\r
- * only contains one view then the alignment will be removed from memory.\r
- * \r
- * @param closeAllTabs\r
- */\r
- @Override\r
- public void closeMenuItem_actionPerformed(boolean closeAllTabs)\r
- {\r
- if (alignPanels != null && alignPanels.size() < 2)\r
- {\r
- closeAllTabs = true;\r
- }\r
-\r
- try\r
- {\r
- if (alignPanels != null)\r
- {\r
- if (closeAllTabs)\r
- {\r
- if (this.isClosed())\r
- {\r
- // really close all the windows - otherwise wait till\r
- // setClosed(true) is called\r
- for (int i = 0; i < alignPanels.size(); i++)\r
- {\r
- AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);\r
- ap.closePanel();\r
- }\r
- }\r
- }\r
- else\r
- {\r
- closeView(alignPanel);\r
- }\r
- }\r
-\r
- if (closeAllTabs)\r
- {\r
- this.setClosed(true);\r
- }\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
- }\r
-\r
- /**\r
- * close alignPanel2 and shuffle tabs appropriately.\r
- * \r
- * @param alignPanel2\r
- */\r
- public void closeView(AlignmentPanel alignPanel2)\r
- {\r
- int index = tabbedPane.getSelectedIndex();\r
- int closedindex = tabbedPane.indexOfComponent(alignPanel2);\r
- alignPanels.removeElement(alignPanel2);\r
- // Unnecessary\r
- // if (viewport == alignPanel2.av)\r
- // {\r
- // viewport = null;\r
- // }\r
- alignPanel2.closePanel();\r
- alignPanel2 = null;\r
-\r
- tabbedPane.removeTabAt(closedindex);\r
- tabbedPane.validate();\r
-\r
- if (index > closedindex || index == tabbedPane.getTabCount())\r
- {\r
- // modify currently selected tab index if necessary.\r
- index--;\r
- }\r
-\r
- this.tabSelectionChanged(index);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- */\r
- void updateEditMenuBar()\r
- {\r
-\r
- if (viewport.historyList.size() > 0)\r
- {\r
- undoMenuItem.setEnabled(true);\r
- CommandI command = (CommandI) viewport.historyList.peek();\r
- undoMenuItem.setText(MessageManager.formatMessage("label.undo_command", new String[]{command.getDescription()}));\r
- }\r
- else\r
- {\r
- undoMenuItem.setEnabled(false);\r
- undoMenuItem.setText(MessageManager.getString("action.undo"));\r
- }\r
-\r
- if (viewport.redoList.size() > 0)\r
- {\r
- redoMenuItem.setEnabled(true);\r
-\r
- CommandI command = (CommandI) viewport.redoList.peek();\r
- redoMenuItem.setText(MessageManager.formatMessage("label.redo_command", new String[]{command.getDescription()}));\r
- }\r
- else\r
- {\r
- redoMenuItem.setEnabled(false);\r
- redoMenuItem.setText(MessageManager.getString("action.redo"));\r
- }\r
- }\r
-\r
- public void addHistoryItem(CommandI command)\r
- {\r
- if (command.getSize() > 0)\r
- {\r
- viewport.historyList.push(command);\r
- viewport.redoList.clear();\r
- updateEditMenuBar();\r
- viewport.updateHiddenColumns();\r
- // viewport.hasHiddenColumns = (viewport.getColumnSelection() != null\r
- // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
- // viewport.getColumnSelection()\r
- // .getHiddenColumns().size() > 0);\r
- }\r
- }\r
-\r
- /**\r
- * \r
- * @return alignment objects for all views\r
- */\r
- AlignmentI[] getViewAlignments()\r
- {\r
- if (alignPanels != null)\r
- {\r
- Enumeration e = alignPanels.elements();\r
- AlignmentI[] als = new AlignmentI[alignPanels.size()];\r
- for (int i = 0; e.hasMoreElements(); i++)\r
- {\r
- als[i] = ((AlignmentPanel) e.nextElement()).av.getAlignment();\r
- }\r
- return als;\r
- }\r
- if (viewport != null)\r
- {\r
- return new AlignmentI[]\r
- { viewport.getAlignment() };\r
- }\r
- return null;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void undoMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.historyList.empty())\r
- return;\r
- CommandI command = (CommandI) viewport.historyList.pop();\r
- viewport.redoList.push(command);\r
- command.undoCommand(getViewAlignments());\r
-\r
- AlignViewport originalSource = getOriginatingSource(command);\r
- updateEditMenuBar();\r
-\r
- if (originalSource != null)\r
- {\r
- if (originalSource != viewport)\r
- {\r
- Cache.log\r
- .warn("Implementation worry: mismatch of viewport origin for undo");\r
- }\r
- originalSource.updateHiddenColumns();\r
- // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=\r
- // null\r
- // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
- // viewport.getColumnSelection()\r
- // .getHiddenColumns().size() > 0);\r
- originalSource.firePropertyChange("alignment", null, originalSource\r
- .getAlignment().getSequences());\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void redoMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.redoList.size() < 1)\r
- {\r
- return;\r
- }\r
-\r
- CommandI command = (CommandI) viewport.redoList.pop();\r
- viewport.historyList.push(command);\r
- command.doCommand(getViewAlignments());\r
-\r
- AlignViewport originalSource = getOriginatingSource(command);\r
- updateEditMenuBar();\r
-\r
- if (originalSource != null)\r
- {\r
-\r
- if (originalSource != viewport)\r
- {\r
- Cache.log\r
- .warn("Implementation worry: mismatch of viewport origin for redo");\r
- }\r
- originalSource.updateHiddenColumns();\r
- // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=\r
- // null\r
- // && viewport.getColumnSelection().getHiddenColumns() != null &&\r
- // viewport.getColumnSelection()\r
- // .getHiddenColumns().size() > 0);\r
- originalSource.firePropertyChange("alignment", null, originalSource\r
- .getAlignment().getSequences());\r
- }\r
- }\r
-\r
- AlignViewport getOriginatingSource(CommandI command)\r
- {\r
- AlignViewport originalSource = null;\r
- // For sequence removal and addition, we need to fire\r
- // the property change event FROM the viewport where the\r
- // original alignment was altered\r
- AlignmentI al = null;\r
- if (command instanceof EditCommand)\r
- {\r
- EditCommand editCommand = (EditCommand) command;\r
- al = editCommand.getAlignment();\r
- Vector comps = (Vector) PaintRefresher.components.get(viewport\r
- .getSequenceSetId());\r
-\r
- for (int i = 0; i < comps.size(); i++)\r
- {\r
- if (comps.elementAt(i) instanceof AlignmentPanel)\r
- {\r
- if (al == ((AlignmentPanel) comps.elementAt(i)).av.getAlignment())\r
- {\r
- originalSource = ((AlignmentPanel) comps.elementAt(i)).av;\r
- break;\r
- }\r
- }\r
- }\r
- }\r
-\r
- if (originalSource == null)\r
- {\r
- // The original view is closed, we must validate\r
- // the current view against the closed view first\r
- if (al != null)\r
- {\r
- PaintRefresher.validateSequences(al, viewport.getAlignment());\r
- }\r
-\r
- originalSource = viewport;\r
- }\r
-\r
- return originalSource;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param up\r
- * DOCUMENT ME!\r
- */\r
- public void moveSelectedSequences(boolean up)\r
- {\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
- if (sg == null)\r
- {\r
- return;\r
- }\r
- viewport.getAlignment().moveSelectedSequencesByOne(sg,\r
- viewport.getHiddenRepSequences(), up);\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- synchronized void slideSequences(boolean right, int size)\r
- {\r
- List<SequenceI> sg = new Vector();\r
- if (viewport.cursorMode)\r
- {\r
- sg.add(viewport.getAlignment().getSequenceAt(\r
- alignPanel.seqPanel.seqCanvas.cursorY));\r
- }\r
- else if (viewport.getSelectionGroup() != null\r
- && viewport.getSelectionGroup().getSize() != viewport\r
- .getAlignment().getHeight())\r
- {\r
- sg = viewport.getSelectionGroup().getSequences(\r
- viewport.getHiddenRepSequences());\r
- }\r
-\r
- if (sg.size() < 1)\r
- {\r
- return;\r
- }\r
-\r
- Vector invertGroup = new Vector();\r
-\r
- for (int i = 0; i < viewport.getAlignment().getHeight(); i++)\r
- {\r
- if (!sg.contains(viewport.getAlignment().getSequenceAt(i)))\r
- invertGroup.add(viewport.getAlignment().getSequenceAt(i));\r
- }\r
-\r
- SequenceI[] seqs1 = sg.toArray(new SequenceI[0]);\r
-\r
- SequenceI[] seqs2 = new SequenceI[invertGroup.size()];\r
- for (int i = 0; i < invertGroup.size(); i++)\r
- seqs2[i] = (SequenceI) invertGroup.elementAt(i);\r
-\r
- SlideSequencesCommand ssc;\r
- if (right)\r
- ssc = new SlideSequencesCommand("Slide Sequences", seqs2, seqs1,\r
- size, viewport.getGapCharacter());\r
- else\r
- ssc = new SlideSequencesCommand("Slide Sequences", seqs1, seqs2,\r
- size, viewport.getGapCharacter());\r
-\r
- int groupAdjustment = 0;\r
- if (ssc.getGapsInsertedBegin() && right)\r
- {\r
- if (viewport.cursorMode)\r
- alignPanel.seqPanel.moveCursor(size, 0);\r
- else\r
- groupAdjustment = size;\r
- }\r
- else if (!ssc.getGapsInsertedBegin() && !right)\r
- {\r
- if (viewport.cursorMode)\r
- alignPanel.seqPanel.moveCursor(-size, 0);\r
- else\r
- groupAdjustment = -size;\r
- }\r
-\r
- if (groupAdjustment != 0)\r
- {\r
- viewport.getSelectionGroup().setStartRes(\r
- viewport.getSelectionGroup().getStartRes() + groupAdjustment);\r
- viewport.getSelectionGroup().setEndRes(\r
- viewport.getSelectionGroup().getEndRes() + groupAdjustment);\r
- }\r
-\r
- boolean appendHistoryItem = false;\r
- if (viewport.historyList != null && viewport.historyList.size() > 0\r
- && viewport.historyList.peek() instanceof SlideSequencesCommand)\r
- {\r
- appendHistoryItem = ssc\r
- .appendSlideCommand((SlideSequencesCommand) viewport.historyList\r
- .peek());\r
- }\r
-\r
- if (!appendHistoryItem)\r
- addHistoryItem(ssc);\r
-\r
- repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void copy_actionPerformed(ActionEvent e)\r
- {\r
- System.gc();\r
- if (viewport.getSelectionGroup() == null)\r
- {\r
- return;\r
- }\r
- // TODO: preserve the ordering of displayed alignment annotation in any\r
- // internal paste (particularly sequence associated annotation)\r
- SequenceI[] seqs = viewport.getSelectionAsNewSequence();\r
- String[] omitHidden = null;\r
-\r
- if (viewport.hasHiddenColumns())\r
- {\r
- omitHidden = viewport.getViewAsString(true);\r
- }\r
-\r
- String output = new FormatAdapter().formatSequences("Fasta", seqs,\r
- omitHidden);\r
-\r
- StringSelection ss = new StringSelection(output);\r
-\r
- try\r
- {\r
- jalview.gui.Desktop.internalCopy = true;\r
- // Its really worth setting the clipboard contents\r
- // to empty before setting the large StringSelection!!\r
- Toolkit.getDefaultToolkit().getSystemClipboard()\r
- .setContents(new StringSelection(""), null);\r
-\r
- Toolkit.getDefaultToolkit().getSystemClipboard()\r
- .setContents(ss, Desktop.instance);\r
- } catch (OutOfMemoryError er)\r
- {\r
- new OOMWarning("copying region", er);\r
- return;\r
- }\r
-\r
- Vector hiddenColumns = null;\r
- if (viewport.hasHiddenColumns())\r
- {\r
- hiddenColumns = new Vector();\r
- int hiddenOffset = viewport.getSelectionGroup().getStartRes(), hiddenCutoff = viewport\r
- .getSelectionGroup().getEndRes();\r
- for (int i = 0; i < viewport.getColumnSelection().getHiddenColumns()\r
- .size(); i++)\r
- {\r
- int[] region = (int[]) viewport.getColumnSelection()\r
- .getHiddenColumns().elementAt(i);\r
- if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff)\r
- {\r
- hiddenColumns.addElement(new int[]\r
- { region[0] - hiddenOffset, region[1] - hiddenOffset });\r
- }\r
- }\r
- }\r
-\r
- Desktop.jalviewClipboard = new Object[]\r
- { seqs, viewport.getAlignment().getDataset(), hiddenColumns };\r
- statusBar.setText(MessageManager.formatMessage("label.copied_sequences_to_clipboard", new String[]{Integer.valueOf(seqs.length).toString()}));\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void pasteNew_actionPerformed(ActionEvent e)\r
- {\r
- paste(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void pasteThis_actionPerformed(ActionEvent e)\r
- {\r
- paste(false);\r
- }\r
-\r
- /**\r
- * Paste contents of Jalview clipboard\r
- * \r
- * @param newAlignment\r
- * true to paste to a new alignment, otherwise add to this.\r
- */\r
- void paste(boolean newAlignment)\r
- {\r
- boolean externalPaste = true;\r
- try\r
- {\r
- Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();\r
- Transferable contents = c.getContents(this);\r
-\r
- if (contents == null)\r
- {\r
- return;\r
- }\r
-\r
- String str, format;\r
- try\r
- {\r
- str = (String) contents.getTransferData(DataFlavor.stringFlavor);\r
- if (str.length() < 1)\r
- {\r
- return;\r
- }\r
-\r
- format = new IdentifyFile().Identify(str, "Paste");\r
-\r
- } catch (OutOfMemoryError er)\r
- {\r
- new OOMWarning("Out of memory pasting sequences!!", er);\r
- return;\r
- }\r
-\r
- SequenceI[] sequences;\r
- boolean annotationAdded = false;\r
- AlignmentI alignment = null;\r
-\r
- if (Desktop.jalviewClipboard != null)\r
- {\r
- // The clipboard was filled from within Jalview, we must use the\r
- // sequences\r
- // And dataset from the copied alignment\r
- SequenceI[] newseq = (SequenceI[]) Desktop.jalviewClipboard[0];\r
- // be doubly sure that we create *new* sequence objects.\r
- sequences = new SequenceI[newseq.length];\r
- for (int i = 0; i < newseq.length; i++)\r
- {\r
- sequences[i] = new Sequence(newseq[i]);\r
- }\r
- alignment = new Alignment(sequences);\r
- externalPaste = false;\r
- }\r
- else\r
- {\r
- // parse the clipboard as an alignment.\r
- alignment = new FormatAdapter().readFile(str, "Paste", format);\r
- sequences = alignment.getSequencesArray();\r
- }\r
-\r
- int alwidth = 0;\r
- ArrayList<Integer> newGraphGroups = new ArrayList<Integer>();\r
- int fgroup = -1;\r
-\r
- if (newAlignment)\r
- {\r
-\r
- if (Desktop.jalviewClipboard != null)\r
- {\r
- // dataset is inherited\r
- alignment.setDataset((Alignment) Desktop.jalviewClipboard[1]);\r
- }\r
- else\r
- {\r
- // new dataset is constructed\r
- alignment.setDataset(null);\r
- }\r
- alwidth = alignment.getWidth() + 1;\r
- }\r
- else\r
- {\r
- AlignmentI pastedal = alignment; // preserve pasted alignment object\r
- // Add pasted sequences and dataset into existing alignment.\r
- alignment = viewport.getAlignment();\r
- alwidth = alignment.getWidth() + 1;\r
- // decide if we need to import sequences from an existing dataset\r
- boolean importDs = Desktop.jalviewClipboard != null\r
- && Desktop.jalviewClipboard[1] != alignment.getDataset();\r
- // importDs==true instructs us to copy over new dataset sequences from\r
- // an existing alignment\r
- Vector newDs = (importDs) ? new Vector() : null; // used to create\r
- // minimum dataset set\r
-\r
- for (int i = 0; i < sequences.length; i++)\r
- {\r
- if (importDs)\r
- {\r
- newDs.addElement(null);\r
- }\r
- SequenceI ds = sequences[i].getDatasetSequence(); // null for a simple\r
- // paste\r
- if (importDs && ds != null)\r
- {\r
- if (!newDs.contains(ds))\r
- {\r
- newDs.setElementAt(ds, i);\r
- ds = new Sequence(ds);\r
- // update with new dataset sequence\r
- sequences[i].setDatasetSequence(ds);\r
- }\r
- else\r
- {\r
- ds = sequences[newDs.indexOf(ds)].getDatasetSequence();\r
- }\r
- }\r
- else\r
- {\r
- // copy and derive new dataset sequence\r
- sequences[i] = sequences[i].deriveSequence();\r
- alignment.getDataset().addSequence(\r
- sequences[i].getDatasetSequence());\r
- // TODO: avoid creation of duplicate dataset sequences with a\r
- // 'contains' method using SequenceI.equals()/SequenceI.contains()\r
- }\r
- alignment.addSequence(sequences[i]); // merges dataset\r
- }\r
- if (newDs != null)\r
- {\r
- newDs.clear(); // tidy up\r
- }\r
- if (alignment.getAlignmentAnnotation() != null)\r
- {\r
- for (AlignmentAnnotation alan : alignment\r
- .getAlignmentAnnotation())\r
- {\r
- if (alan.graphGroup > fgroup)\r
- {\r
- fgroup = alan.graphGroup;\r
- }\r
- }\r
- }\r
- if (pastedal.getAlignmentAnnotation() != null)\r
- {\r
- // Add any annotation attached to alignment.\r
- AlignmentAnnotation[] alann = pastedal.getAlignmentAnnotation();\r
- for (int i = 0; i < alann.length; i++)\r
- {\r
- annotationAdded = true;\r
- if (alann[i].sequenceRef == null && !alann[i].autoCalculated)\r
- {\r
- AlignmentAnnotation newann = new AlignmentAnnotation(alann[i]);\r
- if (newann.graphGroup > -1)\r
- {\r
- if (newGraphGroups.size() <= newann.graphGroup\r
- || newGraphGroups.get(newann.graphGroup) == null)\r
- {\r
- for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)\r
- {\r
- newGraphGroups.add(q, null);\r
- }\r
- newGraphGroups.set(newann.graphGroup, new Integer(\r
- ++fgroup));\r
- }\r
- newann.graphGroup = newGraphGroups.get(newann.graphGroup)\r
- .intValue();\r
- }\r
-\r
- newann.padAnnotation(alwidth);\r
- alignment.addAnnotation(newann);\r
- }\r
- }\r
- }\r
- }\r
- if (!newAlignment)\r
- {\r
- // /////\r
- // ADD HISTORY ITEM\r
- //\r
- addHistoryItem(new EditCommand("Add sequences", EditCommand.PASTE,\r
- sequences, 0, alignment.getWidth(), alignment));\r
- }\r
- // Add any annotations attached to sequences\r
- for (int i = 0; i < sequences.length; i++)\r
- {\r
- if (sequences[i].getAnnotation() != null)\r
- {\r
- AlignmentAnnotation newann;\r
- for (int a = 0; a < sequences[i].getAnnotation().length; a++)\r
- {\r
- annotationAdded = true;\r
- newann = sequences[i].getAnnotation()[a];\r
- newann.adjustForAlignment();\r
- newann.padAnnotation(alwidth);\r
- if (newann.graphGroup > -1)\r
- {\r
- if (newann.graphGroup > -1)\r
- {\r
- if (newGraphGroups.size() <= newann.graphGroup\r
- || newGraphGroups.get(newann.graphGroup) == null)\r
- {\r
- for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)\r
- {\r
- newGraphGroups.add(q, null);\r
- }\r
- newGraphGroups.set(newann.graphGroup, new Integer(\r
- ++fgroup));\r
- }\r
- newann.graphGroup = newGraphGroups.get(newann.graphGroup)\r
- .intValue();\r
- }\r
- }\r
- alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation\r
- // was\r
- // duplicated\r
- // earlier\r
- alignment\r
- .setAnnotationIndex(sequences[i].getAnnotation()[a], a);\r
- }\r
- }\r
- }\r
- if (!newAlignment)\r
- {\r
-\r
- // propagate alignment changed.\r
- viewport.setEndSeq(alignment.getHeight());\r
- if (annotationAdded)\r
- {\r
- // Duplicate sequence annotation in all views.\r
- AlignmentI[] alview = this.getViewAlignments();\r
- for (int i = 0; i < sequences.length; i++)\r
- {\r
- AlignmentAnnotation sann[] = sequences[i].getAnnotation();\r
- if (sann == null)\r
- continue;\r
- for (int avnum = 0; avnum < alview.length; avnum++)\r
- {\r
- if (alview[avnum] != alignment)\r
- {\r
- // duplicate in a view other than the one with input focus\r
- int avwidth = alview[avnum].getWidth() + 1;\r
- // this relies on sann being preserved after we\r
- // modify the sequence's annotation array for each duplication\r
- for (int a = 0; a < sann.length; a++)\r
- {\r
- AlignmentAnnotation newann = new AlignmentAnnotation(\r
- sann[a]);\r
- sequences[i].addAlignmentAnnotation(newann);\r
- newann.padAnnotation(avwidth);\r
- alview[avnum].addAnnotation(newann); // annotation was\r
- // duplicated earlier\r
- // TODO JAL-1145 graphGroups are not updated for sequence\r
- // annotation added to several views. This may cause\r
- // strangeness\r
- alview[avnum].setAnnotationIndex(newann, a);\r
- }\r
- }\r
- }\r
- }\r
- buildSortByAnnotationScoresMenu();\r
- }\r
- viewport.firePropertyChange("alignment", null,\r
- alignment.getSequences());\r
- if (alignPanels != null)\r
- {\r
- for (AlignmentPanel ap : ((Vector<AlignmentPanel>) alignPanels))\r
- {\r
- ap.validateAnnotationDimensions(false);\r
- }\r
- }\r
- else\r
- {\r
- alignPanel.validateAnnotationDimensions(false);\r
- }\r
-\r
- }\r
- else\r
- {\r
- AlignFrame af = new AlignFrame(alignment, DEFAULT_WIDTH,\r
- DEFAULT_HEIGHT);\r
- String newtitle = new String("Copied sequences");\r
-\r
- if (Desktop.jalviewClipboard != null\r
- && Desktop.jalviewClipboard[2] != null)\r
- {\r
- Vector hc = (Vector) Desktop.jalviewClipboard[2];\r
- for (int i = 0; i < hc.size(); i++)\r
- {\r
- int[] region = (int[]) hc.elementAt(i);\r
- af.viewport.hideColumns(region[0], region[1]);\r
- }\r
- }\r
-\r
- // >>>This is a fix for the moment, until a better solution is\r
- // found!!<<<\r
- af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer()\r
- .transferSettings(\r
- alignPanel.seqPanel.seqCanvas.getFeatureRenderer());\r
-\r
- // TODO: maintain provenance of an alignment, rather than just make the\r
- // title a concatenation of operations.\r
- if (!externalPaste)\r
- {\r
- if (title.startsWith("Copied sequences"))\r
- {\r
- newtitle = title;\r
- }\r
- else\r
- {\r
- newtitle = newtitle.concat("- from " + title);\r
- }\r
- }\r
- else\r
- {\r
- newtitle = new String("Pasted sequences");\r
- }\r
-\r
- Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH,\r
- DEFAULT_HEIGHT);\r
-\r
- }\r
-\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- System.out.println("Exception whilst pasting: " + ex);\r
- // could be anything being pasted in here\r
- }\r
-\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void cut_actionPerformed(ActionEvent e)\r
- {\r
- copy_actionPerformed(null);\r
- delete_actionPerformed(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void delete_actionPerformed(ActionEvent evt)\r
- {\r
-\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
- if (sg == null)\r
- {\r
- return;\r
- }\r
-\r
- Vector seqs = new Vector();\r
- SequenceI seq;\r
- for (int i = 0; i < sg.getSize(); i++)\r
- {\r
- seq = sg.getSequenceAt(i);\r
- seqs.addElement(seq);\r
- }\r
-\r
- // If the cut affects all sequences, remove highlighted columns\r
- if (sg.getSize() == viewport.getAlignment().getHeight())\r
- {\r
- viewport.getColumnSelection().removeElements(sg.getStartRes(),\r
- sg.getEndRes() + 1);\r
- }\r
-\r
- SequenceI[] cut = new SequenceI[seqs.size()];\r
- for (int i = 0; i < seqs.size(); i++)\r
- {\r
- cut[i] = (SequenceI) seqs.elementAt(i);\r
- }\r
-\r
- /*\r
- * //ADD HISTORY ITEM\r
- */\r
- addHistoryItem(new EditCommand("Cut Sequences", EditCommand.CUT, cut,\r
- sg.getStartRes(), sg.getEndRes() - sg.getStartRes() + 1,\r
- viewport.getAlignment()));\r
-\r
- viewport.setSelectionGroup(null);\r
- viewport.sendSelection();\r
- viewport.getAlignment().deleteGroup(sg);\r
-\r
- viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
- .getSequences());\r
- if (viewport.getAlignment().getHeight() < 1)\r
- {\r
- try\r
- {\r
- this.setClosed(true);\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void deleteGroups_actionPerformed(ActionEvent e)\r
- {\r
- if (avc.deleteGroups()) {\r
- PaintRefresher.Refresh(this, viewport.getSequenceSetId());\r
- alignPanel.updateAnnotation();\r
- alignPanel.paintAlignment(true);\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = new SequenceGroup();\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
- {\r
- sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
- }\r
-\r
- sg.setEndRes(viewport.getAlignment().getWidth() - 1);\r
- viewport.setSelectionGroup(sg);\r
- viewport.sendSelection();\r
- alignPanel.paintAlignment(true);\r
- PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.cursorMode)\r
- {\r
- alignPanel.seqPanel.keyboardNo1 = null;\r
- alignPanel.seqPanel.keyboardNo2 = null;\r
- }\r
- viewport.setSelectionGroup(null);\r
- viewport.getColumnSelection().clear();\r
- viewport.setSelectionGroup(null);\r
- alignPanel.seqPanel.seqCanvas.highlightSearchResults(null);\r
- alignPanel.idPanel.idCanvas.searchResults = null;\r
- alignPanel.paintAlignment(true);\r
- PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
- viewport.sendSelection();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
- if (sg == null)\r
- {\r
- selectAllSequenceMenuItem_actionPerformed(null);\r
-\r
- return;\r
- }\r
-\r
- for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
- {\r
- sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);\r
- }\r
-\r
- alignPanel.paintAlignment(true);\r
- PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());\r
- viewport.sendSelection();\r
- }\r
-\r
- @Override\r
- public void invertColSel_actionPerformed(ActionEvent e)\r
- {\r
- viewport.invertColumnSelection();\r
- alignPanel.paintAlignment(true);\r
- viewport.sendSelection();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- trimAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- trimAlignment(false);\r
- }\r
-\r
- void trimAlignment(boolean trimLeft)\r
- {\r
- ColumnSelection colSel = viewport.getColumnSelection();\r
- int column;\r
-\r
- if (colSel.size() > 0)\r
- {\r
- if (trimLeft)\r
- {\r
- column = colSel.getMin();\r
- }\r
- else\r
- {\r
- column = colSel.getMax();\r
- }\r
-\r
- SequenceI[] seqs;\r
- if (viewport.getSelectionGroup() != null)\r
- {\r
- seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
- viewport.getHiddenRepSequences());\r
- }\r
- else\r
- {\r
- seqs = viewport.getAlignment().getSequencesArray();\r
- }\r
-\r
- TrimRegionCommand trimRegion;\r
- if (trimLeft)\r
- {\r
- trimRegion = new TrimRegionCommand("Remove Left",\r
- TrimRegionCommand.TRIM_LEFT, seqs, column,\r
- viewport.getAlignment(), viewport.getColumnSelection(),\r
- viewport.getSelectionGroup());\r
- viewport.setStartRes(0);\r
- }\r
- else\r
- {\r
- trimRegion = new TrimRegionCommand("Remove Right",\r
- TrimRegionCommand.TRIM_RIGHT, seqs, column,\r
- viewport.getAlignment(), viewport.getColumnSelection(),\r
- viewport.getSelectionGroup());\r
- }\r
-\r
- statusBar.setText(MessageManager.formatMessage("label.removed_columns", new String[]{Integer.valueOf(trimRegion.getSize()).toString()}));\r
-\r
- addHistoryItem(trimRegion);\r
-\r
- for (SequenceGroup sg : viewport.getAlignment().getGroups())\r
- {\r
- if ((trimLeft && !sg.adjustForRemoveLeft(column))\r
- || (!trimLeft && !sg.adjustForRemoveRight(column)))\r
- {\r
- viewport.getAlignment().deleteGroup(sg);\r
- }\r
- }\r
-\r
- viewport.firePropertyChange("alignment", null, viewport\r
- .getAlignment().getSequences());\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- int start = 0, end = viewport.getAlignment().getWidth() - 1;\r
-\r
- SequenceI[] seqs;\r
- if (viewport.getSelectionGroup() != null)\r
- {\r
- seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
- viewport.getHiddenRepSequences());\r
- start = viewport.getSelectionGroup().getStartRes();\r
- end = viewport.getSelectionGroup().getEndRes();\r
- }\r
- else\r
- {\r
- seqs = viewport.getAlignment().getSequencesArray();\r
- }\r
-\r
- RemoveGapColCommand removeGapCols = new RemoveGapColCommand(\r
- "Remove Gapped Columns", seqs, start, end,\r
- viewport.getAlignment());\r
-\r
- addHistoryItem(removeGapCols);\r
-\r
- statusBar.setText(MessageManager.formatMessage("label.removed_empty_columns", new String[]{Integer.valueOf(removeGapCols.getSize()).toString()}));\r
-\r
- // This is to maintain viewport position on first residue\r
- // of first sequence\r
- SequenceI seq = viewport.getAlignment().getSequenceAt(0);\r
- int startRes = seq.findPosition(viewport.startRes);\r
- // ShiftList shifts;\r
- // viewport.getAlignment().removeGaps(shifts=new ShiftList());\r
- // edit.alColumnChanges=shifts.getInverse();\r
- // if (viewport.hasHiddenColumns)\r
- // viewport.getColumnSelection().compensateForEdits(shifts);\r
- viewport.setStartRes(seq.findIndex(startRes) - 1);\r
- viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
- .getSequences());\r
-\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- int start = 0, end = viewport.getAlignment().getWidth() - 1;\r
-\r
- SequenceI[] seqs;\r
- if (viewport.getSelectionGroup() != null)\r
- {\r
- seqs = viewport.getSelectionGroup().getSequencesAsArray(\r
- viewport.getHiddenRepSequences());\r
- start = viewport.getSelectionGroup().getStartRes();\r
- end = viewport.getSelectionGroup().getEndRes();\r
- }\r
- else\r
- {\r
- seqs = viewport.getAlignment().getSequencesArray();\r
- }\r
-\r
- // This is to maintain viewport position on first residue\r
- // of first sequence\r
- SequenceI seq = viewport.getAlignment().getSequenceAt(0);\r
- int startRes = seq.findPosition(viewport.startRes);\r
-\r
- addHistoryItem(new RemoveGapsCommand("Remove Gaps", seqs, start, end,\r
- viewport.getAlignment()));\r
-\r
- viewport.setStartRes(seq.findIndex(startRes) - 1);\r
-\r
- viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
- .getSequences());\r
-\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void padGapsMenuitem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setPadGaps(padGapsMenuitem.isSelected());\r
- viewport.firePropertyChange("alignment", null, viewport.getAlignment()\r
- .getSequences());\r
- }\r
-\r
- // else\r
- {\r
- // if (justifySeqs>0)\r
- {\r
- // alignment.justify(justifySeqs!=RIGHT_JUSTIFY);\r
- }\r
- }\r
-\r
- // }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void findMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- new Finder();\r
- }\r
-\r
- @Override\r
- public void newView_actionPerformed(ActionEvent e)\r
- {\r
- newView(true);\r
- }\r
-\r
- /**\r
- * \r
- * @param copyAnnotation\r
- * if true then duplicate all annnotation, groups and settings\r
- * @return new alignment panel, already displayed.\r
- */\r
- public AlignmentPanel newView(boolean copyAnnotation)\r
- {\r
- return newView(null, copyAnnotation);\r
- }\r
-\r
- /**\r
- * \r
- * @param viewTitle\r
- * title of newly created view\r
- * @return new alignment panel, already displayed.\r
- */\r
- public AlignmentPanel newView(String viewTitle)\r
- {\r
- return newView(viewTitle, true);\r
- }\r
-\r
- /**\r
- * \r
- * @param viewTitle\r
- * title of newly created view\r
- * @param copyAnnotation\r
- * if true then duplicate all annnotation, groups and settings\r
- * @return new alignment panel, already displayed.\r
- */\r
- public AlignmentPanel newView(String viewTitle, boolean copyAnnotation)\r
- {\r
- AlignmentPanel newap = new Jalview2XML().copyAlignPanel(alignPanel,\r
- true);\r
- if (!copyAnnotation)\r
- {\r
- // just remove all the current annotation except for the automatic stuff\r
- newap.av.getAlignment().deleteAllGroups();\r
- for (AlignmentAnnotation alan : newap.av.getAlignment()\r
- .getAlignmentAnnotation())\r
- {\r
- if (!alan.autoCalculated)\r
- {\r
- newap.av.getAlignment().deleteAnnotation(alan);\r
- }\r
- ;\r
- }\r
- }\r
-\r
- newap.av.gatherViewsHere = false;\r
-\r
- if (viewport.viewName == null)\r
- {\r
- viewport.viewName = "Original";\r
- }\r
-\r
- newap.av.historyList = viewport.historyList;\r
- newap.av.redoList = viewport.redoList;\r
-\r
- int index = Desktop.getViewCount(viewport.getSequenceSetId());\r
- // make sure the new view has a unique name - this is essential for Jalview\r
- // 2 archives\r
- boolean addFirstIndex = false;\r
- if (viewTitle == null || viewTitle.trim().length() == 0)\r
- {\r
- viewTitle = "View";\r
- addFirstIndex = true;\r
- }\r
- else\r
- {\r
- index = 1;// we count from 1 if given a specific name\r
- }\r
- String newViewName = viewTitle + ((addFirstIndex) ? " " + index : "");\r
- Vector comps = (Vector) PaintRefresher.components.get(viewport\r
- .getSequenceSetId());\r
- Vector existingNames = new Vector();\r
- for (int i = 0; i < comps.size(); i++)\r
- {\r
- if (comps.elementAt(i) instanceof AlignmentPanel)\r
- {\r
- AlignmentPanel ap = (AlignmentPanel) comps.elementAt(i);\r
- if (!existingNames.contains(ap.av.viewName))\r
- {\r
- existingNames.addElement(ap.av.viewName);\r
- }\r
- }\r
- }\r
-\r
- while (existingNames.contains(newViewName))\r
- {\r
- newViewName = viewTitle + " " + (++index);\r
- }\r
-\r
- newap.av.viewName = newViewName;\r
-\r
- addAlignmentPanel(newap, true);\r
- newap.alignmentChanged();\r
- \r
- if (alignPanels.size() == 2)\r
- {\r
- viewport.gatherViewsHere = true;\r
- }\r
- tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);\r
- return newap;\r
- }\r
-\r
- @Override\r
- public void expandViews_actionPerformed(ActionEvent e)\r
- {\r
- Desktop.instance.explodeViews(this);\r
- }\r
-\r
- @Override\r
- public void gatherViews_actionPerformed(ActionEvent e)\r
- {\r
- Desktop.instance.gatherViews(this);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void font_actionPerformed(ActionEvent e)\r
- {\r
- new FontChooser(alignPanel);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void seqLimit_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowJVSuffix(seqLimits.isSelected());\r
-\r
- alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel\r
- .calculateIdWidth());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- @Override\r
- public void idRightAlign_actionPerformed(ActionEvent e)\r
- {\r
- viewport.rightAlignIds = idRightAlign.isSelected();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- @Override\r
- public void centreColumnLabels_actionPerformed(ActionEvent e)\r
- {\r
- viewport.centreColumnLabels = centreColumnLabelsMenuItem.getState();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see jalview.jbgui.GAlignFrame#followHighlight_actionPerformed()\r
- */\r
- @Override\r
- protected void followHighlight_actionPerformed()\r
- {\r
- if (viewport.followHighlight = this.followHighlightMenuItem.getState())\r
- {\r
- alignPanel.scrollToPosition(\r
- alignPanel.seqPanel.seqCanvas.searchResults, false);\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setColourText(colourTextMenuItem.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void wrapMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- scaleAbove.setVisible(wrapMenuItem.isSelected());\r
- scaleLeft.setVisible(wrapMenuItem.isSelected());\r
- scaleRight.setVisible(wrapMenuItem.isSelected());\r
- viewport.setWrapAlignment(wrapMenuItem.isSelected());\r
- alignPanel.setWrapAlignment(wrapMenuItem.isSelected());\r
- }\r
-\r
- @Override\r
- public void showAllSeqs_actionPerformed(ActionEvent e)\r
- {\r
- viewport.showAllHiddenSeqs();\r
- }\r
-\r
- @Override\r
- public void showAllColumns_actionPerformed(ActionEvent e)\r
- {\r
- viewport.showAllHiddenColumns();\r
- repaint();\r
- }\r
-\r
- @Override\r
- public void hideSelSequences_actionPerformed(ActionEvent e)\r
- {\r
- viewport.hideAllSelectedSeqs();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * called by key handler and the hide all/show all menu items\r
- * \r
- * @param toggleSeqs\r
- * @param toggleCols\r
- */\r
- private void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)\r
- {\r
-\r
- boolean hide = false;\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
- if (!toggleSeqs && !toggleCols)\r
- {\r
- // Hide everything by the current selection - this is a hack - we do the\r
- // invert and then hide\r
- // first check that there will be visible columns after the invert.\r
- if ((viewport.getColumnSelection() != null\r
- && viewport.getColumnSelection().getSelected() != null && viewport\r
- .getColumnSelection().getSelected().size() > 0)\r
- || (sg != null && sg.getSize() > 0 && sg.getStartRes() <= sg\r
- .getEndRes()))\r
- {\r
- // now invert the sequence set, if required - empty selection implies\r
- // that no hiding is required.\r
- if (sg != null)\r
- {\r
- invertSequenceMenuItem_actionPerformed(null);\r
- sg = viewport.getSelectionGroup();\r
- toggleSeqs = true;\r
-\r
- }\r
- viewport.expandColSelection(sg, true);\r
- // finally invert the column selection and get the new sequence\r
- // selection.\r
- invertColSel_actionPerformed(null);\r
- toggleCols = true;\r
- }\r
- }\r
-\r
- if (toggleSeqs)\r
- {\r
- if (sg != null && sg.getSize() != viewport.getAlignment().getHeight())\r
- {\r
- hideSelSequences_actionPerformed(null);\r
- hide = true;\r
- }\r
- else if (!(toggleCols && viewport.getColumnSelection().getSelected()\r
- .size() > 0))\r
- {\r
- showAllSeqs_actionPerformed(null);\r
- }\r
- }\r
-\r
- if (toggleCols)\r
- {\r
- if (viewport.getColumnSelection().getSelected().size() > 0)\r
- {\r
- hideSelColumns_actionPerformed(null);\r
- if (!toggleSeqs)\r
- {\r
- viewport.setSelectionGroup(sg);\r
- }\r
- }\r
- else if (!hide)\r
- {\r
- showAllColumns_actionPerformed(null);\r
- }\r
- }\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#hideAllButSelection_actionPerformed(java.awt.\r
- * event.ActionEvent)\r
- */\r
- @Override\r
- public void hideAllButSelection_actionPerformed(ActionEvent e)\r
- {\r
- toggleHiddenRegions(false, false);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#hideAllSelection_actionPerformed(java.awt.event\r
- * .ActionEvent)\r
- */\r
- @Override\r
- public void hideAllSelection_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
- viewport.expandColSelection(sg, false);\r
- viewport.hideAllSelectedSeqs();\r
- viewport.hideSelectedColumns();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showAllhidden_actionPerformed(java.awt.event.\r
- * ActionEvent)\r
- */\r
- @Override\r
- public void showAllhidden_actionPerformed(ActionEvent e)\r
- {\r
- viewport.showAllHiddenColumns();\r
- viewport.showAllHiddenSeqs();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- @Override\r
- public void hideSelColumns_actionPerformed(ActionEvent e)\r
- {\r
- viewport.hideSelectedColumns();\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- @Override\r
- public void hiddenMarkers_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowHiddenMarkers(hiddenMarkers.isSelected());\r
- repaint();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void scaleAbove_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleAboveWrapped(scaleAbove.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void scaleLeft_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleLeftWrapped(scaleLeft.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void scaleRight_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setScaleRightWrapped(scaleRight.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowBoxes(viewBoxesMenuItem.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowText(viewTextMenuItem.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setRenderGaps(renderGapsMenuItem.isSelected());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- public FeatureSettings featureSettings;\r
-\r
- @Override\r
- public void featureSettings_actionPerformed(ActionEvent e)\r
- {\r
- if (featureSettings != null)\r
- {\r
- featureSettings.close();\r
- featureSettings = null;\r
- }\r
- if (!showSeqFeatures.isSelected())\r
- {\r
- // make sure features are actually displayed\r
- showSeqFeatures.setSelected(true);\r
- showSeqFeatures_actionPerformed(null);\r
- }\r
- featureSettings = new FeatureSettings(this);\r
- }\r
-\r
- /**\r
- * Set or clear 'Show Sequence Features'\r
- * \r
- * @param evt\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void showSeqFeatures_actionPerformed(ActionEvent evt)\r
- {\r
- viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());\r
- alignPanel.paintAlignment(true);\r
- if (alignPanel.getOverviewPanel() != null)\r
- {\r
- alignPanel.getOverviewPanel().updateOverviewImage();\r
- }\r
- }\r
-\r
- /**\r
- * Set or clear 'Show Sequence Features'\r
- * \r
- * @param evt\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void showSeqFeaturesHeight_actionPerformed(ActionEvent evt)\r
- {\r
- viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight\r
- .isSelected());\r
- if (viewport.getShowSequenceFeaturesHeight())\r
- {\r
- // ensure we're actually displaying features\r
- viewport.setShowSequenceFeatures(true);\r
- showSeqFeatures.setSelected(true);\r
- }\r
- alignPanel.paintAlignment(true);\r
- if (alignPanel.getOverviewPanel() != null)\r
- {\r
- alignPanel.getOverviewPanel().updateOverviewImage();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());\r
- alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());\r
- }\r
-\r
- @Override\r
- public void alignmentProperties()\r
- {\r
- JEditorPane editPane = new JEditorPane("text/html", "");\r
- editPane.setEditable(false);\r
- StringBuffer contents = new AlignmentProperties(viewport.getAlignment())\r
- .formatAsHtml();\r
- editPane.setText(MessageManager.formatMessage("label.html_content", new String[]{contents.toString()}));\r
- JInternalFrame frame = new JInternalFrame();\r
- frame.getContentPane().add(new JScrollPane(editPane));\r
-\r
+
+ int value = chooser.showOpenDialog(null);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ loadJalviewDataFile(choice, null, null, null);
+ }
+
+ }
+
+ /**
+ * Close the current view or all views in the alignment frame. If the frame
+ * only contains one view then the alignment will be removed from memory.
+ *
+ * @param closeAllTabs
+ */
+ @Override
+ public void closeMenuItem_actionPerformed(boolean closeAllTabs)
+ {
+ if (alignPanels != null && alignPanels.size() < 2)
+ {
+ closeAllTabs = true;
+ }
+
+ try
+ {
+ if (alignPanels != null)
+ {
+ if (closeAllTabs)
+ {
+ if (this.isClosed())
+ {
+ // really close all the windows - otherwise wait till
+ // setClosed(true) is called
+ for (int i = 0; i < alignPanels.size(); i++)
+ {
+ AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);
+ ap.closePanel();
+ }
+ }
+ }
+ else
+ {
+ closeView(alignPanel);
+ }
+ }
+
+ if (closeAllTabs)
+ {
+ this.setClosed(true);
+ }
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+
+ /**
+ * close alignPanel2 and shuffle tabs appropriately.
+ *
+ * @param alignPanel2
+ */
+ public void closeView(AlignmentPanel alignPanel2)
+ {
+ int index = tabbedPane.getSelectedIndex();
+ int closedindex = tabbedPane.indexOfComponent(alignPanel2);
+ alignPanels.removeElement(alignPanel2);
+ // Unnecessary
+ // if (viewport == alignPanel2.av)
+ // {
+ // viewport = null;
+ // }
+ alignPanel2.closePanel();
+ alignPanel2 = null;
+
+ tabbedPane.removeTabAt(closedindex);
+ tabbedPane.validate();
+
+ if (index > closedindex || index == tabbedPane.getTabCount())
+ {
+ // modify currently selected tab index if necessary.
+ index--;
+ }
+
+ this.tabSelectionChanged(index);
+ }
+
+ /**
+ * DOCUMENT ME!
+ */
+ void updateEditMenuBar()
+ {
+
+ if (viewport.historyList.size() > 0)
+ {
+ undoMenuItem.setEnabled(true);
+ CommandI command = (CommandI) viewport.historyList.peek();
+ undoMenuItem.setText(MessageManager.formatMessage("label.undo_command", new String[]{command.getDescription()}));
+ }
+ else
+ {
+ undoMenuItem.setEnabled(false);
+ undoMenuItem.setText(MessageManager.getString("action.undo"));
+ }
+
+ if (viewport.redoList.size() > 0)
+ {
+ redoMenuItem.setEnabled(true);
+
+ CommandI command = (CommandI) viewport.redoList.peek();
+ redoMenuItem.setText(MessageManager.formatMessage("label.redo_command", new String[]{command.getDescription()}));
+ }
+ else
+ {
+ redoMenuItem.setEnabled(false);
+ redoMenuItem.setText(MessageManager.getString("action.redo"));
+ }
+ }
+
+ public void addHistoryItem(CommandI command)
+ {
+ if (command.getSize() > 0)
+ {
+ viewport.historyList.push(command);
+ viewport.redoList.clear();
+ updateEditMenuBar();
+ viewport.updateHiddenColumns();
+ // viewport.hasHiddenColumns = (viewport.getColumnSelection() != null
+ // && viewport.getColumnSelection().getHiddenColumns() != null &&
+ // viewport.getColumnSelection()
+ // .getHiddenColumns().size() > 0);
+ }
+ }
+
+ /**
+ *
+ * @return alignment objects for all views
+ */
+ AlignmentI[] getViewAlignments()
+ {
+ if (alignPanels != null)
+ {
+ Enumeration e = alignPanels.elements();
+ AlignmentI[] als = new AlignmentI[alignPanels.size()];
+ for (int i = 0; e.hasMoreElements(); i++)
+ {
+ als[i] = ((AlignmentPanel) e.nextElement()).av.getAlignment();
+ }
+ return als;
+ }
+ if (viewport != null)
+ {
+ return new AlignmentI[]
+ { viewport.getAlignment() };
+ }
+ return null;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void undoMenuItem_actionPerformed(ActionEvent e)
+ {
+ if (viewport.historyList.empty())
+ return;
+ CommandI command = (CommandI) viewport.historyList.pop();
+ viewport.redoList.push(command);
+ command.undoCommand(getViewAlignments());
+
+ AlignViewport originalSource = getOriginatingSource(command);
+ updateEditMenuBar();
+
+ if (originalSource != null)
+ {
+ if (originalSource != viewport)
+ {
+ Cache.log
+ .warn("Implementation worry: mismatch of viewport origin for undo");
+ }
+ originalSource.updateHiddenColumns();
+ // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=
+ // null
+ // && viewport.getColumnSelection().getHiddenColumns() != null &&
+ // viewport.getColumnSelection()
+ // .getHiddenColumns().size() > 0);
+ originalSource.firePropertyChange("alignment", null, originalSource
+ .getAlignment().getSequences());
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void redoMenuItem_actionPerformed(ActionEvent e)
+ {
+ if (viewport.redoList.size() < 1)
+ {
+ return;
+ }
+
+ CommandI command = (CommandI) viewport.redoList.pop();
+ viewport.historyList.push(command);
+ command.doCommand(getViewAlignments());
+
+ AlignViewport originalSource = getOriginatingSource(command);
+ updateEditMenuBar();
+
+ if (originalSource != null)
+ {
+
+ if (originalSource != viewport)
+ {
+ Cache.log
+ .warn("Implementation worry: mismatch of viewport origin for redo");
+ }
+ originalSource.updateHiddenColumns();
+ // originalSource.hasHiddenColumns = (viewport.getColumnSelection() !=
+ // null
+ // && viewport.getColumnSelection().getHiddenColumns() != null &&
+ // viewport.getColumnSelection()
+ // .getHiddenColumns().size() > 0);
+ originalSource.firePropertyChange("alignment", null, originalSource
+ .getAlignment().getSequences());
+ }
+ }
+
+ AlignViewport getOriginatingSource(CommandI command)
+ {
+ AlignViewport originalSource = null;
+ // For sequence removal and addition, we need to fire
+ // the property change event FROM the viewport where the
+ // original alignment was altered
+ AlignmentI al = null;
+ if (command instanceof EditCommand)
+ {
+ EditCommand editCommand = (EditCommand) command;
+ al = editCommand.getAlignment();
+ Vector comps = (Vector) PaintRefresher.components.get(viewport
+ .getSequenceSetId());
+
+ for (int i = 0; i < comps.size(); i++)
+ {
+ if (comps.elementAt(i) instanceof AlignmentPanel)
+ {
+ if (al == ((AlignmentPanel) comps.elementAt(i)).av.getAlignment())
+ {
+ originalSource = ((AlignmentPanel) comps.elementAt(i)).av;
+ break;
+ }
+ }
+ }
+ }
+
+ if (originalSource == null)
+ {
+ // The original view is closed, we must validate
+ // the current view against the closed view first
+ if (al != null)
+ {
+ PaintRefresher.validateSequences(al, viewport.getAlignment());
+ }
+
+ originalSource = viewport;
+ }
+
+ return originalSource;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param up
+ * DOCUMENT ME!
+ */
+ public void moveSelectedSequences(boolean up)
+ {
+ SequenceGroup sg = viewport.getSelectionGroup();
+
+ if (sg == null)
+ {
+ return;
+ }
+ viewport.getAlignment().moveSelectedSequencesByOne(sg,
+ viewport.getHiddenRepSequences(), up);
+ alignPanel.paintAlignment(true);
+ }
+
+ synchronized void slideSequences(boolean right, int size)
+ {
+ List<SequenceI> sg = new Vector();
+ if (viewport.cursorMode)
+ {
+ sg.add(viewport.getAlignment().getSequenceAt(
+ alignPanel.seqPanel.seqCanvas.cursorY));
+ }
+ else if (viewport.getSelectionGroup() != null
+ && viewport.getSelectionGroup().getSize() != viewport
+ .getAlignment().getHeight())
+ {
+ sg = viewport.getSelectionGroup().getSequences(
+ viewport.getHiddenRepSequences());
+ }
+
+ if (sg.size() < 1)
+ {
+ return;
+ }
+
+ Vector invertGroup = new Vector();
+
+ for (int i = 0; i < viewport.getAlignment().getHeight(); i++)
+ {
+ if (!sg.contains(viewport.getAlignment().getSequenceAt(i)))
+ invertGroup.add(viewport.getAlignment().getSequenceAt(i));
+ }
+
+ SequenceI[] seqs1 = sg.toArray(new SequenceI[0]);
+
+ SequenceI[] seqs2 = new SequenceI[invertGroup.size()];
+ for (int i = 0; i < invertGroup.size(); i++)
+ seqs2[i] = (SequenceI) invertGroup.elementAt(i);
+
+ SlideSequencesCommand ssc;
+ if (right)
+ ssc = new SlideSequencesCommand("Slide Sequences", seqs2, seqs1,
+ size, viewport.getGapCharacter());
+ else
+ ssc = new SlideSequencesCommand("Slide Sequences", seqs1, seqs2,
+ size, viewport.getGapCharacter());
+
+ int groupAdjustment = 0;
+ if (ssc.getGapsInsertedBegin() && right)
+ {
+ if (viewport.cursorMode)
+ alignPanel.seqPanel.moveCursor(size, 0);
+ else
+ groupAdjustment = size;
+ }
+ else if (!ssc.getGapsInsertedBegin() && !right)
+ {
+ if (viewport.cursorMode)
+ alignPanel.seqPanel.moveCursor(-size, 0);
+ else
+ groupAdjustment = -size;
+ }
+
+ if (groupAdjustment != 0)
+ {
+ viewport.getSelectionGroup().setStartRes(
+ viewport.getSelectionGroup().getStartRes() + groupAdjustment);
+ viewport.getSelectionGroup().setEndRes(
+ viewport.getSelectionGroup().getEndRes() + groupAdjustment);
+ }
+
+ boolean appendHistoryItem = false;
+ if (viewport.historyList != null && viewport.historyList.size() > 0
+ && viewport.historyList.peek() instanceof SlideSequencesCommand)
+ {
+ appendHistoryItem = ssc
+ .appendSlideCommand((SlideSequencesCommand) viewport.historyList
+ .peek());
+ }
+
+ if (!appendHistoryItem)
+ addHistoryItem(ssc);
+
+ repaint();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void copy_actionPerformed(ActionEvent e)
+ {
+ System.gc();
+ if (viewport.getSelectionGroup() == null)
+ {
+ return;
+ }
+ // TODO: preserve the ordering of displayed alignment annotation in any
+ // internal paste (particularly sequence associated annotation)
+ SequenceI[] seqs = viewport.getSelectionAsNewSequence();
+ String[] omitHidden = null;
+
+ if (viewport.hasHiddenColumns())
+ {
+ omitHidden = viewport.getViewAsString(true);
+ }
+
+ String output = new FormatAdapter().formatSequences("Fasta", seqs,
+ omitHidden);
+
+ StringSelection ss = new StringSelection(output);
+
+ try
+ {
+ jalview.gui.Desktop.internalCopy = true;
+ // Its really worth setting the clipboard contents
+ // to empty before setting the large StringSelection!!
+ Toolkit.getDefaultToolkit().getSystemClipboard()
+ .setContents(new StringSelection(""), null);
+
+ Toolkit.getDefaultToolkit().getSystemClipboard()
+ .setContents(ss, Desktop.instance);
+ } catch (OutOfMemoryError er)
+ {
+ new OOMWarning("copying region", er);
+ return;
+ }
+
+ Vector hiddenColumns = null;
+ if (viewport.hasHiddenColumns())
+ {
+ hiddenColumns = new Vector();
+ int hiddenOffset = viewport.getSelectionGroup().getStartRes(), hiddenCutoff = viewport
+ .getSelectionGroup().getEndRes();
+ for (int i = 0; i < viewport.getColumnSelection().getHiddenColumns()
+ .size(); i++)
+ {
+ int[] region = (int[]) viewport.getColumnSelection()
+ .getHiddenColumns().elementAt(i);
+ if (region[0] >= hiddenOffset && region[1] <= hiddenCutoff)
+ {
+ hiddenColumns.addElement(new int[]
+ { region[0] - hiddenOffset, region[1] - hiddenOffset });
+ }
+ }
+ }
+
+ Desktop.jalviewClipboard = new Object[]
+ { seqs, viewport.getAlignment().getDataset(), hiddenColumns };
+ statusBar.setText(MessageManager.formatMessage("label.copied_sequences_to_clipboard", new String[]{Integer.valueOf(seqs.length).toString()}));
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void pasteNew_actionPerformed(ActionEvent e)
+ {
+ paste(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void pasteThis_actionPerformed(ActionEvent e)
+ {
+ paste(false);
+ }
+
+ /**
+ * Paste contents of Jalview clipboard
+ *
+ * @param newAlignment
+ * true to paste to a new alignment, otherwise add to this.
+ */
+ void paste(boolean newAlignment)
+ {
+ boolean externalPaste = true;
+ try
+ {
+ Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard();
+ Transferable contents = c.getContents(this);
+
+ if (contents == null)
+ {
+ return;
+ }
+
+ String str, format;
+ try
+ {
+ str = (String) contents.getTransferData(DataFlavor.stringFlavor);
+ if (str.length() < 1)
+ {
+ return;
+ }
+
+ format = new IdentifyFile().Identify(str, "Paste");
+
+ } catch (OutOfMemoryError er)
+ {
+ new OOMWarning("Out of memory pasting sequences!!", er);
+ return;
+ }
+
+ SequenceI[] sequences;
+ boolean annotationAdded = false;
+ AlignmentI alignment = null;
+
+ if (Desktop.jalviewClipboard != null)
+ {
+ // The clipboard was filled from within Jalview, we must use the
+ // sequences
+ // And dataset from the copied alignment
+ SequenceI[] newseq = (SequenceI[]) Desktop.jalviewClipboard[0];
+ // be doubly sure that we create *new* sequence objects.
+ sequences = new SequenceI[newseq.length];
+ for (int i = 0; i < newseq.length; i++)
+ {
+ sequences[i] = new Sequence(newseq[i]);
+ }
+ alignment = new Alignment(sequences);
+ externalPaste = false;
+ }
+ else
+ {
+ // parse the clipboard as an alignment.
+ alignment = new FormatAdapter().readFile(str, "Paste", format);
+ sequences = alignment.getSequencesArray();
+ }
+
+ int alwidth = 0;
+ ArrayList<Integer> newGraphGroups = new ArrayList<Integer>();
+ int fgroup = -1;
+
+ if (newAlignment)
+ {
+
+ if (Desktop.jalviewClipboard != null)
+ {
+ // dataset is inherited
+ alignment.setDataset((Alignment) Desktop.jalviewClipboard[1]);
+ }
+ else
+ {
+ // new dataset is constructed
+ alignment.setDataset(null);
+ }
+ alwidth = alignment.getWidth() + 1;
+ }
+ else
+ {
+ AlignmentI pastedal = alignment; // preserve pasted alignment object
+ // Add pasted sequences and dataset into existing alignment.
+ alignment = viewport.getAlignment();
+ alwidth = alignment.getWidth() + 1;
+ // decide if we need to import sequences from an existing dataset
+ boolean importDs = Desktop.jalviewClipboard != null
+ && Desktop.jalviewClipboard[1] != alignment.getDataset();
+ // importDs==true instructs us to copy over new dataset sequences from
+ // an existing alignment
+ Vector newDs = (importDs) ? new Vector() : null; // used to create
+ // minimum dataset set
+
+ for (int i = 0; i < sequences.length; i++)
+ {
+ if (importDs)
+ {
+ newDs.addElement(null);
+ }
+ SequenceI ds = sequences[i].getDatasetSequence(); // null for a simple
+ // paste
+ if (importDs && ds != null)
+ {
+ if (!newDs.contains(ds))
+ {
+ newDs.setElementAt(ds, i);
+ ds = new Sequence(ds);
+ // update with new dataset sequence
+ sequences[i].setDatasetSequence(ds);
+ }
+ else
+ {
+ ds = sequences[newDs.indexOf(ds)].getDatasetSequence();
+ }
+ }
+ else
+ {
+ // copy and derive new dataset sequence
+ sequences[i] = sequences[i].deriveSequence();
+ alignment.getDataset().addSequence(
+ sequences[i].getDatasetSequence());
+ // TODO: avoid creation of duplicate dataset sequences with a
+ // 'contains' method using SequenceI.equals()/SequenceI.contains()
+ }
+ alignment.addSequence(sequences[i]); // merges dataset
+ }
+ if (newDs != null)
+ {
+ newDs.clear(); // tidy up
+ }
+ if (alignment.getAlignmentAnnotation() != null)
+ {
+ for (AlignmentAnnotation alan : alignment
+ .getAlignmentAnnotation())
+ {
+ if (alan.graphGroup > fgroup)
+ {
+ fgroup = alan.graphGroup;
+ }
+ }
+ }
+ if (pastedal.getAlignmentAnnotation() != null)
+ {
+ // Add any annotation attached to alignment.
+ AlignmentAnnotation[] alann = pastedal.getAlignmentAnnotation();
+ for (int i = 0; i < alann.length; i++)
+ {
+ annotationAdded = true;
+ if (alann[i].sequenceRef == null && !alann[i].autoCalculated)
+ {
+ AlignmentAnnotation newann = new AlignmentAnnotation(alann[i]);
+ if (newann.graphGroup > -1)
+ {
+ if (newGraphGroups.size() <= newann.graphGroup
+ || newGraphGroups.get(newann.graphGroup) == null)
+ {
+ for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)
+ {
+ newGraphGroups.add(q, null);
+ }
+ newGraphGroups.set(newann.graphGroup, new Integer(
+ ++fgroup));
+ }
+ newann.graphGroup = newGraphGroups.get(newann.graphGroup)
+ .intValue();
+ }
+
+ newann.padAnnotation(alwidth);
+ alignment.addAnnotation(newann);
+ }
+ }
+ }
+ }
+ if (!newAlignment)
+ {
+ // /////
+ // ADD HISTORY ITEM
+ //
+ addHistoryItem(new EditCommand("Add sequences", EditCommand.PASTE,
+ sequences, 0, alignment.getWidth(), alignment));
+ }
+ // Add any annotations attached to sequences
+ for (int i = 0; i < sequences.length; i++)
+ {
+ if (sequences[i].getAnnotation() != null)
+ {
+ AlignmentAnnotation newann;
+ for (int a = 0; a < sequences[i].getAnnotation().length; a++)
+ {
+ annotationAdded = true;
+ newann = sequences[i].getAnnotation()[a];
+ newann.adjustForAlignment();
+ newann.padAnnotation(alwidth);
+ if (newann.graphGroup > -1)
+ {
+ if (newann.graphGroup > -1)
+ {
+ if (newGraphGroups.size() <= newann.graphGroup
+ || newGraphGroups.get(newann.graphGroup) == null)
+ {
+ for (int q = newGraphGroups.size(); q <= newann.graphGroup; q++)
+ {
+ newGraphGroups.add(q, null);
+ }
+ newGraphGroups.set(newann.graphGroup, new Integer(
+ ++fgroup));
+ }
+ newann.graphGroup = newGraphGroups.get(newann.graphGroup)
+ .intValue();
+ }
+ }
+ alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation
+ // was
+ // duplicated
+ // earlier
+ alignment
+ .setAnnotationIndex(sequences[i].getAnnotation()[a], a);
+ }
+ }
+ }
+ if (!newAlignment)
+ {
+
+ // propagate alignment changed.
+ viewport.setEndSeq(alignment.getHeight());
+ if (annotationAdded)
+ {
+ // Duplicate sequence annotation in all views.
+ AlignmentI[] alview = this.getViewAlignments();
+ for (int i = 0; i < sequences.length; i++)
+ {
+ AlignmentAnnotation sann[] = sequences[i].getAnnotation();
+ if (sann == null)
+ continue;
+ for (int avnum = 0; avnum < alview.length; avnum++)
+ {
+ if (alview[avnum] != alignment)
+ {
+ // duplicate in a view other than the one with input focus
+ int avwidth = alview[avnum].getWidth() + 1;
+ // this relies on sann being preserved after we
+ // modify the sequence's annotation array for each duplication
+ for (int a = 0; a < sann.length; a++)
+ {
+ AlignmentAnnotation newann = new AlignmentAnnotation(
+ sann[a]);
+ sequences[i].addAlignmentAnnotation(newann);
+ newann.padAnnotation(avwidth);
+ alview[avnum].addAnnotation(newann); // annotation was
+ // duplicated earlier
+ // TODO JAL-1145 graphGroups are not updated for sequence
+ // annotation added to several views. This may cause
+ // strangeness
+ alview[avnum].setAnnotationIndex(newann, a);
+ }
+ }
+ }
+ }
+ buildSortByAnnotationScoresMenu();
+ }
+ viewport.firePropertyChange("alignment", null,
+ alignment.getSequences());
+ if (alignPanels != null)
+ {
+ for (AlignmentPanel ap : ((Vector<AlignmentPanel>) alignPanels))
+ {
+ ap.validateAnnotationDimensions(false);
+ }
+ }
+ else
+ {
+ alignPanel.validateAnnotationDimensions(false);
+ }
+
+ }
+ else
+ {
+ AlignFrame af = new AlignFrame(alignment, DEFAULT_WIDTH,
+ DEFAULT_HEIGHT);
+ String newtitle = new String("Copied sequences");
+
+ if (Desktop.jalviewClipboard != null
+ && Desktop.jalviewClipboard[2] != null)
+ {
+ Vector hc = (Vector) Desktop.jalviewClipboard[2];
+ for (int i = 0; i < hc.size(); i++)
+ {
+ int[] region = (int[]) hc.elementAt(i);
+ af.viewport.hideColumns(region[0], region[1]);
+ }
+ }
+
+ // >>>This is a fix for the moment, until a better solution is
+ // found!!<<<
+ af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer()
+ .transferSettings(
+ alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
+
+ // TODO: maintain provenance of an alignment, rather than just make the
+ // title a concatenation of operations.
+ if (!externalPaste)
+ {
+ if (title.startsWith("Copied sequences"))
+ {
+ newtitle = title;
+ }
+ else
+ {
+ newtitle = newtitle.concat("- from " + title);
+ }
+ }
+ else
+ {
+ newtitle = new String("Pasted sequences");
+ }
+
+ Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH,
+ DEFAULT_HEIGHT);
+
+ }
+
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ System.out.println("Exception whilst pasting: " + ex);
+ // could be anything being pasted in here
+ }
+
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void cut_actionPerformed(ActionEvent e)
+ {
+ copy_actionPerformed(null);
+ delete_actionPerformed(null);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void delete_actionPerformed(ActionEvent evt)
+ {
+
+ SequenceGroup sg = viewport.getSelectionGroup();
+ if (sg == null)
+ {
+ return;
+ }
+
+ Vector seqs = new Vector();
+ SequenceI seq;
+ for (int i = 0; i < sg.getSize(); i++)
+ {
+ seq = sg.getSequenceAt(i);
+ seqs.addElement(seq);
+ }
+
+ // If the cut affects all sequences, remove highlighted columns
+ if (sg.getSize() == viewport.getAlignment().getHeight())
+ {
+ viewport.getColumnSelection().removeElements(sg.getStartRes(),
+ sg.getEndRes() + 1);
+ }
+
+ SequenceI[] cut = new SequenceI[seqs.size()];
+ for (int i = 0; i < seqs.size(); i++)
+ {
+ cut[i] = (SequenceI) seqs.elementAt(i);
+ }
+
+ /*
+ * //ADD HISTORY ITEM
+ */
+ addHistoryItem(new EditCommand("Cut Sequences", EditCommand.CUT, cut,
+ sg.getStartRes(), sg.getEndRes() - sg.getStartRes() + 1,
+ viewport.getAlignment()));
+
+ viewport.setSelectionGroup(null);
+ viewport.sendSelection();
+ viewport.getAlignment().deleteGroup(sg);
+
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+ .getSequences());
+ if (viewport.getAlignment().getHeight() < 1)
+ {
+ try
+ {
+ this.setClosed(true);
+ } catch (Exception ex)
+ {
+ }
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void deleteGroups_actionPerformed(ActionEvent e)
+ {
+ if (avc.deleteGroups()) {
+ PaintRefresher.Refresh(this, viewport.getSequenceSetId());
+ alignPanel.updateAnnotation();
+ alignPanel.paintAlignment(true);
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceGroup sg = new SequenceGroup();
+
+ for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)
+ {
+ sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);
+ }
+
+ sg.setEndRes(viewport.getAlignment().getWidth() - 1);
+ viewport.setSelectionGroup(sg);
+ viewport.sendSelection();
+ alignPanel.paintAlignment(true);
+ PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
+ {
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.keyboardNo1 = null;
+ alignPanel.seqPanel.keyboardNo2 = null;
+ }
+ viewport.setSelectionGroup(null);
+ viewport.getColumnSelection().clear();
+ viewport.setSelectionGroup(null);
+ alignPanel.seqPanel.seqCanvas.highlightSearchResults(null);
+ alignPanel.idPanel.idCanvas.searchResults = null;
+ alignPanel.paintAlignment(true);
+ PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+ viewport.sendSelection();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void invertSequenceMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceGroup sg = viewport.getSelectionGroup();
+
+ if (sg == null)
+ {
+ selectAllSequenceMenuItem_actionPerformed(null);
+
+ return;
+ }
+
+ for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)
+ {
+ sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);
+ }
+
+ alignPanel.paintAlignment(true);
+ PaintRefresher.Refresh(alignPanel, viewport.getSequenceSetId());
+ viewport.sendSelection();
+ }
+
+ @Override
+ public void invertColSel_actionPerformed(ActionEvent e)
+ {
+ viewport.invertColumnSelection();
+ alignPanel.paintAlignment(true);
+ viewport.sendSelection();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void remove2LeftMenuItem_actionPerformed(ActionEvent e)
+ {
+ trimAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void remove2RightMenuItem_actionPerformed(ActionEvent e)
+ {
+ trimAlignment(false);
+ }
+
+ void trimAlignment(boolean trimLeft)
+ {
+ ColumnSelection colSel = viewport.getColumnSelection();
+ int column;
+
+ if (colSel.size() > 0)
+ {
+ if (trimLeft)
+ {
+ column = colSel.getMin();
+ }
+ else
+ {
+ column = colSel.getMax();
+ }
+
+ SequenceI[] seqs;
+ if (viewport.getSelectionGroup() != null)
+ {
+ seqs = viewport.getSelectionGroup().getSequencesAsArray(
+ viewport.getHiddenRepSequences());
+ }
+ else
+ {
+ seqs = viewport.getAlignment().getSequencesArray();
+ }
+
+ TrimRegionCommand trimRegion;
+ if (trimLeft)
+ {
+ trimRegion = new TrimRegionCommand("Remove Left",
+ TrimRegionCommand.TRIM_LEFT, seqs, column,
+ viewport.getAlignment(), viewport.getColumnSelection(),
+ viewport.getSelectionGroup());
+ viewport.setStartRes(0);
+ }
+ else
+ {
+ trimRegion = new TrimRegionCommand("Remove Right",
+ TrimRegionCommand.TRIM_RIGHT, seqs, column,
+ viewport.getAlignment(), viewport.getColumnSelection(),
+ viewport.getSelectionGroup());
+ }
+
+ statusBar.setText(MessageManager.formatMessage("label.removed_columns", new String[]{Integer.valueOf(trimRegion.getSize()).toString()}));
+
+ addHistoryItem(trimRegion);
+
+ for (SequenceGroup sg : viewport.getAlignment().getGroups())
+ {
+ if ((trimLeft && !sg.adjustForRemoveLeft(column))
+ || (!trimLeft && !sg.adjustForRemoveRight(column)))
+ {
+ viewport.getAlignment().deleteGroup(sg);
+ }
+ }
+
+ viewport.firePropertyChange("alignment", null, viewport
+ .getAlignment().getSequences());
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
+ {
+ int start = 0, end = viewport.getAlignment().getWidth() - 1;
+
+ SequenceI[] seqs;
+ if (viewport.getSelectionGroup() != null)
+ {
+ seqs = viewport.getSelectionGroup().getSequencesAsArray(
+ viewport.getHiddenRepSequences());
+ start = viewport.getSelectionGroup().getStartRes();
+ end = viewport.getSelectionGroup().getEndRes();
+ }
+ else
+ {
+ seqs = viewport.getAlignment().getSequencesArray();
+ }
+
+ RemoveGapColCommand removeGapCols = new RemoveGapColCommand(
+ "Remove Gapped Columns", seqs, start, end,
+ viewport.getAlignment());
+
+ addHistoryItem(removeGapCols);
+
+ statusBar.setText(MessageManager.formatMessage("label.removed_empty_columns", new String[]{Integer.valueOf(removeGapCols.getSize()).toString()}));
+
+ // This is to maintain viewport position on first residue
+ // of first sequence
+ SequenceI seq = viewport.getAlignment().getSequenceAt(0);
+ int startRes = seq.findPosition(viewport.startRes);
+ // ShiftList shifts;
+ // viewport.getAlignment().removeGaps(shifts=new ShiftList());
+ // edit.alColumnChanges=shifts.getInverse();
+ // if (viewport.hasHiddenColumns)
+ // viewport.getColumnSelection().compensateForEdits(shifts);
+ viewport.setStartRes(seq.findIndex(startRes) - 1);
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+ .getSequences());
+
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
+ {
+ int start = 0, end = viewport.getAlignment().getWidth() - 1;
+
+ SequenceI[] seqs;
+ if (viewport.getSelectionGroup() != null)
+ {
+ seqs = viewport.getSelectionGroup().getSequencesAsArray(
+ viewport.getHiddenRepSequences());
+ start = viewport.getSelectionGroup().getStartRes();
+ end = viewport.getSelectionGroup().getEndRes();
+ }
+ else
+ {
+ seqs = viewport.getAlignment().getSequencesArray();
+ }
+
+ // This is to maintain viewport position on first residue
+ // of first sequence
+ SequenceI seq = viewport.getAlignment().getSequenceAt(0);
+ int startRes = seq.findPosition(viewport.startRes);
+
+ addHistoryItem(new RemoveGapsCommand("Remove Gaps", seqs, start, end,
+ viewport.getAlignment()));
+
+ viewport.setStartRes(seq.findIndex(startRes) - 1);
+
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+ .getSequences());
+
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void padGapsMenuitem_actionPerformed(ActionEvent e)
+ {
+ viewport.setPadGaps(padGapsMenuitem.isSelected());
+ viewport.firePropertyChange("alignment", null, viewport.getAlignment()
+ .getSequences());
+ }
+
+ // else
+ {
+ // if (justifySeqs>0)
+ {
+ // alignment.justify(justifySeqs!=RIGHT_JUSTIFY);
+ }
+ }
+
+ // }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void findMenuItem_actionPerformed(ActionEvent e)
+ {
+ new Finder();
+ }
+
+ @Override
+ public void newView_actionPerformed(ActionEvent e)
+ {
+ newView(true);
+ }
+
+ /**
+ *
+ * @param copyAnnotation
+ * if true then duplicate all annnotation, groups and settings
+ * @return new alignment panel, already displayed.
+ */
+ public AlignmentPanel newView(boolean copyAnnotation)
+ {
+ return newView(null, copyAnnotation);
+ }
+
+ /**
+ *
+ * @param viewTitle
+ * title of newly created view
+ * @return new alignment panel, already displayed.
+ */
+ public AlignmentPanel newView(String viewTitle)
+ {
+ return newView(viewTitle, true);
+ }
+
+ /**
+ *
+ * @param viewTitle
+ * title of newly created view
+ * @param copyAnnotation
+ * if true then duplicate all annnotation, groups and settings
+ * @return new alignment panel, already displayed.
+ */
+ public AlignmentPanel newView(String viewTitle, boolean copyAnnotation)
+ {
+ AlignmentPanel newap = new Jalview2XML().copyAlignPanel(alignPanel,
+ true);
+ if (!copyAnnotation)
+ {
+ // just remove all the current annotation except for the automatic stuff
+ newap.av.getAlignment().deleteAllGroups();
+ for (AlignmentAnnotation alan : newap.av.getAlignment()
+ .getAlignmentAnnotation())
+ {
+ if (!alan.autoCalculated)
+ {
+ newap.av.getAlignment().deleteAnnotation(alan);
+ }
+ ;
+ }
+ }
+
+ newap.av.gatherViewsHere = false;
+
+ if (viewport.viewName == null)
+ {
+ viewport.viewName = "Original";
+ }
+
+ newap.av.historyList = viewport.historyList;
+ newap.av.redoList = viewport.redoList;
+
+ int index = Desktop.getViewCount(viewport.getSequenceSetId());
+ // make sure the new view has a unique name - this is essential for Jalview
+ // 2 archives
+ boolean addFirstIndex = false;
+ if (viewTitle == null || viewTitle.trim().length() == 0)
+ {
+ viewTitle = "View";
+ addFirstIndex = true;
+ }
+ else
+ {
+ index = 1;// we count from 1 if given a specific name
+ }
+ String newViewName = viewTitle + ((addFirstIndex) ? " " + index : "");
+ Vector comps = (Vector) PaintRefresher.components.get(viewport
+ .getSequenceSetId());
+ Vector existingNames = new Vector();
+ for (int i = 0; i < comps.size(); i++)
+ {
+ if (comps.elementAt(i) instanceof AlignmentPanel)
+ {
+ AlignmentPanel ap = (AlignmentPanel) comps.elementAt(i);
+ if (!existingNames.contains(ap.av.viewName))
+ {
+ existingNames.addElement(ap.av.viewName);
+ }
+ }
+ }
+
+ while (existingNames.contains(newViewName))
+ {
+ newViewName = viewTitle + " " + (++index);
+ }
+
+ newap.av.viewName = newViewName;
+
+ addAlignmentPanel(newap, true);
+ newap.alignmentChanged();
+
+ if (alignPanels.size() == 2)
+ {
+ viewport.gatherViewsHere = true;
+ }
+ tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);
+ return newap;
+ }
+
+ @Override
+ public void expandViews_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.explodeViews(this);
+ }
+
+ @Override
+ public void gatherViews_actionPerformed(ActionEvent e)
+ {
+ Desktop.instance.gatherViews(this);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void font_actionPerformed(ActionEvent e)
+ {
+ new FontChooser(alignPanel);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void seqLimit_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowJVSuffix(seqLimits.isSelected());
+
+ alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel
+ .calculateIdWidth());
+ alignPanel.paintAlignment(true);
+ }
+
+ @Override
+ public void idRightAlign_actionPerformed(ActionEvent e)
+ {
+ viewport.rightAlignIds = idRightAlign.isSelected();
+ alignPanel.paintAlignment(true);
+ }
+
+ @Override
+ public void centreColumnLabels_actionPerformed(ActionEvent e)
+ {
+ viewport.centreColumnLabels = centreColumnLabelsMenuItem.getState();
+ alignPanel.paintAlignment(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see jalview.jbgui.GAlignFrame#followHighlight_actionPerformed()
+ */
+ @Override
+ protected void followHighlight_actionPerformed()
+ {
+ if (viewport.followHighlight = this.followHighlightMenuItem.getState())
+ {
+ alignPanel.scrollToPosition(
+ alignPanel.seqPanel.seqCanvas.searchResults, false);
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void colourTextMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setColourText(colourTextMenuItem.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void wrapMenuItem_actionPerformed(ActionEvent e)
+ {
+ scaleAbove.setVisible(wrapMenuItem.isSelected());
+ scaleLeft.setVisible(wrapMenuItem.isSelected());
+ scaleRight.setVisible(wrapMenuItem.isSelected());
+ viewport.setWrapAlignment(wrapMenuItem.isSelected());
+ alignPanel.setWrapAlignment(wrapMenuItem.isSelected());
+ }
+
+ @Override
+ public void showAllSeqs_actionPerformed(ActionEvent e)
+ {
+ viewport.showAllHiddenSeqs();
+ }
+
+ @Override
+ public void showAllColumns_actionPerformed(ActionEvent e)
+ {
+ viewport.showAllHiddenColumns();
+ repaint();
+ }
+
+ @Override
+ public void hideSelSequences_actionPerformed(ActionEvent e)
+ {
+ viewport.hideAllSelectedSeqs();
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * called by key handler and the hide all/show all menu items
+ *
+ * @param toggleSeqs
+ * @param toggleCols
+ */
+ private void toggleHiddenRegions(boolean toggleSeqs, boolean toggleCols)
+ {
+
+ boolean hide = false;
+ SequenceGroup sg = viewport.getSelectionGroup();
+ if (!toggleSeqs && !toggleCols)
+ {
+ // Hide everything by the current selection - this is a hack - we do the
+ // invert and then hide
+ // first check that there will be visible columns after the invert.
+ if ((viewport.getColumnSelection() != null
+ && viewport.getColumnSelection().getSelected() != null && viewport
+ .getColumnSelection().getSelected().size() > 0)
+ || (sg != null && sg.getSize() > 0 && sg.getStartRes() <= sg
+ .getEndRes()))
+ {
+ // now invert the sequence set, if required - empty selection implies
+ // that no hiding is required.
+ if (sg != null)
+ {
+ invertSequenceMenuItem_actionPerformed(null);
+ sg = viewport.getSelectionGroup();
+ toggleSeqs = true;
+
+ }
+ viewport.expandColSelection(sg, true);
+ // finally invert the column selection and get the new sequence
+ // selection.
+ invertColSel_actionPerformed(null);
+ toggleCols = true;
+ }
+ }
+
+ if (toggleSeqs)
+ {
+ if (sg != null && sg.getSize() != viewport.getAlignment().getHeight())
+ {
+ hideSelSequences_actionPerformed(null);
+ hide = true;
+ }
+ else if (!(toggleCols && viewport.getColumnSelection().getSelected()
+ .size() > 0))
+ {
+ showAllSeqs_actionPerformed(null);
+ }
+ }
+
+ if (toggleCols)
+ {
+ if (viewport.getColumnSelection().getSelected().size() > 0)
+ {
+ hideSelColumns_actionPerformed(null);
+ if (!toggleSeqs)
+ {
+ viewport.setSelectionGroup(sg);
+ }
+ }
+ else if (!hide)
+ {
+ showAllColumns_actionPerformed(null);
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#hideAllButSelection_actionPerformed(java.awt.
+ * event.ActionEvent)
+ */
+ @Override
+ public void hideAllButSelection_actionPerformed(ActionEvent e)
+ {
+ toggleHiddenRegions(false, false);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#hideAllSelection_actionPerformed(java.awt.event
+ * .ActionEvent)
+ */
+ @Override
+ public void hideAllSelection_actionPerformed(ActionEvent e)
+ {
+ SequenceGroup sg = viewport.getSelectionGroup();
+ viewport.expandColSelection(sg, false);
+ viewport.hideAllSelectedSeqs();
+ viewport.hideSelectedColumns();
+ alignPanel.paintAlignment(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showAllhidden_actionPerformed(java.awt.event.
+ * ActionEvent)
+ */
+ @Override
+ public void showAllhidden_actionPerformed(ActionEvent e)
+ {
+ viewport.showAllHiddenColumns();
+ viewport.showAllHiddenSeqs();
+ alignPanel.paintAlignment(true);
+ }
+
+ @Override
+ public void hideSelColumns_actionPerformed(ActionEvent e)
+ {
+ viewport.hideSelectedColumns();
+ alignPanel.paintAlignment(true);
+ }
+
+ @Override
+ public void hiddenMarkers_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowHiddenMarkers(hiddenMarkers.isSelected());
+ repaint();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void scaleAbove_actionPerformed(ActionEvent e)
+ {
+ viewport.setScaleAboveWrapped(scaleAbove.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void scaleLeft_actionPerformed(ActionEvent e)
+ {
+ viewport.setScaleLeftWrapped(scaleLeft.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void scaleRight_actionPerformed(ActionEvent e)
+ {
+ viewport.setScaleRightWrapped(scaleRight.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void viewBoxesMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowBoxes(viewBoxesMenuItem.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void viewTextMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowText(viewTextMenuItem.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setRenderGaps(renderGapsMenuItem.isSelected());
+ alignPanel.paintAlignment(true);
+ }
+
+ public FeatureSettings featureSettings;
+
+ @Override
+ public void featureSettings_actionPerformed(ActionEvent e)
+ {
+ if (featureSettings != null)
+ {
+ featureSettings.close();
+ featureSettings = null;
+ }
+ if (!showSeqFeatures.isSelected())
+ {
+ // make sure features are actually displayed
+ showSeqFeatures.setSelected(true);
+ showSeqFeatures_actionPerformed(null);
+ }
+ featureSettings = new FeatureSettings(this);
+ }
+
+ /**
+ * Set or clear 'Show Sequence Features'
+ *
+ * @param evt
+ * DOCUMENT ME!
+ */
+ @Override
+ public void showSeqFeatures_actionPerformed(ActionEvent evt)
+ {
+ viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());
+ alignPanel.paintAlignment(true);
+ if (alignPanel.getOverviewPanel() != null)
+ {
+ alignPanel.getOverviewPanel().updateOverviewImage();
+ }
+ }
+
+ /**
+ * Set or clear 'Show Sequence Features'
+ *
+ * @param evt
+ * DOCUMENT ME!
+ */
+ @Override
+ public void showSeqFeaturesHeight_actionPerformed(ActionEvent evt)
+ {
+ viewport.setShowSequenceFeaturesHeight(showSeqFeaturesHeight
+ .isSelected());
+ if (viewport.getShowSequenceFeaturesHeight())
+ {
+ // ensure we're actually displaying features
+ viewport.setShowSequenceFeatures(true);
+ showSeqFeatures.setSelected(true);
+ }
+ alignPanel.paintAlignment(true);
+ if (alignPanel.getOverviewPanel() != null)
+ {
+ alignPanel.getOverviewPanel().updateOverviewImage();
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void annotationPanelMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());
+ alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());
+ }
+
+ @Override
+ public void alignmentProperties()
+ {
+ JEditorPane editPane = new JEditorPane("text/html", "");
+ editPane.setEditable(false);
+ StringBuffer contents = new AlignmentProperties(viewport.getAlignment())
+ .formatAsHtml();
+ editPane.setText(MessageManager.formatMessage("label.html_content", new String[]{contents.toString()}));
+ JInternalFrame frame = new JInternalFrame();
+ frame.getContentPane().add(new JScrollPane(editPane));
+
Desktop.instance.addInternalFrame(frame, MessageManager.formatMessage("label.alignment_properties", new String[]{getTitle()}), 500, 400);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void overviewMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (alignPanel.overviewPanel != null)\r
- {\r
- return;\r
- }\r
-\r
- JInternalFrame frame = new JInternalFrame();\r
- OverviewPanel overview = new OverviewPanel(alignPanel);\r
- frame.setContentPane(overview);\r
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void overviewMenuItem_actionPerformed(ActionEvent e)
+ {
+ if (alignPanel.overviewPanel != null)
+ {
+ return;
+ }
+
+ JInternalFrame frame = new JInternalFrame();
+ OverviewPanel overview = new OverviewPanel(alignPanel);
+ frame.setContentPane(overview);
Desktop.addInternalFrame(frame, MessageManager.formatMessage("label.overview_params", new String[]{this.getTitle()}),\r
- frame.getWidth(), frame.getHeight());\r
- frame.pack();\r
- frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
- frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
- {\r
- @Override\r
- public void internalFrameClosed(\r
- javax.swing.event.InternalFrameEvent evt)\r
- {\r
- alignPanel.setOverviewPanel(null);\r
- };\r
- });\r
-\r
- alignPanel.setOverviewPanel(overview);\r
- }\r
-\r
- @Override\r
- public void textColour_actionPerformed(ActionEvent e)\r
- {\r
- new TextColourChooser().chooseColour(alignPanel, null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void clustalColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new ClustalxColourScheme(viewport.getAlignment(),\r
- viewport.getHiddenRepSequences()));\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void zappoColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new ZappoColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void taylorColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new TaylorColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void hydrophobicityColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new HydrophobicColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void helixColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new HelixColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void strandColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new StrandColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void turnColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new TurnColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void buriedColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new BuriedColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void nucleotideColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new NucleotideColourScheme());\r
- }\r
-\r
- @Override\r
- public void purinePyrimidineColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new PurinePyrimidineColourScheme());\r
- }\r
-\r
- /*\r
- * public void covariationColour_actionPerformed(ActionEvent e) {\r
- * changeColour(new\r
- * CovariationColourScheme(viewport.getAlignment().getAlignmentAnnotation\r
- * ()[0])); }\r
- */\r
- @Override\r
- public void annotationColour_actionPerformed(ActionEvent e)\r
- {\r
- new AnnotationColourChooser(viewport, alignPanel);\r
- }\r
-\r
- @Override\r
- public void rnahelicesColour_actionPerformed(ActionEvent e)\r
- {\r
- new RNAHelicesColourChooser(viewport, alignPanel);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param cs\r
- * DOCUMENT ME!\r
- */\r
- public void changeColour(ColourSchemeI cs)\r
- {\r
- // TODO: compare with applet and pull up to model method\r
- int threshold = 0;\r
-\r
- if (cs != null)\r
- {\r
- if (viewport.getAbovePIDThreshold())\r
- {\r
- threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,\r
- "Background");\r
-\r
- cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
-\r
- viewport.setGlobalColourScheme(cs);\r
- }\r
- else\r
- {\r
- cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
- if (viewport.getConservationSelected())\r
- {\r
-\r
- Alignment al = (Alignment) viewport.getAlignment();\r
- Conservation c = new Conservation("All",\r
- ResidueProperties.propHash, 3, al.getSequences(), 0,\r
- al.getWidth() - 1);\r
-\r
- c.calculate();\r
- c.verdict(false, viewport.getConsPercGaps());\r
-\r
- cs.setConservation(c);\r
-\r
- cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,\r
- cs, "Background"));\r
- }\r
- else\r
- {\r
- cs.setConservation(null);\r
- }\r
-\r
- cs.setConsensus(viewport.getSequenceConsensusHash());\r
- }\r
-\r
- viewport.setGlobalColourScheme(cs);\r
-\r
- if (viewport.getColourAppliesToAllGroups())\r
- {\r
-\r
- for (SequenceGroup sg : viewport.getAlignment().getGroups())\r
- {\r
- if (cs == null)\r
- {\r
- sg.cs = null;\r
- continue;\r
- }\r
-\r
- if (cs instanceof ClustalxColourScheme)\r
- {\r
- sg.cs = new ClustalxColourScheme(sg,\r
- viewport.getHiddenRepSequences());\r
- }\r
- else if (cs instanceof UserColourScheme)\r
- {\r
- sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours());\r
- }\r
- else\r
- {\r
- try\r
- {\r
- sg.cs = cs.getClass().newInstance();\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- if (viewport.getAbovePIDThreshold()\r
- || cs instanceof PIDColourScheme\r
- || cs instanceof Blosum62ColourScheme)\r
- {\r
- sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
-\r
- sg.cs.setConsensus(AAFrequency.calculate(\r
- sg.getSequences(viewport.getHiddenRepSequences()),\r
- sg.getStartRes(), sg.getEndRes() + 1));\r
- }\r
- else\r
- {\r
- sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
- }\r
-\r
- if (viewport.getConservationSelected())\r
- {\r
- Conservation c = new Conservation("Group",\r
- ResidueProperties.propHash, 3, sg.getSequences(viewport\r
- .getHiddenRepSequences()), sg.getStartRes(),\r
- sg.getEndRes() + 1);\r
- c.calculate();\r
- c.verdict(false, viewport.getConsPercGaps());\r
- sg.cs.setConservation(c);\r
- }\r
- else\r
- {\r
- sg.cs.setConservation(null);\r
- }\r
- }\r
- }\r
-\r
- if (alignPanel.getOverviewPanel() != null)\r
- {\r
- alignPanel.getOverviewPanel().updateOverviewImage();\r
- }\r
-\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void modifyPID_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.getAbovePIDThreshold()\r
- && viewport.getGlobalColourScheme() != null)\r
- {\r
- SliderPanel.setPIDSliderSource(alignPanel,\r
- viewport.getGlobalColourScheme(), "Background");\r
- SliderPanel.showPIDSlider();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void modifyConservation_actionPerformed(ActionEvent e)\r
- {\r
- if (viewport.getConservationSelected()\r
- && viewport.getGlobalColourScheme() != null)\r
- {\r
- SliderPanel.setConservationSlider(alignPanel,\r
- viewport.getGlobalColourScheme(), "Background");\r
- SliderPanel.showConservationSlider();\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void conservationMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setConservationSelected(conservationMenuItem.isSelected());\r
-\r
- viewport.setAbovePIDThreshold(false);\r
- abovePIDThreshold.setSelected(false);\r
-\r
- changeColour(viewport.getGlobalColourScheme());\r
-\r
- modifyConservation_actionPerformed(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void abovePIDThreshold_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected());\r
-\r
- conservationMenuItem.setSelected(false);\r
- viewport.setConservationSelected(false);\r
-\r
- changeColour(viewport.getGlobalColourScheme());\r
-\r
- modifyPID_actionPerformed(null);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void userDefinedColour_actionPerformed(ActionEvent e)\r
- {\r
+ frame.getWidth(), frame.getHeight());
+ frame.pack();
+ frame.setLayer(JLayeredPane.PALETTE_LAYER);
+ frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+ {
+ @Override
+ public void internalFrameClosed(
+ javax.swing.event.InternalFrameEvent evt)
+ {
+ alignPanel.setOverviewPanel(null);
+ };
+ });
+
+ alignPanel.setOverviewPanel(overview);
+ }
+
+ @Override
+ public void textColour_actionPerformed(ActionEvent e)
+ {
+ new TextColourChooser().chooseColour(alignPanel, null);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void noColourmenuItem_actionPerformed(ActionEvent e)
+ {
+ changeColour(null);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void clustalColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new ClustalxColourScheme(viewport.getAlignment(),
+ viewport.getHiddenRepSequences()));
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void zappoColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new ZappoColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void taylorColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new TaylorColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void hydrophobicityColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new HydrophobicColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void helixColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new HelixColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void strandColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new StrandColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void turnColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new TurnColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void buriedColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new BuriedColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void nucleotideColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new NucleotideColourScheme());
+ }
+
+ @Override
+ public void purinePyrimidineColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new PurinePyrimidineColourScheme());
+ }
+
+ /*
+ * public void covariationColour_actionPerformed(ActionEvent e) {
+ * changeColour(new
+ * CovariationColourScheme(viewport.getAlignment().getAlignmentAnnotation
+ * ()[0])); }
+ */
+ @Override
+ public void annotationColour_actionPerformed(ActionEvent e)
+ {
+ new AnnotationColourChooser(viewport, alignPanel);
+ }
+
+ @Override
+ public void rnahelicesColour_actionPerformed(ActionEvent e)
+ {
+ new RNAHelicesColourChooser(viewport, alignPanel);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void applyToAllGroups_actionPerformed(ActionEvent e)
+ {
+ viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param cs
+ * DOCUMENT ME!
+ */
+ public void changeColour(ColourSchemeI cs)
+ {
+ // TODO: compare with applet and pull up to model method
+ int threshold = 0;
+
+ if (cs != null)
+ {
+ if (viewport.getAbovePIDThreshold())
+ {
+ threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,
+ "Background");
+
+ cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());
+
+ viewport.setGlobalColourScheme(cs);
+ }
+ else
+ {
+ cs.setThreshold(0, viewport.getIgnoreGapsConsensus());
+ }
+
+ if (viewport.getConservationSelected())
+ {
+
+ Alignment al = (Alignment) viewport.getAlignment();
+ Conservation c = new Conservation("All",
+ ResidueProperties.propHash, 3, al.getSequences(), 0,
+ al.getWidth() - 1);
+
+ c.calculate();
+ c.verdict(false, viewport.getConsPercGaps());
+
+ cs.setConservation(c);
+
+ cs.setConservationInc(SliderPanel.setConservationSlider(alignPanel,
+ cs, "Background"));
+ }
+ else
+ {
+ cs.setConservation(null);
+ }
+
+ cs.setConsensus(viewport.getSequenceConsensusHash());
+ }
+
+ viewport.setGlobalColourScheme(cs);
+
+ if (viewport.getColourAppliesToAllGroups())
+ {
+
+ for (SequenceGroup sg : viewport.getAlignment().getGroups())
+ {
+ if (cs == null)
+ {
+ sg.cs = null;
+ continue;
+ }
+
+ if (cs instanceof ClustalxColourScheme)
+ {
+ sg.cs = new ClustalxColourScheme(sg,
+ viewport.getHiddenRepSequences());
+ }
+ else if (cs instanceof UserColourScheme)
+ {
+ sg.cs = new UserColourScheme(((UserColourScheme) cs).getColours());
+ }
+ else
+ {
+ try
+ {
+ sg.cs = cs.getClass().newInstance();
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ if (viewport.getAbovePIDThreshold()
+ || cs instanceof PIDColourScheme
+ || cs instanceof Blosum62ColourScheme)
+ {
+ sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());
+
+ sg.cs.setConsensus(AAFrequency.calculate(
+ sg.getSequences(viewport.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1));
+ }
+ else
+ {
+ sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());
+ }
+
+ if (viewport.getConservationSelected())
+ {
+ Conservation c = new Conservation("Group",
+ ResidueProperties.propHash, 3, sg.getSequences(viewport
+ .getHiddenRepSequences()), sg.getStartRes(),
+ sg.getEndRes() + 1);
+ c.calculate();
+ c.verdict(false, viewport.getConsPercGaps());
+ sg.cs.setConservation(c);
+ }
+ else
+ {
+ sg.cs.setConservation(null);
+ }
+ }
+ }
+
+ if (alignPanel.getOverviewPanel() != null)
+ {
+ alignPanel.getOverviewPanel().updateOverviewImage();
+ }
+
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void modifyPID_actionPerformed(ActionEvent e)
+ {
+ if (viewport.getAbovePIDThreshold()
+ && viewport.getGlobalColourScheme() != null)
+ {
+ SliderPanel.setPIDSliderSource(alignPanel,
+ viewport.getGlobalColourScheme(), "Background");
+ SliderPanel.showPIDSlider();
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void modifyConservation_actionPerformed(ActionEvent e)
+ {
+ if (viewport.getConservationSelected()
+ && viewport.getGlobalColourScheme() != null)
+ {
+ SliderPanel.setConservationSlider(alignPanel,
+ viewport.getGlobalColourScheme(), "Background");
+ SliderPanel.showConservationSlider();
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void conservationMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setConservationSelected(conservationMenuItem.isSelected());
+
+ viewport.setAbovePIDThreshold(false);
+ abovePIDThreshold.setSelected(false);
+
+ changeColour(viewport.getGlobalColourScheme());
+
+ modifyConservation_actionPerformed(null);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void abovePIDThreshold_actionPerformed(ActionEvent e)
+ {
+ viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected());
+
+ conservationMenuItem.setSelected(false);
+ viewport.setConservationSelected(false);
+
+ changeColour(viewport.getGlobalColourScheme());
+
+ modifyPID_actionPerformed(null);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void userDefinedColour_actionPerformed(ActionEvent e)
+ {
if (e.getActionCommand().equals(MessageManager.getString("action.user_defined")))\r
- {\r
- new UserDefinedColours(alignPanel, null);\r
- }\r
- else\r
- {\r
- UserColourScheme udc = (UserColourScheme) UserDefinedColours\r
- .getUserColourSchemes().get(e.getActionCommand());\r
-\r
- changeColour(udc);\r
- }\r
- }\r
-\r
- public void updateUserColourMenu()\r
- {\r
-\r
- Component[] menuItems = colourMenu.getMenuComponents();\r
- int i, iSize = menuItems.length;\r
- for (i = 0; i < iSize; i++)\r
- {\r
- if (menuItems[i].getName() != null\r
- && menuItems[i].getName().equals("USER_DEFINED"))\r
- {\r
- colourMenu.remove(menuItems[i]);\r
- iSize--;\r
- }\r
- }\r
- if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)\r
- {\r
- java.util.Enumeration userColours = jalview.gui.UserDefinedColours\r
- .getUserColourSchemes().keys();\r
-\r
- while (userColours.hasMoreElements())\r
- {\r
- final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(\r
- userColours.nextElement().toString());\r
- radioItem.setName("USER_DEFINED");\r
- radioItem.addMouseListener(new MouseAdapter()\r
- {\r
- @Override\r
- public void mousePressed(MouseEvent evt)\r
- {\r
- if (evt.isControlDown()\r
- || SwingUtilities.isRightMouseButton(evt))\r
- {\r
- radioItem.removeActionListener(radioItem.getActionListeners()[0]);\r
-\r
- int option = JOptionPane.showInternalConfirmDialog(\r
- jalview.gui.Desktop.desktop,\r
- MessageManager.getString("label.remove_from_default_list"),\r
- MessageManager.getString("label.remove_user_defined_colour"),\r
- JOptionPane.YES_NO_OPTION);\r
- if (option == JOptionPane.YES_OPTION)\r
- {\r
- jalview.gui.UserDefinedColours\r
- .removeColourFromDefaults(radioItem.getText());\r
- colourMenu.remove(radioItem);\r
- }\r
- else\r
- {\r
- radioItem.addActionListener(new ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent evt)\r
- {\r
- userDefinedColour_actionPerformed(evt);\r
- }\r
- });\r
- }\r
- }\r
- }\r
- });\r
- radioItem.addActionListener(new ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent evt)\r
- {\r
- userDefinedColour_actionPerformed(evt);\r
- }\r
- });\r
-\r
- colourMenu.insert(radioItem, 15);\r
- colours.add(radioItem);\r
- }\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void PIDColour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new PIDColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new Blosum62ColourScheme());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortByPID(viewport.getAlignment(), viewport\r
- .getAlignment().getSequenceAt(0), null);\r
- addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder,\r
- viewport.getAlignment()));\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void sortIDMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortByID(viewport.getAlignment());\r
- addHistoryItem(new OrderCommand("ID Sort", oldOrder,\r
- viewport.getAlignment()));\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void sortLengthMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortByLength(viewport.getAlignment());\r
- addHistoryItem(new OrderCommand("Length Sort", oldOrder,\r
- viewport.getAlignment()));\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortByGroup(viewport.getAlignment());\r
- addHistoryItem(new OrderCommand("Group Sort", oldOrder,\r
- viewport.getAlignment()));\r
-\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- new RedundancyPanel(alignPanel, this);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if ((viewport.getSelectionGroup() == null)\r
- || (viewport.getSelectionGroup().getSize() < 2))\r
- {\r
- JOptionPane.showInternalMessageDialog(this,\r
- MessageManager.getString("label.you_must_select_least_two_sequences"), MessageManager.getString("label.invalid_selection"),\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
- else\r
- {\r
- JInternalFrame frame = new JInternalFrame();\r
- frame.setContentPane(new PairwiseAlignPanel(viewport));\r
+ {
+ new UserDefinedColours(alignPanel, null);
+ }
+ else
+ {
+ UserColourScheme udc = (UserColourScheme) UserDefinedColours
+ .getUserColourSchemes().get(e.getActionCommand());
+
+ changeColour(udc);
+ }
+ }
+
+ public void updateUserColourMenu()
+ {
+
+ Component[] menuItems = colourMenu.getMenuComponents();
+ int i, iSize = menuItems.length;
+ for (i = 0; i < iSize; i++)
+ {
+ if (menuItems[i].getName() != null
+ && menuItems[i].getName().equals("USER_DEFINED"))
+ {
+ colourMenu.remove(menuItems[i]);
+ iSize--;
+ }
+ }
+ if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
+ {
+ java.util.Enumeration userColours = jalview.gui.UserDefinedColours
+ .getUserColourSchemes().keys();
+
+ while (userColours.hasMoreElements())
+ {
+ final JRadioButtonMenuItem radioItem = new JRadioButtonMenuItem(
+ userColours.nextElement().toString());
+ radioItem.setName("USER_DEFINED");
+ radioItem.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mousePressed(MouseEvent evt)
+ {
+ if (evt.isControlDown()
+ || SwingUtilities.isRightMouseButton(evt))
+ {
+ radioItem.removeActionListener(radioItem.getActionListeners()[0]);
+
+ int option = JOptionPane.showInternalConfirmDialog(
+ jalview.gui.Desktop.desktop,
+ MessageManager.getString("label.remove_from_default_list"),
+ MessageManager.getString("label.remove_user_defined_colour"),
+ JOptionPane.YES_NO_OPTION);
+ if (option == JOptionPane.YES_OPTION)
+ {
+ jalview.gui.UserDefinedColours
+ .removeColourFromDefaults(radioItem.getText());
+ colourMenu.remove(radioItem);
+ }
+ else
+ {
+ radioItem.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent evt)
+ {
+ userDefinedColour_actionPerformed(evt);
+ }
+ });
+ }
+ }
+ }
+ });
+ radioItem.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent evt)
+ {
+ userDefinedColour_actionPerformed(evt);
+ }
+ });
+
+ colourMenu.insert(radioItem, 15);
+ colours.add(radioItem);
+ }
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void PIDColour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new PIDColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void BLOSUM62Colour_actionPerformed(ActionEvent e)
+ {
+ changeColour(new Blosum62ColourScheme());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByPID(viewport.getAlignment(), viewport
+ .getAlignment().getSequenceAt(0), null);
+ addHistoryItem(new OrderCommand("Pairwise Sort", oldOrder,
+ viewport.getAlignment()));
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void sortIDMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByID(viewport.getAlignment());
+ addHistoryItem(new OrderCommand("ID Sort", oldOrder,
+ viewport.getAlignment()));
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void sortLengthMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByLength(viewport.getAlignment());
+ addHistoryItem(new OrderCommand("Length Sort", oldOrder,
+ viewport.getAlignment()));
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void sortGroupMenuItem_actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByGroup(viewport.getAlignment());
+ addHistoryItem(new OrderCommand("Group Sort", oldOrder,
+ viewport.getAlignment()));
+
+ alignPanel.paintAlignment(true);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
+ {
+ new RedundancyPanel(alignPanel, this);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
+ {
+ if ((viewport.getSelectionGroup() == null)
+ || (viewport.getSelectionGroup().getSize() < 2))
+ {
+ JOptionPane.showInternalMessageDialog(this,
+ MessageManager.getString("label.you_must_select_least_two_sequences"), MessageManager.getString("label.invalid_selection"),
+ JOptionPane.WARNING_MESSAGE);
+ }
+ else
+ {
+ JInternalFrame frame = new JInternalFrame();
+ frame.setContentPane(new PairwiseAlignPanel(viewport));
Desktop.addInternalFrame(frame, MessageManager.getString("action.pairwise_alignment"), 600, 500);\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void PCAMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- if (((viewport.getSelectionGroup() != null)\r
- && (viewport.getSelectionGroup().getSize() < 4) && (viewport\r
- .getSelectionGroup().getSize() > 0))\r
- || (viewport.getAlignment().getHeight() < 4))\r
- {\r
- JOptionPane.showInternalMessageDialog(this,\r
- MessageManager.getString("label.principal_component_analysis_must_take_least_four_input_sequences"),\r
- MessageManager.getString("label.sequence_selection_insufficient"),\r
- JOptionPane.WARNING_MESSAGE);\r
-\r
- return;\r
- }\r
-\r
- new PCAPanel(alignPanel);\r
- }\r
-\r
- @Override\r
- public void autoCalculate_actionPerformed(ActionEvent e)\r
- {\r
- viewport.autoCalculateConsensus = autoCalculate.isSelected();\r
- if (viewport.autoCalculateConsensus)\r
- {\r
- viewport.firePropertyChange("alignment", null, viewport\r
- .getAlignment().getSequences());\r
- }\r
- }\r
-\r
- @Override\r
- public void sortByTreeOption_actionPerformed(ActionEvent e)\r
- {\r
- viewport.sortByTree = sortByTree.isSelected();\r
- }\r
-\r
- @Override\r
- protected void listenToViewSelections_actionPerformed(ActionEvent e)\r
- {\r
- viewport.followSelection = listenToViewSelections.isSelected();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- NewTreePanel("AV", "PID", "Average distance tree using PID");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- public void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- NewTreePanel("NJ", "PID", "Neighbour joining tree using PID");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- NewTreePanel("NJ", "BL", "Neighbour joining tree using BLOSUM62");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param type\r
- * DOCUMENT ME!\r
- * @param pwType\r
- * DOCUMENT ME!\r
- * @param title\r
- * DOCUMENT ME!\r
- */\r
- void NewTreePanel(String type, String pwType, String title)\r
- {\r
- TreePanel tp;\r
-\r
- if (viewport.getSelectionGroup() != null\r
- && viewport.getSelectionGroup().getSize() > 0)\r
- {\r
- if (viewport.getSelectionGroup().getSize() < 3)\r
- {\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.you_need_more_two_sequences_selected_build_tree"),\r
- MessageManager.getString("label.not_enough_sequences"), JOptionPane.WARNING_MESSAGE);\r
- return;\r
- }\r
-\r
- SequenceGroup sg = viewport.getSelectionGroup();\r
-\r
- /* Decide if the selection is a column region */\r
- for (SequenceI _s : sg.getSequences())\r
- {\r
- if (_s.getLength() < sg.getEndRes())\r
- {\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.selected_region_to_tree_may_only_contain_residues_or_gaps"),\r
- MessageManager.getString("label.sequences_selection_not_aligned"),\r
- JOptionPane.WARNING_MESSAGE);\r
-\r
- return;\r
- }\r
- }\r
-\r
- title = title + " on region";\r
- tp = new TreePanel(alignPanel, type, pwType);\r
- }\r
- else\r
- {\r
- // are the visible sequences aligned?\r
- if (!viewport.getAlignment().isAligned(false))\r
- {\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.sequences_must_be_aligned_before_creating_tree"),\r
- MessageManager.getString("label.sequences_not_aligned"),\r
- JOptionPane.WARNING_MESSAGE);\r
-\r
- return;\r
- }\r
-\r
- if (viewport.getAlignment().getHeight() < 2)\r
- {\r
- return;\r
- }\r
-\r
- tp = new TreePanel(alignPanel, type, pwType);\r
- }\r
-\r
- title += " from ";\r
-\r
- if (viewport.viewName != null)\r
- {\r
- title += viewport.viewName + " of ";\r
- }\r
-\r
- title += this.title;\r
-\r
- Desktop.addInternalFrame(tp, title, 600, 500);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param title\r
- * DOCUMENT ME!\r
- * @param order\r
- * DOCUMENT ME!\r
- */\r
- public void addSortByOrderMenuItem(String title,\r
- final AlignmentOrder order)\r
- {\r
- final JMenuItem item = new JMenuItem("by " + title);\r
- sort.add(item);\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
-\r
- // TODO: JBPNote - have to map order entries to curent SequenceI\r
- // pointers\r
- AlignmentSorter.sortBy(viewport.getAlignment(), order);\r
-\r
- addHistoryItem(new OrderCommand(order.getName(), oldOrder, viewport\r
- .getAlignment()));\r
-\r
- alignPanel.paintAlignment(true);\r
- }\r
- });\r
- }\r
-\r
- /**\r
- * Add a new sort by annotation score menu item\r
- * \r
- * @param sort\r
- * the menu to add the option to\r
- * @param scoreLabel\r
- * the label used to retrieve scores for each sequence on the\r
- * alignment\r
- */\r
- public void addSortByAnnotScoreMenuItem(JMenu sort,\r
- final String scoreLabel)\r
- {\r
- final JMenuItem item = new JMenuItem(scoreLabel);\r
- sort.add(item);\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortByAnnotationScore(scoreLabel,\r
- viewport.getAlignment());// ,viewport.getSelectionGroup());\r
- addHistoryItem(new OrderCommand("Sort by " + scoreLabel, oldOrder,\r
- viewport.getAlignment()));\r
- alignPanel.paintAlignment(true);\r
- }\r
- });\r
- }\r
-\r
- /**\r
- * last hash for alignment's annotation array - used to minimise cost of\r
- * rebuild.\r
- */\r
- protected int _annotationScoreVectorHash;\r
-\r
- /**\r
- * search the alignment and rebuild the sort by annotation score submenu the\r
- * last alignment annotation vector hash is stored to minimize cost of\r
- * rebuilding in subsequence calls.\r
- * \r
- */\r
- @Override\r
- public void buildSortByAnnotationScoresMenu()\r
- {\r
- if (viewport.getAlignment().getAlignmentAnnotation() == null)\r
- {\r
- return;\r
- }\r
-\r
- if (viewport.getAlignment().getAlignmentAnnotation().hashCode() != _annotationScoreVectorHash)\r
- {\r
- sortByAnnotScore.removeAll();\r
- // almost certainly a quicker way to do this - but we keep it simple\r
- Hashtable scoreSorts = new Hashtable();\r
- AlignmentAnnotation aann[];\r
- for (SequenceI sqa : viewport.getAlignment().getSequences())\r
- {\r
- aann = sqa.getAnnotation();\r
- for (int i = 0; aann != null && i < aann.length; i++)\r
- {\r
- if (aann[i].hasScore() && aann[i].sequenceRef != null)\r
- {\r
- scoreSorts.put(aann[i].label, aann[i].label);\r
- }\r
- }\r
- }\r
- Enumeration labels = scoreSorts.keys();\r
- while (labels.hasMoreElements())\r
- {\r
- addSortByAnnotScoreMenuItem(sortByAnnotScore,\r
- (String) labels.nextElement());\r
- }\r
- sortByAnnotScore.setVisible(scoreSorts.size() > 0);\r
- scoreSorts.clear();\r
-\r
- _annotationScoreVectorHash = viewport.getAlignment()\r
- .getAlignmentAnnotation().hashCode();\r
- }\r
- }\r
-\r
- /**\r
- * Maintain the Order by->Displayed Tree menu. Creates a new menu item for a\r
- * TreePanel with an appropriate <code>jalview.analysis.AlignmentSorter</code>\r
- * call. Listeners are added to remove the menu item when the treePanel is\r
- * closed, and adjust the tree leaf to sequence mapping when the alignment is\r
- * modified.\r
- * \r
- * @param treePanel\r
- * Displayed tree window.\r
- * @param title\r
- * SortBy menu item title.\r
- */\r
- @Override\r
- public void buildTreeMenu()\r
- {\r
- sortByTreeMenu.removeAll();\r
-\r
- Vector comps = (Vector) PaintRefresher.components.get(viewport\r
- .getSequenceSetId());\r
- Vector treePanels = new Vector();\r
- int i, iSize = comps.size();\r
- for (i = 0; i < iSize; i++)\r
- {\r
- if (comps.elementAt(i) instanceof TreePanel)\r
- {\r
- treePanels.add(comps.elementAt(i));\r
- }\r
- }\r
-\r
- iSize = treePanels.size();\r
-\r
- if (iSize < 1)\r
- {\r
- sortByTreeMenu.setVisible(false);\r
- return;\r
- }\r
-\r
- sortByTreeMenu.setVisible(true);\r
-\r
- for (i = 0; i < treePanels.size(); i++)\r
- {\r
- final TreePanel tp = (TreePanel) treePanels.elementAt(i);\r
- final JMenuItem item = new JMenuItem(tp.getTitle());\r
- final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree();\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- tp.sortByTree_actionPerformed(null);\r
- addHistoryItem(tp.sortAlignmentIn(alignPanel));\r
-\r
- }\r
- });\r
-\r
- sortByTreeMenu.add(item);\r
- }\r
- }\r
-\r
- public boolean sortBy(AlignmentOrder alorder, String undoname)\r
- {\r
- SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();\r
- AlignmentSorter.sortBy(viewport.getAlignment(), alorder);\r
- if (undoname != null)\r
- {\r
- addHistoryItem(new OrderCommand(undoname, oldOrder,\r
- viewport.getAlignment()));\r
- }\r
- alignPanel.paintAlignment(true);\r
- return true;\r
- }\r
-\r
- /**\r
- * Work out whether the whole set of sequences or just the selected set will\r
- * be submitted for multiple alignment.\r
- * \r
- */\r
- public jalview.datamodel.AlignmentView gatherSequencesForAlignment()\r
- {\r
- // Now, check we have enough sequences\r
- AlignmentView msa = null;\r
-\r
- if ((viewport.getSelectionGroup() != null)\r
- && (viewport.getSelectionGroup().getSize() > 1))\r
- {\r
- // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to\r
- // some common interface!\r
- /*\r
- * SequenceGroup seqs = viewport.getSelectionGroup(); int sz; msa = new\r
- * SequenceI[sz = seqs.getSize(false)];\r
- * \r
- * for (int i = 0; i < sz; i++) { msa[i] = (SequenceI)\r
- * seqs.getSequenceAt(i); }\r
- */\r
- msa = viewport.getAlignmentView(true);\r
- }\r
- else\r
- {\r
- /*\r
- * Vector seqs = viewport.getAlignment().getSequences();\r
- * \r
- * if (seqs.size() > 1) { msa = new SequenceI[seqs.size()];\r
- * \r
- * for (int i = 0; i < seqs.size(); i++) { msa[i] = (SequenceI)\r
- * seqs.elementAt(i); } }\r
- */\r
- msa = viewport.getAlignmentView(false);\r
- }\r
- return msa;\r
- }\r
-\r
- /**\r
- * Decides what is submitted to a secondary structure prediction service: the\r
- * first sequence in the alignment, or in the current selection, or, if the\r
- * alignment is 'aligned' (ie padded with gaps), then the currently selected\r
- * region or the whole alignment. (where the first sequence in the set is the\r
- * one that the prediction will be for).\r
- */\r
- public AlignmentView gatherSeqOrMsaForSecStrPrediction()\r
- {\r
- AlignmentView seqs = null;\r
-\r
- if ((viewport.getSelectionGroup() != null)\r
- && (viewport.getSelectionGroup().getSize() > 0))\r
- {\r
- seqs = viewport.getAlignmentView(true);\r
- }\r
- else\r
- {\r
- seqs = viewport.getAlignmentView(false);\r
- }\r
- // limit sequences - JBPNote in future - could spawn multiple prediction\r
- // jobs\r
- // TODO: viewport.getAlignment().isAligned is a global state - the local\r
- // selection may well be aligned - we preserve 2.0.8 behaviour for moment.\r
- if (!viewport.getAlignment().isAligned(false))\r
- {\r
- seqs.setSequences(new SeqCigar[]\r
- { seqs.getSequences()[0] });\r
- // TODO: if seqs.getSequences().length>1 then should really have warned\r
- // user!\r
-\r
- }\r
- return seqs;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- @Override\r
- protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- // Pick the tree file\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
- chooser.setFileView(new JalviewFileView());\r
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void PCAMenuItem_actionPerformed(ActionEvent e)
+ {
+ if (((viewport.getSelectionGroup() != null)
+ && (viewport.getSelectionGroup().getSize() < 4) && (viewport
+ .getSelectionGroup().getSize() > 0))
+ || (viewport.getAlignment().getHeight() < 4))
+ {
+ JOptionPane.showInternalMessageDialog(this,
+ MessageManager.getString("label.principal_component_analysis_must_take_least_four_input_sequences"),
+ MessageManager.getString("label.sequence_selection_insufficient"),
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+
+ new PCAPanel(alignPanel);
+ }
+
+ @Override
+ public void autoCalculate_actionPerformed(ActionEvent e)
+ {
+ viewport.autoCalculateConsensus = autoCalculate.isSelected();
+ if (viewport.autoCalculateConsensus)
+ {
+ viewport.firePropertyChange("alignment", null, viewport
+ .getAlignment().getSequences());
+ }
+ }
+
+ @Override
+ public void sortByTreeOption_actionPerformed(ActionEvent e)
+ {
+ viewport.sortByTree = sortByTree.isSelected();
+ }
+
+ @Override
+ protected void listenToViewSelections_actionPerformed(ActionEvent e)
+ {
+ viewport.followSelection = listenToViewSelections.isSelected();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)
+ {
+ NewTreePanel("AV", "PID", "Average distance tree using PID");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ public void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
+ {
+ NewTreePanel("NJ", "PID", "Neighbour joining tree using PID");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)
+ {
+ NewTreePanel("NJ", "BL", "Neighbour joining tree using BLOSUM62");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)
+ {
+ NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param type
+ * DOCUMENT ME!
+ * @param pwType
+ * DOCUMENT ME!
+ * @param title
+ * DOCUMENT ME!
+ */
+ void NewTreePanel(String type, String pwType, String title)
+ {
+ TreePanel tp;
+
+ if (viewport.getSelectionGroup() != null
+ && viewport.getSelectionGroup().getSize() > 0)
+ {
+ if (viewport.getSelectionGroup().getSize() < 3)
+ {
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.you_need_more_two_sequences_selected_build_tree"),
+ MessageManager.getString("label.not_enough_sequences"), JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+
+ SequenceGroup sg = viewport.getSelectionGroup();
+
+ /* Decide if the selection is a column region */
+ for (SequenceI _s : sg.getSequences())
+ {
+ if (_s.getLength() < sg.getEndRes())
+ {
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.selected_region_to_tree_may_only_contain_residues_or_gaps"),
+ MessageManager.getString("label.sequences_selection_not_aligned"),
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+ }
+
+ title = title + " on region";
+ tp = new TreePanel(alignPanel, type, pwType);
+ }
+ else
+ {
+ // are the visible sequences aligned?
+ if (!viewport.getAlignment().isAligned(false))
+ {
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.sequences_must_be_aligned_before_creating_tree"),
+ MessageManager.getString("label.sequences_not_aligned"),
+ JOptionPane.WARNING_MESSAGE);
+
+ return;
+ }
+
+ if (viewport.getAlignment().getHeight() < 2)
+ {
+ return;
+ }
+
+ tp = new TreePanel(alignPanel, type, pwType);
+ }
+
+ title += " from ";
+
+ if (viewport.viewName != null)
+ {
+ title += viewport.viewName + " of ";
+ }
+
+ title += this.title;
+
+ Desktop.addInternalFrame(tp, title, 600, 500);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param title
+ * DOCUMENT ME!
+ * @param order
+ * DOCUMENT ME!
+ */
+ public void addSortByOrderMenuItem(String title,
+ final AlignmentOrder order)
+ {
+ final JMenuItem item = new JMenuItem("by " + title);
+ sort.add(item);
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+
+ // TODO: JBPNote - have to map order entries to curent SequenceI
+ // pointers
+ AlignmentSorter.sortBy(viewport.getAlignment(), order);
+
+ addHistoryItem(new OrderCommand(order.getName(), oldOrder, viewport
+ .getAlignment()));
+
+ alignPanel.paintAlignment(true);
+ }
+ });
+ }
+
+ /**
+ * Add a new sort by annotation score menu item
+ *
+ * @param sort
+ * the menu to add the option to
+ * @param scoreLabel
+ * the label used to retrieve scores for each sequence on the
+ * alignment
+ */
+ public void addSortByAnnotScoreMenuItem(JMenu sort,
+ final String scoreLabel)
+ {
+ final JMenuItem item = new JMenuItem(scoreLabel);
+ sort.add(item);
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortByAnnotationScore(scoreLabel,
+ viewport.getAlignment());// ,viewport.getSelectionGroup());
+ addHistoryItem(new OrderCommand("Sort by " + scoreLabel, oldOrder,
+ viewport.getAlignment()));
+ alignPanel.paintAlignment(true);
+ }
+ });
+ }
+
+ /**
+ * last hash for alignment's annotation array - used to minimise cost of
+ * rebuild.
+ */
+ protected int _annotationScoreVectorHash;
+
+ /**
+ * search the alignment and rebuild the sort by annotation score submenu the
+ * last alignment annotation vector hash is stored to minimize cost of
+ * rebuilding in subsequence calls.
+ *
+ */
+ @Override
+ public void buildSortByAnnotationScoresMenu()
+ {
+ if (viewport.getAlignment().getAlignmentAnnotation() == null)
+ {
+ return;
+ }
+
+ if (viewport.getAlignment().getAlignmentAnnotation().hashCode() != _annotationScoreVectorHash)
+ {
+ sortByAnnotScore.removeAll();
+ // almost certainly a quicker way to do this - but we keep it simple
+ Hashtable scoreSorts = new Hashtable();
+ AlignmentAnnotation aann[];
+ for (SequenceI sqa : viewport.getAlignment().getSequences())
+ {
+ aann = sqa.getAnnotation();
+ for (int i = 0; aann != null && i < aann.length; i++)
+ {
+ if (aann[i].hasScore() && aann[i].sequenceRef != null)
+ {
+ scoreSorts.put(aann[i].label, aann[i].label);
+ }
+ }
+ }
+ Enumeration labels = scoreSorts.keys();
+ while (labels.hasMoreElements())
+ {
+ addSortByAnnotScoreMenuItem(sortByAnnotScore,
+ (String) labels.nextElement());
+ }
+ sortByAnnotScore.setVisible(scoreSorts.size() > 0);
+ scoreSorts.clear();
+
+ _annotationScoreVectorHash = viewport.getAlignment()
+ .getAlignmentAnnotation().hashCode();
+ }
+ }
+
+ /**
+ * Maintain the Order by->Displayed Tree menu. Creates a new menu item for a
+ * TreePanel with an appropriate <code>jalview.analysis.AlignmentSorter</code>
+ * call. Listeners are added to remove the menu item when the treePanel is
+ * closed, and adjust the tree leaf to sequence mapping when the alignment is
+ * modified.
+ *
+ * @param treePanel
+ * Displayed tree window.
+ * @param title
+ * SortBy menu item title.
+ */
+ @Override
+ public void buildTreeMenu()
+ {
+ sortByTreeMenu.removeAll();
+
+ Vector comps = (Vector) PaintRefresher.components.get(viewport
+ .getSequenceSetId());
+ Vector treePanels = new Vector();
+ int i, iSize = comps.size();
+ for (i = 0; i < iSize; i++)
+ {
+ if (comps.elementAt(i) instanceof TreePanel)
+ {
+ treePanels.add(comps.elementAt(i));
+ }
+ }
+
+ iSize = treePanels.size();
+
+ if (iSize < 1)
+ {
+ sortByTreeMenu.setVisible(false);
+ return;
+ }
+
+ sortByTreeMenu.setVisible(true);
+
+ for (i = 0; i < treePanels.size(); i++)
+ {
+ final TreePanel tp = (TreePanel) treePanels.elementAt(i);
+ final JMenuItem item = new JMenuItem(tp.getTitle());
+ final NJTree tree = ((TreePanel) treePanels.elementAt(i)).getTree();
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ tp.sortByTree_actionPerformed(null);
+ addHistoryItem(tp.sortAlignmentIn(alignPanel));
+
+ }
+ });
+
+ sortByTreeMenu.add(item);
+ }
+ }
+
+ public boolean sortBy(AlignmentOrder alorder, String undoname)
+ {
+ SequenceI[] oldOrder = viewport.getAlignment().getSequencesArray();
+ AlignmentSorter.sortBy(viewport.getAlignment(), alorder);
+ if (undoname != null)
+ {
+ addHistoryItem(new OrderCommand(undoname, oldOrder,
+ viewport.getAlignment()));
+ }
+ alignPanel.paintAlignment(true);
+ return true;
+ }
+
+ /**
+ * Work out whether the whole set of sequences or just the selected set will
+ * be submitted for multiple alignment.
+ *
+ */
+ public jalview.datamodel.AlignmentView gatherSequencesForAlignment()
+ {
+ // Now, check we have enough sequences
+ AlignmentView msa = null;
+
+ if ((viewport.getSelectionGroup() != null)
+ && (viewport.getSelectionGroup().getSize() > 1))
+ {
+ // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to
+ // some common interface!
+ /*
+ * SequenceGroup seqs = viewport.getSelectionGroup(); int sz; msa = new
+ * SequenceI[sz = seqs.getSize(false)];
+ *
+ * for (int i = 0; i < sz; i++) { msa[i] = (SequenceI)
+ * seqs.getSequenceAt(i); }
+ */
+ msa = viewport.getAlignmentView(true);
+ }
+ else
+ {
+ /*
+ * Vector seqs = viewport.getAlignment().getSequences();
+ *
+ * if (seqs.size() > 1) { msa = new SequenceI[seqs.size()];
+ *
+ * for (int i = 0; i < seqs.size(); i++) { msa[i] = (SequenceI)
+ * seqs.elementAt(i); } }
+ */
+ msa = viewport.getAlignmentView(false);
+ }
+ return msa;
+ }
+
+ /**
+ * Decides what is submitted to a secondary structure prediction service: the
+ * first sequence in the alignment, or in the current selection, or, if the
+ * alignment is 'aligned' (ie padded with gaps), then the currently selected
+ * region or the whole alignment. (where the first sequence in the set is the
+ * one that the prediction will be for).
+ */
+ public AlignmentView gatherSeqOrMsaForSecStrPrediction()
+ {
+ AlignmentView seqs = null;
+
+ if ((viewport.getSelectionGroup() != null)
+ && (viewport.getSelectionGroup().getSize() > 0))
+ {
+ seqs = viewport.getAlignmentView(true);
+ }
+ else
+ {
+ seqs = viewport.getAlignmentView(false);
+ }
+ // limit sequences - JBPNote in future - could spawn multiple prediction
+ // jobs
+ // TODO: viewport.getAlignment().isAligned is a global state - the local
+ // selection may well be aligned - we preserve 2.0.8 behaviour for moment.
+ if (!viewport.getAlignment().isAligned(false))
+ {
+ seqs.setSequences(new SeqCigar[]
+ { seqs.getSequences()[0] });
+ // TODO: if seqs.getSequences().length>1 then should really have warned
+ // user!
+
+ }
+ return seqs;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ @Override
+ protected void LoadtreeMenuItem_actionPerformed(ActionEvent e)
+ {
+ // Pick the tree file
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+ chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle(MessageManager.getString("label.select_newick_like_tree_file"));\r
chooser.setToolTipText(MessageManager.getString("label.load_tree_file"));\r
-\r
- int value = chooser.showOpenDialog(null);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- String choice = chooser.getSelectedFile().getPath();\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
- jalview.io.NewickFile fin = null;\r
- try\r
- {\r
- fin = new jalview.io.NewickFile(choice, "File");\r
- viewport.setCurrentTree(ShowNewickTree(fin, choice).getTree());\r
- } catch (Exception ex)\r
- {\r
- JOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),\r
- MessageManager.getString("label.problem_reading_tree_file"), JOptionPane.WARNING_MESSAGE);\r
- ex.printStackTrace();\r
- }\r
- if (fin != null && fin.hasWarningMessage())\r
- {\r
- JOptionPane.showMessageDialog(Desktop.desktop,\r
- fin.getWarningMessage(), MessageManager.getString("label.possible_problem_with_tree_file"),\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
- }\r
- }\r
-\r
- @Override\r
- protected void tcoffeeColorScheme_actionPerformed(ActionEvent e)\r
- {\r
- changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));\r
- }\r
-\r
- public TreePanel ShowNewickTree(NewickFile nf, String title)\r
- {\r
- return ShowNewickTree(nf, title, 600, 500, 4, 5);\r
- }\r
-\r
- public TreePanel ShowNewickTree(NewickFile nf, String title,\r
- AlignmentView input)\r
- {\r
- return ShowNewickTree(nf, title, input, 600, 500, 4, 5);\r
- }\r
-\r
- public TreePanel ShowNewickTree(NewickFile nf, String title, int w,\r
- int h, int x, int y)\r
- {\r
- return ShowNewickTree(nf, title, null, w, h, x, y);\r
- }\r
-\r
- /**\r
- * Add a treeviewer for the tree extracted from a newick file object to the\r
- * current alignment view\r
- * \r
- * @param nf\r
- * the tree\r
- * @param title\r
- * tree viewer title\r
- * @param input\r
- * Associated alignment input data (or null)\r
- * @param w\r
- * width\r
- * @param h\r
- * height\r
- * @param x\r
- * position\r
- * @param y\r
- * position\r
- * @return TreePanel handle\r
- */\r
- public TreePanel ShowNewickTree(NewickFile nf, String title,\r
- AlignmentView input, int w, int h, int x, int y)\r
- {\r
- TreePanel tp = null;\r
-\r
- try\r
- {\r
- nf.parse();\r
-\r
- if (nf.getTree() != null)\r
- {\r
- tp = new TreePanel(alignPanel, "FromFile", title, nf, input);\r
-\r
- tp.setSize(w, h);\r
-\r
- if (x > 0 && y > 0)\r
- {\r
- tp.setLocation(x, y);\r
- }\r
-\r
- Desktop.addInternalFrame(tp, title, w, h);\r
- }\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
-\r
- return tp;\r
- }\r
-\r
- private boolean buildingMenu = false;\r
-\r
- /**\r
- * Generates menu items and listener event actions for web service clients\r
- * \r
- */\r
- public void BuildWebServiceMenu()\r
- {\r
- while (buildingMenu)\r
- {\r
- try\r
- {\r
- System.err.println("Waiting for building menu to finish.");\r
- Thread.sleep(10);\r
- } catch (Exception e)\r
- {\r
- }\r
- ;\r
- }\r
- final AlignFrame me = this;\r
- buildingMenu = true;\r
- new Thread(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- final List<JMenuItem> legacyItems=new ArrayList<JMenuItem>();\r
- try\r
- {\r
- System.err.println("Building ws menu again "\r
- + Thread.currentThread());\r
- // TODO: add support for context dependent disabling of services based\r
- // on\r
- // alignment and current selection\r
- // TODO: add additional serviceHandle parameter to specify abstract\r
- // handler\r
- // class independently of AbstractName\r
- // TODO: add in rediscovery GUI function to restart discoverer\r
- // TODO: group services by location as well as function and/or\r
- // introduce\r
- // object broker mechanism.\r
- final Vector<JMenu> wsmenu = new Vector<JMenu>();\r
- final IProgressIndicator af = me;\r
- final JMenu msawsmenu = new JMenu("Alignment");\r
- final JMenu secstrmenu = new JMenu(\r
- "Secondary Structure Prediction");\r
- final JMenu seqsrchmenu = new JMenu("Sequence Database Search");\r
- final JMenu analymenu = new JMenu("Analysis");\r
- final JMenu dismenu = new JMenu("Protein Disorder");\r
- // JAL-940 - only show secondary structure prediction services from\r
- // the legacy server\r
- if (// Cache.getDefault("SHOW_JWS1_SERVICES", true)\r
- // &&\r
- Discoverer.services != null && (Discoverer.services.size() > 0))\r
- {\r
- // TODO: refactor to allow list of AbstractName/Handler bindings to\r
- // be\r
- // stored or retrieved from elsewhere\r
- // No MSAWS used any more:\r
- // Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS");\r
- Vector secstrpr = (Vector) Discoverer.services\r
- .get("SecStrPred");\r
- if (secstrpr != null)\r
- {\r
- // Add any secondary structure prediction services\r
- for (int i = 0, j = secstrpr.size(); i < j; i++)\r
- {\r
- final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr\r
- .get(i);\r
- jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer\r
- .getServiceClient(sh);\r
- int p=secstrmenu.getItemCount();\r
- impl.attachWSMenuEntry(secstrmenu, me);\r
- int q=secstrmenu.getItemCount();\r
- for (int litm=p;litm<q; litm++)\r
- {\r
- legacyItems.add(secstrmenu.getItem(litm));\r
- }\r
- }\r
- }\r
- }\r
- \r
- // Add all submenus in the order they should appear on the web\r
- // services menu\r
- wsmenu.add(msawsmenu);\r
- wsmenu.add(secstrmenu);\r
- wsmenu.add(dismenu);\r
- wsmenu.add(analymenu);\r
- // No search services yet\r
- // wsmenu.add(seqsrchmenu);\r
-\r
- javax.swing.SwingUtilities.invokeLater(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- try\r
- {\r
- webService.removeAll();\r
- // first, add discovered services onto the webservices menu\r
- if (wsmenu.size() > 0)\r
- {\r
- for (int i = 0, j = wsmenu.size(); i < j; i++)\r
- {\r
- webService.add(wsmenu.get(i));\r
- }\r
- }\r
- else\r
- {\r
- webService.add(me.webServiceNoServices);\r
- }\r
- // TODO: move into separate menu builder class.\r
- boolean new_sspred=false;\r
- if (Cache.getDefault("SHOW_JWS2_SERVICES", true))\r
- {\r
- Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer();\r
- if (jws2servs != null)\r
- {\r
- if (jws2servs.hasServices())\r
- {\r
- jws2servs.attachWSMenuEntry(webService, me);\r
- for (Jws2Instance sv:jws2servs.getServices()) {\r
- if (sv.description.toLowerCase().contains("jpred"))\r
- {\r
- for (JMenuItem jmi:legacyItems)\r
- {\r
- jmi.setVisible(false);\r
- }\r
- }\r
- }\r
- \r
- }\r
- if (jws2servs.isRunning())\r
- {\r
- JMenuItem tm = new JMenuItem(\r
- "Still discovering JABA Services");\r
- tm.setEnabled(false);\r
- webService.add(tm);\r
- }\r
- }\r
- }\r
- build_urlServiceMenu(me.webService);\r
- build_fetchdbmenu(webService);\r
- for (JMenu item : wsmenu)\r
- {\r
- if (item.getItemCount() == 0)\r
- {\r
- item.setEnabled(false);\r
- }\r
- else\r
- {\r
- item.setEnabled(true);\r
- }\r
- }\r
- } catch (Exception e)\r
- {\r
- Cache.log\r
- .debug("Exception during web service menu building process.",\r
- e);\r
- }\r
- ;\r
- }\r
- });\r
- } catch (Exception e)\r
- {\r
- }\r
- ;\r
-\r
- buildingMenu = false;\r
- }\r
- }).start();\r
-\r
- }\r
-\r
- /**\r
- * construct any groupURL type service menu entries.\r
- * \r
- * @param webService\r
- */\r
- private void build_urlServiceMenu(JMenu webService)\r
- {\r
- // TODO: remove this code when 2.7 is released\r
- // DEBUG - alignmentView\r
- /*\r
- * JMenuItem testAlView = new JMenuItem("Test AlignmentView"); final\r
- * AlignFrame af = this; testAlView.addActionListener(new ActionListener() {\r
- * \r
- * @Override public void actionPerformed(ActionEvent e) {\r
- * jalview.datamodel.AlignmentView\r
- * .testSelectionViews(af.viewport.getAlignment(),\r
- * af.viewport.getColumnSelection(), af.viewport.selectionGroup); }\r
- * \r
- * }); webService.add(testAlView);\r
- */\r
- // TODO: refactor to RestClient discoverer and merge menu entries for\r
- // rest-style services with other types of analysis/calculation service\r
- // SHmmr test client - still being implemented.\r
- // DEBUG - alignmentView\r
-\r
- for (jalview.ws.rest.RestClient client : jalview.ws.rest.RestClient\r
- .getRestClients())\r
- {\r
- client.attachWSMenuEntry(\r
- JvSwingUtils.findOrCreateMenu(webService, client.getAction()),\r
- this);\r
- }\r
-\r
- if (Cache.getDefault("SHOW_ENFIN_SERVICES", true))\r
- {\r
- jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry(\r
- webService, this);\r
- }\r
- }\r
-\r
- /*\r
- * public void vamsasStore_actionPerformed(ActionEvent e) { JalviewFileChooser\r
- * chooser = new JalviewFileChooser(jalview.bin.Cache.\r
- * getProperty("LAST_DIRECTORY"));\r
- * \r
- * chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Export\r
- * to Vamsas file"); chooser.setToolTipText("Export");\r
- * \r
- * int value = chooser.showSaveDialog(this);\r
- * \r
- * if (value == JalviewFileChooser.APPROVE_OPTION) {\r
- * jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(viewport);\r
- * //vs.store(chooser.getSelectedFile().getAbsolutePath() ); vs.storeJalview(\r
- * chooser.getSelectedFile().getAbsolutePath(), this); } }\r
- */\r
- /**\r
- * prototype of an automatically enabled/disabled analysis function\r
- * \r
- */\r
- protected void setShowProductsEnabled()\r
- {\r
- SequenceI[] selection = viewport.getSequenceSelection();\r
- if (canShowProducts(selection, viewport.getSelectionGroup() != null,\r
- viewport.getAlignment().getDataset()))\r
- {\r
- showProducts.setEnabled(true);\r
-\r
- }\r
- else\r
- {\r
- showProducts.setEnabled(false);\r
- }\r
- }\r
-\r
- /**\r
- * search selection for sequence xRef products and build the show products\r
- * menu.\r
- * \r
- * @param selection\r
- * @param dataset\r
- * @return true if showProducts menu should be enabled.\r
- */\r
- public boolean canShowProducts(SequenceI[] selection,\r
- boolean isRegionSelection, Alignment dataset)\r
- {\r
- boolean showp = false;\r
- try\r
- {\r
- showProducts.removeAll();\r
- final boolean dna = viewport.getAlignment().isNucleotide();\r
- final Alignment ds = dataset;\r
- String[] ptypes = (selection == null || selection.length == 0) ? null\r
- : CrossRef.findSequenceXrefTypes(dna, selection, dataset);\r
- // Object[] prods =\r
- // CrossRef.buildXProductsList(viewport.getAlignment().isNucleotide(),\r
- // selection, dataset, true);\r
- final SequenceI[] sel = selection;\r
- for (int t = 0; ptypes != null && t < ptypes.length; t++)\r
- {\r
- showp = true;\r
- final boolean isRegSel = isRegionSelection;\r
- final AlignFrame af = this;\r
- final String source = ptypes[t];\r
- JMenuItem xtype = new JMenuItem(ptypes[t]);\r
- xtype.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- // TODO: new thread for this call with vis-delay\r
- af.showProductsFor(af.viewport.getSequenceSelection(), ds,\r
- isRegSel, dna, source);\r
- }\r
-\r
- });\r
- showProducts.add(xtype);\r
- }\r
- showProducts.setVisible(showp);\r
- showProducts.setEnabled(showp);\r
- } catch (Exception e)\r
- {\r
- jalview.bin.Cache.log\r
- .warn("canTranslate threw an exception - please report to help@jalview.org",\r
- e);\r
- return false;\r
- }\r
- return showp;\r
- }\r
-\r
- protected void showProductsFor(SequenceI[] sel, Alignment ds,\r
- boolean isRegSel, boolean dna, String source)\r
- {\r
- final boolean fisRegSel = isRegSel;\r
- final boolean fdna = dna;\r
- final String fsrc = source;\r
- final AlignFrame ths = this;\r
- final SequenceI[] fsel = sel;\r
- Runnable foo = new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- final long sttime = System.currentTimeMillis();\r
- ths.setProgressBar("Searching for sequences from " + fsrc, sttime);\r
- try\r
- {\r
- Alignment ds = ths.getViewport().getAlignment().getDataset(); // update\r
- // our local\r
- // dataset\r
- // reference\r
- Alignment prods = CrossRef\r
- .findXrefSequences(fsel, fdna, fsrc, ds);\r
- if (prods != null)\r
- {\r
- SequenceI[] sprods = new SequenceI[prods.getHeight()];\r
- for (int s = 0; s < sprods.length; s++)\r
- {\r
- sprods[s] = (prods.getSequenceAt(s)).deriveSequence();\r
- if (ds.getSequences() == null\r
- || !ds.getSequences().contains(\r
- sprods[s].getDatasetSequence()))\r
- ds.addSequence(sprods[s].getDatasetSequence());\r
- sprods[s].updatePDBIds();\r
- }\r
- Alignment al = new Alignment(sprods);\r
- AlignedCodonFrame[] cf = prods.getCodonFrames();\r
- al.setDataset(ds);\r
- for (int s = 0; cf != null && s < cf.length; s++)\r
- {\r
- al.addCodonFrame(cf[s]);\r
- cf[s] = null;\r
- }\r
- AlignFrame naf = new AlignFrame(al, DEFAULT_WIDTH,\r
- DEFAULT_HEIGHT);\r
- String newtitle = "" + ((fdna) ? "Proteins " : "Nucleotides ")\r
- + " for " + ((fisRegSel) ? "selected region of " : "")\r
- + getTitle();\r
- Desktop.addInternalFrame(naf, newtitle, DEFAULT_WIDTH,\r
- DEFAULT_HEIGHT);\r
- }\r
- else\r
- {\r
- System.err.println("No Sequences generated for xRef type "\r
- + fsrc);\r
- }\r
- } catch (Exception e)\r
- {\r
- jalview.bin.Cache.log.error(\r
- "Exception when finding crossreferences", e);\r
- } catch (OutOfMemoryError e)\r
- {\r
- new OOMWarning("whilst fetching crossreferences", e);\r
- } catch (Error e)\r
- {\r
- jalview.bin.Cache.log.error("Error when finding crossreferences",\r
- e);\r
- }\r
- ths.setProgressBar("Finished searching for sequences from " + fsrc,\r
- sttime);\r
- }\r
-\r
- };\r
- Thread frunner = new Thread(foo);\r
- frunner.start();\r
- }\r
-\r
- public boolean canShowTranslationProducts(SequenceI[] selection,\r
- AlignmentI alignment)\r
- {\r
- // old way\r
- try\r
- {\r
- return (jalview.analysis.Dna.canTranslate(selection,\r
- viewport.getViewAsVisibleContigs(true)));\r
- } catch (Exception e)\r
- {\r
- jalview.bin.Cache.log\r
- .warn("canTranslate threw an exception - please report to help@jalview.org",\r
- e);\r
- return false;\r
- }\r
- }\r
-\r
- @Override\r
- public void showProducts_actionPerformed(ActionEvent e)\r
- {\r
- // /////////////////////////////\r
- // Collect Data to be translated/transferred\r
-\r
- SequenceI[] selection = viewport.getSequenceSelection();\r
- AlignmentI al = null;\r
- try\r
- {\r
- al = jalview.analysis.Dna.CdnaTranslate(selection, viewport\r
- .getViewAsVisibleContigs(true), viewport.getGapCharacter(),\r
- viewport.getAlignment().getDataset());\r
- } catch (Exception ex)\r
- {\r
- al = null;\r
- jalview.bin.Cache.log.debug("Exception during translation.", ex);\r
- }\r
- if (al == null)\r
- {\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),\r
- MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);\r
- }\r
- else\r
- {\r
- AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
+
+ int value = chooser.showOpenDialog(null);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ jalview.io.NewickFile fin = null;
+ try
+ {
+ fin = new jalview.io.NewickFile(choice, "File");
+ viewport.setCurrentTree(ShowNewickTree(fin, choice).getTree());
+ } catch (Exception ex)
+ {
+ JOptionPane.showMessageDialog(Desktop.desktop, ex.getMessage(),
+ MessageManager.getString("label.problem_reading_tree_file"), JOptionPane.WARNING_MESSAGE);
+ ex.printStackTrace();
+ }
+ if (fin != null && fin.hasWarningMessage())
+ {
+ JOptionPane.showMessageDialog(Desktop.desktop,
+ fin.getWarningMessage(), MessageManager.getString("label.possible_problem_with_tree_file"),
+ JOptionPane.WARNING_MESSAGE);
+ }
+ }
+ }
+
+ @Override
+ protected void tcoffeeColorScheme_actionPerformed(ActionEvent e)
+ {
+ changeColour(new TCoffeeColourScheme(alignPanel.getAlignment()));
+ }
+
+ public TreePanel ShowNewickTree(NewickFile nf, String title)
+ {
+ return ShowNewickTree(nf, title, 600, 500, 4, 5);
+ }
+
+ public TreePanel ShowNewickTree(NewickFile nf, String title,
+ AlignmentView input)
+ {
+ return ShowNewickTree(nf, title, input, 600, 500, 4, 5);
+ }
+
+ public TreePanel ShowNewickTree(NewickFile nf, String title, int w,
+ int h, int x, int y)
+ {
+ return ShowNewickTree(nf, title, null, w, h, x, y);
+ }
+
+ /**
+ * Add a treeviewer for the tree extracted from a newick file object to the
+ * current alignment view
+ *
+ * @param nf
+ * the tree
+ * @param title
+ * tree viewer title
+ * @param input
+ * Associated alignment input data (or null)
+ * @param w
+ * width
+ * @param h
+ * height
+ * @param x
+ * position
+ * @param y
+ * position
+ * @return TreePanel handle
+ */
+ public TreePanel ShowNewickTree(NewickFile nf, String title,
+ AlignmentView input, int w, int h, int x, int y)
+ {
+ TreePanel tp = null;
+
+ try
+ {
+ nf.parse();
+
+ if (nf.getTree() != null)
+ {
+ tp = new TreePanel(alignPanel, "FromFile", title, nf, input);
+
+ tp.setSize(w, h);
+
+ if (x > 0 && y > 0)
+ {
+ tp.setLocation(x, y);
+ }
+
+ Desktop.addInternalFrame(tp, title, w, h);
+ }
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ return tp;
+ }
+
+ private boolean buildingMenu = false;
+
+ /**
+ * Generates menu items and listener event actions for web service clients
+ *
+ */
+ public void BuildWebServiceMenu()
+ {
+ while (buildingMenu)
+ {
+ try
+ {
+ System.err.println("Waiting for building menu to finish.");
+ Thread.sleep(10);
+ } catch (Exception e)
+ {
+ }
+ ;
+ }
+ final AlignFrame me = this;
+ buildingMenu = true;
+ new Thread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ final List<JMenuItem> legacyItems=new ArrayList<JMenuItem>();
+ try
+ {
+ System.err.println("Building ws menu again "
+ + Thread.currentThread());
+ // TODO: add support for context dependent disabling of services based
+ // on
+ // alignment and current selection
+ // TODO: add additional serviceHandle parameter to specify abstract
+ // handler
+ // class independently of AbstractName
+ // TODO: add in rediscovery GUI function to restart discoverer
+ // TODO: group services by location as well as function and/or
+ // introduce
+ // object broker mechanism.
+ final Vector<JMenu> wsmenu = new Vector<JMenu>();
+ final IProgressIndicator af = me;
+ final JMenu msawsmenu = new JMenu("Alignment");
+ final JMenu secstrmenu = new JMenu(
+ "Secondary Structure Prediction");
+ final JMenu seqsrchmenu = new JMenu("Sequence Database Search");
+ final JMenu analymenu = new JMenu("Analysis");
+ final JMenu dismenu = new JMenu("Protein Disorder");
+ // JAL-940 - only show secondary structure prediction services from
+ // the legacy server
+ if (// Cache.getDefault("SHOW_JWS1_SERVICES", true)
+ // &&
+ Discoverer.services != null && (Discoverer.services.size() > 0))
+ {
+ // TODO: refactor to allow list of AbstractName/Handler bindings to
+ // be
+ // stored or retrieved from elsewhere
+ // No MSAWS used any more:
+ // Vector msaws = null; // (Vector) Discoverer.services.get("MsaWS");
+ Vector secstrpr = (Vector) Discoverer.services
+ .get("SecStrPred");
+ if (secstrpr != null)
+ {
+ // Add any secondary structure prediction services
+ for (int i = 0, j = secstrpr.size(); i < j; i++)
+ {
+ final ext.vamsas.ServiceHandle sh = (ext.vamsas.ServiceHandle) secstrpr
+ .get(i);
+ jalview.ws.WSMenuEntryProviderI impl = jalview.ws.jws1.Discoverer
+ .getServiceClient(sh);
+ int p=secstrmenu.getItemCount();
+ impl.attachWSMenuEntry(secstrmenu, me);
+ int q=secstrmenu.getItemCount();
+ for (int litm=p;litm<q; litm++)
+ {
+ legacyItems.add(secstrmenu.getItem(litm));
+ }
+ }
+ }
+ }
+
+ // Add all submenus in the order they should appear on the web
+ // services menu
+ wsmenu.add(msawsmenu);
+ wsmenu.add(secstrmenu);
+ wsmenu.add(dismenu);
+ wsmenu.add(analymenu);
+ // No search services yet
+ // wsmenu.add(seqsrchmenu);
+
+ javax.swing.SwingUtilities.invokeLater(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ try
+ {
+ webService.removeAll();
+ // first, add discovered services onto the webservices menu
+ if (wsmenu.size() > 0)
+ {
+ for (int i = 0, j = wsmenu.size(); i < j; i++)
+ {
+ webService.add(wsmenu.get(i));
+ }
+ }
+ else
+ {
+ webService.add(me.webServiceNoServices);
+ }
+ // TODO: move into separate menu builder class.
+ boolean new_sspred=false;
+ if (Cache.getDefault("SHOW_JWS2_SERVICES", true))
+ {
+ Jws2Discoverer jws2servs = Jws2Discoverer.getDiscoverer();
+ if (jws2servs != null)
+ {
+ if (jws2servs.hasServices())
+ {
+ jws2servs.attachWSMenuEntry(webService, me);
+ for (Jws2Instance sv:jws2servs.getServices()) {
+ if (sv.description.toLowerCase().contains("jpred"))
+ {
+ for (JMenuItem jmi:legacyItems)
+ {
+ jmi.setVisible(false);
+ }
+ }
+ }
+
+ }
+ if (jws2servs.isRunning())
+ {
+ JMenuItem tm = new JMenuItem(
+ "Still discovering JABA Services");
+ tm.setEnabled(false);
+ webService.add(tm);
+ }
+ }
+ }
+ build_urlServiceMenu(me.webService);
+ build_fetchdbmenu(webService);
+ for (JMenu item : wsmenu)
+ {
+ if (item.getItemCount() == 0)
+ {
+ item.setEnabled(false);
+ }
+ else
+ {
+ item.setEnabled(true);
+ }
+ }
+ } catch (Exception e)
+ {
+ Cache.log
+ .debug("Exception during web service menu building process.",
+ e);
+ }
+ ;
+ }
+ });
+ } catch (Exception e)
+ {
+ }
+ ;
+
+ buildingMenu = false;
+ }
+ }).start();
+
+ }
+
+ /**
+ * construct any groupURL type service menu entries.
+ *
+ * @param webService
+ */
+ private void build_urlServiceMenu(JMenu webService)
+ {
+ // TODO: remove this code when 2.7 is released
+ // DEBUG - alignmentView
+ /*
+ * JMenuItem testAlView = new JMenuItem("Test AlignmentView"); final
+ * AlignFrame af = this; testAlView.addActionListener(new ActionListener() {
+ *
+ * @Override public void actionPerformed(ActionEvent e) {
+ * jalview.datamodel.AlignmentView
+ * .testSelectionViews(af.viewport.getAlignment(),
+ * af.viewport.getColumnSelection(), af.viewport.selectionGroup); }
+ *
+ * }); webService.add(testAlView);
+ */
+ // TODO: refactor to RestClient discoverer and merge menu entries for
+ // rest-style services with other types of analysis/calculation service
+ // SHmmr test client - still being implemented.
+ // DEBUG - alignmentView
+
+ for (jalview.ws.rest.RestClient client : jalview.ws.rest.RestClient
+ .getRestClients())
+ {
+ client.attachWSMenuEntry(
+ JvSwingUtils.findOrCreateMenu(webService, client.getAction()),
+ this);
+ }
+
+ if (Cache.getDefault("SHOW_ENFIN_SERVICES", true))
+ {
+ jalview.ws.EnfinEnvision2OneWay.getInstance().attachWSMenuEntry(
+ webService, this);
+ }
+ }
+
+ /*
+ * public void vamsasStore_actionPerformed(ActionEvent e) { JalviewFileChooser
+ * chooser = new JalviewFileChooser(jalview.bin.Cache.
+ * getProperty("LAST_DIRECTORY"));
+ *
+ * chooser.setFileView(new JalviewFileView()); chooser.setDialogTitle("Export
+ * to Vamsas file"); chooser.setToolTipText("Export");
+ *
+ * int value = chooser.showSaveDialog(this);
+ *
+ * if (value == JalviewFileChooser.APPROVE_OPTION) {
+ * jalview.io.VamsasDatastore vs = new jalview.io.VamsasDatastore(viewport);
+ * //vs.store(chooser.getSelectedFile().getAbsolutePath() ); vs.storeJalview(
+ * chooser.getSelectedFile().getAbsolutePath(), this); } }
+ */
+ /**
+ * prototype of an automatically enabled/disabled analysis function
+ *
+ */
+ protected void setShowProductsEnabled()
+ {
+ SequenceI[] selection = viewport.getSequenceSelection();
+ if (canShowProducts(selection, viewport.getSelectionGroup() != null,
+ viewport.getAlignment().getDataset()))
+ {
+ showProducts.setEnabled(true);
+
+ }
+ else
+ {
+ showProducts.setEnabled(false);
+ }
+ }
+
+ /**
+ * search selection for sequence xRef products and build the show products
+ * menu.
+ *
+ * @param selection
+ * @param dataset
+ * @return true if showProducts menu should be enabled.
+ */
+ public boolean canShowProducts(SequenceI[] selection,
+ boolean isRegionSelection, Alignment dataset)
+ {
+ boolean showp = false;
+ try
+ {
+ showProducts.removeAll();
+ final boolean dna = viewport.getAlignment().isNucleotide();
+ final Alignment ds = dataset;
+ String[] ptypes = (selection == null || selection.length == 0) ? null
+ : CrossRef.findSequenceXrefTypes(dna, selection, dataset);
+ // Object[] prods =
+ // CrossRef.buildXProductsList(viewport.getAlignment().isNucleotide(),
+ // selection, dataset, true);
+ final SequenceI[] sel = selection;
+ for (int t = 0; ptypes != null && t < ptypes.length; t++)
+ {
+ showp = true;
+ final boolean isRegSel = isRegionSelection;
+ final AlignFrame af = this;
+ final String source = ptypes[t];
+ JMenuItem xtype = new JMenuItem(ptypes[t]);
+ xtype.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: new thread for this call with vis-delay
+ af.showProductsFor(af.viewport.getSequenceSelection(), ds,
+ isRegSel, dna, source);
+ }
+
+ });
+ showProducts.add(xtype);
+ }
+ showProducts.setVisible(showp);
+ showProducts.setEnabled(showp);
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log
+ .warn("canTranslate threw an exception - please report to help@jalview.org",
+ e);
+ return false;
+ }
+ return showp;
+ }
+
+ protected void showProductsFor(SequenceI[] sel, Alignment ds,
+ boolean isRegSel, boolean dna, String source)
+ {
+ final boolean fisRegSel = isRegSel;
+ final boolean fdna = dna;
+ final String fsrc = source;
+ final AlignFrame ths = this;
+ final SequenceI[] fsel = sel;
+ Runnable foo = new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ final long sttime = System.currentTimeMillis();
+ ths.setProgressBar("Searching for sequences from " + fsrc, sttime);
+ try
+ {
+ Alignment ds = ths.getViewport().getAlignment().getDataset(); // update
+ // our local
+ // dataset
+ // reference
+ Alignment prods = CrossRef
+ .findXrefSequences(fsel, fdna, fsrc, ds);
+ if (prods != null)
+ {
+ SequenceI[] sprods = new SequenceI[prods.getHeight()];
+ for (int s = 0; s < sprods.length; s++)
+ {
+ sprods[s] = (prods.getSequenceAt(s)).deriveSequence();
+ if (ds.getSequences() == null
+ || !ds.getSequences().contains(
+ sprods[s].getDatasetSequence()))
+ ds.addSequence(sprods[s].getDatasetSequence());
+ sprods[s].updatePDBIds();
+ }
+ Alignment al = new Alignment(sprods);
+ AlignedCodonFrame[] cf = prods.getCodonFrames();
+ al.setDataset(ds);
+ for (int s = 0; cf != null && s < cf.length; s++)
+ {
+ al.addCodonFrame(cf[s]);
+ cf[s] = null;
+ }
+ AlignFrame naf = new AlignFrame(al, DEFAULT_WIDTH,
+ DEFAULT_HEIGHT);
+ String newtitle = "" + ((fdna) ? "Proteins " : "Nucleotides ")
+ + " for " + ((fisRegSel) ? "selected region of " : "")
+ + getTitle();
+ Desktop.addInternalFrame(naf, newtitle, DEFAULT_WIDTH,
+ DEFAULT_HEIGHT);
+ }
+ else
+ {
+ System.err.println("No Sequences generated for xRef type "
+ + fsrc);
+ }
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log.error(
+ "Exception when finding crossreferences", e);
+ } catch (OutOfMemoryError e)
+ {
+ new OOMWarning("whilst fetching crossreferences", e);
+ } catch (Error e)
+ {
+ jalview.bin.Cache.log.error("Error when finding crossreferences",
+ e);
+ }
+ ths.setProgressBar("Finished searching for sequences from " + fsrc,
+ sttime);
+ }
+
+ };
+ Thread frunner = new Thread(foo);
+ frunner.start();
+ }
+
+ public boolean canShowTranslationProducts(SequenceI[] selection,
+ AlignmentI alignment)
+ {
+ // old way
+ try
+ {
+ return (jalview.analysis.Dna.canTranslate(selection,
+ viewport.getViewAsVisibleContigs(true)));
+ } catch (Exception e)
+ {
+ jalview.bin.Cache.log
+ .warn("canTranslate threw an exception - please report to help@jalview.org",
+ e);
+ return false;
+ }
+ }
+
+ @Override
+ public void showProducts_actionPerformed(ActionEvent e)
+ {
+ // /////////////////////////////
+ // Collect Data to be translated/transferred
+
+ SequenceI[] selection = viewport.getSequenceSelection();
+ AlignmentI al = null;
+ try
+ {
+ al = jalview.analysis.Dna.CdnaTranslate(selection, viewport
+ .getViewAsVisibleContigs(true), viewport.getGapCharacter(),
+ viewport.getAlignment().getDataset());
+ } catch (Exception ex)
+ {
+ al = null;
+ jalview.bin.Cache.log.debug("Exception during translation.", ex);
+ }
+ if (al == null)
+ {
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),
+ MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);
+ }
+ else
+ {
+ AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);
Desktop.addInternalFrame(af, MessageManager.formatMessage("label.translation_of_params", new String[]{this.getTitle()}),\r
- DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
- }\r
- }\r
-\r
- @Override\r
- public void showTranslation_actionPerformed(ActionEvent e)\r
- {\r
- // /////////////////////////////\r
- // Collect Data to be translated/transferred\r
-\r
- SequenceI[] selection = viewport.getSequenceSelection();\r
- String[] seqstring = viewport.getViewAsString(true);\r
- AlignmentI al = null;\r
- try\r
- {\r
- al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring,\r
- viewport.getViewAsVisibleContigs(true), viewport\r
- .getGapCharacter(), viewport.getAlignment()\r
- .getAlignmentAnnotation(), viewport.getAlignment()\r
- .getWidth(), viewport.getAlignment().getDataset());\r
- } catch (Exception ex)\r
- {\r
- al = null;\r
- jalview.bin.Cache.log.error("Exception during translation. Please report this !", ex);\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.error_when_translating_sequences_submit_bug_report"),\r
- MessageManager.getString("label.implementation_error") + MessageManager.getString("translation_failed"), JOptionPane.ERROR_MESSAGE);\r
- return;\r
- }\r
- if (al == null)\r
- {\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),\r
- MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);\r
- }\r
- else\r
- {\r
- AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
+ DEFAULT_WIDTH, DEFAULT_HEIGHT);
+ }
+ }
+
+ @Override
+ public void showTranslation_actionPerformed(ActionEvent e)
+ {
+ // /////////////////////////////
+ // Collect Data to be translated/transferred
+
+ SequenceI[] selection = viewport.getSequenceSelection();
+ String[] seqstring = viewport.getViewAsString(true);
+ AlignmentI al = null;
+ try
+ {
+ al = jalview.analysis.Dna.CdnaTranslate(selection, seqstring,
+ viewport.getViewAsVisibleContigs(true), viewport
+ .getGapCharacter(), viewport.getAlignment()
+ .getAlignmentAnnotation(), viewport.getAlignment()
+ .getWidth(), viewport.getAlignment().getDataset());
+ } catch (Exception ex)
+ {
+ al = null;
+ jalview.bin.Cache.log.error("Exception during translation. Please report this !", ex);
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.error_when_translating_sequences_submit_bug_report"),
+ MessageManager.getString("label.implementation_error") + MessageManager.getString("translation_failed"), JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+ if (al == null)
+ {
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ MessageManager.getString("label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation"),
+ MessageManager.getString("label.translation_failed"), JOptionPane.WARNING_MESSAGE);
+ }
+ else
+ {
+ AlignFrame af = new AlignFrame(al, DEFAULT_WIDTH, DEFAULT_HEIGHT);
Desktop.addInternalFrame(af, MessageManager.formatMessage("label.translation_of_params", new String[]{this.getTitle()}),\r
- DEFAULT_WIDTH, DEFAULT_HEIGHT);\r
- }\r
- }\r
-\r
- /**\r
- * Try to load a features file onto the alignment.\r
- * \r
- * @param file\r
- * contents or path to retrieve file\r
- * @param type\r
- * access mode of file (see jalview.io.AlignFile)\r
- * @return true if features file was parsed corectly.\r
- */\r
- public boolean parseFeaturesFile(String file, String type)\r
- {\r
- boolean featuresFile = false;\r
- try\r
- {\r
- featuresFile = new FeaturesFile(file, type).parse(viewport\r
- .getAlignment().getDataset(), alignPanel.seqPanel.seqCanvas\r
- .getFeatureRenderer().featureColours, false,\r
- jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false));\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
-\r
- if (featuresFile)\r
- {\r
- viewport.showSequenceFeatures = true;\r
- showSeqFeatures.setSelected(true);\r
- if (alignPanel.seqPanel.seqCanvas.fr != null)\r
- {\r
- // update the min/max ranges where necessary\r
- alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);\r
- }\r
- if (featureSettings != null)\r
- {\r
- featureSettings.setTableData();\r
- }\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- return featuresFile;\r
- }\r
-\r
- @Override\r
- public void dragEnter(DropTargetDragEvent evt)\r
- {\r
- }\r
-\r
- @Override\r
- public void dragExit(DropTargetEvent evt)\r
- {\r
- }\r
-\r
- @Override\r
- public void dragOver(DropTargetDragEvent evt)\r
- {\r
- }\r
-\r
- @Override\r
- public void dropActionChanged(DropTargetDragEvent evt)\r
- {\r
- }\r
-\r
- @Override\r
- public void drop(DropTargetDropEvent evt)\r
- {\r
- Transferable t = evt.getTransferable();\r
- java.util.List files = null;\r
-\r
- try\r
- {\r
- DataFlavor uriListFlavor = new DataFlavor(\r
- "text/uri-list;class=java.lang.String");\r
- if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor))\r
- {\r
- // Works on Windows and MacOSX\r
- evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);\r
- files = (java.util.List) t\r
- .getTransferData(DataFlavor.javaFileListFlavor);\r
- }\r
- else if (t.isDataFlavorSupported(uriListFlavor))\r
- {\r
- // This is used by Unix drag system\r
- evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);\r
- String data = (String) t.getTransferData(uriListFlavor);\r
- files = new java.util.ArrayList(1);\r
- for (java.util.StringTokenizer st = new java.util.StringTokenizer(\r
- data, "\r\n"); st.hasMoreTokens();)\r
- {\r
- String s = st.nextToken();\r
- if (s.startsWith("#"))\r
- {\r
- // the line is a comment (as per the RFC 2483)\r
- continue;\r
- }\r
-\r
- java.net.URI uri = new java.net.URI(s);\r
- // check to see if we can handle this kind of URI\r
- if (uri.getScheme().toLowerCase().startsWith("http"))\r
- {\r
- files.add(uri.toString());\r
- }\r
- else\r
- {\r
- // otherwise preserve old behaviour: catch all for file objects\r
- java.io.File file = new java.io.File(uri);\r
- files.add(file.toString());\r
- }\r
- }\r
- }\r
- } catch (Exception e)\r
- {\r
- e.printStackTrace();\r
- }\r
- if (files != null)\r
- {\r
- try\r
- {\r
- // check to see if any of these files have names matching sequences in\r
- // the alignment\r
- SequenceIdMatcher idm = new SequenceIdMatcher(viewport\r
- .getAlignment().getSequencesArray());\r
- /**\r
- * Object[] { String,SequenceI}\r
- */\r
- ArrayList<Object[]> filesmatched = new ArrayList<Object[]>();\r
- ArrayList<String> filesnotmatched = new ArrayList<String>();\r
- for (int i = 0; i < files.size(); i++)\r
- {\r
- String file = files.get(i).toString();\r
- String pdbfn = "";\r
- String protocol = FormatAdapter.checkProtocol(file);\r
- if (protocol == jalview.io.FormatAdapter.FILE)\r
- {\r
- File fl = new File(file);\r
- pdbfn = fl.getName();\r
- }\r
- else if (protocol == jalview.io.FormatAdapter.URL)\r
- {\r
- URL url = new URL(file);\r
- pdbfn = url.getFile();\r
- }\r
- if (pdbfn.length() > 0)\r
- {\r
- // attempt to find a match in the alignment\r
- SequenceI[] mtch = idm.findAllIdMatches(pdbfn);\r
- int l = 0, c = pdbfn.indexOf(".");\r
- while (mtch == null && c != -1)\r
- {\r
- do\r
- {\r
- l = c;\r
- } while ((c = pdbfn.indexOf(".", l)) > l);\r
- if (l > -1)\r
- {\r
- pdbfn = pdbfn.substring(0, l);\r
- }\r
- mtch = idm.findAllIdMatches(pdbfn);\r
- }\r
- if (mtch != null)\r
- {\r
- String type = null;\r
- try\r
- {\r
- type = new IdentifyFile().Identify(file, protocol);\r
- } catch (Exception ex)\r
- {\r
- type = null;\r
- }\r
- if (type != null)\r
- {\r
- if (type.equalsIgnoreCase("PDB"))\r
- {\r
- filesmatched.add(new Object[]\r
- { file, protocol, mtch });\r
- continue;\r
- }\r
- }\r
- }\r
- // File wasn't named like one of the sequences or wasn't a PDB file.\r
- filesnotmatched.add(file);\r
- }\r
- }\r
- int assocfiles = 0;\r
- if (filesmatched.size() > 0)\r
- {\r
- if (Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false)\r
- || JOptionPane\r
- .showConfirmDialog(\r
- this,\r
- MessageManager.formatMessage("label.automatically_associate_pdb_files_with_sequences_same_name",\r
- new String[]{Integer.valueOf(filesmatched.size()).toString()}),\r
- MessageManager.getString("label.automatically_associate_pdb_files_by_name"),\r
- JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)\r
-\r
- {\r
- for (Object[] fm : filesmatched)\r
- {\r
- // try and associate\r
- // TODO: may want to set a standard ID naming formalism for\r
- // associating PDB files which have no IDs.\r
- for (SequenceI toassoc : (SequenceI[]) fm[2])\r
- {\r
- PDBEntry pe = new AssociatePdbFileWithSeq()\r
- .associatePdbWithSeq((String) fm[0],\r
- (String) fm[1], toassoc, false);\r
- if (pe != null)\r
- {\r
- System.err.println("Associated file : "\r
- + ((String) fm[0]) + " with "\r
- + toassoc.getDisplayId(true));\r
- assocfiles++;\r
- }\r
- }\r
- alignPanel.paintAlignment(true);\r
- }\r
- }\r
- }\r
- if (filesnotmatched.size() > 0)\r
- {\r
- if (assocfiles > 0\r
- && (Cache.getDefault(\r
- "AUTOASSOCIATE_PDBANDSEQS_IGNOREOTHERS", false) || JOptionPane\r
- .showConfirmDialog(\r
- this,\r
- MessageManager.formatMessage("label.ignore_unmatched_dropped_files_info", new String[]{Integer.valueOf(filesnotmatched.size()).toString()}),\r
- MessageManager.getString("label.ignore_unmatched_dropped_files"),\r
- JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION))\r
- {\r
- return;\r
- }\r
- for (String fn : filesnotmatched)\r
- {\r
- loadJalviewDataFile(fn, null, null, null);\r
- }\r
-\r
- }\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
- }\r
- }\r
-\r
- /**\r
- * Attempt to load a "dropped" file or URL string: First by testing whether\r
- * it's and Annotation file, then a JNet file, and finally a features file. If\r
- * all are false then the user may have dropped an alignment file onto this\r
- * AlignFrame.\r
- * \r
- * @param file\r
- * either a filename or a URL string.\r
- */\r
- public void loadJalviewDataFile(String file, String protocol,\r
- String format, SequenceI assocSeq)\r
- {\r
- try\r
- {\r
- if (protocol == null)\r
- {\r
- protocol = jalview.io.FormatAdapter.checkProtocol(file);\r
- }\r
- // if the file isn't identified, or not positively identified as some\r
- // other filetype (PFAM is default unidentified alignment file type) then\r
- // try to parse as annotation.\r
- boolean isAnnotation = (format == null || format\r
- .equalsIgnoreCase("PFAM")) ? new AnnotationFile()\r
- .readAnnotationFile(viewport.getAlignment(), file, protocol)\r
- : false;\r
-\r
- if (!isAnnotation)\r
- {\r
- // first see if its a T-COFFEE score file\r
- TCoffeeScoreFile tcf = null;\r
- try\r
- {\r
- tcf = new TCoffeeScoreFile(file, protocol);\r
- if (tcf.isValid())\r
- {\r
- if (tcf.annotateAlignment(viewport.getAlignment(), true))\r
- {\r
- tcoffeeColour.setEnabled(true);\r
- tcoffeeColour.setSelected(true);\r
- changeColour(new TCoffeeColourScheme(viewport.getAlignment()));\r
- isAnnotation = true;\r
- statusBar.setText(MessageManager.getString("label.successfully_pasted_tcoffee_scores_to_alignment"));\r
- }\r
- else\r
- {\r
- // some problem - if no warning its probable that the ID matching\r
- // process didn't work\r
- JOptionPane\r
- .showMessageDialog(\r
- Desktop.desktop,\r
- tcf.getWarningMessage() == null ? MessageManager.getString("label.check_file_matches_sequence_ids_alignment")\r
- : tcf.getWarningMessage(),\r
- MessageManager.getString("label.problem_reading_tcoffee_score_file"),\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
- }\r
- else\r
- {\r
- tcf = null;\r
- }\r
- } catch (Exception x)\r
- {\r
- Cache.log\r
- .debug("Exception when processing data source as T-COFFEE score file",\r
- x);\r
- tcf = null;\r
- }\r
- if (tcf == null)\r
- {\r
- // try to see if its a JNet 'concise' style annotation file *before*\r
- // we\r
- // try to parse it as a features file\r
- if (format == null)\r
- {\r
- format = new IdentifyFile().Identify(file, protocol);\r
- }\r
- if (format.equalsIgnoreCase("JnetFile"))\r
- {\r
- jalview.io.JPredFile predictions = new jalview.io.JPredFile(\r
- file, protocol);\r
- new JnetAnnotationMaker().add_annotation(predictions,\r
- viewport.getAlignment(), 0, false);\r
- isAnnotation = true;\r
- }\r
- else\r
- {\r
- /*\r
- * if (format.equalsIgnoreCase("PDB")) {\r
- * \r
- * String pdbfn = ""; // try to match up filename with sequence id\r
- * try { if (protocol == jalview.io.FormatAdapter.FILE) { File fl =\r
- * new File(file); pdbfn = fl.getName(); } else if (protocol ==\r
- * jalview.io.FormatAdapter.URL) { URL url = new URL(file); pdbfn =\r
- * url.getFile(); } } catch (Exception e) { } ; if (assocSeq ==\r
- * null) { SequenceIdMatcher idm = new SequenceIdMatcher(viewport\r
- * .getAlignment().getSequencesArray()); if (pdbfn.length() > 0) {\r
- * // attempt to find a match in the alignment SequenceI mtch =\r
- * idm.findIdMatch(pdbfn); int l = 0, c = pdbfn.indexOf("."); while\r
- * (mtch == null && c != -1) { while ((c = pdbfn.indexOf(".", l)) >\r
- * l) { l = c; } if (l > -1) { pdbfn = pdbfn.substring(0, l); } mtch\r
- * = idm.findIdMatch(pdbfn); } if (mtch != null) { // try and\r
- * associate // prompt ? PDBEntry pe = new AssociatePdbFileWithSeq()\r
- * .associatePdbWithSeq(file, protocol, mtch, true); if (pe != null)\r
- * { System.err.println("Associated file : " + file + " with " +\r
- * mtch.getDisplayId(true)); alignPanel.paintAlignment(true); } } //\r
- * TODO: maybe need to load as normal otherwise return; } }\r
- */\r
- // try to parse it as a features file\r
- boolean isGroupsFile = parseFeaturesFile(file, protocol);\r
- // if it wasn't a features file then we just treat it as a general\r
- // alignment file to load into the current view.\r
- if (!isGroupsFile)\r
- {\r
- new FileLoader().LoadFile(viewport, file, protocol, format);\r
- }\r
- else\r
- {\r
- alignPanel.paintAlignment(true);\r
- }\r
- }\r
- }\r
- }\r
- if (isAnnotation)\r
- {\r
-\r
- alignPanel.adjustAnnotationHeight();\r
- viewport.updateSequenceIdColours();\r
- buildSortByAnnotationScoresMenu();\r
- alignPanel.paintAlignment(true);\r
- }\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- } catch (OutOfMemoryError oom)\r
- {\r
- try\r
- {\r
- System.gc();\r
- } catch (Exception x)\r
- {\r
- }\r
- ;\r
- new OOMWarning(\r
- "loading data "\r
- + (protocol != null ? (protocol.equals(FormatAdapter.PASTE) ? "from clipboard."\r
- : "using " + protocol + " from " + file)\r
- : ".")\r
- + (format != null ? "(parsing as '" + format\r
- + "' file)" : ""), oom, Desktop.desktop);\r
- }\r
- }\r
-\r
- @Override\r
- public void tabSelectionChanged(int index)\r
- {\r
- if (index > -1)\r
- {\r
- alignPanel = (AlignmentPanel) alignPanels.elementAt(index);\r
- viewport = alignPanel.av;\r
- avc.setViewportAndAlignmentPanel(viewport, alignPanel);\r
- setMenusFromViewport(viewport);\r
- }\r
- }\r
-\r
- @Override\r
- public void tabbedPane_mousePressed(MouseEvent e)\r
- {\r
- if (SwingUtilities.isRightMouseButton(e))\r
- {\r
- String reply = JOptionPane.showInternalInputDialog(this,\r
- MessageManager.getString("label.enter_view_name"), MessageManager.getString("label.enter_view_name"),\r
- JOptionPane.QUESTION_MESSAGE);\r
-\r
- if (reply != null)\r
- {\r
- viewport.viewName = reply;\r
- tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);\r
- }\r
- }\r
- }\r
-\r
- public AlignViewport getCurrentView()\r
- {\r
- return viewport;\r
- }\r
-\r
- /**\r
- * Open the dialog for regex description parsing.\r
- */\r
- @Override\r
- protected void extractScores_actionPerformed(ActionEvent e)\r
- {\r
- ParseProperties pp = new jalview.analysis.ParseProperties(\r
- viewport.getAlignment());\r
- // TODO: verify regex and introduce GUI dialog for version 2.5\r
- // if (pp.getScoresFromDescription("col", "score column ",\r
- // "\\W*([-+]?\\d*\\.?\\d*e?-?\\d*)\\W+([-+]?\\d*\\.?\\d*e?-?\\d*)",\r
- // true)>0)\r
- if (pp.getScoresFromDescription("description column",\r
- "score in description column ", "\\W*([-+eE0-9.]+)", true) > 0)\r
- {\r
- buildSortByAnnotationScoresMenu();\r
- }\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showDbRefs_actionPerformed(java.awt.event.ActionEvent\r
- * )\r
- */\r
- @Override\r
- protected void showDbRefs_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowDbRefs(showDbRefsMenuitem.isSelected());\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @seejalview.jbgui.GAlignFrame#showNpFeats_actionPerformed(java.awt.event.\r
- * ActionEvent)\r
- */\r
- @Override\r
- protected void showNpFeats_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowNpFeats(showNpFeatsMenuitem.isSelected());\r
- }\r
-\r
- /**\r
- * find the viewport amongst the tabs in this alignment frame and close that\r
- * tab\r
- * \r
- * @param av\r
- */\r
- public boolean closeView(AlignViewport av)\r
- {\r
- if (viewport == av)\r
- {\r
- this.closeMenuItem_actionPerformed(false);\r
- return true;\r
- }\r
- Component[] comp = tabbedPane.getComponents();\r
- for (int i = 0; comp != null && i < comp.length; i++)\r
- {\r
- if (comp[i] instanceof AlignmentPanel)\r
- {\r
- if (((AlignmentPanel) comp[i]).av == av)\r
- {\r
- // close the view.\r
- closeView((AlignmentPanel) comp[i]);\r
- return true;\r
- }\r
- }\r
- }\r
- return false;\r
- }\r
-\r
- protected void build_fetchdbmenu(JMenu webService)\r
- {\r
- // Temporary hack - DBRef Fetcher always top level ws entry.\r
- // TODO We probably want to store a sequence database checklist in\r
- // preferences and have checkboxes.. rather than individual sources selected\r
- // here\r
+ DEFAULT_WIDTH, DEFAULT_HEIGHT);
+ }
+ }
+
+ /**
+ * Try to load a features file onto the alignment.
+ *
+ * @param file
+ * contents or path to retrieve file
+ * @param type
+ * access mode of file (see jalview.io.AlignFile)
+ * @return true if features file was parsed corectly.
+ */
+ public boolean parseFeaturesFile(String file, String type)
+ {
+ boolean featuresFile = false;
+ try
+ {
+ featuresFile = new FeaturesFile(file, type).parse(viewport
+ .getAlignment().getDataset(), alignPanel.seqPanel.seqCanvas
+ .getFeatureRenderer().featureColours, false,
+ jalview.bin.Cache.getDefault("RELAXEDSEQIDMATCHING", false));
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+
+ if (featuresFile)
+ {
+ viewport.showSequenceFeatures = true;
+ showSeqFeatures.setSelected(true);
+ if (alignPanel.seqPanel.seqCanvas.fr != null)
+ {
+ // update the min/max ranges where necessary
+ alignPanel.seqPanel.seqCanvas.fr.findAllFeatures(true);
+ }
+ if (featureSettings != null)
+ {
+ featureSettings.setTableData();
+ }
+ alignPanel.paintAlignment(true);
+ }
+
+ return featuresFile;
+ }
+
+ @Override
+ public void dragEnter(DropTargetDragEvent evt)
+ {
+ }
+
+ @Override
+ public void dragExit(DropTargetEvent evt)
+ {
+ }
+
+ @Override
+ public void dragOver(DropTargetDragEvent evt)
+ {
+ }
+
+ @Override
+ public void dropActionChanged(DropTargetDragEvent evt)
+ {
+ }
+
+ @Override
+ public void drop(DropTargetDropEvent evt)
+ {
+ Transferable t = evt.getTransferable();
+ java.util.List files = null;
+
+ try
+ {
+ DataFlavor uriListFlavor = new DataFlavor(
+ "text/uri-list;class=java.lang.String");
+ if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
+ {
+ // Works on Windows and MacOSX
+ evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
+ files = (java.util.List) t
+ .getTransferData(DataFlavor.javaFileListFlavor);
+ }
+ else if (t.isDataFlavorSupported(uriListFlavor))
+ {
+ // This is used by Unix drag system
+ evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
+ String data = (String) t.getTransferData(uriListFlavor);
+ files = new java.util.ArrayList(1);
+ for (java.util.StringTokenizer st = new java.util.StringTokenizer(
+ data, "\r\n"); st.hasMoreTokens();)
+ {
+ String s = st.nextToken();
+ if (s.startsWith("#"))
+ {
+ // the line is a comment (as per the RFC 2483)
+ continue;
+ }
+
+ java.net.URI uri = new java.net.URI(s);
+ // check to see if we can handle this kind of URI
+ if (uri.getScheme().toLowerCase().startsWith("http"))
+ {
+ files.add(uri.toString());
+ }
+ else
+ {
+ // otherwise preserve old behaviour: catch all for file objects
+ java.io.File file = new java.io.File(uri);
+ files.add(file.toString());
+ }
+ }
+ }
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ if (files != null)
+ {
+ try
+ {
+ // check to see if any of these files have names matching sequences in
+ // the alignment
+ SequenceIdMatcher idm = new SequenceIdMatcher(viewport
+ .getAlignment().getSequencesArray());
+ /**
+ * Object[] { String,SequenceI}
+ */
+ ArrayList<Object[]> filesmatched = new ArrayList<Object[]>();
+ ArrayList<String> filesnotmatched = new ArrayList<String>();
+ for (int i = 0; i < files.size(); i++)
+ {
+ String file = files.get(i).toString();
+ String pdbfn = "";
+ String protocol = FormatAdapter.checkProtocol(file);
+ if (protocol == jalview.io.FormatAdapter.FILE)
+ {
+ File fl = new File(file);
+ pdbfn = fl.getName();
+ }
+ else if (protocol == jalview.io.FormatAdapter.URL)
+ {
+ URL url = new URL(file);
+ pdbfn = url.getFile();
+ }
+ if (pdbfn.length() > 0)
+ {
+ // attempt to find a match in the alignment
+ SequenceI[] mtch = idm.findAllIdMatches(pdbfn);
+ int l = 0, c = pdbfn.indexOf(".");
+ while (mtch == null && c != -1)
+ {
+ do
+ {
+ l = c;
+ } while ((c = pdbfn.indexOf(".", l)) > l);
+ if (l > -1)
+ {
+ pdbfn = pdbfn.substring(0, l);
+ }
+ mtch = idm.findAllIdMatches(pdbfn);
+ }
+ if (mtch != null)
+ {
+ String type = null;
+ try
+ {
+ type = new IdentifyFile().Identify(file, protocol);
+ } catch (Exception ex)
+ {
+ type = null;
+ }
+ if (type != null)
+ {
+ if (type.equalsIgnoreCase("PDB"))
+ {
+ filesmatched.add(new Object[]
+ { file, protocol, mtch });
+ continue;
+ }
+ }
+ }
+ // File wasn't named like one of the sequences or wasn't a PDB file.
+ filesnotmatched.add(file);
+ }
+ }
+ int assocfiles = 0;
+ if (filesmatched.size() > 0)
+ {
+ if (Cache.getDefault("AUTOASSOCIATE_PDBANDSEQS", false)
+ || JOptionPane
+ .showConfirmDialog(
+ this,
+ MessageManager.formatMessage("label.automatically_associate_pdb_files_with_sequences_same_name",
+ new String[]{Integer.valueOf(filesmatched.size()).toString()}),
+ MessageManager.getString("label.automatically_associate_pdb_files_by_name"),
+ JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION)
+
+ {
+ for (Object[] fm : filesmatched)
+ {
+ // try and associate
+ // TODO: may want to set a standard ID naming formalism for
+ // associating PDB files which have no IDs.
+ for (SequenceI toassoc : (SequenceI[]) fm[2])
+ {
+ PDBEntry pe = new AssociatePdbFileWithSeq()
+ .associatePdbWithSeq((String) fm[0],
+ (String) fm[1], toassoc, false);
+ if (pe != null)
+ {
+ System.err.println("Associated file : "
+ + ((String) fm[0]) + " with "
+ + toassoc.getDisplayId(true));
+ assocfiles++;
+ }
+ }
+ alignPanel.paintAlignment(true);
+ }
+ }
+ }
+ if (filesnotmatched.size() > 0)
+ {
+ if (assocfiles > 0
+ && (Cache.getDefault(
+ "AUTOASSOCIATE_PDBANDSEQS_IGNOREOTHERS", false) || JOptionPane
+ .showConfirmDialog(
+ this,
+ MessageManager.formatMessage("label.ignore_unmatched_dropped_files_info", new String[]{Integer.valueOf(filesnotmatched.size()).toString()}),
+ MessageManager.getString("label.ignore_unmatched_dropped_files"),
+ JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION))
+ {
+ return;
+ }
+ for (String fn : filesnotmatched)
+ {
+ loadJalviewDataFile(fn, null, null, null);
+ }
+
+ }
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * Attempt to load a "dropped" file or URL string: First by testing whether
+ * it's and Annotation file, then a JNet file, and finally a features file. If
+ * all are false then the user may have dropped an alignment file onto this
+ * AlignFrame.
+ *
+ * @param file
+ * either a filename or a URL string.
+ */
+ public void loadJalviewDataFile(String file, String protocol,
+ String format, SequenceI assocSeq)
+ {
+ try
+ {
+ if (protocol == null)
+ {
+ protocol = jalview.io.FormatAdapter.checkProtocol(file);
+ }
+ // if the file isn't identified, or not positively identified as some
+ // other filetype (PFAM is default unidentified alignment file type) then
+ // try to parse as annotation.
+ boolean isAnnotation = (format == null || format
+ .equalsIgnoreCase("PFAM")) ? new AnnotationFile()
+ .readAnnotationFile(viewport.getAlignment(), file, protocol)
+ : false;
+
+ if (!isAnnotation)
+ {
+ // first see if its a T-COFFEE score file
+ TCoffeeScoreFile tcf = null;
+ try
+ {
+ tcf = new TCoffeeScoreFile(file, protocol);
+ if (tcf.isValid())
+ {
+ if (tcf.annotateAlignment(viewport.getAlignment(), true))
+ {
+ tcoffeeColour.setEnabled(true);
+ tcoffeeColour.setSelected(true);
+ changeColour(new TCoffeeColourScheme(viewport.getAlignment()));
+ isAnnotation = true;
+ statusBar.setText(MessageManager.getString("label.successfully_pasted_tcoffee_scores_to_alignment"));
+ }
+ else
+ {
+ // some problem - if no warning its probable that the ID matching
+ // process didn't work
+ JOptionPane
+ .showMessageDialog(
+ Desktop.desktop,
+ tcf.getWarningMessage() == null ? MessageManager.getString("label.check_file_matches_sequence_ids_alignment")
+ : tcf.getWarningMessage(),
+ MessageManager.getString("label.problem_reading_tcoffee_score_file"),
+ JOptionPane.WARNING_MESSAGE);
+ }
+ }
+ else
+ {
+ tcf = null;
+ }
+ } catch (Exception x)
+ {
+ Cache.log
+ .debug("Exception when processing data source as T-COFFEE score file",
+ x);
+ tcf = null;
+ }
+ if (tcf == null)
+ {
+ // try to see if its a JNet 'concise' style annotation file *before*
+ // we
+ // try to parse it as a features file
+ if (format == null)
+ {
+ format = new IdentifyFile().Identify(file, protocol);
+ }
+ if (format.equalsIgnoreCase("JnetFile"))
+ {
+ jalview.io.JPredFile predictions = new jalview.io.JPredFile(
+ file, protocol);
+ new JnetAnnotationMaker().add_annotation(predictions,
+ viewport.getAlignment(), 0, false);
+ isAnnotation = true;
+ }
+ else
+ {
+ /*
+ * if (format.equalsIgnoreCase("PDB")) {
+ *
+ * String pdbfn = ""; // try to match up filename with sequence id
+ * try { if (protocol == jalview.io.FormatAdapter.FILE) { File fl =
+ * new File(file); pdbfn = fl.getName(); } else if (protocol ==
+ * jalview.io.FormatAdapter.URL) { URL url = new URL(file); pdbfn =
+ * url.getFile(); } } catch (Exception e) { } ; if (assocSeq ==
+ * null) { SequenceIdMatcher idm = new SequenceIdMatcher(viewport
+ * .getAlignment().getSequencesArray()); if (pdbfn.length() > 0) {
+ * // attempt to find a match in the alignment SequenceI mtch =
+ * idm.findIdMatch(pdbfn); int l = 0, c = pdbfn.indexOf("."); while
+ * (mtch == null && c != -1) { while ((c = pdbfn.indexOf(".", l)) >
+ * l) { l = c; } if (l > -1) { pdbfn = pdbfn.substring(0, l); } mtch
+ * = idm.findIdMatch(pdbfn); } if (mtch != null) { // try and
+ * associate // prompt ? PDBEntry pe = new AssociatePdbFileWithSeq()
+ * .associatePdbWithSeq(file, protocol, mtch, true); if (pe != null)
+ * { System.err.println("Associated file : " + file + " with " +
+ * mtch.getDisplayId(true)); alignPanel.paintAlignment(true); } } //
+ * TODO: maybe need to load as normal otherwise return; } }
+ */
+ // try to parse it as a features file
+ boolean isGroupsFile = parseFeaturesFile(file, protocol);
+ // if it wasn't a features file then we just treat it as a general
+ // alignment file to load into the current view.
+ if (!isGroupsFile)
+ {
+ new FileLoader().LoadFile(viewport, file, protocol, format);
+ }
+ else
+ {
+ alignPanel.paintAlignment(true);
+ }
+ }
+ }
+ }
+ if (isAnnotation)
+ {
+
+ alignPanel.adjustAnnotationHeight();
+ viewport.updateSequenceIdColours();
+ buildSortByAnnotationScoresMenu();
+ alignPanel.paintAlignment(true);
+ }
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ } catch (OutOfMemoryError oom)
+ {
+ try
+ {
+ System.gc();
+ } catch (Exception x)
+ {
+ }
+ ;
+ new OOMWarning(
+ "loading data "
+ + (protocol != null ? (protocol.equals(FormatAdapter.PASTE) ? "from clipboard."
+ : "using " + protocol + " from " + file)
+ : ".")
+ + (format != null ? "(parsing as '" + format
+ + "' file)" : ""), oom, Desktop.desktop);
+ }
+ }
+
+ @Override
+ public void tabSelectionChanged(int index)
+ {
+ if (index > -1)
+ {
+ alignPanel = (AlignmentPanel) alignPanels.elementAt(index);
+ viewport = alignPanel.av;
+ avc.setViewportAndAlignmentPanel(viewport, alignPanel);
+ setMenusFromViewport(viewport);
+ }
+ }
+
+ @Override
+ public void tabbedPane_mousePressed(MouseEvent e)
+ {
+ if (SwingUtilities.isRightMouseButton(e))
+ {
+ String reply = JOptionPane.showInternalInputDialog(this,
+ MessageManager.getString("label.enter_view_name"), MessageManager.getString("label.enter_view_name"),
+ JOptionPane.QUESTION_MESSAGE);
+
+ if (reply != null)
+ {
+ viewport.viewName = reply;
+ tabbedPane.setTitleAt(tabbedPane.getSelectedIndex(), reply);
+ }
+ }
+ }
+
+ public AlignViewport getCurrentView()
+ {
+ return viewport;
+ }
+
+ /**
+ * Open the dialog for regex description parsing.
+ */
+ @Override
+ protected void extractScores_actionPerformed(ActionEvent e)
+ {
+ ParseProperties pp = new jalview.analysis.ParseProperties(
+ viewport.getAlignment());
+ // TODO: verify regex and introduce GUI dialog for version 2.5
+ // if (pp.getScoresFromDescription("col", "score column ",
+ // "\\W*([-+]?\\d*\\.?\\d*e?-?\\d*)\\W+([-+]?\\d*\\.?\\d*e?-?\\d*)",
+ // true)>0)
+ if (pp.getScoresFromDescription("description column",
+ "score in description column ", "\\W*([-+eE0-9.]+)", true) > 0)
+ {
+ buildSortByAnnotationScoresMenu();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showDbRefs_actionPerformed(java.awt.event.ActionEvent
+ * )
+ */
+ @Override
+ protected void showDbRefs_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowDbRefs(showDbRefsMenuitem.isSelected());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seejalview.jbgui.GAlignFrame#showNpFeats_actionPerformed(java.awt.event.
+ * ActionEvent)
+ */
+ @Override
+ protected void showNpFeats_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowNpFeats(showNpFeatsMenuitem.isSelected());
+ }
+
+ /**
+ * find the viewport amongst the tabs in this alignment frame and close that
+ * tab
+ *
+ * @param av
+ */
+ public boolean closeView(AlignViewport av)
+ {
+ if (viewport == av)
+ {
+ this.closeMenuItem_actionPerformed(false);
+ return true;
+ }
+ Component[] comp = tabbedPane.getComponents();
+ for (int i = 0; comp != null && i < comp.length; i++)
+ {
+ if (comp[i] instanceof AlignmentPanel)
+ {
+ if (((AlignmentPanel) comp[i]).av == av)
+ {
+ // close the view.
+ closeView((AlignmentPanel) comp[i]);
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ protected void build_fetchdbmenu(JMenu webService)
+ {
+ // Temporary hack - DBRef Fetcher always top level ws entry.
+ // TODO We probably want to store a sequence database checklist in
+ // preferences and have checkboxes.. rather than individual sources selected
+ // here
final JMenu rfetch = new JMenu(MessageManager.getString("action.fetch_db_references"));\r
rfetch.setToolTipText(MessageManager.getString("label.retrieve_parse_sequence_database_records_alignment_or_selected_sequences"));\r
- webService.add(rfetch);\r
-\r
+ webService.add(rfetch);
+
JMenuItem fetchr = new JMenuItem(MessageManager.getString("label.standard_databases"));\r
fetchr.setToolTipText(MessageManager.getString("label.fetch_embl_uniprot"));\r
- fetchr.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- new jalview.ws.DBRefFetcher(alignPanel.av\r
- .getSequenceSelection(), alignPanel.alignFrame)\r
- .fetchDBRefs(false);\r
- }\r
- }).start();\r
-\r
- }\r
-\r
- });\r
- rfetch.add(fetchr);\r
- final AlignFrame me = this;\r
- new Thread(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- final jalview.ws.SequenceFetcher sf = SequenceFetcher\r
- .getSequenceFetcherSingleton(me);\r
- javax.swing.SwingUtilities.invokeLater(new Runnable()\r
- {\r
- @Override\r
- public void run()\r
- {\r
- String[] dbclasses = sf.getOrderedSupportedSources();\r
- // sf.getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);\r
- // jalview.util.QuickSort.sort(otherdb, otherdb);\r
- List<DbSourceProxy> otherdb;\r
- JMenu dfetch = new JMenu();\r
- JMenu ifetch = new JMenu();\r
- JMenuItem fetchr = null;\r
- int comp = 0, icomp = 0, mcomp = 15;\r
- String mname = null;\r
- int dbi = 0;\r
- for (String dbclass : dbclasses)\r
- {\r
- otherdb = sf.getSourceProxy(dbclass);\r
- // add a single entry for this class, or submenu allowing 'fetch\r
- // all' or pick one\r
- if (otherdb == null || otherdb.size() < 1)\r
- {\r
- continue;\r
- }\r
- // List<DbSourceProxy> dbs=otherdb;\r
- // otherdb=new ArrayList<DbSourceProxy>();\r
- // for (DbSourceProxy db:dbs)\r
- // {\r
- // if (!db.isA(DBRefSource.ALIGNMENTDB)\r
- // }\r
- if (mname == null)\r
- {\r
- mname = "From " + dbclass;\r
- }\r
- if (otherdb.size() == 1)\r
- {\r
- final DbSourceProxy[] dassource = otherdb\r
- .toArray(new DbSourceProxy[0]);\r
- DbSourceProxy src = otherdb.get(0);\r
- fetchr = new JMenuItem(src.getDbSource());\r
- fetchr.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- new jalview.ws.DBRefFetcher(alignPanel.av\r
- .getSequenceSelection(),\r
- alignPanel.alignFrame, dassource)\r
- .fetchDBRefs(false);\r
- }\r
- }).start();\r
- }\r
-\r
- });\r
- fetchr.setToolTipText("<html>"\r
- + JvSwingUtils.wrapTooltip("Retrieve from "\r
- + src.getDbName()) + "<html>");\r
- dfetch.add(fetchr);\r
- comp++;\r
- }\r
- else\r
- {\r
- final DbSourceProxy[] dassource = otherdb\r
- .toArray(new DbSourceProxy[0]);\r
- // fetch all entry\r
- DbSourceProxy src = otherdb.get(0);\r
+ fetchr.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ new jalview.ws.DBRefFetcher(alignPanel.av
+ .getSequenceSelection(), alignPanel.alignFrame)
+ .fetchDBRefs(false);
+ }
+ }).start();
+
+ }
+
+ });
+ rfetch.add(fetchr);
+ final AlignFrame me = this;
+ new Thread(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ final jalview.ws.SequenceFetcher sf = SequenceFetcher
+ .getSequenceFetcherSingleton(me);
+ javax.swing.SwingUtilities.invokeLater(new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ String[] dbclasses = sf.getOrderedSupportedSources();
+ // sf.getDbInstances(jalview.ws.dbsources.DasSequenceSource.class);
+ // jalview.util.QuickSort.sort(otherdb, otherdb);
+ List<DbSourceProxy> otherdb;
+ JMenu dfetch = new JMenu();
+ JMenu ifetch = new JMenu();
+ JMenuItem fetchr = null;
+ int comp = 0, icomp = 0, mcomp = 15;
+ String mname = null;
+ int dbi = 0;
+ for (String dbclass : dbclasses)
+ {
+ otherdb = sf.getSourceProxy(dbclass);
+ // add a single entry for this class, or submenu allowing 'fetch
+ // all' or pick one
+ if (otherdb == null || otherdb.size() < 1)
+ {
+ continue;
+ }
+ // List<DbSourceProxy> dbs=otherdb;
+ // otherdb=new ArrayList<DbSourceProxy>();
+ // for (DbSourceProxy db:dbs)
+ // {
+ // if (!db.isA(DBRefSource.ALIGNMENTDB)
+ // }
+ if (mname == null)
+ {
+ mname = "From " + dbclass;
+ }
+ if (otherdb.size() == 1)
+ {
+ final DbSourceProxy[] dassource = otherdb
+ .toArray(new DbSourceProxy[0]);
+ DbSourceProxy src = otherdb.get(0);
+ fetchr = new JMenuItem(src.getDbSource());
+ fetchr.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ new jalview.ws.DBRefFetcher(alignPanel.av
+ .getSequenceSelection(),
+ alignPanel.alignFrame, dassource)
+ .fetchDBRefs(false);
+ }
+ }).start();
+ }
+
+ });
+ fetchr.setToolTipText("<html>"
+ + JvSwingUtils.wrapTooltip("Retrieve from "
+ + src.getDbName()) + "<html>");
+ dfetch.add(fetchr);
+ comp++;
+ }
+ else
+ {
+ final DbSourceProxy[] dassource = otherdb
+ .toArray(new DbSourceProxy[0]);
+ // fetch all entry
+ DbSourceProxy src = otherdb.get(0);
fetchr = new JMenuItem(MessageManager.formatMessage("label.fetch_all_param", new String[]{src.getDbSource()}));\r
- fetchr.addActionListener(new ActionListener()\r
- {\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- new jalview.ws.DBRefFetcher(alignPanel.av\r
- .getSequenceSelection(),\r
- alignPanel.alignFrame, dassource)\r
- .fetchDBRefs(false);\r
- }\r
- }).start();\r
- }\r
- });\r
-\r
- fetchr.setToolTipText("<html>"\r
- + JvSwingUtils.wrapTooltip("Retrieve from all "\r
- + otherdb.size() + " sources in "\r
- + src.getDbSource() + "<br>First is :"\r
- + src.getDbName()) + "<html>");\r
- dfetch.add(fetchr);\r
- comp++;\r
- // and then build the rest of the individual menus\r
- ifetch = new JMenu("Sources from " + src.getDbSource());\r
- icomp = 0;\r
- String imname = null;\r
- int i = 0;\r
- for (DbSourceProxy sproxy : otherdb)\r
- {\r
- String dbname = sproxy.getDbName();\r
- String sname = dbname.length() > 5 ? dbname.substring(0,\r
- 5) + "..." : dbname;\r
- String msname = dbname.length() > 10 ? dbname.substring(\r
- 0, 10) + "..." : dbname;\r
- if (imname == null)\r
- {\r
- imname = "from '" + sname + "'";\r
- }\r
- fetchr = new JMenuItem(msname);\r
- final DbSourceProxy[] dassrc =\r
- { sproxy };\r
- fetchr.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- @Override\r
- public void run()\r
- {\r
- new jalview.ws.DBRefFetcher(alignPanel.av\r
- .getSequenceSelection(),\r
- alignPanel.alignFrame, dassrc)\r
- .fetchDBRefs(false);\r
- }\r
- }).start();\r
- }\r
-\r
- });\r
- fetchr.setToolTipText("<html>"\r
- + JvSwingUtils.wrapTooltip("Retrieve from "\r
- + dbname) + "</html>");\r
- ifetch.add(fetchr);\r
- ++i;\r
- if (++icomp >= mcomp || i == (otherdb.size()))\r
- {\r
- ifetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{imname,sname}));\r
- dfetch.add(ifetch);\r
- ifetch = new JMenu();\r
- imname = null;\r
- icomp = 0;\r
- comp++;\r
- }\r
- }\r
- }\r
- ++dbi;\r
- if (comp >= mcomp || dbi >= (dbclasses.length))\r
- {\r
- dfetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{mname,dbclass}));\r
- rfetch.add(dfetch);\r
- dfetch = new JMenu();\r
- mname = null;\r
- comp = 0;\r
- }\r
- }\r
- }\r
- });\r
- }\r
- }).start();\r
-\r
- }\r
-\r
- /**\r
- * Left justify the whole alignment.\r
- */\r
- @Override\r
- protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- AlignmentI al = viewport.getAlignment();\r
- al.justify(false);\r
- viewport.firePropertyChange("alignment", null, al);\r
- }\r
-\r
- /**\r
- * Right justify the whole alignment.\r
- */\r
- @Override\r
- protected void justifyRightMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- AlignmentI al = viewport.getAlignment();\r
- al.justify(true);\r
- viewport.firePropertyChange("alignment", null, al);\r
- }\r
-\r
- public void setShowSeqFeatures(boolean b)\r
- {\r
- showSeqFeatures.setSelected(true);\r
- viewport.setShowSequenceFeatures(true);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showUnconservedMenuItem_actionPerformed(java.\r
- * awt.event.ActionEvent)\r
- */\r
- @Override\r
- protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowUnconserved(showNonconservedMenuItem.getState());\r
- alignPanel.paintAlignment(true);\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showGroupConsensus_actionPerformed(java.awt.event\r
- * .ActionEvent)\r
- */\r
- @Override\r
- protected void showGroupConsensus_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowGroupConsensus(showGroupConsensus.getState());\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
-\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showGroupConservation_actionPerformed(java.awt\r
- * .event.ActionEvent)\r
- */\r
- @Override\r
- protected void showGroupConservation_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowGroupConservation(showGroupConservation.getState());\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showConsensusHistogram_actionPerformed(java.awt\r
- * .event.ActionEvent)\r
- */\r
- @Override\r
- protected void showConsensusHistogram_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowConsensusHistogram(showConsensusHistogram.getState());\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#showConsensusProfile_actionPerformed(java.awt\r
- * .event.ActionEvent)\r
- */\r
- @Override\r
- protected void showSequenceLogo_actionPerformed(ActionEvent e)\r
- {\r
- viewport.setShowSequenceLogo(showSequenceLogo.getState());\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
- }\r
-\r
- @Override\r
- protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)\r
- {\r
- showSequenceLogo.setState(true);\r
- viewport.setShowSequenceLogo(true);\r
- viewport.setNormaliseSequenceLogo(normaliseSequenceLogo.getState());\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
- }\r
-\r
- @Override\r
- protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)\r
- {\r
- alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GAlignFrame#makeGrpsFromSelection_actionPerformed(java.awt\r
- * .event.ActionEvent)\r
- */\r
- @Override\r
- protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)\r
- {\r
- if (avc.makeGroupsFromSelection()) {\r
- PaintRefresher.Refresh(this, viewport.getSequenceSetId());\r
- alignPanel.updateAnnotation();\r
- alignPanel.paintAlignment(true);\r
- }\r
- }\r
-\r
- @Override\r
- protected void createGroup_actionPerformed(ActionEvent e)\r
- {\r
- if (avc.createGroup())\r
- {\r
- alignPanel.alignmentChanged();\r
- }\r
- }\r
-\r
- @Override\r
- protected void unGroup_actionPerformed(ActionEvent e)\r
- {\r
- if (avc.unGroup())\r
- {\r
- alignPanel.alignmentChanged();\r
- }\r
- }\r
-\r
- /**\r
- * make the given alignmentPanel the currently selected tab\r
- * \r
- * @param alignmentPanel\r
- */\r
- public void setDisplayedView(AlignmentPanel alignmentPanel)\r
- {\r
- if (!viewport.getSequenceSetId().equals(\r
- alignmentPanel.av.getSequenceSetId()))\r
- {\r
- throw new Error(\r
- "Implementation error: cannot show a view from another alignment in an AlignFrame.");\r
- }\r
- if (tabbedPane != null\r
- & alignPanels.indexOf(alignmentPanel) != tabbedPane\r
- .getSelectedIndex())\r
- {\r
- tabbedPane.setSelectedIndex(alignPanels.indexOf(alignmentPanel));\r
- }\r
- }\r
-}\r
-\r
-class PrintThread extends Thread\r
-{\r
- AlignmentPanel ap;\r
-\r
- public PrintThread(AlignmentPanel ap)\r
- {\r
- this.ap = ap;\r
- }\r
-\r
- static PageFormat pf;\r
-\r
- @Override\r
- public void run()\r
- {\r
- PrinterJob printJob = PrinterJob.getPrinterJob();\r
-\r
- if (pf != null)\r
- {\r
- printJob.setPrintable(ap, pf);\r
- }\r
- else\r
- {\r
- printJob.setPrintable(ap);\r
- }\r
-\r
- if (printJob.printDialog())\r
- {\r
- try\r
- {\r
- printJob.print();\r
- } catch (Exception PrintException)\r
- {\r
- PrintException.printStackTrace();\r
- }\r
- }\r
- }\r
-}\r
+ fetchr.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ new jalview.ws.DBRefFetcher(alignPanel.av
+ .getSequenceSelection(),
+ alignPanel.alignFrame, dassource)
+ .fetchDBRefs(false);
+ }
+ }).start();
+ }
+ });
+
+ fetchr.setToolTipText("<html>"
+ + JvSwingUtils.wrapTooltip("Retrieve from all "
+ + otherdb.size() + " sources in "
+ + src.getDbSource() + "<br>First is :"
+ + src.getDbName()) + "<html>");
+ dfetch.add(fetchr);
+ comp++;
+ // and then build the rest of the individual menus
+ ifetch = new JMenu("Sources from " + src.getDbSource());
+ icomp = 0;
+ String imname = null;
+ int i = 0;
+ for (DbSourceProxy sproxy : otherdb)
+ {
+ String dbname = sproxy.getDbName();
+ String sname = dbname.length() > 5 ? dbname.substring(0,
+ 5) + "..." : dbname;
+ String msname = dbname.length() > 10 ? dbname.substring(
+ 0, 10) + "..." : dbname;
+ if (imname == null)
+ {
+ imname = "from '" + sname + "'";
+ }
+ fetchr = new JMenuItem(msname);
+ final DbSourceProxy[] dassrc =
+ { sproxy };
+ fetchr.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ @Override
+ public void run()
+ {
+ new jalview.ws.DBRefFetcher(alignPanel.av
+ .getSequenceSelection(),
+ alignPanel.alignFrame, dassrc)
+ .fetchDBRefs(false);
+ }
+ }).start();
+ }
+
+ });
+ fetchr.setToolTipText("<html>"
+ + JvSwingUtils.wrapTooltip("Retrieve from "
+ + dbname) + "</html>");
+ ifetch.add(fetchr);
+ ++i;
+ if (++icomp >= mcomp || i == (otherdb.size()))
+ {
+ ifetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{imname,sname}));
+ dfetch.add(ifetch);
+ ifetch = new JMenu();
+ imname = null;
+ icomp = 0;
+ comp++;
+ }
+ }
+ }
+ ++dbi;
+ if (comp >= mcomp || dbi >= (dbclasses.length))
+ {
+ dfetch.setText(MessageManager.formatMessage("label.source_to_target",new String[]{mname,dbclass}));
+ rfetch.add(dfetch);
+ dfetch = new JMenu();
+ mname = null;
+ comp = 0;
+ }
+ }
+ }
+ });
+ }
+ }).start();
+
+ }
+
+ /**
+ * Left justify the whole alignment.
+ */
+ @Override
+ protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
+ {
+ AlignmentI al = viewport.getAlignment();
+ al.justify(false);
+ viewport.firePropertyChange("alignment", null, al);
+ }
+
+ /**
+ * Right justify the whole alignment.
+ */
+ @Override
+ protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
+ {
+ AlignmentI al = viewport.getAlignment();
+ al.justify(true);
+ viewport.firePropertyChange("alignment", null, al);
+ }
+
+ public void setShowSeqFeatures(boolean b)
+ {
+ showSeqFeatures.setSelected(true);
+ viewport.setShowSequenceFeatures(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showUnconservedMenuItem_actionPerformed(java.
+ * awt.event.ActionEvent)
+ */
+ @Override
+ protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowUnconserved(showNonconservedMenuItem.getState());
+ alignPanel.paintAlignment(true);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showGroupConsensus_actionPerformed(java.awt.event
+ * .ActionEvent)
+ */
+ @Override
+ protected void showGroupConsensus_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowGroupConsensus(showGroupConsensus.getState());
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showGroupConservation_actionPerformed(java.awt
+ * .event.ActionEvent)
+ */
+ @Override
+ protected void showGroupConservation_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowGroupConservation(showGroupConservation.getState());
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showConsensusHistogram_actionPerformed(java.awt
+ * .event.ActionEvent)
+ */
+ @Override
+ protected void showConsensusHistogram_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowConsensusHistogram(showConsensusHistogram.getState());
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#showConsensusProfile_actionPerformed(java.awt
+ * .event.ActionEvent)
+ */
+ @Override
+ protected void showSequenceLogo_actionPerformed(ActionEvent e)
+ {
+ viewport.setShowSequenceLogo(showSequenceLogo.getState());
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+ }
+
+ @Override
+ protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
+ {
+ showSequenceLogo.setState(true);
+ viewport.setShowSequenceLogo(true);
+ viewport.setNormaliseSequenceLogo(normaliseSequenceLogo.getState());
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+ }
+
+ @Override
+ protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
+ {
+ alignPanel.updateAnnotation(applyAutoAnnotationSettings.getState());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GAlignFrame#makeGrpsFromSelection_actionPerformed(java.awt
+ * .event.ActionEvent)
+ */
+ @Override
+ protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
+ {
+ if (avc.makeGroupsFromSelection()) {
+ PaintRefresher.Refresh(this, viewport.getSequenceSetId());
+ alignPanel.updateAnnotation();
+ alignPanel.paintAlignment(true);
+ }
+ }
+
+ @Override
+ protected void createGroup_actionPerformed(ActionEvent e)
+ {
+ if (avc.createGroup())
+ {
+ alignPanel.alignmentChanged();
+ }
+ }
+
+ @Override
+ protected void unGroup_actionPerformed(ActionEvent e)
+ {
+ if (avc.unGroup())
+ {
+ alignPanel.alignmentChanged();
+ }
+ }
+
+ /**
+ * make the given alignmentPanel the currently selected tab
+ *
+ * @param alignmentPanel
+ */
+ public void setDisplayedView(AlignmentPanel alignmentPanel)
+ {
+ if (!viewport.getSequenceSetId().equals(
+ alignmentPanel.av.getSequenceSetId()))
+ {
+ throw new Error(
+ "Implementation error: cannot show a view from another alignment in an AlignFrame.");
+ }
+ if (tabbedPane != null
+ & alignPanels.indexOf(alignmentPanel) != tabbedPane
+ .getSelectedIndex())
+ {
+ tabbedPane.setSelectedIndex(alignPanels.indexOf(alignmentPanel));
+ }
+ }
+}
+
+class PrintThread extends Thread
+{
+ AlignmentPanel ap;
+
+ public PrintThread(AlignmentPanel ap)
+ {
+ this.ap = ap;
+ }
+
+ static PageFormat pf;
+
+ @Override
+ public void run()
+ {
+ PrinterJob printJob = PrinterJob.getPrinterJob();
+
+ if (pf != null)
+ {
+ printJob.setPrintable(ap, pf);
+ }
+ else
+ {
+ printJob.setPrintable(ap);
+ }
+
+ if (printJob.printDialog())
+ {
+ try
+ {
+ printJob.print();
+ } catch (Exception PrintException)
+ {
+ PrintException.printStackTrace();
+ }
+ }
+ }
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/*
* Jalview - A Sequence Alignment Editor and Viewer
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import java.util.*;\r
-import java.awt.*;\r
-import javax.swing.*;\r
-import javax.swing.event.*;\r
-\r
-import java.awt.event.*;\r
-import java.io.*;\r
-\r
-import jalview.jbgui.GStructureViewer;\r
-import jalview.api.SequenceStructureBinding;\r
-import jalview.bin.Cache;\r
-import jalview.datamodel.*;\r
-import jalview.gui.ViewSelectionMenu.ViewSetProvider;\r
-import jalview.datamodel.PDBEntry;\r
-import jalview.io.*;\r
-import jalview.schemes.*;\r
-import jalview.util.MessageManager;\r
-import jalview.util.Platform;\r
-\r
-public class AppJmol extends GStructureViewer implements Runnable,\r
- SequenceStructureBinding, ViewSetProvider\r
-\r
-{\r
- AppJmolBinding jmb;\r
-\r
- JPanel scriptWindow;\r
-\r
- JSplitPane splitPane;\r
-\r
- RenderPanel renderPanel;\r
-\r
- AlignmentPanel ap;\r
-\r
- Vector atomsPicked = new Vector();\r
-\r
- private boolean addingStructures = false;\r
-\r
- /**\r
- * \r
- * @param file\r
- * @param id\r
- * @param seq\r
- * @param ap\r
- * @param loadStatus\r
- * @param bounds\r
- * @deprecated defaults to AppJmol(String[] files, ... , viewid);\r
- */\r
- public AppJmol(String file, String id, SequenceI[] seq,\r
- AlignmentPanel ap, String loadStatus, Rectangle bounds)\r
- {\r
- this(file, id, seq, ap, loadStatus, bounds, null);\r
- }\r
-\r
- /**\r
- * @deprecated\r
- */\r
- public AppJmol(String file, String id, SequenceI[] seq,\r
- AlignmentPanel ap, String loadStatus, Rectangle bounds,\r
- String viewid)\r
- {\r
- this(new String[]\r
- { file }, new String[]\r
- { id }, new SequenceI[][]\r
- { seq }, ap, true, true, false, loadStatus, bounds, viewid);\r
- }\r
-\r
- ViewSelectionMenu seqColourBy;\r
-\r
- /**\r
- * \r
- * @param files\r
- * @param ids\r
- * @param seqs\r
- * @param ap\r
- * @param usetoColour\r
- * - add the alignment panel to the list used for colouring these\r
- * structures\r
- * @param useToAlign\r
- * - add the alignment panel to the list used for aligning these\r
- * structures\r
- * @param leaveColouringToJmol\r
- * - do not update the colours from any other source. Jmol is\r
- * handling them\r
- * @param loadStatus\r
- * @param bounds\r
- * @param viewid\r
- */\r
- public AppJmol(String[] files, String[] ids, SequenceI[][] seqs,\r
- AlignmentPanel ap, boolean usetoColour, boolean useToAlign,\r
- boolean leaveColouringToJmol, String loadStatus,\r
- Rectangle bounds, String viewid)\r
- {\r
- PDBEntry[] pdbentrys = new PDBEntry[files.length];\r
- for (int i = 0; i < pdbentrys.length; i++)\r
- {\r
- PDBEntry pdbentry = new PDBEntry();\r
- pdbentry.setFile(files[i]);\r
- pdbentry.setId(ids[i]);\r
- pdbentrys[i] = pdbentry;\r
- }\r
- // / TODO: check if protocol is needed to be set, and if chains are\r
- // autodiscovered.\r
- jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),\r
- pdbentrys, seqs, null, null);\r
-\r
- jmb.setLoadingFromArchive(true);\r
- addAlignmentPanel(ap);\r
- if (useToAlign)\r
- {\r
- useAlignmentPanelForSuperposition(ap);\r
- }\r
- if (leaveColouringToJmol || !usetoColour)\r
- {\r
- jmb.setColourBySequence(false);\r
- seqColour.setSelected(false);\r
- jmolColour.setSelected(true);\r
- }\r
- if (usetoColour)\r
- {\r
- useAlignmentPanelForColourbyseq(ap);\r
- jmb.setColourBySequence(true);\r
- seqColour.setSelected(true);\r
- jmolColour.setSelected(false);\r
- }\r
- this.setBounds(bounds);\r
- initMenus();\r
- viewId = viewid;\r
- // jalview.gui.Desktop.addInternalFrame(this, "Loading File",\r
- // bounds.width,bounds.height);\r
-\r
- this.addInternalFrameListener(new InternalFrameAdapter()\r
- {\r
- public void internalFrameClosing(InternalFrameEvent internalFrameEvent)\r
- {\r
- closeViewer();\r
- }\r
- });\r
- initJmol(loadStatus); // pdbentry, seq, JBPCHECK!\r
-\r
- }\r
-\r
- private void initMenus()\r
- {\r
- seqColour.setSelected(jmb.isColourBySequence());\r
- jmolColour.setSelected(!jmb.isColourBySequence());\r
- if (_colourwith == null)\r
- {\r
- _colourwith = new Vector<AlignmentPanel>();\r
- }\r
- if (_alignwith == null)\r
- {\r
- _alignwith = new Vector<AlignmentPanel>();\r
- }\r
-\r
- seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,\r
- new ItemListener()\r
- {\r
-\r
- @Override\r
- public void itemStateChanged(ItemEvent e)\r
- {\r
- if (!seqColour.isSelected())\r
- {\r
- seqColour.doClick();\r
- }\r
- else\r
- {\r
- // update the jmol display now.\r
- seqColour_actionPerformed(null);\r
- }\r
- }\r
- });\r
- viewMenu.add(seqColourBy);\r
- final ItemListener handler;\r
- JMenu alpanels = new ViewSelectionMenu("Superpose with ..", this,\r
- _alignwith, handler = new ItemListener()\r
- {\r
-\r
- @Override\r
- public void itemStateChanged(ItemEvent e)\r
- {\r
- alignStructs.setEnabled(_alignwith.size() > 0);\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import java.util.*;
+import java.awt.*;
+import javax.swing.*;
+import javax.swing.event.*;
+
+import java.awt.event.*;
+import java.io.*;
+
+import jalview.jbgui.GStructureViewer;
+import jalview.api.SequenceStructureBinding;
+import jalview.bin.Cache;
+import jalview.datamodel.*;
+import jalview.gui.ViewSelectionMenu.ViewSetProvider;
+import jalview.datamodel.PDBEntry;
+import jalview.io.*;
+import jalview.schemes.*;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+
+public class AppJmol extends GStructureViewer implements Runnable,
+ SequenceStructureBinding, ViewSetProvider
+
+{
+ AppJmolBinding jmb;
+
+ JPanel scriptWindow;
+
+ JSplitPane splitPane;
+
+ RenderPanel renderPanel;
+
+ AlignmentPanel ap;
+
+ Vector atomsPicked = new Vector();
+
+ private boolean addingStructures = false;
+
+ /**
+ *
+ * @param file
+ * @param id
+ * @param seq
+ * @param ap
+ * @param loadStatus
+ * @param bounds
+ * @deprecated defaults to AppJmol(String[] files, ... , viewid);
+ */
+ public AppJmol(String file, String id, SequenceI[] seq,
+ AlignmentPanel ap, String loadStatus, Rectangle bounds)
+ {
+ this(file, id, seq, ap, loadStatus, bounds, null);
+ }
+
+ /**
+ * @deprecated
+ */
+ public AppJmol(String file, String id, SequenceI[] seq,
+ AlignmentPanel ap, String loadStatus, Rectangle bounds,
+ String viewid)
+ {
+ this(new String[]
+ { file }, new String[]
+ { id }, new SequenceI[][]
+ { seq }, ap, true, true, false, loadStatus, bounds, viewid);
+ }
+
+ ViewSelectionMenu seqColourBy;
+
+ /**
+ *
+ * @param files
+ * @param ids
+ * @param seqs
+ * @param ap
+ * @param usetoColour
+ * - add the alignment panel to the list used for colouring these
+ * structures
+ * @param useToAlign
+ * - add the alignment panel to the list used for aligning these
+ * structures
+ * @param leaveColouringToJmol
+ * - do not update the colours from any other source. Jmol is
+ * handling them
+ * @param loadStatus
+ * @param bounds
+ * @param viewid
+ */
+ public AppJmol(String[] files, String[] ids, SequenceI[][] seqs,
+ AlignmentPanel ap, boolean usetoColour, boolean useToAlign,
+ boolean leaveColouringToJmol, String loadStatus,
+ Rectangle bounds, String viewid)
+ {
+ PDBEntry[] pdbentrys = new PDBEntry[files.length];
+ for (int i = 0; i < pdbentrys.length; i++)
+ {
+ PDBEntry pdbentry = new PDBEntry();
+ pdbentry.setFile(files[i]);
+ pdbentry.setId(ids[i]);
+ pdbentrys[i] = pdbentry;
+ }
+ // / TODO: check if protocol is needed to be set, and if chains are
+ // autodiscovered.
+ jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
+ pdbentrys, seqs, null, null);
+
+ jmb.setLoadingFromArchive(true);
+ addAlignmentPanel(ap);
+ if (useToAlign)
+ {
+ useAlignmentPanelForSuperposition(ap);
+ }
+ if (leaveColouringToJmol || !usetoColour)
+ {
+ jmb.setColourBySequence(false);
+ seqColour.setSelected(false);
+ jmolColour.setSelected(true);
+ }
+ if (usetoColour)
+ {
+ useAlignmentPanelForColourbyseq(ap);
+ jmb.setColourBySequence(true);
+ seqColour.setSelected(true);
+ jmolColour.setSelected(false);
+ }
+ this.setBounds(bounds);
+ initMenus();
+ viewId = viewid;
+ // jalview.gui.Desktop.addInternalFrame(this, "Loading File",
+ // bounds.width,bounds.height);
+
+ this.addInternalFrameListener(new InternalFrameAdapter()
+ {
+ public void internalFrameClosing(InternalFrameEvent internalFrameEvent)
+ {
+ closeViewer();
+ }
+ });
+ initJmol(loadStatus); // pdbentry, seq, JBPCHECK!
+
+ }
+
+ private void initMenus()
+ {
+ seqColour.setSelected(jmb.isColourBySequence());
+ jmolColour.setSelected(!jmb.isColourBySequence());
+ if (_colourwith == null)
+ {
+ _colourwith = new Vector<AlignmentPanel>();
+ }
+ if (_alignwith == null)
+ {
+ _alignwith = new Vector<AlignmentPanel>();
+ }
+
+ seqColourBy = new ViewSelectionMenu("Colour by ..", this, _colourwith,
+ new ItemListener()
+ {
+
+ @Override
+ public void itemStateChanged(ItemEvent e)
+ {
+ if (!seqColour.isSelected())
+ {
+ seqColour.doClick();
+ }
+ else
+ {
+ // update the jmol display now.
+ seqColour_actionPerformed(null);
+ }
+ }
+ });
+ viewMenu.add(seqColourBy);
+ final ItemListener handler;
+ JMenu alpanels = new ViewSelectionMenu("Superpose with ..", this,
+ _alignwith, handler = new ItemListener()
+ {
+
+ @Override
+ public void itemStateChanged(ItemEvent e)
+ {
+ alignStructs.setEnabled(_alignwith.size() > 0);
alignStructs.setToolTipText(MessageManager.formatMessage("label.align_structures_using_linked_alignment_views", new String[] {new Integer(_alignwith.size()).toString()}));\r
- }\r
- });\r
- handler.itemStateChanged(null);\r
- jmolActionMenu.add(alpanels);\r
- jmolActionMenu.addMenuListener(new MenuListener()\r
- {\r
-\r
- @Override\r
- public void menuSelected(MenuEvent e)\r
- {\r
- handler.itemStateChanged(null);\r
- }\r
-\r
- @Override\r
- public void menuDeselected(MenuEvent e)\r
- {\r
- // TODO Auto-generated method stub\r
-\r
- }\r
-\r
- @Override\r
- public void menuCanceled(MenuEvent e)\r
- {\r
- // TODO Auto-generated method stub\r
-\r
- }\r
- });\r
- }\r
-\r
- IProgressIndicator progressBar = null;\r
-\r
- /**\r
- * add a single PDB structure to a new or existing Jmol view\r
- * \r
- * @param pdbentry\r
- * @param seq\r
- * @param chains\r
- * @param ap\r
- */\r
- public AppJmol(PDBEntry pdbentry, SequenceI[] seq, String[] chains,\r
- final AlignmentPanel ap)\r
- {\r
- progressBar = ap.alignFrame;\r
- // ////////////////////////////////\r
- // Is the pdb file already loaded?\r
- String alreadyMapped = ap.getStructureSelectionManager()\r
- .alreadyMappedToFile(pdbentry.getId());\r
-\r
- if (alreadyMapped != null)\r
- {\r
- int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,\r
- MessageManager.formatMessage("label.pdb_entry_is_already_displayed", new String[]{pdbentry.getId()}),\r
- MessageManager.formatMessage("label.map_sequences_to_visible_window", new String[]{pdbentry.getId()}),\r
- JOptionPane.YES_NO_OPTION);\r
-\r
- if (option == JOptionPane.YES_OPTION)\r
- {\r
- // TODO : Fix multiple seq to one chain issue here.\r
- ap.getStructureSelectionManager().setMapping(seq, chains,\r
- alreadyMapped, AppletFormatAdapter.FILE);\r
- if (ap.seqPanel.seqCanvas.fr != null)\r
- {\r
- ap.seqPanel.seqCanvas.fr.featuresAdded();\r
- ap.paintAlignment(true);\r
- }\r
-\r
- // Now this AppJmol is mapped to new sequences. We must add them to\r
- // the exisiting array\r
- JInternalFrame[] frames = Desktop.instance.getAllFrames();\r
-\r
- for (int i = 0; i < frames.length; i++)\r
- {\r
- if (frames[i] instanceof AppJmol)\r
- {\r
- final AppJmol topJmol = ((AppJmol) frames[i]);\r
- // JBPNOTE: this looks like a binding routine, rather than a gui\r
- // routine\r
- for (int pe = 0; pe < topJmol.jmb.pdbentry.length; pe++)\r
- {\r
- if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped))\r
- {\r
- topJmol.jmb.addSequence(pe, seq);\r
- topJmol.addAlignmentPanel(ap);\r
- // add it to the set used for colouring\r
- topJmol.useAlignmentPanelForColourbyseq(ap);\r
- topJmol.buildJmolActionMenu();\r
- ap.getStructureSelectionManager()\r
- .sequenceColoursChanged(ap);\r
- break;\r
- }\r
- }\r
- }\r
- }\r
-\r
- return;\r
- }\r
- }\r
- // /////////////////////////////////\r
- // Check if there are other Jmol views involving this alignment\r
- // and prompt user about adding this molecule to one of them\r
- Vector existingViews = getJmolsFor(ap);\r
- if (existingViews.size() > 0)\r
- {\r
- Enumeration jm = existingViews.elements();\r
- while (jm.hasMoreElements())\r
- {\r
- AppJmol topJmol = (AppJmol) jm.nextElement();\r
- // TODO: highlight topJmol in view somehow\r
- int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,\r
- MessageManager.formatMessage("label.add_pdbentry_to_view", new String[]{pdbentry.getId(),topJmol.getTitle()}),\r
- MessageManager.getString("label.align_to_existing_structure_view"),\r
- JOptionPane.YES_NO_OPTION);\r
- if (option == JOptionPane.YES_OPTION)\r
- {\r
- topJmol.useAlignmentPanelForSuperposition(ap);\r
- topJmol.addStructure(pdbentry, seq, chains, true, ap.alignFrame);\r
- return;\r
- }\r
- }\r
- }\r
- // /////////////////////////////////\r
- openNewJmol(ap, new PDBEntry[]\r
- { pdbentry }, new SequenceI[][]\r
- { seq });\r
- }\r
-\r
- private void openNewJmol(AlignmentPanel ap, PDBEntry[] pdbentrys,\r
- SequenceI[][] seqs)\r
- {\r
- progressBar = ap.alignFrame;\r
- jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),\r
- pdbentrys, seqs, null, null);\r
- addAlignmentPanel(ap);\r
- useAlignmentPanelForColourbyseq(ap);\r
- if (pdbentrys.length > 1)\r
- {\r
- alignAddedStructures = true;\r
- useAlignmentPanelForSuperposition(ap);\r
- }\r
- jmb.setColourBySequence(true);\r
- setSize(400, 400); // probably should be a configurable/dynamic default here\r
- initMenus();\r
- worker = null;\r
- {\r
- addingStructures = false;\r
- worker = new Thread(this);\r
- worker.start();\r
- }\r
- this.addInternalFrameListener(new InternalFrameAdapter()\r
- {\r
- public void internalFrameClosing(InternalFrameEvent internalFrameEvent)\r
- {\r
- closeViewer();\r
- }\r
- });\r
-\r
- }\r
-\r
- /**\r
- * create a new Jmol containing several structures superimposed using the\r
- * given alignPanel.\r
- * \r
- * @param ap\r
- * @param pe\r
- * @param seqs\r
- */\r
- public AppJmol(AlignmentPanel ap, PDBEntry[] pe, SequenceI[][] seqs)\r
- {\r
- openNewJmol(ap, pe, seqs);\r
- }\r
-\r
- /**\r
- * list of sequenceSet ids associated with the view\r
- */\r
- ArrayList<String> _aps = new ArrayList();\r
-\r
- public AlignmentPanel[] getAllAlignmentPanels()\r
- {\r
- AlignmentPanel[] t, list = new AlignmentPanel[0];\r
- for (String setid : _aps)\r
- {\r
- AlignmentPanel[] panels = PaintRefresher.getAssociatedPanels(setid);\r
- if (panels != null)\r
- {\r
- t = new AlignmentPanel[list.length + panels.length];\r
- System.arraycopy(list, 0, t, 0, list.length);\r
- System.arraycopy(panels, 0, t, list.length, panels.length);\r
- list = t;\r
- }\r
- }\r
-\r
- return list;\r
- }\r
-\r
- /**\r
- * list of alignment panels to use for superposition\r
- */\r
- Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();\r
-\r
- /**\r
- * list of alignment panels that are used for colouring structures by aligned\r
- * sequences\r
- */\r
- Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();\r
-\r
- /**\r
- * set the primary alignmentPanel reference and add another alignPanel to the\r
- * list of ones to use for colouring and aligning\r
- * \r
- * @param nap\r
- */\r
- public void addAlignmentPanel(AlignmentPanel nap)\r
- {\r
- if (ap == null)\r
- {\r
- ap = nap;\r
- }\r
- if (!_aps.contains(nap.av.getSequenceSetId()))\r
- {\r
- _aps.add(nap.av.getSequenceSetId());\r
- }\r
- }\r
-\r
- /**\r
- * remove any references held to the given alignment panel\r
- * \r
- * @param nap\r
- */\r
- public void removeAlignmentPanel(AlignmentPanel nap)\r
- {\r
- try\r
- {\r
- _alignwith.remove(nap);\r
- _colourwith.remove(nap);\r
- if (ap == nap)\r
- {\r
- ap = null;\r
- for (AlignmentPanel aps : getAllAlignmentPanels())\r
- {\r
- if (aps != nap)\r
- {\r
- ap = aps;\r
- break;\r
- }\r
- }\r
- }\r
- } catch (Exception ex)\r
- {\r
- }\r
- if (ap != null)\r
- {\r
- buildJmolActionMenu();\r
- }\r
- }\r
-\r
- public void useAlignmentPanelForSuperposition(AlignmentPanel nap)\r
- {\r
- addAlignmentPanel(nap);\r
- if (!_alignwith.contains(nap))\r
- {\r
- _alignwith.add(nap);\r
- }\r
- }\r
-\r
- public void excludeAlignmentPanelForSuperposition(AlignmentPanel nap)\r
- {\r
- if (_alignwith.contains(nap))\r
- {\r
- _alignwith.remove(nap);\r
- }\r
- }\r
-\r
- public void useAlignmentPanelForColourbyseq(AlignmentPanel nap,\r
- boolean enableColourBySeq)\r
- {\r
- useAlignmentPanelForColourbyseq(nap);\r
- jmb.setColourBySequence(enableColourBySeq);\r
- seqColour.setSelected(enableColourBySeq);\r
- jmolColour.setSelected(!enableColourBySeq);\r
- }\r
-\r
- public void useAlignmentPanelForColourbyseq(AlignmentPanel nap)\r
- {\r
- addAlignmentPanel(nap);\r
- if (!_colourwith.contains(nap))\r
- {\r
- _colourwith.add(nap);\r
- }\r
- }\r
-\r
- public void excludeAlignmentPanelForColourbyseq(AlignmentPanel nap)\r
- {\r
- if (_colourwith.contains(nap))\r
- {\r
- _colourwith.remove(nap);\r
- }\r
- }\r
-\r
- /**\r
- * pdb retrieval thread.\r
- */\r
- private Thread worker = null;\r
-\r
- /**\r
- * add a new structure (with associated sequences and chains) to this viewer,\r
- * retrieving it if necessary first.\r
- * \r
- * @param pdbentry\r
- * @param seq\r
- * @param chains\r
- * @param alignFrame\r
- * @param align\r
- * if true, new structure(s) will be align using associated alignment\r
- */\r
- private void addStructure(final PDBEntry pdbentry, final SequenceI[] seq,\r
- final String[] chains, final boolean b,\r
- final IProgressIndicator alignFrame)\r
- {\r
- if (pdbentry.getFile() == null)\r
- {\r
- if (worker != null && worker.isAlive())\r
- {\r
- // a retrieval is in progress, wait around and add ourselves to the\r
- // queue.\r
- new Thread(new Runnable()\r
- {\r
- public void run()\r
- {\r
- while (worker != null && worker.isAlive() && _started)\r
- {\r
- try\r
- {\r
- Thread.sleep(100 + ((int) Math.random() * 100));\r
-\r
- } catch (Exception e)\r
- {\r
- }\r
-\r
- }\r
- // and call ourselves again.\r
- addStructure(pdbentry, seq, chains, b, alignFrame);\r
- }\r
- }).start();\r
- return;\r
- }\r
- }\r
- // otherwise, start adding the structure.\r
- jmb.addSequenceAndChain(new PDBEntry[]\r
- { pdbentry }, new SequenceI[][]\r
- { seq }, new String[][]\r
- { chains });\r
- addingStructures = true;\r
- _started = false;\r
- alignAddedStructures = b;\r
- progressBar = alignFrame; // visual indication happens on caller frame.\r
- (worker = new Thread(this)).start();\r
- return;\r
- }\r
-\r
- private Vector getJmolsFor(AlignmentPanel ap2)\r
- {\r
- Vector otherJmols = new Vector();\r
- // Now this AppJmol is mapped to new sequences. We must add them to\r
- // the exisiting array\r
- JInternalFrame[] frames = Desktop.instance.getAllFrames();\r
-\r
- for (int i = 0; i < frames.length; i++)\r
- {\r
- if (frames[i] instanceof AppJmol)\r
- {\r
- AppJmol topJmol = ((AppJmol) frames[i]);\r
- if (topJmol.isLinkedWith(ap2))\r
- {\r
- otherJmols.addElement(topJmol);\r
- }\r
- }\r
- }\r
- return otherJmols;\r
- }\r
-\r
- void initJmol(String command)\r
- {\r
- jmb.setFinishedInit(false);\r
- renderPanel = new RenderPanel();\r
- // TODO: consider waiting until the structure/view is fully loaded before\r
- // displaying\r
- this.getContentPane().add(renderPanel, java.awt.BorderLayout.CENTER);\r
- jalview.gui.Desktop.addInternalFrame(this, jmb.getViewerTitle(),\r
- getBounds().width, getBounds().height);\r
- if (scriptWindow == null)\r
- {\r
- BorderLayout bl = new BorderLayout();\r
- bl.setHgap(0);\r
- bl.setVgap(0);\r
- scriptWindow = new JPanel(bl);\r
- scriptWindow.setVisible(false);\r
- }\r
- ;\r
- jmb.allocateViewer(renderPanel, true, "", null, null, "", scriptWindow,\r
- null);\r
- jmb.newJmolPopup(true, "Jmol", true);\r
- if (command == null)\r
- {\r
- command = "";\r
- }\r
- jmb.evalStateCommand(command);\r
- jmb.setFinishedInit(true);\r
- }\r
-\r
- void setChainMenuItems(Vector chains)\r
- {\r
- chainMenu.removeAll();\r
- if (chains == null)\r
- {\r
- return;\r
- }\r
+ }
+ });
+ handler.itemStateChanged(null);
+ jmolActionMenu.add(alpanels);
+ jmolActionMenu.addMenuListener(new MenuListener()
+ {
+
+ @Override
+ public void menuSelected(MenuEvent e)
+ {
+ handler.itemStateChanged(null);
+ }
+
+ @Override
+ public void menuDeselected(MenuEvent e)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void menuCanceled(MenuEvent e)
+ {
+ // TODO Auto-generated method stub
+
+ }
+ });
+ }
+
+ IProgressIndicator progressBar = null;
+
+ /**
+ * add a single PDB structure to a new or existing Jmol view
+ *
+ * @param pdbentry
+ * @param seq
+ * @param chains
+ * @param ap
+ */
+ public AppJmol(PDBEntry pdbentry, SequenceI[] seq, String[] chains,
+ final AlignmentPanel ap)
+ {
+ progressBar = ap.alignFrame;
+ // ////////////////////////////////
+ // Is the pdb file already loaded?
+ String alreadyMapped = ap.getStructureSelectionManager()
+ .alreadyMappedToFile(pdbentry.getId());
+
+ if (alreadyMapped != null)
+ {
+ int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
+ MessageManager.formatMessage("label.pdb_entry_is_already_displayed", new String[]{pdbentry.getId()}),
+ MessageManager.formatMessage("label.map_sequences_to_visible_window", new String[]{pdbentry.getId()}),
+ JOptionPane.YES_NO_OPTION);
+
+ if (option == JOptionPane.YES_OPTION)
+ {
+ // TODO : Fix multiple seq to one chain issue here.
+ ap.getStructureSelectionManager().setMapping(seq, chains,
+ alreadyMapped, AppletFormatAdapter.FILE);
+ if (ap.seqPanel.seqCanvas.fr != null)
+ {
+ ap.seqPanel.seqCanvas.fr.featuresAdded();
+ ap.paintAlignment(true);
+ }
+
+ // Now this AppJmol is mapped to new sequences. We must add them to
+ // the exisiting array
+ JInternalFrame[] frames = Desktop.instance.getAllFrames();
+
+ for (int i = 0; i < frames.length; i++)
+ {
+ if (frames[i] instanceof AppJmol)
+ {
+ final AppJmol topJmol = ((AppJmol) frames[i]);
+ // JBPNOTE: this looks like a binding routine, rather than a gui
+ // routine
+ for (int pe = 0; pe < topJmol.jmb.pdbentry.length; pe++)
+ {
+ if (topJmol.jmb.pdbentry[pe].getFile().equals(alreadyMapped))
+ {
+ topJmol.jmb.addSequence(pe, seq);
+ topJmol.addAlignmentPanel(ap);
+ // add it to the set used for colouring
+ topJmol.useAlignmentPanelForColourbyseq(ap);
+ topJmol.buildJmolActionMenu();
+ ap.getStructureSelectionManager()
+ .sequenceColoursChanged(ap);
+ break;
+ }
+ }
+ }
+ }
+
+ return;
+ }
+ }
+ // /////////////////////////////////
+ // Check if there are other Jmol views involving this alignment
+ // and prompt user about adding this molecule to one of them
+ Vector existingViews = getJmolsFor(ap);
+ if (existingViews.size() > 0)
+ {
+ Enumeration jm = existingViews.elements();
+ while (jm.hasMoreElements())
+ {
+ AppJmol topJmol = (AppJmol) jm.nextElement();
+ // TODO: highlight topJmol in view somehow
+ int option = JOptionPane.showInternalConfirmDialog(Desktop.desktop,
+ MessageManager.formatMessage("label.add_pdbentry_to_view", new String[]{pdbentry.getId(),topJmol.getTitle()}),
+ MessageManager.getString("label.align_to_existing_structure_view"),
+ JOptionPane.YES_NO_OPTION);
+ if (option == JOptionPane.YES_OPTION)
+ {
+ topJmol.useAlignmentPanelForSuperposition(ap);
+ topJmol.addStructure(pdbentry, seq, chains, true, ap.alignFrame);
+ return;
+ }
+ }
+ }
+ // /////////////////////////////////
+ openNewJmol(ap, new PDBEntry[]
+ { pdbentry }, new SequenceI[][]
+ { seq });
+ }
+
+ private void openNewJmol(AlignmentPanel ap, PDBEntry[] pdbentrys,
+ SequenceI[][] seqs)
+ {
+ progressBar = ap.alignFrame;
+ jmb = new AppJmolBinding(this, ap.getStructureSelectionManager(),
+ pdbentrys, seqs, null, null);
+ addAlignmentPanel(ap);
+ useAlignmentPanelForColourbyseq(ap);
+ if (pdbentrys.length > 1)
+ {
+ alignAddedStructures = true;
+ useAlignmentPanelForSuperposition(ap);
+ }
+ jmb.setColourBySequence(true);
+ setSize(400, 400); // probably should be a configurable/dynamic default here
+ initMenus();
+ worker = null;
+ {
+ addingStructures = false;
+ worker = new Thread(this);
+ worker.start();
+ }
+ this.addInternalFrameListener(new InternalFrameAdapter()
+ {
+ public void internalFrameClosing(InternalFrameEvent internalFrameEvent)
+ {
+ closeViewer();
+ }
+ });
+
+ }
+
+ /**
+ * create a new Jmol containing several structures superimposed using the
+ * given alignPanel.
+ *
+ * @param ap
+ * @param pe
+ * @param seqs
+ */
+ public AppJmol(AlignmentPanel ap, PDBEntry[] pe, SequenceI[][] seqs)
+ {
+ openNewJmol(ap, pe, seqs);
+ }
+
+ /**
+ * list of sequenceSet ids associated with the view
+ */
+ ArrayList<String> _aps = new ArrayList();
+
+ public AlignmentPanel[] getAllAlignmentPanels()
+ {
+ AlignmentPanel[] t, list = new AlignmentPanel[0];
+ for (String setid : _aps)
+ {
+ AlignmentPanel[] panels = PaintRefresher.getAssociatedPanels(setid);
+ if (panels != null)
+ {
+ t = new AlignmentPanel[list.length + panels.length];
+ System.arraycopy(list, 0, t, 0, list.length);
+ System.arraycopy(panels, 0, t, list.length, panels.length);
+ list = t;
+ }
+ }
+
+ return list;
+ }
+
+ /**
+ * list of alignment panels to use for superposition
+ */
+ Vector<AlignmentPanel> _alignwith = new Vector<AlignmentPanel>();
+
+ /**
+ * list of alignment panels that are used for colouring structures by aligned
+ * sequences
+ */
+ Vector<AlignmentPanel> _colourwith = new Vector<AlignmentPanel>();
+
+ /**
+ * set the primary alignmentPanel reference and add another alignPanel to the
+ * list of ones to use for colouring and aligning
+ *
+ * @param nap
+ */
+ public void addAlignmentPanel(AlignmentPanel nap)
+ {
+ if (ap == null)
+ {
+ ap = nap;
+ }
+ if (!_aps.contains(nap.av.getSequenceSetId()))
+ {
+ _aps.add(nap.av.getSequenceSetId());
+ }
+ }
+
+ /**
+ * remove any references held to the given alignment panel
+ *
+ * @param nap
+ */
+ public void removeAlignmentPanel(AlignmentPanel nap)
+ {
+ try
+ {
+ _alignwith.remove(nap);
+ _colourwith.remove(nap);
+ if (ap == nap)
+ {
+ ap = null;
+ for (AlignmentPanel aps : getAllAlignmentPanels())
+ {
+ if (aps != nap)
+ {
+ ap = aps;
+ break;
+ }
+ }
+ }
+ } catch (Exception ex)
+ {
+ }
+ if (ap != null)
+ {
+ buildJmolActionMenu();
+ }
+ }
+
+ public void useAlignmentPanelForSuperposition(AlignmentPanel nap)
+ {
+ addAlignmentPanel(nap);
+ if (!_alignwith.contains(nap))
+ {
+ _alignwith.add(nap);
+ }
+ }
+
+ public void excludeAlignmentPanelForSuperposition(AlignmentPanel nap)
+ {
+ if (_alignwith.contains(nap))
+ {
+ _alignwith.remove(nap);
+ }
+ }
+
+ public void useAlignmentPanelForColourbyseq(AlignmentPanel nap,
+ boolean enableColourBySeq)
+ {
+ useAlignmentPanelForColourbyseq(nap);
+ jmb.setColourBySequence(enableColourBySeq);
+ seqColour.setSelected(enableColourBySeq);
+ jmolColour.setSelected(!enableColourBySeq);
+ }
+
+ public void useAlignmentPanelForColourbyseq(AlignmentPanel nap)
+ {
+ addAlignmentPanel(nap);
+ if (!_colourwith.contains(nap))
+ {
+ _colourwith.add(nap);
+ }
+ }
+
+ public void excludeAlignmentPanelForColourbyseq(AlignmentPanel nap)
+ {
+ if (_colourwith.contains(nap))
+ {
+ _colourwith.remove(nap);
+ }
+ }
+
+ /**
+ * pdb retrieval thread.
+ */
+ private Thread worker = null;
+
+ /**
+ * add a new structure (with associated sequences and chains) to this viewer,
+ * retrieving it if necessary first.
+ *
+ * @param pdbentry
+ * @param seq
+ * @param chains
+ * @param alignFrame
+ * @param align
+ * if true, new structure(s) will be align using associated alignment
+ */
+ private void addStructure(final PDBEntry pdbentry, final SequenceI[] seq,
+ final String[] chains, final boolean b,
+ final IProgressIndicator alignFrame)
+ {
+ if (pdbentry.getFile() == null)
+ {
+ if (worker != null && worker.isAlive())
+ {
+ // a retrieval is in progress, wait around and add ourselves to the
+ // queue.
+ new Thread(new Runnable()
+ {
+ public void run()
+ {
+ while (worker != null && worker.isAlive() && _started)
+ {
+ try
+ {
+ Thread.sleep(100 + ((int) Math.random() * 100));
+
+ } catch (Exception e)
+ {
+ }
+
+ }
+ // and call ourselves again.
+ addStructure(pdbentry, seq, chains, b, alignFrame);
+ }
+ }).start();
+ return;
+ }
+ }
+ // otherwise, start adding the structure.
+ jmb.addSequenceAndChain(new PDBEntry[]
+ { pdbentry }, new SequenceI[][]
+ { seq }, new String[][]
+ { chains });
+ addingStructures = true;
+ _started = false;
+ alignAddedStructures = b;
+ progressBar = alignFrame; // visual indication happens on caller frame.
+ (worker = new Thread(this)).start();
+ return;
+ }
+
+ private Vector getJmolsFor(AlignmentPanel ap2)
+ {
+ Vector otherJmols = new Vector();
+ // Now this AppJmol is mapped to new sequences. We must add them to
+ // the exisiting array
+ JInternalFrame[] frames = Desktop.instance.getAllFrames();
+
+ for (int i = 0; i < frames.length; i++)
+ {
+ if (frames[i] instanceof AppJmol)
+ {
+ AppJmol topJmol = ((AppJmol) frames[i]);
+ if (topJmol.isLinkedWith(ap2))
+ {
+ otherJmols.addElement(topJmol);
+ }
+ }
+ }
+ return otherJmols;
+ }
+
+ void initJmol(String command)
+ {
+ jmb.setFinishedInit(false);
+ renderPanel = new RenderPanel();
+ // TODO: consider waiting until the structure/view is fully loaded before
+ // displaying
+ this.getContentPane().add(renderPanel, java.awt.BorderLayout.CENTER);
+ jalview.gui.Desktop.addInternalFrame(this, jmb.getViewerTitle(),
+ getBounds().width, getBounds().height);
+ if (scriptWindow == null)
+ {
+ BorderLayout bl = new BorderLayout();
+ bl.setHgap(0);
+ bl.setVgap(0);
+ scriptWindow = new JPanel(bl);
+ scriptWindow.setVisible(false);
+ }
+ ;
+ jmb.allocateViewer(renderPanel, true, "", null, null, "", scriptWindow,
+ null);
+ jmb.newJmolPopup(true, "Jmol", true);
+ if (command == null)
+ {
+ command = "";
+ }
+ jmb.evalStateCommand(command);
+ jmb.setFinishedInit(true);
+ }
+
+ void setChainMenuItems(Vector chains)
+ {
+ chainMenu.removeAll();
+ if (chains == null)
+ {
+ return;
+ }
JMenuItem menuItem = new JMenuItem(MessageManager.getString("label.all"));\r
- menuItem.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent evt)\r
- {\r
- allChainsSelected = true;\r
- for (int i = 0; i < chainMenu.getItemCount(); i++)\r
- {\r
- if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)\r
- ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true);\r
- }\r
- centerViewer();\r
- allChainsSelected = false;\r
- }\r
- });\r
-\r
- chainMenu.add(menuItem);\r
-\r
- for (int c = 0; c < chains.size(); c++)\r
- {\r
- menuItem = new JCheckBoxMenuItem(chains.elementAt(c).toString(), true);\r
- menuItem.addItemListener(new ItemListener()\r
- {\r
- public void itemStateChanged(ItemEvent evt)\r
- {\r
- if (!allChainsSelected)\r
- centerViewer();\r
- }\r
- });\r
-\r
- chainMenu.add(menuItem);\r
- }\r
- }\r
-\r
- boolean allChainsSelected = false;\r
-\r
- private boolean alignAddedStructures = false;\r
-\r
- void centerViewer()\r
- {\r
- Vector toshow = new Vector();\r
- String lbl;\r
- int mlength, p, mnum;\r
- for (int i = 0; i < chainMenu.getItemCount(); i++)\r
- {\r
- if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)\r
- {\r
- JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);\r
- if (item.isSelected())\r
- {\r
- toshow.addElement(item.getText());\r
- }\r
- }\r
- }\r
- jmb.centerViewer(toshow);\r
- }\r
-\r
- void closeViewer()\r
- {\r
- jmb.closeViewer();\r
- ap = null;\r
- _aps.clear();\r
- _alignwith.clear();\r
- _colourwith.clear();\r
- // TODO: check for memory leaks where instance isn't finalised because jmb\r
- // holds a reference to the window\r
- jmb = null;\r
- }\r
-\r
- /**\r
- * state flag for PDB retrieval thread\r
- */\r
- private boolean _started = false;\r
-\r
- public void run()\r
- {\r
- _started = true;\r
- String pdbid = "";\r
- // todo - record which pdbids were successfuly imported.\r
- StringBuffer errormsgs = new StringBuffer(), files = new StringBuffer();\r
- try\r
- {\r
- String[] curfiles = jmb.getPdbFile(); // files currently in viewer\r
- // TODO: replace with reference fetching/transfer code (validate PDBentry\r
- // as a DBRef?)\r
- jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb();\r
- for (int pi = 0; pi < jmb.pdbentry.length; pi++)\r
- {\r
- String file = jmb.pdbentry[pi].getFile();\r
- if (file == null)\r
- {\r
- // retrieve the pdb and store it locally\r
- AlignmentI pdbseq = null;\r
- pdbid = jmb.pdbentry[pi].getId();\r
- long hdl = pdbid.hashCode() - System.currentTimeMillis();\r
- if (progressBar != null)\r
- {\r
- progressBar.setProgressBar("Fetching PDB " + pdbid, hdl);\r
- }\r
- try\r
- {\r
- pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi]\r
- .getId());\r
- } catch (OutOfMemoryError oomerror)\r
- {\r
- new OOMWarning("Retrieving PDB id " + pdbid, oomerror);\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- errormsgs.append("'" + pdbid + "'");\r
- }\r
- if (progressBar != null)\r
- {\r
- progressBar.setProgressBar("Finished.", hdl);\r
- }\r
- if (pdbseq != null)\r
- {\r
- // just transfer the file name from the first sequence's first\r
- // PDBEntry\r
- file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId()\r
- .elementAt(0)).getFile()).getAbsolutePath();\r
- jmb.pdbentry[pi].setFile(file);\r
-\r
- files.append(" \"" + Platform.escapeString(file) + "\"");\r
- }\r
- else\r
- {\r
- errormsgs.append("'" + pdbid + "' ");\r
- }\r
- }\r
- else\r
- {\r
- if (curfiles != null && curfiles.length > 0)\r
- {\r
- addingStructures = true; // already files loaded.\r
- for (int c = 0; c < curfiles.length; c++)\r
- {\r
- if (curfiles[c].equals(file))\r
- {\r
- file = null;\r
- break;\r
- }\r
- }\r
- }\r
- if (file != null)\r
- {\r
- files.append(" \"" + Platform.escapeString(file) + "\"");\r
- }\r
- }\r
- }\r
- } catch (OutOfMemoryError oomerror)\r
- {\r
- new OOMWarning("Retrieving PDB files: " + pdbid, oomerror);\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- errormsgs.append("When retrieving pdbfiles : current was: '" + pdbid\r
- + "'");\r
- }\r
- if (errormsgs.length() > 0)\r
- {\r
-\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- MessageManager.formatMessage("label.pdb_entries_couldnt_be_retrieved", new String[]{errormsgs.toString()}),\r
- MessageManager.getString("label.couldnt_load_file"), JOptionPane.ERROR_MESSAGE);\r
-\r
- }\r
- long lastnotify = jmb.getLoadNotifiesHandled();\r
- if (files.length() > 0)\r
- {\r
- if (!addingStructures)\r
- {\r
-\r
- try\r
- {\r
- initJmol("load FILES " + files.toString());\r
- } catch (OutOfMemoryError oomerror)\r
- {\r
- new OOMWarning("When trying to open the Jmol viewer!", oomerror);\r
- Cache.log.debug("File locations are " + files);\r
- } catch (Exception ex)\r
- {\r
- Cache.log.error("Couldn't open Jmol viewer!", ex);\r
- }\r
- }\r
- else\r
- {\r
- StringBuffer cmd = new StringBuffer();\r
- cmd.append("loadingJalviewdata=true\nload APPEND ");\r
- cmd.append(files.toString());\r
- cmd.append("\nloadingJalviewdata=null");\r
- final String command = cmd.toString();\r
- cmd = null;\r
- lastnotify = jmb.getLoadNotifiesHandled();\r
-\r
- try\r
- {\r
- jmb.evalStateCommand(command);\r
- } catch (OutOfMemoryError oomerror)\r
- {\r
- new OOMWarning(\r
- "When trying to add structures to the Jmol viewer!",\r
- oomerror);\r
- Cache.log.debug("File locations are " + files);\r
- } catch (Exception ex)\r
- {\r
- Cache.log.error("Couldn't add files to Jmol viewer!", ex);\r
- }\r
- }\r
-\r
- // need to wait around until script has finished\r
- while (addingStructures ? lastnotify >= jmb.getLoadNotifiesHandled()\r
- : (jmb.isFinishedInit() && jmb.getPdbFile().length != jmb.pdbentry.length))\r
- {\r
- try\r
- {\r
- Cache.log.debug("Waiting around for jmb notify.");\r
- Thread.sleep(35);\r
- } catch (Exception e)\r
- {\r
- }\r
- }\r
- // refresh the sequence colours for the new structure(s)\r
- for (AlignmentPanel ap : _colourwith)\r
- {\r
- jmb.updateColours(ap);\r
- }\r
- // do superposition if asked to\r
- if (alignAddedStructures)\r
- {\r
- javax.swing.SwingUtilities.invokeLater(new Runnable()\r
- {\r
- public void run()\r
- {\r
- alignStructs_withAllAlignPanels();\r
- // jmb.superposeStructures(ap.av.getAlignment(), -1, null);\r
- }\r
- });\r
- alignAddedStructures = false;\r
- }\r
- addingStructures = false;\r
-\r
- }\r
- _started = false;\r
- worker = null;\r
- }\r
-\r
- public void pdbFile_actionPerformed(ActionEvent actionEvent)\r
- {\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
-\r
- chooser.setFileView(new JalviewFileView());\r
- chooser.setDialogTitle("Save PDB File");\r
+ menuItem.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ allChainsSelected = true;
+ for (int i = 0; i < chainMenu.getItemCount(); i++)
+ {
+ if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
+ ((JCheckBoxMenuItem) chainMenu.getItem(i)).setSelected(true);
+ }
+ centerViewer();
+ allChainsSelected = false;
+ }
+ });
+
+ chainMenu.add(menuItem);
+
+ for (int c = 0; c < chains.size(); c++)
+ {
+ menuItem = new JCheckBoxMenuItem(chains.elementAt(c).toString(), true);
+ menuItem.addItemListener(new ItemListener()
+ {
+ public void itemStateChanged(ItemEvent evt)
+ {
+ if (!allChainsSelected)
+ centerViewer();
+ }
+ });
+
+ chainMenu.add(menuItem);
+ }
+ }
+
+ boolean allChainsSelected = false;
+
+ private boolean alignAddedStructures = false;
+
+ void centerViewer()
+ {
+ Vector toshow = new Vector();
+ String lbl;
+ int mlength, p, mnum;
+ for (int i = 0; i < chainMenu.getItemCount(); i++)
+ {
+ if (chainMenu.getItem(i) instanceof JCheckBoxMenuItem)
+ {
+ JCheckBoxMenuItem item = (JCheckBoxMenuItem) chainMenu.getItem(i);
+ if (item.isSelected())
+ {
+ toshow.addElement(item.getText());
+ }
+ }
+ }
+ jmb.centerViewer(toshow);
+ }
+
+ void closeViewer()
+ {
+ jmb.closeViewer();
+ ap = null;
+ _aps.clear();
+ _alignwith.clear();
+ _colourwith.clear();
+ // TODO: check for memory leaks where instance isn't finalised because jmb
+ // holds a reference to the window
+ jmb = null;
+ }
+
+ /**
+ * state flag for PDB retrieval thread
+ */
+ private boolean _started = false;
+
+ public void run()
+ {
+ _started = true;
+ String pdbid = "";
+ // todo - record which pdbids were successfuly imported.
+ StringBuffer errormsgs = new StringBuffer(), files = new StringBuffer();
+ try
+ {
+ String[] curfiles = jmb.getPdbFile(); // files currently in viewer
+ // TODO: replace with reference fetching/transfer code (validate PDBentry
+ // as a DBRef?)
+ jalview.ws.dbsources.Pdb pdbclient = new jalview.ws.dbsources.Pdb();
+ for (int pi = 0; pi < jmb.pdbentry.length; pi++)
+ {
+ String file = jmb.pdbentry[pi].getFile();
+ if (file == null)
+ {
+ // retrieve the pdb and store it locally
+ AlignmentI pdbseq = null;
+ pdbid = jmb.pdbentry[pi].getId();
+ long hdl = pdbid.hashCode() - System.currentTimeMillis();
+ if (progressBar != null)
+ {
+ progressBar.setProgressBar("Fetching PDB " + pdbid, hdl);
+ }
+ try
+ {
+ pdbseq = pdbclient.getSequenceRecords(pdbid = jmb.pdbentry[pi]
+ .getId());
+ } catch (OutOfMemoryError oomerror)
+ {
+ new OOMWarning("Retrieving PDB id " + pdbid, oomerror);
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ errormsgs.append("'" + pdbid + "'");
+ }
+ if (progressBar != null)
+ {
+ progressBar.setProgressBar("Finished.", hdl);
+ }
+ if (pdbseq != null)
+ {
+ // just transfer the file name from the first sequence's first
+ // PDBEntry
+ file = new File(((PDBEntry) pdbseq.getSequenceAt(0).getPDBId()
+ .elementAt(0)).getFile()).getAbsolutePath();
+ jmb.pdbentry[pi].setFile(file);
+
+ files.append(" \"" + Platform.escapeString(file) + "\"");
+ }
+ else
+ {
+ errormsgs.append("'" + pdbid + "' ");
+ }
+ }
+ else
+ {
+ if (curfiles != null && curfiles.length > 0)
+ {
+ addingStructures = true; // already files loaded.
+ for (int c = 0; c < curfiles.length; c++)
+ {
+ if (curfiles[c].equals(file))
+ {
+ file = null;
+ break;
+ }
+ }
+ }
+ if (file != null)
+ {
+ files.append(" \"" + Platform.escapeString(file) + "\"");
+ }
+ }
+ }
+ } catch (OutOfMemoryError oomerror)
+ {
+ new OOMWarning("Retrieving PDB files: " + pdbid, oomerror);
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ errormsgs.append("When retrieving pdbfiles : current was: '" + pdbid
+ + "'");
+ }
+ if (errormsgs.length() > 0)
+ {
+
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager.formatMessage("label.pdb_entries_couldnt_be_retrieved", new String[]{errormsgs.toString()}),
+ MessageManager.getString("label.couldnt_load_file"), JOptionPane.ERROR_MESSAGE);
+
+ }
+ long lastnotify = jmb.getLoadNotifiesHandled();
+ if (files.length() > 0)
+ {
+ if (!addingStructures)
+ {
+
+ try
+ {
+ initJmol("load FILES " + files.toString());
+ } catch (OutOfMemoryError oomerror)
+ {
+ new OOMWarning("When trying to open the Jmol viewer!", oomerror);
+ Cache.log.debug("File locations are " + files);
+ } catch (Exception ex)
+ {
+ Cache.log.error("Couldn't open Jmol viewer!", ex);
+ }
+ }
+ else
+ {
+ StringBuffer cmd = new StringBuffer();
+ cmd.append("loadingJalviewdata=true\nload APPEND ");
+ cmd.append(files.toString());
+ cmd.append("\nloadingJalviewdata=null");
+ final String command = cmd.toString();
+ cmd = null;
+ lastnotify = jmb.getLoadNotifiesHandled();
+
+ try
+ {
+ jmb.evalStateCommand(command);
+ } catch (OutOfMemoryError oomerror)
+ {
+ new OOMWarning(
+ "When trying to add structures to the Jmol viewer!",
+ oomerror);
+ Cache.log.debug("File locations are " + files);
+ } catch (Exception ex)
+ {
+ Cache.log.error("Couldn't add files to Jmol viewer!", ex);
+ }
+ }
+
+ // need to wait around until script has finished
+ while (addingStructures ? lastnotify >= jmb.getLoadNotifiesHandled()
+ : (jmb.isFinishedInit() && jmb.getPdbFile().length != jmb.pdbentry.length))
+ {
+ try
+ {
+ Cache.log.debug("Waiting around for jmb notify.");
+ Thread.sleep(35);
+ } catch (Exception e)
+ {
+ }
+ }
+ // refresh the sequence colours for the new structure(s)
+ for (AlignmentPanel ap : _colourwith)
+ {
+ jmb.updateColours(ap);
+ }
+ // do superposition if asked to
+ if (alignAddedStructures)
+ {
+ javax.swing.SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ alignStructs_withAllAlignPanels();
+ // jmb.superposeStructures(ap.av.getAlignment(), -1, null);
+ }
+ });
+ alignAddedStructures = false;
+ }
+ addingStructures = false;
+
+ }
+ _started = false;
+ worker = null;
+ }
+
+ public void pdbFile_actionPerformed(ActionEvent actionEvent)
+ {
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+
+ chooser.setFileView(new JalviewFileView());
+ chooser.setDialogTitle("Save PDB File");
chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
- int value = chooser.showSaveDialog(this);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- try\r
- {\r
- // TODO: cope with multiple PDB files in view\r
- BufferedReader in = new BufferedReader(new FileReader(\r
- jmb.getPdbFile()[0]));\r
- File outFile = chooser.getSelectedFile();\r
-\r
- PrintWriter out = new PrintWriter(new FileOutputStream(outFile));\r
- String data;\r
- while ((data = in.readLine()) != null)\r
- {\r
- if (!(data.indexOf("<PRE>") > -1 || data.indexOf("</PRE>") > -1))\r
- {\r
- out.println(data);\r
- }\r
- }\r
- out.close();\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
- }\r
- }\r
-\r
- public void viewMapping_actionPerformed(ActionEvent actionEvent)\r
- {\r
- jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer();\r
- try\r
- {\r
- for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++)\r
- {\r
- cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile()));\r
- cap.appendText("\n");\r
- }\r
- } catch (OutOfMemoryError e)\r
- {\r
- new OOMWarning(\r
- "composing sequence-structure alignments for display in text box.",\r
- e);\r
- cap.dispose();\r
- return;\r
- }\r
+
+ int value = chooser.showSaveDialog(this);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ try
+ {
+ // TODO: cope with multiple PDB files in view
+ BufferedReader in = new BufferedReader(new FileReader(
+ jmb.getPdbFile()[0]));
+ File outFile = chooser.getSelectedFile();
+
+ PrintWriter out = new PrintWriter(new FileOutputStream(outFile));
+ String data;
+ while ((data = in.readLine()) != null)
+ {
+ if (!(data.indexOf("<PRE>") > -1 || data.indexOf("</PRE>") > -1))
+ {
+ out.println(data);
+ }
+ }
+ out.close();
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ public void viewMapping_actionPerformed(ActionEvent actionEvent)
+ {
+ jalview.gui.CutAndPasteTransfer cap = new jalview.gui.CutAndPasteTransfer();
+ try
+ {
+ for (int pdbe = 0; pdbe < jmb.pdbentry.length; pdbe++)
+ {
+ cap.appendText(jmb.printMapping(jmb.pdbentry[pdbe].getFile()));
+ cap.appendText("\n");
+ }
+ } catch (OutOfMemoryError e)
+ {
+ new OOMWarning(
+ "composing sequence-structure alignments for display in text box.",
+ e);
+ cap.dispose();
+ return;
+ }
jalview.gui.Desktop.addInternalFrame(cap, MessageManager.getString("label.pdb_sequence_mapping"),\r
- 550, 600);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void eps_actionPerformed(ActionEvent e)\r
- {\r
- makePDBImage(jalview.util.ImageMaker.EPS);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void png_actionPerformed(ActionEvent e)\r
- {\r
- makePDBImage(jalview.util.ImageMaker.PNG);\r
- }\r
-\r
- void makePDBImage(int type)\r
- {\r
- int width = getWidth();\r
- int height = getHeight();\r
-\r
- jalview.util.ImageMaker im;\r
-\r
- if (type == jalview.util.ImageMaker.PNG)\r
- {\r
- im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG,\r
- "Make PNG image from view", width, height, null, null);\r
- }\r
- else\r
- {\r
- im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS,\r
- "Make EPS file from view", width, height, null,\r
- this.getTitle());\r
- }\r
-\r
- if (im.getGraphics() != null)\r
- {\r
- Rectangle rect = new Rectangle(width, height);\r
- jmb.viewer.renderScreenImage(im.getGraphics(), rect.getSize(), rect);\r
- im.writeImage();\r
- }\r
- }\r
-\r
- public void jmolColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- if (jmolColour.isSelected())\r
- {\r
- // disable automatic sequence colouring.\r
- jmb.setColourBySequence(false);\r
- }\r
- }\r
-\r
- public void seqColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- jmb.setColourBySequence(seqColour.isSelected());\r
- if (_colourwith == null)\r
- {\r
- _colourwith = new Vector<AlignmentPanel>();\r
- }\r
- if (jmb.isColourBySequence())\r
- {\r
- if (!jmb.isLoadingFromArchive())\r
- {\r
- if (_colourwith.size() == 0 && ap != null)\r
- {\r
- // Make the currently displayed alignment panel the associated view\r
- _colourwith.add(ap.alignFrame.alignPanel);\r
- }\r
- }\r
- // Set the colour using the current view for the associated alignframe\r
- for (AlignmentPanel ap : _colourwith)\r
- {\r
- jmb.colourBySequence(ap.av.showSequenceFeatures, ap);\r
- }\r
- }\r
- }\r
-\r
- public void chainColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- chainColour.setSelected(true);\r
- jmb.colourByChain();\r
- }\r
-\r
- public void chargeColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- chargeColour.setSelected(true);\r
- jmb.colourByCharge();\r
- }\r
-\r
- public void zappoColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- zappoColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new ZappoColourScheme());\r
- }\r
-\r
- public void taylorColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- taylorColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new TaylorColourScheme());\r
- }\r
-\r
- public void hydroColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- hydroColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new HydrophobicColourScheme());\r
- }\r
-\r
- public void helixColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- helixColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new HelixColourScheme());\r
- }\r
-\r
- public void strandColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- strandColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new StrandColourScheme());\r
- }\r
-\r
- public void turnColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- turnColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new TurnColourScheme());\r
- }\r
-\r
- public void buriedColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- buriedColour.setSelected(true);\r
- jmb.setJalviewColourScheme(new BuriedColourScheme());\r
- }\r
-\r
- public void purinePyrimidineColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- setJalviewColourScheme(new PurinePyrimidineColourScheme());\r
- }\r
-\r
- public void userColour_actionPerformed(ActionEvent actionEvent)\r
- {\r
- userColour.setSelected(true);\r
- new UserDefinedColours(this, null);\r
- }\r
-\r
- public void backGround_actionPerformed(ActionEvent actionEvent)\r
- {\r
- java.awt.Color col = JColorChooser.showDialog(this,\r
- "Select Background Colour", null);\r
- if (col != null)\r
- {\r
- jmb.setBackgroundColour(col);\r
- }\r
- }\r
-\r
- public void jmolHelp_actionPerformed(ActionEvent actionEvent)\r
- {\r
- try\r
- {\r
- jalview.util.BrowserLauncher\r
- .openURL("http://jmol.sourceforge.net/docs/JmolUserGuide/");\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- public void showConsole(boolean showConsole)\r
- {\r
-\r
- if (showConsole)\r
- {\r
- if (splitPane == null)\r
- {\r
- splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);\r
- splitPane.setTopComponent(renderPanel);\r
- splitPane.setBottomComponent(scriptWindow);\r
- this.getContentPane().add(splitPane, BorderLayout.CENTER);\r
- splitPane.setDividerLocation(getHeight() - 200);\r
- scriptWindow.setVisible(true);\r
- scriptWindow.validate();\r
- splitPane.validate();\r
- }\r
-\r
- }\r
- else\r
- {\r
- if (splitPane != null)\r
- {\r
- splitPane.setVisible(false);\r
- }\r
-\r
- splitPane = null;\r
-\r
- this.getContentPane().add(renderPanel, BorderLayout.CENTER);\r
- }\r
-\r
- validate();\r
- }\r
-\r
- class RenderPanel extends JPanel\r
- {\r
- final Dimension currentSize = new Dimension();\r
-\r
- final Rectangle rectClip = new Rectangle();\r
-\r
- public void paintComponent(Graphics g)\r
- {\r
- getSize(currentSize);\r
- g.getClipBounds(rectClip);\r
-\r
- if (jmb.fileLoadingError != null)\r
- {\r
- g.setColor(Color.black);\r
- g.fillRect(0, 0, currentSize.width, currentSize.height);\r
- g.setColor(Color.white);\r
- g.setFont(new Font("Verdana", Font.BOLD, 14));\r
- g.drawString(MessageManager.getString("label.error_loading_file") + "...", 20, currentSize.height / 2);\r
- StringBuffer sb = new StringBuffer();\r
- int lines = 0;\r
- for (int e = 0; e < jmb.pdbentry.length; e++)\r
- {\r
- sb.append(jmb.pdbentry[e].getId());\r
- if (e < jmb.pdbentry.length - 1)\r
- {\r
- sb.append(",");\r
- }\r
-\r
- if (e == jmb.pdbentry.length - 1 || sb.length() > 20)\r
- {\r
- lines++;\r
- g.drawString(sb.toString(), 20, currentSize.height / 2 - lines\r
- * g.getFontMetrics().getHeight());\r
- }\r
- }\r
- }\r
- else if (jmb == null || jmb.viewer == null || !jmb.isFinishedInit())\r
- {\r
- g.setColor(Color.black);\r
- g.fillRect(0, 0, currentSize.width, currentSize.height);\r
- g.setColor(Color.white);\r
- g.setFont(new Font("Verdana", Font.BOLD, 14));\r
- g.drawString(MessageManager.getString("label.retrieving_pdb_data"), 20, currentSize.height / 2);\r
- }\r
- else\r
- {\r
- jmb.viewer.renderScreenImage(g, currentSize, rectClip);\r
- }\r
- }\r
- }\r
-\r
- String viewId = null;\r
-\r
- public String getViewId()\r
- {\r
- if (viewId == null)\r
- {\r
- viewId = System.currentTimeMillis() + "." + this.hashCode();\r
- }\r
- return viewId;\r
- }\r
-\r
- public void updateTitleAndMenus()\r
- {\r
- if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0)\r
- {\r
- repaint();\r
- return;\r
- }\r
- setChainMenuItems(jmb.chainNames);\r
-\r
- this.setTitle(jmb.getViewerTitle());\r
- if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1)\r
- {\r
- jmolActionMenu.setVisible(true);\r
- }\r
- if (!jmb.isLoadingFromArchive())\r
- {\r
- seqColour_actionPerformed(null);\r
- }\r
- }\r
-\r
- protected void buildJmolActionMenu()\r
- {\r
- if (_alignwith == null)\r
- {\r
- _alignwith = new Vector<AlignmentPanel>();\r
- }\r
- if (_alignwith.size() == 0 && ap != null)\r
- {\r
- _alignwith.add(ap);\r
- }\r
- ;\r
- for (Component c : jmolActionMenu.getMenuComponents())\r
- {\r
- if (c != alignStructs)\r
- {\r
- jmolActionMenu.remove((JMenuItem) c);\r
- }\r
- }\r
- final ItemListener handler;\r
- }\r
-\r
- /*\r
- * (non-Javadoc)\r
- * \r
- * @see\r
- * jalview.jbgui.GStructureViewer#alignStructs_actionPerformed(java.awt.event\r
- * .ActionEvent)\r
- */\r
- @Override\r
- protected void alignStructs_actionPerformed(ActionEvent actionEvent)\r
- {\r
- alignStructs_withAllAlignPanels();\r
- }\r
-\r
- private void alignStructs_withAllAlignPanels()\r
- {\r
- if (ap == null)\r
- {\r
- return;\r
- }\r
- ;\r
- if (_alignwith.size() == 0)\r
- {\r
- _alignwith.add(ap);\r
- }\r
- ;\r
- try\r
- {\r
- AlignmentI[] als = new Alignment[_alignwith.size()];\r
- ColumnSelection[] alc = new ColumnSelection[_alignwith.size()];\r
- int[] alm = new int[_alignwith.size()];\r
- int a = 0;\r
-\r
- for (AlignmentPanel ap : _alignwith)\r
- {\r
- als[a] = ap.av.getAlignment();\r
- alm[a] = -1;\r
- alc[a++] = ap.av.getColumnSelection();\r
- }\r
- jmb.superposeStructures(als, alm, alc);\r
- } catch (Exception e)\r
- {\r
- StringBuffer sp = new StringBuffer();\r
- for (AlignmentPanel ap : _alignwith)\r
- {\r
- sp.append("'" + ap.alignFrame.getTitle() + "' ");\r
- }\r
- Cache.log.info("Couldn't align structures with the " + sp.toString()\r
- + "associated alignment panels.", e);\r
-\r
- }\r
-\r
- }\r
-\r
- public void setJalviewColourScheme(ColourSchemeI ucs)\r
- {\r
- jmb.setJalviewColourScheme(ucs);\r
-\r
- }\r
-\r
- /**\r
- * \r
- * @param alignment\r
- * @return first alignment panel displaying given alignment, or the default\r
- * alignment panel\r
- */\r
- public AlignmentPanel getAlignmentPanelFor(AlignmentI alignment)\r
- {\r
- for (AlignmentPanel ap : getAllAlignmentPanels())\r
- {\r
- if (ap.av.getAlignment() == alignment)\r
- {\r
- return ap;\r
- }\r
- }\r
- return ap;\r
- }\r
-\r
- /**\r
- * \r
- * @param ap2\r
- * @return true if this Jmol instance is linked with the given alignPanel\r
- */\r
- public boolean isLinkedWith(AlignmentPanel ap2)\r
- {\r
- return _aps.contains(ap2.av.getSequenceSetId());\r
- }\r
-\r
- public boolean isUsedforaligment(AlignmentPanel ap2)\r
- {\r
-\r
- return (_alignwith != null) && _alignwith.contains(ap2);\r
- }\r
-\r
- public boolean isUsedforcolourby(AlignmentPanel ap2)\r
- {\r
- return (_colourwith != null) && _colourwith.contains(ap2);\r
- }\r
-\r
- /**\r
- * \r
- * @return TRUE if the view is NOT being coloured by sequence associations.\r
- */\r
- public boolean isColouredByJmol()\r
- {\r
- return !jmb.isColourBySequence();\r
- }\r
-\r
-}\r
+ 550, 600);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void eps_actionPerformed(ActionEvent e)
+ {
+ makePDBImage(jalview.util.ImageMaker.EPS);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void png_actionPerformed(ActionEvent e)
+ {
+ makePDBImage(jalview.util.ImageMaker.PNG);
+ }
+
+ void makePDBImage(int type)
+ {
+ int width = getWidth();
+ int height = getHeight();
+
+ jalview.util.ImageMaker im;
+
+ if (type == jalview.util.ImageMaker.PNG)
+ {
+ im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.PNG,
+ "Make PNG image from view", width, height, null, null);
+ }
+ else
+ {
+ im = new jalview.util.ImageMaker(this, jalview.util.ImageMaker.EPS,
+ "Make EPS file from view", width, height, null,
+ this.getTitle());
+ }
+
+ if (im.getGraphics() != null)
+ {
+ Rectangle rect = new Rectangle(width, height);
+ jmb.viewer.renderScreenImage(im.getGraphics(), rect.getSize(), rect);
+ im.writeImage();
+ }
+ }
+
+ public void jmolColour_actionPerformed(ActionEvent actionEvent)
+ {
+ if (jmolColour.isSelected())
+ {
+ // disable automatic sequence colouring.
+ jmb.setColourBySequence(false);
+ }
+ }
+
+ public void seqColour_actionPerformed(ActionEvent actionEvent)
+ {
+ jmb.setColourBySequence(seqColour.isSelected());
+ if (_colourwith == null)
+ {
+ _colourwith = new Vector<AlignmentPanel>();
+ }
+ if (jmb.isColourBySequence())
+ {
+ if (!jmb.isLoadingFromArchive())
+ {
+ if (_colourwith.size() == 0 && ap != null)
+ {
+ // Make the currently displayed alignment panel the associated view
+ _colourwith.add(ap.alignFrame.alignPanel);
+ }
+ }
+ // Set the colour using the current view for the associated alignframe
+ for (AlignmentPanel ap : _colourwith)
+ {
+ jmb.colourBySequence(ap.av.showSequenceFeatures, ap);
+ }
+ }
+ }
+
+ public void chainColour_actionPerformed(ActionEvent actionEvent)
+ {
+ chainColour.setSelected(true);
+ jmb.colourByChain();
+ }
+
+ public void chargeColour_actionPerformed(ActionEvent actionEvent)
+ {
+ chargeColour.setSelected(true);
+ jmb.colourByCharge();
+ }
+
+ public void zappoColour_actionPerformed(ActionEvent actionEvent)
+ {
+ zappoColour.setSelected(true);
+ jmb.setJalviewColourScheme(new ZappoColourScheme());
+ }
+
+ public void taylorColour_actionPerformed(ActionEvent actionEvent)
+ {
+ taylorColour.setSelected(true);
+ jmb.setJalviewColourScheme(new TaylorColourScheme());
+ }
+
+ public void hydroColour_actionPerformed(ActionEvent actionEvent)
+ {
+ hydroColour.setSelected(true);
+ jmb.setJalviewColourScheme(new HydrophobicColourScheme());
+ }
+
+ public void helixColour_actionPerformed(ActionEvent actionEvent)
+ {
+ helixColour.setSelected(true);
+ jmb.setJalviewColourScheme(new HelixColourScheme());
+ }
+
+ public void strandColour_actionPerformed(ActionEvent actionEvent)
+ {
+ strandColour.setSelected(true);
+ jmb.setJalviewColourScheme(new StrandColourScheme());
+ }
+
+ public void turnColour_actionPerformed(ActionEvent actionEvent)
+ {
+ turnColour.setSelected(true);
+ jmb.setJalviewColourScheme(new TurnColourScheme());
+ }
+
+ public void buriedColour_actionPerformed(ActionEvent actionEvent)
+ {
+ buriedColour.setSelected(true);
+ jmb.setJalviewColourScheme(new BuriedColourScheme());
+ }
+
+ public void purinePyrimidineColour_actionPerformed(ActionEvent actionEvent)
+ {
+ setJalviewColourScheme(new PurinePyrimidineColourScheme());
+ }
+
+ public void userColour_actionPerformed(ActionEvent actionEvent)
+ {
+ userColour.setSelected(true);
+ new UserDefinedColours(this, null);
+ }
+
+ public void backGround_actionPerformed(ActionEvent actionEvent)
+ {
+ java.awt.Color col = JColorChooser.showDialog(this,
+ "Select Background Colour", null);
+ if (col != null)
+ {
+ jmb.setBackgroundColour(col);
+ }
+ }
+
+ public void jmolHelp_actionPerformed(ActionEvent actionEvent)
+ {
+ try
+ {
+ jalview.util.BrowserLauncher
+ .openURL("http://jmol.sourceforge.net/docs/JmolUserGuide/");
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ public void showConsole(boolean showConsole)
+ {
+
+ if (showConsole)
+ {
+ if (splitPane == null)
+ {
+ splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+ splitPane.setTopComponent(renderPanel);
+ splitPane.setBottomComponent(scriptWindow);
+ this.getContentPane().add(splitPane, BorderLayout.CENTER);
+ splitPane.setDividerLocation(getHeight() - 200);
+ scriptWindow.setVisible(true);
+ scriptWindow.validate();
+ splitPane.validate();
+ }
+
+ }
+ else
+ {
+ if (splitPane != null)
+ {
+ splitPane.setVisible(false);
+ }
+
+ splitPane = null;
+
+ this.getContentPane().add(renderPanel, BorderLayout.CENTER);
+ }
+
+ validate();
+ }
+
+ class RenderPanel extends JPanel
+ {
+ final Dimension currentSize = new Dimension();
+
+ final Rectangle rectClip = new Rectangle();
+
+ public void paintComponent(Graphics g)
+ {
+ getSize(currentSize);
+ g.getClipBounds(rectClip);
+
+ if (jmb.fileLoadingError != null)
+ {
+ g.setColor(Color.black);
+ g.fillRect(0, 0, currentSize.width, currentSize.height);
+ g.setColor(Color.white);
+ g.setFont(new Font("Verdana", Font.BOLD, 14));
+ g.drawString(MessageManager.getString("label.error_loading_file") + "...", 20, currentSize.height / 2);
+ StringBuffer sb = new StringBuffer();
+ int lines = 0;
+ for (int e = 0; e < jmb.pdbentry.length; e++)
+ {
+ sb.append(jmb.pdbentry[e].getId());
+ if (e < jmb.pdbentry.length - 1)
+ {
+ sb.append(",");
+ }
+
+ if (e == jmb.pdbentry.length - 1 || sb.length() > 20)
+ {
+ lines++;
+ g.drawString(sb.toString(), 20, currentSize.height / 2 - lines
+ * g.getFontMetrics().getHeight());
+ }
+ }
+ }
+ else if (jmb == null || jmb.viewer == null || !jmb.isFinishedInit())
+ {
+ g.setColor(Color.black);
+ g.fillRect(0, 0, currentSize.width, currentSize.height);
+ g.setColor(Color.white);
+ g.setFont(new Font("Verdana", Font.BOLD, 14));
+ g.drawString(MessageManager.getString("label.retrieving_pdb_data"), 20, currentSize.height / 2);
+ }
+ else
+ {
+ jmb.viewer.renderScreenImage(g, currentSize, rectClip);
+ }
+ }
+ }
+
+ String viewId = null;
+
+ public String getViewId()
+ {
+ if (viewId == null)
+ {
+ viewId = System.currentTimeMillis() + "." + this.hashCode();
+ }
+ return viewId;
+ }
+
+ public void updateTitleAndMenus()
+ {
+ if (jmb.fileLoadingError != null && jmb.fileLoadingError.length() > 0)
+ {
+ repaint();
+ return;
+ }
+ setChainMenuItems(jmb.chainNames);
+
+ this.setTitle(jmb.getViewerTitle());
+ if (jmb.getPdbFile().length > 1 && jmb.sequence.length > 1)
+ {
+ jmolActionMenu.setVisible(true);
+ }
+ if (!jmb.isLoadingFromArchive())
+ {
+ seqColour_actionPerformed(null);
+ }
+ }
+
+ protected void buildJmolActionMenu()
+ {
+ if (_alignwith == null)
+ {
+ _alignwith = new Vector<AlignmentPanel>();
+ }
+ if (_alignwith.size() == 0 && ap != null)
+ {
+ _alignwith.add(ap);
+ }
+ ;
+ for (Component c : jmolActionMenu.getMenuComponents())
+ {
+ if (c != alignStructs)
+ {
+ jmolActionMenu.remove((JMenuItem) c);
+ }
+ }
+ final ItemListener handler;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * jalview.jbgui.GStructureViewer#alignStructs_actionPerformed(java.awt.event
+ * .ActionEvent)
+ */
+ @Override
+ protected void alignStructs_actionPerformed(ActionEvent actionEvent)
+ {
+ alignStructs_withAllAlignPanels();
+ }
+
+ private void alignStructs_withAllAlignPanels()
+ {
+ if (ap == null)
+ {
+ return;
+ }
+ ;
+ if (_alignwith.size() == 0)
+ {
+ _alignwith.add(ap);
+ }
+ ;
+ try
+ {
+ AlignmentI[] als = new Alignment[_alignwith.size()];
+ ColumnSelection[] alc = new ColumnSelection[_alignwith.size()];
+ int[] alm = new int[_alignwith.size()];
+ int a = 0;
+
+ for (AlignmentPanel ap : _alignwith)
+ {
+ als[a] = ap.av.getAlignment();
+ alm[a] = -1;
+ alc[a++] = ap.av.getColumnSelection();
+ }
+ jmb.superposeStructures(als, alm, alc);
+ } catch (Exception e)
+ {
+ StringBuffer sp = new StringBuffer();
+ for (AlignmentPanel ap : _alignwith)
+ {
+ sp.append("'" + ap.alignFrame.getTitle() + "' ");
+ }
+ Cache.log.info("Couldn't align structures with the " + sp.toString()
+ + "associated alignment panels.", e);
+
+ }
+
+ }
+
+ public void setJalviewColourScheme(ColourSchemeI ucs)
+ {
+ jmb.setJalviewColourScheme(ucs);
+
+ }
+
+ /**
+ *
+ * @param alignment
+ * @return first alignment panel displaying given alignment, or the default
+ * alignment panel
+ */
+ public AlignmentPanel getAlignmentPanelFor(AlignmentI alignment)
+ {
+ for (AlignmentPanel ap : getAllAlignmentPanels())
+ {
+ if (ap.av.getAlignment() == alignment)
+ {
+ return ap;
+ }
+ }
+ return ap;
+ }
+
+ /**
+ *
+ * @param ap2
+ * @return true if this Jmol instance is linked with the given alignPanel
+ */
+ public boolean isLinkedWith(AlignmentPanel ap2)
+ {
+ return _aps.contains(ap2.av.getSequenceSetId());
+ }
+
+ public boolean isUsedforaligment(AlignmentPanel ap2)
+ {
+
+ return (_alignwith != null) && _alignwith.contains(ap2);
+ }
+
+ public boolean isUsedforcolourby(AlignmentPanel ap2)
+ {
+ return (_colourwith != null) && _colourwith.contains(ap2);
+ }
+
+ /**
+ *
+ * @return TRUE if the view is NOT being coloured by sequence associations.
+ */
+ public boolean isColouredByJmol()
+ {
+ return !jmb.isColourBySequence();
+ }
+
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
import java.util.*;
-
import java.awt.event.*;
import jalview.analysis.*;
import jalview.datamodel.*;
import jalview.jbgui.*;
+import jalview.util.MessageManager;
/**
* DOCUMENT ME!
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import java.util.*;\r
-\r
-import java.awt.*;\r
-import java.awt.event.*;\r
-\r
-import javax.swing.*;\r
-\r
-import jalview.analysis.*;\r
-import jalview.commands.*;\r
-import jalview.datamodel.*;\r
-import jalview.io.*;\r
-import jalview.schemes.*;\r
-import jalview.util.GroupUrlLink;\r
-import jalview.util.GroupUrlLink.UrlStringTooLongException;\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import java.util.*;
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.*;
+
+import jalview.analysis.*;
+import jalview.commands.*;
+import jalview.datamodel.*;
+import jalview.io.*;
+import jalview.schemes.*;
+import jalview.util.GroupUrlLink;
+import jalview.util.GroupUrlLink.UrlStringTooLongException;
import jalview.util.MessageManager;\r
-import jalview.util.UrlLink;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision: 1.118 $\r
- */\r
-public class PopupMenu extends JPopupMenu\r
-{\r
- JMenu groupMenu = new JMenu();\r
-\r
- JMenuItem groupName = new JMenuItem();\r
-\r
- protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();\r
-\r
- protected JCheckBoxMenuItem abovePIDColour = new JCheckBoxMenuItem();\r
-\r
- protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();\r
-\r
- protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();\r
-\r
- // protected JRadioButtonMenuItem covariationColour = new\r
- // JRadioButtonMenuItem();\r
-\r
- JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();\r
-\r
- protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();\r
-\r
- AlignmentPanel ap;\r
-\r
- JMenu sequenceMenu = new JMenu();\r
-\r
- JMenuItem sequenceName = new JMenuItem();\r
-\r
- JMenuItem sequenceDetails = new JMenuItem();\r
-\r
- JMenuItem sequenceSelDetails = new JMenuItem();\r
-\r
- SequenceI sequence;\r
- JMenuItem createGroupMenuItem = new JMenuItem();\r
- JMenuItem unGroupMenuItem = new JMenuItem();\r
-\r
- JMenuItem outline = new JMenuItem();\r
-\r
- JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem();\r
-\r
- JMenu colourMenu = new JMenu();\r
-\r
- JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem();\r
-\r
- JCheckBoxMenuItem showText = new JCheckBoxMenuItem();\r
-\r
- JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem();\r
-\r
- JCheckBoxMenuItem displayNonconserved = new JCheckBoxMenuItem();\r
-\r
- JMenu editMenu = new JMenu();\r
-\r
- JMenuItem cut = new JMenuItem();\r
-\r
- JMenuItem copy = new JMenuItem();\r
-\r
- JMenuItem upperCase = new JMenuItem();\r
-\r
- JMenuItem lowerCase = new JMenuItem();\r
-\r
- JMenuItem toggle = new JMenuItem();\r
-\r
- JMenu pdbMenu = new JMenu();\r
-\r
- JMenuItem pdbFromFile = new JMenuItem();\r
-\r
- JMenuItem enterPDB = new JMenuItem();\r
-\r
- JMenuItem discoverPDB = new JMenuItem();\r
-\r
- JMenu outputMenu = new JMenu();\r
-\r
- JMenuItem sequenceFeature = new JMenuItem();\r
-\r
- JMenuItem textColour = new JMenuItem();\r
-\r
- JMenu jMenu1 = new JMenu();\r
-\r
- JMenu structureMenu = new JMenu();\r
-\r
- JMenu viewStructureMenu = new JMenu();\r
-\r
- // JMenu colStructureMenu = new JMenu();\r
- JMenuItem editSequence = new JMenuItem();\r
-\r
- // JMenuItem annotationMenuItem = new JMenuItem();\r
-\r
- JMenu groupLinksMenu;\r
-\r
- /**\r
- * Creates a new PopupMenu object.\r
- * \r
- * @param ap\r
- * DOCUMENT ME!\r
- * @param seq\r
- * DOCUMENT ME!\r
- */\r
- public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)\r
- {\r
- this(ap, seq, links, null);\r
- }\r
-\r
- /**\r
- * \r
- * @param ap\r
- * @param seq\r
- * @param links\r
- * @param groupLinks\r
- */\r
- public PopupMenu(final AlignmentPanel ap, final SequenceI seq,\r
- Vector links, Vector groupLinks)\r
- {\r
- // /////////////////////////////////////////////////////////\r
- // If this is activated from the sequence panel, the user may want to\r
- // edit or annotate a particular residue. Therefore display the residue menu\r
- //\r
- // If from the IDPanel, we must display the sequence menu\r
- // ////////////////////////////////////////////////////////\r
- this.ap = ap;\r
- sequence = seq;\r
-\r
- ButtonGroup colours = new ButtonGroup();\r
- colours.add(noColourmenuItem);\r
- colours.add(clustalColour);\r
- colours.add(zappoColour);\r
- colours.add(taylorColour);\r
- colours.add(hydrophobicityColour);\r
- colours.add(helixColour);\r
- colours.add(strandColour);\r
- colours.add(turnColour);\r
- colours.add(buriedColour);\r
- colours.add(abovePIDColour);\r
- colours.add(userDefinedColour);\r
- colours.add(PIDColour);\r
- colours.add(BLOSUM62Colour);\r
- colours.add(purinePyrimidineColour);\r
- // colours.add(covariationColour);\r
-\r
- for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)\r
- {\r
- JMenuItem item = new JMenuItem(\r
- jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);\r
-\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- outputText_actionPerformed(e);\r
- }\r
- });\r
-\r
- outputMenu.add(item);\r
- }\r
-\r
- try\r
- {\r
- jbInit();\r
- } catch (Exception e)\r
- {\r
- e.printStackTrace();\r
- }\r
-\r
- JMenuItem menuItem;\r
- if (seq != null)\r
- {\r
- sequenceMenu.setText(sequence.getName());\r
-\r
- if (seq.getDatasetSequence().getPDBId() != null\r
- && seq.getDatasetSequence().getPDBId().size() > 0)\r
- {\r
- java.util.Enumeration e = seq.getDatasetSequence().getPDBId()\r
- .elements();\r
-\r
- while (e.hasMoreElements())\r
- {\r
- final PDBEntry pdb = (PDBEntry) e.nextElement();\r
-\r
- menuItem = new JMenuItem();\r
- menuItem.setText(pdb.getId());\r
- menuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- // TODO re JAL-860: optionally open dialog or provide a menu entry\r
- // allowing user to open just one structure per sequence\r
- new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]\r
- { pdb })[0], null, ap);\r
- // new PDBViewer(pdb, seqs2, null, ap, AppletFormatAdapter.FILE);\r
- }\r
-\r
- });\r
- viewStructureMenu.add(menuItem);\r
-\r
- /*\r
- * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());\r
- * menuItem.addActionListener(new java.awt.event.ActionListener() {\r
- * public void actionPerformed(ActionEvent e) {\r
- * colourByStructure(pdb.getId()); } });\r
- * colStructureMenu.add(menuItem);\r
- */\r
- }\r
- }\r
- else\r
- {\r
- if (ap.av.getAlignment().isNucleotide() == false)\r
- {\r
- structureMenu.remove(viewStructureMenu);\r
- }\r
- // structureMenu.remove(colStructureMenu);\r
- }\r
-\r
- if (ap.av.getAlignment().isNucleotide() == true)\r
- {\r
- AlignmentAnnotation[] aa = ap.av.getAlignment()\r
- .getAlignmentAnnotation();\r
- for (int i = 0; i < aa.length; i++)\r
- {\r
- if (aa[i].getRNAStruc() != null)\r
- {\r
- final String rnastruc = aa[i].getRNAStruc();\r
- final String structureLine = aa[i].label;\r
- menuItem = new JMenuItem();\r
+import jalview.util.UrlLink;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision: 1.118 $
+ */
+public class PopupMenu extends JPopupMenu
+{
+ JMenu groupMenu = new JMenu();
+
+ JMenuItem groupName = new JMenuItem();
+
+ protected JRadioButtonMenuItem clustalColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem zappoColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem taylorColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem hydrophobicityColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem helixColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem strandColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem turnColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem buriedColour = new JRadioButtonMenuItem();
+
+ protected JCheckBoxMenuItem abovePIDColour = new JCheckBoxMenuItem();
+
+ protected JRadioButtonMenuItem userDefinedColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem PIDColour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem();
+
+ protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem();
+
+ // protected JRadioButtonMenuItem covariationColour = new
+ // JRadioButtonMenuItem();
+
+ JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
+
+ protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
+
+ AlignmentPanel ap;
+
+ JMenu sequenceMenu = new JMenu();
+
+ JMenuItem sequenceName = new JMenuItem();
+
+ JMenuItem sequenceDetails = new JMenuItem();
+
+ JMenuItem sequenceSelDetails = new JMenuItem();
+
+ SequenceI sequence;
+ JMenuItem createGroupMenuItem = new JMenuItem();
+ JMenuItem unGroupMenuItem = new JMenuItem();
+
+ JMenuItem outline = new JMenuItem();
+
+ JRadioButtonMenuItem nucleotideMenuItem = new JRadioButtonMenuItem();
+
+ JMenu colourMenu = new JMenu();
+
+ JCheckBoxMenuItem showBoxes = new JCheckBoxMenuItem();
+
+ JCheckBoxMenuItem showText = new JCheckBoxMenuItem();
+
+ JCheckBoxMenuItem showColourText = new JCheckBoxMenuItem();
+
+ JCheckBoxMenuItem displayNonconserved = new JCheckBoxMenuItem();
+
+ JMenu editMenu = new JMenu();
+
+ JMenuItem cut = new JMenuItem();
+
+ JMenuItem copy = new JMenuItem();
+
+ JMenuItem upperCase = new JMenuItem();
+
+ JMenuItem lowerCase = new JMenuItem();
+
+ JMenuItem toggle = new JMenuItem();
+
+ JMenu pdbMenu = new JMenu();
+
+ JMenuItem pdbFromFile = new JMenuItem();
+
+ JMenuItem enterPDB = new JMenuItem();
+
+ JMenuItem discoverPDB = new JMenuItem();
+
+ JMenu outputMenu = new JMenu();
+
+ JMenuItem sequenceFeature = new JMenuItem();
+
+ JMenuItem textColour = new JMenuItem();
+
+ JMenu jMenu1 = new JMenu();
+
+ JMenu structureMenu = new JMenu();
+
+ JMenu viewStructureMenu = new JMenu();
+
+ // JMenu colStructureMenu = new JMenu();
+ JMenuItem editSequence = new JMenuItem();
+
+ // JMenuItem annotationMenuItem = new JMenuItem();
+
+ JMenu groupLinksMenu;
+
+ /**
+ * Creates a new PopupMenu object.
+ *
+ * @param ap
+ * DOCUMENT ME!
+ * @param seq
+ * DOCUMENT ME!
+ */
+ public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)
+ {
+ this(ap, seq, links, null);
+ }
+
+ /**
+ *
+ * @param ap
+ * @param seq
+ * @param links
+ * @param groupLinks
+ */
+ public PopupMenu(final AlignmentPanel ap, final SequenceI seq,
+ Vector links, Vector groupLinks)
+ {
+ // /////////////////////////////////////////////////////////
+ // If this is activated from the sequence panel, the user may want to
+ // edit or annotate a particular residue. Therefore display the residue menu
+ //
+ // If from the IDPanel, we must display the sequence menu
+ // ////////////////////////////////////////////////////////
+ this.ap = ap;
+ sequence = seq;
+
+ ButtonGroup colours = new ButtonGroup();
+ colours.add(noColourmenuItem);
+ colours.add(clustalColour);
+ colours.add(zappoColour);
+ colours.add(taylorColour);
+ colours.add(hydrophobicityColour);
+ colours.add(helixColour);
+ colours.add(strandColour);
+ colours.add(turnColour);
+ colours.add(buriedColour);
+ colours.add(abovePIDColour);
+ colours.add(userDefinedColour);
+ colours.add(PIDColour);
+ colours.add(BLOSUM62Colour);
+ colours.add(purinePyrimidineColour);
+ // colours.add(covariationColour);
+
+ for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
+ {
+ JMenuItem item = new JMenuItem(
+ jalview.io.FormatAdapter.WRITEABLE_FORMATS[i]);
+
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ outputText_actionPerformed(e);
+ }
+ });
+
+ outputMenu.add(item);
+ }
+
+ try
+ {
+ jbInit();
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ JMenuItem menuItem;
+ if (seq != null)
+ {
+ sequenceMenu.setText(sequence.getName());
+
+ if (seq.getDatasetSequence().getPDBId() != null
+ && seq.getDatasetSequence().getPDBId().size() > 0)
+ {
+ java.util.Enumeration e = seq.getDatasetSequence().getPDBId()
+ .elements();
+
+ while (e.hasMoreElements())
+ {
+ final PDBEntry pdb = (PDBEntry) e.nextElement();
+
+ menuItem = new JMenuItem();
+ menuItem.setText(pdb.getId());
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO re JAL-860: optionally open dialog or provide a menu entry
+ // allowing user to open just one structure per sequence
+ new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]
+ { pdb })[0], null, ap);
+ // new PDBViewer(pdb, seqs2, null, ap, AppletFormatAdapter.FILE);
+ }
+
+ });
+ viewStructureMenu.add(menuItem);
+
+ /*
+ * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());
+ * menuItem.addActionListener(new java.awt.event.ActionListener() {
+ * public void actionPerformed(ActionEvent e) {
+ * colourByStructure(pdb.getId()); } });
+ * colStructureMenu.add(menuItem);
+ */
+ }
+ }
+ else
+ {
+ if (ap.av.getAlignment().isNucleotide() == false)
+ {
+ structureMenu.remove(viewStructureMenu);
+ }
+ // structureMenu.remove(colStructureMenu);
+ }
+
+ if (ap.av.getAlignment().isNucleotide() == true)
+ {
+ AlignmentAnnotation[] aa = ap.av.getAlignment()
+ .getAlignmentAnnotation();
+ for (int i = 0; i < aa.length; i++)
+ {
+ if (aa[i].getRNAStruc() != null)
+ {
+ final String rnastruc = aa[i].getRNAStruc();
+ final String structureLine = aa[i].label;
+ menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage("label.2d_rna_structure_line", new String[]{structureLine}));\r
- menuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new AppVarna(structureLine, seq, seq.getSequenceAsString(),\r
- rnastruc, seq.getName(), ap);\r
- }\r
- });\r
- viewStructureMenu.add(menuItem);\r
- }\r
- }\r
-\r
- // SequenceFeatures[] test = seq.getSequenceFeatures();\r
-\r
- if (seq.getAnnotation() != null)\r
- {\r
- AlignmentAnnotation seqAnno[] = seq.getAnnotation();\r
- for (int i = 0; i < seqAnno.length; i++)\r
- {\r
- if (seqAnno[i].getRNAStruc() != null)\r
- {\r
- final String rnastruc = seqAnno[i].getRNAStruc();\r
-\r
- // TODO: make rnastrucF a bit more nice\r
- menuItem = new JMenuItem();\r
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ new AppVarna(structureLine, seq, seq.getSequenceAsString(),
+ rnastruc, seq.getName(), ap);
+ }
+ });
+ viewStructureMenu.add(menuItem);
+ }
+ }
+
+ // SequenceFeatures[] test = seq.getSequenceFeatures();
+
+ if (seq.getAnnotation() != null)
+ {
+ AlignmentAnnotation seqAnno[] = seq.getAnnotation();
+ for (int i = 0; i < seqAnno.length; i++)
+ {
+ if (seqAnno[i].getRNAStruc() != null)
+ {
+ final String rnastruc = seqAnno[i].getRNAStruc();
+
+ // TODO: make rnastrucF a bit more nice
+ menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage("label.2d_rna_sequence_name", new String[]{seq.getName()}));\r
- menuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- // TODO: VARNA does'nt print gaps in the sequence\r
- new AppVarna(seq.getName() + " structure", seq, seq\r
- .getSequenceAsString(), rnastruc, seq.getName(),\r
- ap);\r
- }\r
- });\r
- viewStructureMenu.add(menuItem);\r
- }\r
- }\r
- }\r
-\r
- }\r
-\r
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO: VARNA does'nt print gaps in the sequence
+ new AppVarna(seq.getName() + " structure", seq, seq
+ .getSequenceAsString(), rnastruc, seq.getName(),
+ ap);
+ }
+ });
+ viewStructureMenu.add(menuItem);
+ }
+ }
+ }
+
+ }
+
menuItem = new JMenuItem(MessageManager.getString("action.hide_sequences"));\r
- menuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- hideSequences(false);\r
- }\r
- });\r
- add(menuItem);\r
-\r
- if (ap.av.getSelectionGroup() != null\r
- && ap.av.getSelectionGroup().getSize() > 1)\r
- {\r
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ hideSequences(false);
+ }
+ });
+ add(menuItem);
+
+ if (ap.av.getSelectionGroup() != null
+ && ap.av.getSelectionGroup().getSize() > 1)
+ {
menuItem = new JMenuItem(MessageManager.formatMessage("label.represent_group_with", new String[]{seq.getName()}));\r
- menuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- hideSequences(true);\r
- }\r
- });\r
- sequenceMenu.add(menuItem);\r
- }\r
-\r
- if (ap.av.hasHiddenRows())\r
- {\r
- final int index = ap.av.getAlignment().findIndex(seq);\r
-\r
- if (ap.av.adjustForHiddenSeqs(index)\r
- - ap.av.adjustForHiddenSeqs(index - 1) > 1)\r
- {\r
+ menuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ hideSequences(true);
+ }
+ });
+ sequenceMenu.add(menuItem);
+ }
+
+ if (ap.av.hasHiddenRows())
+ {
+ final int index = ap.av.getAlignment().findIndex(seq);
+
+ if (ap.av.adjustForHiddenSeqs(index)
+ - ap.av.adjustForHiddenSeqs(index - 1) > 1)
+ {
menuItem = new JMenuItem(MessageManager.getString("action.reveal_sequences"));\r
- menuItem.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- ap.av.showSequence(index);\r
- if (ap.overviewPanel != null)\r
- {\r
- ap.overviewPanel.updateOverviewImage();\r
- }\r
- }\r
- });\r
- add(menuItem);\r
- }\r
- }\r
- }\r
- // for the case when no sequences are even visible\r
- if (ap.av.hasHiddenRows())\r
- {\r
- {\r
+ menuItem.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ ap.av.showSequence(index);
+ if (ap.overviewPanel != null)
+ {
+ ap.overviewPanel.updateOverviewImage();
+ }
+ }
+ });
+ add(menuItem);
+ }
+ }
+ }
+ // for the case when no sequences are even visible
+ if (ap.av.hasHiddenRows())
+ {
+ {
menuItem = new JMenuItem(MessageManager.getString("action.reveal_all"));\r
- menuItem.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- ap.av.showAllHiddenSeqs();\r
- if (ap.overviewPanel != null)\r
- {\r
- ap.overviewPanel.updateOverviewImage();\r
- }\r
- }\r
- });\r
-\r
- add(menuItem);\r
- }\r
-\r
- }\r
-\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- boolean isDefinedGroup = (sg!=null) ? ap.av.getAlignment().getGroups().contains(sg) : false;\r
-\r
- if (sg != null && sg.getSize() > 0)\r
- { \r
+ menuItem.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ ap.av.showAllHiddenSeqs();
+ if (ap.overviewPanel != null)
+ {
+ ap.overviewPanel.updateOverviewImage();
+ }
+ }
+ });
+
+ add(menuItem);
+ }
+
+ }
+
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ boolean isDefinedGroup = (sg!=null) ? ap.av.getAlignment().getGroups().contains(sg) : false;
+
+ if (sg != null && sg.getSize() > 0)
+ {
groupName.setText(MessageManager.formatMessage("label.name_param", new String[]{sg.getName()}));\r
groupName.setText(MessageManager.getString("label.edit_name_and_description_current_group"));\r
-\r
- if (sg.cs instanceof ZappoColourScheme)\r
- {\r
- zappoColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof TaylorColourScheme)\r
- {\r
- taylorColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof PIDColourScheme)\r
- {\r
- PIDColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof Blosum62ColourScheme)\r
- {\r
- BLOSUM62Colour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof UserColourScheme)\r
- {\r
- userDefinedColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof HydrophobicColourScheme)\r
- {\r
- hydrophobicityColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof HelixColourScheme)\r
- {\r
- helixColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof StrandColourScheme)\r
- {\r
- strandColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof TurnColourScheme)\r
- {\r
- turnColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof BuriedColourScheme)\r
- {\r
- buriedColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof ClustalxColourScheme)\r
- {\r
- clustalColour.setSelected(true);\r
- }\r
- else if (sg.cs instanceof PurinePyrimidineColourScheme)\r
- {\r
- purinePyrimidineColour.setSelected(true);\r
- }\r
- /*\r
- * else if (sg.cs instanceof CovariationColourScheme) {\r
- * covariationColour.setSelected(true); }\r
- */\r
- else\r
- {\r
- noColourmenuItem.setSelected(true);\r
- }\r
-\r
- if (sg.cs != null && sg.cs.conservationApplied())\r
- {\r
- conservationMenuItem.setSelected(true);\r
- }\r
- displayNonconserved.setSelected(sg.getShowNonconserved());\r
- showText.setSelected(sg.getDisplayText());\r
- showColourText.setSelected(sg.getColourText());\r
- showBoxes.setSelected(sg.getDisplayBoxes());\r
- // add any groupURLs to the groupURL submenu and make it visible\r
- if (groupLinks != null && groupLinks.size() > 0)\r
- {\r
- buildGroupURLMenu(sg, groupLinks);\r
- }\r
- // Add a 'show all structures' for the current selection\r
- Hashtable<String, PDBEntry> pdbe = new Hashtable<String, PDBEntry>();\r
- SequenceI sqass = null;\r
- for (SequenceI sq : ap.av.getSequenceSelection())\r
- {\r
- Vector<PDBEntry> pes = (Vector<PDBEntry>) sq.getDatasetSequence()\r
- .getPDBId();\r
- if (pes != null)\r
- {\r
- for (PDBEntry pe : pes)\r
- {\r
- pdbe.put(pe.getId(), pe);\r
- if (sqass == null)\r
- {\r
- sqass = sq;\r
- }\r
- }\r
- }\r
- }\r
- if (pdbe.size() > 0)\r
- {\r
- final PDBEntry[] pe = pdbe.values().toArray(\r
- new PDBEntry[pdbe.size()]);\r
- final JMenuItem gpdbview;\r
- if (pdbe.size() == 1)\r
- {\r
+
+ if (sg.cs instanceof ZappoColourScheme)
+ {
+ zappoColour.setSelected(true);
+ }
+ else if (sg.cs instanceof TaylorColourScheme)
+ {
+ taylorColour.setSelected(true);
+ }
+ else if (sg.cs instanceof PIDColourScheme)
+ {
+ PIDColour.setSelected(true);
+ }
+ else if (sg.cs instanceof Blosum62ColourScheme)
+ {
+ BLOSUM62Colour.setSelected(true);
+ }
+ else if (sg.cs instanceof UserColourScheme)
+ {
+ userDefinedColour.setSelected(true);
+ }
+ else if (sg.cs instanceof HydrophobicColourScheme)
+ {
+ hydrophobicityColour.setSelected(true);
+ }
+ else if (sg.cs instanceof HelixColourScheme)
+ {
+ helixColour.setSelected(true);
+ }
+ else if (sg.cs instanceof StrandColourScheme)
+ {
+ strandColour.setSelected(true);
+ }
+ else if (sg.cs instanceof TurnColourScheme)
+ {
+ turnColour.setSelected(true);
+ }
+ else if (sg.cs instanceof BuriedColourScheme)
+ {
+ buriedColour.setSelected(true);
+ }
+ else if (sg.cs instanceof ClustalxColourScheme)
+ {
+ clustalColour.setSelected(true);
+ }
+ else if (sg.cs instanceof PurinePyrimidineColourScheme)
+ {
+ purinePyrimidineColour.setSelected(true);
+ }
+ /*
+ * else if (sg.cs instanceof CovariationColourScheme) {
+ * covariationColour.setSelected(true); }
+ */
+ else
+ {
+ noColourmenuItem.setSelected(true);
+ }
+
+ if (sg.cs != null && sg.cs.conservationApplied())
+ {
+ conservationMenuItem.setSelected(true);
+ }
+ displayNonconserved.setSelected(sg.getShowNonconserved());
+ showText.setSelected(sg.getDisplayText());
+ showColourText.setSelected(sg.getColourText());
+ showBoxes.setSelected(sg.getDisplayBoxes());
+ // add any groupURLs to the groupURL submenu and make it visible
+ if (groupLinks != null && groupLinks.size() > 0)
+ {
+ buildGroupURLMenu(sg, groupLinks);
+ }
+ // Add a 'show all structures' for the current selection
+ Hashtable<String, PDBEntry> pdbe = new Hashtable<String, PDBEntry>();
+ SequenceI sqass = null;
+ for (SequenceI sq : ap.av.getSequenceSelection())
+ {
+ Vector<PDBEntry> pes = (Vector<PDBEntry>) sq.getDatasetSequence()
+ .getPDBId();
+ if (pes != null)
+ {
+ for (PDBEntry pe : pes)
+ {
+ pdbe.put(pe.getId(), pe);
+ if (sqass == null)
+ {
+ sqass = sq;
+ }
+ }
+ }
+ }
+ if (pdbe.size() > 0)
+ {
+ final PDBEntry[] pe = pdbe.values().toArray(
+ new PDBEntry[pdbe.size()]);
+ final JMenuItem gpdbview;
+ if (pdbe.size() == 1)
+ {
structureMenu.add(gpdbview = new JMenuItem(MessageManager.formatMessage("label.view_structure_for", new String[]{sqass.getDisplayId(false)})));\r
- }\r
- else\r
- {\r
+ }
+ else
+ {
structureMenu.add(gpdbview = new JMenuItem(MessageManager.formatMessage("label.view_all_structures", new String[]{new Integer(pdbe.size()).toString()})));\r
- }\r
+ }
gpdbview.setToolTipText(MessageManager.getString("label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment"));\r
- gpdbview.addActionListener(new ActionListener()\r
- {\r
-\r
- @Override\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new AppJmol(ap, pe, ap.av.collateForPDB(pe));\r
- }\r
- });\r
- }\r
- }\r
- else\r
- {\r
- groupMenu.setVisible(false);\r
- editMenu.setVisible(false);\r
- }\r
-\r
- if (!isDefinedGroup)\r
- {\r
- createGroupMenuItem.setVisible(true);\r
- unGroupMenuItem.setVisible(false);\r
+ gpdbview.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ new AppJmol(ap, pe, ap.av.collateForPDB(pe));
+ }
+ });
+ }
+ }
+ else
+ {
+ groupMenu.setVisible(false);
+ editMenu.setVisible(false);
+ }
+
+ if (!isDefinedGroup)
+ {
+ createGroupMenuItem.setVisible(true);
+ unGroupMenuItem.setVisible(false);
jMenu1.setText(MessageManager.getString("action.edit_new_group"));\r
- } else {\r
- createGroupMenuItem.setVisible(false);\r
- unGroupMenuItem.setVisible(true);\r
+ } else {
+ createGroupMenuItem.setVisible(false);
+ unGroupMenuItem.setVisible(true);
jMenu1.setText(MessageManager.getString("action.edit_group"));\r
- }\r
-\r
- if (seq == null)\r
- {\r
- sequenceMenu.setVisible(false);\r
- structureMenu.setVisible(false);\r
- }\r
-\r
- if (links != null && links.size() > 0)\r
- {\r
-\r
+ }
+
+ if (seq == null)
+ {
+ sequenceMenu.setVisible(false);
+ structureMenu.setVisible(false);
+ }
+
+ if (links != null && links.size() > 0)
+ {
+
JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));\r
- Vector linkset = new Vector();\r
- for (int i = 0; i < links.size(); i++)\r
- {\r
- String link = links.elementAt(i).toString();\r
- UrlLink urlLink = null;\r
- try\r
- {\r
- urlLink = new UrlLink(link);\r
- } catch (Exception foo)\r
- {\r
- jalview.bin.Cache.log.error("Exception for URLLink '" + link\r
- + "'", foo);\r
- continue;\r
- }\r
- ;\r
- if (!urlLink.isValid())\r
- {\r
- jalview.bin.Cache.log.error(urlLink.getInvalidMessage());\r
- continue;\r
- }\r
- final String label = urlLink.getLabel();\r
- if (seq != null && urlLink.isDynamic())\r
- {\r
-\r
- // collect matching db-refs\r
- DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(\r
- seq.getDBRef(), new String[]\r
- { urlLink.getTarget() });\r
- // collect id string too\r
- String id = seq.getName();\r
- String descr = seq.getDescription();\r
- if (descr != null && descr.length() < 1)\r
- {\r
- descr = null;\r
- }\r
-\r
- if (dbr != null)\r
- {\r
- for (int r = 0; r < dbr.length; r++)\r
- {\r
- if (id != null && dbr[r].getAccessionId().equals(id))\r
- {\r
- // suppress duplicate link creation for the bare sequence ID\r
- // string with this link\r
- id = null;\r
- }\r
- // create Bare ID link for this RUL\r
- String[] urls = urlLink.makeUrls(dbr[r].getAccessionId(),\r
- true);\r
- if (urls != null)\r
- {\r
- for (int u = 0; u < urls.length; u += 2)\r
- {\r
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
- {\r
- linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
- addshowLink(linkMenu, label + "|" + urls[u],\r
- urls[u + 1]);\r
- }\r
- }\r
- }\r
- }\r
- }\r
- if (id != null)\r
- {\r
- // create Bare ID link for this RUL\r
- String[] urls = urlLink.makeUrls(id, true);\r
- if (urls != null)\r
- {\r
- for (int u = 0; u < urls.length; u += 2)\r
- {\r
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
- {\r
- linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
- addshowLink(linkMenu, label, urls[u + 1]);\r
- }\r
- }\r
- }\r
- }\r
- // Create urls from description but only for URL links which are regex\r
- // links\r
- if (descr != null && urlLink.getRegexReplace() != null)\r
- {\r
- // create link for this URL from description where regex matches\r
- String[] urls = urlLink.makeUrls(descr, true);\r
- if (urls != null)\r
- {\r
- for (int u = 0; u < urls.length; u += 2)\r
- {\r
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))\r
- {\r
- linkset.addElement(urls[u] + "|" + urls[u + 1]);\r
- addshowLink(linkMenu, label, urls[u + 1]);\r
- }\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))\r
- {\r
- linkset.addElement(label + "|" + urlLink.getUrl_prefix());\r
- // Add a non-dynamic link\r
- addshowLink(linkMenu, label, urlLink.getUrl_prefix());\r
- }\r
- }\r
- }\r
- if (sequence != null)\r
- {\r
- sequenceMenu.add(linkMenu);\r
- }\r
- else\r
- {\r
- add(linkMenu);\r
- }\r
- }\r
- }\r
-\r
- private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)\r
- {\r
-\r
- // TODO: usability: thread off the generation of group url content so root\r
- // menu appears asap\r
- // sequence only URLs\r
- // ID/regex match URLs\r
+ Vector linkset = new Vector();
+ for (int i = 0; i < links.size(); i++)
+ {
+ String link = links.elementAt(i).toString();
+ UrlLink urlLink = null;
+ try
+ {
+ urlLink = new UrlLink(link);
+ } catch (Exception foo)
+ {
+ jalview.bin.Cache.log.error("Exception for URLLink '" + link
+ + "'", foo);
+ continue;
+ }
+ ;
+ if (!urlLink.isValid())
+ {
+ jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
+ continue;
+ }
+ final String label = urlLink.getLabel();
+ if (seq != null && urlLink.isDynamic())
+ {
+
+ // collect matching db-refs
+ DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(
+ seq.getDBRef(), new String[]
+ { urlLink.getTarget() });
+ // collect id string too
+ String id = seq.getName();
+ String descr = seq.getDescription();
+ if (descr != null && descr.length() < 1)
+ {
+ descr = null;
+ }
+
+ if (dbr != null)
+ {
+ for (int r = 0; r < dbr.length; r++)
+ {
+ if (id != null && dbr[r].getAccessionId().equals(id))
+ {
+ // suppress duplicate link creation for the bare sequence ID
+ // string with this link
+ id = null;
+ }
+ // create Bare ID link for this RUL
+ String[] urls = urlLink.makeUrls(dbr[r].getAccessionId(),
+ true);
+ if (urls != null)
+ {
+ for (int u = 0; u < urls.length; u += 2)
+ {
+ if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+ {
+ linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ addshowLink(linkMenu, label + "|" + urls[u],
+ urls[u + 1]);
+ }
+ }
+ }
+ }
+ }
+ if (id != null)
+ {
+ // create Bare ID link for this RUL
+ String[] urls = urlLink.makeUrls(id, true);
+ if (urls != null)
+ {
+ for (int u = 0; u < urls.length; u += 2)
+ {
+ if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+ {
+ linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ addshowLink(linkMenu, label, urls[u + 1]);
+ }
+ }
+ }
+ }
+ // Create urls from description but only for URL links which are regex
+ // links
+ if (descr != null && urlLink.getRegexReplace() != null)
+ {
+ // create link for this URL from description where regex matches
+ String[] urls = urlLink.makeUrls(descr, true);
+ if (urls != null)
+ {
+ for (int u = 0; u < urls.length; u += 2)
+ {
+ if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
+ {
+ linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ addshowLink(linkMenu, label, urls[u + 1]);
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))
+ {
+ linkset.addElement(label + "|" + urlLink.getUrl_prefix());
+ // Add a non-dynamic link
+ addshowLink(linkMenu, label, urlLink.getUrl_prefix());
+ }
+ }
+ }
+ if (sequence != null)
+ {
+ sequenceMenu.add(linkMenu);
+ }
+ else
+ {
+ add(linkMenu);
+ }
+ }
+ }
+
+ private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)
+ {
+
+ // TODO: usability: thread off the generation of group url content so root
+ // menu appears asap
+ // sequence only URLs
+ // ID/regex match URLs
groupLinksMenu = new JMenu(MessageManager.getString("action.group_link"));\r
- JMenu[] linkMenus = new JMenu[]\r
+ JMenu[] linkMenus = new JMenu[]
{ null, new JMenu(MessageManager.getString("action.ids")), new JMenu(MessageManager.getString("action.sequences")),\r
new JMenu(MessageManager.getString("action.ids_sequences")) }; // three types of url that might be\r
- // created.\r
- SequenceI[] seqs = ap.av.getSelectionAsNewSequence();\r
- String[][] idandseqs = GroupUrlLink.formStrings(seqs);\r
- Hashtable commonDbrefs = new Hashtable();\r
- for (int sq = 0; sq < seqs.length; sq++)\r
- {\r
-\r
- int start = seqs[sq].findPosition(sg.getStartRes()), end = seqs[sq]\r
- .findPosition(sg.getEndRes());\r
- // just collect ids from dataset sequence\r
- // TODO: check if IDs collected from selecton group intersects with the\r
- // current selection, too\r
- SequenceI sqi = seqs[sq];\r
- while (sqi.getDatasetSequence() != null)\r
- {\r
- sqi = sqi.getDatasetSequence();\r
- }\r
- DBRefEntry[] dbr = sqi.getDBRef();\r
- if (dbr != null && dbr.length > 0)\r
- {\r
- for (int d = 0; d < dbr.length; d++)\r
- {\r
- String src = dbr[d].getSource(); // jalview.util.DBRefUtils.getCanonicalName(dbr[d].getSource()).toUpperCase();\r
- Object[] sarray = (Object[]) commonDbrefs.get(src);\r
- if (sarray == null)\r
- {\r
- sarray = new Object[2];\r
- sarray[0] = new int[]\r
- { 0 };\r
- sarray[1] = new String[seqs.length];\r
-\r
- commonDbrefs.put(src, sarray);\r
- }\r
-\r
- if (((String[]) sarray[1])[sq] == null)\r
- {\r
- if (!dbr[d].hasMap()\r
- || (dbr[d].getMap().locateMappedRange(start, end) != null))\r
- {\r
- ((String[]) sarray[1])[sq] = dbr[d].getAccessionId();\r
- ((int[]) sarray[0])[0]++;\r
- }\r
- }\r
- }\r
- }\r
- }\r
- // now create group links for all distinct ID/sequence sets.\r
- boolean addMenu = false; // indicates if there are any group links to give\r
- // to user\r
- for (int i = 0; i < groupLinks.size(); i++)\r
- {\r
- String link = groupLinks.elementAt(i).toString();\r
- GroupUrlLink urlLink = null;\r
- try\r
- {\r
- urlLink = new GroupUrlLink(link);\r
- } catch (Exception foo)\r
- {\r
- jalview.bin.Cache.log.error("Exception for GroupURLLink '" + link\r
- + "'", foo);\r
- continue;\r
- }\r
- ;\r
- if (!urlLink.isValid())\r
- {\r
- jalview.bin.Cache.log.error(urlLink.getInvalidMessage());\r
- continue;\r
- }\r
- final String label = urlLink.getLabel();\r
- boolean usingNames = false;\r
- // Now see which parts of the group apply for this URL\r
- String ltarget = urlLink.getTarget(); // jalview.util.DBRefUtils.getCanonicalName(urlLink.getTarget());\r
- Object[] idset = (Object[]) commonDbrefs.get(ltarget.toUpperCase());\r
- String[] seqstr, ids; // input to makeUrl\r
- if (idset != null)\r
- {\r
- int numinput = ((int[]) idset[0])[0];\r
- String[] allids = ((String[]) idset[1]);\r
- seqstr = new String[numinput];\r
- ids = new String[numinput];\r
- for (int sq = 0, idcount = 0; sq < seqs.length; sq++)\r
- {\r
- if (allids[sq] != null)\r
- {\r
- ids[idcount] = allids[sq];\r
- seqstr[idcount++] = idandseqs[1][sq];\r
- }\r
- }\r
- }\r
- else\r
- {\r
- // just use the id/seq set\r
- seqstr = idandseqs[1];\r
- ids = idandseqs[0];\r
- usingNames = true;\r
- }\r
- // and try and make the groupURL!\r
-\r
- Object[] urlset = null;\r
- try\r
- {\r
- urlset = urlLink.makeUrlStubs(ids, seqstr,\r
- "FromJalview" + System.currentTimeMillis(), false);\r
- } catch (UrlStringTooLongException e)\r
- {\r
- }\r
- if (urlset != null)\r
- {\r
- int type = urlLink.getGroupURLType() & 3;\r
- // System.out.println(urlLink.getGroupURLType()\r
- // +" "+((String[])urlset[3])[0]);\r
- // first two bits ofurlLink type bitfield are sequenceids and sequences\r
- // TODO: FUTURE: ensure the groupURL menu structure can be generalised\r
- addshowLink(linkMenus[type], label\r
- + (((type & 1) == 1) ? ("("\r
- + (usingNames ? "Names" : ltarget) + ")") : ""),\r
- urlLink, urlset);\r
- addMenu = true;\r
- }\r
- }\r
- if (addMenu)\r
- {\r
+ // created.
+ SequenceI[] seqs = ap.av.getSelectionAsNewSequence();
+ String[][] idandseqs = GroupUrlLink.formStrings(seqs);
+ Hashtable commonDbrefs = new Hashtable();
+ for (int sq = 0; sq < seqs.length; sq++)
+ {
+
+ int start = seqs[sq].findPosition(sg.getStartRes()), end = seqs[sq]
+ .findPosition(sg.getEndRes());
+ // just collect ids from dataset sequence
+ // TODO: check if IDs collected from selecton group intersects with the
+ // current selection, too
+ SequenceI sqi = seqs[sq];
+ while (sqi.getDatasetSequence() != null)
+ {
+ sqi = sqi.getDatasetSequence();
+ }
+ DBRefEntry[] dbr = sqi.getDBRef();
+ if (dbr != null && dbr.length > 0)
+ {
+ for (int d = 0; d < dbr.length; d++)
+ {
+ String src = dbr[d].getSource(); // jalview.util.DBRefUtils.getCanonicalName(dbr[d].getSource()).toUpperCase();
+ Object[] sarray = (Object[]) commonDbrefs.get(src);
+ if (sarray == null)
+ {
+ sarray = new Object[2];
+ sarray[0] = new int[]
+ { 0 };
+ sarray[1] = new String[seqs.length];
+
+ commonDbrefs.put(src, sarray);
+ }
+
+ if (((String[]) sarray[1])[sq] == null)
+ {
+ if (!dbr[d].hasMap()
+ || (dbr[d].getMap().locateMappedRange(start, end) != null))
+ {
+ ((String[]) sarray[1])[sq] = dbr[d].getAccessionId();
+ ((int[]) sarray[0])[0]++;
+ }
+ }
+ }
+ }
+ }
+ // now create group links for all distinct ID/sequence sets.
+ boolean addMenu = false; // indicates if there are any group links to give
+ // to user
+ for (int i = 0; i < groupLinks.size(); i++)
+ {
+ String link = groupLinks.elementAt(i).toString();
+ GroupUrlLink urlLink = null;
+ try
+ {
+ urlLink = new GroupUrlLink(link);
+ } catch (Exception foo)
+ {
+ jalview.bin.Cache.log.error("Exception for GroupURLLink '" + link
+ + "'", foo);
+ continue;
+ }
+ ;
+ if (!urlLink.isValid())
+ {
+ jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
+ continue;
+ }
+ final String label = urlLink.getLabel();
+ boolean usingNames = false;
+ // Now see which parts of the group apply for this URL
+ String ltarget = urlLink.getTarget(); // jalview.util.DBRefUtils.getCanonicalName(urlLink.getTarget());
+ Object[] idset = (Object[]) commonDbrefs.get(ltarget.toUpperCase());
+ String[] seqstr, ids; // input to makeUrl
+ if (idset != null)
+ {
+ int numinput = ((int[]) idset[0])[0];
+ String[] allids = ((String[]) idset[1]);
+ seqstr = new String[numinput];
+ ids = new String[numinput];
+ for (int sq = 0, idcount = 0; sq < seqs.length; sq++)
+ {
+ if (allids[sq] != null)
+ {
+ ids[idcount] = allids[sq];
+ seqstr[idcount++] = idandseqs[1][sq];
+ }
+ }
+ }
+ else
+ {
+ // just use the id/seq set
+ seqstr = idandseqs[1];
+ ids = idandseqs[0];
+ usingNames = true;
+ }
+ // and try and make the groupURL!
+
+ Object[] urlset = null;
+ try
+ {
+ urlset = urlLink.makeUrlStubs(ids, seqstr,
+ "FromJalview" + System.currentTimeMillis(), false);
+ } catch (UrlStringTooLongException e)
+ {
+ }
+ if (urlset != null)
+ {
+ int type = urlLink.getGroupURLType() & 3;
+ // System.out.println(urlLink.getGroupURLType()
+ // +" "+((String[])urlset[3])[0]);
+ // first two bits ofurlLink type bitfield are sequenceids and sequences
+ // TODO: FUTURE: ensure the groupURL menu structure can be generalised
+ addshowLink(linkMenus[type], label
+ + (((type & 1) == 1) ? ("("
+ + (usingNames ? "Names" : ltarget) + ")") : ""),
+ urlLink, urlset);
+ addMenu = true;
+ }
+ }
+ if (addMenu)
+ {
groupLinksMenu = new JMenu(MessageManager.getString("action.group_link"));\r
- for (int m = 0; m < linkMenus.length; m++)\r
- {\r
- if (linkMenus[m] != null\r
- && linkMenus[m].getMenuComponentCount() > 0)\r
- {\r
- groupLinksMenu.add(linkMenus[m]);\r
- }\r
- }\r
-\r
- groupMenu.add(groupLinksMenu);\r
- }\r
- }\r
-\r
- /**\r
- * add a show URL menu item to the given linkMenu\r
- * \r
- * @param linkMenu\r
- * @param label\r
- * - menu label string\r
- * @param url\r
- * - url to open\r
- */\r
- private void addshowLink(JMenu linkMenu, String label, final String url)\r
- {\r
- JMenuItem item = new JMenuItem(label);\r
+ for (int m = 0; m < linkMenus.length; m++)
+ {
+ if (linkMenus[m] != null
+ && linkMenus[m].getMenuComponentCount() > 0)
+ {
+ groupLinksMenu.add(linkMenus[m]);
+ }
+ }
+
+ groupMenu.add(groupLinksMenu);
+ }
+ }
+
+ /**
+ * add a show URL menu item to the given linkMenu
+ *
+ * @param linkMenu
+ * @param label
+ * - menu label string
+ * @param url
+ * - url to open
+ */
+ private void addshowLink(JMenu linkMenu, String label, final String url)
+ {
+ JMenuItem item = new JMenuItem(label);
item.setToolTipText(MessageManager.formatMessage("label.open_url_param", new String[]{url}));\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- public void run()\r
- {\r
- showLink(url);\r
- }\r
-\r
- }).start();\r
- }\r
- });\r
-\r
- linkMenu.add(item);\r
- }\r
-\r
- /**\r
- * add a late bound groupURL item to the given linkMenu\r
- * \r
- * @param linkMenu\r
- * @param label\r
- * - menu label string\r
- * @param urlgenerator\r
- * GroupURLLink used to generate URL\r
- * @param urlstub\r
- * Object array returned from the makeUrlStubs function.\r
- */\r
- private void addshowLink(JMenu linkMenu, String label,\r
- final GroupUrlLink urlgenerator, final Object[] urlstub)\r
- {\r
- JMenuItem item = new JMenuItem(label);\r
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ public void run()
+ {
+ showLink(url);
+ }
+
+ }).start();
+ }
+ });
+
+ linkMenu.add(item);
+ }
+
+ /**
+ * add a late bound groupURL item to the given linkMenu
+ *
+ * @param linkMenu
+ * @param label
+ * - menu label string
+ * @param urlgenerator
+ * GroupURLLink used to generate URL
+ * @param urlstub
+ * Object array returned from the makeUrlStubs function.
+ */
+ private void addshowLink(JMenu linkMenu, String label,
+ final GroupUrlLink urlgenerator, final Object[] urlstub)
+ {
+ JMenuItem item = new JMenuItem(label);
item.setToolTipText(MessageManager.formatMessage("label.open_url_seqs_param", new Object[]{urlgenerator.getUrl_prefix(),urlgenerator.getNumberInvolved(urlstub)}));\r
// TODO: put in info about what is being sent.\r
- item.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- new Thread(new Runnable()\r
- {\r
-\r
- public void run()\r
- {\r
- try\r
- {\r
- showLink(urlgenerator.constructFrom(urlstub));\r
- } catch (UrlStringTooLongException e)\r
- {\r
- }\r
- }\r
-\r
- }).start();\r
- }\r
- });\r
-\r
- linkMenu.add(item);\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @throws Exception\r
- * DOCUMENT ME!\r
- */\r
- private void jbInit() throws Exception\r
- {\r
+ item.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ new Thread(new Runnable()
+ {
+
+ public void run()
+ {
+ try
+ {
+ showLink(urlgenerator.constructFrom(urlstub));
+ } catch (UrlStringTooLongException e)
+ {
+ }
+ }
+
+ }).start();
+ }
+ });
+
+ linkMenu.add(item);
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @throws Exception
+ * DOCUMENT ME!
+ */
+ private void jbInit() throws Exception
+ {
groupMenu.setText(MessageManager.getString("label.group"));\r
groupMenu.setText(MessageManager.getString("label.selection"));\r
groupName.setText(MessageManager.getString("label.name"));\r
- groupName.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- groupName_actionPerformed();\r
- }\r
- });\r
+ groupName.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ groupName_actionPerformed();
+ }
+ });
sequenceMenu.setText(MessageManager.getString("label.sequence"));\r
sequenceName.setText(MessageManager.getString("label.edit_name_description"));\r
- sequenceName.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- sequenceName_actionPerformed();\r
- }\r
- });\r
+ sequenceName.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ sequenceName_actionPerformed();
+ }
+ });
sequenceDetails.setText(MessageManager.getString("label.sequence_details") + "...");\r
- sequenceDetails.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- sequenceDetails_actionPerformed();\r
- }\r
- });\r
+ sequenceDetails.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ sequenceDetails_actionPerformed();
+ }
+ });
sequenceSelDetails.setText(MessageManager.getString("label.sequence_details") + "...");\r
- sequenceSelDetails\r
- .addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- sequenceSelectionDetails_actionPerformed();\r
- }\r
- });\r
- PIDColour.setFocusPainted(false);\r
+ sequenceSelDetails
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ sequenceSelectionDetails_actionPerformed();
+ }
+ });
+ PIDColour.setFocusPainted(false);
unGroupMenuItem.setText(MessageManager.getString("action.remove_group"));\r
- unGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- unGroupMenuItem_actionPerformed();\r
- }\r
- });\r
+ unGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ unGroupMenuItem_actionPerformed();
+ }
+ });
createGroupMenuItem.setText(MessageManager.getString("action.create_group"));\r
- createGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- createGroupMenuItem_actionPerformed();\r
- }\r
- });\r
-\r
+ createGroupMenuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ createGroupMenuItem_actionPerformed();
+ }
+ });
+
outline.setText(MessageManager.getString("action.border_colour"));\r
- outline.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- outline_actionPerformed();\r
- }\r
- });\r
+ outline.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ outline_actionPerformed();
+ }
+ });
nucleotideMenuItem.setText(MessageManager.getString("label.nucleotide"));\r
- nucleotideMenuItem.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- nucleotideMenuItem_actionPerformed();\r
- }\r
- });\r
+ nucleotideMenuItem.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ nucleotideMenuItem_actionPerformed();
+ }
+ });
colourMenu.setText(MessageManager.getString("label.group_colour"));\r
showBoxes.setText(MessageManager.getString("action.boxes"));\r
- showBoxes.setState(true);\r
- showBoxes.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- showBoxes_actionPerformed();\r
- }\r
- });\r
+ showBoxes.setState(true);
+ showBoxes.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ showBoxes_actionPerformed();
+ }
+ });
showText.setText(MessageManager.getString("action.text"));\r
- showText.setState(true);\r
- showText.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- showText_actionPerformed();\r
- }\r
- });\r
+ showText.setState(true);
+ showText.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ showText_actionPerformed();
+ }
+ });
showColourText.setText(MessageManager.getString("label.colour_text"));\r
- showColourText.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- showColourText_actionPerformed();\r
- }\r
- });\r
+ showColourText.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ showColourText_actionPerformed();
+ }
+ });
displayNonconserved.setText(MessageManager.getString("label.show_non_conversed"));\r
- displayNonconserved.setState(true);\r
- displayNonconserved.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- showNonconserved_actionPerformed();\r
- }\r
- });\r
+ displayNonconserved.setState(true);
+ displayNonconserved.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ showNonconserved_actionPerformed();
+ }
+ });
editMenu.setText(MessageManager.getString("action.edit"));\r
cut.setText(MessageManager.getString("action.cut"));\r
- cut.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- cut_actionPerformed();\r
- }\r
- });\r
+ cut.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ cut_actionPerformed();
+ }
+ });
upperCase.setText(MessageManager.getString("label.to_upper_case"));\r
- upperCase.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- changeCase(e);\r
- }\r
- });\r
+ upperCase.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ changeCase(e);
+ }
+ });
copy.setText(MessageManager.getString("action.copy"));\r
- copy.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- copy_actionPerformed();\r
- }\r
- });\r
+ copy.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ copy_actionPerformed();
+ }
+ });
lowerCase.setText(MessageManager.getString("label.to_lower_case"));\r
- lowerCase.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- changeCase(e);\r
- }\r
- });\r
+ lowerCase.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ changeCase(e);
+ }
+ });
toggle.setText(MessageManager.getString("label.toggle_case"));\r
- toggle.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- changeCase(e);\r
- }\r
- });\r
+ toggle.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ changeCase(e);
+ }
+ });
pdbMenu.setText(MessageManager.getString("label.associate_structure_with_sequence"));\r
pdbFromFile.setText(MessageManager.getString("label.from_file"));\r
- pdbFromFile.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- pdbFromFile_actionPerformed();\r
- }\r
- });\r
+ pdbFromFile.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ pdbFromFile_actionPerformed();
+ }
+ });
enterPDB.setText(MessageManager.getString("label.enter_pdb_id"));\r
- enterPDB.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- enterPDB_actionPerformed();\r
- }\r
- });\r
+ enterPDB.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ enterPDB_actionPerformed();
+ }
+ });
discoverPDB.setText(MessageManager.getString("label.discover_pdb_ids"));\r
- discoverPDB.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- discoverPDB_actionPerformed();\r
- }\r
- });\r
+ discoverPDB.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ discoverPDB_actionPerformed();
+ }
+ });
outputMenu.setText(MessageManager.getString("label.out_to_textbox") + "...");\r
sequenceFeature.setText(MessageManager.getString("label.create_sequence_feature"));\r
- sequenceFeature.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- sequenceFeature_actionPerformed();\r
- }\r
- });\r
+ sequenceFeature.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ sequenceFeature_actionPerformed();
+ }
+ });
textColour.setText(MessageManager.getString("label.text_colour"));\r
- textColour.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- textColour_actionPerformed();\r
- }\r
- });\r
+ textColour.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ textColour_actionPerformed();
+ }
+ });
jMenu1.setText(MessageManager.getString("label.group"));\r
structureMenu.setText(MessageManager.getString("label.structure"));\r
viewStructureMenu.setText(MessageManager.getString("label.view_structure"));\r
- // colStructureMenu.setText("Colour By Structure");\r
+ // colStructureMenu.setText("Colour By Structure");
editSequence.setText(MessageManager.getString("label.edit_sequence") + "...");\r
- editSequence.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent actionEvent)\r
- {\r
- editSequence_actionPerformed(actionEvent);\r
- }\r
- });\r
-\r
- /*\r
- * annotationMenuItem.setText("By Annotation");\r
- * annotationMenuItem.addActionListener(new ActionListener() { public void\r
- * actionPerformed(ActionEvent actionEvent) {\r
- * annotationMenuItem_actionPerformed(actionEvent); } });\r
- */\r
- groupMenu.add(sequenceSelDetails);\r
- add(groupMenu);\r
- add(sequenceMenu);\r
- this.add(structureMenu);\r
- groupMenu.add(editMenu);\r
- groupMenu.add(outputMenu);\r
- groupMenu.add(sequenceFeature);\r
- groupMenu.add(createGroupMenuItem);\r
- groupMenu.add(unGroupMenuItem);\r
- groupMenu.add(jMenu1);\r
- sequenceMenu.add(sequenceName);\r
- sequenceMenu.add(sequenceDetails);\r
- colourMenu.add(textColour);\r
- colourMenu.add(noColourmenuItem);\r
- colourMenu.add(clustalColour);\r
- colourMenu.add(BLOSUM62Colour);\r
- colourMenu.add(PIDColour);\r
- colourMenu.add(zappoColour);\r
- colourMenu.add(taylorColour);\r
- colourMenu.add(hydrophobicityColour);\r
- colourMenu.add(helixColour);\r
- colourMenu.add(strandColour);\r
- colourMenu.add(turnColour);\r
- colourMenu.add(buriedColour);\r
- colourMenu.add(nucleotideMenuItem);\r
- if (ap.getAlignment().isNucleotide())\r
- {\r
- colourMenu.add(purinePyrimidineColour);\r
- }\r
- // colourMenu.add(covariationColour);\r
- colourMenu.add(userDefinedColour);\r
-\r
- if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)\r
- {\r
- java.util.Enumeration userColours = jalview.gui.UserDefinedColours\r
- .getUserColourSchemes().keys();\r
-\r
- while (userColours.hasMoreElements())\r
- {\r
- JMenuItem item = new JMenuItem(userColours.nextElement().toString());\r
- item.addActionListener(new ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent evt)\r
- {\r
- userDefinedColour_actionPerformed(evt);\r
- }\r
- });\r
- colourMenu.add(item);\r
- }\r
- }\r
-\r
- colourMenu.addSeparator();\r
- colourMenu.add(abovePIDColour);\r
- colourMenu.add(conservationMenuItem);\r
- // colourMenu.add(annotationMenuItem);\r
- editMenu.add(copy);\r
- editMenu.add(cut);\r
- editMenu.add(editSequence);\r
- editMenu.add(upperCase);\r
- editMenu.add(lowerCase);\r
- editMenu.add(toggle);\r
- pdbMenu.add(pdbFromFile);\r
- pdbMenu.add(enterPDB);\r
- pdbMenu.add(discoverPDB);\r
- jMenu1.add(groupName);\r
- jMenu1.add(colourMenu);\r
- jMenu1.add(showBoxes);\r
- jMenu1.add(showText);\r
- jMenu1.add(showColourText);\r
- jMenu1.add(outline);\r
- jMenu1.add(displayNonconserved);\r
- structureMenu.add(pdbMenu);\r
- structureMenu.add(viewStructureMenu);\r
- // structureMenu.add(colStructureMenu);\r
+ editSequence.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent actionEvent)
+ {
+ editSequence_actionPerformed(actionEvent);
+ }
+ });
+
+ /*
+ * annotationMenuItem.setText("By Annotation");
+ * annotationMenuItem.addActionListener(new ActionListener() { public void
+ * actionPerformed(ActionEvent actionEvent) {
+ * annotationMenuItem_actionPerformed(actionEvent); } });
+ */
+ groupMenu.add(sequenceSelDetails);
+ add(groupMenu);
+ add(sequenceMenu);
+ this.add(structureMenu);
+ groupMenu.add(editMenu);
+ groupMenu.add(outputMenu);
+ groupMenu.add(sequenceFeature);
+ groupMenu.add(createGroupMenuItem);
+ groupMenu.add(unGroupMenuItem);
+ groupMenu.add(jMenu1);
+ sequenceMenu.add(sequenceName);
+ sequenceMenu.add(sequenceDetails);
+ colourMenu.add(textColour);
+ colourMenu.add(noColourmenuItem);
+ colourMenu.add(clustalColour);
+ colourMenu.add(BLOSUM62Colour);
+ colourMenu.add(PIDColour);
+ colourMenu.add(zappoColour);
+ colourMenu.add(taylorColour);
+ colourMenu.add(hydrophobicityColour);
+ colourMenu.add(helixColour);
+ colourMenu.add(strandColour);
+ colourMenu.add(turnColour);
+ colourMenu.add(buriedColour);
+ colourMenu.add(nucleotideMenuItem);
+ if (ap.getAlignment().isNucleotide())
+ {
+ colourMenu.add(purinePyrimidineColour);
+ }
+ // colourMenu.add(covariationColour);
+ colourMenu.add(userDefinedColour);
+
+ if (jalview.gui.UserDefinedColours.getUserColourSchemes() != null)
+ {
+ java.util.Enumeration userColours = jalview.gui.UserDefinedColours
+ .getUserColourSchemes().keys();
+
+ while (userColours.hasMoreElements())
+ {
+ JMenuItem item = new JMenuItem(userColours.nextElement().toString());
+ item.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent evt)
+ {
+ userDefinedColour_actionPerformed(evt);
+ }
+ });
+ colourMenu.add(item);
+ }
+ }
+
+ colourMenu.addSeparator();
+ colourMenu.add(abovePIDColour);
+ colourMenu.add(conservationMenuItem);
+ // colourMenu.add(annotationMenuItem);
+ editMenu.add(copy);
+ editMenu.add(cut);
+ editMenu.add(editSequence);
+ editMenu.add(upperCase);
+ editMenu.add(lowerCase);
+ editMenu.add(toggle);
+ pdbMenu.add(pdbFromFile);
+ pdbMenu.add(enterPDB);
+ pdbMenu.add(discoverPDB);
+ jMenu1.add(groupName);
+ jMenu1.add(colourMenu);
+ jMenu1.add(showBoxes);
+ jMenu1.add(showText);
+ jMenu1.add(showColourText);
+ jMenu1.add(outline);
+ jMenu1.add(displayNonconserved);
+ structureMenu.add(pdbMenu);
+ structureMenu.add(viewStructureMenu);
+ // structureMenu.add(colStructureMenu);
noColourmenuItem.setText(MessageManager.getString("label.none"));\r
- noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- noColourmenuItem_actionPerformed();\r
- }\r
- });\r
-\r
+ noColourmenuItem.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ noColourmenuItem_actionPerformed();
+ }
+ });
+
clustalColour.setText(MessageManager.getString("label.clustalx_colours"));\r
- clustalColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- clustalColour_actionPerformed();\r
- }\r
- });\r
+ clustalColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ clustalColour_actionPerformed();
+ }
+ });
zappoColour.setText(MessageManager.getString("label.zappo"));\r
- zappoColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- zappoColour_actionPerformed();\r
- }\r
- });\r
+ zappoColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ zappoColour_actionPerformed();
+ }
+ });
taylorColour.setText(MessageManager.getString("label.taylor"));\r
- taylorColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- taylorColour_actionPerformed();\r
- }\r
- });\r
+ taylorColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ taylorColour_actionPerformed();
+ }
+ });
hydrophobicityColour.setText(MessageManager.getString("label.hydrophobicity"));\r
- hydrophobicityColour\r
- .addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- hydrophobicityColour_actionPerformed();\r
- }\r
- });\r
+ hydrophobicityColour
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ hydrophobicityColour_actionPerformed();
+ }
+ });
helixColour.setText(MessageManager.getString("label.helix_propensity"));\r
- helixColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- helixColour_actionPerformed();\r
- }\r
- });\r
+ helixColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ helixColour_actionPerformed();
+ }
+ });
strandColour.setText(MessageManager.getString("label.strand_propensity"));\r
- strandColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- strandColour_actionPerformed();\r
- }\r
- });\r
+ strandColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ strandColour_actionPerformed();
+ }
+ });
turnColour.setText(MessageManager.getString("label.turn_propensity"));\r
- turnColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- turnColour_actionPerformed();\r
- }\r
- });\r
+ turnColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ turnColour_actionPerformed();
+ }
+ });
buriedColour.setText(MessageManager.getString("label.buried_index"));\r
- buriedColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- buriedColour_actionPerformed();\r
- }\r
- });\r
+ buriedColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ buriedColour_actionPerformed();
+ }
+ });
abovePIDColour.setText(MessageManager.getString("label.above_identity_percentage"));\r
- abovePIDColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- abovePIDColour_actionPerformed();\r
- }\r
- });\r
+ abovePIDColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ abovePIDColour_actionPerformed();
+ }
+ });
userDefinedColour.setText(MessageManager.getString("action.user_defined"));\r
- userDefinedColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- userDefinedColour_actionPerformed(e);\r
- }\r
- });\r
+ userDefinedColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ userDefinedColour_actionPerformed(e);
+ }
+ });
PIDColour.setText(MessageManager.getString("label.percentage_identity"));\r
- PIDColour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- PIDColour_actionPerformed();\r
- }\r
- });\r
+ PIDColour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ PIDColour_actionPerformed();
+ }
+ });
BLOSUM62Colour.setText(MessageManager.getString("label.blosum62"));\r
- BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- BLOSUM62Colour_actionPerformed();\r
- }\r
- });\r
+ BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ BLOSUM62Colour_actionPerformed();
+ }
+ });
purinePyrimidineColour.setText(MessageManager.getString("label.purine_pyrimidine"));\r
- purinePyrimidineColour\r
- .addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- purinePyrimidineColour_actionPerformed();\r
- }\r
- });\r
- /*\r
- * covariationColour.addActionListener(new java.awt.event.ActionListener() {\r
- * public void actionPerformed(ActionEvent e) {\r
- * covariationColour_actionPerformed(); } });\r
- */\r
-\r
+ purinePyrimidineColour
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ purinePyrimidineColour_actionPerformed();
+ }
+ });
+ /*
+ * covariationColour.addActionListener(new java.awt.event.ActionListener() {
+ * public void actionPerformed(ActionEvent e) {
+ * covariationColour_actionPerformed(); } });
+ */
+
conservationMenuItem.setText(MessageManager.getString("label.conservation"));\r
- conservationMenuItem\r
- .addActionListener(new java.awt.event.ActionListener()\r
- {\r
- public void actionPerformed(ActionEvent e)\r
- {\r
- conservationMenuItem_actionPerformed();\r
- }\r
- });\r
- }\r
-\r
- protected void sequenceSelectionDetails_actionPerformed()\r
- {\r
- createSequenceDetailsReport(ap.av.getSequenceSelection());\r
- }\r
-\r
- protected void sequenceDetails_actionPerformed()\r
- {\r
- createSequenceDetailsReport(new SequenceI[]\r
- { sequence });\r
- }\r
-\r
- public void createSequenceDetailsReport(SequenceI[] sequences)\r
- {\r
- CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();\r
- StringBuffer contents = new StringBuffer();\r
- for (SequenceI seq : sequences)\r
- { \r
+ conservationMenuItem
+ .addActionListener(new java.awt.event.ActionListener()
+ {
+ public void actionPerformed(ActionEvent e)
+ {
+ conservationMenuItem_actionPerformed();
+ }
+ });
+ }
+
+ protected void sequenceSelectionDetails_actionPerformed()
+ {
+ createSequenceDetailsReport(ap.av.getSequenceSelection());
+ }
+
+ protected void sequenceDetails_actionPerformed()
+ {
+ createSequenceDetailsReport(new SequenceI[]
+ { sequence });
+ }
+
+ public void createSequenceDetailsReport(SequenceI[] sequences)
+ {
+ CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
+ StringBuffer contents = new StringBuffer();
+ for (SequenceI seq : sequences)
+ {
contents.append("<p><h2>" + MessageManager.formatMessage("label.create_sequence_details_report_annotation_for", new String[]{seq.getDisplayId(true)})\r
- + "</h2></p><p>");\r
- new SequenceAnnotationReport(null)\r
- .createSequenceAnnotationReport(\r
- contents,\r
- seq,\r
- true,\r
- true,\r
- false,\r
- (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax\r
- : null);\r
- contents.append("</p>");\r
- }\r
- cap.setText("<html>" + contents.toString() + "</html>");\r
-\r
+ + "</h2></p><p>");
+ new SequenceAnnotationReport(null)
+ .createSequenceAnnotationReport(
+ contents,
+ seq,
+ true,
+ true,
+ false,
+ (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax
+ : null);
+ contents.append("</p>");
+ }
+ cap.setText("<html>" + contents.toString() + "</html>");
+
Desktop.instance.addInternalFrame(cap, MessageManager.formatMessage("label.sequece_details_for", (sequences.length == 1 ? new String[]{sequences[0].getDisplayId(true)}: new String[]{MessageManager.getString("label.selection")}))\r
,500, 400);\r
-\r
- }\r
-\r
- protected void showNonconserved_actionPerformed()\r
- {\r
- getGroup().setShowNonconserved(displayNonconserved.isSelected());\r
- refresh();\r
- }\r
-\r
- /**\r
- * call to refresh view after settings change\r
- */\r
- void refresh()\r
- {\r
- ap.updateAnnotation();\r
- ap.paintAlignment(true);\r
-\r
- PaintRefresher.Refresh(this, ap.av.getSequenceSetId());\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void clustalColour_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
- sg.cs = new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences());\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void zappoColour_actionPerformed()\r
- {\r
- getGroup().cs = new ZappoColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void taylorColour_actionPerformed()\r
- {\r
- getGroup().cs = new TaylorColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void hydrophobicityColour_actionPerformed()\r
- {\r
- getGroup().cs = new HydrophobicColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void helixColour_actionPerformed()\r
- {\r
- getGroup().cs = new HelixColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void strandColour_actionPerformed()\r
- {\r
- getGroup().cs = new StrandColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void turnColour_actionPerformed()\r
- {\r
- getGroup().cs = new TurnColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void buriedColour_actionPerformed()\r
- {\r
- getGroup().cs = new BuriedColourScheme();\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void nucleotideMenuItem_actionPerformed()\r
- {\r
- getGroup().cs = new NucleotideColourScheme();\r
- refresh();\r
- }\r
-\r
- protected void purinePyrimidineColour_actionPerformed()\r
- {\r
- getGroup().cs = new PurinePyrimidineColourScheme();\r
- refresh();\r
- }\r
-\r
- /*\r
- * protected void covariationColour_actionPerformed() { getGroup().cs = new\r
- * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); }\r
- */\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void abovePIDColour_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
- if (sg.cs == null)\r
- {\r
- return;\r
- }\r
-\r
- if (abovePIDColour.isSelected())\r
- {\r
- sg.cs.setConsensus(AAFrequency.calculate(\r
- sg.getSequences(ap.av.getHiddenRepSequences()),\r
- sg.getStartRes(), sg.getEndRes() + 1));\r
-\r
- int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup()\r
- .getName());\r
-\r
- sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus());\r
-\r
- SliderPanel.showPIDSlider();\r
- }\r
- else\r
- // remove PIDColouring\r
- {\r
- sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
- }\r
-\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void userDefinedColour_actionPerformed(ActionEvent e)\r
- {\r
- SequenceGroup sg = getGroup();\r
-\r
+
+ }
+
+ protected void showNonconserved_actionPerformed()
+ {
+ getGroup().setShowNonconserved(displayNonconserved.isSelected());
+ refresh();
+ }
+
+ /**
+ * call to refresh view after settings change
+ */
+ void refresh()
+ {
+ ap.updateAnnotation();
+ ap.paintAlignment(true);
+
+ PaintRefresher.Refresh(this, ap.av.getSequenceSetId());
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void clustalColour_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+ sg.cs = new ClustalxColourScheme(sg, ap.av.getHiddenRepSequences());
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void zappoColour_actionPerformed()
+ {
+ getGroup().cs = new ZappoColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void taylorColour_actionPerformed()
+ {
+ getGroup().cs = new TaylorColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void hydrophobicityColour_actionPerformed()
+ {
+ getGroup().cs = new HydrophobicColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void helixColour_actionPerformed()
+ {
+ getGroup().cs = new HelixColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void strandColour_actionPerformed()
+ {
+ getGroup().cs = new StrandColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void turnColour_actionPerformed()
+ {
+ getGroup().cs = new TurnColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void buriedColour_actionPerformed()
+ {
+ getGroup().cs = new BuriedColourScheme();
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void nucleotideMenuItem_actionPerformed()
+ {
+ getGroup().cs = new NucleotideColourScheme();
+ refresh();
+ }
+
+ protected void purinePyrimidineColour_actionPerformed()
+ {
+ getGroup().cs = new PurinePyrimidineColourScheme();
+ refresh();
+ }
+
+ /*
+ * protected void covariationColour_actionPerformed() { getGroup().cs = new
+ * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); }
+ */
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void abovePIDColour_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+ if (sg.cs == null)
+ {
+ return;
+ }
+
+ if (abovePIDColour.isSelected())
+ {
+ sg.cs.setConsensus(AAFrequency.calculate(
+ sg.getSequences(ap.av.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1));
+
+ int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup()
+ .getName());
+
+ sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus());
+
+ SliderPanel.showPIDSlider();
+ }
+ else
+ // remove PIDColouring
+ {
+ sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+ }
+
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void userDefinedColour_actionPerformed(ActionEvent e)
+ {
+ SequenceGroup sg = getGroup();
+
if (e.getSource().equals(userDefinedColour))\r
- {\r
- new UserDefinedColours(ap, sg);\r
- }\r
- else\r
- {\r
- UserColourScheme udc = (UserColourScheme) UserDefinedColours\r
- .getUserColourSchemes().get(e.getActionCommand());\r
-\r
- sg.cs = udc;\r
- }\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void PIDColour_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
- sg.cs = new PIDColourScheme();\r
- sg.cs.setConsensus(AAFrequency.calculate(\r
- sg.getSequences(ap.av.getHiddenRepSequences()),\r
- sg.getStartRes(), sg.getEndRes() + 1));\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void BLOSUM62Colour_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
-\r
- sg.cs = new Blosum62ColourScheme();\r
-\r
- sg.cs.setConsensus(AAFrequency.calculate(\r
- sg.getSequences(ap.av.getHiddenRepSequences()),\r
- sg.getStartRes(), sg.getEndRes() + 1));\r
-\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void noColourmenuItem_actionPerformed()\r
- {\r
- getGroup().cs = null;\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void conservationMenuItem_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
- if (sg.cs == null)\r
- {\r
- return;\r
- }\r
-\r
- if (conservationMenuItem.isSelected())\r
- {\r
- Conservation c = new Conservation(MessageManager.getString("label.group"),\r
- ResidueProperties.propHash, 3, sg.getSequences(ap.av\r
- .getHiddenRepSequences()), sg.getStartRes(),\r
- sg.getEndRes() + 1);\r
-\r
- c.calculate();\r
- c.verdict(false, ap.av.getConsPercGaps());\r
-\r
- sg.cs.setConservation(c);\r
-\r
- SliderPanel.setConservationSlider(ap, sg.cs, sg.getName());\r
- SliderPanel.showConservationSlider();\r
- }\r
- else\r
- // remove ConservationColouring\r
- {\r
- sg.cs.setConservation(null);\r
- }\r
-\r
- refresh();\r
- }\r
-\r
- public void annotationMenuItem_actionPerformed(ActionEvent actionEvent)\r
- {\r
- SequenceGroup sg = getGroup();\r
- if (sg == null)\r
- {\r
- return;\r
- }\r
-\r
- AnnotationColourGradient acg = new AnnotationColourGradient(\r
- sequence.getAnnotation()[0], null,\r
- AnnotationColourGradient.NO_THRESHOLD);\r
-\r
- acg.setPredefinedColours(true);\r
- sg.cs = acg;\r
-\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void groupName_actionPerformed()\r
- {\r
-\r
- SequenceGroup sg = getGroup();\r
- EditNameDialog dialog = new EditNameDialog(sg.getName(),\r
+ {
+ new UserDefinedColours(ap, sg);
+ }
+ else
+ {
+ UserColourScheme udc = (UserColourScheme) UserDefinedColours
+ .getUserColourSchemes().get(e.getActionCommand());
+
+ sg.cs = udc;
+ }
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void PIDColour_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+ sg.cs = new PIDColourScheme();
+ sg.cs.setConsensus(AAFrequency.calculate(
+ sg.getSequences(ap.av.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1));
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void BLOSUM62Colour_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+
+ sg.cs = new Blosum62ColourScheme();
+
+ sg.cs.setConsensus(AAFrequency.calculate(
+ sg.getSequences(ap.av.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1));
+
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void noColourmenuItem_actionPerformed()
+ {
+ getGroup().cs = null;
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void conservationMenuItem_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+ if (sg.cs == null)
+ {
+ return;
+ }
+
+ if (conservationMenuItem.isSelected())
+ {
+ // JBPNote: Conservation name shouldn't be i18n translated
+ Conservation c = new Conservation("Group",
+ ResidueProperties.propHash, 3, sg.getSequences(ap.av
+ .getHiddenRepSequences()), sg.getStartRes(),
+ sg.getEndRes() + 1);
+
+ c.calculate();
+ c.verdict(false, ap.av.getConsPercGaps());
+
+ sg.cs.setConservation(c);
+
+ SliderPanel.setConservationSlider(ap, sg.cs, sg.getName());
+ SliderPanel.showConservationSlider();
+ }
+ else
+ // remove ConservationColouring
+ {
+ sg.cs.setConservation(null);
+ }
+
+ refresh();
+ }
+
+ public void annotationMenuItem_actionPerformed(ActionEvent actionEvent)
+ {
+ SequenceGroup sg = getGroup();
+ if (sg == null)
+ {
+ return;
+ }
+
+ AnnotationColourGradient acg = new AnnotationColourGradient(
+ sequence.getAnnotation()[0], null,
+ AnnotationColourGradient.NO_THRESHOLD);
+
+ acg.setPredefinedColours(true);
+ sg.cs = acg;
+
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void groupName_actionPerformed()
+ {
+
+ SequenceGroup sg = getGroup();
+ EditNameDialog dialog = new EditNameDialog(sg.getName(),
sg.getDescription(), " " + MessageManager.getString("label.group_name") + " ",\r
MessageManager.getString("label.group_description") + " ", MessageManager.getString("label.edit_group_name_description"),\r
- ap.alignFrame);\r
-\r
- if (!dialog.accept)\r
- {\r
- return;\r
- }\r
-\r
- sg.setName(dialog.getName());\r
- sg.setDescription(dialog.getDescription());\r
- refresh();\r
- }\r
-\r
- /**\r
- * Get selection group - adding it to the alignment if necessary.\r
- * \r
- * @return sequence group to operate on\r
- */\r
- SequenceGroup getGroup()\r
- {\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- // this method won't add a new group if it already exists\r
- if (sg != null)\r
- {\r
- ap.av.getAlignment().addGroup(sg);\r
- }\r
-\r
- return sg;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- void sequenceName_actionPerformed()\r
- {\r
- EditNameDialog dialog = new EditNameDialog(sequence.getName(),\r
+ ap.alignFrame);
+
+ if (!dialog.accept)
+ {
+ return;
+ }
+
+ sg.setName(dialog.getName());
+ sg.setDescription(dialog.getDescription());
+ refresh();
+ }
+
+ /**
+ * Get selection group - adding it to the alignment if necessary.
+ *
+ * @return sequence group to operate on
+ */
+ SequenceGroup getGroup()
+ {
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ // this method won't add a new group if it already exists
+ if (sg != null)
+ {
+ ap.av.getAlignment().addGroup(sg);
+ }
+
+ return sg;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ void sequenceName_actionPerformed()
+ {
+ EditNameDialog dialog = new EditNameDialog(sequence.getName(),
sequence.getDescription(), " " + MessageManager.getString("label.sequence_name") + " ",\r
MessageManager.getString("label.sequence_description") + " ", MessageManager.getString("label.edit_sequence_name_description"),\r
- ap.alignFrame);\r
-\r
- if (!dialog.accept)\r
- {\r
- return;\r
- }\r
-\r
- if (dialog.getName() != null)\r
- {\r
- if (dialog.getName().indexOf(" ") > -1)\r
- {\r
- JOptionPane.showMessageDialog(ap,\r
+ ap.alignFrame);
+
+ if (!dialog.accept)
+ {
+ return;
+ }
+
+ if (dialog.getName() != null)
+ {
+ if (dialog.getName().indexOf(" ") > -1)
+ {
+ JOptionPane.showMessageDialog(ap,
MessageManager.getString("label.spaces_converted_to_backslashes"),\r
MessageManager.getString("label.no_spaces_allowed_sequence_name"),\r
- JOptionPane.WARNING_MESSAGE);\r
- }\r
-\r
- sequence.setName(dialog.getName().replace(' ', '_'));\r
- ap.paintAlignment(false);\r
- }\r
-\r
- sequence.setDescription(dialog.getDescription());\r
-\r
- ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
- .getSequences());\r
-\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- void unGroupMenuItem_actionPerformed()\r
- {\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- ap.av.getAlignment().deleteGroup(sg);\r
- ap.av.setSelectionGroup(null);\r
- refresh();\r
- }\r
- void createGroupMenuItem_actionPerformed()\r
- {\r
- getGroup(); // implicitly creates group - note - should apply defaults / use standard alignment window logic for this\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void outline_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
+ JOptionPane.WARNING_MESSAGE);
+ }
+
+ sequence.setName(dialog.getName().replace(' ', '_'));
+ ap.paintAlignment(false);
+ }
+
+ sequence.setDescription(dialog.getDescription());
+
+ ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+ .getSequences());
+
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ void unGroupMenuItem_actionPerformed()
+ {
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ ap.av.getAlignment().deleteGroup(sg);
+ ap.av.setSelectionGroup(null);
+ refresh();
+ }
+ void createGroupMenuItem_actionPerformed()
+ {
+ getGroup(); // implicitly creates group - note - should apply defaults / use standard alignment window logic for this
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void outline_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
Color col = JColorChooser.showDialog(this, MessageManager.getString("label.select_outline_colour"),\r
- Color.BLUE);\r
-\r
- if (col != null)\r
- {\r
- sg.setOutlineColour(col);\r
- }\r
-\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void showBoxes_actionPerformed()\r
- {\r
- getGroup().setDisplayBoxes(showBoxes.isSelected());\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void showText_actionPerformed()\r
- {\r
- getGroup().setDisplayText(showText.isSelected());\r
- refresh();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void showColourText_actionPerformed()\r
- {\r
- getGroup().setColourText(showColourText.isSelected());\r
- refresh();\r
- }\r
-\r
- public void showLink(String url)\r
- {\r
- try\r
- {\r
- jalview.util.BrowserLauncher.openURL(url);\r
- } catch (Exception ex)\r
- {\r
- JOptionPane\r
- .showInternalMessageDialog(\r
- Desktop.desktop,\r
+ Color.BLUE);
+
+ if (col != null)
+ {
+ sg.setOutlineColour(col);
+ }
+
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void showBoxes_actionPerformed()
+ {
+ getGroup().setDisplayBoxes(showBoxes.isSelected());
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void showText_actionPerformed()
+ {
+ getGroup().setDisplayText(showText.isSelected());
+ refresh();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void showColourText_actionPerformed()
+ {
+ getGroup().setColourText(showColourText.isSelected());
+ refresh();
+ }
+
+ public void showLink(String url)
+ {
+ try
+ {
+ jalview.util.BrowserLauncher.openURL(url);
+ } catch (Exception ex)
+ {
+ JOptionPane
+ .showInternalMessageDialog(
+ Desktop.desktop,
MessageManager.getString("label.web_browser_not_found_unix"),\r
MessageManager.getString("label.web_browser_not_found"), JOptionPane.WARNING_MESSAGE);\r
-\r
- ex.printStackTrace();\r
- }\r
- }\r
-\r
- void hideSequences(boolean representGroup)\r
- {\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- if (sg == null || sg.getSize() < 1)\r
- {\r
- ap.av.hideSequence(new SequenceI[]\r
- { sequence });\r
- return;\r
- }\r
-\r
- ap.av.setSelectionGroup(null);\r
-\r
- if (representGroup)\r
- {\r
- ap.av.hideRepSequences(sequence, sg);\r
-\r
- return;\r
- }\r
-\r
- int gsize = sg.getSize();\r
- SequenceI[] hseqs;\r
-\r
- hseqs = new SequenceI[gsize];\r
-\r
- int index = 0;\r
- for (int i = 0; i < gsize; i++)\r
- {\r
- hseqs[index++] = sg.getSequenceAt(i);\r
- }\r
-\r
- ap.av.hideSequence(hseqs);\r
- // refresh(); TODO: ? needed ?\r
- ap.av.sendSelection();\r
- }\r
-\r
- public void copy_actionPerformed()\r
- {\r
- ap.alignFrame.copy_actionPerformed(null);\r
- }\r
-\r
- public void cut_actionPerformed()\r
- {\r
- ap.alignFrame.cut_actionPerformed(null);\r
- }\r
-\r
- void changeCase(ActionEvent e)\r
- {\r
- Object source = e.getSource();\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
-\r
- if (sg != null)\r
- {\r
- int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(),\r
- sg.getEndRes() + 1);\r
-\r
- String description;\r
- int caseChange;\r
-\r
- if (source == toggle)\r
- {\r
+
+ ex.printStackTrace();
+ }
+ }
+
+ void hideSequences(boolean representGroup)
+ {
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ if (sg == null || sg.getSize() < 1)
+ {
+ ap.av.hideSequence(new SequenceI[]
+ { sequence });
+ return;
+ }
+
+ ap.av.setSelectionGroup(null);
+
+ if (representGroup)
+ {
+ ap.av.hideRepSequences(sequence, sg);
+
+ return;
+ }
+
+ int gsize = sg.getSize();
+ SequenceI[] hseqs;
+
+ hseqs = new SequenceI[gsize];
+
+ int index = 0;
+ for (int i = 0; i < gsize; i++)
+ {
+ hseqs[index++] = sg.getSequenceAt(i);
+ }
+
+ ap.av.hideSequence(hseqs);
+ // refresh(); TODO: ? needed ?
+ ap.av.sendSelection();
+ }
+
+ public void copy_actionPerformed()
+ {
+ ap.alignFrame.copy_actionPerformed(null);
+ }
+
+ public void cut_actionPerformed()
+ {
+ ap.alignFrame.cut_actionPerformed(null);
+ }
+
+ void changeCase(ActionEvent e)
+ {
+ Object source = e.getSource();
+ SequenceGroup sg = ap.av.getSelectionGroup();
+
+ if (sg != null)
+ {
+ int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(),
+ sg.getEndRes() + 1);
+
+ String description;
+ int caseChange;
+
+ if (source == toggle)
+ {
description = MessageManager.getString("label.toggle_case");\r
- caseChange = ChangeCaseCommand.TOGGLE_CASE;\r
- }\r
- else if (source == upperCase)\r
- {\r
+ caseChange = ChangeCaseCommand.TOGGLE_CASE;
+ }
+ else if (source == upperCase)
+ {
description = MessageManager.getString("label.to_upper_case");\r
- caseChange = ChangeCaseCommand.TO_UPPER;\r
- }\r
- else\r
- {\r
+ caseChange = ChangeCaseCommand.TO_UPPER;
+ }
+ else
+ {
description = MessageManager.getString("label.to_lower_case");\r
- caseChange = ChangeCaseCommand.TO_LOWER;\r
- }\r
-\r
- ChangeCaseCommand caseCommand = new ChangeCaseCommand(description,\r
- sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),\r
- startEnd, caseChange);\r
-\r
- ap.alignFrame.addHistoryItem(caseCommand);\r
-\r
- ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
- .getSequences());\r
-\r
- }\r
- }\r
-\r
- public void outputText_actionPerformed(ActionEvent e)\r
- {\r
- CutAndPasteTransfer cap = new CutAndPasteTransfer();\r
- cap.setForInput(null);\r
- Desktop.addInternalFrame(cap,\r
+ caseChange = ChangeCaseCommand.TO_LOWER;
+ }
+
+ ChangeCaseCommand caseCommand = new ChangeCaseCommand(description,
+ sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
+ startEnd, caseChange);
+
+ ap.alignFrame.addHistoryItem(caseCommand);
+
+ ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+ .getSequences());
+
+ }
+ }
+
+ public void outputText_actionPerformed(ActionEvent e)
+ {
+ CutAndPasteTransfer cap = new CutAndPasteTransfer();
+ cap.setForInput(null);
+ Desktop.addInternalFrame(cap,
MessageManager.formatMessage("label.alignment_output_command", new String[]{e.getActionCommand()}), 600, 500);\r
-\r
- String[] omitHidden = null;\r
-\r
- System.out.println("PROMPT USER HERE"); // TODO: decide if a prompt happens\r
- // or we simply trust the user wants\r
- // wysiwig behaviour\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- ColumnSelection csel = new ColumnSelection(ap.av.getColumnSelection());\r
- omitHidden = ap.av.getViewAsString(true);\r
- Alignment oal = new Alignment(ap.av.getSequenceSelection());\r
- AlignmentAnnotation[] nala = ap.av.getAlignment()\r
- .getAlignmentAnnotation();\r
- if (nala != null)\r
- {\r
- for (int i = 0; i < nala.length; i++)\r
- {\r
- AlignmentAnnotation na = nala[i];\r
- oal.addAnnotation(na);\r
- }\r
- }\r
- cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),\r
- oal, omitHidden, csel, sg));\r
- oal = null;\r
- }\r
-\r
- public void pdbFromFile_actionPerformed()\r
- {\r
- jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"));\r
- chooser.setFileView(new jalview.io.JalviewFileView());\r
+
+ String[] omitHidden = null;
+
+ System.out.println("PROMPT USER HERE"); // TODO: decide if a prompt happens
+ // or we simply trust the user wants
+ // wysiwig behaviour
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ ColumnSelection csel = new ColumnSelection(ap.av.getColumnSelection());
+ omitHidden = ap.av.getViewAsString(true);
+ Alignment oal = new Alignment(ap.av.getSequenceSelection());
+ AlignmentAnnotation[] nala = ap.av.getAlignment()
+ .getAlignmentAnnotation();
+ if (nala != null)
+ {
+ for (int i = 0; i < nala.length; i++)
+ {
+ AlignmentAnnotation na = nala[i];
+ oal.addAnnotation(na);
+ }
+ }
+ cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
+ oal, omitHidden, csel, sg));
+ oal = null;
+ }
+
+ public void pdbFromFile_actionPerformed()
+ {
+ jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
+ chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(MessageManager.formatMessage("label.select_pdb_file_for", new String[]{sequence.getDisplayId(false)}));\r
chooser.setToolTipText(MessageManager.formatMessage("label.load_pdb_file_associate_with_sequence", new String[]{new Integer(sequence.getDisplayId(false)).toString()}));\r
-\r
- int value = chooser.showOpenDialog(null);\r
-\r
- if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- String choice = chooser.getSelectedFile().getPath();\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);\r
- new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,\r
- jalview.io.AppletFormatAdapter.FILE, sequence, true);\r
- }\r
-\r
- }\r
-\r
- public void enterPDB_actionPerformed()\r
- {\r
- String id = JOptionPane.showInternalInputDialog(Desktop.desktop,\r
+
+ int value = chooser.showOpenDialog(null);
+
+ if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
+ new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,
+ jalview.io.AppletFormatAdapter.FILE, sequence, true);
+ }
+
+ }
+
+ public void enterPDB_actionPerformed()
+ {
+ String id = JOptionPane.showInternalInputDialog(Desktop.desktop,
MessageManager.getString("label.enter_pdb_id"), MessageManager.getString("label.enter_pdb_id"), JOptionPane.QUESTION_MESSAGE);\r
-\r
- if (id != null && id.length() > 0)\r
- {\r
- PDBEntry entry = new PDBEntry();\r
- entry.setId(id.toUpperCase());\r
- sequence.getDatasetSequence().addPDBId(entry);\r
- }\r
- }\r
-\r
- public void discoverPDB_actionPerformed()\r
- {\r
-\r
- final SequenceI[] sequences = ((ap.av.getSelectionGroup() == null) ? new SequenceI[]\r
- { sequence }\r
- : ap.av.getSequenceSelection());\r
- Thread discpdb = new Thread(new Runnable()\r
- {\r
- public void run()\r
- {\r
-\r
- new jalview.ws.DBRefFetcher(sequences, ap.alignFrame)\r
- .fetchDBRefs(false);\r
- }\r
-\r
- });\r
- discpdb.start();\r
- }\r
-\r
- public void sequenceFeature_actionPerformed()\r
- {\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
- if (sg == null)\r
- {\r
- return;\r
- }\r
-\r
- int rsize = 0, gSize = sg.getSize();\r
- SequenceI[] rseqs, seqs = new SequenceI[gSize];\r
- SequenceFeature[] tfeatures, features = new SequenceFeature[gSize];\r
-\r
- for (int i = 0; i < gSize; i++)\r
- {\r
- int start = sg.getSequenceAt(i).findPosition(sg.getStartRes());\r
- int end = sg.findEndRes(sg.getSequenceAt(i));\r
- if (start <= end)\r
- {\r
- seqs[rsize] = sg.getSequenceAt(i).getDatasetSequence();\r
- features[rsize] = new SequenceFeature(null, null, null, start, end,\r
- "Jalview");\r
- rsize++;\r
- }\r
- }\r
- rseqs = new SequenceI[rsize];\r
- tfeatures = new SequenceFeature[rsize];\r
- System.arraycopy(seqs, 0, rseqs, 0, rsize);\r
- System.arraycopy(features, 0, tfeatures, 0, rsize);\r
- features = tfeatures;\r
- seqs = rseqs;\r
- if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs,\r
- features, true, ap))\r
- {\r
- ap.alignFrame.setShowSeqFeatures(true);\r
- ap.highlightSearchResults(null);\r
- }\r
- }\r
-\r
- public void textColour_actionPerformed()\r
- {\r
- SequenceGroup sg = getGroup();\r
- if (sg != null)\r
- {\r
- new TextColourChooser().chooseColour(ap, sg);\r
- }\r
- }\r
-\r
- public void colourByStructure(String pdbid)\r
- {\r
- Annotation[] anots = ap.av.getStructureSelectionManager()\r
- .colourSequenceFromStructure(sequence, pdbid);\r
-\r
- AlignmentAnnotation an = new AlignmentAnnotation("Structure",\r
- "Coloured by " + pdbid, anots);\r
-\r
- ap.av.getAlignment().addAnnotation(an);\r
- an.createSequenceMapping(sequence, 0, true);\r
- // an.adjustForAlignment();\r
- ap.av.getAlignment().setAnnotationIndex(an, 0);\r
-\r
- ap.adjustAnnotationHeight();\r
-\r
- sequence.addAlignmentAnnotation(an);\r
-\r
- }\r
-\r
- public void editSequence_actionPerformed(ActionEvent actionEvent)\r
- {\r
- SequenceGroup sg = ap.av.getSelectionGroup();\r
-\r
- if (sg != null)\r
- {\r
- if (sequence == null)\r
- sequence = (Sequence) sg.getSequenceAt(0);\r
-\r
- EditNameDialog dialog = new EditNameDialog(\r
- sequence.getSequenceAsString(sg.getStartRes(),\r
+
+ if (id != null && id.length() > 0)
+ {
+ PDBEntry entry = new PDBEntry();
+ entry.setId(id.toUpperCase());
+ sequence.getDatasetSequence().addPDBId(entry);
+ }
+ }
+
+ public void discoverPDB_actionPerformed()
+ {
+
+ final SequenceI[] sequences = ((ap.av.getSelectionGroup() == null) ? new SequenceI[]
+ { sequence }
+ : ap.av.getSequenceSelection());
+ Thread discpdb = new Thread(new Runnable()
+ {
+ public void run()
+ {
+
+ new jalview.ws.DBRefFetcher(sequences, ap.alignFrame)
+ .fetchDBRefs(false);
+ }
+
+ });
+ discpdb.start();
+ }
+
+ public void sequenceFeature_actionPerformed()
+ {
+ SequenceGroup sg = ap.av.getSelectionGroup();
+ if (sg == null)
+ {
+ return;
+ }
+
+ int rsize = 0, gSize = sg.getSize();
+ SequenceI[] rseqs, seqs = new SequenceI[gSize];
+ SequenceFeature[] tfeatures, features = new SequenceFeature[gSize];
+
+ for (int i = 0; i < gSize; i++)
+ {
+ int start = sg.getSequenceAt(i).findPosition(sg.getStartRes());
+ int end = sg.findEndRes(sg.getSequenceAt(i));
+ if (start <= end)
+ {
+ seqs[rsize] = sg.getSequenceAt(i).getDatasetSequence();
+ features[rsize] = new SequenceFeature(null, null, null, start, end,
+ "Jalview");
+ rsize++;
+ }
+ }
+ rseqs = new SequenceI[rsize];
+ tfeatures = new SequenceFeature[rsize];
+ System.arraycopy(seqs, 0, rseqs, 0, rsize);
+ System.arraycopy(features, 0, tfeatures, 0, rsize);
+ features = tfeatures;
+ seqs = rseqs;
+ if (ap.seqPanel.seqCanvas.getFeatureRenderer().amendFeatures(seqs,
+ features, true, ap))
+ {
+ ap.alignFrame.setShowSeqFeatures(true);
+ ap.highlightSearchResults(null);
+ }
+ }
+
+ public void textColour_actionPerformed()
+ {
+ SequenceGroup sg = getGroup();
+ if (sg != null)
+ {
+ new TextColourChooser().chooseColour(ap, sg);
+ }
+ }
+
+ public void colourByStructure(String pdbid)
+ {
+ Annotation[] anots = ap.av.getStructureSelectionManager()
+ .colourSequenceFromStructure(sequence, pdbid);
+
+ AlignmentAnnotation an = new AlignmentAnnotation("Structure",
+ "Coloured by " + pdbid, anots);
+
+ ap.av.getAlignment().addAnnotation(an);
+ an.createSequenceMapping(sequence, 0, true);
+ // an.adjustForAlignment();
+ ap.av.getAlignment().setAnnotationIndex(an, 0);
+
+ ap.adjustAnnotationHeight();
+
+ sequence.addAlignmentAnnotation(an);
+
+ }
+
+ public void editSequence_actionPerformed(ActionEvent actionEvent)
+ {
+ SequenceGroup sg = ap.av.getSelectionGroup();
+
+ if (sg != null)
+ {
+ if (sequence == null)
+ sequence = (Sequence) sg.getSequenceAt(0);
+
+ EditNameDialog dialog = new EditNameDialog(
+ sequence.getSequenceAsString(sg.getStartRes(),
sg.getEndRes() + 1), null, MessageManager.getString("label.edit_sequence"), null,\r
MessageManager.getString("label.edit_sequence"), ap.alignFrame);\r
-\r
- if (dialog.accept)\r
- {\r
+
+ if (dialog.accept)
+ {
EditCommand editCommand = new EditCommand(MessageManager.getString("label.edit_sequences"),\r
- EditCommand.REPLACE, dialog.getName().replace(' ',\r
- ap.av.getGapCharacter()),\r
- sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),\r
- sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());\r
-\r
- ap.alignFrame.addHistoryItem(editCommand);\r
-\r
- ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()\r
- .getSequences());\r
- }\r
- }\r
- }\r
-\r
-}\r
+ EditCommand.REPLACE, dialog.getName().replace(' ',
+ ap.av.getGapCharacter()),
+ sg.getSequencesAsArray(ap.av.getHiddenRepSequences()),
+ sg.getStartRes(), sg.getEndRes() + 1, ap.av.getAlignment());
+
+ ap.alignFrame.addHistoryItem(editCommand);
+
+ ap.av.firePropertyChange("alignment", null, ap.av.getAlignment()
+ .getSequences());
+ }
+ }
+ }
+
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
String string = Cache
.getDefault(
"SEQUENCE_LINKS",
- "SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+ "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$");
sequenceURLLinks = new Vector();
try
{
System.out.println(ex + "\nError parsing sequence links");
}
+ {
+ // upgrade old SRS link
+ int srsPos = sequenceURLLinks
+ .indexOf("SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");
+ if (srsPos > -1)
+ {
+ sequenceURLLinks.setElementAt(
+ "EMBL-EBI Search|http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$",
+ srsPos);
+ }
+ }
+
/**
* TODO: reformulate groupURL encoding so two or more can be stored in the
* .properties file as '|' separated strings
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
import java.util.*;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\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 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 along with Jalview. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-package jalview.gui;\r
-\r
-import jalview.datamodel.SequenceGroup;\r
-import jalview.io.JalviewFileChooser;\r
-import jalview.jbgui.GUserDefinedColours;\r
-import jalview.schemes.ColourSchemeI;\r
-import jalview.schemes.ResidueProperties;\r
-import jalview.schemes.UserColourScheme;\r
-import jalview.util.MessageManager;\r
-\r
-import java.awt.Color;\r
-import java.awt.Font;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.MouseEvent;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileOutputStream;\r
-import java.io.InputStreamReader;\r
-import java.io.OutputStreamWriter;\r
-import java.io.PrintWriter;\r
-import java.util.Hashtable;\r
-import java.util.StringTokenizer;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JInternalFrame;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.event.ChangeEvent;\r
-import javax.swing.event.ChangeListener;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class UserDefinedColours extends GUserDefinedColours implements\r
- ChangeListener\r
-{\r
- AlignmentPanel ap;\r
-\r
- SequenceGroup seqGroup;\r
-\r
- Vector selectedButtons;\r
-\r
- ColourSchemeI oldColourScheme;\r
-\r
- JInternalFrame frame;\r
-\r
- AppJmol jmol;\r
-\r
- Vector upperCaseButtons;\r
-\r
- Vector lowerCaseButtons;\r
-\r
- /**\r
- * Creates a new UserDefinedColours object.\r
- * \r
- * @param ap\r
- * DOCUMENT ME!\r
- * @param sg\r
- * DOCUMENT ME!\r
- */\r
- public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg)\r
- {\r
- super();\r
-\r
- lcaseColour.setEnabled(false);\r
-\r
- this.ap = ap;\r
- seqGroup = sg;\r
-\r
- if (seqGroup != null)\r
- {\r
- oldColourScheme = seqGroup.cs;\r
- }\r
- else\r
- {\r
- oldColourScheme = ap.av.getGlobalColourScheme();\r
- }\r
-\r
- if (oldColourScheme instanceof UserColourScheme)\r
- {\r
- schemeName.setText(((UserColourScheme) oldColourScheme).getName());\r
- if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null)\r
- {\r
- caseSensitive.setSelected(true);\r
- lcaseColour.setEnabled(true);\r
- resetButtonPanel(true);\r
- }\r
- else\r
- {\r
- resetButtonPanel(false);\r
- }\r
- }\r
- else\r
- {\r
- resetButtonPanel(false);\r
- }\r
-\r
- showFrame();\r
- }\r
-\r
- public UserDefinedColours(AppJmol jmol, ColourSchemeI oldcs)\r
- {\r
- super();\r
- this.jmol = jmol;\r
-\r
- colorChooser.getSelectionModel().addChangeListener(this);\r
-\r
- oldColourScheme = oldcs;\r
-\r
- if (oldColourScheme instanceof UserColourScheme)\r
- {\r
- schemeName.setText(((UserColourScheme) oldColourScheme).getName());\r
- }\r
-\r
- resetButtonPanel(false);\r
-\r
- showFrame();\r
-\r
- }\r
-\r
- void showFrame()\r
- {\r
- colorChooser.getSelectionModel().addChangeListener(this);\r
- frame = new JInternalFrame();\r
- frame.setContentPane(this);\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.gui;
+
+import jalview.datamodel.SequenceGroup;
+import jalview.io.JalviewFileChooser;
+import jalview.jbgui.GUserDefinedColours;
+import jalview.schemes.ColourSchemeI;
+import jalview.schemes.ResidueProperties;
+import jalview.schemes.UserColourScheme;
+import jalview.util.MessageManager;
+
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.MouseEvent;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JInternalFrame;
+import javax.swing.JOptionPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public class UserDefinedColours extends GUserDefinedColours implements
+ ChangeListener
+{
+ AlignmentPanel ap;
+
+ SequenceGroup seqGroup;
+
+ Vector selectedButtons;
+
+ ColourSchemeI oldColourScheme;
+
+ JInternalFrame frame;
+
+ AppJmol jmol;
+
+ Vector upperCaseButtons;
+
+ Vector lowerCaseButtons;
+
+ /**
+ * Creates a new UserDefinedColours object.
+ *
+ * @param ap
+ * DOCUMENT ME!
+ * @param sg
+ * DOCUMENT ME!
+ */
+ public UserDefinedColours(AlignmentPanel ap, SequenceGroup sg)
+ {
+ super();
+
+ lcaseColour.setEnabled(false);
+
+ this.ap = ap;
+ seqGroup = sg;
+
+ if (seqGroup != null)
+ {
+ oldColourScheme = seqGroup.cs;
+ }
+ else
+ {
+ oldColourScheme = ap.av.getGlobalColourScheme();
+ }
+
+ if (oldColourScheme instanceof UserColourScheme)
+ {
+ schemeName.setText(((UserColourScheme) oldColourScheme).getName());
+ if (((UserColourScheme) oldColourScheme).getLowerCaseColours() != null)
+ {
+ caseSensitive.setSelected(true);
+ lcaseColour.setEnabled(true);
+ resetButtonPanel(true);
+ }
+ else
+ {
+ resetButtonPanel(false);
+ }
+ }
+ else
+ {
+ resetButtonPanel(false);
+ }
+
+ showFrame();
+ }
+
+ public UserDefinedColours(AppJmol jmol, ColourSchemeI oldcs)
+ {
+ super();
+ this.jmol = jmol;
+
+ colorChooser.getSelectionModel().addChangeListener(this);
+
+ oldColourScheme = oldcs;
+
+ if (oldColourScheme instanceof UserColourScheme)
+ {
+ schemeName.setText(((UserColourScheme) oldColourScheme).getName());
+ }
+
+ resetButtonPanel(false);
+
+ showFrame();
+
+ }
+
+ void showFrame()
+ {
+ colorChooser.getSelectionModel().addChangeListener(this);
+ frame = new JInternalFrame();
+ frame.setContentPane(this);
Desktop.addInternalFrame(frame, MessageManager.getString("label.user_defined_colours"), 720, 370, true);\r
-\r
- if (seqGroup != null)\r
- {\r
- frame.setTitle(frame.getTitle() + " (" + seqGroup.getName() + ")");\r
- }\r
-\r
- if (new jalview.util.Platform().isAMac())\r
- {\r
- frame.setSize(760, 370);\r
- }\r
- }\r
-\r
- void resetButtonPanel(boolean caseSensitive)\r
- {\r
- buttonPanel.removeAll();\r
-\r
- if (upperCaseButtons == null)\r
- {\r
- upperCaseButtons = new Vector();\r
- }\r
-\r
- JButton button;\r
- String label;\r
- for (int i = 0; i < 20; i++)\r
- {\r
- if (caseSensitive)\r
- {\r
- label = ResidueProperties.aa[i];\r
- }\r
- else\r
- {\r
- label = ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i])\r
- .toString();\r
- }\r
-\r
- button = makeButton(label, ResidueProperties.aa[i], upperCaseButtons,\r
- i);\r
-\r
- buttonPanel.add(button);\r
- }\r
-\r
- buttonPanel.add(makeButton("B", "B", upperCaseButtons, 20));\r
- buttonPanel.add(makeButton("Z", "Z", upperCaseButtons, 21));\r
- buttonPanel.add(makeButton("X", "X", upperCaseButtons, 22));\r
- buttonPanel.add(makeButton("Gap", "-", upperCaseButtons, 23));\r
-\r
- if (!caseSensitive)\r
- {\r
- gridLayout.setRows(6);\r
- gridLayout.setColumns(4);\r
- }\r
- else\r
- {\r
- gridLayout.setRows(7);\r
- int cols = 7;\r
- gridLayout.setColumns(cols + 1);\r
-\r
- if (lowerCaseButtons == null)\r
- {\r
- lowerCaseButtons = new Vector();\r
- }\r
-\r
- for (int i = 0; i < 20; i++)\r
- {\r
- int row = i / cols + 1;\r
- int index = (row * cols) + i;\r
- button = makeButton(ResidueProperties.aa[i].toLowerCase(),\r
- ResidueProperties.aa[i].toLowerCase(), lowerCaseButtons, i);\r
-\r
- buttonPanel.add(button, index);\r
- }\r
- }\r
-\r
- if (caseSensitive)\r
- {\r
- buttonPanel.add(makeButton("b", "b", lowerCaseButtons, 20));\r
- buttonPanel.add(makeButton("z", "z", lowerCaseButtons, 21));\r
- buttonPanel.add(makeButton("x", "x", lowerCaseButtons, 22));\r
- }\r
-\r
- buttonPanel.validate();\r
- validate();\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param evt\r
- * DOCUMENT ME!\r
- */\r
- public void stateChanged(ChangeEvent evt)\r
- {\r
- if (selectedButtons != null)\r
- {\r
- JButton button = null;\r
- for (int i = 0; i < selectedButtons.size(); i++)\r
- {\r
- button = (JButton) selectedButtons.elementAt(i);\r
- button.setBackground(colorChooser.getColor());\r
- button.setForeground(button.getBackground().brighter().brighter()\r
- .brighter());\r
- }\r
- if (button == lcaseColour)\r
- {\r
- for (int i = 0; i < lowerCaseButtons.size(); i++)\r
- {\r
- button = (JButton) lowerCaseButtons.elementAt(i);\r
- button.setBackground(colorChooser.getColor());\r
- button.setForeground(button.getBackground().brighter().brighter()\r
- .brighter());\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- public void colourButtonPressed(MouseEvent e)\r
- {\r
- if (selectedButtons == null)\r
- {\r
- selectedButtons = new Vector();\r
- }\r
-\r
- JButton pressed = (JButton) e.getSource();\r
-\r
- if (e.isShiftDown())\r
- {\r
- JButton start, end = (JButton) e.getSource();\r
- if (selectedButtons.size() > 0)\r
- {\r
- start = (JButton) selectedButtons\r
- .elementAt(selectedButtons.size() - 1);\r
- }\r
- else\r
- {\r
- start = (JButton) e.getSource();\r
- }\r
-\r
- int startIndex = 0, endIndex = 0;\r
- for (int b = 0; b < buttonPanel.getComponentCount(); b++)\r
- {\r
- if (buttonPanel.getComponent(b) == start)\r
- {\r
- startIndex = b;\r
- }\r
- if (buttonPanel.getComponent(b) == end)\r
- {\r
- endIndex = b;\r
- }\r
- }\r
-\r
- if (startIndex > endIndex)\r
- {\r
- int temp = startIndex;\r
- startIndex = endIndex;\r
- endIndex = temp;\r
- }\r
-\r
- for (int b = startIndex; b <= endIndex; b++)\r
- {\r
- JButton button = (JButton) buttonPanel.getComponent(b);\r
- if (!selectedButtons.contains(button))\r
- {\r
- button.setForeground(button.getBackground().brighter().brighter());\r
- selectedButtons.add(button);\r
- }\r
- }\r
- }\r
- else if (!e.isControlDown())\r
- {\r
- for (int b = 0; b < selectedButtons.size(); b++)\r
- {\r
- JButton button = (JButton) selectedButtons.elementAt(b);\r
- button.setForeground(button.getBackground().darker().darker());\r
- }\r
- selectedButtons.clear();\r
- pressed.setForeground(pressed.getBackground().brighter().brighter());\r
- selectedButtons.addElement(pressed);\r
-\r
- }\r
- else if (e.isControlDown())\r
- {\r
- if (selectedButtons.contains(pressed))\r
- {\r
- pressed.setForeground(pressed.getBackground().darker().darker());\r
- selectedButtons.remove(pressed);\r
- }\r
- else\r
- {\r
- pressed.setForeground(pressed.getBackground().brighter().brighter());\r
- selectedButtons.addElement(pressed);\r
- }\r
- }\r
-\r
- if (selectedButtons.size() > 0)\r
- {\r
- colorChooser.setColor(((JButton) selectedButtons.elementAt(0))\r
- .getBackground());\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param label\r
- * DOCUMENT ME!\r
- * @param aa\r
- * DOCUMENT ME!\r
- */\r
- JButton makeButton(String label, String aa, Vector caseSensitiveButtons,\r
- int buttonIndex)\r
- {\r
- final JButton button;\r
- Color col;\r
-\r
- if (buttonIndex < caseSensitiveButtons.size())\r
- {\r
- button = (JButton) caseSensitiveButtons.elementAt(buttonIndex);\r
- col = button.getBackground();\r
- }\r
- else\r
- {\r
- button = new JButton();\r
- button.addMouseListener(new java.awt.event.MouseAdapter()\r
- {\r
- public void mouseClicked(MouseEvent e)\r
- {\r
- colourButtonPressed(e);\r
- }\r
- });\r
-\r
- caseSensitiveButtons.addElement(button);\r
-\r
- col = Color.white;\r
- if (oldColourScheme != null)\r
- {\r
- try\r
- {\r
- col = oldColourScheme.findColour(aa.charAt(0), -1, null);\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
- }\r
-\r
- if (caseSensitive.isSelected())\r
- {\r
- button.setMargin(new java.awt.Insets(2, 2, 2, 2));\r
- }\r
- else\r
- {\r
- button.setMargin(new java.awt.Insets(2, 14, 2, 14));\r
- }\r
-\r
- button.setBackground(col);\r
- button.setText(label);\r
- button.setForeground(col.darker().darker().darker());\r
- button.setFont(new java.awt.Font("Verdana", Font.BOLD, 10));\r
-\r
- return button;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void okButton_actionPerformed(ActionEvent e)\r
- {\r
- applyButton_actionPerformed(null);\r
-\r
- try\r
- {\r
- frame.setClosed(true);\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void applyButton_actionPerformed(ActionEvent e)\r
- {\r
- UserColourScheme ucs = getSchemeFromButtons();\r
- ucs.setName(schemeName.getText());\r
-\r
- if (seqGroup != null)\r
- {\r
- seqGroup.cs = ucs;\r
- ap.paintAlignment(true);\r
- }\r
- else if (ap != null)\r
- {\r
- ap.alignFrame.changeColour(ucs);\r
- }\r
- else if (jmol != null)\r
- {\r
- jmol.setJalviewColourScheme(ucs);\r
- }\r
- }\r
-\r
- UserColourScheme getSchemeFromButtons()\r
- {\r
-\r
- Color[] newColours = new Color[24];\r
-\r
- for (int i = 0; i < 24; i++)\r
- {\r
- JButton button = (JButton) upperCaseButtons.elementAt(i);\r
- newColours[i] = button.getBackground();\r
- }\r
-\r
- UserColourScheme ucs = new UserColourScheme(newColours);\r
-\r
- if (caseSensitive.isSelected())\r
- {\r
- newColours = new Color[23];\r
- for (int i = 0; i < 23; i++)\r
- {\r
- JButton button = (JButton) lowerCaseButtons.elementAt(i);\r
- newColours[i] = button.getBackground();\r
- }\r
- ucs.setLowerCaseColours(newColours);\r
- }\r
-\r
- if (ap != null)\r
- {\r
- ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());\r
- }\r
-\r
- return ucs;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void loadbutton_actionPerformed(ActionEvent e)\r
- {\r
- upperCaseButtons = new Vector();\r
- lowerCaseButtons = new Vector();\r
-\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]\r
- { "jc" }, new String[]\r
- { "Jalview User Colours" }, "Jalview User Colours");\r
- chooser.setFileView(new jalview.io.JalviewFileView());\r
+
+ if (seqGroup != null)
+ {
+ frame.setTitle(frame.getTitle() + " (" + seqGroup.getName() + ")");
+ }
+
+ if (new jalview.util.Platform().isAMac())
+ {
+ frame.setSize(760, 370);
+ }
+ }
+
+ void resetButtonPanel(boolean caseSensitive)
+ {
+ buttonPanel.removeAll();
+
+ if (upperCaseButtons == null)
+ {
+ upperCaseButtons = new Vector();
+ }
+
+ JButton button;
+ String label;
+ for (int i = 0; i < 20; i++)
+ {
+ if (caseSensitive)
+ {
+ label = ResidueProperties.aa[i];
+ }
+ else
+ {
+ label = ResidueProperties.aa2Triplet.get(ResidueProperties.aa[i])
+ .toString();
+ }
+
+ button = makeButton(label, ResidueProperties.aa[i], upperCaseButtons,
+ i);
+
+ buttonPanel.add(button);
+ }
+
+ buttonPanel.add(makeButton("B", "B", upperCaseButtons, 20));
+ buttonPanel.add(makeButton("Z", "Z", upperCaseButtons, 21));
+ buttonPanel.add(makeButton("X", "X", upperCaseButtons, 22));
+ buttonPanel.add(makeButton("Gap", "-", upperCaseButtons, 23));
+
+ if (!caseSensitive)
+ {
+ gridLayout.setRows(6);
+ gridLayout.setColumns(4);
+ }
+ else
+ {
+ gridLayout.setRows(7);
+ int cols = 7;
+ gridLayout.setColumns(cols + 1);
+
+ if (lowerCaseButtons == null)
+ {
+ lowerCaseButtons = new Vector();
+ }
+
+ for (int i = 0; i < 20; i++)
+ {
+ int row = i / cols + 1;
+ int index = (row * cols) + i;
+ button = makeButton(ResidueProperties.aa[i].toLowerCase(),
+ ResidueProperties.aa[i].toLowerCase(), lowerCaseButtons, i);
+
+ buttonPanel.add(button, index);
+ }
+ }
+
+ if (caseSensitive)
+ {
+ buttonPanel.add(makeButton("b", "b", lowerCaseButtons, 20));
+ buttonPanel.add(makeButton("z", "z", lowerCaseButtons, 21));
+ buttonPanel.add(makeButton("x", "x", lowerCaseButtons, 22));
+ }
+
+ buttonPanel.validate();
+ validate();
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param evt
+ * DOCUMENT ME!
+ */
+ public void stateChanged(ChangeEvent evt)
+ {
+ if (selectedButtons != null)
+ {
+ JButton button = null;
+ for (int i = 0; i < selectedButtons.size(); i++)
+ {
+ button = (JButton) selectedButtons.elementAt(i);
+ button.setBackground(colorChooser.getColor());
+ button.setForeground(button.getBackground().brighter().brighter()
+ .brighter());
+ }
+ if (button == lcaseColour)
+ {
+ for (int i = 0; i < lowerCaseButtons.size(); i++)
+ {
+ button = (JButton) lowerCaseButtons.elementAt(i);
+ button.setBackground(colorChooser.getColor());
+ button.setForeground(button.getBackground().brighter().brighter()
+ .brighter());
+ }
+ }
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ public void colourButtonPressed(MouseEvent e)
+ {
+ if (selectedButtons == null)
+ {
+ selectedButtons = new Vector();
+ }
+
+ JButton pressed = (JButton) e.getSource();
+
+ if (e.isShiftDown())
+ {
+ JButton start, end = (JButton) e.getSource();
+ if (selectedButtons.size() > 0)
+ {
+ start = (JButton) selectedButtons
+ .elementAt(selectedButtons.size() - 1);
+ }
+ else
+ {
+ start = (JButton) e.getSource();
+ }
+
+ int startIndex = 0, endIndex = 0;
+ for (int b = 0; b < buttonPanel.getComponentCount(); b++)
+ {
+ if (buttonPanel.getComponent(b) == start)
+ {
+ startIndex = b;
+ }
+ if (buttonPanel.getComponent(b) == end)
+ {
+ endIndex = b;
+ }
+ }
+
+ if (startIndex > endIndex)
+ {
+ int temp = startIndex;
+ startIndex = endIndex;
+ endIndex = temp;
+ }
+
+ for (int b = startIndex; b <= endIndex; b++)
+ {
+ JButton button = (JButton) buttonPanel.getComponent(b);
+ if (!selectedButtons.contains(button))
+ {
+ button.setForeground(button.getBackground().brighter().brighter());
+ selectedButtons.add(button);
+ }
+ }
+ }
+ else if (!e.isControlDown())
+ {
+ for (int b = 0; b < selectedButtons.size(); b++)
+ {
+ JButton button = (JButton) selectedButtons.elementAt(b);
+ button.setForeground(button.getBackground().darker().darker());
+ }
+ selectedButtons.clear();
+ pressed.setForeground(pressed.getBackground().brighter().brighter());
+ selectedButtons.addElement(pressed);
+
+ }
+ else if (e.isControlDown())
+ {
+ if (selectedButtons.contains(pressed))
+ {
+ pressed.setForeground(pressed.getBackground().darker().darker());
+ selectedButtons.remove(pressed);
+ }
+ else
+ {
+ pressed.setForeground(pressed.getBackground().brighter().brighter());
+ selectedButtons.addElement(pressed);
+ }
+ }
+
+ if (selectedButtons.size() > 0)
+ {
+ colorChooser.setColor(((JButton) selectedButtons.elementAt(0))
+ .getBackground());
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param label
+ * DOCUMENT ME!
+ * @param aa
+ * DOCUMENT ME!
+ */
+ JButton makeButton(String label, String aa, Vector caseSensitiveButtons,
+ int buttonIndex)
+ {
+ final JButton button;
+ Color col;
+
+ if (buttonIndex < caseSensitiveButtons.size())
+ {
+ button = (JButton) caseSensitiveButtons.elementAt(buttonIndex);
+ col = button.getBackground();
+ }
+ else
+ {
+ button = new JButton();
+ button.addMouseListener(new java.awt.event.MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ colourButtonPressed(e);
+ }
+ });
+
+ caseSensitiveButtons.addElement(button);
+
+ col = Color.white;
+ if (oldColourScheme != null)
+ {
+ try
+ {
+ col = oldColourScheme.findColour(aa.charAt(0), -1, null);
+ } catch (Exception ex)
+ {
+ }
+ }
+ }
+
+ if (caseSensitive.isSelected())
+ {
+ button.setMargin(new java.awt.Insets(2, 2, 2, 2));
+ }
+ else
+ {
+ button.setMargin(new java.awt.Insets(2, 14, 2, 14));
+ }
+
+ button.setBackground(col);
+ button.setText(label);
+ button.setForeground(col.darker().darker().darker());
+ button.setFont(new java.awt.Font("Verdana", Font.BOLD, 10));
+
+ return button;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void okButton_actionPerformed(ActionEvent e)
+ {
+ applyButton_actionPerformed(null);
+
+ try
+ {
+ frame.setClosed(true);
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void applyButton_actionPerformed(ActionEvent e)
+ {
+ UserColourScheme ucs = getSchemeFromButtons();
+ ucs.setName(schemeName.getText());
+
+ if (seqGroup != null)
+ {
+ seqGroup.cs = ucs;
+ ap.paintAlignment(true);
+ }
+ else if (ap != null)
+ {
+ ap.alignFrame.changeColour(ucs);
+ }
+ else if (jmol != null)
+ {
+ jmol.setJalviewColourScheme(ucs);
+ }
+ }
+
+ UserColourScheme getSchemeFromButtons()
+ {
+
+ Color[] newColours = new Color[24];
+
+ for (int i = 0; i < 24; i++)
+ {
+ JButton button = (JButton) upperCaseButtons.elementAt(i);
+ newColours[i] = button.getBackground();
+ }
+
+ UserColourScheme ucs = new UserColourScheme(newColours);
+
+ if (caseSensitive.isSelected())
+ {
+ newColours = new Color[23];
+ for (int i = 0; i < 23; i++)
+ {
+ JButton button = (JButton) lowerCaseButtons.elementAt(i);
+ newColours[i] = button.getBackground();
+ }
+ ucs.setLowerCaseColours(newColours);
+ }
+
+ if (ap != null)
+ {
+ ucs.setThreshold(0, ap.av.getIgnoreGapsConsensus());
+ }
+
+ return ucs;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void loadbutton_actionPerformed(ActionEvent e)
+ {
+ upperCaseButtons = new Vector();
+ lowerCaseButtons = new Vector();
+
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
+ { "jc" }, new String[]
+ { "Jalview User Colours" }, "Jalview User Colours");
+ chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(MessageManager.getString("label.load_colour_scheme"));\r
chooser.setToolTipText(MessageManager.getString("action.load"));\r
-\r
- int value = chooser.showOpenDialog(this);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- File choice = chooser.getSelectedFile();\r
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());\r
- String defaultColours = jalview.bin.Cache.getDefault(\r
- "USER_DEFINED_COLOURS", choice.getPath());\r
- if (defaultColours.indexOf(choice.getPath()) == -1)\r
- {\r
- defaultColours = defaultColours.concat("|")\r
- .concat(choice.getPath());\r
- }\r
-\r
- jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);\r
-\r
- UserColourScheme ucs = loadColours(choice.getAbsolutePath());\r
- Color[] colors = ucs.getColours();\r
- schemeName.setText(ucs.getName());\r
-\r
- if (ucs.getLowerCaseColours() != null)\r
- {\r
- caseSensitive.setSelected(true);\r
- lcaseColour.setEnabled(true);\r
- resetButtonPanel(true);\r
- for (int i = 0; i < lowerCaseButtons.size(); i++)\r
- {\r
- JButton button = (JButton) lowerCaseButtons.elementAt(i);\r
- button.setBackground(ucs.getLowerCaseColours()[i]);\r
- }\r
-\r
- }\r
- else\r
- {\r
- caseSensitive.setSelected(false);\r
- lcaseColour.setEnabled(false);\r
- resetButtonPanel(false);\r
- }\r
-\r
- for (int i = 0; i < upperCaseButtons.size(); i++)\r
- {\r
- JButton button = (JButton) upperCaseButtons.elementAt(i);\r
- button.setBackground(colors[i]);\r
- }\r
-\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @return DOCUMENT ME!\r
- */\r
- public static UserColourScheme loadDefaultColours()\r
- {\r
- UserColourScheme ret = null;\r
-\r
- String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS");\r
- if (colours != null)\r
- {\r
- if (colours.indexOf("|") > -1)\r
- {\r
- colours = colours.substring(0, colours.indexOf("|"));\r
- }\r
-\r
- ret = loadColours(colours);\r
- }\r
-\r
- if (ret == null)\r
- {\r
- Color[] newColours = new Color[24];\r
- for (int i = 0; i < 24; i++)\r
- {\r
- newColours[i] = Color.white;\r
- }\r
- ret = new UserColourScheme(newColours);\r
- }\r
-\r
- return ret;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param file\r
- * DOCUMENT ME!\r
- * \r
- * @return DOCUMENT ME!\r
- */\r
- static UserColourScheme loadColours(String file)\r
- {\r
- UserColourScheme ucs = null;\r
- Color[] newColours = null;\r
- try\r
- {\r
- InputStreamReader in = new InputStreamReader(\r
- new FileInputStream(file), "UTF-8");\r
-\r
- jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours();\r
-\r
- org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(\r
- jucs);\r
- jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar\r
- .unmarshal(in);\r
-\r
- newColours = new Color[24];\r
-\r
- Color[] lowerCase = null;\r
- boolean caseSensitive = false;\r
-\r
- String name;\r
- int index;\r
- for (int i = 0; i < jucs.getColourCount(); i++)\r
- {\r
- name = jucs.getColour(i).getName();\r
- if (ResidueProperties.aa3Hash.containsKey(name))\r
- {\r
- index = ((Integer) ResidueProperties.aa3Hash.get(name))\r
- .intValue();\r
- }\r
- else\r
- {\r
- index = ResidueProperties.aaIndex[name.charAt(0)];\r
- }\r
- if (index == -1)\r
- {\r
- continue;\r
- }\r
-\r
- if (name.toLowerCase().equals(name))\r
- {\r
- if (lowerCase == null)\r
- {\r
- lowerCase = new Color[23];\r
- }\r
- caseSensitive = true;\r
- lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i)\r
- .getRGB(), 16));\r
- }\r
- else\r
- {\r
- newColours[index] = new Color(Integer.parseInt(jucs.getColour(i)\r
- .getRGB(), 16));\r
- }\r
- }\r
-\r
- if (newColours != null)\r
- {\r
- ucs = new UserColourScheme(newColours);\r
- ucs.setName(jucs.getSchemeName());\r
- if (caseSensitive)\r
- {\r
- ucs.setLowerCaseColours(lowerCase);\r
- }\r
- }\r
-\r
- } catch (Exception ex)\r
- {\r
- // Could be Archive Jalview format\r
- try\r
- {\r
- InputStreamReader in = new InputStreamReader(new FileInputStream(\r
- file), "UTF-8");\r
-\r
- jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours();\r
-\r
- jucs = (jalview.binding.JalviewUserColours) jucs.unmarshal(in);\r
-\r
- newColours = new Color[jucs.getColourCount()];\r
-\r
- for (int i = 0; i < 24; i++)\r
- {\r
- newColours[i] = new Color(Integer.parseInt(jucs.getColour(i)\r
- .getRGB(), 16));\r
- }\r
- if (newColours != null)\r
- {\r
- ucs = new UserColourScheme(newColours);\r
- ucs.setName(jucs.getSchemeName());\r
- }\r
- } catch (Exception ex2)\r
- {\r
- ex2.printStackTrace();\r
- }\r
-\r
- if (newColours == null)\r
- {\r
- System.out.println("Error loading User ColourFile\n" + ex);\r
- }\r
- }\r
-\r
- return ucs;\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void savebutton_actionPerformed(ActionEvent e)\r
- {\r
- if (schemeName.getText().trim().length() < 1)\r
- {\r
- JOptionPane.showInternalMessageDialog(Desktop.desktop,\r
- MessageManager.getString("label.user_colour_scheme_must_have_name"),\r
- MessageManager.getString("label.no_name_colour_scheme"), JOptionPane.WARNING_MESSAGE);\r
- return;\r
- }\r
-\r
- if (userColourSchemes != null\r
- && userColourSchemes.containsKey(schemeName.getText()))\r
- {\r
- int reply = JOptionPane.showInternalConfirmDialog(\r
- Desktop.desktop,\r
- MessageManager.formatMessage("label.colour_scheme_exists_overwrite", new String[]{schemeName.getText(),schemeName.getText()}),\r
- MessageManager.getString("label.duplicate_scheme_name"), JOptionPane.YES_NO_OPTION);\r
- if (reply != JOptionPane.YES_OPTION)\r
- {\r
- return;\r
- }\r
-\r
- userColourSchemes.remove(schemeName.getText());\r
- }\r
- JalviewFileChooser chooser = new JalviewFileChooser(\r
- jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]\r
- { "jc" }, new String[]\r
- { "Jalview User Colours" }, "Jalview User Colours");\r
-\r
- chooser.setFileView(new jalview.io.JalviewFileView());\r
- chooser.setDialogTitle("Save colour scheme");\r
+
+ int value = chooser.showOpenDialog(this);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ File choice = chooser.getSelectedFile();
+ jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice.getParent());
+ String defaultColours = jalview.bin.Cache.getDefault(
+ "USER_DEFINED_COLOURS", choice.getPath());
+ if (defaultColours.indexOf(choice.getPath()) == -1)
+ {
+ defaultColours = defaultColours.concat("|")
+ .concat(choice.getPath());
+ }
+
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);
+
+ UserColourScheme ucs = loadColours(choice.getAbsolutePath());
+ Color[] colors = ucs.getColours();
+ schemeName.setText(ucs.getName());
+
+ if (ucs.getLowerCaseColours() != null)
+ {
+ caseSensitive.setSelected(true);
+ lcaseColour.setEnabled(true);
+ resetButtonPanel(true);
+ for (int i = 0; i < lowerCaseButtons.size(); i++)
+ {
+ JButton button = (JButton) lowerCaseButtons.elementAt(i);
+ button.setBackground(ucs.getLowerCaseColours()[i]);
+ }
+
+ }
+ else
+ {
+ caseSensitive.setSelected(false);
+ lcaseColour.setEnabled(false);
+ resetButtonPanel(false);
+ }
+
+ for (int i = 0; i < upperCaseButtons.size(); i++)
+ {
+ JButton button = (JButton) upperCaseButtons.elementAt(i);
+ button.setBackground(colors[i]);
+ }
+
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ public static UserColourScheme loadDefaultColours()
+ {
+ UserColourScheme ret = null;
+
+ String colours = jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS");
+ if (colours != null)
+ {
+ if (colours.indexOf("|") > -1)
+ {
+ colours = colours.substring(0, colours.indexOf("|"));
+ }
+
+ ret = loadColours(colours);
+ }
+
+ if (ret == null)
+ {
+ Color[] newColours = new Color[24];
+ for (int i = 0; i < 24; i++)
+ {
+ newColours[i] = Color.white;
+ }
+ ret = new UserColourScheme(newColours);
+ }
+
+ return ret;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param file
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ static UserColourScheme loadColours(String file)
+ {
+ UserColourScheme ucs = null;
+ Color[] newColours = null;
+ try
+ {
+ InputStreamReader in = new InputStreamReader(
+ new FileInputStream(file), "UTF-8");
+
+ jalview.schemabinding.version2.JalviewUserColours jucs = new jalview.schemabinding.version2.JalviewUserColours();
+
+ org.exolab.castor.xml.Unmarshaller unmar = new org.exolab.castor.xml.Unmarshaller(
+ jucs);
+ jucs = (jalview.schemabinding.version2.JalviewUserColours) unmar
+ .unmarshal(in);
+
+ newColours = new Color[24];
+
+ Color[] lowerCase = null;
+ boolean caseSensitive = false;
+
+ String name;
+ int index;
+ for (int i = 0; i < jucs.getColourCount(); i++)
+ {
+ name = jucs.getColour(i).getName();
+ if (ResidueProperties.aa3Hash.containsKey(name))
+ {
+ index = ((Integer) ResidueProperties.aa3Hash.get(name))
+ .intValue();
+ }
+ else
+ {
+ index = ResidueProperties.aaIndex[name.charAt(0)];
+ }
+ if (index == -1)
+ {
+ continue;
+ }
+
+ if (name.toLowerCase().equals(name))
+ {
+ if (lowerCase == null)
+ {
+ lowerCase = new Color[23];
+ }
+ caseSensitive = true;
+ lowerCase[index] = new Color(Integer.parseInt(jucs.getColour(i)
+ .getRGB(), 16));
+ }
+ else
+ {
+ newColours[index] = new Color(Integer.parseInt(jucs.getColour(i)
+ .getRGB(), 16));
+ }
+ }
+
+ if (newColours != null)
+ {
+ ucs = new UserColourScheme(newColours);
+ ucs.setName(jucs.getSchemeName());
+ if (caseSensitive)
+ {
+ ucs.setLowerCaseColours(lowerCase);
+ }
+ }
+
+ } catch (Exception ex)
+ {
+ // Could be Archive Jalview format
+ try
+ {
+ InputStreamReader in = new InputStreamReader(new FileInputStream(
+ file), "UTF-8");
+
+ jalview.binding.JalviewUserColours jucs = new jalview.binding.JalviewUserColours();
+
+ jucs = (jalview.binding.JalviewUserColours) jucs.unmarshal(in);
+
+ newColours = new Color[jucs.getColourCount()];
+
+ for (int i = 0; i < 24; i++)
+ {
+ newColours[i] = new Color(Integer.parseInt(jucs.getColour(i)
+ .getRGB(), 16));
+ }
+ if (newColours != null)
+ {
+ ucs = new UserColourScheme(newColours);
+ ucs.setName(jucs.getSchemeName());
+ }
+ } catch (Exception ex2)
+ {
+ ex2.printStackTrace();
+ }
+
+ if (newColours == null)
+ {
+ System.out.println("Error loading User ColourFile\n" + ex);
+ }
+ }
+
+ return ucs;
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void savebutton_actionPerformed(ActionEvent e)
+ {
+ if (schemeName.getText().trim().length() < 1)
+ {
+ JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ MessageManager.getString("label.user_colour_scheme_must_have_name"),
+ MessageManager.getString("label.no_name_colour_scheme"), JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+
+ if (userColourSchemes != null
+ && userColourSchemes.containsKey(schemeName.getText()))
+ {
+ int reply = JOptionPane.showInternalConfirmDialog(
+ Desktop.desktop,
+ MessageManager.formatMessage("label.colour_scheme_exists_overwrite", new String[]{schemeName.getText(),schemeName.getText()}),
+ MessageManager.getString("label.duplicate_scheme_name"), JOptionPane.YES_NO_OPTION);
+ if (reply != JOptionPane.YES_OPTION)
+ {
+ return;
+ }
+
+ userColourSchemes.remove(schemeName.getText());
+ }
+ JalviewFileChooser chooser = new JalviewFileChooser(
+ jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
+ { "jc" }, new String[]
+ { "Jalview User Colours" }, "Jalview User Colours");
+
+ chooser.setFileView(new jalview.io.JalviewFileView());
+ chooser.setDialogTitle("Save colour scheme");
chooser.setToolTipText(MessageManager.getString("action.save"));\r
-\r
- int value = chooser.showSaveDialog(this);\r
-\r
- if (value == JalviewFileChooser.APPROVE_OPTION)\r
- {\r
- String choice = chooser.getSelectedFile().getPath();\r
- String defaultColours = jalview.bin.Cache.getDefault(\r
- "USER_DEFINED_COLOURS", choice);\r
- if (defaultColours.indexOf(choice) == -1)\r
- {\r
- if (defaultColours.length() > 0)\r
- {\r
- defaultColours = defaultColours.concat("|");\r
- }\r
- defaultColours = defaultColours.concat(choice);\r
- }\r
-\r
- userColourSchemes.put(schemeName.getText(), getSchemeFromButtons());\r
-\r
- ap.alignFrame.updateUserColourMenu();\r
-\r
- jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);\r
-\r
- jalview.schemabinding.version2.JalviewUserColours ucs = new jalview.schemabinding.version2.JalviewUserColours();\r
-\r
- ucs.setSchemeName(schemeName.getText());\r
- try\r
- {\r
- PrintWriter out = new PrintWriter(new OutputStreamWriter(\r
- new FileOutputStream(choice), "UTF-8"));\r
-\r
- for (int i = 0; i < buttonPanel.getComponentCount(); i++)\r
- {\r
- JButton button = (JButton) buttonPanel.getComponent(i);\r
- jalview.schemabinding.version2.Colour col = new jalview.schemabinding.version2.Colour();\r
- col.setName(button.getText());\r
- col.setRGB(jalview.util.Format.getHexString(button\r
- .getBackground()));\r
- ucs.addColour(col);\r
- }\r
-\r
- ucs.marshal(out);\r
- out.close();\r
- } catch (Exception ex)\r
- {\r
- ex.printStackTrace();\r
- }\r
- }\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @param e\r
- * DOCUMENT ME!\r
- */\r
- protected void cancelButton_actionPerformed(ActionEvent e)\r
- {\r
- if (ap != null)\r
- {\r
- if (seqGroup != null)\r
- {\r
- seqGroup.cs = oldColourScheme;\r
- }\r
- else if (ap != null)\r
- {\r
- ap.av.setGlobalColourScheme(oldColourScheme);\r
- }\r
- ap.paintAlignment(true);\r
- }\r
-\r
- if (jmol != null)\r
- {\r
- jmol.setJalviewColourScheme(oldColourScheme);\r
- }\r
-\r
- try\r
- {\r
- frame.setClosed(true);\r
- } catch (Exception ex)\r
- {\r
- }\r
- }\r
-\r
- static Hashtable userColourSchemes;\r
-\r
- public static Hashtable getUserColourSchemes()\r
- {\r
- return userColourSchemes;\r
- }\r
-\r
- public static void initUserColourSchemes(String files)\r
- {\r
- userColourSchemes = new Hashtable();\r
-\r
- if (files == null || files.length() == 0)\r
- {\r
- return;\r
- }\r
-\r
- // In case colours can't be loaded, we'll remove them\r
- // from the default list here.\r
- StringBuffer coloursFound = new StringBuffer();\r
- StringTokenizer st = new StringTokenizer(files, "|");\r
- while (st.hasMoreElements())\r
- {\r
- String file = st.nextToken();\r
- try\r
- {\r
- UserColourScheme ucs = loadColours(file);\r
- if (ucs != null)\r
- {\r
- if (coloursFound.length() > 0)\r
- {\r
- coloursFound.append("|");\r
- }\r
- coloursFound.append(file);\r
- userColourSchemes.put(ucs.getName(), ucs);\r
- }\r
- } catch (Exception ex)\r
- {\r
- System.out.println("Error loading User ColourFile\n" + ex);\r
- }\r
- }\r
- if (!files.equals(coloursFound.toString()))\r
- {\r
- if (coloursFound.toString().length() > 1)\r
- {\r
- jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
- coloursFound.toString());\r
- }\r
- else\r
- {\r
- jalview.bin.Cache.applicationProperties\r
- .remove("USER_DEFINED_COLOURS");\r
- }\r
- }\r
- }\r
-\r
- public static void removeColourFromDefaults(String target)\r
- {\r
- // The only way to find colours by name is to load them in\r
- // In case colours can't be loaded, we'll remove them\r
- // from the default list here.\r
-\r
- userColourSchemes = new Hashtable();\r
-\r
- StringBuffer coloursFound = new StringBuffer();\r
- StringTokenizer st = new StringTokenizer(\r
- jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|");\r
-\r
- while (st.hasMoreElements())\r
- {\r
- String file = st.nextToken();\r
- try\r
- {\r
- UserColourScheme ucs = loadColours(file);\r
- if (ucs != null && !ucs.getName().equals(target))\r
- {\r
- if (coloursFound.length() > 0)\r
- {\r
- coloursFound.append("|");\r
- }\r
- coloursFound.append(file);\r
- userColourSchemes.put(ucs.getName(), ucs);\r
- }\r
- } catch (Exception ex)\r
- {\r
- System.out.println("Error loading User ColourFile\n" + ex);\r
- }\r
- }\r
-\r
- if (coloursFound.toString().length() > 1)\r
- {\r
- jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",\r
- coloursFound.toString());\r
- }\r
- else\r
- {\r
- jalview.bin.Cache.applicationProperties\r
- .remove("USER_DEFINED_COLOURS");\r
- }\r
-\r
- }\r
-\r
- public void caseSensitive_actionPerformed(ActionEvent e)\r
- {\r
- resetButtonPanel(caseSensitive.isSelected());\r
- lcaseColour.setEnabled(caseSensitive.isSelected());\r
- }\r
-\r
- public void lcaseColour_actionPerformed(ActionEvent e)\r
- {\r
- if (selectedButtons == null)\r
- {\r
- selectedButtons = new Vector();\r
- }\r
- else\r
- {\r
- selectedButtons.clear();\r
- }\r
- selectedButtons.add(lcaseColour);\r
- }\r
-\r
-}\r
+
+ int value = chooser.showSaveDialog(this);
+
+ if (value == JalviewFileChooser.APPROVE_OPTION)
+ {
+ String choice = chooser.getSelectedFile().getPath();
+ String defaultColours = jalview.bin.Cache.getDefault(
+ "USER_DEFINED_COLOURS", choice);
+ if (defaultColours.indexOf(choice) == -1)
+ {
+ if (defaultColours.length() > 0)
+ {
+ defaultColours = defaultColours.concat("|");
+ }
+ defaultColours = defaultColours.concat(choice);
+ }
+
+ userColourSchemes.put(schemeName.getText(), getSchemeFromButtons());
+
+ ap.alignFrame.updateUserColourMenu();
+
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS", defaultColours);
+
+ jalview.schemabinding.version2.JalviewUserColours ucs = new jalview.schemabinding.version2.JalviewUserColours();
+
+ ucs.setSchemeName(schemeName.getText());
+ try
+ {
+ PrintWriter out = new PrintWriter(new OutputStreamWriter(
+ new FileOutputStream(choice), "UTF-8"));
+
+ for (int i = 0; i < buttonPanel.getComponentCount(); i++)
+ {
+ JButton button = (JButton) buttonPanel.getComponent(i);
+ jalview.schemabinding.version2.Colour col = new jalview.schemabinding.version2.Colour();
+ col.setName(button.getText());
+ col.setRGB(jalview.util.Format.getHexString(button
+ .getBackground()));
+ ucs.addColour(col);
+ }
+
+ ucs.marshal(out);
+ out.close();
+ } catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ }
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @param e
+ * DOCUMENT ME!
+ */
+ protected void cancelButton_actionPerformed(ActionEvent e)
+ {
+ if (ap != null)
+ {
+ if (seqGroup != null)
+ {
+ seqGroup.cs = oldColourScheme;
+ }
+ else if (ap != null)
+ {
+ ap.av.setGlobalColourScheme(oldColourScheme);
+ }
+ ap.paintAlignment(true);
+ }
+
+ if (jmol != null)
+ {
+ jmol.setJalviewColourScheme(oldColourScheme);
+ }
+
+ try
+ {
+ frame.setClosed(true);
+ } catch (Exception ex)
+ {
+ }
+ }
+
+ static Hashtable userColourSchemes;
+
+ public static Hashtable getUserColourSchemes()
+ {
+ return userColourSchemes;
+ }
+
+ public static void initUserColourSchemes(String files)
+ {
+ userColourSchemes = new Hashtable();
+
+ if (files == null || files.length() == 0)
+ {
+ return;
+ }
+
+ // In case colours can't be loaded, we'll remove them
+ // from the default list here.
+ StringBuffer coloursFound = new StringBuffer();
+ StringTokenizer st = new StringTokenizer(files, "|");
+ while (st.hasMoreElements())
+ {
+ String file = st.nextToken();
+ try
+ {
+ UserColourScheme ucs = loadColours(file);
+ if (ucs != null)
+ {
+ if (coloursFound.length() > 0)
+ {
+ coloursFound.append("|");
+ }
+ coloursFound.append(file);
+ userColourSchemes.put(ucs.getName(), ucs);
+ }
+ } catch (Exception ex)
+ {
+ System.out.println("Error loading User ColourFile\n" + ex);
+ }
+ }
+ if (!files.equals(coloursFound.toString()))
+ {
+ if (coloursFound.toString().length() > 1)
+ {
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",
+ coloursFound.toString());
+ }
+ else
+ {
+ jalview.bin.Cache.applicationProperties
+ .remove("USER_DEFINED_COLOURS");
+ }
+ }
+ }
+
+ public static void removeColourFromDefaults(String target)
+ {
+ // The only way to find colours by name is to load them in
+ // In case colours can't be loaded, we'll remove them
+ // from the default list here.
+
+ userColourSchemes = new Hashtable();
+
+ StringBuffer coloursFound = new StringBuffer();
+ StringTokenizer st = new StringTokenizer(
+ jalview.bin.Cache.getProperty("USER_DEFINED_COLOURS"), "|");
+
+ while (st.hasMoreElements())
+ {
+ String file = st.nextToken();
+ try
+ {
+ UserColourScheme ucs = loadColours(file);
+ if (ucs != null && !ucs.getName().equals(target))
+ {
+ if (coloursFound.length() > 0)
+ {
+ coloursFound.append("|");
+ }
+ coloursFound.append(file);
+ userColourSchemes.put(ucs.getName(), ucs);
+ }
+ } catch (Exception ex)
+ {
+ System.out.println("Error loading User ColourFile\n" + ex);
+ }
+ }
+
+ if (coloursFound.toString().length() > 1)
+ {
+ jalview.bin.Cache.setProperty("USER_DEFINED_COLOURS",
+ coloursFound.toString());
+ }
+ else
+ {
+ jalview.bin.Cache.applicationProperties
+ .remove("USER_DEFINED_COLOURS");
+ }
+
+ }
+
+ public void caseSensitive_actionPerformed(ActionEvent e)
+ {
+ resetButtonPanel(caseSensitive.isSelected());
+ lcaseColour.setEnabled(caseSensitive.isSelected());
+ }
+
+ public void lcaseColour_actionPerformed(ActionEvent e)
+ {
+ if (selectedButtons == null)
+ {
+ selectedButtons = new Vector();
+ }
+ else
+ {
+ selectedButtons.clear();
+ }
+ selectedButtons.add(lcaseColour);
+ }
+
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
import jalview.util.MessageManager;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.gui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
* that are writable by the application.
*/
public static final String[] WRITABLE_EXTENSIONS = new String[]
- { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
+ { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
"sto,stk" };
/**
* corresponding to READABLE_FNAMES
*/
public static final String[] READABLE_EXTENSIONS = new String[]
- { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
+ { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
"sto,stk" }; // ,
// ".blast"
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/**
* PredFile.java
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
// NewickFile.java
// Tree I/O
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/*
* This extension was written by Benjamin Schuster-Boeckler at sanger.ac.uk
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.packed;
/**
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.packed;
import jalview.datamodel.AlignmentI;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.packed;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.packed;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io.vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.javascript;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.javascript;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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/>.
- */package jalview.javascript;
-
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.javascript;
public interface JsCallBack
{
public jalview.appletgui.AlignFrame getAlignFrame();
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.javascript;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.javascript;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.javascript;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
+import jalview.util.MessageManager;
+
import java.awt.*;
import java.awt.event.*;
+
import javax.swing.*;
/**
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.jbgui;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.math;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.math;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.renderer;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.renderer;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * This class was automatically generated with
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
- * Schema.
- * $Id$
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * This class was automatically generated with
- * <a href="http://www.castor.org">Castor 1.1</a>, using an XML
- * Schema.
- * $Id$
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemabinding.version2.descriptors;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.structure;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/**
* author: Lauren Michelle Lui
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/**
* A class for formatting numbers that follows printf conventions.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.util;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.viewmodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.viewmodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.workers;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.workers;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.workers;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.workers;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.workers;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;\r
-\r
-import jalview.datamodel.Alignment;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.DBRefSource;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.ws.dbsources.das.api.jalviewSourceI;\r
-import jalview.ws.seqfetcher.ASequenceFetcher;\r
-import jalview.ws.seqfetcher.DbSourceProxy;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Enumeration;\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-/**\r
- * This is the the concrete implementation of the sequence retrieval interface\r
- * and abstract class in jalview.ws.seqfetcher. This implements the run-time\r
- * discovery of sequence database clients, and provides a hardwired main for\r
- * testing all registered handlers.\r
- * \r
- */\r
-public class SequenceFetcher extends ASequenceFetcher\r
-{\r
- /**\r
- * Thread safe construction of database proxies TODO: extend to a configurable\r
- * database plugin mechanism where classes are instantiated by reflection and\r
- * queried for their DbRefSource and version association.\r
- * \r
- */\r
- public SequenceFetcher()\r
- {\r
- this(true);\r
- }\r
- public SequenceFetcher(boolean addDas)\r
- {\r
- addDBRefSourceImpl(jalview.ws.dbsources.EmblSource.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.EmblCdsSouce.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.Uniprot.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.UnprotName.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.Pdb.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.PfamFull.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.PfamSeed.class); // ensures Seed\r
- // alignment is\r
- // 'default' for\r
- // PFAM\r
- addDBRefSourceImpl(jalview.ws.dbsources.RfamFull.class);\r
- addDBRefSourceImpl(jalview.ws.dbsources.RfamSeed.class);\r
- if (addDas) {\r
- registerDasSequenceSources();\r
- }\r
- }\r
-\r
- /**\r
- * return an ordered list of database sources where non-das database classes\r
- * appear before das database classes\r
- */\r
- public String[] getOrderedSupportedSources()\r
- {\r
- String[] srcs = this.getSupportedDb();\r
- ArrayList<String> dassrc = new ArrayList<String>(), nondas = new ArrayList<String>();\r
- for (int i = 0; i < srcs.length; i++)\r
- {\r
- boolean das = false, skip = false;\r
- String nm;\r
- for (DbSourceProxy dbs : getSourceProxy(srcs[i]))\r
- {\r
- // Skip the alignment databases for the moment - they're not useful for\r
- // verifying a single sequence against its reference source\r
- if (dbs.isA(DBRefSource.ALIGNMENTDB))\r
- {\r
- skip = true;\r
- }\r
- else\r
- {\r
- nm = dbs.getDbName();\r
- if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)\r
- {\r
- if (nm.startsWith("das:"))\r
- {\r
- nm = nm.substring(4);\r
- das = true;\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- if (skip)\r
- {\r
- continue;\r
- }\r
- if (das)\r
- {\r
- dassrc.add(srcs[i]);\r
- }\r
- else\r
- {\r
- nondas.add(srcs[i]);\r
- }\r
- }\r
- String[] tosort = nondas.toArray(new String[0]), sorted = nondas\r
- .toArray(new String[0]);\r
- for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
- {\r
- tosort[j] = tosort[j].toLowerCase();\r
- }\r
- jalview.util.QuickSort.sort(tosort, sorted);\r
- // construct array with all sources listed\r
-\r
- srcs = new String[sorted.length + dassrc.size()];\r
- int i = 0;\r
- for (int j = sorted.length - 1; j >= 0; j--, i++)\r
- {\r
- srcs[i] = sorted[j];\r
- sorted[j] = null;\r
- }\r
-\r
- sorted = dassrc.toArray(new String[0]);\r
- tosort = dassrc.toArray(new String[0]);\r
- for (int j = 0, jSize = sorted.length; j < jSize; j++)\r
- {\r
- tosort[j] = tosort[j].toLowerCase();\r
- }\r
- jalview.util.QuickSort.sort(tosort, sorted);\r
- for (int j = sorted.length - 1; j >= 0; j--, i++)\r
- {\r
- srcs[i] = sorted[j];\r
- }\r
- return srcs;\r
- }\r
-\r
- /**\r
- * return plaintext databse list suitable for using in a GUI element\r
- */\r
- public String[] _getOrderedSupportedSources()\r
- {\r
- String[] srcs = this.getSupportedDb();\r
- ArrayList dassrc = new ArrayList(), nondas = new ArrayList();\r
- for (int i = 0; i < srcs.length; i++)\r
- {\r
- for (DbSourceProxy dbs : getSourceProxy(srcs[i]))\r
- {\r
- String nm = dbs.getDbName();\r
- if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)\r
- {\r
- if (nm.startsWith("das:"))\r
- {\r
- nm = nm.substring(4);\r
- }\r
- dassrc.add(new String[]\r
- { srcs[i], nm.toUpperCase() });\r
- }\r
- else\r
- {\r
- nondas.add(new String[]\r
- { srcs[i], nm.toUpperCase() });\r
- }\r
- }\r
- }\r
- Object[] sorted = nondas.toArray();\r
- String[] tosort = new String[sorted.length];\r
- nondas.clear();\r
- for (int j = 0; j < sorted.length; j++)\r
- {\r
- tosort[j] = ((String[]) sorted[j])[1];\r
- }\r
- jalview.util.QuickSort.sort(tosort, sorted);\r
- int i = 0;\r
- // construct array with all sources listed\r
- srcs = new String[sorted.length + dassrc.size()];\r
- for (int j = sorted.length - 1; j >= 0; j--, i++)\r
- {\r
- srcs[i] = ((String[]) sorted[j])[0];\r
- sorted[j] = null;\r
- }\r
-\r
- sorted = dassrc.toArray();\r
- tosort = new String[sorted.length];\r
- dassrc.clear();\r
- for (int j = 0; j < sorted.length; j++)\r
- {\r
- tosort[j] = ((String[]) sorted[j])[1];\r
- }\r
- jalview.util.QuickSort.sort(tosort, sorted);\r
- for (int j = sorted.length - 1; j >= 0; j--, i++)\r
- {\r
- srcs[i] = ((String[]) sorted[j])[0];\r
- sorted[j] = null;\r
- }\r
- return srcs;\r
- }\r
-\r
- /**\r
- * simple run method to test dbsources.\r
- * \r
- * @param argv\r
- */\r
- public static void main(String[] argv)\r
- {\r
- AlignmentI ds = null;\r
- Vector noProds = new Vector();\r
- String usage = "SequenceFetcher.main [-nodas] [<DBNAME> [<ACCNO>]]\n"\r
- + "With no arguments, all DbSources will be queried with their test Accession number.\n"\r
- + "With one argument, the argument will be resolved to one or more db sources and each will be queried with their test accession only.\n"\r
- + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to <DBNAME> and retrieve <ACCNO> from it.\n"\r
- + "The -nodas option will exclude DAS sources from the database fetchers Jalview will try to use.";\r
- boolean withDas=true;\r
- if (argv!=null && argv.length>0 && argv[0].toLowerCase().startsWith("-nodas"))\r
- {\r
- withDas=false;\r
- String targs[] = new String[argv.length-1];\r
- System.arraycopy(argv, 1, targs, 0, targs.length);\r
- argv=targs;\r
- }\r
- if (argv != null && argv.length > 0)\r
- {\r
- List<DbSourceProxy> sps = new SequenceFetcher(withDas)\r
- .getSourceProxy(argv[0]);\r
-\r
- if (sps != null)\r
- {\r
- for (DbSourceProxy sp : sps)\r
- {\r
- AlignmentI al = null;\r
- try\r
- {\r
- al = sp.getSequenceRecords(argv.length>1 ? argv[1] : sp.getTestQuery());\r
- } catch (Exception e)\r
- {\r
- e.printStackTrace();\r
- System.err.println("Error when retrieving " + (argv.length>1 ? argv[1] : sp.getTestQuery())\r
- + " from " + argv[0] + "\nUsage: " + usage);\r
- }\r
- SequenceI[] prod = al.getSequencesArray();\r
- if (al != null)\r
- {\r
- for (int p = 0; p < prod.length; p++)\r
- {\r
- System.out.println("Prod " + p + ": "\r
- + prod[p].getDisplayId(true) + " : "\r
- + prod[p].getDescription());\r
- }\r
- }\r
- }\r
- return;\r
- }\r
- else\r
- {\r
- System.err.println("Can't resolve " + argv[0]\r
- + " as a database name. Allowed values are :\n"\r
- + new SequenceFetcher().getSupportedDb());\r
- }\r
- System.out.println(usage);\r
- return;\r
- }\r
- ASequenceFetcher sfetcher = new SequenceFetcher(withDas);\r
- String[] dbSources = sfetcher.getSupportedDb();\r
- for (int dbsource = 0; dbsource < dbSources.length; dbsource++)\r
- {\r
- String db = dbSources[dbsource];\r
- // skip me\r
- if (db.equals(DBRefSource.PDB))\r
- continue;\r
- for (DbSourceProxy sp : sfetcher.getSourceProxy(db))\r
- {\r
- System.out.println("Source: " + sp.getDbName() + " (" + db\r
- + "): retrieving test:" + sp.getTestQuery());\r
- AlignmentI al = null;\r
- try\r
- {\r
- al = sp.getSequenceRecords(sp.getTestQuery());\r
- if (al != null && al.getHeight() > 0\r
- && sp.getDbSourceProperties() != null)\r
- {\r
- boolean dna = sp.getDbSourceProperties().containsKey(\r
- DBRefSource.DNACODINGSEQDB)\r
- || sp.getDbSourceProperties().containsKey(\r
- DBRefSource.DNASEQDB)\r
- || sp.getDbSourceProperties().containsKey(\r
- DBRefSource.CODINGSEQDB);\r
- // try and find products\r
- String types[] = jalview.analysis.CrossRef\r
- .findSequenceXrefTypes(dna, al.getSequencesArray());\r
- if (types != null)\r
- {\r
- System.out.println("Xref Types for: "\r
- + (dna ? "dna" : "prot"));\r
- for (int t = 0; t < types.length; t++)\r
- {\r
- System.out.println("Type: " + types[t]);\r
- SequenceI[] prod = jalview.analysis.CrossRef\r
- .findXrefSequences(al.getSequencesArray(), dna,\r
- types[t]).getSequencesArray();\r
- System.out.println("Found "\r
- + ((prod == null) ? "no" : "" + prod.length)\r
- + " products");\r
- if (prod != null)\r
- {\r
- for (int p = 0; p < prod.length; p++)\r
- {\r
- System.out.println("Prod " + p + ": "\r
- + prod[p].getDisplayId(true));\r
- }\r
- }\r
- }\r
- }\r
- else\r
- {\r
- noProds.addElement((dna ? new Object[]\r
- { al, al } : new Object[]\r
- { al }));\r
- }\r
-\r
- }\r
- } catch (Exception ex)\r
- {\r
- System.out.println("ERROR:Failed to retrieve test query.");\r
- ex.printStackTrace(System.out);\r
- }\r
-\r
- if (al == null)\r
- {\r
- System.out.println("ERROR:No alignment retrieved.");\r
- StringBuffer raw = sp.getRawRecords();\r
- if (raw != null)\r
- System.out.println(raw.toString());\r
- else\r
- System.out.println("ERROR:No Raw results.");\r
- }\r
- else\r
- {\r
- System.out.println("Retrieved " + al.getHeight() + " sequences.");\r
- for (int s = 0; s < al.getHeight(); s++)\r
- {\r
- SequenceI sq = al.getSequenceAt(s);\r
- while (sq.getDatasetSequence() != null)\r
- {\r
- sq = sq.getDatasetSequence();\r
-\r
- }\r
- if (ds == null)\r
- {\r
- ds = new Alignment(new SequenceI[]\r
- { sq });\r
-\r
- }\r
- else\r
- {\r
- ds.addSequence(sq);\r
- }\r
- }\r
- }\r
- System.out.flush();\r
- System.err.flush();\r
-\r
- }\r
- if (noProds.size() > 0)\r
- {\r
- Enumeration ts = noProds.elements();\r
- while (ts.hasMoreElements())\r
-\r
- {\r
- Object[] typeSq = (Object[]) ts.nextElement();\r
- boolean dna = (typeSq.length > 1);\r
- AlignmentI al = (AlignmentI) typeSq[0];\r
- System.out.println("Trying getProducts for "\r
- + al.getSequenceAt(0).getDisplayId(true));\r
- System.out.println("Search DS Xref for: "\r
- + (dna ? "dna" : "prot"));\r
- // have a bash at finding the products amongst all the retrieved\r
- // sequences.\r
- SequenceI[] seqs = al.getSequencesArray();\r
- Alignment prodal = jalview.analysis.CrossRef.findXrefSequences(\r
- seqs, dna, null, ds);\r
- System.out.println("Found "\r
- + ((prodal == null) ? "no" : "" + prodal.getHeight())\r
- + " products");\r
- if (prodal != null)\r
- {\r
- SequenceI[] prod = prodal.getSequencesArray(); // note\r
- // should\r
- // test\r
- // rather\r
- // than\r
- // throw\r
- // away\r
- // codon\r
- // mapping\r
- // (if\r
- // present)\r
- for (int p = 0; p < prod.length; p++)\r
- {\r
- System.out.println("Prod " + p + ": "\r
- + prod[p].getDisplayId(true));\r
- }\r
- }\r
- }\r
-\r
- }\r
-\r
- }\r
- }\r
-\r
- /**\r
- * query the currently defined DAS source registry for sequence sources and\r
- * add a DasSequenceSource instance for each source to the SequenceFetcher\r
- * source list.\r
- */\r
- public void registerDasSequenceSources()\r
- {\r
- // TODO: define a context as a registry provider (either desktop,\r
- // jalview.bin.cache, or something else).\r
- for (jalviewSourceI source : jalview.bin.Cache.getDasSourceRegistry()\r
- .getSources())\r
- {\r
- if (source.isSequenceSource())\r
- {\r
- List<DbSourceProxy> dassources = source.getSequenceSourceProxies();\r
- for (DbSourceProxy seqsrc : dassources)\r
- {\r
- addDbRefSourceImpl(seqsrc);\r
- }\r
- }\r
- }\r
- }\r
-\r
-}\r
+package jalview.ws;
+
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.DBRefSource;
+import jalview.datamodel.SequenceI;
+import jalview.ws.dbsources.das.api.jalviewSourceI;
+import jalview.ws.seqfetcher.ASequenceFetcher;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Vector;
+
+/**
+ * This is the the concrete implementation of the sequence retrieval interface
+ * and abstract class in jalview.ws.seqfetcher. This implements the run-time
+ * discovery of sequence database clients, and provides a hardwired main for
+ * testing all registered handlers.
+ *
+ */
+public class SequenceFetcher extends ASequenceFetcher
+{
+ /**
+ * Thread safe construction of database proxies TODO: extend to a configurable
+ * database plugin mechanism where classes are instantiated by reflection and
+ * queried for their DbRefSource and version association.
+ *
+ */
+ public SequenceFetcher()
+ {
+ this(true);
+ }
+ public SequenceFetcher(boolean addDas)
+ {
+ addDBRefSourceImpl(jalview.ws.dbsources.EmblSource.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.EmblCdsSouce.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.Uniprot.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.UnprotName.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.Pdb.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.PfamFull.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.PfamSeed.class); // ensures Seed
+ // alignment is
+ // 'default' for
+ // PFAM
+ addDBRefSourceImpl(jalview.ws.dbsources.RfamFull.class);
+ addDBRefSourceImpl(jalview.ws.dbsources.RfamSeed.class);
+ if (addDas) {
+ registerDasSequenceSources();
+ }
+ }
+
+ /**
+ * return an ordered list of database sources where non-das database classes
+ * appear before das database classes
+ */
+ public String[] getOrderedSupportedSources()
+ {
+ String[] srcs = this.getSupportedDb();
+ ArrayList<String> dassrc = new ArrayList<String>(), nondas = new ArrayList<String>();
+ for (int i = 0; i < srcs.length; i++)
+ {
+ boolean das = false, skip = false;
+ String nm;
+ for (DbSourceProxy dbs : getSourceProxy(srcs[i]))
+ {
+ // Skip the alignment databases for the moment - they're not useful for
+ // verifying a single sequence against its reference source
+ if (dbs.isA(DBRefSource.ALIGNMENTDB))
+ {
+ skip = true;
+ }
+ else
+ {
+ nm = dbs.getDbName();
+ if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)
+ {
+ if (nm.startsWith("das:"))
+ {
+ nm = nm.substring(4);
+ das = true;
+ }
+ break;
+ }
+ }
+ }
+ if (skip)
+ {
+ continue;
+ }
+ if (das)
+ {
+ dassrc.add(srcs[i]);
+ }
+ else
+ {
+ nondas.add(srcs[i]);
+ }
+ }
+ String[] tosort = nondas.toArray(new String[0]), sorted = nondas
+ .toArray(new String[0]);
+ for (int j = 0, jSize = sorted.length; j < jSize; j++)
+ {
+ tosort[j] = tosort[j].toLowerCase();
+ }
+ jalview.util.QuickSort.sort(tosort, sorted);
+ // construct array with all sources listed
+
+ srcs = new String[sorted.length + dassrc.size()];
+ int i = 0;
+ for (int j = sorted.length - 1; j >= 0; j--, i++)
+ {
+ srcs[i] = sorted[j];
+ sorted[j] = null;
+ }
+
+ sorted = dassrc.toArray(new String[0]);
+ tosort = dassrc.toArray(new String[0]);
+ for (int j = 0, jSize = sorted.length; j < jSize; j++)
+ {
+ tosort[j] = tosort[j].toLowerCase();
+ }
+ jalview.util.QuickSort.sort(tosort, sorted);
+ for (int j = sorted.length - 1; j >= 0; j--, i++)
+ {
+ srcs[i] = sorted[j];
+ }
+ return srcs;
+ }
+
+ /**
+ * return plaintext databse list suitable for using in a GUI element
+ */
+ public String[] _getOrderedSupportedSources()
+ {
+ String[] srcs = this.getSupportedDb();
+ ArrayList dassrc = new ArrayList(), nondas = new ArrayList();
+ for (int i = 0; i < srcs.length; i++)
+ {
+ for (DbSourceProxy dbs : getSourceProxy(srcs[i]))
+ {
+ String nm = dbs.getDbName();
+ if (getSourceProxy(srcs[i]) instanceof jalview.ws.dbsources.das.datamodel.DasSequenceSource)
+ {
+ if (nm.startsWith("das:"))
+ {
+ nm = nm.substring(4);
+ }
+ dassrc.add(new String[]
+ { srcs[i], nm.toUpperCase() });
+ }
+ else
+ {
+ nondas.add(new String[]
+ { srcs[i], nm.toUpperCase() });
+ }
+ }
+ }
+ Object[] sorted = nondas.toArray();
+ String[] tosort = new String[sorted.length];
+ nondas.clear();
+ for (int j = 0; j < sorted.length; j++)
+ {
+ tosort[j] = ((String[]) sorted[j])[1];
+ }
+ jalview.util.QuickSort.sort(tosort, sorted);
+ int i = 0;
+ // construct array with all sources listed
+ srcs = new String[sorted.length + dassrc.size()];
+ for (int j = sorted.length - 1; j >= 0; j--, i++)
+ {
+ srcs[i] = ((String[]) sorted[j])[0];
+ sorted[j] = null;
+ }
+
+ sorted = dassrc.toArray();
+ tosort = new String[sorted.length];
+ dassrc.clear();
+ for (int j = 0; j < sorted.length; j++)
+ {
+ tosort[j] = ((String[]) sorted[j])[1];
+ }
+ jalview.util.QuickSort.sort(tosort, sorted);
+ for (int j = sorted.length - 1; j >= 0; j--, i++)
+ {
+ srcs[i] = ((String[]) sorted[j])[0];
+ sorted[j] = null;
+ }
+ return srcs;
+ }
+
+ /**
+ * simple run method to test dbsources.
+ *
+ * @param argv
+ */
+ public static void main(String[] argv)
+ {
+ AlignmentI ds = null;
+ Vector noProds = new Vector();
+ String usage = "SequenceFetcher.main [-nodas] [<DBNAME> [<ACCNO>]]\n"
+ + "With no arguments, all DbSources will be queried with their test Accession number.\n"
+ + "With one argument, the argument will be resolved to one or more db sources and each will be queried with their test accession only.\n"
+ + "If given two arguments, SequenceFetcher will try to find the DbFetcher corresponding to <DBNAME> and retrieve <ACCNO> from it.\n"
+ + "The -nodas option will exclude DAS sources from the database fetchers Jalview will try to use.";
+ boolean withDas=true;
+ if (argv!=null && argv.length>0 && argv[0].toLowerCase().startsWith("-nodas"))
+ {
+ withDas=false;
+ String targs[] = new String[argv.length-1];
+ System.arraycopy(argv, 1, targs, 0, targs.length);
+ argv=targs;
+ }
+ if (argv != null && argv.length > 0)
+ {
+ List<DbSourceProxy> sps = new SequenceFetcher(withDas)
+ .getSourceProxy(argv[0]);
+
+ if (sps != null)
+ {
+ for (DbSourceProxy sp : sps)
+ {
+ AlignmentI al = null;
+ try
+ {
+ al = sp.getSequenceRecords(argv.length>1 ? argv[1] : sp.getTestQuery());
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ System.err.println("Error when retrieving " + (argv.length>1 ? argv[1] : sp.getTestQuery())
+ + " from " + argv[0] + "\nUsage: " + usage);
+ }
+ SequenceI[] prod = al.getSequencesArray();
+ if (al != null)
+ {
+ for (int p = 0; p < prod.length; p++)
+ {
+ System.out.println("Prod " + p + ": "
+ + prod[p].getDisplayId(true) + " : "
+ + prod[p].getDescription());
+ }
+ }
+ }
+ return;
+ }
+ else
+ {
+ System.err.println("Can't resolve " + argv[0]
+ + " as a database name. Allowed values are :\n"
+ + new SequenceFetcher().getSupportedDb());
+ }
+ System.out.println(usage);
+ return;
+ }
+ ASequenceFetcher sfetcher = new SequenceFetcher(withDas);
+ String[] dbSources = sfetcher.getSupportedDb();
+ for (int dbsource = 0; dbsource < dbSources.length; dbsource++)
+ {
+ String db = dbSources[dbsource];
+ // skip me
+ if (db.equals(DBRefSource.PDB))
+ continue;
+ for (DbSourceProxy sp : sfetcher.getSourceProxy(db))
+ {
+ System.out.println("Source: " + sp.getDbName() + " (" + db
+ + "): retrieving test:" + sp.getTestQuery());
+ AlignmentI al = null;
+ try
+ {
+ al = sp.getSequenceRecords(sp.getTestQuery());
+ if (al != null && al.getHeight() > 0
+ && sp.getDbSourceProperties() != null)
+ {
+ boolean dna = sp.getDbSourceProperties().containsKey(
+ DBRefSource.DNACODINGSEQDB)
+ || sp.getDbSourceProperties().containsKey(
+ DBRefSource.DNASEQDB)
+ || sp.getDbSourceProperties().containsKey(
+ DBRefSource.CODINGSEQDB);
+ // try and find products
+ String types[] = jalview.analysis.CrossRef
+ .findSequenceXrefTypes(dna, al.getSequencesArray());
+ if (types != null)
+ {
+ System.out.println("Xref Types for: "
+ + (dna ? "dna" : "prot"));
+ for (int t = 0; t < types.length; t++)
+ {
+ System.out.println("Type: " + types[t]);
+ SequenceI[] prod = jalview.analysis.CrossRef
+ .findXrefSequences(al.getSequencesArray(), dna,
+ types[t]).getSequencesArray();
+ System.out.println("Found "
+ + ((prod == null) ? "no" : "" + prod.length)
+ + " products");
+ if (prod != null)
+ {
+ for (int p = 0; p < prod.length; p++)
+ {
+ System.out.println("Prod " + p + ": "
+ + prod[p].getDisplayId(true));
+ }
+ }
+ }
+ }
+ else
+ {
+ noProds.addElement((dna ? new Object[]
+ { al, al } : new Object[]
+ { al }));
+ }
+
+ }
+ } catch (Exception ex)
+ {
+ System.out.println("ERROR:Failed to retrieve test query.");
+ ex.printStackTrace(System.out);
+ }
+
+ if (al == null)
+ {
+ System.out.println("ERROR:No alignment retrieved.");
+ StringBuffer raw = sp.getRawRecords();
+ if (raw != null)
+ System.out.println(raw.toString());
+ else
+ System.out.println("ERROR:No Raw results.");
+ }
+ else
+ {
+ System.out.println("Retrieved " + al.getHeight() + " sequences.");
+ for (int s = 0; s < al.getHeight(); s++)
+ {
+ SequenceI sq = al.getSequenceAt(s);
+ while (sq.getDatasetSequence() != null)
+ {
+ sq = sq.getDatasetSequence();
+
+ }
+ if (ds == null)
+ {
+ ds = new Alignment(new SequenceI[]
+ { sq });
+
+ }
+ else
+ {
+ ds.addSequence(sq);
+ }
+ }
+ }
+ System.out.flush();
+ System.err.flush();
+
+ }
+ if (noProds.size() > 0)
+ {
+ Enumeration ts = noProds.elements();
+ while (ts.hasMoreElements())
+
+ {
+ Object[] typeSq = (Object[]) ts.nextElement();
+ boolean dna = (typeSq.length > 1);
+ AlignmentI al = (AlignmentI) typeSq[0];
+ System.out.println("Trying getProducts for "
+ + al.getSequenceAt(0).getDisplayId(true));
+ System.out.println("Search DS Xref for: "
+ + (dna ? "dna" : "prot"));
+ // have a bash at finding the products amongst all the retrieved
+ // sequences.
+ SequenceI[] seqs = al.getSequencesArray();
+ Alignment prodal = jalview.analysis.CrossRef.findXrefSequences(
+ seqs, dna, null, ds);
+ System.out.println("Found "
+ + ((prodal == null) ? "no" : "" + prodal.getHeight())
+ + " products");
+ if (prodal != null)
+ {
+ SequenceI[] prod = prodal.getSequencesArray(); // note
+ // should
+ // test
+ // rather
+ // than
+ // throw
+ // away
+ // codon
+ // mapping
+ // (if
+ // present)
+ for (int p = 0; p < prod.length; p++)
+ {
+ System.out.println("Prod " + p + ": "
+ + prod[p].getDisplayId(true));
+ }
+ }
+ }
+
+ }
+
+ }
+ }
+
+ /**
+ * query the currently defined DAS source registry for sequence sources and
+ * add a DasSequenceSource instance for each source to the SequenceFetcher
+ * source list.
+ */
+ public void registerDasSequenceSources()
+ {
+ // TODO: define a context as a registry provider (either desktop,
+ // jalview.bin.cache, or something else).
+ for (jalviewSourceI source : jalview.bin.Cache.getDasSourceRegistry()
+ .getSources())
+ {
+ if (source.isSequenceSource())
+ {
+ List<DbSourceProxy> dassources = source.getSequenceSourceProxies();
+ for (DbSourceProxy seqsrc : dassources)
+ {
+ addDbRefSourceImpl(seqsrc);
+ }
+ }
+ }
+ }
+
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources.das.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources.das.api;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources.das.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources.das.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.dbsources.das.datamodel;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.ebi;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.BufferedReader;\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.InputStreamReader;\r
-import java.net.URL;\r
-import java.util.ArrayList;\r
-import java.util.StringTokenizer;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public class EBIFetchClient\r
-{\r
- String format = "default";\r
-\r
- String style = "raw";\r
-\r
- /**\r
- * Creates a new EBIFetchClient object.\r
- */\r
- public EBIFetchClient()\r
- {\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @return DOCUMENT ME!\r
- */\r
- public String[] getSupportedDBs()\r
- {\r
- // TODO - implement rest call for dbfetch getSupportedDBs\r
- throw new Error("Not yet implemented");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @return DOCUMENT ME!\r
- */\r
- public String[] getSupportedFormats()\r
- {\r
- // TODO - implement rest call for dbfetch getSupportedFormats\r
- throw new Error("Not yet implemented");\r
- }\r
-\r
- /**\r
- * DOCUMENT ME!\r
- * \r
- * @return DOCUMENT ME!\r
- */\r
- public String[] getSupportedStyles()\r
- {\r
- // TODO - implement rest call for dbfetch getSupportedStyles\r
- throw new Error("Not yet implemented");\r
- }\r
-\r
- public File fetchDataAsFile(String ids, String f, String s)\r
- throws OutOfMemoryError\r
- {\r
- File outFile = null;\r
- try\r
- {\r
- outFile = File.createTempFile("jalview", ".xml");\r
- outFile.deleteOnExit();\r
- fetchData(ids, f, s, outFile);\r
- if (outFile.length() == 0)\r
- {\r
- outFile.delete();\r
- return null;\r
- }\r
- } catch (Exception ex)\r
- {\r
- }\r
- return outFile;\r
- }\r
-\r
- /**\r
- * Single DB multiple record retrieval\r
- * \r
- * @param ids\r
- * db:query1;query2;query3\r
- * @param f\r
- * raw/xml\r
- * @param s\r
- * ?\r
- * \r
- * @return Raw string array result of query set\r
- */\r
- public String[] fetchData(String ids, String f, String s)\r
- throws OutOfMemoryError\r
- {\r
- return fetchData(ids, f, s, null);\r
- }\r
-\r
- public String[] fetchData(String ids, String f, String s, File outFile)\r
- throws OutOfMemoryError\r
- {\r
- // Need to split\r
- // ids of the form uniprot:25KD_SARPE;ADHR_DROPS;\r
- String[] rslts = new String[0];\r
- StringTokenizer queries = new StringTokenizer(ids, ";");\r
- String db = null;\r
- StringBuffer querystring = null;\r
- int nq = 0;\r
- while (queries.hasMoreTokens())\r
- {\r
- String query = queries.nextToken();\r
- int p;\r
- if ((p = query.indexOf(':')) > -1)\r
- {\r
- db = query.substring(0, p);\r
- query = query.substring(p + 1);\r
- }\r
- if (querystring == null)\r
- {\r
- querystring = new StringBuffer(query);\r
- nq++;\r
- }\r
- else\r
- {\r
- querystring.append("," + query);\r
- nq++;\r
- }\r
- }\r
- if (db == null)\r
- {\r
- System.err.println("Invalid Query string : '" + ids\r
- + "'\nShould be of form 'dbname:q1;q2;q3;q4'");\r
- return null;\r
- }\r
- String[] rslt = fetchBatch(querystring.toString(), db, f, s, outFile);\r
- if (rslt != null)\r
- {\r
- String[] nrslts = new String[rslt.length + rslts.length];\r
- System.arraycopy(rslts, 0, nrslts, 0, rslts.length);\r
- System.arraycopy(rslt, 0, nrslts, rslts.length, rslt.length);\r
- rslts = nrslts;\r
- }\r
-\r
- return (rslts.length == 0 ? null : rslts);\r
- }\r
-\r
- public String[] fetchBatch(String ids, String db, String f, String s,\r
- File outFile) throws OutOfMemoryError\r
- {\r
- long time = System.currentTimeMillis();\r
- // max 200 ids can be added at one time\r
- try\r
- {\r
- URL rcall = new URL("http://www.ebi.ac.uk/Tools/dbfetch/dbfetch/"\r
- + db.toLowerCase() + "/" + ids.toLowerCase()\r
- + (f != null ? "/" + f : ""));\r
-\r
- BufferedInputStream is = new BufferedInputStream(rcall.openStream());\r
- if (outFile != null)\r
- {\r
- FileOutputStream fio = new FileOutputStream(outFile);\r
- byte[] bb = new byte[32 * 1024];\r
- int l;\r
- while ((l = is.read(bb)) > 0)\r
- {\r
- fio.write(bb, 0, l);\r
- }\r
- fio.close();\r
- is.close();\r
- }\r
- else\r
- {\r
- BufferedReader br = new BufferedReader(new InputStreamReader(is));\r
- String rtn;\r
- ArrayList<String> arl = new ArrayList<String>();\r
- while ((rtn = br.readLine()) != null)\r
- {\r
- arl.add(rtn);\r
- }\r
- return arl.toArray(new String[arl.size()]);\r
- }\r
- } catch (OutOfMemoryError er)\r
- {\r
-\r
- System.out.println("OUT OF MEMORY DOWNLOADING QUERY FROM " + db\r
- + ":\n" + ids);\r
- throw er;\r
- } catch (Exception ex)\r
- {\r
- if (ex.getMessage().startsWith(\r
- "uk.ac.ebi.jdbfetch.exceptions.DbfNoEntryFoundException"))\r
- {\r
- return null;\r
- }\r
- System.err.println("Unexpected exception when retrieving from " + db\r
- + "\nQuery was : '" + ids + "'");\r
- ex.printStackTrace(System.err);\r
- return null;\r
- } finally\r
- {\r
- //System.err.println("Took " + (System.currentTimeMillis() - time)\r
- // / 1000 + " secs for one call.");\r
- }\r
- return null;\r
- }\r
-}\r
+package jalview.ws.ebi;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.StringTokenizer;
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public class EBIFetchClient
+{
+ String format = "default";
+
+ String style = "raw";
+
+ /**
+ * Creates a new EBIFetchClient object.
+ */
+ public EBIFetchClient()
+ {
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ public String[] getSupportedDBs()
+ {
+ // TODO - implement rest call for dbfetch getSupportedDBs
+ throw new Error("Not yet implemented");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ public String[] getSupportedFormats()
+ {
+ // TODO - implement rest call for dbfetch getSupportedFormats
+ throw new Error("Not yet implemented");
+ }
+
+ /**
+ * DOCUMENT ME!
+ *
+ * @return DOCUMENT ME!
+ */
+ public String[] getSupportedStyles()
+ {
+ // TODO - implement rest call for dbfetch getSupportedStyles
+ throw new Error("Not yet implemented");
+ }
+
+ public File fetchDataAsFile(String ids, String f, String s)
+ throws OutOfMemoryError
+ {
+ File outFile = null;
+ try
+ {
+ outFile = File.createTempFile("jalview", ".xml");
+ outFile.deleteOnExit();
+ fetchData(ids, f, s, outFile);
+ if (outFile.length() == 0)
+ {
+ outFile.delete();
+ return null;
+ }
+ } catch (Exception ex)
+ {
+ }
+ return outFile;
+ }
+
+ /**
+ * Single DB multiple record retrieval
+ *
+ * @param ids
+ * db:query1;query2;query3
+ * @param f
+ * raw/xml
+ * @param s
+ * ?
+ *
+ * @return Raw string array result of query set
+ */
+ public String[] fetchData(String ids, String f, String s)
+ throws OutOfMemoryError
+ {
+ return fetchData(ids, f, s, null);
+ }
+
+ public String[] fetchData(String ids, String f, String s, File outFile)
+ throws OutOfMemoryError
+ {
+ // Need to split
+ // ids of the form uniprot:25KD_SARPE;ADHR_DROPS;
+ String[] rslts = new String[0];
+ StringTokenizer queries = new StringTokenizer(ids, ";");
+ String db = null;
+ StringBuffer querystring = null;
+ int nq = 0;
+ while (queries.hasMoreTokens())
+ {
+ String query = queries.nextToken();
+ int p;
+ if ((p = query.indexOf(':')) > -1)
+ {
+ db = query.substring(0, p);
+ query = query.substring(p + 1);
+ }
+ if (querystring == null)
+ {
+ querystring = new StringBuffer(query);
+ nq++;
+ }
+ else
+ {
+ querystring.append("," + query);
+ nq++;
+ }
+ }
+ if (db == null)
+ {
+ System.err.println("Invalid Query string : '" + ids
+ + "'\nShould be of form 'dbname:q1;q2;q3;q4'");
+ return null;
+ }
+ String[] rslt = fetchBatch(querystring.toString(), db, f, s, outFile);
+ if (rslt != null)
+ {
+ String[] nrslts = new String[rslt.length + rslts.length];
+ System.arraycopy(rslts, 0, nrslts, 0, rslts.length);
+ System.arraycopy(rslt, 0, nrslts, rslts.length, rslt.length);
+ rslts = nrslts;
+ }
+
+ return (rslts.length == 0 ? null : rslts);
+ }
+
+ public String[] fetchBatch(String ids, String db, String f, String s,
+ File outFile) throws OutOfMemoryError
+ {
+ long time = System.currentTimeMillis();
+ // max 200 ids can be added at one time
+ try
+ {
+ URL rcall = new URL("http://www.ebi.ac.uk/Tools/dbfetch/dbfetch/"
+ + db.toLowerCase() + "/" + ids.toLowerCase()
+ + (f != null ? "/" + f : ""));
+
+ BufferedInputStream is = new BufferedInputStream(rcall.openStream());
+ if (outFile != null)
+ {
+ FileOutputStream fio = new FileOutputStream(outFile);
+ byte[] bb = new byte[32 * 1024];
+ int l;
+ while ((l = is.read(bb)) > 0)
+ {
+ fio.write(bb, 0, l);
+ }
+ fio.close();
+ is.close();
+ }
+ else
+ {
+ BufferedReader br = new BufferedReader(new InputStreamReader(is));
+ String rtn;
+ ArrayList<String> arl = new ArrayList<String>();
+ while ((rtn = br.readLine()) != null)
+ {
+ arl.add(rtn);
+ }
+ return arl.toArray(new String[arl.size()]);
+ }
+ } catch (OutOfMemoryError er)
+ {
+
+ System.out.println("OUT OF MEMORY DOWNLOADING QUERY FROM " + db
+ + ":\n" + ids);
+ throw er;
+ } catch (Exception ex)
+ {
+ if (ex.getMessage().startsWith(
+ "uk.ac.ebi.jdbfetch.exceptions.DbfNoEntryFoundException"))
+ {
+ return null;
+ }
+ System.err.println("Unexpected exception when retrieving from " + db
+ + "\nQuery was : '" + ids + "'");
+ ex.printStackTrace(System.err);
+ return null;
+ } finally
+ {
+ //System.err.println("Took " + (System.currentTimeMillis() - time)
+ // / 1000 + " secs for one call.");
+ }
+ return null;
+ }
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.io.mime;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.io.mime;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.io.mime;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws1;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/**
*
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.dm;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.dm;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.dm;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.dm;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.dm;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.jws2.jabaws2;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/**
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params.simple;
import jalview.ws.params.ParameterI;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.params.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.rest.params;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.seqfetcher;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.seqfetcher;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.seqfetcher;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.picr.model;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.picr.model;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.picr.model;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.picr.model;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www.picr.AccessionMappingService;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www.picr.AccessionMappingService;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www.picr.AccessionMappingService;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 uk.ac.ebi.www.picr.AccessionMappingService;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/*
* Jalview - A Sequence Alignment Editor and Viewer
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
/*
* Jalview - A Sequence Alignment Editor and Viewer
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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 vamsas.objects.simple;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.analysis;
import static org.junit.Assert.*;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.bin;
import static org.junit.Assert.*;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.io;
import static org.junit.Assert.assertNotNull;
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.io;
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.io;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.io;
import static org.junit.Assert.assertNotNull;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.io;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.schemes;
import static org.junit.Assert.*;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.schemes;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.ws.gui;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.jabaws;
import static org.junit.Assert.*;
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.jabaws;
import static org.junit.Assert.*;
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.rest;
-/**
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.ws.seqfetcher;
<?xml version="1.0"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<project name="jalviewInstallAnywhere" default="build" basedir=".">
<property name="IA_LOCATION" value="/home/cruisecontrol/InstallAnywhere 2013/"/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
- Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-
- 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/>.
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<profiles version="11">
<profile kind="CodeFormatterProfile" name="Jalview" version="11">
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
import java.io.*;
import java.util.*;
#!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
use strict;
use warnings;
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* 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.
*/
import java.io.*;
import java.util.*;
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-/**\r
- $Id$\r
- */\r
-A { color: #00F; }\r
-A:link { text-decoration: none; }\r
-A:active { text-decoration: none; }\r
-A:visited { text-decoration: none; }\r
-A:hover { text-decoration: underline; }\r
-\r
-body {\r
- font-size : 0.9em;\r
- font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;\r
- margin: 20px 20px 20px 20px;\r
- padding-bottom:15px;\r
- }\r
-h1{\r
- font-weight : bold;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h2{\r
- font-weight : bold;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h3{\r
- font-weight : bold;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h4{\r
- font-weight : bold;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-h5{\r
- font-weight : bold;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-hr{\r
- border : none;\r
- background : #808080;\r
- height : 1px;\r
-}\r
-\r
-td,p,div,form,blockquote,ul,ol{\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-th{\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.footer{\r
- color : #808080;\r
- font-size : 9px;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.sublogo{\r
- padding-bottom : 5px;\r
- color : #333366;\r
- font-size : 9px;\r
- font-family : Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.logo{\r
- padding-left : 10px;\r
- font-weight : bold;\r
- font-size : 26pt;\r
- font-family : Verdana,Arial,Helvetica,sans-serif;\r
-}\r
-\r
-.navlink:link { color: #FFF; text-decoration: none; }\r
-.navlink:active { color: #FFF; text-decoration: none; }\r
-.navlink:visited { color: #FFF; text-decoration: none; }\r
-.navlink:hover { color: #FFF; text-decoration: underline; }\r
-\r
-.navlink2:link { color : #000; text-decoration : none; }\r
-.navlink2:active { color : #000; text-decoration : none; }\r
-.navlink2:visited { color : #000; text-decoration : none; }\r
-.navlink2:hover { color : #000; text-decoration : underline; }\r
-\r
-.shade{\r
- background-color: ;\r
- background : #FDF5E6;\r
-}
\ No newline at end of file
+#-------------------------------------------------------------------------------
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+#-------------------------------------------------------------------------------
+/**
+ $Id$
+ */
+A { color: #00F; }
+A:link { text-decoration: none; }
+A:active { text-decoration: none; }
+A:visited { text-decoration: none; }
+A:hover { text-decoration: underline; }
+
+body {
+ font-size : 0.9em;
+ font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
+ margin: 20px 20px 20px 20px;
+ padding-bottom:15px;
+ }
+h1{
+ font-weight : bold;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h2{
+ font-weight : bold;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h3{
+ font-weight : bold;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h4{
+ font-weight : bold;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+h5{
+ font-weight : bold;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+hr{
+ border : none;
+ background : #808080;
+ height : 1px;
+}
+
+td,p,div,form,blockquote,ul,ol{
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+th{
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.footer{
+ color : #808080;
+ font-size : 9px;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.sublogo{
+ padding-bottom : 5px;
+ color : #333366;
+ font-size : 9px;
+ font-family : Arial,Helvetica,sans-serif;
+}
+
+.logo{
+ padding-left : 10px;
+ font-weight : bold;
+ font-size : 26pt;
+ font-family : Verdana,Arial,Helvetica,sans-serif;
+}
+
+.navlink:link { color: #FFF; text-decoration: none; }
+.navlink:active { color: #FFF; text-decoration: none; }
+.navlink:visited { color: #FFF; text-decoration: none; }
+.navlink:hover { color: #FFF; text-decoration: underline; }
+
+.navlink2:link { color : #000; text-decoration : none; }
+.navlink2:active { color : #000; text-decoration : none; }
+.navlink2:visited { color : #000; text-decoration : none; }
+.navlink2:hover { color : #000; text-decoration : underline; }
+
+.shade{
+ background-color: ;
+ background : #FDF5E6;
+}
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
-
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)
- * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<html>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 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.
+-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title><link rel="stylesheet" href="./docs/site.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.65.1"></head><body id="toppage" bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table width="700" border="0" cellpadding="0" cellspacing="0" align="center"><tr><td><table cellpadding="0" cellspacing="0" width="100%" style="border:1px solid #336699"><tbody><tr><td height="16"></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr style="border:none"><td style="border:none"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="logo">JALOPY</td><td class="sublogo" valign="bottom">Java Source Code Formatter Beautifier Pretty Printer</td></tr></tbody></table></td></tr><tr><td bgcolor="#3399cc" height="1"></td></tr><tr><td height="10"></td></tr><tr><td bgcolor="#ff8000" height="4"></td></tr><tr><td height="20" bgcolor="#336699" style="color:#ffffff;padding-left:10px"><a href="./docs/index.html" class="navlink">Overview</a> •
#!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
use strict;
# perverse script to get rid of unwanted jar signatures
#!/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
-# Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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.
+##
use strict;
use Env qw($GTID);
#!/usr/bin/perl
-#*******************************************************************************
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
-# Copyright (C) 2011 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
-#
+##
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Copyright (C) 2014 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/>.
-#*******************************************************************************
-\r
+# The Jalview Authors are detailed in the 'AUTHORS' file.
+##
+ \r
# Splits a concatenated set of Stockholm Files into several individual files.\r
\r
use strict;\r