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.
+This is the authoritative list. It was correct on 4th June 2014.
If you are releasing a version of Jalview, please make sure any
statement of authorship in the GUI reflects the list shown here.
+In particular, check the resources/authors.props file !
Jim Procter
Andrew Waterhouse
Lauren Lui
Natasha Sherstnev
Daniel Barton
+David Roldan-Martinez
Michele Clamp
James Cuff
Steve Searle
<?xml version="1.0"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
* The Jalview Authors are detailed in the 'AUTHORS' file.
-->
<project name="jalviewX" default="usage" basedir=".">
- <!-- we use jalopy to format our sources -->
- <taskdef name="jalopy" classname="de.hunsicker.jalopy.plugin.ant.AntPlugin">
- <classpath>
- <fileset dir="utils/jalopy/lib">
- <include name="*.jar" />
- </fileset>
- </classpath>
- </taskdef>
-
- <target name="help" depends="usage" />
- <target name="usage">
- <echo message="~~~Jalview Ant build.xml Usage~~~~" />
- <echo message="Targets include:" />
- <echo message="usage - default target, displays this message" />
- <echo message="buildindices - generates JavaHelpSearch from the help files" />
- <echo message="build - compiles all necessary files for Application" />
- <echo message="makedist - compiles and places all necessary jar files into directory dist" />
- <echo message="makefulldist - signs all jar files and builds jnlp file for full distribution" />
- <echo message=" this needs a keystore and key. See docs/building.html for more information." />
- <echo message="compileApplet - compiles all necessary files for Applet" />
- <echo message="makeApplet - compiles, then packages and obfuscates the Applet" />
- <echo message="See docs/building.html and the comments in build file for other targets." />
- <echo message="note: compile and makeApplet require the property java118.home to be set to point to a java 1.1.8 jdk." />
- <echo message="Useful -D flags: -Ddonotobfuscate will prevent applet obfuscation" />
- </target>
-
-
- <!-- utils is a class path to additional utilities needed for
+ <!-- we use jalopy to format our sources -->
+ <taskdef name="jalopy" classname="de.hunsicker.jalopy.plugin.ant.AntPlugin">
+ <classpath>
+ <fileset dir="utils/jalopy/lib">
+ <include name="*.jar" />
+ </fileset>
+ </classpath>
+ </taskdef>
+
+ <target name="help" depends="usage" />
+ <target name="usage">
+ <echo message="~~~Jalview Ant build.xml Usage~~~~" />
+ <echo message="Targets include:" />
+ <echo message="usage - default target, displays this message" />
+ <echo message="buildindices - generates JavaHelpSearch from the help files" />
+ <echo message="build - compiles all necessary files for Application" />
+ <echo message="makedist - compiles and places all necessary jar files into directory dist" />
+ <echo message="makefulldist - signs all jar files and builds jnlp file for full distribution" />
+ <echo message=" this needs a keystore and key. See docs/building.html for more information." />
+ <echo message="compileApplet - compiles all necessary files for Applet" />
+ <echo message="makeApplet - compiles, then packages and obfuscates the Applet" />
+ <echo message="See docs/building.html and the comments in build file for other targets." />
+ <echo message="note: compile and makeApplet require the property java118.home to be set to point to a java 1.1.8 jdk." />
+ <echo message="Useful -D flags: -Ddonotobfuscate will prevent applet obfuscation" />
+ </target>
+
+
+ <!-- utils is a class path to additional utilities needed for
building docs, jars and webstart stuff -->
- <!--
+ <!--
Userdefined build property defaults
wsdl.server list (plus namespace mapping info ???) - also want
-->
- <target name="init">
- <path id="axis.classpath">
- <!-->
- <fileset dir="/usr/local/axis/lib">
- <include name="**/*.jar" />
- </fileset>
- <fileset dir="/usr/local/jakarta-tomcat-5/webapps/axis/WEB-INF/lib">
- <include name="**/*.jar"/>
- <include name="*.jar"/>
- </fileset> -->
+ <target name="init">
+ <path id="axis.classpath">
+ <!-->
+ <fileset dir="/usr/local/axis/lib">
+ <include name="**/*.jar" />
+ </fileset>
+ <fileset dir="/usr/local/jakarta-tomcat-5/webapps/axis/WEB-INF/lib">
+ <include name="**/*.jar"/>
+ <include name="*.jar"/>
+ </fileset> -->
</path>
- <!-- Jalview Version String displayed by application on startup and used to check for updates -->
- <property name="JALVIEW_VERSION" value="DEVELOPMENT" />
- <!-- 2.4 (VAMSAS)" -->
- <!-- Include debugging information in javac true or false -->
- <property name="javac.debug" value="true" />
-
- <!-- JarSigner Key Store for Webstart Distribution -->
- <property name="jalview.keystore" value="./keys/.keystore" />
- <!-- Keystore Password -->
- <property name="jalview.keystore.pass" value="alignmentisfun" />
- <!-- Key Name -->
- <property name="jalview.key" value="jalview" />
- <!-- Key Password -->
- <property name="jalview.key.pass" value="alignmentisfun" />
-
-
-
- <!-- Don't change anything below here unless you know what you are doing! -->
- <!-- Url path for WebStart in JNLP file -->
- <property name="WebStartLocation" value="http://www.jalview.org/webstart" />
- <!-- Webstart Image - looked for in resources/images -->
- <property name="WebStartImage" value="JalviewLogo_big.png"/>
- <!-- J2SE version needed for webstart launch -->
+ <!-- Jalview Version String displayed by application on startup and used to check for updates -->
+ <property name="JALVIEW_VERSION" value="DEVELOPMENT" />
+ <!-- 2.4 (VAMSAS)" -->
+ <!-- Include debugging information in javac true or false -->
+ <property name="javac.debug" value="true" />
+
+ <!-- JarSigner Key Store for Webstart Distribution -->
+ <property name="jalview.keystore" value="./keys/.keystore" />
+ <!-- Keystore Password -->
+ <property name="jalview.keystore.pass" value="alignmentisfun" />
+ <!-- Key Name -->
+ <property name="jalview.key" value="jalview" />
+ <!-- Key Password -->
+ <property name="jalview.key.pass" value="alignmentisfun" />
+
+ <!-- Don't change anything below here unless you know what you are doing! -->
+ <!-- Url path for WebStart in JNLP file -->
+ <property name="WebStartLocation" value="http://www.jalview.org/webstart" />
+ <!-- Webstart Image - looked for in resources/images -->
+ <property name="WebStartImage" value="JalviewLogo_big.png"/>
+ <!-- J2SE version needed for webstart launch -->
<!-- Anne's version needs 1.7 - should rebuild VARNA to java 1.6 for release -->
- <property name="j2sev" value="1.7+"/>
+ <property name="j2sev" value="1.7+"/>
<!-- 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="*" />
+ <!-- note - if you want to make sure LiveConnect works without any warnings, please rebuild and sign your applet jar with your own domain included in the codebase/allowable-codebase properties -->
+ <property name="applet.codebase" value="*.jalview.org *.dundee.ac.uk *" />
<property name="applet.caller-codebase" value="${applet.codebase}" />
- <!-- build directory configuration -->
- <property name="libDir" value="lib" />
- <property name="resourceDir" value="resources" />
- <property name="helpDir" value="help" />
- <property name="docDir" value="doc" />
- <property name="sourceDir" value="src" />
- <property name="schemaDir" value="schemas" />
- <property name="outputDir" value="classes" />
- <property name="packageDir" value="dist" />
- <property name="outputJar" value="jalview.jar" />
- <!-- Jalview Applet JMol Jar Dependency -->
- <property name="jmolJar" value="JmolApplet-12.2.4.jar" />
- <property name="varnaJar" value="VARNAv3-9.jar" />
- <property name="jalviewLiteJar" value="jalviewApplet.jar" />
- <!-- switch to indicate if we should obfuscate jalviewLite -->
- <!--<property name="donotobfuscate" value="true"/> -->
-
- <!-- Jalview Web Service Clients - see the comments in 'buildextclients' for details -->
- <property name="wsdl.File" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred?wsdl" />
- <property name="wsdl.Files" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/vamsas?wsdlFiles" />
- <property name="wsdl.MsaWS" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/MuscleWS?wsdl" />
- <property name="wsdl.MsaWS2" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/ClustalWS?wsdl" />
- <property name="WSInterf" value="MsaWS" />
- <property name="wsdl.Namespace" value="vamsas" />
- <property name="wsdl.ClientNS" value="ext.vamsas" />
- <!-- the class path for building the application -->
- <path id="build.classpath">
- <fileset dir="utils">
- <include name="*.jar" />
- <include name="**/*.jar" />
- </fileset>
- <fileset dir="${libDir}">
- <include name="*.jar" />
- <include name="**/*.jar" />
- </fileset>
- <fileset dir="${java.home}/lib">
- <include name="plugin.jar"/>
- </fileset>
- <fileset dir="appletlib">
- <!-- the JmolApplet includes the JmolApplet console and the application javac seems to always try and build all packages
+ <!-- build directory configuration -->
+ <property name="libDir" value="lib" />
+ <property name="resourceDir" value="resources" />
+ <property name="helpDir" value="help" />
+ <property name="docDir" value="doc" />
+ <property name="sourceDir" value="src" />
+ <property name="schemaDir" value="schemas" />
+ <property name="outputDir" value="classes" />
+ <property name="packageDir" value="dist" />
+ <property name="outputJar" value="jalview.jar" />
+ <!-- Jalview Applet JMol Jar Dependency -->
+ <property name="jmolJar" value="JmolApplet-12.2.4.jar" />
+ <property name="varnaJar" value="VARNAv3-9.jar" />
+ <property name="jalviewLiteJar" value="jalviewApplet.jar" />
+ <!-- switch to indicate if we should obfuscate jalviewLite -->
+ <!-- <property name="donotobfuscate" value="true"/> -->
+ <!-- switch to exclude associations from generated jnlp files -->
+ <!-- <property name="nojnlpfileassocs" value="true"/> -->
+
+ <!-- Jalview Web Service Clients - see the comments in 'buildextclients' for details -->
+ <property name="wsdl.File" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred?wsdl" />
+ <property name="wsdl.Files" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/vamsas?wsdlFiles" />
+ <property name="wsdl.MsaWS" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/MuscleWS?wsdl" />
+ <property name="wsdl.MsaWS2" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/ClustalWS?wsdl" />
+ <property name="WSInterf" value="MsaWS" />
+ <property name="wsdl.Namespace" value="vamsas" />
+ <property name="wsdl.ClientNS" value="ext.vamsas" />
+ <!-- the class path for building the application -->
+ <path id="build.classpath">
+ <fileset dir="utils">
+ <include name="*.jar" />
+ <include name="**/*.jar" />
+ </fileset>
+ <fileset dir="${libDir}">
+ <include name="*.jar" />
+ <include name="**/*.jar" />
+ </fileset>
+ <fileset dir="${java.home}/lib">
+ <include name="plugin.jar"/>
+ </fileset>
+ <fileset dir="appletlib">
+ <!-- the JmolApplet includes the JmolApplet console and the application javac seems to always try and build all packages
-->
- <include name="${jmolJar}" />
- <include name="${varnaJar}" />
- </fileset>
-
- </path>
- <property name="source.dist.name" value="${basedir}/jalview-src.tar.gz" />
- <!-- The Location of the java 1.1.8 jdk -->
- <!--<property name="java118.home" value="C:\Sun\jdk1.1.8" />
+ <include name="${jmolJar}" />
+ <include name="${varnaJar}" />
+ </fileset>
+
+ </path>
+ <property name="source.dist.name" value="${basedir}/jalview-src.tar.gz" />
+ <!-- The Location of the java 1.1.8 jdk -->
+ <!--<property name="java118.home" value="C:\Sun\jdk1.1.8" /> -->
+ <property name="java118.home" value="${java.home}" />
+ <!-- <property name="applet.jre.tools" value="${java118.home}/lib/classes.zip" />
-->
- <property name="java118.home" value="${java.home}" />
- <!--<property name="applet.jre.tools" value="${java118.home}/lib/classes.zip" />
- --><!-- jre for 1.4 version -->
- <property name="applet.jre.tools" value="${java.home}/lib/rt.jar"/>
-
- <!-- the classpath for building the 1.1 applet -->
- <path id="jalviewlite.deps">
- <fileset dir="${java118.home}">
- <include name="lib/classes.zip" />
- </fileset>
- <fileset dir="${java.home}/lib">
- <include name="plugin.jar"/>
- </fileset>
- <pathelement location="appletlib/${jmolJar}" />
- <pathelement location="lib/${varnaJar}" />
+ <!-- jre for 1.4 version -->
+ <property name="applet.jre.tools" value="${java.home}/lib/rt.jar"/>
- </path>
+ <!-- the classpath for building the 1.1 applet -->
+ <path id="jalviewlite.deps">
+ <fileset dir="${java118.home}">
+ <include name="lib/classes.zip" />
+ </fileset>
+ <fileset dir="${java.home}/lib">
+ <include name="plugin.jar"/>
+ </fileset>
+ <pathelement location="appletlib/${jmolJar}" />
+ <pathelement location="lib/${varnaJar}" />
+ </path>
<!-- default location for outputting javadoc -->
<property name="javadocDir" value="${packageDir}/javadoc"/>
- </target>
+ </target>
- <taskdef classpath="utils/roxes-ant-tasks-1.2-2004-01-30.jar" resource="com/roxes/tools/ant/taskdefs.properties" />
- <target name="buildPropertiesFile" depends="init">
- <tstamp prefix="build">
- <format property="date" pattern="dd MMMM yyyy" />
- </tstamp>
- <properties file="${outputDir}/.build_properties">
- <header>
+ <taskdef classpath="utils/roxes-ant-tasks-1.2-2004-01-30.jar" resource="com/roxes/tools/ant/taskdefs.properties" />
+ <target name="buildPropertiesFile" depends="init">
+ <tstamp prefix="build">
+ <format property="date" pattern="dd MMMM yyyy" />
+ </tstamp>
+ <properties file="${outputDir}/.build_properties">
+ <header>
---Jalview Build Details---
</header>
- <property name="VERSION" value="${JALVIEW_VERSION}" />
- <property name="BUILD_DATE" value="${build.date}" />
- </properties>
- </target>
-
-
- <target name="clean" depends="init">
- <!-- not efficient yet. -->
- <delete dir="${outputDir}" includes="*,**/*"/>
- </target>
-
- <target name="distclean" depends="init, clean">
-
- <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
- <delete>
- <fileset dir=".">
- <include name="${outputJar}" />
- <include name="#*#" />
- <include name="#*.*#" />
- <include name="**/#*#" />
- <include name="**/#*.*#" />
- <include name="*~" />
- <include name="*.*~" />
- <include name="**/*~" />
- <include name="**/*.*~" />
- </fileset>
- </delete>
- </target>
-
- <target name="prepare" depends="init">
- <mkdir dir="${outputDir}" />
- <copy todir="${outputDir}">
- <fileset dir=".">
- <include name="${docDir}/**/*.*" />
- <include name="${helpDir}/**/*.*" />
- <include name="${libDir}/*.jar" />
- </fileset>
- <fileset dir="${resourceDir}">
- <include name="**/*.*" />
- </fileset>
- </copy>
- </target>
-
- <target name="build" depends="prepare">
- <!-- not efficient yet. -->
- <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" classpathref="build.classpath">
- <exclude name="jalview/*applet*" />
- <exclude name="jalview/appletgui/**" />
- <exclude name="com/stevesoft/**" />
- </javac>
- </target>
- <target name="buildindices" depends="init, prepare" unless="help.uptodate">
- <java classname="com.sun.java.help.search.Indexer" classpathref="build.classpath" fork="true" dir="${outputDir}/${helpDir}">
- <arg line="html" />
- </java>
- </target>
-
- <target name="makefulldist" depends="makedist">
- <copy todir="${packageDir}">
- <fileset dir="${resourceDir}/images">
- <include name="${WebStartImage}"/>
- </fileset>
- </copy>
-
- <taskdef classpathref="build.classpath" resource="com/roxes/tools/ant/taskdefs.properties" />
+ <property name="VERSION" value="${JALVIEW_VERSION}" />
+ <property name="BUILD_DATE" value="${build.date}" />
+ </properties>
+ </target>
+
+
+ <target name="clean" depends="init">
+ <!-- not efficient yet. -->
+ <delete dir="${outputDir}" includes="*,**/*"/>
+ </target>
+
+ <target name="distclean" depends="init, clean">
+
+ <echo message="REMOVING ALL BACKUP/AUTOSAVES!" />
+ <delete>
+ <fileset dir=".">
+ <include name="${outputJar}" />
+ <include name="#*#" />
+ <include name="#*.*#" />
+ <include name="**/#*#" />
+ <include name="**/#*.*#" />
+ <include name="*~" />
+ <include name="*.*~" />
+ <include name="**/*~" />
+ <include name="**/*.*~" />
+ </fileset>
+ </delete>
+ </target>
+
+ <target name="prepare" depends="init">
+ <mkdir dir="${outputDir}" />
+ <copy todir="${outputDir}">
+ <fileset dir=".">
+ <include name="${docDir}/**/*.*" />
+ <include name="${helpDir}/**/*.*" />
+ <include name="${libDir}/*.jar" />
+ </fileset>
+ <fileset dir="${resourceDir}">
+ <include name="**/*.*" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="build" depends="prepare">
+ <!-- not efficient yet. -->
+ <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" classpathref="build.classpath">
+ <exclude name="jalview/*applet*" />
+ <exclude name="jalview/appletgui/**" />
+ <exclude name="com/stevesoft/**" />
+ </javac>
+ </target>
+ <target name="buildindices" depends="init, prepare" unless="help.uptodate">
+ <java classname="com.sun.java.help.search.Indexer" classpathref="build.classpath" fork="true" dir="${outputDir}/${helpDir}">
+ <arg line="html" />
+ </java>
+ </target>
+
+ <target name="makefulldist" depends="makedist">
+ <copy todir="${packageDir}">
+ <fileset dir="${resourceDir}/images">
+ <include name="${WebStartImage}"/>
+ </fileset>
+ </copy>
+
+ <taskdef classpathref="build.classpath" resource="com/roxes/tools/ant/taskdefs.properties" />
<!-- 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>
+ <fileset dir="${packageDir}">
+ <include name="jalview.jar" />
+ </fileset>
</jar>
-
- <mkdir dir="${packageDir}/JNLP-INF"/>
+
+ <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="*"/>
+ <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="JNLP-INF"/>
- </fileset>
- </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
+
+ <jar destfile="${packageDir}/jalview_jnlp_vm.jar" index="true">
+ <fileset dir="${packageDir}">
+ <include name="JNLP-INF"/>
+ </fileset>
+ </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"/>
<!-- 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>
+ <fileset dir="${packageDir}">
+ <include name="*.jar" />
+ </fileset>
</signjar>
- </target>
-
- <target name="runenv" depends="init">
- <path id="run.classpath">
- <pathelement location="${outputDir}" />
- <fileset dir="${outputDir}">
- <include name="${libDir}/*.jar" />
- </fileset>
- </path>
- <pathconvert targetos="unix" refid="run.classpath" property="run.classpath" />
-
- <echo>java -classpath ${run.classpath} jalview.bin.Jalview
+ </target>
+
+ <target name="runenv" depends="init">
+ <path id="run.classpath">
+ <pathelement location="${outputDir}" />
+ <fileset dir="${outputDir}">
+ <include name="${libDir}/*.jar" />
+ </fileset>
+ </path>
+ <pathconvert targetos="unix" refid="run.classpath" property="run.classpath" />
+
+ <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">
- <equals arg1="n" arg2="${doextbuild.response}" />
- </condition>
- <condition property="dontextbuild">
- <equals arg1="N" arg2="${doextbuild.response}" />
- </condition>
- <fail if="dontextbuild">
+
+ <target name="-generatejnlpf">
+ <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="-dofakejnlpfileassoc" depends="-generatejnlpf" if="nojnlpfileassocs">
+ <echo message="Not adding JNLP File Associations"/>
+ </target>
+
+ <target name="-dojnlpfileassoc" depends="-generatejnlpf" unless="nojnlpfileassocs">
+ <replace file="${jnlpFile}">
+ <replacetoken>
+ <![CDATA[</information>]]></replacetoken>
+ <replacevalue>
+ <![CDATA[
+ <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="pfam" />
+ <association mime-type="application-x/ext-file" extensions="aln"/>
+ <association mime-type="application-x/ext-file" extensions="pir"/>
+ <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="jvp"/>
+ </information>]]></replacevalue>
+ </replace>
+ <echo message="Added file associations to JNLP file"/>
+ </target>
+<target name="writejnlpf" depends="-dojnlpfileassoc,-dofakejnlpfileassoc">
+</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">
+ <equals arg1="n" arg2="${doextbuild.response}" />
+ </condition>
+ <condition property="dontextbuild">
+ <equals arg1="N" arg2="${doextbuild.response}" />
+ </condition>
+ <fail if="dontextbuild">
Build External Client Code process aborted by user. Jalview source is unchanged.
</fail>
- <!-- Currently, this doesn't happen automatically.
+ <!-- Currently, this doesn't happen automatically.
1. Run WSDL2Java as below, which generates an ext.vamsas +
vamsas.<datapackages> fileset.
2. refactor ext.vamsas.SpecificserviceWS* to
might be using.
-->
- <path id="axisbuild">
- <path refid="build.classpath" />
- </path>
- <taskdef resource="axis-tasks.properties" classpathref="axisbuild" />
- <move todir="./bak">
- <fileset dir="${sourceDir}" id="client">
- <include name="${wsdl.ClientNS}/*.*" />
- </fileset>
- </move>
-
- <axis-wsdl2java output="${sourceDir}" verbose="true" url="${wsdl.MsaWS2}" serverside="false" deployscope="Request" debug="false" helpergen="true" all="true">
- <mappingSet>
- <mapping namespace="${wsdl.Namespace}" package="${wsdl.ClientNS}" />
- <mapping namespace="http://dataTypes.vamsas" package="${wsdl.ClientNS}" />
- </mappingSet>
- </axis-wsdl2java>
- </target>
-
- <target name="makedist" depends="build, buildPropertiesFile, buildindices">
- <!-- make the package jar if not already existing -->
- <mkdir dir="${packageDir}" />
- <!-- clean dir if it already existed -->
- <delete>
- <fileset dir="${packageDir}">
- <include name="*.jar"/>
- </fileset>
- </delete>
- <jar destfile="${packageDir}/${outputJar}" index="true">
- <manifest>
- <attribute name="Main-Class" value="jalview.bin.Jalview" />
- <attribute name="Permissions" value="all-permissions" />
- <attribute name="Application-Name" value="Jalview Desktop" />
- <attribute name="Codebase" value="${application.codebase}" />
- </manifest>
- <fileset dir="${outputDir}/">
- <exclude name="cache*/**" />
- <exclude name="*.jar" />
- <exclude name="*.jar.*" />
- <exclude name="**/*.jar" />
- <exclude name="**/*.jar.*" />
- </fileset>
- </jar>
-
- <copy toDir="${packageDir}" flatten="true">
- <fileset dir="${outputDir}">
- <include name="*.jar" />
- <include name="**/*.jar" />
- </fileset>
- </copy>
- </target>
-
-
- <!-- jalopy code reformatter -->
- <target name="sourcescrub" depends="init,build">
- <jalopy destdir="jsrc" classpathref="run.classpath" convention="jalview-jalopy.xml">
- <fileset dir="${sourceDir}">
- <include name="*.java" />
- <include name="**/*.java" />
- <include name="**/**/*.java" />
- </fileset>
- </jalopy>
- </target>
-
-
-
- <!-- Compile, package and obfuscate Jalview Applet -->
- <target name="makeApplet" depends="obfuscate" description="assemble the final jalviewLite applet jar with or without obfuscation"/>
-
- <target name="compileApplet" depends="init,clean">
- <mkdir dir="${outputDir}" />
- <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}"
+ <path id="axisbuild">
+ <path refid="build.classpath" />
+ </path>
+ <taskdef resource="axis-tasks.properties" classpathref="axisbuild" />
+ <move todir="./bak">
+ <fileset dir="${sourceDir}" id="client">
+ <include name="${wsdl.ClientNS}/*.*" />
+ </fileset>
+ </move>
+
+ <axis-wsdl2java output="${sourceDir}" verbose="true" url="${wsdl.MsaWS2}" serverside="false" deployscope="Request" debug="false" helpergen="true" all="true">
+ <mappingSet>
+ <mapping namespace="${wsdl.Namespace}" package="${wsdl.ClientNS}" />
+ <mapping namespace="http://dataTypes.vamsas" package="${wsdl.ClientNS}" />
+ </mappingSet>
+ </axis-wsdl2java>
+</target>
+
+<target name="makedist" depends="build, buildPropertiesFile, buildindices">
+ <!-- make the package jar if not already existing -->
+ <mkdir dir="${packageDir}" />
+ <!-- clean dir if it already existed -->
+ <delete>
+ <fileset dir="${packageDir}">
+ <include name="*.jar"/>
+ </fileset>
+ </delete>
+ <jar destfile="${packageDir}/${outputJar}" index="true">
+ <manifest>
+ <attribute name="Main-Class" value="jalview.bin.Jalview" />
+ <attribute name="Permissions" value="all-permissions" />
+ <attribute name="Application-Name" value="Jalview Desktop" />
+ <attribute name="Codebase" value="${application.codebase}" />
+ </manifest>
+ <fileset dir="${outputDir}/">
+ <exclude name="cache*/**" />
+ <exclude name="*.jar" />
+ <exclude name="*.jar.*" />
+ <exclude name="**/*.jar" />
+ <exclude name="**/*.jar.*" />
+ </fileset>
+ </jar>
+
+ <copy toDir="${packageDir}" flatten="true">
+ <fileset dir="${outputDir}">
+ <include name="*.jar" />
+ <include name="**/*.jar" />
+ </fileset>
+ </copy>
+</target>
+
+
+<!-- jalopy code reformatter -->
+<target name="sourcescrub" depends="init,build">
+ <jalopy destdir="jsrc" classpathref="run.classpath" convention="jalview-jalopy.xml">
+ <fileset dir="${sourceDir}">
+ <include name="*.java" />
+ <include name="**/*.java" />
+ <include name="**/**/*.java" />
+ </fileset>
+ </jalopy>
+</target>
+
+
+
+<!-- Compile, package and obfuscate Jalview Applet -->
+<target name="makeApplet" depends="obfuscate" description="assemble the final jalviewLite applet jar with or without obfuscation"/>
+
+<target name="compileApplet" depends="init,clean">
+ <mkdir dir="${outputDir}" />
+ <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}"
classpathref="jalviewlite.deps" includes="jalview/appletgui/**"
excludes="ext/**,MCview/**,org/**,vamsas/**,jalview/ext/paradise/**" />
- </target>
-
- <target name="packageApplet" depends="compileApplet, buildPropertiesFile">
- <copy file="${resourceDir}/images/idwidth.gif" toFile="${outputDir}/images/idwidth.gif" />
- <copy file="${resourceDir}/images/link.gif" toFile="${outputDir}/images/link.gif" />
- <copy todir="${outputDir}/lang">
- <fileset dir="${resourceDir}/lang"><include name="**.*"/></fileset></copy>
- <jar destfile="in.jar" index="true">
- <manifest>
- <attribute name="Main-Class" value="jalview.bin.JalviewLite" />
- <attribute name="Application-Name" value="JalviewLite" />
- <attribute name="Codebase" value="${applet.codebase}" />
- </manifest>
- <fileset dir="${outputDir}">
- <include name="com/**" />
- <include name="MCview/**" />
- <include name="jalview/**" />
- <include name=".build_properties" />
- <include name="images/idwidth.gif" />
- <include name="images/link.gif" />
- <include name="lang/**" />
- </fileset>
- </jar>
- </target>
- <target name="obfuscate" depends="-obfuscatefake,-obfuscatereally">
- </target>
- <target name="-obfuscatefake" depends="packageApplet" if="donotobfuscate">
- <copy file="in.jar" tofile="${jalviewLiteJar}" overwrite="true" />
- <delete file="in.jar" />
- </target>
- <target name="-obfuscatereally" unless="donotobfuscate">
-
- <path id="obfuscateDeps.path">
- <pathelement location="${applet.jre.tools}" />
- <pathelement location="appletlib/${jmolJar}" />
- </path>
- <taskdef resource="proguard/ant/task.properties" classpath="utils/proguard.jar" />
-
- <proguard>
- <injar file="in.jar" />
- <outjar file="${jalviewLiteJar}" />
- <libraryjar refid="obfuscateDeps.path" />
- <dontwarn/>
- <keep access="public" type="class" name="jalview.bin.JalviewLite">
- <field access="public" />
- <method access="public" />
- <constructor access="public" />
- </keep>
- <keep access="public" type="class" name="jalview.appletgui.AlignFrame">
- <field access="public" />
- <method access="public" />
- <constructor access="public" />
- </keep>
- <!-- -libraryjars "${obfuscateDeps}"
+</target>
+
+<target name="packageApplet" depends="compileApplet, buildPropertiesFile">
+ <copy file="${resourceDir}/images/idwidth.gif" toFile="${outputDir}/images/idwidth.gif" />
+ <copy file="${resourceDir}/images/link.gif" toFile="${outputDir}/images/link.gif" />
+ <copy todir="${outputDir}/lang">
+ <fileset dir="${resourceDir}/lang">
+ <include name="**.*"/>
+ </fileset>
+ </copy>
+ <jar destfile="in.jar" index="true">
+ <manifest>
+ <attribute name="Main-Class" value="jalview.bin.JalviewLite" />
+ <attribute name="Application-Name" value="JalviewLite" />
+ <attribute name="Codebase" value="${applet.codebase}" />
+ </manifest>
+ <fileset dir="${outputDir}">
+ <include name="com/**" />
+ <include name="MCview/**" />
+ <include name="jalview/**" />
+ <include name=".build_properties" />
+ <include name="images/idwidth.gif" />
+ <include name="images/link.gif" />
+ <include name="lang/**" />
+ </fileset>
+ </jar>
+</target>
+<target name="obfuscate" depends="-obfuscatefake,-obfuscatereally">
+</target>
+<target name="-obfuscatefake" depends="packageApplet" if="donotobfuscate">
+ <copy file="in.jar" tofile="${jalviewLiteJar}" overwrite="true" />
+ <delete file="in.jar" />
+</target>
+<target name="-obfuscatereally" unless="donotobfuscate">
+
+ <path id="obfuscateDeps.path">
+ <pathelement location="${applet.jre.tools}" />
+ <pathelement location="appletlib/${jmolJar}" />
+ </path>
+ <taskdef resource="proguard/ant/task.properties" classpath="utils/proguard.jar" />
+
+ <proguard>
+ <injar file="in.jar" />
+ <outjar file="${jalviewLiteJar}" />
+ <libraryjar refid="obfuscateDeps.path" />
+ <dontwarn/>
+ <keep access="public" type="class" name="jalview.bin.JalviewLite">
+ <field access="public" />
+ <method access="public" />
+ <constructor access="public" />
+ </keep>
+ <keep access="public" type="class" name="jalview.appletgui.AlignFrame">
+ <field access="public" />
+ <method access="public" />
+ <constructor access="public" />
+ </keep>
+ <!-- -libraryjars "${obfuscateDeps}"
-injars in.jar
-outjars jalviewApplet.jar
-keep public class jalview.bin.JalviewLite
{ public * ; } -->
- </proguard>
- <delete file="in.jar" />
- </target>
-
- <target name="castorbinding" depends="init" description="Generate Java bindings to supported Jalview XML models.">
- <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="build.classpath" />
- <delete>
- <fileset dir="${sourceDir}/jalview/schemabinding/version2">
- <include name="*.java" />
- <include name="descriptors/*.java" />
- </fileset>
- </delete>
- <castor-srcgen file="${schemaDir}/vamsas.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
- <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
- <castor-srcgen file="${schemaDir}/JalviewWsParamSet.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
- <castor-srcgen file="${schemaDir}/jalview.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
- <!--
+ </proguard>
+ <delete file="in.jar" />
+</target>
+
+<target name="castorbinding" depends="init" description="Generate Java bindings to supported Jalview XML models.">
+ <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="build.classpath" />
+ <delete>
+ <fileset dir="${sourceDir}/jalview/schemabinding/version2">
+ <include name="*.java" />
+ <include name="descriptors/*.java" />
+ </fileset>
+ </delete>
+ <castor-srcgen file="${schemaDir}/vamsas.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
+ <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
+ <castor-srcgen file="${schemaDir}/JalviewWsParamSet.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
+ <castor-srcgen file="${schemaDir}/jalview.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
+ <!--
now build the jalview.binding package with the old schema set
-->
- <delete>
- <fileset dir="${sourceDir}/jalview/binding/">
- <include name="**" />
- </fileset>
- </delete>
- <castor-srcgen file="${schemaDir}/vamsasJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
- <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
- <castor-srcgen file="${schemaDir}/jalviewJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
- </target>
- <target name="sourcedist" description="create jalview source distribution" depends="init">
- <delete file="${source.dist.name}" />
- <tar destfile="${source.dist.name}" compression="gzip">
- <tarfileset dir="./" prefix="jalview" preserveLeadingSlashes="true">
- <include name="LICENSE" />
- <include name="README" />
- <include name="build.xml" />
- <include name="jalview-jalopy.xml" />
- <include name="JalviewApplet.jpx" />
- <include name="JalviewX.jpx" />
- <include name="nbbuild.xml"/>
- <include name="nbproject/genfiles.properties"/>
- <include name="nbproject/project.properties"/>
- <include name="nbproject/project.xml"/>
- <include name="${sourceDir}/*.java" />
- <include name="${sourceDir}/**/*.java" />
- <include name="${sourceDir}/**/*.cdr" />
- <include name="${libDir}/**/*" />
- <include name="${resourceDir}/**/*" />
- <include name="${helpDir}/**/*" />
- <include name="appletlib/${jmolJar}" />
- <exclude name="**/*locales" />
- <exclude name="*locales/**" />
- <exclude name="utils/InstallAnywhere/**Build.iap_xml" />
- <exclude name="utils/InstallAnywhere/**Build*/**" />
- <exclude name="utils/InstallAnywhere/**Build*/**" />
- <exclude name="utils/InstallAnywhere/**locale*" />
- <exclude name="utils/InstallAnywhere/**locale*/**" />
- <include name="${schemaDir}/**/*" />
- <include name="utils/**/*" />
- <include name="${docDir}/**/*" />
- <include name="examples/**/*" />
- </tarfileset>
- </tar>
- </target>
- <target name="pubapplet" description="installs the jalviewLite applet and dependent jars into an applet examples directory built under ${outputDir}" depends="makeApplet">
- <copy todir="${packageDir}/examples">
- <fileset dir="examples">
- <include name="**/*"/>
- <include name="javascript/*"/>
+ <delete>
+ <fileset dir="${sourceDir}/jalview/binding/">
+ <include name="**" />
+ </fileset>
+ </delete>
+ <castor-srcgen file="${schemaDir}/vamsasJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
+ <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
+ <castor-srcgen file="${schemaDir}/jalviewJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
+</target>
+<target name="sourcedist" description="create jalview source distribution" depends="init">
+ <delete file="${source.dist.name}" />
+ <tar destfile="${source.dist.name}" compression="gzip">
+ <tarfileset dir="./" prefix="jalview" preserveLeadingSlashes="true">
+ <include name="LICENSE" />
+ <include name="README" />
+ <include name="build.xml" />
+ <include name="jalview-jalopy.xml" />
+ <include name="JalviewApplet.jpx" />
+ <include name="JalviewX.jpx" />
+ <include name="nbbuild.xml"/>
+ <include name="nbproject/genfiles.properties"/>
+ <include name="nbproject/project.properties"/>
+ <include name="nbproject/project.xml"/>
+ <include name="${sourceDir}/*.java" />
+ <include name="${sourceDir}/**/*.java" />
+ <include name="${sourceDir}/**/*.cdr" />
+ <include name="${libDir}/**/*" />
+ <include name="${resourceDir}/**/*" />
+ <include name="${helpDir}/**/*" />
+ <include name="appletlib/${jmolJar}" />
+ <exclude name="**/*locales" />
+ <exclude name="*locales/**" />
+ <exclude name="utils/InstallAnywhere/**Build.iap_xml" />
+ <exclude name="utils/InstallAnywhere/**Build*/**" />
+ <exclude name="utils/InstallAnywhere/**Build*/**" />
+ <exclude name="utils/InstallAnywhere/**locale*" />
+ <exclude name="utils/InstallAnywhere/**locale*/**" />
+ <include name="${schemaDir}/**/*" />
+ <include name="utils/**/*" />
+ <include name="${docDir}/**/*" />
+ <include name="examples/**/*" />
+ </tarfileset>
+ </tar>
+</target>
+<target name="pubapplet" description="installs the jalviewLite applet and dependent jars into an applet examples directory built under ${outputDir}" depends="makeApplet">
+ <copy todir="${packageDir}/examples">
+ <fileset dir="examples">
+ <include name="**/*"/>
+ <include name="javascript/*"/>
<include name="jmol/*"/>
- </fileset>
- <fileset dir=".">
- <include name="${jalviewLiteJar}" />
- </fileset>
- <fileset dir="appletlib">
- <include name="**/*"/>
- </fileset>
- </copy>
- <jar update="true" index="true" jarfile="${packageDir}/examples/${jalviewLiteJar}"/>
- <jar update="true" index="true" jarfile="${packageDir}/examples/${jmolJar}">
- <manifest>
- <attribute name="Application-Name" value="Jmol (bundled with JalviewLite)"/>
- <!-- <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}"/>
- </manifest>
- </jar>
- <signjar sigalg="SHA1WithRSA" storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
- <fileset dir="${packageDir}/examples">
- <include name="*.jar" />
- </fileset>
- </signjar>
- <presetdef name="ap_applet.jar">
- <!-- build a signed applet with 'all-permissions' -
+ </fileset>
+ <fileset dir=".">
+ <include name="${jalviewLiteJar}" />
+ </fileset>
+ <fileset dir="appletlib">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+ <jar update="true" index="true" jarfile="${packageDir}/examples/${jalviewLiteJar}"/>
+ <jar update="true" index="true" jarfile="${packageDir}/examples/${jmolJar}">
+ <manifest>
+ <attribute name="Application-Name" value="Jmol (bundled with JalviewLite)"/>
+ <!-- <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}"/>
+ </manifest>
+ </jar>
+ <signjar sigalg="SHA1WithRSA" storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
+ <fileset dir="${packageDir}/examples">
+ <include name="*.jar" />
+ </fileset>
+ </signjar>
+ <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 -
+ <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 -
+ <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
-->
- <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>
+ <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.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
#-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
-/*********\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
+var deployJava=function(){var l={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]};var b=l.object.concat(l.core,l.i18n,l.events);var m=l.applet.concat(l.core);function g(o){if(!d.debug){return}if(console.log){console.log(o)}else{alert(o)}}function k(p,o){if(p==null||p.length==0){return true}var r=p.charAt(p.length-1);if(r!="+"&&r!="*"&&(p.indexOf("_")!=-1&&r!="_")){p=p+"*";r="*"}p=p.substring(0,p.length-1);if(p.length>0){var q=p.charAt(p.length-1);if(q=="."||q=="_"){p=p.substring(0,p.length-1)}}if(r=="*"){return(o.indexOf(p)==0)}else{if(r=="+"){return p<=o}}return false}function e(){var o="//java.com/js/webstart.png";try{return document.location.protocol.indexOf("http")!=-1?o:"http:"+o}catch(p){return"http:"+o}}function n(p){var o="http://java.com/dt-redirect";if(p==null||p.length==0){return o}if(p.charAt(0)=="&"){p=p.substring(1,p.length)}return o+"?"+p}function j(q,p){var o=q.length;for(var r=0;r<o;r++){if(q[r]===p){return true}}return false}function c(o){return j(m,o.toLowerCase())}function i(o){return j(b,o.toLowerCase())}function a(o){if("MSIE"!=deployJava.browserName){return true}if(deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],false,true)){return true}if(o==null){return false}return !k("1.6.0_33+",o)}var d={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:e(),browserName:null,browserName2:null,getJREs:function(){var t=new Array();if(this.isPluginInstalled()){var r=this.getPlugin();var o=r.jvms;for(var q=0;q<o.getLength();q++){t[q]=o.get(q).version}}else{var p=this.getBrowser();if(p=="MSIE"){if(this.testUsingActiveX("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingActiveX("1.6.0")){t[0]="1.6.0"}else{if(this.testUsingActiveX("1.5.0")){t[0]="1.5.0"}else{if(this.testUsingActiveX("1.4.2")){t[0]="1.4.2"}else{if(this.testForMSVM()){t[0]="1.1"}}}}}}else{if(p=="Netscape Family"){this.getJPIVersionUsingMimeType();if(this.firefoxJavaVersion!=null){t[0]=this.firefoxJavaVersion}else{if(this.testUsingMimeTypes("1.7")){t[0]="1.7.0"}else{if(this.testUsingMimeTypes("1.6")){t[0]="1.6.0"}else{if(this.testUsingMimeTypes("1.5")){t[0]="1.5.0"}else{if(this.testUsingMimeTypes("1.4.2")){t[0]="1.4.2"}else{if(this.browserName2=="Safari"){if(this.testUsingPluginsArray("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingPluginsArray("1.6")){t[0]="1.6.0"}else{if(this.testUsingPluginsArray("1.5")){t[0]="1.5.0"}else{if(this.testUsingPluginsArray("1.4.2")){t[0]="1.4.2"}}}}}}}}}}}}}if(this.debug){for(var q=0;q<t.length;++q){g("[getJREs()] We claim to have detected Java SE "+t[q])}}return t},installJRE:function(r,p){var o=false;if(this.isPluginInstalled()&&this.isAutoInstallEnabled(r)){var q=false;if(this.isCallbackSupported()){q=this.getPlugin().installJRE(r,p)}else{q=this.getPlugin().installJRE(r)}if(q){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return q}else{return this.installLatestJRE()}},isAutoInstallEnabled:function(o){if(!this.isPluginInstalled()){return false}if(typeof o=="undefined"){o=null}return a(o)},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],false,true)},installLatestJRE:function(q){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var r=false;if(this.isCallbackSupported()){r=this.getPlugin().installLatestJRE(q)}else{r=this.getPlugin().installLatestJRE()}if(r){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return r}else{var p=this.getBrowser();var o=navigator.platform.toLowerCase();if((this.EAInstallEnabled=="true")&&(o.indexOf("win")!=-1)&&(this.EarlyAccessURL!=null)){this.preInstallJREList=this.getJREs();if(this.returnPage!=null){this.myInterval=setInterval("deployJava.poll()",3000)}location.href=this.EarlyAccessURL;return false}else{if(p=="MSIE"){return this.IEInstall()}else{if((p=="Netscape Family")&&(o.indexOf("win32")!=-1)){return this.FFInstall()}else{location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""))}}return false}}},runApplet:function(p,u,r){if(r=="undefined"||r==null){r="1.1"}var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(this.returnPage==null){this.returnPage=document.location}if(o!=null){var q=this.getBrowser();if(q!="?"){if(this.versionCheck(r+"+")){this.writeAppletTag(p,u)}else{if(this.installJRE(r+"+")){this.refresh();location.href=document.location;this.writeAppletTag(p,u)}}}else{this.writeAppletTag(p,u)}}else{g("[runApplet()] Invalid minimumVersion argument to runApplet():"+r)}},writeAppletTag:function(r,w){var o="<"+"applet ";var q="";var t="<"+"/"+"applet"+">";var x=true;if(null==w||typeof w!="object"){w=new Object()}for(var p in r){if(!c(p)){w[p]=r[p]}else{o+=(" "+p+'="'+r[p]+'"');if(p=="code"){x=false}}}var v=false;for(var u in w){if(u=="codebase_lookup"){v=true}if(u=="object"||u=="java_object"||u=="java_code"){x=false}q+='<param name="'+u+'" value="'+w[u]+'"/>'}if(!v){q+='<param name="codebase_lookup" value="false"/>'}if(x){o+=(' code="dummy"')}o+=">";document.write(o+"\n"+q+"\n"+t)},versionCheck:function(p){var v=0;var x="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var y=p.match(x);if(y!=null){var r=false;var u=false;var q=new Array();for(var t=1;t<y.length;++t){if((typeof y[t]=="string")&&(y[t]!="")){q[v]=y[t];v++}}if(q[q.length-1]=="+"){u=true;r=false;q.length--}else{if(q[q.length-1]=="*"){u=false;r=true;q.length--}else{if(q.length<4){u=false;r=true}}}var w=this.getJREs();for(var t=0;t<w.length;++t){if(this.compareVersionToPattern(w[t],q,r,u)){return true}}return false}else{var o="Invalid versionPattern passed to versionCheck: "+p;g("[versionCheck()] "+o);alert(o);return false}},isWebStartInstalled:function(r){var q=this.getBrowser();if(q=="?"){return true}if(r=="undefined"||r==null){r="1.4.2"}var p=false;var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(o!=null){p=this.versionCheck(r+"+")}else{g("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+r);p=this.versionCheck("1.4.2+")}return p},getJPIVersionUsingMimeType:function(){for(var p=0;p<navigator.mimeTypes.length;++p){var q=navigator.mimeTypes[p].type;var o=q.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(o!=null){this.firefoxJavaVersion=o[1];if("Opera"!=this.browserName2){break}}}},launchWebStartApplication:function(r){var o=navigator.userAgent.toLowerCase();this.getJPIVersionUsingMimeType();if(this.isWebStartInstalled("1.7.0")==false){if((this.installJRE("1.7.0+")==false)||((this.isWebStartInstalled("1.7.0")==false))){return false}}var u=null;if(document.documentURI){u=document.documentURI}if(u==null){u=document.URL}var p=this.getBrowser();var q;if(p=="MSIE"){q="<"+'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+'width="0" height="0">'+"<"+'PARAM name="launchjnlp" value="'+r+'"'+">"+"<"+'PARAM name="docbase" value="'+u+'"'+">"+"<"+"/"+"object"+">"}else{if(p=="Netscape Family"){q="<"+'embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" '+'width="0" height="0" '+'launchjnlp="'+r+'"'+'docbase="'+u+'"'+" />"}}if(document.body=="undefined"||document.body==null){document.write(q);document.location=u}else{var t=document.createElement("div");t.id="div1";t.style.position="relative";t.style.left="-10000px";t.style.margin="0px auto";t.className="dynamicDiv";t.innerHTML=q;document.body.appendChild(t)}},createWebStartLaunchButtonEx:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:deployJava.launchWebStartApplication('"+q+"');";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},createWebStartLaunchButton:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:"+"if (!deployJava.isWebStartInstalled(""+p+"")) {"+"if (deployJava.installLatestJRE()) {"+"if (deployJava.launch(""+q+"")) {}"+"}"+"} else {"+"if (deployJava.launch(""+q+"")) {}"+"}";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},launch:function(o){document.location=o;return true},isPluginInstalled:function(){var o=this.getPlugin();if(o&&o.jvms){return true}else{return false}},isAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().isAutoUpdateEnabled()}return false},setAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().setAutoUpdateEnabled()}return false},setInstallerType:function(o){this.installType=o;if(this.isPluginInstalled()){return this.getPlugin().setInstallerType(o)}return false},setAdditionalPackages:function(o){if(this.isPluginInstalled()){return this.getPlugin().setAdditionalPackages(o)}return false},setEarlyAccess:function(o){this.EAInstallEnabled=o},isPlugin2:function(){if(this.isPluginInstalled()){if(this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2()}catch(o){}}}return false},allowPlugin:function(){this.getBrowser();var o=("Safari"!=this.browserName2&&"Opera"!=this.browserName2);return o},getPlugin:function(){this.refresh();var o=null;if(this.allowPlugin()){o=document.getElementById("deployJavaPlugin")}return o},compareVersionToPattern:function(v,p,r,t){if(v==undefined||p==undefined){return false}var w="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var x=v.match(w);if(x!=null){var u=0;var y=new Array();for(var q=1;q<x.length;++q){if((typeof x[q]=="string")&&(x[q]!="")){y[u]=x[q];u++}}var o=Math.min(y.length,p.length);if(t){for(var q=0;q<o;++q){if(y[q]<p[q]){return false}else{if(y[q]>p[q]){return true}}}return true}else{for(var q=0;q<o;++q){if(y[q]!=p[q]){return false}}if(r){return true}else{return(y.length==p.length)}}}else{return false}},getBrowser:function(){if(this.browserName==null){var o=navigator.userAgent.toLowerCase();g("[getBrowser()] navigator.userAgent.toLowerCase() -> "+o);if((o.indexOf("msie")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("trident")!=-1||o.indexOf("Trident")!=-1){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("iphone")!=-1){this.browserName="Netscape Family";this.browserName2="iPhone"}else{if((o.indexOf("firefox")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Firefox"}else{if(o.indexOf("chrome")!=-1){this.browserName="Netscape Family";this.browserName2="Chrome"}else{if(o.indexOf("safari")!=-1){this.browserName="Netscape Family";this.browserName2="Safari"}else{if((o.indexOf("mozilla")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Other"}else{if(o.indexOf("opera")!=-1){this.browserName="Netscape Family";this.browserName2="Opera"}else{this.browserName="?";this.browserName2="unknown"}}}}}}}}g("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2)}return this.browserName},testUsingActiveX:function(o){var q="JavaWebStart.isInstalled."+o+".0";if(typeof ActiveXObject=="undefined"||!ActiveXObject){g("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?");return false}try{return(new ActiveXObject(q)!=null)}catch(p){return false}},testForMSVM:function(){var p="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if(typeof oClientCaps!="undefined"){var o=oClientCaps.getComponentVersion(p,"ComponentID");if((o=="")||(o=="5,0,5000,0")){return false}else{return true}}else{return false}},testUsingMimeTypes:function(p){if(!navigator.mimeTypes){g("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?");return false}for(var q=0;q<navigator.mimeTypes.length;++q){s=navigator.mimeTypes[q].type;var o=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(o!=null){if(this.compareVersions(o[1],p)){return true}}}return false},testUsingPluginsArray:function(p){if((!navigator.plugins)||(!navigator.plugins.length)){return false}var o=navigator.platform.toLowerCase();for(var q=0;q<navigator.plugins.length;++q){s=navigator.plugins[q].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(this.compareVersions("1.5.0",p)){return true}}else{if(s.search(/^Java/)!=-1){if(o.indexOf("win")!=-1){if(this.compareVersions("1.5.0",p)||this.compareVersions("1.6.0",p)){return true}}}}}if(this.compareVersions("1.5.0",p)){return true}return false},IEInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""));return false},done:function(p,o){},FFInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):"")+((this.installType!=null)?("&type="+this.installType):""));return false},compareVersions:function(r,t){var p=r.split(".");var o=t.split(".");for(var q=0;q<p.length;++q){p[q]=Number(p[q])}for(var q=0;q<o.length;++q){o[q]=Number(o[q])}if(p.length==2){p[2]=0}if(p[0]>o[0]){return true}if(p[0]<o[0]){return false}if(p[1]>o[1]){return true}if(p[1]<o[1]){return false}if(p[2]>o[2]){return true}if(p[2]<o[2]){return false}return true},enableAlerts:function(){this.browserName=null;this.debug=true},poll:function(){this.refresh();var o=this.getJREs();if((this.preInstallJREList.length==0)&&(o.length!=0)){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}if((this.preInstallJREList.length!=0)&&(o.length!=0)&&(this.preInstallJREList[0]!=o[0])){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}},writePluginTag:function(){var o=this.getBrowser();if(o=="MSIE"){document.write("<"+'object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+"<"+"/"+"object"+">")}else{if(o=="Netscape Family"&&this.allowPlugin()){this.writeEmbedTag()}}},refresh:function(){navigator.plugins.refresh(false);var o=this.getBrowser();if(o=="Netscape Family"&&this.allowPlugin()){var p=document.getElementById("deployJavaPlugin");if(p==null){this.writeEmbedTag()}}},writeEmbedTag:function(){var o=false;if(navigator.mimeTypes!=null){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.mimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.mimeType+'" hidden="true" />');o=true}}}if(!o){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.oldMimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.oldMimeType+'" hidden="true" />')}}}}}}};d.writePluginTag();if(d.locale==null){var h=null;if(h==null){try{h=navigator.userLanguage}catch(f){}}if(h==null){try{h=navigator.systemLanguage}catch(f){}}if(h==null){try{h=navigator.language}catch(f){}}if(h!=null){h.replace("-","_");d.locale=h}}return d}();
\ No newline at end of file
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
// counter for jmol structures
var mnum = 1;
+function getDocumentBase() {
+ var dburi = document.baseURI;
+ // IE does not support document.baseURI
+ // logic from patch to TYPO3:
+ // http://forge.typo3.org/projects/typo3cms-core/repository/revisions/f61358afad28adb6dcaeb270ba480e998dfb0b79/diff/typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js
+ if (!dburi) {
+ var baseTags = document.getElementsByTagName('base');
+ if (baseTags.length > 0) {
+ dburi = baseTags[0].href;
+ } else {
+ dburi = document.URL;
+ }
+ }
+ return dburi.substring(0, dburi.lastIndexOf("/") + 1);
+}
function setConsole(console) {
_console = console;
}
jmbinding._jmol=jmolView;
// now update structureListener list
mtf="";
- var dbase = document.baseURI.substring(0,document.baseURI.lastIndexOf("/")+1);
+ var dbase = getDocumentBase();
for (m in jmbinding._modelstofiles)
{ if (m>0) { mtf+=sep; }
mtf+=jmbinding._modelstofiles[m];
("" + 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 base = list[1].indexOf(getDocumentBase()); // .indexOf(_path);
+ if (base==0) { base = getDocumentBase(); }
var sid = list[1]; // .substring(base);
base = list[1].substring(0, base);
if (_console) {
// 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('/'))
+ getDocumentBase()
+ "/" +
modeltofiles[atomlabel[5]]);
msg = _jmolhovermsg;
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
-<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/deployJava.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
<script src="javascript/jalview.js" language="javascript"></script>
<script> //deployJava.debug="true";
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
#-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
-/*********\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
+var deployJava=function(){var l={core:["id","class","title","style"],i18n:["lang","dir"],events:["onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],applet:["codebase","code","name","archive","object","width","height","alt","align","hspace","vspace"],object:["classid","codebase","codetype","data","type","archive","declare","standby","height","width","usemap","name","tabindex","align","border","hspace","vspace"]};var b=l.object.concat(l.core,l.i18n,l.events);var m=l.applet.concat(l.core);function g(o){if(!d.debug){return}if(console.log){console.log(o)}else{alert(o)}}function k(p,o){if(p==null||p.length==0){return true}var r=p.charAt(p.length-1);if(r!="+"&&r!="*"&&(p.indexOf("_")!=-1&&r!="_")){p=p+"*";r="*"}p=p.substring(0,p.length-1);if(p.length>0){var q=p.charAt(p.length-1);if(q=="."||q=="_"){p=p.substring(0,p.length-1)}}if(r=="*"){return(o.indexOf(p)==0)}else{if(r=="+"){return p<=o}}return false}function e(){var o="//java.com/js/webstart.png";try{return document.location.protocol.indexOf("http")!=-1?o:"http:"+o}catch(p){return"http:"+o}}function n(p){var o="http://java.com/dt-redirect";if(p==null||p.length==0){return o}if(p.charAt(0)=="&"){p=p.substring(1,p.length)}return o+"?"+p}function j(q,p){var o=q.length;for(var r=0;r<o;r++){if(q[r]===p){return true}}return false}function c(o){return j(m,o.toLowerCase())}function i(o){return j(b,o.toLowerCase())}function a(o){if("MSIE"!=deployJava.browserName){return true}if(deployJava.compareVersionToPattern(deployJava.getPlugin().version,["10","0","0"],false,true)){return true}if(o==null){return false}return !k("1.6.0_33+",o)}var d={debug:null,version:"20120801",firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:e(),browserName:null,browserName2:null,getJREs:function(){var t=new Array();if(this.isPluginInstalled()){var r=this.getPlugin();var o=r.jvms;for(var q=0;q<o.getLength();q++){t[q]=o.get(q).version}}else{var p=this.getBrowser();if(p=="MSIE"){if(this.testUsingActiveX("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingActiveX("1.6.0")){t[0]="1.6.0"}else{if(this.testUsingActiveX("1.5.0")){t[0]="1.5.0"}else{if(this.testUsingActiveX("1.4.2")){t[0]="1.4.2"}else{if(this.testForMSVM()){t[0]="1.1"}}}}}}else{if(p=="Netscape Family"){this.getJPIVersionUsingMimeType();if(this.firefoxJavaVersion!=null){t[0]=this.firefoxJavaVersion}else{if(this.testUsingMimeTypes("1.7")){t[0]="1.7.0"}else{if(this.testUsingMimeTypes("1.6")){t[0]="1.6.0"}else{if(this.testUsingMimeTypes("1.5")){t[0]="1.5.0"}else{if(this.testUsingMimeTypes("1.4.2")){t[0]="1.4.2"}else{if(this.browserName2=="Safari"){if(this.testUsingPluginsArray("1.7.0")){t[0]="1.7.0"}else{if(this.testUsingPluginsArray("1.6")){t[0]="1.6.0"}else{if(this.testUsingPluginsArray("1.5")){t[0]="1.5.0"}else{if(this.testUsingPluginsArray("1.4.2")){t[0]="1.4.2"}}}}}}}}}}}}}if(this.debug){for(var q=0;q<t.length;++q){g("[getJREs()] We claim to have detected Java SE "+t[q])}}return t},installJRE:function(r,p){var o=false;if(this.isPluginInstalled()&&this.isAutoInstallEnabled(r)){var q=false;if(this.isCallbackSupported()){q=this.getPlugin().installJRE(r,p)}else{q=this.getPlugin().installJRE(r)}if(q){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return q}else{return this.installLatestJRE()}},isAutoInstallEnabled:function(o){if(!this.isPluginInstalled()){return false}if(typeof o=="undefined"){o=null}return a(o)},isCallbackSupported:function(){return this.isPluginInstalled()&&this.compareVersionToPattern(this.getPlugin().version,["10","2","0"],false,true)},installLatestJRE:function(q){if(this.isPluginInstalled()&&this.isAutoInstallEnabled()){var r=false;if(this.isCallbackSupported()){r=this.getPlugin().installLatestJRE(q)}else{r=this.getPlugin().installLatestJRE()}if(r){this.refresh();if(this.returnPage!=null){document.location=this.returnPage}}return r}else{var p=this.getBrowser();var o=navigator.platform.toLowerCase();if((this.EAInstallEnabled=="true")&&(o.indexOf("win")!=-1)&&(this.EarlyAccessURL!=null)){this.preInstallJREList=this.getJREs();if(this.returnPage!=null){this.myInterval=setInterval("deployJava.poll()",3000)}location.href=this.EarlyAccessURL;return false}else{if(p=="MSIE"){return this.IEInstall()}else{if((p=="Netscape Family")&&(o.indexOf("win32")!=-1)){return this.FFInstall()}else{location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""))}}return false}}},runApplet:function(p,u,r){if(r=="undefined"||r==null){r="1.1"}var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(this.returnPage==null){this.returnPage=document.location}if(o!=null){var q=this.getBrowser();if(q!="?"){if(this.versionCheck(r+"+")){this.writeAppletTag(p,u)}else{if(this.installJRE(r+"+")){this.refresh();location.href=document.location;this.writeAppletTag(p,u)}}}else{this.writeAppletTag(p,u)}}else{g("[runApplet()] Invalid minimumVersion argument to runApplet():"+r)}},writeAppletTag:function(r,w){var o="<"+"applet ";var q="";var t="<"+"/"+"applet"+">";var x=true;if(null==w||typeof w!="object"){w=new Object()}for(var p in r){if(!c(p)){w[p]=r[p]}else{o+=(" "+p+'="'+r[p]+'"');if(p=="code"){x=false}}}var v=false;for(var u in w){if(u=="codebase_lookup"){v=true}if(u=="object"||u=="java_object"||u=="java_code"){x=false}q+='<param name="'+u+'" value="'+w[u]+'"/>'}if(!v){q+='<param name="codebase_lookup" value="false"/>'}if(x){o+=(' code="dummy"')}o+=">";document.write(o+"\n"+q+"\n"+t)},versionCheck:function(p){var v=0;var x="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var y=p.match(x);if(y!=null){var r=false;var u=false;var q=new Array();for(var t=1;t<y.length;++t){if((typeof y[t]=="string")&&(y[t]!="")){q[v]=y[t];v++}}if(q[q.length-1]=="+"){u=true;r=false;q.length--}else{if(q[q.length-1]=="*"){u=false;r=true;q.length--}else{if(q.length<4){u=false;r=true}}}var w=this.getJREs();for(var t=0;t<w.length;++t){if(this.compareVersionToPattern(w[t],q,r,u)){return true}}return false}else{var o="Invalid versionPattern passed to versionCheck: "+p;g("[versionCheck()] "+o);alert(o);return false}},isWebStartInstalled:function(r){var q=this.getBrowser();if(q=="?"){return true}if(r=="undefined"||r==null){r="1.4.2"}var p=false;var t="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var o=r.match(t);if(o!=null){p=this.versionCheck(r+"+")}else{g("[isWebStartInstaller()] Invalid minimumVersion argument to isWebStartInstalled(): "+r);p=this.versionCheck("1.4.2+")}return p},getJPIVersionUsingMimeType:function(){for(var p=0;p<navigator.mimeTypes.length;++p){var q=navigator.mimeTypes[p].type;var o=q.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(o!=null){this.firefoxJavaVersion=o[1];if("Opera"!=this.browserName2){break}}}},launchWebStartApplication:function(r){var o=navigator.userAgent.toLowerCase();this.getJPIVersionUsingMimeType();if(this.isWebStartInstalled("1.7.0")==false){if((this.installJRE("1.7.0+")==false)||((this.isWebStartInstalled("1.7.0")==false))){return false}}var u=null;if(document.documentURI){u=document.documentURI}if(u==null){u=document.URL}var p=this.getBrowser();var q;if(p=="MSIE"){q="<"+'object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" '+'width="0" height="0">'+"<"+'PARAM name="launchjnlp" value="'+r+'"'+">"+"<"+'PARAM name="docbase" value="'+u+'"'+">"+"<"+"/"+"object"+">"}else{if(p=="Netscape Family"){q="<"+'embed type="application/x-java-applet;jpi-version='+this.firefoxJavaVersion+'" '+'width="0" height="0" '+'launchjnlp="'+r+'"'+'docbase="'+u+'"'+" />"}}if(document.body=="undefined"||document.body==null){document.write(q);document.location=u}else{var t=document.createElement("div");t.id="div1";t.style.position="relative";t.style.left="-10000px";t.style.margin="0px auto";t.className="dynamicDiv";t.innerHTML=q;document.body.appendChild(t)}},createWebStartLaunchButtonEx:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:deployJava.launchWebStartApplication('"+q+"');";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},createWebStartLaunchButton:function(q,p){if(this.returnPage==null){this.returnPage=q}var o="javascript:"+"if (!deployJava.isWebStartInstalled(""+p+"")) {"+"if (deployJava.installLatestJRE()) {"+"if (deployJava.launch(""+q+"")) {}"+"}"+"} else {"+"if (deployJava.launch(""+q+"")) {}"+"}";document.write("<"+'a href="'+o+"\" onMouseOver=\"window.status=''; "+'return true;"><'+"img "+'src="'+this.launchButtonPNG+'" '+'border="0" /><'+"/"+"a"+">")},launch:function(o){document.location=o;return true},isPluginInstalled:function(){var o=this.getPlugin();if(o&&o.jvms){return true}else{return false}},isAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().isAutoUpdateEnabled()}return false},setAutoUpdateEnabled:function(){if(this.isPluginInstalled()){return this.getPlugin().setAutoUpdateEnabled()}return false},setInstallerType:function(o){this.installType=o;if(this.isPluginInstalled()){return this.getPlugin().setInstallerType(o)}return false},setAdditionalPackages:function(o){if(this.isPluginInstalled()){return this.getPlugin().setAdditionalPackages(o)}return false},setEarlyAccess:function(o){this.EAInstallEnabled=o},isPlugin2:function(){if(this.isPluginInstalled()){if(this.versionCheck("1.6.0_10+")){try{return this.getPlugin().isPlugin2()}catch(o){}}}return false},allowPlugin:function(){this.getBrowser();var o=("Safari"!=this.browserName2&&"Opera"!=this.browserName2);return o},getPlugin:function(){this.refresh();var o=null;if(this.allowPlugin()){o=document.getElementById("deployJavaPlugin")}return o},compareVersionToPattern:function(v,p,r,t){if(v==undefined||p==undefined){return false}var w="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var x=v.match(w);if(x!=null){var u=0;var y=new Array();for(var q=1;q<x.length;++q){if((typeof x[q]=="string")&&(x[q]!="")){y[u]=x[q];u++}}var o=Math.min(y.length,p.length);if(t){for(var q=0;q<o;++q){if(y[q]<p[q]){return false}else{if(y[q]>p[q]){return true}}}return true}else{for(var q=0;q<o;++q){if(y[q]!=p[q]){return false}}if(r){return true}else{return(y.length==p.length)}}}else{return false}},getBrowser:function(){if(this.browserName==null){var o=navigator.userAgent.toLowerCase();g("[getBrowser()] navigator.userAgent.toLowerCase() -> "+o);if((o.indexOf("msie")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("trident")!=-1||o.indexOf("Trident")!=-1){this.browserName="MSIE";this.browserName2="MSIE"}else{if(o.indexOf("iphone")!=-1){this.browserName="Netscape Family";this.browserName2="iPhone"}else{if((o.indexOf("firefox")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Firefox"}else{if(o.indexOf("chrome")!=-1){this.browserName="Netscape Family";this.browserName2="Chrome"}else{if(o.indexOf("safari")!=-1){this.browserName="Netscape Family";this.browserName2="Safari"}else{if((o.indexOf("mozilla")!=-1)&&(o.indexOf("opera")==-1)){this.browserName="Netscape Family";this.browserName2="Other"}else{if(o.indexOf("opera")!=-1){this.browserName="Netscape Family";this.browserName2="Opera"}else{this.browserName="?";this.browserName2="unknown"}}}}}}}}g("[getBrowser()] Detected browser name:"+this.browserName+", "+this.browserName2)}return this.browserName},testUsingActiveX:function(o){var q="JavaWebStart.isInstalled."+o+".0";if(typeof ActiveXObject=="undefined"||!ActiveXObject){g("[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?");return false}try{return(new ActiveXObject(q)!=null)}catch(p){return false}},testForMSVM:function(){var p="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if(typeof oClientCaps!="undefined"){var o=oClientCaps.getComponentVersion(p,"ComponentID");if((o=="")||(o=="5,0,5000,0")){return false}else{return true}}else{return false}},testUsingMimeTypes:function(p){if(!navigator.mimeTypes){g("[testUsingMimeTypes()] Browser claims to be Netscape family, but no mimeTypes[] array?");return false}for(var q=0;q<navigator.mimeTypes.length;++q){s=navigator.mimeTypes[q].type;var o=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(o!=null){if(this.compareVersions(o[1],p)){return true}}}return false},testUsingPluginsArray:function(p){if((!navigator.plugins)||(!navigator.plugins.length)){return false}var o=navigator.platform.toLowerCase();for(var q=0;q<navigator.plugins.length;++q){s=navigator.plugins[q].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(this.compareVersions("1.5.0",p)){return true}}else{if(s.search(/^Java/)!=-1){if(o.indexOf("win")!=-1){if(this.compareVersions("1.5.0",p)||this.compareVersions("1.6.0",p)){return true}}}}}if(this.compareVersions("1.5.0",p)){return true}return false},IEInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):""));return false},done:function(p,o){},FFInstall:function(){location.href=n(((this.returnPage!=null)?("&returnPage="+this.returnPage):"")+((this.locale!=null)?("&locale="+this.locale):"")+((this.brand!=null)?("&brand="+this.brand):"")+((this.installType!=null)?("&type="+this.installType):""));return false},compareVersions:function(r,t){var p=r.split(".");var o=t.split(".");for(var q=0;q<p.length;++q){p[q]=Number(p[q])}for(var q=0;q<o.length;++q){o[q]=Number(o[q])}if(p.length==2){p[2]=0}if(p[0]>o[0]){return true}if(p[0]<o[0]){return false}if(p[1]>o[1]){return true}if(p[1]<o[1]){return false}if(p[2]>o[2]){return true}if(p[2]<o[2]){return false}return true},enableAlerts:function(){this.browserName=null;this.debug=true},poll:function(){this.refresh();var o=this.getJREs();if((this.preInstallJREList.length==0)&&(o.length!=0)){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}if((this.preInstallJREList.length!=0)&&(o.length!=0)&&(this.preInstallJREList[0]!=o[0])){clearInterval(this.myInterval);if(this.returnPage!=null){location.href=this.returnPage}}},writePluginTag:function(){var o=this.getBrowser();if(o=="MSIE"){document.write("<"+'object classid="clsid:CAFEEFAC-DEC7-0000-0001-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+"<"+"/"+"object"+">")}else{if(o=="Netscape Family"&&this.allowPlugin()){this.writeEmbedTag()}}},refresh:function(){navigator.plugins.refresh(false);var o=this.getBrowser();if(o=="Netscape Family"&&this.allowPlugin()){var p=document.getElementById("deployJavaPlugin");if(p==null){this.writeEmbedTag()}}},writeEmbedTag:function(){var o=false;if(navigator.mimeTypes!=null){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.mimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.mimeType+'" hidden="true" />');o=true}}}if(!o){for(var p=0;p<navigator.mimeTypes.length;p++){if(navigator.mimeTypes[p].type==this.oldMimeType){if(navigator.mimeTypes[p].enabledPlugin){document.write("<"+'embed id="deployJavaPlugin" type="'+this.oldMimeType+'" hidden="true" />')}}}}}}};d.writePluginTag();if(d.locale==null){var h=null;if(h==null){try{h=navigator.userLanguage}catch(f){}}if(h==null){try{h=navigator.systemLanguage}catch(f){}}if(h==null){try{h=navigator.language}catch(f){}}if(h!=null){h.replace("-","_");d.locale=h}}return d}();
\ No newline at end of file
/**
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
// counter for jmol structures
var mnum = 1;
+function getDocumentBase() {
+ var dburi = document.baseURI;
+ // IE does not support document.baseURI
+ // logic from patch to TYPO3:
+ // http://forge.typo3.org/projects/typo3cms-core/repository/revisions/f61358afad28adb6dcaeb270ba480e998dfb0b79/diff/typo3/sysext/rtehtmlarea/htmlarea/htmlarea.js
+ if (!dburi) {
+ var baseTags = document.getElementsByTagName('base');
+ if (baseTags.length > 0) {
+ dburi = baseTags[0].href;
+ } else {
+ dburi = document.URL;
+ }
+ }
+ return dburi.substring(0, dburi.lastIndexOf("/") + 1);
+}
function setConsole(console) {
_console = console;
}
jmbinding._jmol=jmolView;
// now update structureListener list
mtf="";
- var dbase = document.baseURI.substring(0,document.baseURI.lastIndexOf("/")+1);
+ var dbase = getDocumentBase();
for (m in jmbinding._modelstofiles)
{ if (m>0) { mtf+=sep; }
mtf+=jmbinding._modelstofiles[m];
("" + 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 base = list[1].indexOf(getDocumentBase()); // .indexOf(_path);
+ if (base==0) { base = getDocumentBase(); }
var sid = list[1]; // .substring(base);
base = list[1].substring(0, base);
if (_console) {
// 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('/'))
+ getDocumentBase()
+ "/" +
modeltofiles[atomlabel[5]]);
msg = _jmolhovermsg;
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
</div>
<!-- content template start -->
-<script src="http://www.java.com/js/deployJava.js"></script>
+<script src="javascript/deployJava.js"></script>
+<script src="javascript/jshashtable-2.1.js" language="javascript"></script>
<script src="javascript/jalview.js" language="javascript"></script>
<script> //deployJava.debug="true";
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!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)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="ISO-8859-1" ?>\r
<!--\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)\r
* Copyright (C) 2014 The Jalview Authors\r
* \r
* This file is part of Jalview.\r
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<mapID target="seqfeatedit" url="html/features/editingFeatures.html"/>
<mapID target="seqfeatcreat" url="html/features/creatinFeatures.html"/>
<mapID target="seqfeatures.settings" url="html/features/featuresettings.html"/>
+ <mapID target="seqfeatures.settings.selcols" url="html/features/featuresettings.html#selectbyfeature"/>
<mapID target="viewingpdbs" url="html/features/viewingpdbs.html"/>
+ <mapID target="viewingpdbs.reps" url="html/features/viewingpdbs.html#viewreps"/>
<mapID target="pdbmcviewer" url="html/features/pdbviewer.html"/>
<mapID target="pdbjmol" url="html/features/jmol.html"/>
<mapID target="varna" url="html/features/varna.html"/>
<mapID target="aaProperties" url="html/misc/aaproperties.html" />
<mapID target="geneticCode" url="html/misc/geneticCode.html" />
<mapID target="subtMatrices" url="html/calculations/scorematrices.html" />
+ <mapID target="subtMatrices.pam250" url="html/calculations/scorematrices.html#pam250" />
<mapID target="backIcon" url="icons/back.png" />
<mapID target="forwardIcon" url="icons/forward.png" />
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<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="Select columns containing sequence features" target="seqfeatures.settings"/>
+ <tocitem text="RNAalifold RNA Secondary Structure Prediction" target="rnaalifold"/>
+ <tocitem text="Select columns containing sequence features" target="seqfeatures.settings.selcols"/>
+ <tocitem text="View all representative PDB structures" target="viewingpdbs.reps"/>
+ <tocitem text="Support for PAM250 for trees and PCA calculations" target="subtMatrices.pam250"/>
</tocitem>
<tocitem text="Editing Alignments" target ="edit"/>
<tocitem text="Cursor Mode" target="cursor"/>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
of memory. A future release of Jalview will be able to avoid this by
executing the calculation via a web service.</p>
-<p><strong>About PCA</strong>Principal components analysis is a technique for examining the
+<p><strong>About PCA</strong></p>
+<p>Principal components analysis is a technique for examining the
structure of complex data sets. The components are a set of dimensions
formed from the measured values in the data set, and the principle
component is the one with the greatest magnitude, or length. The sets of
alignments. In both cases, components are generated by an eigenvector
decomposition of the matrix formed from the sum of substitution matrix
scores at each aligned position between each pair of sequences -
- computed either with <a href="scorematrices.html#blosum62">BLOSUM62</a> or the <a
- href="scorematrices.html#simplenucleotide">simple single nucleotide
- substitution matrix</a>. The options available for calculation are given
- in the <strong><em>Change Parameters</em></strong> menu.<br />
- Jalview allows two types of PCA calculation. The default <em><strong>Jalview
- PCA Calculation</strong></em> mode (indicated when that option is ticked in the <strong><em>Change
- Parameters</em></strong> menu) of the viewer performs PCA on a matrix where
- elements in the upper diagonal give the sum of scores for mutating in
- one direction, and the lower diagonal is the sum of scores for
- mutating in the other. For protein substitution models like BLOSUM62,
- this gives an asymmetric matrix, and a different PCA to one produced
- with the method described in the paper by G. Casari, C. Sander and A.
- Valencia. Structural Biology volume 2, no. 2, February 1995 (<a
+ computed with one of the available score matrices, such as
+ <a href="scorematrices.html#blosum62">BLOSUM62</a>, <a
+ href="scorematrices.html#pam250">PAM250</a>, or the <a
+ href="scorematrices.html#simplenucleotide">simple single
+ nucleotide substitution matrix</a>. The options available for
+ calculation are given in the
+ <strong><em>Change Parameters</em></strong> menu.</p>
+ <p>
+ <em>PCA Calculation modes</em><br/>
+ The default Jalview calculation mode
+ (indicated when <em><strong>Jalview PCA Calculation</strong></em> is
+ ticked in the <strong><em>Change Parameters</em></strong> menu) is to
+ perform a PCA on a matrix where elements in the upper diagonal give
+ the sum of scores for mutating in one direction, and the lower
+ diagonal is the sum of scores for mutating in the other. For protein
+ substitution models like BLOSUM62, this gives an asymmetric matrix,
+ and a different PCA to a matrix produced with the method described in the
+ paper by G. Casari, C. Sander and A. Valencia. Structural Biology
+ volume 2, no. 2, February 1995 (<a
href="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=pubmed&dopt=Abstract&list_uids=7749921">pubmed</a>)
- and implemented at the SeqSpace server at the EBI. The original method
- preconditions the matrix by multiplying it with its transpose, and
- this mode is enabled by unchecking the <strong><em>Jalview
+ and implemented at the SeqSpace server at the EBI. This method
+ preconditions the matrix by multiplying it with its transpose, and can be employed in the PCA viewer by unchecking the <strong><em>Jalview
PCA Calculation</em></strong> option in the <strong><em>Change
Parameters</em></strong> menu.
</p>
-<img src="pcaviewer.gif">
+ <img src="pcaviewer.gif">
<p><strong>The PCA Viewer</strong></p>
<p>This is an interactive display of the sequences positioned within
the similarity space, as points in a rotateable 3D scatterplot. The
<p>
<em>The output of points and transformed point coordinates was added to the Jalview desktop in v2.7.</em>
<em>The Reset button and Change Parameters menu were added in Jalview 2.8.</em>
+<em>Support for PAM250 based PCA was added in Jalview 2.8.1.</em>
</body>
</html>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<p>Jalview includes a small number of built in substitution matrices, used for different types of analysis.</p>
<ul>
<li><a href="#blosum62">BLOSUM62</a> is the standard protein sequence alignment and analysis matrix.</li>
-<li><a href="#pam250">PAM250</a> is another standard protein matrix, but not currently available for use from Jalview's user interface.</li>
-<li><a href="#simplenucleotide">Simple Nucleotide Substition</a> is a (fairly) arbitrary DNA/RNA substitution matrix.
-</li>
+<li><a href="#pam250">PAM250</a> is another standard protein matrix, and (since 2.8.1) is available for Tree and PCA calculations.</li>
+<li><a href="#simplenucleotide">Simple Nucleotide Substition</a> is a (fairly) arbitrary DNA/RNA substitution matrix.</li>
+<!-- <li><a href="#conservation">Conservation Matrices</a> A range of matrices for distinguishing amino-acids by physicochemical property conservation.
+</li> -->
</ul>
<p><strong><a name="blosum62"></a>BLOSUM62</strong><br/>
<tr><td>Z</td><td>-1</td><td>1</td><td>-3</td><td>1</td><td>4</td><td>-3</td><td>-2</td><td>0</td><td>-3</td><td>1</td><td>-3</td><td>-1</td><td>0</td><td>-1</td><td>3</td><td>0</td><td>0</td><td>-1</td><td>-1</td><td>-2</td><td>-3</td><td>-1</td><td>-2</td><td>4</td></tr>
</table>
<p><strong><a name="pam250">PAM250</a></strong><br/>
+<em><strong>P</strong>ercentage <strong>A</strong>ccepted <strong>M</strong>utation matrix. PAM250 estimates substitutions after 250% of sites have changed (each site can be mutated multple times).<br/>
+Jalview 2.8.1 introduced support for PAM250 based <a href="../calculations/pca.html">PCA</a> and <a href="../calculations/trees.html">tree</a> calculations.</em>
<table border="1">
<tr><td></td><td> A </td><td> B </td><td> C </td><td> D </td><td> E </td><td> F </td><td> G </td><td> H </td><td> I </td><td> K </td><td> L </td><td> M </td><td> N </td><td> P </td><td> Q </td><td> R </td><td> S </td><td> T </td><td> U </td><td> V </td><td> W </td><td> X </td><td> Y </td><td> Z </td></tr>
<tr><td>A</td><td>2</td><td>0</td><td>-2</td><td>0</td><td>0</td><td>-3</td><td>1</td><td>-1</td><td>-1</td><td>-1</td><td>-2</td><td>-1</td><td>0</td><td>1</td><td>0</td><td>-2</td><td>1</td><td>1</td><td>0</td><td>0</td><td>-6</td><td>0</td><td>-3</td><td>0</td></tr>
<tr><td>Z</td><td>0</td><td>2</td><td>-5</td><td>3</td><td>3</td><td>-5</td><td>0</td><td>2</td><td>-2</td><td>0</td><td>-3</td><td>-2</td><td>1</td><td>0</td><td>3</td><td>0</td><td>0</td><td>-1</td><td>-1</td><td>-2</td><td>-6</td><td>-1</td><td>-4</td><td>3</td></tr>
</table>
-<p><strong><a name="simplenucleotide">Simple Nucleotide Substitution</a></strong></br>
+<p><strong><a name="simplenucleotide">Simple Nucleotide Substitution</a></strong><br>
This is an ad-hoc matrix which, in addition to penalising mutations between the common nucleotides (ACGT), includes T/U equivalence in order to allow both DNA and/or RNA.
In addition, it encodes weak equivalence between R and Y with AG and CTU, respectively, and N is allowed to match any other base weakly. This matrix also includes I (Inosine) and X (Xanthine), but encodes them to weakly match any of (ACGTU), and unfavourably match each other.
<table border="1">
- introduce a nucleotide substitution matrix that supports RNA/DNA
and ambiguity codes</a>
</em></strong>
+ </p>
+<!-- <p><strong><a name="conservation">Physicochemical property conservation</a></strong><br>
+Three different matrices are provided which reflect differences in physicochemical properties for different amino-acids.
+<ul><li><em>Conservation Both</em><br>Matrix elements count number of properties shared, and number of properties that both amino-acids *do not* have (e.g. hydrophobic and not polar).
+
+<table border="1"><tr><td></td><td> A </td><td> B </td><td> C </td><td> D </td><td> E </td><td> F </td><td> G </td><td> H </td><td> I </td><td> K </td><td> L </td><td> M </td><td> N </td><td> P </td><td> Q </td><td> R </td><td> S </td><td> T </td><td> U </td><td> V </td><td> W </td><td> X </td><td> Y </td><td> Z </td></tr>
+<tr><td>A</td><td>20</td><td>0</td><td>18</td><td>10</td><td>8</td><td>14</td><td>20</td><td>8</td><td>14</td><td>10</td><td>14</td><td>16</td><td>14</td><td>14</td><td>12</td><td>8</td><td>16</td><td>14</td><td>2</td><td>16</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>B</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+<tr><td>C</td><td>18</td><td>0</td><td>18</td><td>12</td><td>10</td><td>16</td><td>18</td><td>10</td><td>16</td><td>12</td><td>16</td><td>18</td><td>16</td><td>16</td><td>14</td><td>10</td><td>14</td><td>16</td><td>2</td><td>18</td><td>14</td><td>2</td><td>14</td><td>0</td></tr>
+<tr><td>D</td><td>10</td><td>0</td><td>12</td><td>18</td><td>18</td><td>8</td><td>10</td><td>10</td><td>8</td><td>12</td><td>8</td><td>10</td><td>16</td><td>12</td><td>14</td><td>14</td><td>14</td><td>16</td><td>2</td><td>10</td><td>10</td><td>2</td><td>10</td><td>0</td></tr>
+<tr><td>E</td><td>8</td><td>0</td><td>10</td><td>18</td><td>14</td><td>10</td><td>8</td><td>12</td><td>10</td><td>14</td><td>10</td><td>12</td><td>14</td><td>10</td><td>16</td><td>16</td><td>12</td><td>14</td><td>2</td><td>8</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>F</td><td>14</td><td>0</td><td>16</td><td>8</td><td>10</td><td>18</td><td>14</td><td>14</td><td>16</td><td>12</td><td>16</td><td>18</td><td>12</td><td>12</td><td>14</td><td>10</td><td>10</td><td>12</td><td>2</td><td>14</td><td>18</td><td>2</td><td>18</td><td>0</td></tr>
+<tr><td>G</td><td>20</td><td>0</td><td>18</td><td>10</td><td>8</td><td>14</td><td>16</td><td>8</td><td>14</td><td>10</td><td>14</td><td>16</td><td>14</td><td>14</td><td>12</td><td>8</td><td>16</td><td>14</td><td>2</td><td>16</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>H</td><td>8</td><td>0</td><td>10</td><td>10</td><td>12</td><td>14</td><td>8</td><td>18</td><td>10</td><td>18</td><td>10</td><td>12</td><td>10</td><td>6</td><td>12</td><td>16</td><td>8</td><td>10</td><td>4</td><td>8</td><td>16</td><td>4</td><td>16</td><td>0</td></tr>
+<tr><td>I</td><td>14</td><td>0</td><td>16</td><td>8</td><td>10</td><td>16</td><td>14</td><td>10</td><td>20</td><td>12</td><td>20</td><td>18</td><td>12</td><td>12</td><td>14</td><td>10</td><td>10</td><td>12</td><td>2</td><td>18</td><td>14</td><td>2</td><td>14</td><td>0</td></tr>
+<tr><td>K</td><td>10</td><td>0</td><td>12</td><td>12</td><td>14</td><td>12</td><td>10</td><td>18</td><td>12</td><td>14</td><td>12</td><td>14</td><td>12</td><td>8</td><td>14</td><td>18</td><td>10</td><td>12</td><td>4</td><td>10</td><td>14</td><td>4</td><td>14</td><td>0</td></tr>
+<tr><td>L</td><td>14</td><td>0</td><td>16</td><td>8</td><td>10</td><td>16</td><td>14</td><td>10</td><td>20</td><td>12</td><td>18</td><td>18</td><td>12</td><td>12</td><td>14</td><td>10</td><td>10</td><td>12</td><td>2</td><td>18</td><td>14</td><td>2</td><td>14</td><td>0</td></tr>
+<tr><td>M</td><td>16</td><td>0</td><td>18</td><td>10</td><td>12</td><td>18</td><td>16</td><td>12</td><td>18</td><td>14</td><td>18</td><td>18</td><td>14</td><td>14</td><td>16</td><td>12</td><td>12</td><td>14</td><td>2</td><td>16</td><td>16</td><td>2</td><td>16</td><td>0</td></tr>
+<tr><td>N</td><td>14</td><td>0</td><td>16</td><td>16</td><td>14</td><td>12</td><td>14</td><td>10</td><td>12</td><td>12</td><td>12</td><td>14</td><td>20</td><td>16</td><td>18</td><td>14</td><td>18</td><td>20</td><td>2</td><td>14</td><td>14</td><td>2</td><td>14</td><td>0</td></tr>
+<tr><td>P</td><td>14</td><td>0</td><td>16</td><td>12</td><td>10</td><td>12</td><td>14</td><td>6</td><td>12</td><td>8</td><td>12</td><td>14</td><td>16</td><td>16</td><td>14</td><td>10</td><td>14</td><td>16</td><td>0</td><td>14</td><td>10</td><td>0</td><td>10</td><td>0</td></tr>
+<tr><td>Q</td><td>12</td><td>0</td><td>14</td><td>14</td><td>16</td><td>14</td><td>12</td><td>12</td><td>14</td><td>14</td><td>14</td><td>16</td><td>18</td><td>14</td><td>18</td><td>16</td><td>16</td><td>18</td><td>2</td><td>12</td><td>16</td><td>2</td><td>16</td><td>0</td></tr>
+<tr><td>R</td><td>8</td><td>0</td><td>10</td><td>14</td><td>16</td><td>10</td><td>8</td><td>16</td><td>10</td><td>18</td><td>10</td><td>12</td><td>14</td><td>10</td><td>16</td><td>18</td><td>12</td><td>14</td><td>2</td><td>8</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>S</td><td>16</td><td>0</td><td>14</td><td>14</td><td>12</td><td>10</td><td>16</td><td>8</td><td>10</td><td>10</td><td>10</td><td>12</td><td>18</td><td>14</td><td>16</td><td>12</td><td>18</td><td>18</td><td>2</td><td>12</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>T</td><td>14</td><td>0</td><td>16</td><td>16</td><td>14</td><td>12</td><td>14</td><td>10</td><td>12</td><td>12</td><td>12</td><td>14</td><td>20</td><td>16</td><td>18</td><td>14</td><td>18</td><td>14</td><td>2</td><td>14</td><td>14</td><td>2</td><td>14</td><td>0</td></tr>
+<tr><td>U</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>4</td><td>0</td><td>4</td><td>0</td></tr>
+<tr><td>V</td><td>16</td><td>0</td><td>18</td><td>10</td><td>8</td><td>14</td><td>16</td><td>8</td><td>18</td><td>10</td><td>18</td><td>16</td><td>14</td><td>14</td><td>12</td><td>8</td><td>12</td><td>14</td><td>2</td><td>2</td><td>12</td><td>2</td><td>12</td><td>0</td></tr>
+<tr><td>W</td><td>12</td><td>0</td><td>14</td><td>10</td><td>12</td><td>18</td><td>12</td><td>16</td><td>14</td><td>14</td><td>14</td><td>16</td><td>14</td><td>10</td><td>16</td><td>12</td><td>12</td><td>14</td><td>4</td><td>12</td><td>20</td><td>4</td><td>20</td><td>0</td></tr>
+<tr><td>X</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>4</td><td>0</td><td>4</td><td>0</td></tr>
+<tr><td>Y</td><td>12</td><td>0</td><td>14</td><td>10</td><td>12</td><td>18</td><td>12</td><td>16</td><td>14</td><td>14</td><td>14</td><td>16</td><td>14</td><td>10</td><td>16</td><td>12</td><td>12</td><td>14</td><td>4</td><td>12</td><td>20</td><td>4</td><td>12</td><td>0</td></tr>
+<tr><td>Z</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+</table>
+
+<li><em>Conservation Pos</em><br>Count number of properties that amino acids both have in common.
+
+<table border="1"><tr><td></td><td> A </td><td> B </td><td> C </td><td> D </td><td> E </td><td> F </td><td> G </td><td> H </td><td> I </td><td> K </td><td> L </td><td> M </td><td> N </td><td> P </td><td> Q </td><td> R </td><td> S </td><td> T </td><td> U </td><td> V </td><td> W </td><td> X </td><td> Y </td><td> Z </td></tr>
+<tr><td>A</td><td>6</td><td>0</td><td>4</td><td>2</td><td>0</td><td>2</td><td>6</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>B</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+<tr><td>C</td><td>4</td><td>0</td><td>4</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>D</td><td>2</td><td>0</td><td>2</td><td>6</td><td>6</td><td>0</td><td>2</td><td>4</td><td>0</td><td>4</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>4</td><td>4</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>E</td><td>0</td><td>0</td><td>0</td><td>6</td><td>4</td><td>0</td><td>0</td><td>4</td><td>0</td><td>4</td><td>0</td><td>0</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>F</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>0</td></tr>
+<tr><td>G</td><td>6</td><td>0</td><td>4</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>H</td><td>2</td><td>0</td><td>2</td><td>4</td><td>4</td><td>4</td><td>2</td><td>8</td><td>2</td><td>8</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>6</td><td>2</td><td>2</td><td>4</td><td>2</td><td>6</td><td>4</td><td>6</td><td>0</td></tr>
+<tr><td>I</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>K</td><td>2</td><td>0</td><td>2</td><td>4</td><td>4</td><td>2</td><td>2</td><td>8</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>6</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>4</td><td>4</td><td>0</td></tr>
+<tr><td>L</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>M</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>N</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>0</td><td>2</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>2</td><td>4</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>P</td><td>2</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+<tr><td>Q</td><td>0</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>R</td><td>0</td><td>0</td><td>0</td><td>4</td><td>4</td><td>0</td><td>0</td><td>6</td><td>0</td><td>6</td><td>0</td><td>0</td><td>2</td><td>0</td><td>2</td><td>6</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>S</td><td>4</td><td>0</td><td>2</td><td>4</td><td>2</td><td>0</td><td>4</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>2</td><td>4</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>T</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>0</td><td>2</td><td>2</td><td>0</td><td>2</td><td>0</td><td>0</td><td>4</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>U</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>4</td><td>0</td><td>4</td><td>0</td></tr>
+<tr><td>V</td><td>4</td><td>0</td><td>4</td><td>2</td><td>0</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td></tr>
+<tr><td>W</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>6</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>6</td><td>4</td><td>6</td><td>0</td></tr>
+<tr><td>X</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>4</td><td>0</td><td>4</td><td>0</td></tr>
+<tr><td>Y</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>6</td><td>2</td><td>4</td><td>2</td><td>2</td><td>2</td><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>4</td><td>2</td><td>6</td><td>4</td><td>4</td><td>0</td></tr>
+<tr><td>Z</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+</table>
+
+</li>
+<li>
+<em>Conservation EnhPos</em><br>Distinguish amino acids based on properties they have in common or lack, emphasising those they have in common.
+
+<table border="1"><tr><td></td><td> A </td><td> B </td><td> C </td><td> D </td><td> E </td><td> F </td><td> G </td><td> H </td><td> I </td><td> K </td><td> L </td><td> M </td><td> N </td><td> P </td><td> Q </td><td> R </td><td> S </td><td> T </td><td> U </td><td> V </td><td> W </td><td> X </td><td> Y </td><td> Z </td></tr>
+<tr><td>A</td><td>16</td><td>0</td><td>13</td><td>7</td><td>4</td><td>9</td><td>16</td><td>6</td><td>9</td><td>7</td><td>9</td><td>10</td><td>9</td><td>9</td><td>6</td><td>4</td><td>12</td><td>9</td><td>3</td><td>12</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>B</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+<tr><td>C</td><td>13</td><td>0</td><td>13</td><td>8</td><td>5</td><td>10</td><td>13</td><td>7</td><td>10</td><td>8</td><td>10</td><td>11</td><td>10</td><td>10</td><td>7</td><td>5</td><td>9</td><td>10</td><td>3</td><td>13</td><td>9</td><td>3</td><td>9</td><td>0</td></tr>
+<tr><td>D</td><td>7</td><td>0</td><td>8</td><td>15</td><td>15</td><td>4</td><td>7</td><td>9</td><td>4</td><td>10</td><td>4</td><td>5</td><td>12</td><td>8</td><td>9</td><td>11</td><td>11</td><td>12</td><td>3</td><td>7</td><td>7</td><td>3</td><td>7</td><td>0</td></tr>
+<tr><td>E</td><td>4</td><td>0</td><td>5</td><td>15</td><td>11</td><td>5</td><td>4</td><td>10</td><td>5</td><td>11</td><td>5</td><td>6</td><td>9</td><td>5</td><td>10</td><td>12</td><td>8</td><td>9</td><td>3</td><td>4</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>F</td><td>9</td><td>0</td><td>10</td><td>4</td><td>5</td><td>13</td><td>9</td><td>11</td><td>10</td><td>8</td><td>10</td><td>11</td><td>6</td><td>6</td><td>7</td><td>5</td><td>5</td><td>6</td><td>3</td><td>9</td><td>13</td><td>3</td><td>13</td><td>0</td></tr>
+<tr><td>G</td><td>16</td><td>0</td><td>13</td><td>7</td><td>4</td><td>9</td><td>12</td><td>6</td><td>9</td><td>7</td><td>9</td><td>10</td><td>9</td><td>9</td><td>6</td><td>4</td><td>12</td><td>9</td><td>3</td><td>12</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>H</td><td>6</td><td>0</td><td>7</td><td>9</td><td>10</td><td>11</td><td>6</td><td>17</td><td>7</td><td>17</td><td>7</td><td>8</td><td>7</td><td>3</td><td>8</td><td>14</td><td>6</td><td>7</td><td>6</td><td>6</td><td>14</td><td>6</td><td>14</td><td>0</td></tr>
+<tr><td>I</td><td>9</td><td>0</td><td>10</td><td>4</td><td>5</td><td>10</td><td>9</td><td>7</td><td>14</td><td>8</td><td>14</td><td>11</td><td>6</td><td>6</td><td>7</td><td>5</td><td>5</td><td>6</td><td>3</td><td>13</td><td>9</td><td>3</td><td>9</td><td>0</td></tr>
+<tr><td>K</td><td>7</td><td>0</td><td>8</td><td>10</td><td>11</td><td>8</td><td>7</td><td>17</td><td>8</td><td>11</td><td>8</td><td>9</td><td>8</td><td>4</td><td>9</td><td>15</td><td>7</td><td>8</td><td>6</td><td>7</td><td>11</td><td>6</td><td>11</td><td>0</td></tr>
+<tr><td>L</td><td>9</td><td>0</td><td>10</td><td>4</td><td>5</td><td>10</td><td>9</td><td>7</td><td>14</td><td>8</td><td>13</td><td>11</td><td>6</td><td>6</td><td>7</td><td>5</td><td>5</td><td>6</td><td>3</td><td>13</td><td>9</td><td>3</td><td>9</td><td>0</td></tr>
+<tr><td>M</td><td>10</td><td>0</td><td>11</td><td>5</td><td>6</td><td>11</td><td>10</td><td>8</td><td>11</td><td>9</td><td>11</td><td>11</td><td>7</td><td>7</td><td>8</td><td>6</td><td>6</td><td>7</td><td>3</td><td>10</td><td>10</td><td>3</td><td>10</td><td>0</td></tr>
+<tr><td>N</td><td>9</td><td>0</td><td>10</td><td>12</td><td>9</td><td>6</td><td>9</td><td>7</td><td>6</td><td>8</td><td>6</td><td>7</td><td>14</td><td>10</td><td>11</td><td>9</td><td>13</td><td>14</td><td>3</td><td>9</td><td>9</td><td>3</td><td>9</td><td>0</td></tr>
+<tr><td>P</td><td>9</td><td>0</td><td>10</td><td>8</td><td>5</td><td>6</td><td>9</td><td>3</td><td>6</td><td>4</td><td>6</td><td>7</td><td>10</td><td>10</td><td>7</td><td>5</td><td>9</td><td>10</td><td>0</td><td>9</td><td>5</td><td>0</td><td>5</td><td>0</td></tr>
+<tr><td>Q</td><td>6</td><td>0</td><td>7</td><td>9</td><td>10</td><td>7</td><td>6</td><td>8</td><td>7</td><td>9</td><td>7</td><td>8</td><td>11</td><td>7</td><td>11</td><td>10</td><td>10</td><td>11</td><td>3</td><td>6</td><td>10</td><td>3</td><td>10</td><td>0</td></tr>
+<tr><td>R</td><td>4</td><td>0</td><td>5</td><td>11</td><td>12</td><td>5</td><td>4</td><td>14</td><td>5</td><td>15</td><td>5</td><td>6</td><td>9</td><td>5</td><td>10</td><td>15</td><td>8</td><td>9</td><td>3</td><td>4</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>S</td><td>12</td><td>0</td><td>9</td><td>11</td><td>8</td><td>5</td><td>12</td><td>6</td><td>5</td><td>7</td><td>5</td><td>6</td><td>13</td><td>9</td><td>10</td><td>8</td><td>13</td><td>13</td><td>3</td><td>8</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>T</td><td>9</td><td>0</td><td>10</td><td>12</td><td>9</td><td>6</td><td>9</td><td>7</td><td>6</td><td>8</td><td>6</td><td>7</td><td>14</td><td>10</td><td>11</td><td>9</td><td>13</td><td>9</td><td>3</td><td>9</td><td>9</td><td>3</td><td>9</td><td>0</td></tr>
+<tr><td>U</td><td>3</td><td>0</td><td>3</td><td>3</td><td>3</td><td>3</td><td>3</td><td>6</td><td>3</td><td>6</td><td>3</td><td>3</td><td>3</td><td>0</td><td>3</td><td>3</td><td>3</td><td>3</td><td>0</td><td>3</td><td>6</td><td>0</td><td>6</td><td>0</td></tr>
+<tr><td>V</td><td>12</td><td>0</td><td>13</td><td>7</td><td>4</td><td>9</td><td>12</td><td>6</td><td>13</td><td>7</td><td>13</td><td>10</td><td>9</td><td>9</td><td>6</td><td>4</td><td>8</td><td>9</td><td>3</td><td>3</td><td>8</td><td>3</td><td>8</td><td>0</td></tr>
+<tr><td>W</td><td>8</td><td>0</td><td>9</td><td>7</td><td>8</td><td>13</td><td>8</td><td>14</td><td>9</td><td>11</td><td>9</td><td>10</td><td>9</td><td>5</td><td>10</td><td>8</td><td>8</td><td>9</td><td>6</td><td>8</td><td>16</td><td>6</td><td>16</td><td>0</td></tr>
+<tr><td>X</td><td>3</td><td>0</td><td>3</td><td>3</td><td>3</td><td>3</td><td>3</td><td>6</td><td>3</td><td>6</td><td>3</td><td>3</td><td>3</td><td>0</td><td>3</td><td>3</td><td>3</td><td>3</td><td>0</td><td>3</td><td>6</td><td>0</td><td>6</td><td>0</td></tr>
+<tr><td>Y</td><td>8</td><td>0</td><td>9</td><td>7</td><td>8</td><td>13</td><td>8</td><td>14</td><td>9</td><td>11</td><td>9</td><td>10</td><td>9</td><td>5</td><td>10</td><td>8</td><td>8</td><td>9</td><td>6</td><td>8</td><td>16</td><td>6</td><td>8</td><td>0</td></tr>
+<tr><td>Z</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>
+</table>
+
+
+</li> -->
+</ul>
</body>
</html>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<p><strong>Distance Measures</strong></p>
<p>Trees are calculated on the basis of a measure of similarity
between each pair of sequences in the alignment :
-<ul>
-<li><strong>PID</strong><br>The percentage identity between the two
-sequences at each aligned position.<ul><li>PID = Number of equivalent
-aligned non-gap symbols * 100 / Smallest number of non-gap positions
-in either of both sequences<br><em>This is essentially the 'number of
-identical bases (or residues) per 100 base pairs (or residues)'.</em></li></ul>
-<li><strong>BLOSUM62</strong><br>The sum of BLOSUM62 scores for the
-residue pair at each aligned position.
-</ul>
-</p>
-<p><strong>Tree Construction Methods</strong></p>
+ <ul>
+ <li><strong>PID</strong><br>The percentage identity between
+ the two sequences at each aligned position.
+ <ul>
+ <li>PID = Number of equivalent aligned non-gap symbols * 100 /
+ Smallest number of non-gap positions in either of both sequences<br>
+ <em>This is essentially the 'number of identical bases (or
+ residues) per 100 base pairs (or residues)'.</em>
+ </li>
+ </ul>
+ <li><strong>BLOSUM62, PAM250, DNA</strong><br>These options
+ use one of the available substitution matrices to compute a sum of
+ scores for the residue pairs at each aligned position. For details
+ about each model, see the <a href="scorematrices.html">list of
+ built-in score matrices.</a></li>
+ </ul>
+ </p>
+ <p><strong>Tree Construction Methods</strong></p>
<p>Jalview currently supports two kinds of agglomerative clustering
methods. These are not intended to substitute for rigorous
phylogenetic tree construction, and may fail on very large alignments.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
are displayed). <strong><em>You can change the colour or
shading style used for a feature in the associated alignment by clicking
on its colour box.</em></strong></p>
- <p>
- <strong><em>Selecting alignment columns by feature</em></strong><br>
- <strong>Double-click</strong> a feature to add all the columns where
- that feature is found to the current column selection. <strong>Shift+Double-click</strong>
- will add all the columns where that feature is <strong>not</strong>
- found. You can also find these options in the feature's pop-up menu
- (see below). <br />
- <em>Select columns by feature was added in Jalview 2.8.1</em>
- </p>
+ <p>
+ <a name="selectbyfeature"><strong><em>Selecting
+ alignment columns by feature</em></strong></a><br> <strong>Double-clicking
+ a feature type</strong> in the <strong>Feature
+ Settings</strong> dialog allows you to select columns in the
+ alignment that contain (or do not contain) features of that type. If a
+ region of the alignment is currently selected, then only features in
+ the current selection will be searched. The following keys affect the
+ way in which selections are made:<ul>
+ <li>Hold down <strong>Alt</strong> to select columns not
+ containing features of a particular type.
+ </li>
+ <li>Hold down <strong>Shift</strong> to add columns to the
+ current selection.
+ </li>
+ <li>Press <strong>Command/Windows key</strong> to toggle column
+ selection state (XOR)
+ </li>
+ </ul>
+ Options are also provided in the feature's pop-up menu (see below).
+ <br />
+ <em>Select columns by feature was added in Jalview 2.8.1</em>
+ </p>
<p><strong><em>Feature settings pop-up menu</em></strong><br>
<strong>Right-click</strong> on a feature to open a pop-up menu that
allows you to sort the alignment or current selection using that feature
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<p><strong>The Jmol PDB Viewer</strong></p>
<p>Since Jalview 2.3, <a href="http://jmol.sourceforge.net/">Jmol</a>
has been integrated into Jalview for interactively viewing structures
-opened by selecting the <strong>"Structure→View PDB
-entry:"</strong> option in the <a href="../menus/popupMenu.html">sequence
+opened by entries in the <strong>"Structure"</strong> submenu in the <a href="../menus/popupMenu.html">sequence
id pop-up menu</a> (if you can't see this, then you need to <a
href="viewingpdbs.html">associate a PDB structure</a> with the
sequence). Jmol is available from the Jalview desktop and should also
run in the JalviewLite applet, providing the browser supports Java 1.5.
If Jmol is not available, then the original <a href="pdbviewer.html">internal
pdb viewer</a> will be used as a fallback.</p>
+<p>The following menu entries are provided for viewing structure data<br>
+ <ul>
+ <li>The <strong>"Structure→View
+ Structure→</strong> submenu allows a single PDB structure to be chosen
+ for display from the available structures for a sequence.
+ </li>
+ <li>The <strong>"Structure→View all <em>N</em>
+ structures
+ </strong> option will open a new window containing all structures associated
+ with the current selection.
+ </li>
+ <li>The <strong>"Structure→View all <em>N</em>
+ representative structures
+ </strong> option will open a new window containing exactly one structure per
+ currently selected sequence.<br />
+ <em>The View representative structures option was introduced in
+ Jalview 2.8.1</em></li>
+ </ul>
+ <br>
+</p>
<p><a name="align"><strong>Superposing structures based
on their aligned sequences</strong></a><br>
If several structures are available on the alignment, you may add
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
or cannot operate.</p>
<p><strong>The PDB Viewer Window</strong>
<p>This interactive structure viewing window is opened by selecting
-the <strong>"Sequence→View PDB entry:"</strong> entry in
-the <a href="../menus/popupMenu.html">sequence id pop-up menu</a>. This
-can only be done for sequences which have an <a href="viewingpdbs.html">associated
+entries from the <strong>"Structure→"</strong> submenu
+ of the <a href="../menus/popupMenu.html">sequence
+ id pop-up menu</a>. The internal PDB viewer is not able to show
+ superpositions, so no other options are provided. Structures can only
+ be viewed for sequences which have an <a href="viewingpdbs.html">associated
PDB structure</a>, and the PDB Viewer will only be associated with the
particular alignment view from which it was opened.</p>
<p><strong>Controls</strong></p>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<p><strong>Viewing PDB Structures</strong></p>
<p>Jalview can view protein structures associated with a sequence
-via the <strong>"Structure→View PDB entry:"</strong> entries from a
-sequence's <a href="../menus/popupMenu.html">pop-up menu</a>. Once a pdb
+via the <strong>"Structure→"</strong> submenu from a
+sequence's <a href="../menus/popupMenu.html">pop-up menu</a>.</p>
+<p>The following menu entries are provided for viewing structure data<br>
+ <ul>
+ <li>The <strong>"Structure→View
+ Structure→</strong> submenu allows a single PDB structure to be chosen
+ for display from the available structures for a sequence.
+ </li>
+ <li>The <strong>"Structure→View all <em>N</em>
+ structures
+ </strong> option will open a new window containing all structures associated
+ with the current selection, superposed according to the currently selected region of the alignment.<br/><em>This
+ capability was added in Jalview 2.7</em>
+ </li>
+ <li><a name="viewreps"/>The <strong>"Structure→View all <em>N</em>
+ representative structures
+ </strong> option will open a new window containing exactly one structure per
+ currently selected sequence.<br />
+ <em>The View representative structures option was introduced in
+ Jalview 2.8.1</em></li>
+ </ul>
+ <br>
+</p>
+
+<p>If a single pdb
structure is selected, one of the following will happen:</p>
<ul>
<li style="list-style: none">See the <a href="jmol.html">Jmol
PDB viewer</a> help page for more information about the display.</li>
</ul>
- <p>
- <em>Opening structures associated with the current selection</em><br />
- If one or more of the sequences in the alignment are selected, then
- the Structure submenu of the <a href="../menus/popupMenu.html">Sequence
- ID popup menu</a> will contain will include either a 'View all <em>X</em>
- structures' entry in the submenu or a 'View structure for <em>Sequence</em>'
- entry. Both these options will open a new Jmol view containing one, or
- all the structures available for all selected sequences, superimposed
- using the currently selected region of the alignment. (<em>This
- capability was added in Jalview 2.7</em>)
- </p>
<p><strong>Associating PDB files with Sequences</strong></p>
<p>To associate PDB files with a sequence, right click on a sequence
ID and select "Structure<strong>→</strong> Associate Structure with
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<li><strong>Neighbour Joining Using Blosum62<br>
</strong></li>
</ul>
+ <strong>Note: Since Version 2.8.1, a number of additional similarity measures for tree calculation are provided in this menu.</strong>
</li>
<li><strong>Pairwise Alignments</strong><br> <em>Applies
Smith and Waterman algorithm to selected sequences. See <a
href="../calculations/pairwise.html">pairwise alignments</a>.</em><br>
</li>
<li><strong>Principal Component Analysis</strong><br> <em>Shows
- a spatial clustering of the sequences based on the BLOSUM62 scores
- in the alignment. See <a href="../calculations/pca.html">Principal
+ a spatial clustering of the sequences based on similarity scores calculated with
+ the alignment. See <a href="../calculations/pca.html">Principal
Component Analysis</a>.</em> <br>
</li>
<li><strong>Extract Scores ... (optional)</strong><br> <em>This
<li><strong>Sort With New Tree</strong><br> <em>When
enabled, Jalview will automatically sort the alignment when a new
tree is calculated or loaded onto it.</em> <br></li>
- </ul></li>
+ <li><strong>Show Flanking Regions</strong><br> <em>Opens
+ a new alignment window showing any additional sequence data either
+ side of the current alignment. Useful in conjunction with 'Fetch
+ Database References' when the 'Trim Retrieved Sequences' option is
+ disabled to retrieve full length sequences for a set of aligned
+ peptides. </em></li>
+ </ul></li>
<li><strong>Web Service Menu</strong><br /> <em>This menu
is dynamic, and may contain user-defined web service entries in
addition to any of the following ones:</em>
<ul>
<li><strong>Fetch DB References</strong><br> <em>This
- will use any of the database services that Jalview is aware of
- (e.g. DAS sequence servers and the WSDBFetch service provided by
- the EBI) to verify the sequence and retrieve all database cross
- references and PDB ids associated with all or just the selected
- sequences in the alignment. <br />'Standard Databases' will check
- sequences against the EBI databases plus any active DAS sequence
- sources, or you can verify against a specific source from one of
- the sub-menus.</em><br></li>
+ submenu contains options for accessing any of the database services
+ that Jalview is aware of (e.g. DAS sequence servers and the
+ WSDBFetch service provided by the EBI) to verify sequence start/end
+ positions and retrieve all database cross references and PDB ids
+ associated with all or just the selected sequences in the alignment.
+ <ul>
+ <li>'Trim Retrieved Sequences' - when checked, Jalview will
+ discard any additional sequence data for accessions associated with
+ sequences in the alignment. <br> <strong>Note: Disabling this
+ could cause out of memory errors when working with genomic
+ sequence records !</strong><br> <strong>Added in Jalview 2.8.1</strong>
+ </li>
+ <li>'Standard Databases' will check sequences against the EBI
+ databases plus any active DAS sequence sources<</li>
+ </ul> Other sub-menus allow you to pick a specific source to query -
+ sources are listed alphabetically according to their nickname.
+ </em><br></li>
</ul>
<p>Selecting items from the following submenus will start a
remote service on compute facilities at the University of Dundee, or
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<li><strong>From File<br>
</strong><em>Load a PDB file from local disk which will be associated
with this sequence. This file will be used if the user subsequently
- clicks on "View PDB Structure" menu item.</em></li>
+ clicks on "View Structure" menu item.</em></li>
<li><strong>Enter PDB id<br>
</strong><em>Enter the PDB id from an input window. This PDB id will
be used by the service WSDBFetch, provided by the EBI, to fetch the
- PDB file if the user subsequently clicks on "View PDB Structure"
+ PDB file if the user subsequently clicks on its "View Structure"
menu item. </em></li>
<li><strong>Discover PDB ids<br>
</strong><em>This will use the service WSDBFetch, provided by the
href="../features/viewingpdbs.html">associated PDB structures</a>.<br/>
If the sequence or alignment has RNA structure, then <strong>2D RNA</strong> entries will also be present enabling you to open a linked view of the RNA structure in <a href="../features/varna.html">VARNA</a>.</em><br>
</li>
+ <p><em>Other menu entries may also be shown if the current selection includes sequences with associated structure data:</em><br>
+ <ul>
+ <li><strong>"Structure→View all <em>N</em>
+ structures<br/>
+ </strong><em>Opens a new window containing all structures associated
+ with the current selection, superposed according to the currently selected region of the alignment.<br/>(This
+ capability was added in Jalview 2.7)</em>
+ </li>
+ <li><strong>"Structure→View all <em>N</em>
+ representative structures<br/>
+ </strong><em>Open a new window containing exactly one structure per
+ currently selected sequence.<br />
+ (The View representative structures option was introduced in
+ Jalview 2.8.1)</em></li>
+ </ul>
+ <br> <li>
+
+ </li>
</ul>
</li>
<li><strong>Hide Sequences</strong><br>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<p><strong>Web Service Menu</strong><br /> <em>This menu
is dynamic, and may contain user-defined web service entries in
addition to any of the following ones:</em>
- <ul>
- <li><strong>Fetch DB References</strong><br> <em>This
- will use any of the database services that Jalview is aware of
- (e.g. DAS sequence servers and the WSDBFetch service provided by
- the EBI) to verify the sequence and retrieve all database cross
- references and PDB ids associated with all or just the selected
- sequences in the alignment. <br />'Standard Databases' will check
- sequences against the EBI databases plus any active DAS sequence
- sources, or you can verify against a specific source from one of
- the sub-menus.</em><br></li>
- </ul>
- <p>Selecting items from the following submenus will start a
+
+ <ul>
+ <li><strong>Fetch DB References</strong><br> <em>This
+ submenu contains options for accessing any of the database services
+ that Jalview is aware of (e.g. DAS sequence servers and the
+ WSDBFetch service provided by the EBI) to verify sequence start/end
+ positions and retrieve all database cross references and PDB ids
+ associated with all or just the selected sequences in the alignment.
+ <ul>
+ <li>'Retrieve full Sequence' - when checked, Jalview will
+ retrieve the full sequence for any accessions associated with
+ sequences in the alignment. <br> <strong>Note: This
+ could cause out of memory errors when working with genomic
+ sequence records !</strong><br> <strong>Added in Jalview 2.8.1</strong>
+ </li>
+ <li>'Standard Databases' will check sequences against the EBI
+ databases plus any active DAS sequence sources<</li>
+ </ul> Other submenus allow you to pick a specific source to query -
+ sources are listed alphabetically according to their nickname.
+ </em>
+ </li>
+ </ul>
+ <p>Selecting items from the following submenus will start a
remote service on compute facilities at the University of Dundee, or
elsewhere. You need a continuous network connection in order to use
these services through Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<table width="295" border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="291"><pre><font size="4" face="Courier New, Courier, mono"><strong>ILVCAGMFYWHKREQDNSTPBZX-</strong>
-XXXXXXXXXXX·Â······X···XX Hydrophobic
+XXXXXXXXXXX·······X···XX Hydrophobic
········XXXXXXXXXX·XXXXX Polar
··XXXX·········XXXXX··XX Small
···················X··XX Proline
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<div align="center"><em><strong>Issues Resolved</strong></em></div>
</td>
</tr>
- <tr>
+ <tr>
+ <td><div align="center">
+ <strong><a name="Jalview.2.8.1">2.8.1</a><br /> <em>4/6/2014</em></strong>
+ </div></td>
+ <td>
+ <!-- New features --> <!-- For major releases, split into sections: Application | Applet | General | Deployment and Documentation -->
+ <em>General</em>
+ <ul>
+ <li>Internationalisation of user interface (usually called
+ i18n support) and translation for Spanish locale</li>
+ <li>Define/Undefine group on current selection with
+ Ctrl-G/Shift Ctrl-G</li>
+ <li>Improved group creation/removal options in
+ alignment/sequence Popup menu</li>
+ <li>Sensible precision for symbol distribution percentages
+ shown in logo tooltip.</li>
+ <li>Annotation panel height set according to amount of
+ annotation when alignment first opened</li>
+ </ul> <em>Application</em>
+ <ul>
+ <li>Interactive consensus RNA secondary structure prediction
+ VIENNA RNAAliFold JABA 2.1 service</li>
+ <li>Select columns containing particular features from Feature
+ Settings dialog</li>
+ <li>View all 'representative' PDB structures for selected
+ sequences</li>
+ <li>Update Jalview project format:
+ <ul>
+ <li>New file extension for Jalview projects '.jvp'</li>
+ <li>Preserve sequence and annotation dataset (to store
+ secondary structure annotation,etc)</li>
+ <li>Per group and alignment annotation and RNA helix
+ colouring</li>
+ </ul>
+ </li>
+ <li>New similarity measures for PCA and Tree calculation
+ (PAM250)</li>
+ <li>Experimental support for retrieval and viewing of flanking
+ regions for an alignment</li>
+ </ul>
+ </td>
+ <td>
+ <!-- issues resolved --> <em>Application</em>
+ <ul>
+ <li>logo keeps spinning and status remains at queued or
+ running after job is cancelled</li>
+ <li>cannot export features from alignments imported from
+ Jalview/VAMSAS projects</li>
+ <li>Buggy slider for web service parameters that take float
+ values</li>
+ <li>Newly created RNA secondary structure line doesn't have
+ 'display all symbols' flag set</li>
+ <li>T-COFFEE alignment score shading scheme and other
+ annotation shading not saved in jalview project</li>
+ <li>Local file cannot be loaded in freshly downloaded Jalview</li>
+ <li>Jalview icon not shown on dock in Mountain Lion/Webstart</li>
+ <li>Load file from desktop file browser fails</li>
+ <li>Occasional NPE thrown when calculating large trees</li>
+ <li>Cannot reorder or slide sequences after dragging an
+ alignment onto desktop</li>
+ <li>Colour by annotation dialog throws NPE after using
+ 'extract scores' function</li>
+ <li>Loading/cut'n'pasting an empty file leads to a grey
+ alignment window</li>
+ <li>Disorder thresholds rendered incorrectly after performing
+ IUPred disorder prediction</li>
+ <li>Multiple group annotated consensus rows shown when
+ changing 'normalise logo' display setting</li>
+ <li>Find shows blank dialog after 'finished searching' if
+ nothing matches query</li>
+ <li>Null Pointer Exceptions raised when sorting by feature
+ with lots of groups<!-- possibly JAL-599 but commit 7c7a5a297e063d3892dd7e629bc317cdde837b81 associated with JAL-971 -->
+ </li>
+ <li>Errors in Jmol console when structures in alignment don't
+ overlap <!-- JAL-1476 Work in progress - don't send junk to Jmol -->
+ </li>
+ <li>Not all working JABAWS services are shown in Jalview's
+ menu</li>
+ <li>JAVAWS version of jalview fails to launch with 'invalid
+ literal/length code'</li>
+ <li>Annotation/RNA Helix colourschemes cannot be applied to
+ alignment with groups (actually fixed in 2.8.0b1)</li>
+ <li>RNA Helices and T-Coffee Scores available as default colourscheme</li>
+
+ </ul> <em>Applet</em>
+ <ul>
+ <li>Remove group option is shown even when selection is not a
+ group</li>
+ <li>Apply to all groups ticked but colourscheme changes don't
+ affect groups</li>
+ <li>Documented RNA Helices and T-Coffee Scores as valid colourscheme name</li>
+ <li>Annotation labels drawn on sequence IDs when Annotation panel is not displayed</li>
+ <li>Increased font size for dropdown menus on OSX and embedded windows</li>
+ </ul> <em>Other</em>
+ <ul>
+ <li>Consensus sequence for alignments/groups with a single
+ sequence were not calculated</li>
+ <li>annotation files that contain only groups imported as
+ annotation and junk sequences</li>
+ <li>Fasta files with sequences containing '*' incorrectly
+ recognised as PFAM or BLC</li>
+ <li>conservation/PID slider apply all groups option doesn't
+ affect background (2.8.0b1)
+ <li></li>
+ <li>redundancy highlighting is erratic at 0% and 100%</li>
+ <li>Remove gapped columns fails for sequences with ragged
+ trailing gaps</li>
+ <li>AMSA annotation row with leading spaces is not registered
+ correctly on import</li>
+ <li>Jalview crashes when selecting PCA analysis for certain
+ alignments</li>
+ <li>Opening the colour by annotation dialog for an existing
+ annotation based 'use original colours' colourscheme loses
+ original colours setting</li>
+ </ul>
+ </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>
<li>ClassCastException when generating EPS in headless
mode</li>
<li>Adjusting sequence-associated shading threshold only
- changes one row's threshold</li>
+ changes one row's threshold</li>
<li>Preferences and Feature settings panel panel
doesn't open</li>
- </ul>
+ <li>hide consensus histogram also hides conservation and
+ quality histograms</li>
+ </ul>
</td>
</tr>
<tr>
<strong><a name="Jalview2.8">2.8</a></strong><br /> <em>12/11/2012</em>
</div></td>
<td><em>Application</em>
- <li>Support for JABAWS 2.0 Services (AACon alignment
+ <ul><li>Support for JABAWS 2.0 Services (AACon alignment
conservation, protein disorder and Clustal Omega)</li>
<li>JABAWS server status indicator in Web Services preferences
</li>
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<strong>RNAalifold RNA Alignment Secondary Structure
Prediction Service</strong>
<p>
- RNAalifold is part of the <a href="http://www.tbi.univie.ac.at/RNA/">Vienna
+ RNAalifold analyses the pattern of base pair conservation in an RNA
+ alignment in order to predict a consensus secondary structure.<br>It
+ is part of the <a href="http://www.tbi.univie.ac.at/RNA/">Vienna
RNA</a> Secondary Structure Prediction and Comparison Package. It was
described in 2008 by Ivo L. Hofacker, Sebastian Will, Andreas R.
Gruber, and Peter F. Stadler, <em>RNAalifold: Improved consensus
- structure prediction for RNA alignments</em>. (<a
- href=http://www.biomedcentral.com/1471-2105/9/474>BMC
- Bioinformatics, 9:474, 2008</a>).
+ structure prediction for RNA alignments</em> (BMC Bioinformatics, 9:474,
+ 2008). Download the paper at <a
+ href="http://www.biomedcentral.com/1471-2105/9/474">http://www.biomedcentral.com/1471-2105/9/474</a>.
</p>
<p>
- <strong>Example RNAalifold Output</strong><br />
- RNAalifold prints a consensus alignment and mfe structure to stdout with its
- associated energy. Depending on the arguments given, other information such as
- alternate structures are displayed below while base pairing probabilities (-p or --MEA
- options) are stored in a separate 'alifold.out' file.<br />
- <pre><br />
-G_UUUCAUU___AUGACGGCCUGUGCU_UAAA__CCUCC____GAG__C________GGGUCA_G_G_UCUGAU___CUUG_______GAGAC
-(.((((...........(((((((((........(((......)))............))))).).).))..................))))) (-19.16 = -11.80 + -7.36)
-(.((((...........(((((((((........(((......)))............))))).).).))..................))))) [-19.32]
- frequency of mfe structure in ensemble 0.765639
-(.((((...........(((((((((........(((......)))............))))).).).))..................))))) -19.16 {-11.80 + -7.36}
-(.((((...........(((((((((........(((......)))............))))).).).))..................))))) { 13.20 MEA=92.14}
-
-Alifold.out
- 6 89 9 99.2% 0.023 CG:29 GC:14 UA:9
- 4 91 11 99.1% 0.028 CG:20 GC:11 UG:2 UA:17
- 3 92 18 96.9% 0.090 CG:5 GC:2 GU:1 UG:4 AU:6 UA:25
- 35 46 3 93.3% 0.195 CG:31 GC:16 UG:2 AU:5 UA:4
- 36 45 10 93.6% 0.185 CG:16 GC:6 GU:1 UG:2 AU:8 UA:18
- .
- .
- .
- </pre>
+ <strong>Running RNAalifold from Jalview</strong><br />
+ <p>
+ Jalview supports access to RNAalifold services provided by JABA 2.1
+ servers. To enable RNAalifold predictions for an RNA alignment, go to
+ <strong>Webservices→Secondary Structure Prediction</strong> and
+ select <strong>RNAalifold prediction</strong> to run with current
+ defaults, and <strong>Change settings ...</strong> to adjust
+ prediction parameters. The RNA secondary structure prediction for the
+ alignment will be shown as alignment annotation, and any edits will
+ trigger the prediction to be recalculated.
+ <p>
+ <Strong>RNAalifold prediction parameters</Strong> <br /> JABAWS and
+ Jalview only provide access to a selection of the RNAalifold
+ arguments. For a full description, see the documentation at <a
+ href="http://www.tbi.univie.ac.at/RNA/RNAalifold.html">http://www.tbi.univie.ac.at/RNA/RNAalifold.html</a>.
</p>
<p>
- <strong>Running RNAalifold from Jalview</strong><br />
- To run RNAalifold go to <strong>Webservices→RNA Structure Prediction</strong>
- and choose <strong>RNAalifold Defaults</strong> to run with no arguments or
- <strong>edit settings and run ...</strong> to adjust the parameters before running.
- Details of all the RNAalifold parameters can be found in the
- <a href=http://www.tbi.univie.ac.at/RNA/man/RNAalifold.html>RNAalifold Manpage</a>.
- JABAWS and Jalview support a selection of the RNAalifold arguments only.
+ <strong>Supported Arguments which give alternate structures</strong>
</p>
- <p><strong>Supported Arguments which give alternate structures</strong></p>
<p>
- <em>Partition Function (-p)</em><br />
- Calculate the Partition Function and base pairing probability matrix in addition to the mfe
- structure. A coarse representation of the pair probabilities in the from of a psuedo
- bracket notation, as well as the centroid structure derived from the pair probabilities
- are displayed. The most likely base pairings are stored in a separate file by RNAalifold
- and represented in Jalview by a bar graph annotation line labelled 'Contact Probabilities'.
+ <em>Partition Function (-p)</em><br /> Calculate the Partition
+ Function and base pairing probability matrix in addition to the mfe
+ structure. A coarse representation of the pair probabilities in the
+ from of a pseudo bracket notation, as well as the centroid structure
+ derived from the pair probabilities are displayed. The most likely
+ base pairings are stored in a separate file by RNAalifold and
+ represented in Jalview by a bar graph annotation line labeled
+ 'Contact Probabilities'.
</p>
<p>
- <em>Maximum Expected Accuracy Structure (--MEA)</em><br />
- Calculate an MEA structure where the expected Accuracy is computed from the base pair
- probabilities. A more detailed description is found in the <a href=http://www.tbi.univie.ac.at/RNA/man/RNAfold.html>
- RNAfold documentation</a>.
+ <em>Maximum Expected Accuracy Structure (--MEA)</em><br /> Calculate
+ an MEA structure where the expected Accuracy is computed from the base
+ pair probabilities. A more detailed description can be found in the <strong>RNAfold</strong>
+ program documentation at <a
+ href="http://www.tbi.univie.ac.at/RNA/RNAfold.html">http://www.tbi.univie.ac.at/RNA/RNAfold.html</a>.
</p>
- <p><strong>Example RNAalifold Structure Annotation rows</strong><p>
-
- <div align="center">
- <img src="RNAalifoldAnnotationRows.png" width="500" height="216"></div>
-
+ <p>
+ <strong>Example RNAalifold Structure Annotation rows</strong>
+ <p>
+ <div align="center">
+ <img src="RNAalifoldAnnotationRows.png" width="500" height="216">
+ </div>
+ <p>
</body>
</html>
\ No newline at end of file
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
The <strong>Web Services→Disorder</strong> menu in the alignment
window allows access to protein disorder prediction services provided
by the configured <a href="http://www.compbio.dundee.ac.uk/jabaws">JABAWS
- servers</a>. Each service operates on sequences in the alignment to
- identify regions likely to be unstructured or flexible, or
- alternately, fold to form globular domains.
+ servers</a>. Each service operates on sequences in the alignment or
+ currently selected region (<em>since Jalview 2.8.0b1</em>) to identify
+ regions likely to be unstructured or flexible, or alternately, fold to
+ form globular domains.
</p>
<p>
Predictor results include both <a href="../features/seqfeatures.html">sequence
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
</head>
<body>
<p>
- <strong>What's new ?</strong><br /> Jalview 2.8.1 includes a range of new features developed in the last 12 months. <br /> As usual you can find the
- highlights below, and the comprehensive list is given in the <a
+ <strong>What's new ?</strong></p>
+ <p>
+ Jalview 2.8.1 includes new features for group creation, RNA secondary
+ structure prediction and a host bug fixes. It also includes support
+ for <a href="http://www.compbio.dundee.ac.uk/JABAWS">version 2.1
+ of JABA</a> and includes a Spanish translation of its user interface.<br />
+ The highlights are detailed below, and the full list is given in the <a
href="releases.html#Jalview2.8.1">Jalview 2.8.1 Release Notes</a>.
</p>
- <strong>Enhancements and new features</strong>
- <ul>
- <li>Extended the <a href="features/featuresettings.html">feature settings dialog</a> to allow columns to be selected containing particular sequence features.</li>
- </ul>
- <strong>Bug fixes</strong>
- <ul>
- </ul>
+ <p>The Desktop and web based applet include new keystrokes for
+ defining and undefining groups, and PAM250 has been added to the range
+ of score models available for use by the tree and PCA calculations.
+ The Jalview project file format has also been extended for handling
+ RNA and protein secondary structure annotation, in anticipation for
+ new structure based secondary structure support in Jalview 2.8.2.</p>
+ <p><strong>Internationalisation</strong></p>
+ <p>Jalview 2.8.1 is the first release to include support for
+ displaying Jalview's user interface in different languages. In August
+ 2013, David Roldán-Martinez took on the task of
+ internationalising Jalview's user interface. He also recruited Sara
+ Hernández Díaz and Laura Ferrandis Martinez who created
+ Jalview's first spanish user interface translation.</p>
+ <p>
+ If you notice any problems, or would like to help translate Jalview's
+ user interface into other languages, head over to <a
+ href="http://issues.jalview.org">issues.jalview.org</a> and put in a
+ feature request describing the translations you can provide to the <a
+ href="http://issues.jalview.org/browse/JAL/component/10682">i18n
+ component</a>. David has also <a
+ href="https://wiki.jalview.org/index.php/Development:i18n">documented
+ the process of creating i18n translations</a> to help you get started.
+ </p>
+ <p><strong>RNA Secondary Structure Prediction with JABA 2.1</strong></p>
+ <p>
+ This version of Jalview includes a client to access the new services available in <a
+ href="http://www.compbio.dundee.ac.uk/jabaws/">JABA v2.1</a> , which
+ provides services for RNA consensus secondary structure prediction and
+ two new alignment programs (<a
+ href="http://sourceforge.net/projects/glprobs/">GLProbs</a> and <a
+ href="http://sourceforge.net/projects/msaprobs/">MSAProbs</a>).</p>
+ <p>
+ To see how to perform RNA secondary structure predictions like the one below, take a look at the <a href="webServices/RNAalifold.html">RNAAliFold
+ client documentation</a>.
+ </p>
+ <div align="center">
+ <img src="webServices/RNAalifoldAnnotationRows.png" width="500" height="216"> <br> <em>The RNAalifold client was implemented by Jalview's 2013
+ summer student, Dan Barton.</em>
+ </div>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
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
+AUTHORS=J Procter, AM Waterhouse, J Engelhardt, LM Lui, D Barton, N Sherstnev, D Roldan-Martinez, M Clamp, S Searle, G Barton
+AUTHORFNAMES=Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui, Daniel Barton, Natasha Sherstnev, David Roldan-Martinez, 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.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
label.to_upper_case = To Upper Case\r
label.to_lower_case = To Lower Case\r
label.toggle_case = Toggle Case\r
-label.edit_name_description = Edit Name/Description\r
-label.create_sequence_feature = Create Sequence Feature\r
+label.edit_name_description = Edit Name/Description ...\r
+label.create_sequence_feature = Create Sequence Feature ...\r
label.edit_sequence = Edit Sequence\r
label.edit_sequences = Edit Sequences\r
label.sequence_details = Sequence Details\r
label.view_structure_for = View structure for {0}\r
label.view_all_structures = View all {0} structures.\r
label.view_all_representative_structures = View all {0} representative structures.\r
-label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment = "Opens a new Jmol view with all representative structures\nassociated with the current selection\nsuperimposed with the current alignment."\r
+label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment = Opens a new Jmol view with all representative structures\nassociated with the current selection\nsuperimposed with the current alignment.\r
label.associate_structure_with_sequence = Associate Structure with Sequence\r
label.from_file = from file\r
label.enter_pdb_id = Enter PDB Id\r
<?xml version="1.0"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
###############################################################################
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
public void setViewportAndAlignmentPanel(AlignViewportI viewport, AlignmentViewPanel alignPanel);
- boolean markColumnsContainingFeatures(boolean invert, String featureType);
+ /**
+ * Mark columns in the current column selection according to positions of sequence features
+ * @param invert - when set, mark all but columns containing given type
+ * @param extendCurrent - when set, do not clear existing column selection
+ * @param toggle - rather than explicitly set, toggle selection state
+ * @param featureType - feature type string
+ * @return true if operation affected state
+ */
+ boolean markColumnsContainingFeatures(boolean invert, boolean extendCurrent, boolean clearColumns, String featureType);
}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
conservationMenuItem.addItemListener(this);
abovePIDColour.addItemListener(this);
colourMenu.setLabel(MessageManager.getString("label.group_colour"));
- showBoxes.setLabel(MessageManager.getString("label.boxes"));
+ showBoxes.setLabel(MessageManager.getString("action.boxes"));
showBoxes.setState(true);
showBoxes.addItemListener(this);
sequenceName.addActionListener(this);
displayNonconserved.setLabel(MessageManager.getString("label.show_non_conversed"));
displayNonconserved.setState(false);
displayNonconserved.addItemListener(this);
- showText.setLabel(MessageManager.getString("label.text"));
+ showText.setLabel(MessageManager.getString("action.text"));
showText.addItemListener(this);
showColourText.setLabel(MessageManager.getString("label.colour_text"));
showColourText.addItemListener(this);
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
fileMenu.remove(closeMenuItem);
fileMenu.remove(3); // Remove Seperator
embeddedMenu = makeEmbeddedPopupMenu(alignFrameMenuBar, "Arial",
- Font.PLAIN, 10, false); // use our own fonts.
+ Font.PLAIN, 11, false); // use our own fonts.
// and actually add the components to the applet area
viewport.applet.setLayout(new BorderLayout());
viewport.applet.add(embeddedMenu, BorderLayout.NORTH);
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
{
annotationSpaceFillerHolder.setVisible(b);
annotationPanelHolder.setVisible(b);
+ } else {
+ annotationSpaceFillerHolder.setVisible(false);
+ annotationPanelHolder.setVisible(false);
}
validate();
repaint();
alabels.setSize(new Dimension(e.width, height));
annotationSpaceFillerHolder.setSize(new Dimension(e.width, height));
annotationPanelHolder.setSize(new Dimension(d.width, height));
- seqPanelHolder.setSize(d.width, seqandannot - height);
+ // seqPanelHolder.setSize(d.width, seqandannot - height);
seqPanel.seqCanvas
.setSize(d.width, seqPanel.seqCanvas.getSize().height);
int s = apvscroll.getValue();
s = 0;
}
apvscroll.setValues(s, height, 0, mheight);
- annotationPanel.setScrollOffset(apvscroll.getValue());
- alabels.setScrollOffset(apvscroll.getValue());
+ annotationPanel.setScrollOffset(apvscroll.getValue(), false);
+ alabels.setScrollOffset(apvscroll.getValue(), false);
}
public void setWrapAlignment(boolean wrap)
annotationPanelHolder.setVisible(true);
annotationSpaceFillerHolder.setVisible(true);
}
-
+
idSpaceFillerPanel1.setVisible(!wrap);
fontChanged(); // This is so that the scalePanel is resized correctly
validate();
+ sequenceHolderPanel.revalidate();
repaint();
}
if (evt == null || evt.getSource() == apvscroll)
{
- annotationPanel.setScrollOffset(apvscroll.getValue());
- alabels.setScrollOffset(apvscroll.getValue());
+ annotationPanel.setScrollOffset(apvscroll.getValue(), false);
+ alabels.setScrollOffset(apvscroll.getValue(), false);
// annotationPanel.image=null;
// alabels.image=null;
// alabels.repaint();
setScrollValues(av.getStartRes(), av.getStartSeq());
}
- alabels.repaint();
-
seqPanel.seqCanvas.repaint();
- scalePanel.repaint();
- annotationPanel.repaint();
idPanel.idCanvas.repaint();
+ if (!av.wrapAlignment)
+ {
+ if (av.showAnnotation)
+ {
+ alabels.repaint();
+ annotationPanel.repaint();
+ }
+ scalePanel.repaint();
+ }
+
}
protected Panel sequenceHolderPanel = new Panel();
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
this.av = av;
}
- public void setScrollOffset(int y)
+ public void setScrollOffset(int y, boolean repaint)
{
scrollOffset = y;
- repaint();
+ if (repaint)
+ {
+ repaint();
+ }
}
/**
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
int scrollOffset = 0;
- public void setScrollOffset(int value)
+ public void setScrollOffset(int value, boolean repaint)
{
scrollOffset = value;
- repaint();
+ if (repaint)
+ {
+ repaint();
+ }
}
@Override
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
{
// Build the embedded menu panel
embeddedMenu = makeEmbeddedPopupMenu(topMenuBar, "Arial", Font.PLAIN,
- 10, true); // try to pickup system font.
+ 11, true); // try to pickup system font.
setMenuBar(null);
// add the components to the TreePanel area.
add(embeddedMenu, BorderLayout.NORTH);
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
import java.util.StringTokenizer;
import java.util.Vector;
+import netscape.javascript.JSException;
import netscape.javascript.JSObject;
/**
callInitCallback();
}
}
-
+ private void initLiveConnect()
+ {
+ // try really hard to get the liveConnect thing working
+ boolean notFailed=false;
+ int tries=0;
+ while (!notFailed && tries<10) {
+ if (tries>0)
+ {
+ System.err.println("LiveConnect request thread going to sleep.");
+ }
+ try {
+ Thread.sleep(700*(1+tries));
+ }
+ catch (InterruptedException q) {};
+ if (tries++>0)
+ {
+ System.err.println("LiveConnect request thread woken up.");
+ }
+ try {
+ JSObject scriptObject = JSObject.getWindow(this);
+ if (scriptObject.eval("navigator")!=null)
+ {
+ notFailed=true;
+ }
+ } catch (JSException jsex)
+ {
+ System.err.println("Attempt "+tries+" to access LiveConnect javascript failed.");
+ }
+ }
+ }
private void callInitCallback()
{
String initjscallback = getParameter("oninit");
{
}
;
+ // try really hard to let the browser plugin know we want liveconnect
+ initLiveConnect();
+
if (scriptObject != null)
{
try
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
import jalview.api.AlignViewControllerI;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AnnotatedCollectionI;
import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.SequenceCollectionI;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
}
@Override
- public boolean markColumnsContainingFeatures(boolean invert,
- String featureType)
+ public boolean markColumnsContainingFeatures(boolean invert, boolean extendCurrent, boolean toggle, String featureType)
{
// JBPNote this routine could also mark rows, not just columns.
// need a decent query structure to allow all types of feature searches
BitSet bs = new BitSet();
- List<SequenceI> seqs = viewport.getAlignment().getSequences();
- int alw = viewport.getAlignment().getWidth();
+ int alw,alStart;
+ SequenceCollectionI sqcol = (viewport.getSelectionGroup() == null ? viewport.getAlignment() : viewport.getSelectionGroup());
+ alStart = sqcol.getStartRes();
+ alw = sqcol.getEndRes()+1;
+ List<SequenceI> seqs = sqcol.getSequences();
int nseq = 0;
for (SequenceI sq : seqs)
{
SequenceFeature[] sf = dsq.getSequenceFeatures();
if (sf != null)
{
+ int ist = sq.findIndex(sq.getStart());
+ int iend = sq.findIndex(sq.getEnd());
+ if (iend < alStart || ist> alw)
+ {
+ // sequence not in region
+ continue;
+ }
for (SequenceFeature sfpos : sf)
{
// future functionalty - featureType == null means mark columns
// counting
int i = sq.findIndex(sfpos.getBegin());
- int ist = sq.findIndex(sq.getStart());
- if (i < ist)
+ int j = sq.findIndex(sfpos.getEnd());
+ if (j<alStart || i>alw)
+ {
+ // feature is outside selected region
+ continue;
+ }
+ if (i < alStart)
{
+ i = alStart;
+ }
+ if (i< ist) {
i = ist;
}
- int j = sq.findIndex(sfpos.getEnd());
if (j > alw)
{
j = alw;
}
}
}
+ ColumnSelection cs = viewport.getColumnSelection();
if (bs.cardinality() > 0 || invert)
{
- ColumnSelection cs = viewport.getColumnSelection();
if (cs == null)
{
cs = new ColumnSelection();
+ } else {
+ if (!extendCurrent)
+ {
+ cs.clear();
+ }
}
if (invert)
{
- for (int i = bs.nextClearBit(0), ibs = bs.nextSetBit(0); i >= 0
- && i < alw;)
+ // invert only in the currently selected sequence region
+ for (int i = bs.nextClearBit(alStart), ibs = bs.nextSetBit(alStart); i >= alStart
+ && i < (alw);)
{
if (ibs < 0 || i < ibs)
{
- cs.addElement(i++);
+ if (toggle && cs.contains(i))
+ {
+ cs.removeElement(i++);
+ } else
+ {
+ cs.addElement(i++);
+ }
}
else
{
}
else
{
- for (int i = bs.nextSetBit(0); i >= 0; i = bs.nextSetBit(i + 1))
+ for (int i = bs.nextSetBit(alStart); i >= alStart; i = bs.nextSetBit(i + 1))
{
- cs.addElement(i);
+ if (toggle && cs.contains(i))
+ {
+ cs.removeElement(i);
+ } else
+ {
+ cs.addElement(i);
+ }
}
}
viewport.setColumnSelection(cs);
alignPanel.paintAlignment(true);
- avcg.setStatus("Marked "
- + (invert ? alw - bs.cardinality() : bs.cardinality())
- + " columns containing features of type " + featureType
- + " across " + nseq);
+ avcg.setStatus((toggle ? "Toggled ": "Marked ")
+ + (invert ? (alw-alStart) - bs.cardinality() : bs.cardinality())
+ + " columns "+(invert ? "not " : "") + "containing features of type " + featureType
+ + " across " + nseq + " sequence(s)");
return true;
}
else
{
avcg.setStatus("No features of type " + featureType + " found.");
+ if (!extendCurrent && cs!=null)
+ {
+ cs.clear();
+ alignPanel.paintAlignment(true);
+ }
return false;
}
}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
- * \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
+ *
+ * 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.
- */\r
-package jalview.ext.varna;\r
-\r
-import jalview.api.FeatureRenderer;\r
-import jalview.api.SequenceRenderer;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.structure.StructureMapping;\r
-import jalview.structure.StructureSelectionManager;\r
-import jalview.util.Comparison;\r
-\r
-import java.awt.Color;\r
-import java.util.ArrayList;\r
-\r
-/**\r
+ */
+package jalview.ext.varna;
+
+import jalview.api.FeatureRenderer;
+import jalview.api.SequenceRenderer;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SequenceI;
+import jalview.structure.StructureMapping;
+import jalview.structure.StructureSelectionManager;
+
+import java.awt.Color;
+import java.util.ArrayList;
+
+/**
* Routines for generating Jmol commands for Jalview/Jmol binding another
* cruisecontrol test.
- * \r
- * @author JimP\r
- *\r
- */\r
-public class VarnaCommands\r
-{\r
-\r
- /**\r
+ *
+ * @author JimP
+ *
+ */
+public class VarnaCommands
+{
+
+ /**
* Jmol utility which constructs the commands to colour chains by the given
* alignment
- * \r
- */\r
+ *
+ */
public static String[] getColourBySequenceCommand(
StructureSelectionManager ssm, String[] files,
SequenceI[][] sequence, SequenceRenderer sr, FeatureRenderer fr,
AlignmentI alignment)
- {\r
- \r
- ArrayList<String> str = new ArrayList<String>();\r
- StringBuffer command = new StringBuffer();\r
- \r
- for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)\r
- {\r
- StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]);\r
- \r
- if (mapping == null || mapping.length < 1)\r
- continue;\r
- \r
- int lastPos = -1;\r
- for (int s = 0; s < sequence[pdbfnum].length; s++)\r
- {\r
- for (int sp, m = 0; m < mapping.length; m++)\r
- {\r
- if (mapping[m].getSequence() == sequence[pdbfnum][s]\r
- && (sp = alignment.findIndex(sequence[pdbfnum][s])) > -1)\r
- {\r
- SequenceI asp = alignment.getSequenceAt(sp);\r
- for (int r = 0; r < asp.getLength(); r++)\r
- {\r
- // no mapping to gaps in sequence\r
- if (jalview.util.Comparison.isGap(asp.getCharAt(r)))\r
- {\r
- continue;\r
- }\r
- int pos = mapping[m].getPDBResNum(asp.findPosition(r));\r
- \r
- if (pos < 1 || pos == lastPos)\r
- continue;\r
- \r
- lastPos = pos;\r
- \r
- Color col = sr.getResidueBoxColour(sequence[pdbfnum][s], r);\r
- \r
- if (fr != null)\r
- col = fr.findFeatureColour(col, sequence[pdbfnum][s], r);\r
- String newSelcom = (mapping[m].getChain() != " " ? ":"\r
- + mapping[m].getChain() : "")\r
- + "/"\r
- + (pdbfnum + 1)\r
- + ".1"\r
- + ";color["\r
- + col.getRed()\r
- + ","\r
- + col.getGreen()\r
- + ","\r
- + col.getBlue() + "]";\r
+ {
+ ArrayList<String> str = new ArrayList<String>();
+ StringBuffer command = new StringBuffer();
+
+ for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
+ {
+ StructureMapping[] mapping = ssm.getMapping(files[pdbfnum]);
+
+ if (mapping == null || mapping.length < 1)
+ continue;
+
+ int lastPos = -1;
+ for (int s = 0; s < sequence[pdbfnum].length; s++)
+ {
+ for (int sp, m = 0; m < mapping.length; m++)
+ {
+ if (mapping[m].getSequence() == sequence[pdbfnum][s]
+ && (sp = alignment.findIndex(sequence[pdbfnum][s])) > -1)
+ {
+ SequenceI asp = alignment.getSequenceAt(sp);
+ for (int r = 0; r < asp.getLength(); r++)
+ {
+ // no mapping to gaps in sequence
+ if (jalview.util.Comparison.isGap(asp.getCharAt(r)))
+ {
+ continue;
+ }
+ int pos = mapping[m].getPDBResNum(asp.findPosition(r));
+
+ if (pos < 1 || pos == lastPos)
+ continue;
+
+ lastPos = pos;
+
+ Color col = sr.getResidueBoxColour(sequence[pdbfnum][s], r);
+
+ if (fr != null)
+ col = fr.findFeatureColour(col, sequence[pdbfnum][s], r);
+ String newSelcom = (mapping[m].getChain() != " " ? ":"
+ + mapping[m].getChain() : "")
+ + "/"
+ + (pdbfnum + 1)
+ + ".1"
+ + ";color["
+ + col.getRed()
+ + ","
+ + col.getGreen()
+ + ","
+ + col.getBlue() + "]";
if (command.length() > newSelcom.length()
&& command.substring(
command.length() - newSelcom.length())
.equals(newSelcom))
- {\r
- command = VarnaCommands.condenseCommand(command, pos);\r
- continue;\r
- }\r
- // TODO: deal with case when buffer is too large for Jmol to parse\r
- // - execute command and flush\r
- \r
- command.append(";");\r
- if (command.length()>51200)\r
- {\r
- // add another chunk\r
- str.add(command.toString());\r
- command.setLength(0);\r
- }\r
- command.append("select " + pos);\r
- command.append(newSelcom);\r
- }\r
- break;\r
- }\r
- }\r
- }\r
- }\r
- {\r
- // add final chunk\r
- str.add(command.toString());\r
- command.setLength(0);\r
- }\r
- return str.toArray(new String[str.size()]);\r
- }\r
-\r
- public static StringBuffer condenseCommand(StringBuffer command, int pos)\r
- {\r
- \r
- // work back to last 'select'\r
- int p=command.length(),q=p;\r
+ {
+ command = VarnaCommands.condenseCommand(command, pos);
+ continue;
+ }
+ // TODO: deal with case when buffer is too large for Jmol to parse
+ // - execute command and flush
+
+ command.append(";");
+ if (command.length() > 51200)
+ {
+ // add another chunk
+ str.add(command.toString());
+ command.setLength(0);
+ }
+ command.append("select " + pos);
+ command.append(newSelcom);
+ }
+ break;
+ }
+ }
+ }
+ }
+ {
+ // add final chunk
+ str.add(command.toString());
+ command.setLength(0);
+ }
+ return str.toArray(new String[str.size()]);
+ }
+
+ public static StringBuffer condenseCommand(StringBuffer command, int pos)
+ {
+
+ // work back to last 'select'
+ int p = command.length(), q = p;
do
{
- p-=6;\r
+ p -= 6;
if (p < 1)
{
p = 0;
}
;
- } while ((q=command.indexOf("select",p))==-1 && p>0);\r
- \r
- StringBuffer sb = new StringBuffer(command.substring(0,q+7));\r
- \r
- command = command.delete(0,q+7);\r
- \r
- String start;\r
- \r
- if (command.indexOf("-") > -1)\r
- {\r
- start = command.substring(0, command.indexOf("-"));\r
- }\r
- else\r
- {\r
- start = command.substring(0, command.indexOf(":"));\r
- }\r
- \r
- sb.append(start + "-" + pos + command.substring(command.indexOf(":")));\r
- \r
- return sb;\r
- }\r
-\r
-}\r
+ } while ((q = command.indexOf("select", p)) == -1 && p > 0);
+
+ StringBuffer sb = new StringBuffer(command.substring(0, q + 7));
+
+ command = command.delete(0, q + 7);
+
+ String start;
+
+ if (command.indexOf("-") > -1)
+ {
+ start = command.substring(0, command.indexOf("-"));
+ }
+ else
+ {
+ start = command.substring(0, command.indexOf(":"));
+ }
+
+ sb.append(start + "-" + pos + command.substring(command.indexOf(":")));
+
+ return sb;
+ }
+
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
{
JalviewFileChooser chooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
- { "jar" }, new String[]
+ { "jvp" }, new String[]
{ "Jalview Project" }, "Jalview Project");
chooser.setFileView(new JalviewFileView());
{
JalviewFileChooser chooser = new JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"), new String[]
- { "jar" }, new String[]
- { "Jalview Project" }, "Jalview Project");
+ { "jvp","jar" }, new String[]
+ { "Jalview Project", "Jalview Project (old)" }, "Jalview Project");
chooser.setFileView(new JalviewFileView());
chooser.setDialogTitle("Restore state");
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
else if (evt.getClickCount() == 2)
{
fr.ap.alignFrame.avc.markColumnsContainingFeatures(
- evt.isShiftDown(),
+ evt.isAltDown(),evt.isShiftDown() || evt.isMetaDown(), evt.isMetaDown(),
(String) table.getValueAt(selectedRow, 0));
}
}
}
}
});
-
+ table.setToolTipText("<html>"+JvSwingUtils
+ .wrapTooltip("Click/drag feature types up or down to change render order.<br/>Double click to select columns containing feature in alignment/current selection<br/>Pressing Alt will select columns outside features rather than inside<br/>Pressing Shift to modify current selection (rather than clear current selection)<br/>Press CTRL or Command/Meta to toggle columns in/outside features<br/>")+"</html>");
scrollPane.setViewportView(table);
dassourceBrowser = new DasSourceBrowser(this);
@Override
public void actionPerformed(ActionEvent arg0)
{
- fr.ap.alignFrame.avc.markColumnsContainingFeatures(false, type);
+ fr.ap.alignFrame.avc.markColumnsContainingFeatures(false, false, false, type);
}
});
JMenuItem clearCols = new JMenuItem(MessageManager.getString("label.select_columns_not_containing"));
@Override
public void actionPerformed(ActionEvent arg0)
{
- fr.ap.alignFrame.avc.markColumnsContainingFeatures(true, type);
+ fr.ap.alignFrame.avc.markColumnsContainingFeatures(true, false, false, type);
}
});
men.add(selCols);
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
scoreMatrixMenu.removeAll();
for (final String sm:ResidueProperties.scoreMatrices.keySet())
{
- JCheckBoxMenuItem jm=new JCheckBoxMenuItem();
- jm.setText(MessageManager.getStringOrReturn("label.score_model", sm));
- jm.setSelected(pcaModel.getScore_matrix().equals(sm));
- if (pcaModel.isNucleotide()==ResidueProperties.scoreMatrices.get(sm).isDNA())
+ if (ResidueProperties.getScoreMatrix(sm) != null)
{
- final PCAPanel us = this;
- jm.addActionListener(new ActionListener()
+ // create an entry for this score matrix for use in PCA
+ JCheckBoxMenuItem jm = new JCheckBoxMenuItem();
+ jm.setText(MessageManager
+ .getStringOrReturn("label.score_model", sm));
+ jm.setSelected(pcaModel.getScore_matrix().equals(sm));
+ if ((ResidueProperties.scoreMatrices.get(sm).isDNA() && ResidueProperties.scoreMatrices
+ .get(sm).isProtein())
+ || pcaModel.isNucleotide() == ResidueProperties.scoreMatrices
+ .get(sm).isDNA())
{
- @Override
- public void actionPerformed(ActionEvent e)
+ final PCAPanel us = this;
+ jm.addActionListener(new ActionListener()
{
- if (!pcaModel.getScore_matrix().equals((String) sm))
+ @Override
+ public void actionPerformed(ActionEvent e)
{
- pcaModel.setScore_matrix((String) sm);
- Thread worker = new Thread(us);
- worker.start();
+ if (!pcaModel.getScore_matrix().equals((String) sm))
+ {
+ pcaModel.setScore_matrix((String) sm);
+ Thread worker = new Thread(us);
+ worker.start();
+ }
}
- }
- });
- scoreMatrixMenu.add(jm);
+ });
+ scoreMatrixMenu.add(jm);
+ }
}
}
}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
* that are writable by the application.
*/
public static final String[] WRITABLE_EXTENSIONS = new String[]
- { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
- "sto,stk" };
+ { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jvp",
+ "sto,stk", "jar" };
/**
* List of writable formats by the application. Order must correspond with the
*/
public static final String[] WRITABLE_FNAMES = new String[]
{ "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview",
- "STH" };
+ "STH", "Jalview" };
/**
* List of readable format file extensions by application in order
* corresponding to READABLE_FNAMES
*/
public static final String[] READABLE_EXTENSIONS = new String[]
- { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
- "sto,stk","xml,rnaml" }; // ".blast"
- // };
+ { "fa, fasta, mfa, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar,jvp",
+ "sto,stk", "xml,rnaml" }; // ".blast"
/**
* List of readable formats by application in order corresponding to
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
static
{
+ // TODO: these names should come from the FormatAdapter lists for readable/writable extensions
+ alignSuffix.put("amsa", "AMSA file");
alignSuffix.put("fasta", "Fasta file");
alignSuffix.put("fa", "Fasta file");
alignSuffix.put("fastq", "Fasta file");
+ alignSuffix.put("mfa", "Fasta file");
alignSuffix.put("blc", "BLC file");
alignSuffix.put("msf", "MSF file");
alignSuffix.put("pfam", "PFAM file");
alignSuffix.put("aln", "Clustal file");
alignSuffix.put("pir", "PIR file");
- alignSuffix.put("jar", "Jalview file");
+ alignSuffix.put("jar", "Jalview Project file (old)");
+ alignSuffix.put("jvp", "Jalview Project file");
+ alignSuffix.put("amsa", "AMSA file");
+ alignSuffix.put("sto", "Stockholm File");
+ alignSuffix.put("stk", "Stockholm File");
+ alignSuffix.put("sto", "Stockholm File");
}
public String getTypeDescription(File f)
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
- * \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
+ *
+ * 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.
- */\r
-/*\r
- * This extension was written by Benjamin Schuster-Boeckler at sanger.ac.uk\r
- */\r
-package jalview.io;\r
-\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.AlignmentAnnotation;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.Annotation;\r
-import jalview.datamodel.DBRefEntry;\r
-import jalview.datamodel.Mapping;\r
-import jalview.datamodel.Sequence;\r
-import jalview.datamodel.SequenceFeature;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.util.Format;\r
-\r
-import java.io.BufferedReader;\r
-import java.io.FileReader;\r
-import java.io.IOException;\r
-import java.util.ArrayList;\r
-import java.util.Enumeration;\r
-import java.util.Hashtable;\r
-import java.util.List;\r
-import java.util.StringTokenizer;\r
-import java.util.Vector;\r
-\r
-import com.stevesoft.pat.Regex;\r
-\r
-import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses;\r
-import fr.orsay.lri.varna.factories.RNAFactory;\r
-import fr.orsay.lri.varna.models.rna.RNA;\r
-\r
-// import org.apache.log4j.*;\r
-\r
-/**\r
- * This class is supposed to parse a Stockholm format file into Jalview There\r
- * are TODOs in this class: we do not know what the database source and version\r
- * is for the file when parsing the #GS= AC tag which associates accessions with\r
- * sequences. Database references are also not parsed correctly: a separate\r
- * reference string parser must be added to parse the database reference form\r
- * into Jalview's local representation.\r
- * \r
- * @author bsb at sanger.ac.uk\r
- * @author Natasha Shersnev (Dundee, UK) (Stockholm file writer)\r
- * @author Lauren Lui (UCSC, USA) (RNA secondary structure annotation import as stockholm)\r
- * @author Anne Menard (Paris, FR) (VARNA parsing of Stockholm file data)\r
- * @version 0.3 + jalview mods\r
- * \r
- */\r
-public class StockholmFile extends AlignFile\r
-{\r
- // static Logger logger = Logger.getLogger("jalview.io.StockholmFile");\r
- protected ArrayList<RNA> result;\r
+ */
+/*
+ * This extension was written by Benjamin Schuster-Boeckler at sanger.ac.uk
+ */
+package jalview.io;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.DBRefEntry;
+import jalview.datamodel.Mapping;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
+import jalview.util.Format;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import com.stevesoft.pat.Regex;
+
+import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses;
+import fr.orsay.lri.varna.factories.RNAFactory;
+import fr.orsay.lri.varna.models.rna.RNA;
+
+// import org.apache.log4j.*;
+
+/**
+ * This class is supposed to parse a Stockholm format file into Jalview There
+ * are TODOs in this class: we do not know what the database source and version
+ * is for the file when parsing the #GS= AC tag which associates accessions with
+ * sequences. Database references are also not parsed correctly: a separate
+ * reference string parser must be added to parse the database reference form
+ * into Jalview's local representation.
+ *
+ * @author bsb at sanger.ac.uk
+ * @author Natasha Shersnev (Dundee, UK) (Stockholm file writer)
+ * @author Lauren Lui (UCSC, USA) (RNA secondary structure annotation import as stockholm)
+ * @author Anne Menard (Paris, FR) (VARNA parsing of Stockholm file data)
+ * @version 0.3 + jalview mods
+ *
+ */
+public class StockholmFile extends AlignFile
+{
+ // static Logger logger = Logger.getLogger("jalview.io.StockholmFile");
+ protected ArrayList<RNA> result;
StringBuffer out; // output buffer
AlignmentI al;
-\r
- public StockholmFile()\r
- {\r
- }\r
-\r
+
+ public StockholmFile()
+ {
+ }
+
/**
* Creates a new StockholmFile object for output.
*/
this.al = al;
}
- public StockholmFile(String inFile, String type) throws IOException\r
- {\r
- super(inFile, type);\r
- }\r
-\r
- public StockholmFile(FileParse source) throws IOException\r
- {\r
- super(source);\r
- }\r
-\r
- public void initData()\r
- {\r
- super.initData();\r
- }\r
- /**\r
- * Parse a file in Stockholm format into Jalview's data model using VARNA\r
- * \r
- * @throws IOException\r
- * If there is an error with the input file\r
- */\r
- public void parse_with_VARNA(java.io.File inFile) throws IOException\r
- {\r
- FileReader fr = null;\r
- fr = new FileReader(inFile);\r
-\r
- BufferedReader r = new BufferedReader(fr);\r
- result = null;\r
- try\r
- {\r
- result = RNAFactory.loadSecStrStockholm(r);\r
- } catch (ExceptionUnmatchedClosingParentheses umcp)\r
- {\r
- errormessage = "Unmatched parentheses in annotation. Aborting ("\r
- + umcp.getMessage() + ")";\r
- throw new IOException(umcp);\r
- }\r
- // DEBUG System.out.println("this is the secondary scructure:"\r
- // +result.size());\r
- SequenceI[] seqs = new SequenceI[result.size()];\r
- String id=null;\r
- for (int i = 0; i < result.size(); i++)\r
- {\r
- // DEBUG System.err.println("Processing i'th sequence in Stockholm file")\r
- RNA current = result.get(i);\r
-\r
- String seq = current.getSeq();\r
- String rna = current.getStructDBN(true);\r
- // DEBUG System.out.println(seq);\r
- // DEBUG System.err.println(rna);\r
- int begin = 0;\r
- int end = seq.length() - 1;\r
- id = safeName(getDataName());\r
- seqs[i] = new Sequence(id, seq, begin, end);\r
- String[] annot = new String[rna.length()];\r
- Annotation[] ann = new Annotation[rna.length()];\r
- for (int j = 0; j < rna.length(); j++)\r
- {\r
- annot[j] = rna.substring(j, j + 1);\r
-\r
- }\r
-\r
- for (int k = 0; k < rna.length(); k++)\r
- {\r
- ann[k] = new Annotation(annot[k], "",\r
- jalview.schemes.ResidueProperties.getRNASecStrucState(\r
- annot[k]).charAt(0), 0f);\r
-\r
- }\r
- AlignmentAnnotation align = new AlignmentAnnotation("Sec. str.",\r
- current.getID(), ann);\r
-\r
- seqs[i].addAlignmentAnnotation(align);\r
- seqs[i].setRNA(result.get(i));\r
- this.annotations.addElement(align);\r
- }\r
- this.setSeqs(seqs);\r
-\r
- }\r
-\r
- \r
- /**\r
- * Parse a file in Stockholm format into Jalview's data model. The file has to\r
- * be passed at construction time\r
- * \r
- * @throws IOException\r
- * If there is an error with the input file\r
- */\r
- public void parse() throws IOException\r
- {\r
- StringBuffer treeString = new StringBuffer();\r
- String treeName = null;\r
- // --------------- Variable Definitions -------------------\r
- String line;\r
- String version;\r
- // String id;\r
- Hashtable seqAnn = new Hashtable(); // Sequence related annotations\r
- Hashtable seqs = new Hashtable();\r
- Regex p, r, rend, s, x;\r
- // Temporary line for processing RNA annotation\r
- // String RNAannot = "";\r
-\r
- // ------------------ Parsing File ----------------------\r
- // First, we have to check that this file has STOCKHOLM format, i.e. the\r
- // first line must match\r
- \r
- \r
- r = new Regex("# STOCKHOLM ([\\d\\.]+)");\r
- if (!r.search(nextLine()))\r
- {\r
- throw new IOException(\r
- "This file is not in valid STOCKHOLM format: First line does not contain '# STOCKHOLM'");\r
- }\r
- else\r
- {\r
- version = r.stringMatched(1);\r
- \r
- // logger.debug("Stockholm version: " + version);\r
- }\r
-\r
- // We define some Regexes here that will be used regularily later\r
- rend = new Regex("^\\s*\\/\\/"); // Find the end of an alignment\r
- p = new Regex("(\\S+)\\/(\\d+)\\-(\\d+)"); // split sequence id in\r
- // id/from/to\r
- s = new Regex("(\\S+)\\s+(\\S*)\\s+(.*)"); // Parses annotation subtype\r
- r = new Regex("#=(G[FSRC]?)\\s+(.*)"); // Finds any annotation line\r
- x = new Regex("(\\S+)\\s+(\\S+)"); // split id from sequence\r
-\r
- // Convert all bracket types to parentheses (necessary for passing to VARNA)\r
- Regex openparen = new Regex("(<|\\[)", "(");\r
- Regex closeparen = new Regex("(>|\\])", ")");\r
-\r
- // Detect if file is RNA by looking for bracket types\r
- Regex detectbrackets = new Regex("(<|>|\\[|\\]|\\(|\\))");\r
-\r
- rend.optimize();\r
- p.optimize();\r
- s.optimize();\r
- r.optimize();\r
- x.optimize();\r
- openparen.optimize();\r
- closeparen.optimize();\r
- \r
- while ((line = nextLine()) != null)\r
- {\r
- if (line.length() == 0)\r
- {\r
- continue;\r
- }\r
- if (rend.search(line))\r
- {\r
- // End of the alignment, pass stuff back\r
- this.noSeqs = seqs.size();\r
- \r
- String seqdb,dbsource = null;\r
- Regex pf = new Regex("PF[0-9]{5}(.*)"); // Finds AC for Pfam\r
- Regex rf = new Regex("RF[0-9]{5}(.*)"); // Finds AC for Rfam\r
- if (getAlignmentProperty("AC") != null)\r
- {\r
- String dbType = getAlignmentProperty("AC").toString();\r
- if (pf.search(dbType))\r
- {\r
- // PFAM Alignment - so references are typically from Uniprot\r
- dbsource = "PFAM";\r
- }\r
- else if (rf.search(dbType))\r
- {\r
- dbsource = "RFAM";\r
- }\r
- }\r
- // logger.debug("Number of sequences: " + this.noSeqs);\r
- Enumeration accs = seqs.keys();\r
- while (accs.hasMoreElements())\r
- {\r
- String acc = (String) accs.nextElement();\r
- // logger.debug("Processing sequence " + acc);\r
- String seq = (String) seqs.remove(acc);\r
- if (maxLength < seq.length())\r
- {\r
- maxLength = seq.length();\r
- }\r
- int start = 1;\r
- int end = -1;\r
- String sid = acc;\r
- /*\r
- * Retrieve hash of annotations for this accession Associate\r
- * Annotation with accession\r
- */\r
- Hashtable accAnnotations = null;\r
- \r
- if (seqAnn != null && seqAnn.containsKey(acc))\r
- {\r
- accAnnotations = (Hashtable) seqAnn.remove(acc);\r
- //TODO: add structures to sequence\r
- }\r
- \r
- // Split accession in id and from/to\r
- if (p.search(acc))\r
- {\r
- sid = p.stringMatched(1);\r
- start = Integer.parseInt(p.stringMatched(2));\r
- end = Integer.parseInt(p.stringMatched(3));\r
- }\r
- // logger.debug(sid + ", " + start + ", " + end);\r
- \r
- Sequence seqO = new Sequence(sid, seq, start, end);\r
- // Add Description (if any)\r
- if (accAnnotations != null && accAnnotations.containsKey("DE"))\r
- {\r
- String desc = (String) accAnnotations.get("DE");\r
- seqO.setDescription((desc == null) ? "" : desc);\r
- }\r
- // Add DB References (if any)\r
- if (accAnnotations != null && accAnnotations.containsKey("DR"))\r
- {\r
- String dbr = (String) accAnnotations.get("DR");\r
- if (dbr != null && dbr.indexOf(";") > -1)\r
- {\r
- String src = dbr.substring(0, dbr.indexOf(";"));\r
- String acn = dbr.substring(dbr.indexOf(";") + 1);\r
- jalview.util.DBRefUtils.parseToDbRef(seqO, src, "0", acn);\r
- }\r
- } \r
-\r
- if (accAnnotations != null && accAnnotations.containsKey("AC"))\r
- {\r
- if (dbsource != null)\r
- {\r
- String dbr = (String) accAnnotations.get("AC");\r
- if (dbr != null)\r
- {\r
- // we could get very clever here - but for now - just try to guess accession type from source of alignment plus structure of accession\r
- guessDatabaseFor(seqO, dbr, dbsource);\r
- \r
- }\r
- }\r
- // else - do what ? add the data anyway and prompt the user to specify what references these are ?\r
- }\r
- \r
- Hashtable features = null;\r
- // We need to adjust the positions of all features to account for gaps\r
- try\r
- {\r
- features = (Hashtable) accAnnotations.remove("features");\r
- } catch (java.lang.NullPointerException e)\r
- {\r
- // loggerwarn("Getting Features for " + acc + ": " +\r
- // e.getMessage());\r
- // continue;\r
- }\r
- // if we have features\r
- if (features != null)\r
- {\r
- int posmap[] = seqO.findPositionMap();\r
- Enumeration i = features.keys();\r
- while (i.hasMoreElements())\r
- {\r
- // TODO: parse out secondary structure annotation as annotation\r
- // row\r
- // TODO: parse out scores as annotation row\r
- // TODO: map coding region to core jalview feature types\r
- String type = i.nextElement().toString();\r
- Hashtable content = (Hashtable) features.remove(type);\r
-\r
- // add alignment annotation for this feature\r
- String key = type2id(type);\r
- if (key != null)\r
- {\r
- if (accAnnotations != null\r
- && accAnnotations.containsKey(key))\r
- {\r
- Vector vv = (Vector) accAnnotations.get(key);\r
- for (int ii = 0; ii < vv.size(); ii++)\r
- {\r
- AlignmentAnnotation an = (AlignmentAnnotation) vv\r
- .elementAt(ii);\r
- seqO.addAlignmentAnnotation(an);\r
- }\r
- }\r
- }\r
-\r
- Enumeration j = content.keys();\r
- while (j.hasMoreElements())\r
- {\r
- String desc = j.nextElement().toString();\r
- String ns = content.get(desc).toString();\r
- char[] byChar = ns.toCharArray();\r
- for (int k = 0; k < byChar.length; k++)\r
- {\r
- char c = byChar[k];\r
- if (!(c == ' ' || c == '_' || c == '-' || c == '.')) // PFAM\r
- // uses\r
- // '.'\r
- // for\r
- // feature\r
- // background\r
- {\r
- int new_pos = posmap[k]; // look up nearest seqeunce\r
- // position to this column\r
- SequenceFeature feat = new SequenceFeature(type, desc,\r
- new_pos, new_pos, 0f, null);\r
- \r
- seqO.addSequenceFeature(feat);\r
- }\r
- }\r
- }\r
- \r
- }\r
- \r
- }\r
- // garbage collect\r
- \r
- // logger.debug("Adding seq " + acc + " from " + start + " to " + end\r
- // + ": " + seq);\r
- this.seqs.addElement(seqO);\r
- }\r
- return; // finished parsing this segment of source\r
- }\r
- else if (!r.search(line))\r
- {\r
- // System.err.println("Found sequence line: " + line);\r
- \r
- // Split sequence in sequence and accession parts\r
- if (!x.search(line))\r
- {\r
- // logger.error("Could not parse sequence line: " + line);\r
- throw new IOException("Could not parse sequence line: " + line);\r
- }\r
- String ns = (String) seqs.get(x.stringMatched(1));\r
- if (ns == null)\r
- {\r
- ns = "";\r
- }\r
- ns += x.stringMatched(2);\r
- \r
- seqs.put(x.stringMatched(1), ns);\r
- }\r
- else\r
- {\r
- String annType = r.stringMatched(1);\r
- String annContent = r.stringMatched(2);\r
- \r
- // System.err.println("type:" + annType + " content: " + annContent);\r
- \r
- if (annType.equals("GF"))\r
- {\r
- /*\r
- * Generic per-File annotation, free text Magic features: #=GF NH\r
- * <tree in New Hampshire eXtended format> #=GF TN <Unique identifier\r
- * for the next tree> Pfam descriptions: 7. DESCRIPTION OF FIELDS\r
- * \r
- * Compulsory fields: ------------------\r
- * \r
- * AC Accession number: Accession number in form PFxxxxx.version or\r
- * PBxxxxxx. ID Identification: One word name for family. DE\r
- * Definition: Short description of family. AU Author: Authors of the\r
- * entry. SE Source of seed: The source suggesting the seed members\r
- * belong to one family. GA Gathering method: Search threshold to\r
- * build the full alignment. TC Trusted Cutoff: Lowest sequence score\r
- * and domain score of match in the full alignment. NC Noise Cutoff:\r
- * Highest sequence score and domain score of match not in full\r
- * alignment. TP Type: Type of family -- presently Family, Domain,\r
- * Motif or Repeat. SQ Sequence: Number of sequences in alignment. AM\r
- * Alignment Method The order ls and fs hits are aligned to the model\r
- * to build the full align. // End of alignment.\r
- * \r
- * Optional fields: ----------------\r
- * \r
- * DC Database Comment: Comment about database reference. DR Database\r
- * Reference: Reference to external database. RC Reference Comment:\r
- * Comment about literature reference. RN Reference Number: Reference\r
- * Number. RM Reference Medline: Eight digit medline UI number. RT\r
- * Reference Title: Reference Title. RA Reference Author: Reference\r
- * Author RL Reference Location: Journal location. PI Previous\r
- * identifier: Record of all previous ID lines. KW Keywords: Keywords.\r
- * CC Comment: Comments. NE Pfam accession: Indicates a nested domain.\r
- * NL Location: Location of nested domains - sequence ID, start and\r
- * end of insert.\r
- * \r
- * Obsolete fields: ----------- AL Alignment method of seed: The\r
- * method used to align the seed members.\r
- */\r
- // Let's save the annotations, maybe we'll be able to do something\r
- // with them later...\r
- Regex an = new Regex("(\\w+)\\s*(.*)");\r
- if (an.search(annContent))\r
- {\r
- if (an.stringMatched(1).equals("NH"))\r
- {\r
- treeString.append(an.stringMatched(2));\r
- }\r
- else if (an.stringMatched(1).equals("TN"))\r
- {\r
- if (treeString.length() > 0)\r
- {\r
- if (treeName == null)\r
- {\r
- treeName = "Tree " + (getTreeCount() + 1);\r
- }\r
- addNewickTree(treeName, treeString.toString());\r
- }\r
- treeName = an.stringMatched(2);\r
- treeString = new StringBuffer();\r
- }\r
- setAlignmentProperty(an.stringMatched(1), an.stringMatched(2));\r
- }\r
- }\r
- else if (annType.equals("GS"))\r
- {\r
- // Generic per-Sequence annotation, free text\r
- /*\r
- * Pfam uses these features: Feature Description ---------------------\r
- * ----------- AC <accession> ACcession number DE <freetext>\r
- * DEscription DR <db>; <accession>; Database Reference OS <organism>\r
- * OrganiSm (species) OC <clade> Organism Classification (clade, etc.)\r
- * LO <look> Look (Color, etc.)\r
- */\r
- if (s.search(annContent))\r
- {\r
- String acc = s.stringMatched(1);\r
- String type = s.stringMatched(2);\r
- String content = s.stringMatched(3);\r
- // TODO: store DR in a vector.\r
- // TODO: store AC according to generic file db annotation.\r
- Hashtable ann;\r
- if (seqAnn.containsKey(acc))\r
- {\r
- ann = (Hashtable) seqAnn.get(acc);\r
- }\r
- else\r
- {\r
- ann = new Hashtable();\r
- }\r
- ann.put(type, content);\r
- seqAnn.put(acc, ann);\r
- }\r
- else\r
- {\r
- throw new IOException("Error parsing " + line);\r
- }\r
- }\r
- else if (annType.equals("GC"))\r
- {\r
- // Generic per-Column annotation, exactly 1 char per column\r
- // always need a label.\r
- if (x.search(annContent))\r
- {\r
- // parse out and create alignment annotation directly.\r
- parseAnnotationRow(annotations, x.stringMatched(1),\r
- x.stringMatched(2));\r
- }\r
- }\r
- else if (annType.equals("GR"))\r
- {\r
- // Generic per-Sequence AND per-Column markup, exactly 1 char per\r
- // column\r
- /*\r
- * Feature Description Markup letters ------- -----------\r
- * -------------- SS Secondary Structure [HGIEBTSCX] SA Surface\r
- * Accessibility [0-9X] (0=0%-10%; ...; 9=90%-100%) TM TransMembrane\r
- * [Mio] PP Posterior Probability [0-9*] (0=0.00-0.05; 1=0.05-0.15;\r
- * *=0.95-1.00) LI LIgand binding [*] AS Active Site [*] IN INtron (in\r
- * or after) [0-2]\r
- */\r
- if (s.search(annContent))\r
- {\r
- String acc = s.stringMatched(1);\r
- String type = s.stringMatched(2);\r
- String seq = new String(s.stringMatched(3));\r
- String description = null;\r
- // Check for additional information about the current annotation\r
- // We use a simple string tokenizer here for speed\r
- StringTokenizer sep = new StringTokenizer(seq, " \t");\r
- description = sep.nextToken();\r
- if (sep.hasMoreTokens())\r
- {\r
- seq = sep.nextToken();\r
- }\r
- else\r
- {\r
- seq = description;\r
- description = new String();\r
- }\r
- // sequence id with from-to fields\r
- \r
- Hashtable ann;\r
- // Get an object with all the annotations for this sequence\r
- if (seqAnn.containsKey(acc))\r
- {\r
- // logger.debug("Found annotations for " + acc);\r
- ann = (Hashtable) seqAnn.get(acc);\r
- }\r
- else\r
- {\r
- // logger.debug("Creating new annotations holder for " + acc);\r
- ann = new Hashtable();\r
- seqAnn.put(acc, ann);\r
- }\r
- // TODO test structure, call parseAnnotationRow with vector from\r
- // hashtable for specific sequence\r
- Hashtable features;\r
- // Get an object with all the content for an annotation\r
- if (ann.containsKey("features"))\r
- {\r
- // logger.debug("Found features for " + acc);\r
- features = (Hashtable) ann.get("features");\r
- }\r
- else\r
- {\r
- // logger.debug("Creating new features holder for " + acc);\r
- features = new Hashtable();\r
- ann.put("features", features);\r
- }\r
- \r
- Hashtable content;\r
- if (features.containsKey(this.id2type(type)))\r
- {\r
- // logger.debug("Found content for " + this.id2type(type));\r
- content = (Hashtable) features.get(this.id2type(type));\r
- }\r
- else\r
- {\r
- // logger.debug("Creating new content holder for " +\r
- // this.id2type(type));\r
- content = new Hashtable();\r
- features.put(this.id2type(type), content);\r
- }\r
- String ns = (String) content.get(description);\r
- if (ns == null)\r
- {\r
- ns = "";\r
- }\r
- ns += seq;\r
- content.put(description, ns);\r
- \r
-// if(type.equals("SS")){\r
- Hashtable strucAnn;\r
- if (seqAnn.containsKey(acc))\r
- {\r
- strucAnn = (Hashtable) seqAnn.get(acc);\r
- }\r
- else\r
- {\r
- strucAnn = new Hashtable();\r
- }\r
- \r
- Vector newStruc=new Vector();\r
- parseAnnotationRow(newStruc, type,ns);\r
- \r
- strucAnn.put(type, newStruc);\r
- seqAnn.put(acc, strucAnn);\r
- }\r
-// }\r
- else\r
- {\r
- System.err\r
- .println("Warning - couldn't parse sequence annotation row line:\n"\r
- + line);\r
- // throw new IOException("Error parsing " + line);\r
- }\r
- }\r
- else\r
- {\r
- throw new IOException("Unknown annotation detected: " + annType\r
- + " " + annContent);\r
- }\r
- }\r
- }\r
- if (treeString.length() > 0)\r
- {\r
- if (treeName == null)\r
- {\r
- treeName = "Tree " + (1 + getTreeCount());\r
- }\r
- addNewickTree(treeName, treeString.toString());\r
- }\r
- }\r
-\r
-/**\r
- * Demangle an accession string and guess the originating sequence database for a given sequence\r
- * @param seqO sequence to be annotated\r
- * @param dbr Accession string for sequence\r
- * @param dbsource source database for alignment (PFAM or RFAM)\r
- */\r
- private void guessDatabaseFor(Sequence seqO, String dbr, String dbsource)\r
- {\r
- DBRefEntry dbrf=null;\r
- List<DBRefEntry> dbrs=new ArrayList<DBRefEntry>();\r
- String seqdb="Unknown",sdbac=""+dbr;\r
- int st=-1,en=-1,p;\r
- if ((st=sdbac.indexOf("/"))>-1)\r
- {\r
- String num,range=sdbac.substring(st+1);\r
- sdbac = sdbac.substring(0,st);\r
- if ((p=range.indexOf("-"))>-1)\r
- {\r
- p++;\r
- if (p<range.length())\r
- {\r
- num = range.substring(p).trim();\r
- try {\r
- en = Integer.parseInt(num);\r
- } catch (NumberFormatException x)\r
- {\r
- // could warn here that index is invalid\r
- en = -1;\r
- }\r
- }\r
- } else {\r
- p=range.length();\r
- }\r
- num=range.substring(0,p).trim();\r
- try {\r
- st = Integer.parseInt(num);\r
- } catch (NumberFormatException x)\r
- {\r
- // could warn here that index is invalid\r
- st = -1;\r
- }\r
- }\r
- if (dbsource.equals("PFAM")) {\r
- seqdb = "UNIPROT";\r
- if (sdbac.indexOf(".")>-1)\r
- {\r
- // strip of last subdomain\r
- sdbac = sdbac.substring(0,sdbac.indexOf("."));\r
- dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);\r
- if (dbrf!=null)\r
- {\r
- dbrs.add(dbrf);\r
- }\r
- }\r
- dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);\r
- if (dbr!=null)\r
- {\r
- dbrs.add(dbrf);\r
- }\r
- } else {\r
- seqdb = "EMBL"; // total guess - could be ENA, or something else these days\r
- if (sdbac.indexOf(".")>-1)\r
- {\r
- // strip off last subdomain\r
- sdbac = sdbac.substring(0,sdbac.indexOf("."));\r
- dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);\r
- if (dbrf!=null)\r
- {\r
- dbrs.add(dbrf);\r
- }\r
- }\r
- \r
- dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);\r
- if (dbrf!=null)\r
- {\r
- dbrs.add(dbrf);\r
- }\r
- }\r
- if (st!=-1 && en!=-1)\r
- {\r
- for (DBRefEntry d:dbrs)\r
- {\r
- jalview.util.MapList mp = new jalview.util.MapList(new int[] { seqO.getStart(),seqO.getEnd()},new int[] { st,en},1,1);\r
- jalview.datamodel.Mapping mping = new Mapping(mp);\r
- d.setMap(mping);\r
- }\r
- }\r
- }\r
-\r
- protected static AlignmentAnnotation parseAnnotationRow(\r
- Vector annotation, String label, String annots)\r
- {\r
- String convert1, convert2 = null;\r
-\r
- // Convert all bracket types to parentheses\r
- Regex openparen = new Regex("(<|\\[)", "(");\r
- Regex closeparen = new Regex("(>|\\])", ")");\r
-\r
- // Detect if file is RNA by looking for bracket types\r
- Regex detectbrackets = new Regex("(<|>|\\[|\\]|\\(|\\))");\r
-\r
- convert1 = openparen.replaceAll(annots);\r
- convert2 = closeparen.replaceAll(convert1);\r
- annots = convert2;\r
-\r
- String type = label;\r
- if (label.contains("_cons"))\r
- {\r
- type = (label.indexOf("_cons") == label.length() - 5) ? label\r
- .substring(0, label.length() - 5) : label;\r
- }\r
- boolean ss = false;\r
- type = id2type(type);\r
- if (type.equals("secondary structure"))\r
- {\r
- ss = true;\r
- }\r
- // decide on secondary structure or not.\r
- Annotation[] els = new Annotation[annots.length()];\r
- for (int i = 0; i < annots.length(); i++)\r
- {\r
- String pos = annots.substring(i, i + 1);\r
- Annotation ann;\r
- ann = new Annotation(pos, "", ' ', 0f); // 0f is 'valid' null - will not\r
- // be written out\r
- if (ss)\r
- {\r
- if (detectbrackets.search(pos))\r
- {\r
- ann.secondaryStructure = jalview.schemes.ResidueProperties\r
- .getRNASecStrucState(pos).charAt(0);\r
- }\r
- else\r
- {\r
- ann.secondaryStructure = jalview.schemes.ResidueProperties\r
- .getDssp3state(pos).charAt(0);\r
- }\r
-\r
- if (ann.secondaryStructure == pos.charAt(0) || pos.charAt(0) == 'C')\r
- {\r
- ann.displayCharacter = ""; // null; // " ";\r
- }\r
- else\r
- {\r
- ann.displayCharacter = " " + ann.displayCharacter;\r
- }\r
- }\r
-\r
- els[i] = ann;\r
- }\r
- AlignmentAnnotation annot = null;\r
- Enumeration e = annotation.elements();\r
- while (e.hasMoreElements())\r
- {\r
- annot = (AlignmentAnnotation) e.nextElement();\r
- if (annot.label.equals(type))\r
- break;\r
- annot = null;\r
- }\r
- if (annot == null)\r
- {\r
- annot = new AlignmentAnnotation(type, type, els);\r
- annotation.addElement(annot);\r
- }\r
- else\r
- {\r
- Annotation[] anns = new Annotation[annot.annotations.length\r
- + els.length];\r
- System.arraycopy(annot.annotations, 0, anns, 0,\r
- annot.annotations.length);\r
- System.arraycopy(els, 0, anns, annot.annotations.length, els.length);\r
- annot.annotations = anns;\r
- // System.out.println("else: ");\r
- }\r
- return annot;\r
- }\r
-\r
+ public StockholmFile(String inFile, String type) throws IOException
+ {
+ super(inFile, type);
+ }
+
+ public StockholmFile(FileParse source) throws IOException
+ {
+ super(source);
+ }
+
+ public void initData()
+ {
+ super.initData();
+ }
+ /**
+ * Parse a file in Stockholm format into Jalview's data model using VARNA
+ *
+ * @throws IOException
+ * If there is an error with the input file
+ */
+ public void parse_with_VARNA(java.io.File inFile) throws IOException
+ {
+ FileReader fr = null;
+ fr = new FileReader(inFile);
+
+ BufferedReader r = new BufferedReader(fr);
+ result = null;
+ try
+ {
+ result = RNAFactory.loadSecStrStockholm(r);
+ } catch (ExceptionUnmatchedClosingParentheses umcp)
+ {
+ errormessage = "Unmatched parentheses in annotation. Aborting ("
+ + umcp.getMessage() + ")";
+ throw new IOException(umcp);
+ }
+ // DEBUG System.out.println("this is the secondary scructure:"
+ // +result.size());
+ SequenceI[] seqs = new SequenceI[result.size()];
+ String id=null;
+ for (int i = 0; i < result.size(); i++)
+ {
+ // DEBUG System.err.println("Processing i'th sequence in Stockholm file")
+ RNA current = result.get(i);
+
+ String seq = current.getSeq();
+ String rna = current.getStructDBN(true);
+ // DEBUG System.out.println(seq);
+ // DEBUG System.err.println(rna);
+ int begin = 0;
+ int end = seq.length() - 1;
+ id = safeName(getDataName());
+ seqs[i] = new Sequence(id, seq, begin, end);
+ String[] annot = new String[rna.length()];
+ Annotation[] ann = new Annotation[rna.length()];
+ for (int j = 0; j < rna.length(); j++)
+ {
+ annot[j] = rna.substring(j, j + 1);
+
+ }
+
+ for (int k = 0; k < rna.length(); k++)
+ {
+ ann[k] = new Annotation(annot[k], "",
+ jalview.schemes.ResidueProperties.getRNASecStrucState(
+ annot[k]).charAt(0), 0f);
+
+ }
+ AlignmentAnnotation align = new AlignmentAnnotation("Sec. str.",
+ current.getID(), ann);
+
+ seqs[i].addAlignmentAnnotation(align);
+ seqs[i].setRNA(result.get(i));
+ this.annotations.addElement(align);
+ }
+ this.setSeqs(seqs);
+
+ }
+
+
+ /**
+ * Parse a file in Stockholm format into Jalview's data model. The file has to
+ * be passed at construction time
+ *
+ * @throws IOException
+ * If there is an error with the input file
+ */
+ public void parse() throws IOException
+ {
+ StringBuffer treeString = new StringBuffer();
+ String treeName = null;
+ // --------------- Variable Definitions -------------------
+ String line;
+ String version;
+ // String id;
+ Hashtable seqAnn = new Hashtable(); // Sequence related annotations
+ Hashtable seqs = new Hashtable();
+ Regex p, r, rend, s, x;
+ // Temporary line for processing RNA annotation
+ // String RNAannot = "";
+
+ // ------------------ Parsing File ----------------------
+ // First, we have to check that this file has STOCKHOLM format, i.e. the
+ // first line must match
+
+
+ r = new Regex("# STOCKHOLM ([\\d\\.]+)");
+ if (!r.search(nextLine()))
+ {
+ throw new IOException(
+ "This file is not in valid STOCKHOLM format: First line does not contain '# STOCKHOLM'");
+ }
+ else
+ {
+ version = r.stringMatched(1);
+
+ // logger.debug("Stockholm version: " + version);
+ }
+
+ // We define some Regexes here that will be used regularily later
+ rend = new Regex("^\\s*\\/\\/"); // Find the end of an alignment
+ p = new Regex("(\\S+)\\/(\\d+)\\-(\\d+)"); // split sequence id in
+ // id/from/to
+ s = new Regex("(\\S+)\\s+(\\S*)\\s+(.*)"); // Parses annotation subtype
+ r = new Regex("#=(G[FSRC]?)\\s+(.*)"); // Finds any annotation line
+ x = new Regex("(\\S+)\\s+(\\S+)"); // split id from sequence
+
+ // Convert all bracket types to parentheses (necessary for passing to VARNA)
+ Regex openparen = new Regex("(<|\\[)", "(");
+ Regex closeparen = new Regex("(>|\\])", ")");
+
+ // Detect if file is RNA by looking for bracket types
+ Regex detectbrackets = new Regex("(<|>|\\[|\\]|\\(|\\))");
+
+ rend.optimize();
+ p.optimize();
+ s.optimize();
+ r.optimize();
+ x.optimize();
+ openparen.optimize();
+ closeparen.optimize();
+
+ while ((line = nextLine()) != null)
+ {
+ if (line.length() == 0)
+ {
+ continue;
+ }
+ if (rend.search(line))
+ {
+ // End of the alignment, pass stuff back
+ this.noSeqs = seqs.size();
+
+ String seqdb,dbsource = null;
+ Regex pf = new Regex("PF[0-9]{5}(.*)"); // Finds AC for Pfam
+ Regex rf = new Regex("RF[0-9]{5}(.*)"); // Finds AC for Rfam
+ if (getAlignmentProperty("AC") != null)
+ {
+ String dbType = getAlignmentProperty("AC").toString();
+ if (pf.search(dbType))
+ {
+ // PFAM Alignment - so references are typically from Uniprot
+ dbsource = "PFAM";
+ }
+ else if (rf.search(dbType))
+ {
+ dbsource = "RFAM";
+ }
+ }
+ // logger.debug("Number of sequences: " + this.noSeqs);
+ Enumeration accs = seqs.keys();
+ while (accs.hasMoreElements())
+ {
+ String acc = (String) accs.nextElement();
+ // logger.debug("Processing sequence " + acc);
+ String seq = (String) seqs.remove(acc);
+ if (maxLength < seq.length())
+ {
+ maxLength = seq.length();
+ }
+ int start = 1;
+ int end = -1;
+ String sid = acc;
+ /*
+ * Retrieve hash of annotations for this accession Associate
+ * Annotation with accession
+ */
+ Hashtable accAnnotations = null;
+
+ if (seqAnn != null && seqAnn.containsKey(acc))
+ {
+ accAnnotations = (Hashtable) seqAnn.remove(acc);
+ //TODO: add structures to sequence
+ }
+
+ // Split accession in id and from/to
+ if (p.search(acc))
+ {
+ sid = p.stringMatched(1);
+ start = Integer.parseInt(p.stringMatched(2));
+ end = Integer.parseInt(p.stringMatched(3));
+ }
+ // logger.debug(sid + ", " + start + ", " + end);
+
+ Sequence seqO = new Sequence(sid, seq, start, end);
+ // Add Description (if any)
+ if (accAnnotations != null && accAnnotations.containsKey("DE"))
+ {
+ String desc = (String) accAnnotations.get("DE");
+ seqO.setDescription((desc == null) ? "" : desc);
+ }
+ // Add DB References (if any)
+ if (accAnnotations != null && accAnnotations.containsKey("DR"))
+ {
+ String dbr = (String) accAnnotations.get("DR");
+ if (dbr != null && dbr.indexOf(";") > -1)
+ {
+ String src = dbr.substring(0, dbr.indexOf(";"));
+ String acn = dbr.substring(dbr.indexOf(";") + 1);
+ jalview.util.DBRefUtils.parseToDbRef(seqO, src, "0", acn);
+ }
+ }
+
+ if (accAnnotations != null && accAnnotations.containsKey("AC"))
+ {
+ if (dbsource != null)
+ {
+ String dbr = (String) accAnnotations.get("AC");
+ if (dbr != null)
+ {
+ // we could get very clever here - but for now - just try to guess accession type from source of alignment plus structure of accession
+ guessDatabaseFor(seqO, dbr, dbsource);
+
+ }
+ }
+ // else - do what ? add the data anyway and prompt the user to specify what references these are ?
+ }
+
+ Hashtable features = null;
+ // We need to adjust the positions of all features to account for gaps
+ try
+ {
+ features = (Hashtable) accAnnotations.remove("features");
+ } catch (java.lang.NullPointerException e)
+ {
+ // loggerwarn("Getting Features for " + acc + ": " +
+ // e.getMessage());
+ // continue;
+ }
+ // if we have features
+ if (features != null)
+ {
+ int posmap[] = seqO.findPositionMap();
+ Enumeration i = features.keys();
+ while (i.hasMoreElements())
+ {
+ // TODO: parse out secondary structure annotation as annotation
+ // row
+ // TODO: parse out scores as annotation row
+ // TODO: map coding region to core jalview feature types
+ String type = i.nextElement().toString();
+ Hashtable content = (Hashtable) features.remove(type);
+
+ // add alignment annotation for this feature
+ String key = type2id(type);
+ if (key != null)
+ {
+ if (accAnnotations != null
+ && accAnnotations.containsKey(key))
+ {
+ Vector vv = (Vector) accAnnotations.get(key);
+ for (int ii = 0; ii < vv.size(); ii++)
+ {
+ AlignmentAnnotation an = (AlignmentAnnotation) vv
+ .elementAt(ii);
+ seqO.addAlignmentAnnotation(an);
+ }
+ }
+ }
+
+ Enumeration j = content.keys();
+ while (j.hasMoreElements())
+ {
+ String desc = j.nextElement().toString();
+ String ns = content.get(desc).toString();
+ char[] byChar = ns.toCharArray();
+ for (int k = 0; k < byChar.length; k++)
+ {
+ char c = byChar[k];
+ if (!(c == ' ' || c == '_' || c == '-' || c == '.')) // PFAM
+ // uses
+ // '.'
+ // for
+ // feature
+ // background
+ {
+ int new_pos = posmap[k]; // look up nearest seqeunce
+ // position to this column
+ SequenceFeature feat = new SequenceFeature(type, desc,
+ new_pos, new_pos, 0f, null);
+
+ seqO.addSequenceFeature(feat);
+ }
+ }
+ }
+
+ }
+
+ }
+ // garbage collect
+
+ // logger.debug("Adding seq " + acc + " from " + start + " to " + end
+ // + ": " + seq);
+ this.seqs.addElement(seqO);
+ }
+ return; // finished parsing this segment of source
+ }
+ else if (!r.search(line))
+ {
+ // System.err.println("Found sequence line: " + line);
+
+ // Split sequence in sequence and accession parts
+ if (!x.search(line))
+ {
+ // logger.error("Could not parse sequence line: " + line);
+ throw new IOException("Could not parse sequence line: " + line);
+ }
+ String ns = (String) seqs.get(x.stringMatched(1));
+ if (ns == null)
+ {
+ ns = "";
+ }
+ ns += x.stringMatched(2);
+
+ seqs.put(x.stringMatched(1), ns);
+ }
+ else
+ {
+ String annType = r.stringMatched(1);
+ String annContent = r.stringMatched(2);
+
+ // System.err.println("type:" + annType + " content: " + annContent);
+
+ if (annType.equals("GF"))
+ {
+ /*
+ * Generic per-File annotation, free text Magic features: #=GF NH
+ * <tree in New Hampshire eXtended format> #=GF TN <Unique identifier
+ * for the next tree> Pfam descriptions: 7. DESCRIPTION OF FIELDS
+ *
+ * Compulsory fields: ------------------
+ *
+ * AC Accession number: Accession number in form PFxxxxx.version or
+ * PBxxxxxx. ID Identification: One word name for family. DE
+ * Definition: Short description of family. AU Author: Authors of the
+ * entry. SE Source of seed: The source suggesting the seed members
+ * belong to one family. GA Gathering method: Search threshold to
+ * build the full alignment. TC Trusted Cutoff: Lowest sequence score
+ * and domain score of match in the full alignment. NC Noise Cutoff:
+ * Highest sequence score and domain score of match not in full
+ * alignment. TP Type: Type of family -- presently Family, Domain,
+ * Motif or Repeat. SQ Sequence: Number of sequences in alignment. AM
+ * Alignment Method The order ls and fs hits are aligned to the model
+ * to build the full align. // End of alignment.
+ *
+ * Optional fields: ----------------
+ *
+ * DC Database Comment: Comment about database reference. DR Database
+ * Reference: Reference to external database. RC Reference Comment:
+ * Comment about literature reference. RN Reference Number: Reference
+ * Number. RM Reference Medline: Eight digit medline UI number. RT
+ * Reference Title: Reference Title. RA Reference Author: Reference
+ * Author RL Reference Location: Journal location. PI Previous
+ * identifier: Record of all previous ID lines. KW Keywords: Keywords.
+ * CC Comment: Comments. NE Pfam accession: Indicates a nested domain.
+ * NL Location: Location of nested domains - sequence ID, start and
+ * end of insert.
+ *
+ * Obsolete fields: ----------- AL Alignment method of seed: The
+ * method used to align the seed members.
+ */
+ // Let's save the annotations, maybe we'll be able to do something
+ // with them later...
+ Regex an = new Regex("(\\w+)\\s*(.*)");
+ if (an.search(annContent))
+ {
+ if (an.stringMatched(1).equals("NH"))
+ {
+ treeString.append(an.stringMatched(2));
+ }
+ else if (an.stringMatched(1).equals("TN"))
+ {
+ if (treeString.length() > 0)
+ {
+ if (treeName == null)
+ {
+ treeName = "Tree " + (getTreeCount() + 1);
+ }
+ addNewickTree(treeName, treeString.toString());
+ }
+ treeName = an.stringMatched(2);
+ treeString = new StringBuffer();
+ }
+ setAlignmentProperty(an.stringMatched(1), an.stringMatched(2));
+ }
+ }
+ else if (annType.equals("GS"))
+ {
+ // Generic per-Sequence annotation, free text
+ /*
+ * Pfam uses these features: Feature Description ---------------------
+ * ----------- AC <accession> ACcession number DE <freetext>
+ * DEscription DR <db>; <accession>; Database Reference OS <organism>
+ * OrganiSm (species) OC <clade> Organism Classification (clade, etc.)
+ * LO <look> Look (Color, etc.)
+ */
+ if (s.search(annContent))
+ {
+ String acc = s.stringMatched(1);
+ String type = s.stringMatched(2);
+ String content = s.stringMatched(3);
+ // TODO: store DR in a vector.
+ // TODO: store AC according to generic file db annotation.
+ Hashtable ann;
+ if (seqAnn.containsKey(acc))
+ {
+ ann = (Hashtable) seqAnn.get(acc);
+ }
+ else
+ {
+ ann = new Hashtable();
+ }
+ ann.put(type, content);
+ seqAnn.put(acc, ann);
+ }
+ else
+ {
+ throw new IOException("Error parsing " + line);
+ }
+ }
+ else if (annType.equals("GC"))
+ {
+ // Generic per-Column annotation, exactly 1 char per column
+ // always need a label.
+ if (x.search(annContent))
+ {
+ // parse out and create alignment annotation directly.
+ parseAnnotationRow(annotations, x.stringMatched(1),
+ x.stringMatched(2));
+ }
+ }
+ else if (annType.equals("GR"))
+ {
+ // Generic per-Sequence AND per-Column markup, exactly 1 char per
+ // column
+ /*
+ * Feature Description Markup letters ------- -----------
+ * -------------- SS Secondary Structure [HGIEBTSCX] SA Surface
+ * Accessibility [0-9X] (0=0%-10%; ...; 9=90%-100%) TM TransMembrane
+ * [Mio] PP Posterior Probability [0-9*] (0=0.00-0.05; 1=0.05-0.15;
+ * *=0.95-1.00) LI LIgand binding [*] AS Active Site [*] IN INtron (in
+ * or after) [0-2]
+ */
+ if (s.search(annContent))
+ {
+ String acc = s.stringMatched(1);
+ String type = s.stringMatched(2);
+ String seq = new String(s.stringMatched(3));
+ String description = null;
+ // Check for additional information about the current annotation
+ // We use a simple string tokenizer here for speed
+ StringTokenizer sep = new StringTokenizer(seq, " \t");
+ description = sep.nextToken();
+ if (sep.hasMoreTokens())
+ {
+ seq = sep.nextToken();
+ }
+ else
+ {
+ seq = description;
+ description = new String();
+ }
+ // sequence id with from-to fields
+
+ Hashtable ann;
+ // Get an object with all the annotations for this sequence
+ if (seqAnn.containsKey(acc))
+ {
+ // logger.debug("Found annotations for " + acc);
+ ann = (Hashtable) seqAnn.get(acc);
+ }
+ else
+ {
+ // logger.debug("Creating new annotations holder for " + acc);
+ ann = new Hashtable();
+ seqAnn.put(acc, ann);
+ }
+ // TODO test structure, call parseAnnotationRow with vector from
+ // hashtable for specific sequence
+ Hashtable features;
+ // Get an object with all the content for an annotation
+ if (ann.containsKey("features"))
+ {
+ // logger.debug("Found features for " + acc);
+ features = (Hashtable) ann.get("features");
+ }
+ else
+ {
+ // logger.debug("Creating new features holder for " + acc);
+ features = new Hashtable();
+ ann.put("features", features);
+ }
+
+ Hashtable content;
+ if (features.containsKey(this.id2type(type)))
+ {
+ // logger.debug("Found content for " + this.id2type(type));
+ content = (Hashtable) features.get(this.id2type(type));
+ }
+ else
+ {
+ // logger.debug("Creating new content holder for " +
+ // this.id2type(type));
+ content = new Hashtable();
+ features.put(this.id2type(type), content);
+ }
+ String ns = (String) content.get(description);
+ if (ns == null)
+ {
+ ns = "";
+ }
+ ns += seq;
+ content.put(description, ns);
+
+// if(type.equals("SS")){
+ Hashtable strucAnn;
+ if (seqAnn.containsKey(acc))
+ {
+ strucAnn = (Hashtable) seqAnn.get(acc);
+ }
+ else
+ {
+ strucAnn = new Hashtable();
+ }
+
+ Vector newStruc=new Vector();
+ parseAnnotationRow(newStruc, type,ns);
+
+ strucAnn.put(type, newStruc);
+ seqAnn.put(acc, strucAnn);
+ }
+// }
+ else
+ {
+ System.err
+ .println("Warning - couldn't parse sequence annotation row line:\n"
+ + line);
+ // throw new IOException("Error parsing " + line);
+ }
+ }
+ else
+ {
+ throw new IOException("Unknown annotation detected: " + annType
+ + " " + annContent);
+ }
+ }
+ }
+ if (treeString.length() > 0)
+ {
+ if (treeName == null)
+ {
+ treeName = "Tree " + (1 + getTreeCount());
+ }
+ addNewickTree(treeName, treeString.toString());
+ }
+ }
+
+/**
+ * Demangle an accession string and guess the originating sequence database for a given sequence
+ * @param seqO sequence to be annotated
+ * @param dbr Accession string for sequence
+ * @param dbsource source database for alignment (PFAM or RFAM)
+ */
+ private void guessDatabaseFor(Sequence seqO, String dbr, String dbsource)
+ {
+ DBRefEntry dbrf=null;
+ List<DBRefEntry> dbrs=new ArrayList<DBRefEntry>();
+ String seqdb="Unknown",sdbac=""+dbr;
+ int st=-1,en=-1,p;
+ if ((st=sdbac.indexOf("/"))>-1)
+ {
+ String num,range=sdbac.substring(st+1);
+ sdbac = sdbac.substring(0,st);
+ if ((p=range.indexOf("-"))>-1)
+ {
+ p++;
+ if (p<range.length())
+ {
+ num = range.substring(p).trim();
+ try {
+ en = Integer.parseInt(num);
+ } catch (NumberFormatException x)
+ {
+ // could warn here that index is invalid
+ en = -1;
+ }
+ }
+ } else {
+ p=range.length();
+ }
+ num=range.substring(0,p).trim();
+ try {
+ st = Integer.parseInt(num);
+ } catch (NumberFormatException x)
+ {
+ // could warn here that index is invalid
+ st = -1;
+ }
+ }
+ if (dbsource.equals("PFAM")) {
+ seqdb = "UNIPROT";
+ if (sdbac.indexOf(".")>-1)
+ {
+ // strip of last subdomain
+ sdbac = sdbac.substring(0,sdbac.indexOf("."));
+ dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);
+ if (dbrf!=null)
+ {
+ dbrs.add(dbrf);
+ }
+ }
+ dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);
+ if (dbr!=null)
+ {
+ dbrs.add(dbrf);
+ }
+ } else {
+ seqdb = "EMBL"; // total guess - could be ENA, or something else these days
+ if (sdbac.indexOf(".")>-1)
+ {
+ // strip off last subdomain
+ sdbac = sdbac.substring(0,sdbac.indexOf("."));
+ dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);
+ if (dbrf!=null)
+ {
+ dbrs.add(dbrf);
+ }
+ }
+
+ dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);
+ if (dbrf!=null)
+ {
+ dbrs.add(dbrf);
+ }
+ }
+ if (st!=-1 && en!=-1)
+ {
+ for (DBRefEntry d:dbrs)
+ {
+ jalview.util.MapList mp = new jalview.util.MapList(new int[] { seqO.getStart(),seqO.getEnd()},new int[] { st,en},1,1);
+ jalview.datamodel.Mapping mping = new Mapping(mp);
+ d.setMap(mping);
+ }
+ }
+ }
+
+ protected static AlignmentAnnotation parseAnnotationRow(
+ Vector annotation, String label, String annots)
+ {
+ String convert1, convert2 = null;
+
+ // Convert all bracket types to parentheses
+ Regex openparen = new Regex("(<|\\[)", "(");
+ Regex closeparen = new Regex("(>|\\])", ")");
+
+ // Detect if file is RNA by looking for bracket types
+ Regex detectbrackets = new Regex("(<|>|\\[|\\]|\\(|\\))");
+
+ convert1 = openparen.replaceAll(annots);
+ convert2 = closeparen.replaceAll(convert1);
+ annots = convert2;
+
+ String type = label;
+ if (label.contains("_cons"))
+ {
+ type = (label.indexOf("_cons") == label.length() - 5) ? label
+ .substring(0, label.length() - 5) : label;
+ }
+ boolean ss = false;
+ type = id2type(type);
+ if (type.equals("secondary structure"))
+ {
+ ss = true;
+ }
+ // decide on secondary structure or not.
+ Annotation[] els = new Annotation[annots.length()];
+ for (int i = 0; i < annots.length(); i++)
+ {
+ String pos = annots.substring(i, i + 1);
+ Annotation ann;
+ ann = new Annotation(pos, "", ' ', 0f); // 0f is 'valid' null - will not
+ // be written out
+ if (ss)
+ {
+ if (detectbrackets.search(pos))
+ {
+ ann.secondaryStructure = jalview.schemes.ResidueProperties
+ .getRNASecStrucState(pos).charAt(0);
+ }
+ else
+ {
+ ann.secondaryStructure = jalview.schemes.ResidueProperties
+ .getDssp3state(pos).charAt(0);
+ }
+
+ if (ann.secondaryStructure == pos.charAt(0) || pos.charAt(0) == 'C')
+ {
+ ann.displayCharacter = ""; // null; // " ";
+ }
+ else
+ {
+ ann.displayCharacter = " " + ann.displayCharacter;
+ }
+ }
+
+ els[i] = ann;
+ }
+ AlignmentAnnotation annot = null;
+ Enumeration e = annotation.elements();
+ while (e.hasMoreElements())
+ {
+ annot = (AlignmentAnnotation) e.nextElement();
+ if (annot.label.equals(type))
+ break;
+ annot = null;
+ }
+ if (annot == null)
+ {
+ annot = new AlignmentAnnotation(type, type, els);
+ annotation.addElement(annot);
+ }
+ else
+ {
+ Annotation[] anns = new Annotation[annot.annotations.length
+ + els.length];
+ System.arraycopy(annot.annotations, 0, anns, 0,
+ annot.annotations.length);
+ System.arraycopy(els, 0, anns, annot.annotations.length, els.length);
+ annot.annotations = anns;
+ // System.out.println("else: ");
+ }
+ return annot;
+ }
+
public String print(SequenceI[] s)
{
// find max length of id
seq += ch;
}
else if (ch.length() > 1)
- {\r
+ {
seq += ch.charAt(1);
}
}
}
}
return out.toString();
- }\r
-\r
- public String print()\r
- {\r
+ }
+
+ public String print()
+ {
out = new StringBuffer();
out.append("# STOCKHOLM 1.0");
out.append(newline);
out.append("//");
out.append(newline);
return out.toString();
- }\r
-\r
- private static Hashtable typeIds = null;\r
- static\r
- {\r
- if (typeIds == null)\r
- {\r
- typeIds = new Hashtable();\r
- typeIds.put("SS", "secondary structure");\r
- typeIds.put("SA", "surface accessibility");\r
- typeIds.put("TM", "transmembrane");\r
- typeIds.put("PP", "posterior probability");\r
- typeIds.put("LI", "ligand binding");\r
- typeIds.put("AS", "active site");\r
- typeIds.put("IN", "intron");\r
- typeIds.put("IR", "interacting residue");\r
- typeIds.put("AC", "accession");\r
- typeIds.put("OS", "organism");\r
- typeIds.put("CL", "class");\r
- typeIds.put("DE", "description");\r
- typeIds.put("DR", "reference");\r
- typeIds.put("LO", "look");\r
- typeIds.put("RF", "reference positions");\r
-\r
- }\r
- }\r
-\r
- protected static String id2type(String id)\r
- {\r
- if (typeIds.containsKey(id))\r
- {\r
- return (String) typeIds.get(id);\r
- }\r
- System.err.println("Warning : Unknown Stockholm annotation type code "\r
- + id);\r
- return id;\r
- }\r
-\r
- protected static String type2id(String type)\r
- {\r
- String key = null;\r
- Enumeration e = typeIds.keys();\r
- while (e.hasMoreElements())\r
- {\r
- Object ll = e.nextElement();\r
- if (typeIds.get(ll).toString().equals(type))\r
- {\r
- key = (String) ll;\r
- break;\r
- }\r
- }\r
- if (key != null)\r
- {\r
- return (String) key;\r
- }\r
- System.err.println("Warning : Unknown Stockholm annotation type: "\r
- + type);\r
- return key;\r
}
- /**\r
- * make a friendly ID string.\r
- * \r
- * @param dataName\r
- * @return truncated dataName to after last '/'\r
- */\r
- private String safeName(String dataName)\r
- {\r
- int b = 0;\r
- while ((b = dataName.indexOf("/")) > -1 && b < dataName.length())\r
- {\r
- dataName = dataName.substring(b + 1).trim();\r
-\r
- }\r
- int e = (dataName.length() - dataName.indexOf(".")) + 1;\r
- dataName = dataName.substring(1, e).trim();\r
- return dataName;\r
- }\r
-}\r
+
+ private static Hashtable typeIds = null;
+ static
+ {
+ if (typeIds == null)
+ {
+ typeIds = new Hashtable();
+ typeIds.put("SS", "secondary structure");
+ typeIds.put("SA", "surface accessibility");
+ typeIds.put("TM", "transmembrane");
+ typeIds.put("PP", "posterior probability");
+ typeIds.put("LI", "ligand binding");
+ typeIds.put("AS", "active site");
+ typeIds.put("IN", "intron");
+ typeIds.put("IR", "interacting residue");
+ typeIds.put("AC", "accession");
+ typeIds.put("OS", "organism");
+ typeIds.put("CL", "class");
+ typeIds.put("DE", "description");
+ typeIds.put("DR", "reference");
+ typeIds.put("LO", "look");
+ typeIds.put("RF", "reference positions");
+
+ }
+ }
+
+ protected static String id2type(String id)
+ {
+ if (typeIds.containsKey(id))
+ {
+ return (String) typeIds.get(id);
+ }
+ System.err.println("Warning : Unknown Stockholm annotation type code "
+ + id);
+ return id;
+ }
+
+ protected static String type2id(String type)
+ {
+ String key = null;
+ Enumeration e = typeIds.keys();
+ while (e.hasMoreElements())
+ {
+ Object ll = e.nextElement();
+ if (typeIds.get(ll).toString().equals(type))
+ {
+ key = (String) ll;
+ break;
+ }
+ }
+ if (key != null)
+ {
+ return (String) key;
+ }
+ System.err.println("Warning : Unknown Stockholm annotation type: "
+ + type);
+ return key;
+ }
+ /**
+ * make a friendly ID string.
+ *
+ * @param dataName
+ * @return truncated dataName to after last '/'
+ */
+ private String safeName(String dataName)
+ {
+ int b = 0;
+ while ((b = dataName.indexOf("/")) > -1 && b < dataName.length())
+ {
+ dataName = dataName.substring(b + 1).trim();
+
+ }
+ int e = (dataName.length() - dataName.indexOf(".")) + 1;
+ dataName = dataName.substring(1, e).trim();
+ return dataName;
+ }
+}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*******************************************************************************
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
}
static
{
- int[][][] propMatrix = new int[3][maxProteinIndex][maxProteinIndex];
+ int[][] propMatrixF = new int[maxProteinIndex][maxProteinIndex],
+ propMatrixPos = new int[maxProteinIndex][maxProteinIndex],
+ propMatrixEpos = new int[maxProteinIndex][maxProteinIndex];
for (int i=0;i<maxProteinIndex;i++)
{
+ int maxF=0,maxP=0,maxEP=0;
String ic="";
- if (aa.length<i) {
+ if (aa.length>i) {
ic+=aa[i];
}
else {ic = "-";}
- propMatrix[0][i][i]=propHash.size();
- propMatrix[1][i][i]=propHash.size();
- propMatrix[2][i][i]=propHash.size();
for (int j=i+1;j<maxProteinIndex; j++)
{
String jc="";
- if (aa.length<j) {
+ if (aa.length>j) {
jc+=aa[j];
}
else {jc = "-";}
- propMatrix[0][i][j]=0;
- propMatrix[1][i][j]=0;
- propMatrix[2][i][j]=0;
+ propMatrixF[i][j]=0;
+ propMatrixPos[i][j]=0;
+ propMatrixEpos[i][j]=0;
for (Enumeration<String> en= (Enumeration<String>)propHash.keys(); en.hasMoreElements(); )
{
String ph = en.nextElement();
Map<String,Integer> pph=(Map<String,Integer>)propHash.get(ph);
- propMatrix[0][i][j]+= pph.get(ic).equals(pph.get(jc)) ? pph.get(ic) : -1;
- propMatrix[1][i][j]+= pph.get(ic).equals(pph.get(jc)) ? 1 : -1;
- propMatrix[2][i][j]+= pph.get(ic).equals(pph.get(jc)) ? pph.get(ic)*2 : 0;
+ if (pph.get(ic)!=null && pph.get(jc)!=null) {
+ int icp=pph.get(ic).intValue(),jcp=pph.get(jc).intValue();
+ // Still working on these definitions.
+ propMatrixPos[i][j] += icp == jcp && icp>0 ? 2 : 0;
+ propMatrixPos[j][i] += icp == jcp && icp>0 ? 2 : 0;
+ propMatrixF[i][j] += icp == jcp ? 2 : 0;
+ propMatrixF[j][i] += icp == jcp ? 2 : 0;
+ propMatrixEpos[i][j] += icp == jcp ? (1+icp * 2) : 0;
+ propMatrixEpos[j][i] += icp == jcp ? (1+icp * 2) : 0;
+ }}
+ if (maxF<propMatrixF[i][j])
+ {
+ maxF=propMatrixF[i][j];
+ }
+ if (maxP<propMatrixPos[i][j])
+ {
+ maxP=propMatrixPos[i][j];
+ }
+ if (maxEP<propMatrixEpos[i][j])
+ {
+ maxEP=propMatrixEpos[i][j];
}
}
+ propMatrixF[i][i]=maxF;
+ propMatrixPos[i][i]=maxP;
+ propMatrixEpos[i][i]=maxEP;
}
-
- scoreMatrices.put("Conservation Pos", new ScoreMatrix("Conservation Pos",propMatrix[0],0));
- scoreMatrices.put("Conservation Both", new ScoreMatrix("Conservation Both",propMatrix[1],0));
- scoreMatrices.put("Conservation EnhPos", new ScoreMatrix("Conservation EnhPos",propMatrix[2],0));
+ // JAL-1512 comment out physicochemical score matrices for 2.8.1 release
+ //scoreMatrices.put("Conservation Pos", new ScoreMatrix("Conservation Pos",propMatrixPos,0));
+ //scoreMatrices.put("Conservation Both", new ScoreMatrix("Conservation Both",propMatrixF,0));
+ //scoreMatrices.put("Conservation EnhPos", new ScoreMatrix("Conservation EnhPos",propMatrixEpos,0));
scoreMatrices.put("PID", new PIDScoreModel());
}
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
boolean header = true;
if (html)
{
- sb.append("<table>");
+ sb.append("<table border=\"1\">");
}
for (char sym = 'A'; sym <= 'Z'; sym++)
{
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
#!/usr/bin/perl
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
#-------------------------------------------------------------------------------
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
<html>
<!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
#!/usr/bin/perl
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
#!/bin/perl
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.
#!/usr/bin/perl
##
-# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+# Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
# Copyright (C) 2014 The Jalview Authors
#
# This file is part of Jalview.