JAL-1551 crlf changes due to checkout with text=auto
authorJim Procter <j.procter@dundee.ac.uk>
Wed, 15 Oct 2014 14:27:12 +0000 (15:27 +0100)
committerJim Procter <j.procter@dundee.ac.uk>
Wed, 15 Oct 2014 14:46:33 +0000 (15:46 +0100)
24 files changed:
JalviewApplet.jpx
JalviewX.jpx
RELEASE
doc/i18n.html
examples-jbake/assets/1gaq.txt
examples-jbake/assets/ferredoxin.nw
examples-jbake/assets/javascript/jshashtable-2.1.js
examples-jbake/assets/jmol/Jmol.js
examples-jbake/assets/uniref50.fa
examples/1gaq.txt
examples/ferredoxin.nw
examples/groovy/JvLoadTestHarness.groovy
examples/groovy/JvLoadTester.groovy
examples/groovy/printtitle.groovy
examples/javascript/jshashtable-2.1.js
examples/jmol/Jmol.js
examples/uniref50.fa
help/help.hs
resources/lang/Messages_es.properties
src/castor.properties
src/jalview/datamodel/SequenceI.java
test/jalview/ws/PDBSequenceFetcherTest.java
utils/.cvsignore
utils/splitstockholm.pl

index 0044ab6..e7186e5 100755 (executable)
@@ -1,75 +1,75 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--JBuilder XML Project-->\r
-<project>\r
-  <property category="debug.0" name="SmartStepRedefineClasses" value="0"/>\r
-  <property category="debug.0" name="SmartStepSkipStaticInitializers" value="0"/>\r
-  <property category="debug.0" name="SmartStepSkipSynthetics" value="0"/>\r
-  <property category="editor.general" name="line_ending.style" value="2"/>\r
-  <property category="generalFormatting" name="lineEndingStyle" value="2"/>\r
-  <property category="generalFormatting2" name="lineEndingStyle" value="2"/>\r
-  <property category="generalFormatting2" name="overrideBasicFormatting" value="1"/>\r
-  <property category="javaFormatting" name="classBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="methodBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="otherBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="packagePrefixGroups" value="java;javax;BLANK_LINE;java.awt;javax.swing;BLANK_LINE;org;(*)"/>\r
-  <property category="javaFormatting" name="throwsOnNewLine" value="1"/>\r
-  <property category="javadoc" name="custom.tags.1" value="todo;a;To Do:"/>\r
-  <property category="runtime" name="DefaultConfiguration" value="-1"/>\r
-  <property category="runtime.0" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>\r
-  <property category="runtime.0" name="ConfigurationName" value="Applet"/>\r
-  <property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.AppletRunner"/>\r
-  <property category="runtime.0" name="applet.appletviewer" value="1"/>\r
-  <property category="runtime.0" name="applet.class" value="jalview.bin.JalviewLite"/>\r
-  <property category="runtime.0" name="applet.html" value="classes/applet.html"/>\r
-  <property category="serverservices" name="single.server.name" value="Tomcat 4.0"/>\r
-  <property category="sys" name="AuthorLabel" value="@author"/>\r
-  <property category="sys" name="BackupPath" value="bak"/>\r
-  <property category="sys" name="CheckStable" value="1"/>\r
-  <property category="sys" name="Company" value=""/>\r
-  <property category="sys" name="CompanyLabel" value="Company:"/>\r
-  <property category="sys" name="Copyright" value="Copyright (c) 2004"/>\r
-  <property category="sys" name="CopyrightLabel" value="Copyright:"/>\r
-  <property category="sys" name="DefaultPath" value="src"/>\r
-  <property category="sys" name="Description" value=""/>\r
-  <property category="sys" name="DescriptionLabel" value="Description:"/>\r
-  <property category="sys" name="DocPath" value="doc"/>\r
-  <property category="sys" name="ExcludeClassEnabled" value="0"/>\r
-  <property category="sys" name="IncludeTestPath" value="1"/>\r
-  <property category="sys" name="InstanceVisibility" value="2"/>\r
-  <property category="sys" name="JDK" value="java version 1.1.8_010"/>\r
-  <property category="sys" name="LastTag" value="0"/>\r
-  <property category="sys" name="Libraries" value=""/>\r
-  <property category="sys" name="MakeStable" value="0"/>\r
-  <property category="sys" name="OutPath" value="classes"/>\r
-  <property category="sys" name="SourcePath" value="src;test"/>\r
-  <property category="sys" name="TestPath" value="src"/>\r
-  <property category="sys" name="Title" value=""/>\r
-  <property category="sys" name="TitleLabel" value="Title:"/>\r
-  <property category="sys" name="Version" value="1.0"/>\r
-  <property category="sys" name="VersionLabel" value="@version"/>\r
-  <property category="sys" name="WorkingDirectory" value="."/>\r
-  <property category="sys" name="enable.auto.packages" value="false"/>\r
-  <node name="jalview.appletgui" type="Package"/>\r
-  <node name="jalview.datamodel" type="Package"/>\r
-  <node name="jalview.jbappletgui" type="Package"/>\r
-  <node name="jalview.math" type="Package"/>\r
-  <node name="jalview.schemes" type="Package"/>\r
-  <file path="src/jalview/analysis/AAFrequency.java"/>\r
-  <file path="src/jalview/io/AlignFile.java"/>\r
-  <file path="src/jalview/analysis/AlignmentSorter.java"/>\r
-  <file path="src/jalview/analysis/AlignSeq.java"/>\r
-  <file path="src/jalview/io/BLCFile.java"/>\r
-  <file path="src/jalview/io/ClustalFile.java"/>\r
-  <file path="src/jalview/analysis/Conservation.java"/>\r
-  <file path="src/jalview/io/FastaFile.java"/>\r
-  <file path="src/jalview/io/FileParse.java"/>\r
-  <file path="src/jalview/io/FormatAdapter.java"/>\r
-  <file path="src/jalview/io/IdentifyFile.java"/>\r
-  <file path="src/jalview/bin/JalviewLite.java"/>\r
-  <file path="src/jalview/io/MSFfile.java"/>\r
-  <file path="src/jalview/io/NewickFile.java"/>\r
-  <file path="src/jalview/analysis/NJTree.java"/>\r
-  <file path="src/jalview/analysis/PCA.java"/>\r
-  <file path="src/jalview/io/PfamFile.java"/>\r
-  <file path="src/jalview/io/PIRFile.java"/>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--JBuilder XML Project-->
+<project>
+  <property category="debug.0" name="SmartStepRedefineClasses" value="0"/>
+  <property category="debug.0" name="SmartStepSkipStaticInitializers" value="0"/>
+  <property category="debug.0" name="SmartStepSkipSynthetics" value="0"/>
+  <property category="editor.general" name="line_ending.style" value="2"/>
+  <property category="generalFormatting" name="lineEndingStyle" value="2"/>
+  <property category="generalFormatting2" name="lineEndingStyle" value="2"/>
+  <property category="generalFormatting2" name="overrideBasicFormatting" value="1"/>
+  <property category="javaFormatting" name="classBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="methodBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="otherBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="packagePrefixGroups" value="java;javax;BLANK_LINE;java.awt;javax.swing;BLANK_LINE;org;(*)"/>
+  <property category="javaFormatting" name="throwsOnNewLine" value="1"/>
+  <property category="javadoc" name="custom.tags.1" value="todo;a;To Do:"/>
+  <property category="runtime" name="DefaultConfiguration" value="-1"/>
+  <property category="runtime.0" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>
+  <property category="runtime.0" name="ConfigurationName" value="Applet"/>
+  <property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.AppletRunner"/>
+  <property category="runtime.0" name="applet.appletviewer" value="1"/>
+  <property category="runtime.0" name="applet.class" value="jalview.bin.JalviewLite"/>
+  <property category="runtime.0" name="applet.html" value="classes/applet.html"/>
+  <property category="serverservices" name="single.server.name" value="Tomcat 4.0"/>
+  <property category="sys" name="AuthorLabel" value="@author"/>
+  <property category="sys" name="BackupPath" value="bak"/>
+  <property category="sys" name="CheckStable" value="1"/>
+  <property category="sys" name="Company" value=""/>
+  <property category="sys" name="CompanyLabel" value="Company:"/>
+  <property category="sys" name="Copyright" value="Copyright (c) 2004"/>
+  <property category="sys" name="CopyrightLabel" value="Copyright:"/>
+  <property category="sys" name="DefaultPath" value="src"/>
+  <property category="sys" name="Description" value=""/>
+  <property category="sys" name="DescriptionLabel" value="Description:"/>
+  <property category="sys" name="DocPath" value="doc"/>
+  <property category="sys" name="ExcludeClassEnabled" value="0"/>
+  <property category="sys" name="IncludeTestPath" value="1"/>
+  <property category="sys" name="InstanceVisibility" value="2"/>
+  <property category="sys" name="JDK" value="java version 1.1.8_010"/>
+  <property category="sys" name="LastTag" value="0"/>
+  <property category="sys" name="Libraries" value=""/>
+  <property category="sys" name="MakeStable" value="0"/>
+  <property category="sys" name="OutPath" value="classes"/>
+  <property category="sys" name="SourcePath" value="src;test"/>
+  <property category="sys" name="TestPath" value="src"/>
+  <property category="sys" name="Title" value=""/>
+  <property category="sys" name="TitleLabel" value="Title:"/>
+  <property category="sys" name="Version" value="1.0"/>
+  <property category="sys" name="VersionLabel" value="@version"/>
+  <property category="sys" name="WorkingDirectory" value="."/>
+  <property category="sys" name="enable.auto.packages" value="false"/>
+  <node name="jalview.appletgui" type="Package"/>
+  <node name="jalview.datamodel" type="Package"/>
+  <node name="jalview.jbappletgui" type="Package"/>
+  <node name="jalview.math" type="Package"/>
+  <node name="jalview.schemes" type="Package"/>
+  <file path="src/jalview/analysis/AAFrequency.java"/>
+  <file path="src/jalview/io/AlignFile.java"/>
+  <file path="src/jalview/analysis/AlignmentSorter.java"/>
+  <file path="src/jalview/analysis/AlignSeq.java"/>
+  <file path="src/jalview/io/BLCFile.java"/>
+  <file path="src/jalview/io/ClustalFile.java"/>
+  <file path="src/jalview/analysis/Conservation.java"/>
+  <file path="src/jalview/io/FastaFile.java"/>
+  <file path="src/jalview/io/FileParse.java"/>
+  <file path="src/jalview/io/FormatAdapter.java"/>
+  <file path="src/jalview/io/IdentifyFile.java"/>
+  <file path="src/jalview/bin/JalviewLite.java"/>
+  <file path="src/jalview/io/MSFfile.java"/>
+  <file path="src/jalview/io/NewickFile.java"/>
+  <file path="src/jalview/analysis/NJTree.java"/>
+  <file path="src/jalview/analysis/PCA.java"/>
+  <file path="src/jalview/io/PfamFile.java"/>
+  <file path="src/jalview/io/PIRFile.java"/>
+</project>
index 239991a..cb2e19b 100755 (executable)
@@ -1,47 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<!--JBuilder XML Project-->\r
-<project>\r
-  <property category="debug.0" name="SmartStepRedefineClasses" value="0"/>\r
-  <property category="debug.0" name="SmartStepSkipStaticInitializers" value="0"/>\r
-  <property category="debug.0" name="SmartStepSkipSynthetics" value="0"/>\r
-  <property category="generalFormatting2" name="overrideBasicFormatting" value="1"/>\r
-  <property category="javaFormatting" name="EventStyle" value="0"/>\r
-  <property category="javaFormatting" name="classBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="methodBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="otherBraceNextLine" value="1"/>\r
-  <property category="javaFormatting" name="packagePrefixGroups" value="java;javax;BLANK_LINE;java.awt;javax.swing;BLANK_LINE;org;(*)"/>\r
-  <property category="javaFormatting" name="throwsOnNewLine" value="1"/>\r
-  <property category="optimize.0" name="OptimizableType" value="com.borland.jbuilder.optimize.IntroOptimizeitProfiler"/>\r
-  <property category="runtime.0" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>\r
-  <property category="runtime.0" name="ConfigurationName" value="JalviewX"/>\r
-  <property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.ApplicationRunner"/>\r
-  <property category="runtime.0" name="application.class" value="jalview.bin.Jalview"/>\r
-  <property category="serverservices" name="single.server.name" value="Tomcat 4.0"/>\r
-  <property category="sys" name="AuthorLabel" value="@author"/>\r
-  <property category="sys" name="BackupPath" value="bak"/>\r
-  <property category="sys" name="Company" value="Dundee University"/>\r
-  <property category="sys" name="CompanyLabel" value="Company:"/>\r
-  <property category="sys" name="Copyright" value="Copyright (c) 2004"/>\r
-  <property category="sys" name="CopyrightLabel" value="Copyright:"/>\r
-  <property category="sys" name="DefaultPath" value="src"/>\r
-  <property category="sys" name="Description" value=""/>\r
-  <property category="sys" name="DescriptionLabel" value="Description:"/>\r
-  <property category="sys" name="DocPath" value="doc"/>\r
-  <property category="sys" name="ExcludeClassEnabled" value="0"/>\r
-  <property category="sys" name="IncludeTestPath" value="1"/>\r
-  <property category="sys" name="JDK" value="java version 1.4.2_04-b05"/>\r
-  <property category="sys" name="JvmVersion" value="1.4"/>\r
-  <property category="sys" name="Libraries" value="all"/>\r
-  <property category="sys" name="OutPath" value="classes"/>\r
-  <property category="sys" name="SourcePath" value="src;test"/>\r
-  <property category="sys" name="SourceVersion" value="1.4"/>\r
-  <property category="sys" name="TestPath" value="test"/>\r
-  <property category="sys" name="Title" value=""/>\r
-  <property category="sys" name="TitleLabel" value="Title:"/>\r
-  <property category="sys" name="Version" value="1.0"/>\r
-  <property category="sys" name="VersionLabel" value="@version"/>\r
-  <property category="sys" name="WorkingDirectory" value="."/>\r
-  <property category="sys" name="uidesign.size.jalview.jbgui.GPreferences" value="453,333"/>\r
-  <property category="sys" name="uidesign.size.jalview.jbgui.GSequenceLink" value="400,112"/>\r
-  <file path="build.xml"/>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<!--JBuilder XML Project-->
+<project>
+  <property category="debug.0" name="SmartStepRedefineClasses" value="0"/>
+  <property category="debug.0" name="SmartStepSkipStaticInitializers" value="0"/>
+  <property category="debug.0" name="SmartStepSkipSynthetics" value="0"/>
+  <property category="generalFormatting2" name="overrideBasicFormatting" value="1"/>
+  <property category="javaFormatting" name="EventStyle" value="0"/>
+  <property category="javaFormatting" name="classBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="methodBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="otherBraceNextLine" value="1"/>
+  <property category="javaFormatting" name="packagePrefixGroups" value="java;javax;BLANK_LINE;java.awt;javax.swing;BLANK_LINE;org;(*)"/>
+  <property category="javaFormatting" name="throwsOnNewLine" value="1"/>
+  <property category="optimize.0" name="OptimizableType" value="com.borland.jbuilder.optimize.IntroOptimizeitProfiler"/>
+  <property category="runtime.0" name="BuildTargetOnRun" value="com.borland.jbuilder.build.ProjectBuilder$ProjectBuildAction;make"/>
+  <property category="runtime.0" name="ConfigurationName" value="JalviewX"/>
+  <property category="runtime.0" name="RunnableType" value="com.borland.jbuilder.runtime.ApplicationRunner"/>
+  <property category="runtime.0" name="application.class" value="jalview.bin.Jalview"/>
+  <property category="serverservices" name="single.server.name" value="Tomcat 4.0"/>
+  <property category="sys" name="AuthorLabel" value="@author"/>
+  <property category="sys" name="BackupPath" value="bak"/>
+  <property category="sys" name="Company" value="Dundee University"/>
+  <property category="sys" name="CompanyLabel" value="Company:"/>
+  <property category="sys" name="Copyright" value="Copyright (c) 2004"/>
+  <property category="sys" name="CopyrightLabel" value="Copyright:"/>
+  <property category="sys" name="DefaultPath" value="src"/>
+  <property category="sys" name="Description" value=""/>
+  <property category="sys" name="DescriptionLabel" value="Description:"/>
+  <property category="sys" name="DocPath" value="doc"/>
+  <property category="sys" name="ExcludeClassEnabled" value="0"/>
+  <property category="sys" name="IncludeTestPath" value="1"/>
+  <property category="sys" name="JDK" value="java version 1.4.2_04-b05"/>
+  <property category="sys" name="JvmVersion" value="1.4"/>
+  <property category="sys" name="Libraries" value="all"/>
+  <property category="sys" name="OutPath" value="classes"/>
+  <property category="sys" name="SourcePath" value="src;test"/>
+  <property category="sys" name="SourceVersion" value="1.4"/>
+  <property category="sys" name="TestPath" value="test"/>
+  <property category="sys" name="Title" value=""/>
+  <property category="sys" name="TitleLabel" value="Title:"/>
+  <property category="sys" name="Version" value="1.0"/>
+  <property category="sys" name="VersionLabel" value="@version"/>
+  <property category="sys" name="WorkingDirectory" value="."/>
+  <property category="sys" name="uidesign.size.jalview.jbgui.GPreferences" value="453,333"/>
+  <property category="sys" name="uidesign.size.jalview.jbgui.GSequenceLink" value="400,112"/>
+  <file path="build.xml"/>
+</project>
diff --git a/RELEASE b/RELEASE
index 64bbd09..11598ab 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -1,2 +1,2 @@
-jalview.release=Release_2_8_2_Branch\r
-jalview.version=2.8.2\r
+jalview.release=Release_2_8_2_Branch
+jalview.version=2.8.2
index 0be5673..46f951d 100644 (file)
@@ -1,76 +1,76 @@
-<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
-<!--\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)\r
- * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
--->\r
-<html xmlns="http://www.w3.org/1999/xhtml">\r
-  <head>Jalview i18n</head>\r
-  <body>\r
-<h1>Best practices</h1>\r
-<ol>\r
-<li>Follow the standards described in this guide</li>\r
-<li>Always use properties files for user interface text; never include displayable text in code</li>\r
-<li>Use properties files only for user interface text (Messages_xx.properties) and config files for configuration settings (jalview.properties).</li>\r
-<li>Use a proper naming schema for keys in your resource bundles. The name of the keys should provide some information about the context of the displayed text. This helps the translators during the translation process.</li>\r
-<li>Group keys by view, ie. edit.title, edit.instructions, list.title, list.instructions, create.title, etc</li>\r
-<li>Never use displayable text when executing comparisons within the logic of the tool (separate codified values from displayable text)</li>\r
-<li>Always use the MessageManager class for retrieving properties values, and invoke MessageManager methods dynamically, to accommodate dynamic user preferences (see MessageManager below).</li>\r
-<li>All numbers and dates should be formatted specific to the user's locale (e.g. java.text.NumberFormat and java.text.DateFormat)</li>\r
-<li>Test code in more than one language</li>\r
-</ol>\r
-<h1>MessageManager</h1>\r
-<p>The jalview.util.MessageManager class is a wrapper class for the ResourceBundle class. It provides dynamic language/locale support for individual users, and is recommended for all Jalview code.</p>\r
-<p>To use it within your code, you only have to invoke MessageManager with the text key in Messages_xx.properties:</p>\r
-<p>JButton ok = new JButton(MessageManager.getString("button.ok"));</p>\r
-<p>This will set JButton text to the one included at button.ok key. In English JButton text will be OK, while in Spanish will be Aceptar. This is the big thing of i18n. :)</p>\r
-<h1>Don't rely comparisons on labels</h1>\r
-<p>Don't use this type of coding:\r
-    threshold.addItem("No Threshold");<br>\r
-    threshold.addItem("Above Threshold");<br>\r
-    threshold.addItem("Below Threshold");<br>\r
-    [...]<br>\r
-    if (threshold.getSelectedItem().equals("Above Threshold"))<br>\r
-    {</br>\r
-      aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;<br>\r
-    }<br>\r
-    else if (threshold.getSelectedItem().equals("Below Threshold"))<br>\r
-    {<br>\r
-      aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;<br>\r
-    }<br>\r
-</p>\r
-<p>Once text has been translated, these equals will fail as the label won't be the English ones. It should be used getSelectedIndex() instead of getSelectedItem(). If you do the proper way, the code will look like this:<br>\r
-    threshold.addItem(MessageManager.getString("label.threshold_feature_no_thereshold"));<br>\r
-    threshold.addItem(MessageManager.getString("label.threshold_feature_above_thereshold"));<br>\r
-    threshold.addItem(MessageManager.getString("label.threshold_feature_below_thereshold"));<br>\r
-    [...]<br>\r
-    if (threshold.getSelectedIndex()==1)<br>\r
-    {<br>\r
-      aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;<br>\r
-    }<br>\r
-    else if (threshold.getSelectedIndex()==2)<br>\r
-    {<br>\r
-      aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;<br>\r
-    }<br>    \r
-</p>\r
-<h1>How to translate Jalview</h1>\r
-<p>Anyone interested in localizing/translating Jalview is strongly encouraged to join the <a href="mailto:jalview-dev@jalview.org">Jalview Development List</a> list. We would recommend that you read this entire page before proceeding.</p>\r
-<p>If you are planning on working on a Jalview translation, please send us an email (<a href="mailto:jalview-dev@jalview.org">Jalview Development List</a>). There may be someone else already working on translating Jalview to your target language.</p>\r
-<p>Once you have downloaded the source code (available at <a href="http://www.jalview.org/download">http://www.jalview.org/download</a>), you must edit {jalview.home}/resources/lang/Messages_xx.properties, where xx refers to your language country code. If it doesn't exits, rename Messages.properties to Messages_xx.properties.</p>\r
-<p>Next step...start transtalation!</p>\r
-<p>Once you have it translated, we would appreciate if you contribute it forwarding the file to <a href="mailto:jalview-dev@jalview.org">Jalview Development List</a>. We will commit it to the code base as soon as possible. Thanks so much for this in advance!</p>\r
-</body>\r
-</html>\r
-\r
+<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
+ * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+-->
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>Jalview i18n</head>
+  <body>
+<h1>Best practices</h1>
+<ol>
+<li>Follow the standards described in this guide</li>
+<li>Always use properties files for user interface text; never include displayable text in code</li>
+<li>Use properties files only for user interface text (Messages_xx.properties) and config files for configuration settings (jalview.properties).</li>
+<li>Use a proper naming schema for keys in your resource bundles. The name of the keys should provide some information about the context of the displayed text. This helps the translators during the translation process.</li>
+<li>Group keys by view, ie. edit.title, edit.instructions, list.title, list.instructions, create.title, etc</li>
+<li>Never use displayable text when executing comparisons within the logic of the tool (separate codified values from displayable text)</li>
+<li>Always use the MessageManager class for retrieving properties values, and invoke MessageManager methods dynamically, to accommodate dynamic user preferences (see MessageManager below).</li>
+<li>All numbers and dates should be formatted specific to the user's locale (e.g. java.text.NumberFormat and java.text.DateFormat)</li>
+<li>Test code in more than one language</li>
+</ol>
+<h1>MessageManager</h1>
+<p>The jalview.util.MessageManager class is a wrapper class for the ResourceBundle class. It provides dynamic language/locale support for individual users, and is recommended for all Jalview code.</p>
+<p>To use it within your code, you only have to invoke MessageManager with the text key in Messages_xx.properties:</p>
+<p>JButton ok = new JButton(MessageManager.getString("button.ok"));</p>
+<p>This will set JButton text to the one included at button.ok key. In English JButton text will be OK, while in Spanish will be Aceptar. This is the big thing of i18n. :)</p>
+<h1>Don't rely comparisons on labels</h1>
+<p>Don't use this type of coding:
+    threshold.addItem("No Threshold");<br>
+    threshold.addItem("Above Threshold");<br>
+    threshold.addItem("Below Threshold");<br>
+    [...]<br>
+    if (threshold.getSelectedItem().equals("Above Threshold"))<br>
+    {</br>
+      aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;<br>
+    }<br>
+    else if (threshold.getSelectedItem().equals("Below Threshold"))<br>
+    {<br>
+      aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;<br>
+    }<br>
+</p>
+<p>Once text has been translated, these equals will fail as the label won't be the English ones. It should be used getSelectedIndex() instead of getSelectedItem(). If you do the proper way, the code will look like this:<br>
+    threshold.addItem(MessageManager.getString("label.threshold_feature_no_thereshold"));<br>
+    threshold.addItem(MessageManager.getString("label.threshold_feature_above_thereshold"));<br>
+    threshold.addItem(MessageManager.getString("label.threshold_feature_below_thereshold"));<br>
+    [...]<br>
+    if (threshold.getSelectedIndex()==1)<br>
+    {<br>
+      aboveThreshold = AnnotationColourGradient.ABOVE_THRESHOLD;<br>
+    }<br>
+    else if (threshold.getSelectedIndex()==2)<br>
+    {<br>
+      aboveThreshold = AnnotationColourGradient.BELOW_THRESHOLD;<br>
+    }<br>    
+</p>
+<h1>How to translate Jalview</h1>
+<p>Anyone interested in localizing/translating Jalview is strongly encouraged to join the <a href="mailto:jalview-dev@jalview.org">Jalview Development List</a> list. We would recommend that you read this entire page before proceeding.</p>
+<p>If you are planning on working on a Jalview translation, please send us an email (<a href="mailto:jalview-dev@jalview.org">Jalview Development List</a>). There may be someone else already working on translating Jalview to your target language.</p>
+<p>Once you have downloaded the source code (available at <a href="http://www.jalview.org/download">http://www.jalview.org/download</a>), you must edit {jalview.home}/resources/lang/Messages_xx.properties, where xx refers to your language country code. If it doesn't exits, rename Messages.properties to Messages_xx.properties.</p>
+<p>Next step...start transtalation!</p>
+<p>Once you have it translated, we would appreciate if you contribute it forwarding the file to <a href="mailto:jalview-dev@jalview.org">Jalview Development List</a>. We will commit it to the code base as soon as possible. Thanks so much for this in advance!</p>
+</body>
+</html>
+
index 69d17a5..7a40768 100755 (executable)
-HEADER    OXIDOREDUCTASE/ELECTRON TRANSPORT       08-MAY-00   1GAQ \r
-ATOM      2  CA  GLU A  19      20.491  30.713  36.290  1.00 74.29           C  \r
-ATOM     11  CA  SER A  20      24.056  29.774  37.264  1.00 72.09           C  \r
-ATOM     17  CA  LYS A  21      27.517  31.289  37.563  1.00 70.09           C  \r
-ATOM     26  CA  LYS A  22      28.794  27.865  36.481  1.00 68.64           C  \r
-ATOM     35  CA  GLN A  23      29.484  26.806  32.884  1.00 70.46           C  \r
-ATOM     44  CA  GLU A  24      26.420  25.175  31.360  1.00 72.08           C  \r
-ATOM     53  CA  GLU A  25      26.736  26.049  27.683  1.00 70.43           C  \r
-ATOM     62  CA  GLY A  26      28.299  22.912  26.233  1.00 63.14           C  \r
-ATOM     66  CA  VAL A  27      26.863  20.704  28.982  1.00 54.50           C  \r
-ATOM     73  CA  VAL A  28      25.030  17.390  28.655  1.00 48.32           C  \r
-ATOM     80  CA  THR A  29      23.728  14.677  30.991  1.00 44.86           C  \r
-ATOM     87  CA  ASN A  30      22.327  11.164  30.703  1.00 45.42           C  \r
-ATOM     95  CA  LEU A  31      23.332  10.459  27.102  1.00 45.42           C  \r
-ATOM    103  CA  TYR A  32      23.549   6.898  28.380  1.00 45.88           C  \r
-ATOM    115  CA  LYS A  33      21.656   5.321  31.262  1.00 47.27           C  \r
-ATOM    124  CA  PRO A  34      21.991   2.046  33.248  1.00 48.99           C  \r
-ATOM    131  CA  LYS A  35      19.339   0.560  30.970  1.00 52.75           C  \r
-ATOM    140  CA  GLU A  36      21.580   0.855  27.886  1.00 53.33           C  \r
-ATOM    149  CA  PRO A  37      25.154   2.015  28.678  1.00 47.54           C  \r
-ATOM    156  CA  TYR A  38      27.929   2.872  26.249  1.00 41.98           C  \r
-ATOM    168  CA  VAL A  39      30.355  -0.017  25.909  1.00 41.48           C  \r
-ATOM    175  CA  GLY A  40      33.823   1.485  25.966  1.00 37.59           C  \r
-ATOM    179  CA  ARG A  41      37.165  -0.277  26.122  1.00 39.77           C  \r
-ATOM    190  CA  CYS A  42      40.148  -0.029  28.442  1.00 36.51           C  \r
-ATOM    196  CA  LEU A  43      43.095   1.441  26.554  1.00 36.13           C  \r
-ATOM    204  CA  LEU A  44      45.231   2.023  29.649  1.00 33.55           C  \r
-ATOM    212  CA  ASN A  45      45.140   1.026  33.307  1.00 27.79           C  \r
-ATOM    220  CA  THR A  46      48.056   1.800  35.617  1.00 28.75           C  \r
-ATOM    227  CA  LYS A  47      48.542   1.776  39.388  1.00 30.31           C  \r
-ATOM    236  CA  ILE A  48      49.564   5.317  40.376  1.00 31.32           C  \r
-ATOM    244  CA  THR A  49      50.339   4.682  44.059  1.00 37.62           C  \r
-ATOM    251  CA  GLY A  50      53.585   3.317  45.460  1.00 44.49           C  \r
-ATOM    255  CA  ASP A  51      53.706  -0.448  46.087  1.00 52.89           C  \r
-ATOM    263  CA  ASP A  52      53.910   0.545  49.751  1.00 55.23           C  \r
-ATOM    271  CA  ALA A  53      50.816   2.767  50.056  1.00 53.34           C  \r
-ATOM    276  CA  PRO A  54      47.904   1.940  52.405  1.00 50.60           C  \r
-ATOM    283  CA  GLY A  55      45.420   1.579  49.561  1.00 50.35           C  \r
-ATOM    287  CA  GLU A  56      46.098   1.286  45.836  1.00 42.53           C  \r
-ATOM    296  CA  THR A  57      44.534   3.816  43.480  1.00 41.14           C  \r
-ATOM    303  CA  TRP A  58      44.540   3.423  39.708  1.00 35.60           C  \r
-ATOM    317  CA  HIS A  59      44.468   5.853  36.796  1.00 31.89           C  \r
-ATOM    327  CA  MET A  60      42.658   4.227  33.866  1.00 31.65           C  \r
-ATOM    335  CA  VAL A  61      41.716   5.345  30.350  1.00 30.43           C  \r
-ATOM    342  CA  PHE A  62      38.669   4.172  28.360  1.00 34.36           C  \r
-ATOM    353  CA  SER A  63      37.657   4.908  24.772  1.00 34.69           C  \r
-ATOM    359  CA  THR A  64      34.448   6.828  23.951  1.00 36.96           C  \r
-ATOM    366  CA  GLU A  65      34.691   7.644  20.254  1.00 40.08           C  \r
-ATOM    375  CA  GLY A  66      33.742  11.183  21.285  1.00 40.22           C  \r
-ATOM    379  CA  LYS A  67      30.272   9.763  22.003  1.00 41.93           C  \r
-ATOM    388  CA  ILE A  68      30.279  11.116  25.577  1.00 41.52           C  \r
-ATOM    396  CA  PRO A  69      30.791  14.926  25.537  1.00 42.35           C  \r
-ATOM    403  CA  TYR A  70      31.228  15.232  29.299  1.00 39.84           C  \r
-ATOM    415  CA  ARG A  71      32.639  18.451  30.768  1.00 44.14           C  \r
-ATOM    426  CA  GLU A  72      35.122  19.278  33.515  1.00 43.82           C  \r
-ATOM    435  CA  GLY A  73      33.472  18.458  36.835  1.00 41.97           C  \r
-ATOM    439  CA  GLN A  74      30.929  15.874  35.657  1.00 37.19           C  \r
-ATOM    448  CA  SER A  75      31.285  12.124  36.138  1.00 38.28           C  \r
-ATOM    454  CA  ILE A  76      30.458   8.792  34.539  1.00 36.84           C  \r
-ATOM    462  CA  GLY A  77      28.983   5.620  35.918  1.00 35.39           C  \r
-ATOM    466  CA  VAL A  78      30.311   2.108  35.530  1.00 32.05           C  \r
-ATOM    473  CA  ILE A  79      28.458  -1.201  35.591  1.00 32.67           C  \r
-ATOM    481  CA  ALA A  80      30.745  -4.018  36.644  1.00 35.36           C  \r
-ATOM    486  CA  ASP A  81      30.359  -7.373  34.872  1.00 38.72           C  \r
-ATOM    494  CA  GLY A  82      28.308 -10.332  36.110  1.00 45.79           C  \r
-ATOM    498  CA  VAL A  83      25.820 -10.242  39.001  1.00 52.24           C  \r
-ATOM    505  CA  ASP A  84      25.838 -10.250  42.834  1.00 60.54           C  \r
-ATOM    513  CA  LYS A  85      25.014 -13.158  45.196  1.00 66.72           C  \r
-ATOM    522  CA  ASN A  86      21.414 -13.062  43.904  1.00 67.37           C  \r
-ATOM    530  CA  GLY A  87      21.724 -13.423  40.136  1.00 64.74           C  \r
-ATOM    534  CA  LYS A  88      20.971  -9.733  39.570  1.00 61.12           C  \r
-ATOM    543  CA  PRO A  89      23.054  -7.201  37.561  1.00 54.68           C  \r
-ATOM    550  CA  HIS A  90      25.224  -4.957  39.755  1.00 44.44           C  \r
-ATOM    560  CA  LYS A  91      23.940  -1.433  40.260  1.00 40.48           C  \r
-ATOM    569  CA  VAL A  92      25.803   1.546  38.843  1.00 38.45           C  \r
-ATOM    576  CA  ARG A  93      28.709   2.986  40.828  1.00 38.93           C  \r
-ATOM    587  CA  LEU A  94      29.778   6.584  40.096  1.00 34.37           C  \r
-ATOM    595  CA  TYR A  95      33.309   7.878  39.513  1.00 30.27           C  \r
-ATOM    607  CA  SER A  96      34.425  11.475  39.057  1.00 29.44           C  \r
-ATOM    613  CA  ILE A  97      36.029  12.090  35.662  1.00 27.61           C  \r
-ATOM    621  CA  ALA A  98      39.769  12.693  36.069  1.00 31.12           C  \r
-ATOM    626  CA  SER A  99      40.393  13.712  32.475  1.00 32.42           C  \r
-ATOM    632  CA  SER A 100      39.566  17.142  31.059  1.00 36.14           C  \r
-ATOM    638  CA  ALA A 101      37.097  17.367  28.154  1.00 41.07           C  \r
-ATOM    643  CA  ILE A 102      39.764  16.549  25.527  1.00 47.65           C  \r
-ATOM    651  CA  GLY A 103      41.172  13.692  27.599  1.00 46.77           C  \r
-ATOM    655  CA  ASP A 104      44.730  12.612  28.289  1.00 43.82           C  \r
-ATOM    663  CA  PHE A 105      45.115  12.065  24.522  1.00 41.52           C  \r
-ATOM    674  CA  GLY A 106      43.862  15.455  23.328  1.00 41.66           C  \r
-ATOM    678  CA  ASP A 107      41.355  13.883  20.926  1.00 40.90           C  \r
-ATOM    686  CA  SER A 108      38.132  14.250  22.954  1.00 42.95           C  \r
-ATOM    692  CA  LYS A 109      37.967  10.535  22.224  1.00 44.74           C  \r
-ATOM    701  CA  THR A 110      38.731   9.184  25.704  1.00 41.09           C  \r
-ATOM    708  CA  VAL A 111      37.728   9.519  29.374  1.00 39.03           C  \r
-ATOM    715  CA  SER A 112      39.912   8.705  32.399  1.00 37.17           C  \r
-ATOM    721  CA  LEU A 113      39.098   7.476  35.935  1.00 32.10           C  \r
-ATOM    729  CA  CYS A 114      40.964   7.578  39.261  1.00 30.65           C  \r
-ATOM    735  CA  VAL A 115      39.724   4.459  41.060  1.00 33.45           C  \r
-ATOM    742  CA  LYS A 116      40.668   3.524  44.628  1.00 34.75           C  \r
-ATOM    751  CA  ARG A 117      40.376  -0.250  45.123  1.00 32.85           C  \r
-ATOM    762  CA  LEU A 118      38.137  -1.094  48.077  1.00 30.50           C  \r
-ATOM    770  CA  ILE A 119      39.376  -3.752  50.459  1.00 34.34           C  \r
-ATOM    778  CA  TYR A 120      38.699  -4.266  54.125  1.00 31.39           C  \r
-ATOM    790  CA  THR A 121      38.264  -7.086  56.567  1.00 28.83           C  \r
-ATOM    797  CA  ASN A 122      34.792  -7.477  58.109  1.00 26.51           C  \r
-ATOM    805  CA  ASP A 123      33.626  -8.382  61.634  1.00 31.58           C  \r
-ATOM    813  CA  ALA A 124      34.191 -12.077  60.901  1.00 27.84           C  \r
-ATOM    818  CA  GLY A 125      37.759 -11.844  59.728  1.00 32.39           C  \r
-ATOM    822  CA  GLU A 126      36.809 -12.146  56.073  1.00 35.82           C  \r
-ATOM    831  CA  ILE A 127      38.655  -9.932  53.598  1.00 38.42           C  \r
-ATOM    839  CA  VAL A 128      36.025  -8.261  51.421  1.00 33.73           C  \r
-ATOM    846  CA  LYS A 129      36.482  -6.484  48.090  1.00 31.87           C  \r
-ATOM    855  CA  GLY A 130      34.363  -3.680  46.686  1.00 26.91           C  \r
-ATOM    859  CA  VAL A 131      32.680  -5.051  43.569  1.00 27.89           C  \r
-ATOM    866  CA  CYS A 132      33.074  -2.246  41.018  1.00 28.46           C  \r
-ATOM    872  CA  SER A 133      36.266  -0.553  42.213  1.00 31.33           C  \r
-ATOM    878  CA  ASN A 134      37.861  -3.983  41.984  1.00 30.29           C  \r
-ATOM    886  CA  PHE A 135      36.318  -4.795  38.623  1.00 31.48           C  \r
-ATOM    897  CA  LEU A 136      37.926  -1.553  37.520  1.00 27.81           C  \r
-ATOM    905  CA  CYS A 137      41.417  -1.976  38.955  1.00 25.91           C  \r
-ATOM    911  CA  ASP A 138      41.605  -5.419  37.338  1.00 30.22           C  \r
-ATOM    919  CA  LEU A 139      40.462  -4.306  33.874  1.00 32.69           C  \r
-ATOM    927  CA  GLN A 140      42.851  -5.511  31.186  1.00 36.80           C  \r
-ATOM    936  CA  PRO A 141      43.380  -3.220  28.170  1.00 36.16           C  \r
-ATOM    943  CA  GLY A 142      40.864  -4.420  25.586  1.00 31.10           C  \r
-ATOM    947  CA  ASP A 143      38.129  -5.298  28.055  1.00 30.62           C  \r
-ATOM    955  CA  ASN A 144      34.690  -3.847  27.645  1.00 33.52           C  \r
-ATOM    963  CA  VAL A 145      33.430  -1.522  30.361  1.00 37.08           C  \r
-ATOM    970  CA  GLN A 146      29.817  -0.374  30.523  1.00 37.65           C  \r
-ATOM    979  CA  ILE A 147      29.547   3.413  31.045  1.00 30.95           C  \r
-ATOM    987  CA  THR A 148      26.637   5.791  31.832  1.00 29.95           C  \r
-ATOM    994  CA  GLY A 149      26.297   9.581  31.843  1.00 32.81           C  \r
-ATOM    998  CA  PRO A 150      27.785  12.148  31.800  1.00 34.98           C  \r
-ATOM   1005  CA  VAL A 151      26.376  12.668  35.275  1.00 36.53           C  \r
-ATOM   1012  CA  GLY A 152      26.196  15.756  37.474  1.00 43.09           C  \r
-ATOM   1016  CA  LYS A 153      26.048  19.528  37.068  1.00 48.37           C  \r
-ATOM   1025  CA  GLU A 154      26.921  20.540  40.633  1.00 49.70           C  \r
-ATOM   1034  CA  MET A 155      30.710  20.266  40.235  1.00 47.30           C  \r
-ATOM   1042  CA  LEU A 156      30.882  22.020  36.869  1.00 50.36           C  \r
-ATOM   1050  CA  MET A 157      33.362  24.883  36.404  1.00 55.29           C  \r
-ATOM   1058  CA  PRO A 158      32.521  28.612  36.605  1.00 54.88           C  \r
-ATOM   1065  CA  LYS A 159      32.291  30.776  33.464  1.00 54.92           C  \r
-ATOM   1074  CA  ASP A 160      34.497  33.503  34.939  1.00 57.22           C  \r
-ATOM   1082  CA  PRO A 161      38.055  32.687  33.759  1.00 58.62           C  \r
-ATOM   1089  CA  ASN A 162      39.524  35.240  36.163  1.00 60.44           C  \r
-ATOM   1097  CA  ALA A 163      37.814  33.910  39.279  1.00 55.80           C  \r
-ATOM   1102  CA  THR A 164      39.596  32.487  42.316  1.00 51.04           C  \r
-ATOM   1109  CA  ILE A 165      38.966  28.771  42.756  1.00 50.26           C  \r
-ATOM   1117  CA  ILE A 166      39.774  26.773  45.885  1.00 47.54           C  \r
-ATOM   1125  CA  MET A 167      39.883  23.014  45.324  1.00 46.38           C  \r
-ATOM   1133  CA  LEU A 168      39.700  20.963  48.522  1.00 42.18           C  \r
-ATOM   1141  CA  ALA A 169      40.377  17.316  47.770  1.00 36.41           C  \r
-ATOM   1146  CA  THR A 170      41.005  14.086  49.622  1.00 32.98           C  \r
-ATOM   1153  CA  GLY A 171      42.027  10.802  48.014  1.00 31.36           C  \r
-ATOM   1157  CA  THR A 172      40.386  10.037  44.680  1.00 30.48           C  \r
-ATOM   1164  CA  GLY A 173      38.640  13.335  45.359  1.00 33.99           C  \r
-ATOM   1168  CA  ILE A 174      41.418  15.036  43.394  1.00 35.66           C  \r
-ATOM   1176  CA  ALA A 175      39.758  13.585  40.300  1.00 36.00           C  \r
-ATOM   1181  CA  PRO A 176      37.445  16.385  39.155  1.00 39.41           C  \r
-ATOM   1188  CA  PHE A 177      40.109  18.971  39.976  1.00 43.21           C  \r
-ATOM   1199  CA  ARG A 178      42.726  17.119  37.955  1.00 41.09           C  \r
-ATOM   1210  CA  SER A 179      40.235  17.536  35.124  1.00 39.92           C  \r
-ATOM   1216  CA  PHE A 180      39.808  21.204  36.009  1.00 39.23           C  \r
-ATOM   1227  CA  LEU A 181      43.528  21.949  35.995  1.00 39.50           C  \r
-ATOM   1235  CA  TRP A 182      44.305  20.081  32.770  1.00 41.47           C  \r
-ATOM   1249  CA  LYS A 183      42.141  22.654  30.972  1.00 48.08           C  \r
-ATOM   1258  CA  MET A 184      43.477  25.547  33.062  1.00 52.79           C  \r
-ATOM   1266  CA  PHE A 185      47.102  25.043  32.014  1.00 57.35           C  \r
-ATOM   1277  CA  PHE A 186      48.075  21.921  30.051  1.00 55.98           C  \r
-ATOM   1288  CA  GLU A 187      45.758  23.173  27.297  1.00 54.44           C  \r
-ATOM   1297  CA  LYS A 188      44.908  26.236  25.196  1.00 51.29           C  \r
-ATOM   1306  CA  HIS A 189      41.395  27.080  24.003  1.00 51.35           C  \r
-ATOM   1316  CA  ASP A 190      40.108  29.972  21.873  1.00 54.30           C  \r
-ATOM   1324  CA  ASP A 191      37.199  30.481  24.249  1.00 53.95           C  \r
-ATOM   1332  CA  TYR A 192      38.816  29.937  27.634  1.00 50.68           C  \r
-ATOM   1344  CA  LYS A 193      41.916  31.388  29.230  1.00 51.00           C  \r
-ATOM   1353  CA  PHE A 194      42.322  30.967  32.956  1.00 52.09           C  \r
-ATOM   1364  CA  ASN A 195      43.672  34.234  34.312  1.00 56.46           C  \r
-ATOM   1372  CA  GLY A 196      42.616  34.078  37.969  1.00 57.17           C  \r
-ATOM   1376  CA  LEU A 197      43.874  31.920  40.843  1.00 57.92           C  \r
-ATOM   1384  CA  GLY A 198      43.549  28.151  41.086  1.00 56.67           C  \r
-ATOM   1388  CA  TRP A 199      44.258  26.886  44.592  1.00 51.55           C  \r
-ATOM   1402  CA  LEU A 200      44.411  23.170  45.379  1.00 49.17           C  \r
-ATOM   1410  CA  PHE A 201      44.558  21.335  48.709  1.00 48.60           C  \r
-ATOM   1421  CA  LEU A 202      45.122  17.570  48.598  1.00 45.34           C  \r
-ATOM   1429  CA  GLY A 203      44.885  15.480  51.742  1.00 48.55           C  \r
-ATOM   1433  CA  VAL A 204      46.225  11.936  51.755  1.00 50.23           C  \r
-ATOM   1440  CA  PRO A 205      47.942   9.740  54.365  1.00 51.51           C  \r
-ATOM   1447  CA  THR A 206      51.284   9.148  52.648  1.00 50.21           C  \r
-ATOM   1454  CA  SER A 207      53.551  10.483  49.894  1.00 49.38           C  \r
-ATOM   1460  CA  SER A 208      53.267   7.061  48.259  1.00 43.49           C  \r
-ATOM   1466  CA  SER A 209      49.588   8.049  48.093  1.00 42.57           C  \r
-ATOM   1472  CA  LEU A 210      49.990  11.424  46.364  1.00 42.65           C  \r
-ATOM   1480  CA  LEU A 211      48.121  11.446  43.035  1.00 39.33           C  \r
-ATOM   1488  CA  TYR A 212      49.516  13.214  39.935  1.00 40.89           C  \r
-ATOM   1500  CA  LYS A 213      52.128  15.234  41.873  1.00 45.88           C  \r
-ATOM   1509  CA  GLU A 214      54.518  15.406  38.899  1.00 53.22           C  \r
-ATOM   1518  CA  GLU A 215      51.680  16.911  36.889  1.00 55.16           C  \r
-ATOM   1527  CA  PHE A 216      50.757  19.475  39.514  1.00 60.55           C  \r
-ATOM   1538  CA  GLY A 217      54.488  20.153  39.524  1.00 66.64           C  \r
-ATOM   1542  CA  LYS A 218      54.575  21.110  35.850  1.00 68.86           C  \r
-ATOM   1551  CA  MET A 219      51.398  23.159  36.265  1.00 66.97           C  \r
-ATOM   1559  CA  LYS A 220      53.138  25.090  39.061  1.00 65.97           C  \r
-ATOM   1568  CA  GLU A 221      55.654  26.250  36.459  1.00 70.02           C  \r
-ATOM   1577  CA  ARG A 222      53.584  26.507  33.294  1.00 73.48           C  \r
-ATOM   1588  CA  ALA A 223      52.005  29.449  35.175  1.00 76.21           C  \r
-ATOM   1593  CA  PRO A 224      53.272  29.877  38.804  1.00 79.25           C  \r
-ATOM   1600  CA  GLU A 225      51.296  33.124  39.020  1.00 81.84           C  \r
-ATOM   1609  CA  ASN A 226      47.873  31.528  38.622  1.00 78.84           C  \r
-ATOM   1617  CA  PHE A 227      48.418  28.176  40.350  1.00 75.28           C  \r
-ATOM   1628  CA  ARG A 228      49.090  27.305  43.996  1.00 72.05           C  \r
-ATOM   1639  CA  VAL A 229      49.165  23.724  45.323  1.00 68.82           C  \r
-ATOM   1646  CA  ASP A 230      49.258  22.581  48.958  1.00 66.54           C  \r
-ATOM   1654  CA  TYR A 231      49.605  18.943  49.968  1.00 60.31           C  \r
-ATOM   1666  CA  ALA A 232      48.551  17.560  53.332  1.00 57.39           C  \r
-ATOM   1671  CA  VAL A 233      50.260  14.228  53.945  1.00 57.14           C  \r
-ATOM   1678  CA  SER A 234      48.465  13.579  57.244  1.00 60.81           C  \r
-ATOM   1684  CA  ARG A 235      50.959  11.010  58.514  1.00 60.74           C  \r
-ATOM   1695  CA  GLU A 236      54.268  12.594  57.481  1.00 59.17           C  \r
-ATOM   1704  CA  GLN A 237      53.494  16.197  58.450  1.00 59.62           C  \r
-ATOM   1713  CA  THR A 238      52.590  18.236  61.521  1.00 63.18           C  \r
-ATOM   1720  CA  ASN A 239      52.019  21.937  62.188  1.00 66.71           C  \r
-ATOM   1728  CA  ALA A 240      52.096  23.767  65.537  1.00 70.06           C  \r
-ATOM   1733  CA  ALA A 241      51.302  21.400  68.410  1.00 72.44           C  \r
-ATOM   1738  CA  GLY A 242      52.383  18.324  66.438  1.00 72.38           C  \r
-ATOM   1742  CA  GLU A 243      48.826  18.169  65.110  1.00 69.71           C  \r
-ATOM   1751  CA  ARG A 244      48.674  15.776  62.148  1.00 67.21           C  \r
-ATOM   1762  CA  MET A 245      48.712  17.796  58.933  1.00 64.20           C  \r
-ATOM   1770  CA  TYR A 246      45.246  17.082  57.556  1.00 60.65           C  \r
-ATOM   1782  CA  ILE A 247      43.617  18.437  54.409  1.00 62.98           C  \r
-ATOM   1790  CA  GLN A 248      42.035  21.001  56.761  1.00 64.64           C  \r
-ATOM   1799  CA  THR A 249      45.057  21.461  59.009  1.00 63.37           C  \r
-ATOM   1806  CA  ARG A 250      46.891  22.664  55.903  1.00 62.47           C  \r
-ATOM   1817  CA  MET A 251      44.123  25.201  55.251  1.00 63.35           C  \r
-ATOM   1825  CA  ALA A 252      44.571  26.305  58.854  1.00 65.73           C  \r
-ATOM   1830  CA  GLU A 253      47.973  27.809  58.076  1.00 65.97           C  \r
-ATOM   1839  CA  TYR A 254      46.267  30.063  55.517  1.00 65.83           C  \r
-ATOM   1851  CA  LYS A 255      42.991  30.559  57.379  1.00 70.30           C  \r
-ATOM   1860  CA  GLU A 256      43.578  34.326  57.320  1.00 73.73           C  \r
-ATOM   1869  CA  GLU A 257      44.189  34.738  53.593  1.00 71.52           C  \r
-ATOM   1878  CA  LEU A 258      41.459  32.202  52.893  1.00 73.38           C  \r
-ATOM   1886  CA  TRP A 259      38.790  34.074  54.853  1.00 76.72           C  \r
-ATOM   1900  CA  GLU A 260      39.721  37.275  53.006  1.00 78.61           C  \r
-ATOM   1909  CA  LEU A 261      38.580  35.553  49.815  1.00 75.71           C  \r
-ATOM   1917  CA  LEU A 262      35.391  33.881  51.047  1.00 73.74           C  \r
-ATOM   1925  CA  LYS A 263      33.562  37.165  50.535  1.00 73.64           C  \r
-ATOM   1934  CA  LYS A 264      34.299  38.143  46.954  1.00 72.48           C  \r
-ATOM   1943  CA  ASP A 265      31.954  37.554  43.993  1.00 69.65           C  \r
-ATOM   1951  CA  ASN A 266      34.660  35.649  42.106  1.00 65.06           C  \r
-ATOM   1959  CA  THR A 267      35.835  33.117  44.683  1.00 58.24           C  \r
-ATOM   1966  CA  TYR A 268      34.459  29.646  43.909  1.00 51.04           C  \r
-ATOM   1978  CA  VAL A 269      35.192  26.827  46.382  1.00 44.95           C  \r
-ATOM   1985  CA  TYR A 270      35.012  23.150  45.368  1.00 44.96           C  \r
-ATOM   1997  CA  MET A 271      35.162  20.122  47.656  1.00 41.72           C  \r
-ATOM   2005  CA  CYS A 272      35.314  16.468  46.632  1.00 37.19           C  \r
-ATOM   2011  CA  GLY A 273      36.343  13.080  47.951  1.00 37.65           C  \r
-ATOM   2015  CA  LEU A 274      36.040  10.886  51.020  1.00 39.39           C  \r
-ATOM   2023  CA  LYS A 275      33.076  12.283  52.955  1.00 44.86           C  \r
-ATOM   2032  CA  GLY A 276      34.322  13.183  56.400  1.00 49.16           C  \r
-ATOM   2036  CA  MET A 277      36.932  15.608  55.168  1.00 53.30           C  \r
-ATOM   2044  CA  GLU A 278      33.917  17.921  55.165  1.00 56.74           C  \r
-ATOM   2053  CA  LYS A 279      33.531  18.089  58.947  1.00 59.30           C  \r
-ATOM   2062  CA  GLY A 280      36.982  19.413  59.776  1.00 58.94           C  \r
-ATOM   2066  CA  ILE A 281      36.705  22.048  57.063  1.00 61.43           C  \r
-ATOM   2074  CA  ASP A 282      33.453  23.402  58.515  1.00 67.06           C  \r
-ATOM   2082  CA  ASP A 283      35.050  23.189  61.972  1.00 74.12           C  \r
-ATOM   2090  CA  ILE A 284      37.991  25.422  61.040  1.00 78.49           C  \r
-ATOM   2098  CA  MET A 285      35.456  27.566  59.201  1.00 82.25           C  \r
-ATOM   2106  CA  VAL A 286      32.941  27.959  62.027  1.00 83.44           C  \r
-ATOM   2113  CA  SER A 287      35.610  29.113  64.469  1.00 83.43           C  \r
-ATOM   2119  CA  LEU A 288      36.927  31.601  61.887  1.00 85.53           C  \r
-ATOM   2127  CA  ALA A 289      33.506  33.025  60.970  1.00 86.85           C  \r
-ATOM   2132  CA  GLU A 290      31.841  32.696  64.387  1.00 89.26           C  \r
-ATOM   2141  CA  LYS A 291      34.438  35.312  65.347  1.00 88.73           C  \r
-ATOM   2150  CA  ASP A 292      33.635  37.891  62.652  1.00 88.03           C  \r
-ATOM   2158  CA  GLY A 293      30.219  37.450  61.081  1.00 87.88           C  \r
-ATOM   2162  CA  ILE A 294      27.319  35.051  61.511  1.00 84.61           C  \r
-ATOM   2170  CA  ASP A 295      27.665  31.329  62.188  1.00 82.45           C  \r
-ATOM   2178  CA  TRP A 296      29.539  29.627  59.355  1.00 80.12           C  \r
-ATOM   2192  CA  PHE A 297      26.527  27.452  58.512  1.00 78.99           C  \r
-ATOM   2203  CA  ASP A 298      24.167  30.241  57.486  1.00 76.37           C  \r
-ATOM   2211  CA  TYR A 299      27.074  31.748  55.561  1.00 74.07           C  \r
-ATOM   2223  CA  LYS A 300      27.679  28.620  53.473  1.00 74.31           C  \r
-ATOM   2232  CA  LYS A 301      24.059  29.146  52.464  1.00 75.97           C  \r
-ATOM   2241  CA  GLN A 302      24.921  32.563  51.018  1.00 75.38           C  \r
-ATOM   2250  CA  LEU A 303      27.896  31.099  49.155  1.00 72.10           C  \r
-ATOM   2258  CA  LYS A 304      25.917  28.207  47.690  1.00 72.08           C  \r
-ATOM   2267  CA  ARG A 305      23.595  31.021  46.594  1.00 74.82           C  \r
-ATOM   2278  CA  GLY A 306      26.071  32.136  43.958  1.00 71.84           C  \r
-ATOM   2282  CA  ASP A 307      27.505  28.682  43.220  1.00 67.23           C  \r
-ATOM   2290  CA  GLN A 308      30.620  29.291  45.346  1.00 60.18           C  \r
-ATOM   2299  CA  TRP A 309      30.585  26.177  47.537  1.00 52.25           C  \r
-ATOM   2313  CA  ASN A 310      29.894  22.997  45.597  1.00 45.03           C  \r
-ATOM   2321  CA  VAL A 311      30.327  19.716  47.403  1.00 39.13           C  \r
-ATOM   2328  CA  GLU A 312      30.507  16.190  46.110  1.00 35.17           C  \r
-ATOM   2337  CA  VAL A 313      31.761  13.957  48.861  1.00 30.12           C  \r
-ATOM   2344  CA  TYR A 314      31.112  10.230  49.021  1.00 28.23           C  \r
-ATOM   2358  CA  ALA B   1       2.311  24.702  44.475  1.00 74.17           C  \r
-ATOM   2363  CA  THR B   2       3.590  24.207  48.055  1.00 74.76           C  \r
-ATOM   2370  CA  TYR B   3       3.069  20.876  49.837  1.00 73.52           C  \r
-ATOM   2382  CA  ASN B   4       3.748  19.874  53.435  1.00 75.75           C  \r
-ATOM   2390  CA  VAL B   5       6.618  17.399  53.868  1.00 75.95           C  \r
-ATOM   2397  CA  LYS B   6       7.769  15.523  56.983  1.00 77.70           C  \r
-ATOM   2406  CA  LEU B   7      11.351  14.325  57.458  1.00 78.91           C  \r
-ATOM   2414  CA  ILE B   8      11.807  11.511  59.985  1.00 81.00           C  \r
-ATOM   2422  CA  THR B   9      15.560  12.046  60.247  1.00 87.49           C  \r
-ATOM   2429  CA  PRO B  10      17.662   9.793  62.539  1.00 92.94           C  \r
-ATOM   2436  CA  GLU B  11      18.161  13.147  64.282  1.00 96.61           C  \r
-ATOM   2445  CA  GLY B  12      14.579  14.154  65.041  1.00 97.52           C  \r
-ATOM   2449  CA  GLU B  13      11.602  14.823  62.748  1.00 96.90           C  \r
-ATOM   2458  CA  VAL B  14      11.547  17.892  60.480  1.00 96.63           C  \r
-ATOM   2465  CA  GLU B  15       8.340  19.701  59.440  1.00 94.86           C  \r
-ATOM   2474  CA  LEU B  16       9.471  21.479  56.254  1.00 91.55           C  \r
-ATOM   2482  CA  GLN B  17       7.281  23.141  53.598  1.00 89.75           C  \r
-ATOM   2491  CA  VAL B  18       8.485  22.069  50.145  1.00 87.92           C  \r
-ATOM   2498  CA  PRO B  19       6.906  23.558  46.964  1.00 86.35           C  \r
-ATOM   2505  CA  ASP B  20       5.990  21.744  43.717  1.00 86.29           C  \r
-ATOM   2513  CA  ASP B  21       8.578  22.751  41.083  1.00 83.78           C  \r
-ATOM   2521  CA  VAL B  22      11.385  22.401  43.639  1.00 80.98           C  \r
-ATOM   2528  CA  TYR B  23      13.439  19.280  44.481  1.00 77.04           C  \r
-ATOM   2540  CA  ILE B  24      13.212  18.196  48.120  1.00 76.45           C  \r
-ATOM   2548  CA  LEU B  25      16.959  18.133  48.851  1.00 75.15           C  \r
-ATOM   2556  CA  ASP B  26      17.154  21.745  47.689  1.00 75.80           C  \r
-ATOM   2564  CA  GLN B  27      14.616  22.906  50.280  1.00 76.31           C  \r
-ATOM   2573  CA  ALA B  28      16.562  20.957  52.914  1.00 78.86           C  \r
-ATOM   2578  CA  GLU B  29      19.698  23.011  52.198  1.00 81.51           C  \r
-ATOM   2587  CA  GLU B  30      17.491  26.106  52.510  1.00 83.25           C  \r
-ATOM   2596  CA  ASP B  31      15.857  25.933  55.935  1.00 81.92           C  \r
-ATOM   2604  CA  GLY B  32      19.280  24.859  57.151  1.00 79.08           C  \r
-ATOM   2608  CA  ILE B  33      18.621  21.130  57.157  1.00 76.93           C  \r
-ATOM   2616  CA  ASP B  34      21.528  18.731  56.618  1.00 73.53           C  \r
-ATOM   2624  CA  LEU B  35      20.738  15.738  54.421  1.00 67.74           C  \r
-ATOM   2632  CA  PRO B  36      23.138  13.391  52.547  1.00 65.90           C  \r
-ATOM   2639  CA  TYR B  37      23.916  14.226  48.912  1.00 64.85           C  \r
-ATOM   2651  CA  SER B  38      26.659  13.373  46.412  1.00 62.58           C  \r
-ATOM   2657  CA  CYS B  39      26.193  13.603  42.652  1.00 60.99           C  \r
-ATOM   2663  CA  ARG B  40      22.908  15.441  43.251  1.00 58.35           C  \r
-ATOM   2674  CA  ALA B  41      21.699  14.108  39.886  1.00 56.38           C  \r
-ATOM   2679  CA  GLY B  42      19.886  10.955  40.991  1.00 56.66           C  \r
-ATOM   2683  CA  SER B  43      22.465   8.336  40.010  1.00 58.55           C  \r
-ATOM   2689  CA  CYS B  44      23.548   7.052  43.447  1.00 56.27           C  \r
-ATOM   2695  CA  SER B  45      22.057   5.987  46.791  1.00 58.20           C  \r
-ATOM   2701  CA  SER B  46      23.574   8.773  48.890  1.00 59.13           C  \r
-ATOM   2707  CA  CYS B  47      20.220  10.475  49.517  1.00 65.64           C  \r
-ATOM   2713  CA  ALA B  48      17.911   7.436  49.610  1.00 69.71           C  \r
-ATOM   2718  CA  GLY B  49      14.733   7.635  51.681  1.00 73.09           C  \r
-ATOM   2722  CA  LYS B  50      11.712   5.340  52.183  1.00 73.77           C  \r
-ATOM   2731  CA  VAL B  51       8.551   7.412  51.568  1.00 76.51           C  \r
-ATOM   2738  CA  VAL B  52       5.237   7.081  53.429  1.00 78.85           C  \r
-ATOM   2745  CA  SER B  53       2.180   9.376  53.647  1.00 79.57           C  \r
-ATOM   2751  CA  GLY B  54       2.118  10.991  50.218  1.00 76.32           C  \r
-ATOM   2755  CA  SER B  55       3.577  10.944  46.726  1.00 76.31           C  \r
-ATOM   2761  CA  VAL B  56       6.436  12.592  44.828  1.00 77.50           C  \r
-ATOM   2768  CA  ASP B  57       7.691  12.960  41.243  1.00 76.83           C  \r
-ATOM   2776  CA  GLN B  58      11.150  11.483  40.555  1.00 76.66           C  \r
-ATOM   2785  CA  SER B  59      10.976  10.827  36.792  1.00 80.19           C  \r
-ATOM   2791  CA  ASP B  60      14.688  11.644  36.510  1.00 83.51           C  \r
-ATOM   2799  CA  GLN B  61      15.175   8.137  37.916  1.00 85.74           C  \r
-ATOM   2808  CA  SER B  62      18.644   7.080  36.699  1.00 85.85           C  \r
-ATOM   2814  CA  TYR B  63      19.324   5.049  39.852  1.00 84.49           C  \r
-ATOM   2826  CA  LEU B  64      15.683   4.296  40.629  1.00 89.06           C  \r
-ATOM   2834  CA  ASP B  65      15.356   0.604  39.742  1.00 92.21           C  \r
-ATOM   2842  CA  ASP B  66      12.421  -1.791  39.331  1.00 92.35           C  \r
-ATOM   2850  CA  GLY B  67      10.747  -2.542  42.659  1.00 89.07           C  \r
-ATOM   2854  CA  GLN B  68      12.336   0.632  44.010  1.00 88.41           C  \r
-ATOM   2863  CA  ILE B  69       9.483   2.828  42.742  1.00 86.11           C  \r
-ATOM   2871  CA  ALA B  70       7.060   0.441  44.446  1.00 81.10           C  \r
-ATOM   2876  CA  ASP B  71       8.985  -0.310  47.648  1.00 76.82           C  \r
-ATOM   2884  CA  GLY B  72       8.653   3.423  48.186  1.00 73.00           C  \r
-ATOM   2888  CA  TRP B  73      12.342   4.386  48.095  1.00 67.93           C  \r
-ATOM   2902  CA  VAL B  74      13.052   8.007  47.136  1.00 63.84           C  \r
-ATOM   2909  CA  LEU B  75      16.093   9.940  45.892  1.00 58.37           C  \r
-ATOM   2917  CA  THR B  76      15.524  13.198  47.826  1.00 55.82           C  \r
-ATOM   2924  CA  CYS B  77      17.941  15.109  45.556  1.00 58.23           C  \r
-ATOM   2930  CA  HIS B  78      15.777  14.389  42.513  1.00 64.55           C  \r
-ATOM   2940  CA  ALA B  79      12.108  14.429  43.512  1.00 68.40           C  \r
-ATOM   2945  CA  TYR B  80       9.442  17.152  43.581  1.00 69.69           C  \r
-ATOM   2957  CA  PRO B  81       6.414  16.584  45.842  1.00 71.39           C  \r
-ATOM   2964  CA  THR B  82       3.015  16.014  44.179  1.00 73.67           C  \r
-ATOM   2971  CA  SER B  83       1.278  15.771  47.557  1.00 76.90           C  \r
-ATOM   2977  CA  ASP B  84       1.940  16.119  51.289  1.00 75.20           C  \r
-ATOM   2985  CA  VAL B  85       4.840  13.765  52.050  1.00 71.37           C  \r
-ATOM   2992  CA  VAL B  86       6.363  11.824  54.956  1.00 70.12           C  \r
-ATOM   2999  CA  ILE B  87       9.770  10.300  54.188  1.00 74.18           C  \r
-ATOM   3007  CA  GLU B  88      12.211   8.403  56.410  1.00 78.53           C  \r
-ATOM   3012  CA  THR B  89      15.541   9.964  55.407  1.00 79.79           C  \r
-ATOM   3019  CA  HIS B  90      19.062   8.538  55.881  1.00 79.40           C  \r
-ATOM   3029  CA  LYS B  91      17.584   5.099  55.099  1.00 84.52           C  \r
-ATOM   3038  CA  GLU B  92      20.016   2.596  53.549  1.00 91.64           C  \r
-ATOM   3047  CA  GLU B  93      20.192  -0.858  51.981  1.00 98.97           C  \r
-ATOM   3056  CA  GLU B  94      23.321  -2.924  51.298  1.00106.32           C  \r
-ATOM   3065  CA  LEU B  95      22.104  -6.552  51.453  1.00111.32           C  \r
-ATOM   3073  CA  THR B  96      18.778  -8.417  51.866  1.00116.01           C  \r
-ATOM   3080  CA  GLY B  97      18.877 -11.302  49.394  1.00116.63           C  \r
-ATOM   3084  CA  ALA B  98      22.056  -9.833  47.910  1.00116.02           C  \r
-ATOM   3091  CA  GLU C  19      26.080  -2.480  15.294  1.00 73.96           C  \r
-ATOM   3100  CA  SER C  20      23.405   0.198  14.956  1.00 67.27           C  \r
-ATOM   3106  CA  LYS C  21      22.937   3.927  15.380  1.00 59.27           C  \r
-ATOM   3115  CA  LYS C  22      19.198   3.481  15.874  1.00 58.42           C  \r
-ATOM   3124  CA  GLN C  23      17.251   3.141  19.137  1.00 59.89           C  \r
-ATOM   3133  CA  GLU C  24      17.931  -0.276  20.610  1.00 62.66           C  \r
-ATOM   3142  CA  GLU C  25      16.850  -0.453  24.226  1.00 64.27           C  \r
-ATOM   3151  CA  GLY C  26      13.211  -0.817  25.116  1.00 61.78           C  \r
-ATOM   3155  CA  VAL C  27      12.703  -2.073  21.582  1.00 58.37           C  \r
-ATOM   3162  CA  VAL C  28      10.779  -5.347  21.485  1.00 54.17           C  \r
-ATOM   3169  CA  THR C  29       9.481  -7.339  18.549  1.00 52.79           C  \r
-ATOM   3176  CA  ASN C  30       6.670  -9.775  17.786  1.00 51.30           C  \r
-ATOM   3184  CA  LEU C  31       4.863  -9.997  21.112  1.00 51.05           C  \r
-ATOM   3192  CA  TYR C  32       1.766 -11.297  19.327  1.00 50.51           C  \r
-ATOM   3204  CA  LYS C  33       1.373 -13.532  16.266  1.00 49.49           C  \r
-ATOM   3213  CA  PRO C  34      -1.609 -14.150  13.925  1.00 50.98           C  \r
-ATOM   3220  CA  LYS C  35      -2.450 -17.248  16.011  1.00 55.46           C  \r
-ATOM   3229  CA  GLU C  36      -2.977 -15.400  19.288  1.00 53.79           C  \r
-ATOM   3238  CA  PRO C  37      -3.251 -11.638  18.607  1.00 49.32           C  \r
-ATOM   3245  CA  TYR C  38      -3.674  -9.050  21.318  1.00 46.76           C  \r
-ATOM   3257  CA  VAL C  39      -7.276  -7.947  21.418  1.00 43.68           C  \r
-ATOM   3264  CA  GLY C  40      -7.415  -4.194  21.922  1.00 41.62           C  \r
-ATOM   3268  CA  ARG C  41     -10.273  -1.719  21.954  1.00 40.07           C  \r
-ATOM   3279  CA  CYS C  42     -11.026   1.064  19.477  1.00 36.37           C  \r
-ATOM   3285  CA  LEU C  43     -11.330   4.206  21.583  1.00 31.09           C  \r
-ATOM   3293  CA  LEU C  44     -11.337   6.671  18.673  1.00 28.46           C  \r
-ATOM   3301  CA  ASN C  45     -11.792   6.653  14.923  1.00 26.74           C  \r
-ATOM   3309  CA  THR C  46     -11.954   9.920  13.013  1.00 25.29           C  \r
-ATOM   3316  CA  LYS C  47     -11.667  10.775   9.352  1.00 21.50           C  \r
-ATOM   3325  CA  ILE C  48      -8.895  13.355   9.121  1.00 19.33           C  \r
-ATOM   3333  CA  THR C  49      -9.125  14.281   5.442  1.00 20.38           C  \r
-ATOM   3340  CA  GLY C  50     -11.630  16.676   3.855  1.00 20.12           C  \r
-ATOM   3344  CA  ASP C  51     -14.895  15.345   2.412  1.00 21.75           C  \r
-ATOM   3352  CA  ASP C  52     -13.889  16.693  -0.999  1.00 21.19           C  \r
-ATOM   3360  CA  ALA C  53     -10.651  14.683  -0.749  1.00 21.06           C  \r
-ATOM   3365  CA  PRO C  54     -10.036  11.974  -3.413  1.00 21.39           C  \r
-ATOM   3372  CA  GLY C  55      -9.982   9.067  -0.977  1.00 24.42           C  \r
-ATOM   3376  CA  GLU C  56     -10.374   9.298   2.857  1.00 22.08           C  \r
-ATOM   3385  CA  THR C  57      -7.723   8.611   5.517  1.00 20.31           C  \r
-ATOM   3392  CA  TRP C  58      -8.541   7.849   9.162  1.00 19.33           C  \r
-ATOM   3406  CA  HIS C  59      -6.758   8.520  12.438  1.00 22.68           C  \r
-ATOM   3416  CA  MET C  60      -7.645   5.951  15.108  1.00 27.16           C  \r
-ATOM   3424  CA  VAL C  61      -6.672   5.224  18.723  1.00 29.32           C  \r
-ATOM   3431  CA  PHE C  62      -6.669   1.704  20.220  1.00 34.23           C  \r
-ATOM   3442  CA  SER C  63      -6.102   0.643  23.847  1.00 37.05           C  \r
-ATOM   3448  CA  THR C  64      -3.096  -1.517  24.798  1.00 41.86           C  \r
-ATOM   3455  CA  GLU C  65      -3.169  -1.652  28.621  1.00 48.33           C  \r
-ATOM   3464  CA  GLY C  66       0.537  -0.885  28.318  1.00 52.45           C  \r
-ATOM   3468  CA  LYS C  67       0.955  -4.385  26.891  1.00 54.14           C  \r
-ATOM   3477  CA  ILE C  68       2.429  -3.211  23.570  1.00 51.52           C  \r
-ATOM   3485  CA  PRO C  69       5.602  -1.279  24.487  1.00 49.85           C  \r
-ATOM   3492  CA  TYR C  70       6.523  -0.180  20.967  1.00 44.48           C  \r
-ATOM   3504  CA  ARG C  71       9.185   2.353  19.993  1.00 40.96           C  \r
-ATOM   3515  CA  GLU C  72       8.727   5.317  17.688  1.00 33.49           C  \r
-ATOM   3524  CA  GLY C  73       8.913   3.876  14.164  1.00 30.16           C  \r
-ATOM   3528  CA  GLN C  74       7.423   0.399  14.427  1.00 31.26           C  \r
-ATOM   3537  CA  SER C  75       4.187  -0.913  12.966  1.00 33.65           C  \r
-ATOM   3543  CA  ILE C  76       1.454  -3.212  14.278  1.00 33.75           C  \r
-ATOM   3551  CA  GLY C  77      -0.295  -5.923  12.356  1.00 34.32           C  \r
-ATOM   3555  CA  VAL C  78      -4.060  -6.111  12.164  1.00 36.67           C  \r
-ATOM   3562  CA  ILE C  79      -6.137  -9.230  11.507  1.00 41.91           C  \r
-ATOM   3570  CA  ALA C  80      -9.427  -8.086  10.024  1.00 44.06           C  \r
-ATOM   3575  CA  ASP C  81     -12.530  -9.927  11.224  1.00 47.03           C  \r
-ATOM   3583  CA  GLY C  82     -13.972 -12.487   8.829  1.00 53.52           C  \r
-ATOM   3587  CA  VAL C  83     -12.521 -14.951   6.324  1.00 62.57           C  \r
-ATOM   3594  CA  ASP C  84     -11.856 -14.200   2.630  1.00 71.97           C  \r
-ATOM   3602  CA  LYS C  85     -12.935 -17.403   0.861  1.00 76.86           C  \r
-ATOM   3611  CA  ASN C  86     -13.690 -18.960   4.253  1.00 76.52           C  \r
-ATOM   3619  CA  GLY C  87     -10.006 -19.837   4.066  1.00 76.22           C  \r
-ATOM   3623  CA  LYS C  88      -8.802 -19.138   7.616  1.00 71.60           C  \r
-ATOM   3632  CA  PRO C  89      -8.651 -15.577   8.944  1.00 64.14           C  \r
-ATOM   3639  CA  HIS C  90      -7.547 -12.649   6.805  1.00 52.35           C  \r
-ATOM   3649  CA  LYS C  91      -3.753 -12.529   6.474  1.00 46.81           C  \r
-ATOM   3658  CA  VAL C  92      -2.180  -9.868   8.686  1.00 43.48           C  \r
-ATOM   3665  CA  ARG C  93      -1.491  -6.414   7.232  1.00 36.99           C  \r
-ATOM   3676  CA  LEU C  94       0.983  -3.882   8.601  1.00 32.95           C  \r
-ATOM   3684  CA  TYR C  95       0.340  -0.239   9.510  1.00 24.84           C  \r
-ATOM   3696  CA  SER C  96       3.003   2.101  10.803  1.00 23.32           C  \r
-ATOM   3702  CA  ILE C  97       2.244   3.502  14.236  1.00 24.12           C  \r
-ATOM   3710  CA  ALA C  98       1.243   7.179  13.932  1.00 22.32           C  \r
-ATOM   3715  CA  SER C  99       1.572   7.636  17.676  1.00 25.69           C  \r
-ATOM   3721  CA  SER C 100       4.752   7.924  19.726  1.00 28.83           C  \r
-ATOM   3727  CA  ALA C 101       5.741   5.521  22.508  1.00 35.61           C  \r
-ATOM   3732  CA  ILE C 102       3.906   7.635  25.079  1.00 38.39           C  \r
-ATOM   3740  CA  GLY C 103       0.899   7.826  22.742  1.00 31.93           C  \r
-ATOM   3744  CA  ASP C 104      -1.803  10.384  21.986  1.00 28.77           C  \r
-ATOM   3752  CA  PHE C 105      -3.050  10.293  25.607  1.00 37.05           C  \r
-ATOM   3763  CA  GLY C 106       0.503  10.389  26.967  1.00 39.36           C  \r
-ATOM   3767  CA  ASP C 107      -0.221   7.437  29.266  1.00 41.44           C  \r
-ATOM   3775  CA  SER C 108       1.566   4.766  27.217  1.00 42.18           C  \r
-ATOM   3781  CA  LYS C 109      -1.747   2.877  27.156  1.00 42.45           C  \r
-ATOM   3790  CA  THR C 110      -2.698   3.586  23.515  1.00 38.10           C  \r
-ATOM   3797  CA  VAL C 111      -1.603   2.971  19.906  1.00 32.79           C  \r
-ATOM   3804  CA  SER C 112      -2.671   5.020  16.872  1.00 29.60           C  \r
-ATOM   3810  CA  LEU C 113      -2.713   4.324  13.126  1.00 25.68           C  \r
-ATOM   3818  CA  CYS C 114      -3.142   6.498   9.999  1.00 24.23           C  \r
-ATOM   3824  CA  VAL C 115      -5.345   4.496   7.641  1.00 22.80           C  \r
-ATOM   3831  CA  LYS C 116      -6.221   5.196   4.015  1.00 22.11           C  \r
-ATOM   3840  CA  ARG C 117      -9.458   3.521   2.955  1.00 25.68           C  \r
-ATOM   3851  CA  LEU C 118      -8.447   1.440  -0.100  1.00 28.80           C  \r
-ATOM   3859  CA  ILE C 119     -11.140   1.661  -2.792  1.00 31.75           C  \r
-ATOM   3867  CA  TYR C 120     -10.086   0.716  -6.312  1.00 32.93           C  \r
-ATOM   3879  CA  THR C 121     -11.388  -0.733  -9.598  1.00 36.84           C  \r
-ATOM   3886  CA  ASN C 122     -10.258  -4.257 -10.546  1.00 36.90           C  \r
-ATOM   3894  CA  ASP C 123      -9.574  -5.562 -14.056  1.00 45.45           C  \r
-ATOM   3902  CA  ALA C 124     -13.196  -6.758 -14.269  1.00 44.66           C  \r
-ATOM   3907  CA  GLY C 125     -14.207  -3.102 -14.023  1.00 45.49           C  \r
-ATOM   3911  CA  GLU C 126     -16.059  -3.511 -10.722  1.00 45.54           C  \r
-ATOM   3920  CA  ILE C 127     -15.507  -1.321  -7.638  1.00 39.70           C  \r
-ATOM   3928  CA  VAL C 128     -13.846  -3.171  -4.762  1.00 38.09           C  \r
-ATOM   3935  CA  LYS C 129     -12.759  -2.512  -1.198  1.00 33.77           C  \r
-ATOM   3944  CA  GLY C 130      -9.566  -3.363   0.599  1.00 31.98           C  \r
-ATOM   3948  CA  VAL C 131     -10.443  -5.797   3.385  1.00 33.16           C  \r
-ATOM   3955  CA  CYS C 132      -8.241  -4.645   6.257  1.00 29.97           C  \r
-ATOM   3961  CA  SER C 133      -8.238  -0.898   5.607  1.00 30.67           C  \r
-ATOM   3967  CA  ASN C 134     -12.022  -0.902   5.268  1.00 30.35           C  \r
-ATOM   3975  CA  PHE C 135     -12.375  -2.946   8.424  1.00 29.86           C  \r
-ATOM   3986  CA  LEU C 136     -10.223  -0.334  10.195  1.00 29.42           C  \r
-ATOM   3994  CA  CYS C 137     -11.779   2.834   8.813  1.00 32.27           C  \r
-ATOM   4000  CA  ASP C 138     -15.116   1.280   9.724  1.00 34.29           C  \r
-ATOM   4008  CA  LEU C 139     -14.287   0.699  13.399  1.00 37.51           C  \r
-ATOM   4016  CA  GLN C 140     -16.635   2.170  16.028  1.00 43.76           C  \r
-ATOM   4025  CA  PRO C 141     -15.630   3.032  19.581  1.00 42.77           C  \r
-ATOM   4032  CA  GLY C 142     -16.082  -0.210  21.478  1.00 42.83           C  \r
-ATOM   4036  CA  ASP C 143     -15.117  -2.625  18.696  1.00 40.91           C  \r
-ATOM   4044  CA  ASN C 144     -12.182  -4.947  19.288  1.00 45.66           C  \r
-ATOM   4052  CA  VAL C 145      -9.056  -5.146  17.145  1.00 46.95           C  \r
-ATOM   4059  CA  GLN C 146      -6.707  -8.107  16.606  1.00 48.69           C  \r
-ATOM   4068  CA  ILE C 147      -3.249  -6.538  17.123  1.00 46.84           C  \r
-ATOM   4076  CA  THR C 148      -0.010  -8.392  16.264  1.00 46.26           C  \r
-ATOM   4083  CA  GLY C 149       3.543  -7.117  16.634  1.00 45.60           C  \r
-ATOM   4087  CA  PRO C 150       5.248  -4.818  17.394  1.00 44.97           C  \r
-ATOM   4094  CA  VAL C 151       7.423  -5.293  14.321  1.00 44.50           C  \r
-ATOM   4101  CA  GLY C 152      10.289  -3.716  12.438  1.00 45.33           C  \r
-ATOM   4105  CA  LYS C 153      13.599  -2.161  13.435  1.00 48.64           C  \r
-ATOM   4114  CA  GLU C 154      14.166  -0.437  10.074  1.00 48.20           C  \r
-ATOM   4123  CA  MET C 155      12.437   2.888  10.737  1.00 41.77           C  \r
-ATOM   4131  CA  LEU C 156      13.839   3.081  14.267  1.00 38.27           C  \r
-ATOM   4139  CA  MET C 157      15.076   6.540  15.308  1.00 34.29           C  \r
-ATOM   4147  CA  PRO C 158      18.782   7.419  15.339  1.00 34.05           C  \r
-ATOM   4154  CA  LYS C 159      20.262   7.521  18.845  1.00 35.82           C  \r
-ATOM   4163  CA  ASP C 160      22.076  10.792  18.273  1.00 35.95           C  \r
-ATOM   4171  CA  PRO C 161      19.683  13.401  19.809  1.00 35.63           C  \r
-ATOM   4178  CA  ASN C 162      21.563  15.948  17.758  1.00 33.92           C  \r
-ATOM   4186  CA  ALA C 163      21.028  14.172  14.487  1.00 30.82           C  \r
-ATOM   4191  CA  THR C 164      19.693  15.722  11.305  1.00 25.18           C  \r
-ATOM   4198  CA  ILE C 165      16.617  13.601  10.636  1.00 19.91           C  \r
-ATOM   4206  CA  ILE C 166      15.351  13.978   7.060  1.00 13.76           C  \r
-ATOM   4214  CA  MET C 167      11.843  12.550   6.703  1.00 14.98           C  \r
-ATOM   4222  CA  LEU C 168      10.385  11.831   3.251  1.00 16.64           C  \r
-ATOM   4230  CA  ALA C 169       6.747  10.808   3.007  1.00 15.85           C  \r
-ATOM   4235  CA  THR C 170       3.765  10.346   0.737  1.00 14.23           C  \r
-ATOM   4242  CA  GLY C 171       0.255   9.724   2.035  1.00 13.78           C  \r
-ATOM   4246  CA  THR C 172      -0.103   7.560   5.139  1.00 17.62           C  \r
-ATOM   4253  CA  GLY C 173       3.646   7.343   4.821  1.00 17.20           C  \r
-ATOM   4257  CA  ILE C 174       3.469  10.213   7.270  1.00 15.91           C  \r
-ATOM   4265  CA  ALA C 175       2.586   7.783  10.110  1.00 15.63           C  \r
-ATOM   4270  CA  PRO C 176       6.023   6.933  11.582  1.00 17.04           C  \r
-ATOM   4277  CA  PHE C 177       7.215  10.514  11.327  1.00 18.21           C  \r
-ATOM   4288  CA  ARG C 178       4.268  11.745  13.359  1.00 22.35           C  \r
-ATOM   4299  CA  SER C 179       5.563   9.289  15.983  1.00 25.22           C  \r
-ATOM   4305  CA  PHE C 180       9.139  10.593  15.614  1.00 25.98           C  \r
-ATOM   4316  CA  LEU C 181       7.925  14.180  15.767  1.00 29.12           C  \r
-ATOM   4324  CA  TRP C 182       5.625  13.641  18.714  1.00 31.35           C  \r
-ATOM   4338  CA  LYS C 183       8.488  12.385  20.871  1.00 30.92           C  \r
-ATOM   4347  CA  MET C 184      10.841  15.050  19.503  1.00 24.85           C  \r
-ATOM   4355  CA  PHE C 185       8.741  18.202  20.114  1.00 22.97           C  \r
-ATOM   4366  CA  PHE C 186       5.604  17.337  22.076  1.00 27.77           C  \r
-ATOM   4377  CA  GLU C 187       7.117  15.432  25.009  1.00 37.71           C  \r
-ATOM   4386  CA  LYS C 188       9.542  15.977  27.878  1.00 53.59           C  \r
-ATOM   4395  CA  HIS C 189      12.355  13.416  28.180  1.00 63.67           C  \r
-ATOM   4405  CA  ASP C 190      15.318  13.181  30.569  1.00 66.93           C  \r
-ATOM   4413  CA  ASP C 191      17.480  11.106  28.238  1.00 59.79           C  \r
-ATOM   4421  CA  TYR C 192      16.190  12.725  25.047  1.00 51.96           C  \r
-ATOM   4433  CA  LYS C 193      16.700  16.406  24.324  1.00 47.01           C  \r
-ATOM   4442  CA  PHE C 194      16.580  16.471  20.530  1.00 39.85           C  \r
-ATOM   4453  CA  ASN C 195      18.572  19.494  19.409  1.00 37.52           C  \r
-ATOM   4461  CA  GLY C 196      19.361  18.548  15.845  1.00 32.08           C  \r
-ATOM   4465  CA  LEU C 197      17.310  19.266  12.766  1.00 28.26           C  \r
-ATOM   4473  CA  GLY C 198      14.051  17.526  11.928  1.00 25.05           C  \r
-ATOM   4477  CA  TRP C 199      13.211  18.137   8.269  1.00 19.81           C  \r
-ATOM   4491  CA  LEU C 200       9.908  16.742   7.059  1.00 13.86           C  \r
-ATOM   4499  CA  PHE C 201       8.855  16.521   3.429  1.00 14.83           C  \r
-ATOM   4510  CA  LEU C 202       5.288  15.361   2.717  1.00 16.12           C  \r
-ATOM   4518  CA  GLY C 203       3.701  14.731  -0.681  1.00 13.79           C  \r
-ATOM   4522  CA  VAL C 204      -0.051  14.414  -1.182  1.00 11.75           C  \r
-ATOM   4529  CA  PRO C 205      -2.113  15.264  -4.308  1.00 14.66           C  \r
-ATOM   4536  CA  THR C 206      -4.553  17.737  -2.778  1.00 16.37           C  \r
-ATOM   4543  CA  SER C 207      -4.756  20.169   0.120  1.00 18.01           C  \r
-ATOM   4549  CA  SER C 208      -7.780  18.225   1.280  1.00 17.59           C  \r
-ATOM   4555  CA  SER C 209      -5.452  15.198   1.550  1.00 16.19           C  \r
-ATOM   4561  CA  LEU C 210      -2.972  16.940   3.860  1.00 14.22           C  \r
-ATOM   4569  CA  LEU C 211      -2.255  14.980   7.059  1.00 14.43           C  \r
-ATOM   4577  CA  TYR C 212      -1.624  16.449  10.549  1.00 18.94           C  \r
-ATOM   4589  CA  LYS C 213      -0.818  19.896   9.150  1.00 22.61           C  \r
-ATOM   4598  CA  GLU C 214      -2.039  21.572  12.352  1.00 25.73           C  \r
-ATOM   4607  CA  GLU C 215       0.152  19.413  14.514  1.00 19.23           C  \r
-ATOM   4616  CA  PHE C 216       3.216  20.178  12.439  1.00 17.80           C  \r
-ATOM   4627  CA  GLY C 217       2.478  23.890  12.512  1.00 19.90           C  \r
-ATOM   4631  CA  LYS C 218       2.578  24.001  16.294  1.00 25.54           C  \r
-ATOM   4640  CA  MET C 219       5.810  22.021  16.188  1.00 26.79           C  \r
-ATOM   4648  CA  LYS C 220       7.224  24.606  13.819  1.00 31.85           C  \r
-ATOM   4657  CA  GLU C 221       6.071  27.341  16.219  1.00 38.62           C  \r
-ATOM   4666  CA  ARG C 222       7.760  25.760  19.233  1.00 39.10           C  \r
-ATOM   4677  CA  ALA C 223      11.124  24.971  17.668  1.00 35.43           C  \r
-ATOM   4682  CA  PRO C 224      11.696  27.100  14.528  1.00 32.99           C  \r
-ATOM   4689  CA  GLU C 225      15.425  26.331  14.360  1.00 33.87           C  \r
-ATOM   4698  CA  ASN C 226      15.038  22.591  14.986  1.00 30.46           C  \r
-ATOM   4706  CA  PHE C 227      12.088  21.755  12.732  1.00 24.98           C  \r
-ATOM   4717  CA  ARG C 228      11.351  22.384   9.075  1.00 19.87           C  \r
-ATOM   4728  CA  VAL C 229       8.435  21.010   7.118  1.00 14.21           C  \r
-ATOM   4735  CA  ASP C 230       7.739  21.452   3.398  1.00 12.26           C  \r
-ATOM   4743  CA  TYR C 231       4.627  20.147   1.722  1.00 14.42           C  \r
-ATOM   4755  CA  ALA C 232       4.334  19.003  -1.872  1.00  9.99           C  \r
-ATOM   4760  CA  VAL C 233       0.778  19.232  -3.168  1.00 10.49           C  \r
-ATOM   4767  CA  SER C 234       1.043  17.769  -6.694  1.00 19.00           C  \r
-ATOM   4773  CA  ARG C 235      -2.240  19.042  -8.206  1.00 23.13           C  \r
-ATOM   4784  CA  GLU C 236      -2.069  22.459  -6.578  1.00 17.58           C  \r
-ATOM   4793  CA  GLN C 237       1.546  23.511  -6.623  1.00 15.89           C  \r
-ATOM   4802  CA  THR C 238       4.202  24.018  -9.275  1.00 17.86           C  \r
-ATOM   4809  CA  ASN C 239       7.922  24.800  -9.182  1.00 15.15           C  \r
-ATOM   4817  CA  ALA C 240       9.558  27.791 -10.892  1.00 21.51           C  \r
-ATOM   4822  CA  ALA C 241       9.475  25.887 -14.174  1.00 24.05           C  \r
-ATOM   4827  CA  GLY C 242       5.741  25.110 -13.938  1.00 26.25           C  \r
-ATOM   4831  CA  GLU C 243       5.999  21.359 -13.153  1.00 25.92           C  \r
-ATOM   4840  CA  ARG C 244       3.679  19.536 -10.704  1.00 24.04           C  \r
-ATOM   4851  CA  MET C 245       5.076  19.643  -7.174  1.00 18.58           C  \r
-ATOM   4859  CA  TYR C 246       5.784  16.047  -6.100  1.00 14.16           C  \r
-ATOM   4871  CA  ILE C 247       7.910  15.343  -3.034  1.00 16.78           C  \r
-ATOM   4879  CA  GLN C 248      11.089  15.070  -5.120  1.00 18.72           C  \r
-ATOM   4888  CA  THR C 249      10.168  18.255  -6.921  1.00 20.93           C  \r
-ATOM   4895  CA  ARG C 250       9.962  20.031  -3.567  1.00 19.25           C  \r
-ATOM   4906  CA  MET C 251      13.275  18.471  -2.561  1.00 19.40           C  \r
-ATOM   4914  CA  ALA C 252      14.910  19.812  -5.760  1.00 20.48           C  \r
-ATOM   4919  CA  GLU C 253      14.456  23.418  -4.569  1.00 18.19           C  \r
-ATOM   4928  CA  TYR C 254      16.804  22.515  -1.673  1.00 17.80           C  \r
-ATOM   4940  CA  LYS C 255      19.038  20.415  -3.902  1.00 20.66           C  \r
-ATOM   4949  CA  GLU C 256      22.452  21.603  -2.682  1.00 16.05           C  \r
-ATOM   4958  CA  GLU C 257      21.544  21.914   0.993  1.00 15.89           C  \r
-ATOM   4967  CA  LEU C 258      20.377  18.297   0.919  1.00 20.74           C  \r
-ATOM   4975  CA  TRP C 259      23.388  16.939  -0.965  1.00 23.45           C  \r
-ATOM   4989  CA  GLU C 260      25.645  18.669   1.563  1.00 24.08           C  \r
-ATOM   4998  CA  LEU C 261      23.573  17.378   4.477  1.00 24.74           C  \r
-ATOM   5006  CA  LEU C 262      24.020  13.928   2.938  1.00 26.14           C  \r
-ATOM   5014  CA  LYS C 263      27.792  14.091   3.402  1.00 25.40           C  \r
-ATOM   5023  CA  LYS C 264      27.457  14.521   7.176  1.00 31.47           C  \r
-ATOM   5032  CA  ASP C 265      27.877  11.474   9.425  1.00 35.31           C  \r
-ATOM   5040  CA  ASN C 266      24.934  12.482  11.620  1.00 29.63           C  \r
-ATOM   5048  CA  THR C 267      22.321  12.795   8.832  1.00 28.00           C  \r
-ATOM   5055  CA  TYR C 268      19.556  10.160   8.808  1.00 27.00           C  \r
-ATOM   5067  CA  VAL C 269      17.143   9.903   5.884  1.00 24.65           C  \r
-ATOM   5074  CA  TYR C 270      13.890   8.016   6.276  1.00 23.37           C  \r
-ATOM   5086  CA  MET C 271      11.373   7.327   3.518  1.00 18.93           C  \r
-ATOM   5094  CA  CYS C 272       7.834   6.074   4.043  1.00 18.24           C  \r
-ATOM   5100  CA  GLY C 273       4.784   5.874   1.826  1.00 22.39           C  \r
-ATOM   5104  CA  LEU C 274       3.837   4.483  -1.568  1.00 26.95           C  \r
-ATOM   5112  CA  LYS C 275       6.305   2.384  -3.532  1.00 32.36           C  \r
-ATOM   5121  CA  GLY C 276       7.741   4.199  -6.514  1.00 37.46           C  \r
-ATOM   5125  CA  MET C 277       7.714   7.455  -4.608  1.00 28.76           C  \r
-ATOM   5133  CA  GLU C 278      11.430   6.639  -4.425  1.00 32.22           C  \r
-ATOM   5142  CA  LYS C 279      12.017   6.321  -8.153  1.00 29.94           C  \r
-ATOM   5151  CA  GLY C 280      11.317  10.057  -8.293  1.00 24.18           C  \r
-ATOM   5155  CA  ILE C 281      13.766  10.673  -5.460  1.00 23.68           C  \r
-ATOM   5163  CA  ASP C 282      16.431   8.365  -6.934  1.00 26.58           C  \r
-ATOM   5171  CA  ASP C 283      16.211  10.530 -10.054  1.00 28.70           C  \r
-ATOM   5179  CA  ILE C 284      17.089  13.937  -8.538  1.00 27.28           C  \r
-ATOM   5187  CA  MET C 285      19.706  12.222  -6.388  1.00 27.45           C  \r
-ATOM   5195  CA  VAL C 286      21.377  10.712  -9.470  1.00 30.74           C  \r
-ATOM   5202  CA  SER C 287      21.619  14.159 -11.061  1.00 32.14           C  \r
-ATOM   5208  CA  LEU C 288      23.240  15.463  -7.873  1.00 34.20           C  \r
-ATOM   5216  CA  ALA C 289      25.801  12.653  -7.874  1.00 40.16           C  \r
-ATOM   5221  CA  GLU C 290      26.837  12.825 -11.536  1.00 41.84           C  \r
-ATOM   5230  CA  LYS C 291      27.855  16.387 -10.793  1.00 43.17           C  \r
-ATOM   5239  CA  ASP C 292      30.299  15.115  -8.139  1.00 41.84           C  \r
-ATOM   5247  CA  GLY C 293      31.237  12.232 -10.420  1.00 46.12           C  \r
-ATOM   5251  CA  ILE C 294      30.053   9.669  -7.864  1.00 45.54           C  \r
-ATOM   5259  CA  ASP C 295      27.399   6.998  -8.480  1.00 41.14           C  \r
-ATOM   5267  CA  TRP C 296      24.222   7.605  -6.479  1.00 30.67           C  \r
-ATOM   5281  CA  PHE C 297      23.381   3.910  -6.151  1.00 31.97           C  \r
-ATOM   5292  CA  ASP C 298      26.856   2.916  -4.907  1.00 38.12           C  \r
-ATOM   5300  CA  TYR C 299      26.671   5.875  -2.540  1.00 39.05           C  \r
-ATOM   5312  CA  LYS C 300      23.196   4.971  -1.294  1.00 41.63           C  \r
-ATOM   5321  CA  LYS C 301      24.542   1.489  -0.577  1.00 43.40           C  \r
-ATOM   5330  CA  GLN C 302      27.207   3.064   1.608  1.00 43.79           C  \r
-ATOM   5339  CA  LEU C 303      24.476   5.181   3.238  1.00 41.51           C  \r
-ATOM   5347  CA  LYS C 304      22.138   2.343   4.264  1.00 45.18           C  \r
-ATOM   5356  CA  ARG C 305      25.322   0.535   5.256  1.00 46.65           C  \r
-ATOM   5367  CA  GLY C 306      25.613   3.181   7.945  1.00 40.29           C  \r
-ATOM   5371  CA  ASP C 307      21.954   3.487   8.940  1.00 41.21           C  \r
-ATOM   5379  CA  GLN C 308      21.463   6.730   7.023  1.00 35.55           C  \r
-ATOM   5388  CA  TRP C 309      18.961   5.674   4.361  1.00 31.22           C  \r
-ATOM   5402  CA  ASN C 310      16.018   3.728   5.752  1.00 31.61           C  \r
-ATOM   5410  CA  VAL C 311      13.120   2.841   3.452  1.00 32.13           C  \r
-ATOM   5417  CA  GLU C 312       9.705   1.332   4.261  1.00 31.51           C  \r
-ATOM   5426  CA  VAL C 313       7.466   1.606   1.209  1.00 26.39           C  \r
-ATOM   5433  CA  TYR C 314       4.403  -0.343   0.111  1.00 25.42           C  \r
+HEADER    OXIDOREDUCTASE/ELECTRON TRANSPORT       08-MAY-00   1GAQ 
+ATOM      2  CA  GLU A  19      20.491  30.713  36.290  1.00 74.29           C  
+ATOM     11  CA  SER A  20      24.056  29.774  37.264  1.00 72.09           C  
+ATOM     17  CA  LYS A  21      27.517  31.289  37.563  1.00 70.09           C  
+ATOM     26  CA  LYS A  22      28.794  27.865  36.481  1.00 68.64           C  
+ATOM     35  CA  GLN A  23      29.484  26.806  32.884  1.00 70.46           C  
+ATOM     44  CA  GLU A  24      26.420  25.175  31.360  1.00 72.08           C  
+ATOM     53  CA  GLU A  25      26.736  26.049  27.683  1.00 70.43           C  
+ATOM     62  CA  GLY A  26      28.299  22.912  26.233  1.00 63.14           C  
+ATOM     66  CA  VAL A  27      26.863  20.704  28.982  1.00 54.50           C  
+ATOM     73  CA  VAL A  28      25.030  17.390  28.655  1.00 48.32           C  
+ATOM     80  CA  THR A  29      23.728  14.677  30.991  1.00 44.86           C  
+ATOM     87  CA  ASN A  30      22.327  11.164  30.703  1.00 45.42           C  
+ATOM     95  CA  LEU A  31      23.332  10.459  27.102  1.00 45.42           C  
+ATOM    103  CA  TYR A  32      23.549   6.898  28.380  1.00 45.88           C  
+ATOM    115  CA  LYS A  33      21.656   5.321  31.262  1.00 47.27           C  
+ATOM    124  CA  PRO A  34      21.991   2.046  33.248  1.00 48.99           C  
+ATOM    131  CA  LYS A  35      19.339   0.560  30.970  1.00 52.75           C  
+ATOM    140  CA  GLU A  36      21.580   0.855  27.886  1.00 53.33           C  
+ATOM    149  CA  PRO A  37      25.154   2.015  28.678  1.00 47.54           C  
+ATOM    156  CA  TYR A  38      27.929   2.872  26.249  1.00 41.98           C  
+ATOM    168  CA  VAL A  39      30.355  -0.017  25.909  1.00 41.48           C  
+ATOM    175  CA  GLY A  40      33.823   1.485  25.966  1.00 37.59           C  
+ATOM    179  CA  ARG A  41      37.165  -0.277  26.122  1.00 39.77           C  
+ATOM    190  CA  CYS A  42      40.148  -0.029  28.442  1.00 36.51           C  
+ATOM    196  CA  LEU A  43      43.095   1.441  26.554  1.00 36.13           C  
+ATOM    204  CA  LEU A  44      45.231   2.023  29.649  1.00 33.55           C  
+ATOM    212  CA  ASN A  45      45.140   1.026  33.307  1.00 27.79           C  
+ATOM    220  CA  THR A  46      48.056   1.800  35.617  1.00 28.75           C  
+ATOM    227  CA  LYS A  47      48.542   1.776  39.388  1.00 30.31           C  
+ATOM    236  CA  ILE A  48      49.564   5.317  40.376  1.00 31.32           C  
+ATOM    244  CA  THR A  49      50.339   4.682  44.059  1.00 37.62           C  
+ATOM    251  CA  GLY A  50      53.585   3.317  45.460  1.00 44.49           C  
+ATOM    255  CA  ASP A  51      53.706  -0.448  46.087  1.00 52.89           C  
+ATOM    263  CA  ASP A  52      53.910   0.545  49.751  1.00 55.23           C  
+ATOM    271  CA  ALA A  53      50.816   2.767  50.056  1.00 53.34           C  
+ATOM    276  CA  PRO A  54      47.904   1.940  52.405  1.00 50.60           C  
+ATOM    283  CA  GLY A  55      45.420   1.579  49.561  1.00 50.35           C  
+ATOM    287  CA  GLU A  56      46.098   1.286  45.836  1.00 42.53           C  
+ATOM    296  CA  THR A  57      44.534   3.816  43.480  1.00 41.14           C  
+ATOM    303  CA  TRP A  58      44.540   3.423  39.708  1.00 35.60           C  
+ATOM    317  CA  HIS A  59      44.468   5.853  36.796  1.00 31.89           C  
+ATOM    327  CA  MET A  60      42.658   4.227  33.866  1.00 31.65           C  
+ATOM    335  CA  VAL A  61      41.716   5.345  30.350  1.00 30.43           C  
+ATOM    342  CA  PHE A  62      38.669   4.172  28.360  1.00 34.36           C  
+ATOM    353  CA  SER A  63      37.657   4.908  24.772  1.00 34.69           C  
+ATOM    359  CA  THR A  64      34.448   6.828  23.951  1.00 36.96           C  
+ATOM    366  CA  GLU A  65      34.691   7.644  20.254  1.00 40.08           C  
+ATOM    375  CA  GLY A  66      33.742  11.183  21.285  1.00 40.22           C  
+ATOM    379  CA  LYS A  67      30.272   9.763  22.003  1.00 41.93           C  
+ATOM    388  CA  ILE A  68      30.279  11.116  25.577  1.00 41.52           C  
+ATOM    396  CA  PRO A  69      30.791  14.926  25.537  1.00 42.35           C  
+ATOM    403  CA  TYR A  70      31.228  15.232  29.299  1.00 39.84           C  
+ATOM    415  CA  ARG A  71      32.639  18.451  30.768  1.00 44.14           C  
+ATOM    426  CA  GLU A  72      35.122  19.278  33.515  1.00 43.82           C  
+ATOM    435  CA  GLY A  73      33.472  18.458  36.835  1.00 41.97           C  
+ATOM    439  CA  GLN A  74      30.929  15.874  35.657  1.00 37.19           C  
+ATOM    448  CA  SER A  75      31.285  12.124  36.138  1.00 38.28           C  
+ATOM    454  CA  ILE A  76      30.458   8.792  34.539  1.00 36.84           C  
+ATOM    462  CA  GLY A  77      28.983   5.620  35.918  1.00 35.39           C  
+ATOM    466  CA  VAL A  78      30.311   2.108  35.530  1.00 32.05           C  
+ATOM    473  CA  ILE A  79      28.458  -1.201  35.591  1.00 32.67           C  
+ATOM    481  CA  ALA A  80      30.745  -4.018  36.644  1.00 35.36           C  
+ATOM    486  CA  ASP A  81      30.359  -7.373  34.872  1.00 38.72           C  
+ATOM    494  CA  GLY A  82      28.308 -10.332  36.110  1.00 45.79           C  
+ATOM    498  CA  VAL A  83      25.820 -10.242  39.001  1.00 52.24           C  
+ATOM    505  CA  ASP A  84      25.838 -10.250  42.834  1.00 60.54           C  
+ATOM    513  CA  LYS A  85      25.014 -13.158  45.196  1.00 66.72           C  
+ATOM    522  CA  ASN A  86      21.414 -13.062  43.904  1.00 67.37           C  
+ATOM    530  CA  GLY A  87      21.724 -13.423  40.136  1.00 64.74           C  
+ATOM    534  CA  LYS A  88      20.971  -9.733  39.570  1.00 61.12           C  
+ATOM    543  CA  PRO A  89      23.054  -7.201  37.561  1.00 54.68           C  
+ATOM    550  CA  HIS A  90      25.224  -4.957  39.755  1.00 44.44           C  
+ATOM    560  CA  LYS A  91      23.940  -1.433  40.260  1.00 40.48           C  
+ATOM    569  CA  VAL A  92      25.803   1.546  38.843  1.00 38.45           C  
+ATOM    576  CA  ARG A  93      28.709   2.986  40.828  1.00 38.93           C  
+ATOM    587  CA  LEU A  94      29.778   6.584  40.096  1.00 34.37           C  
+ATOM    595  CA  TYR A  95      33.309   7.878  39.513  1.00 30.27           C  
+ATOM    607  CA  SER A  96      34.425  11.475  39.057  1.00 29.44           C  
+ATOM    613  CA  ILE A  97      36.029  12.090  35.662  1.00 27.61           C  
+ATOM    621  CA  ALA A  98      39.769  12.693  36.069  1.00 31.12           C  
+ATOM    626  CA  SER A  99      40.393  13.712  32.475  1.00 32.42           C  
+ATOM    632  CA  SER A 100      39.566  17.142  31.059  1.00 36.14           C  
+ATOM    638  CA  ALA A 101      37.097  17.367  28.154  1.00 41.07           C  
+ATOM    643  CA  ILE A 102      39.764  16.549  25.527  1.00 47.65           C  
+ATOM    651  CA  GLY A 103      41.172  13.692  27.599  1.00 46.77           C  
+ATOM    655  CA  ASP A 104      44.730  12.612  28.289  1.00 43.82           C  
+ATOM    663  CA  PHE A 105      45.115  12.065  24.522  1.00 41.52           C  
+ATOM    674  CA  GLY A 106      43.862  15.455  23.328  1.00 41.66           C  
+ATOM    678  CA  ASP A 107      41.355  13.883  20.926  1.00 40.90           C  
+ATOM    686  CA  SER A 108      38.132  14.250  22.954  1.00 42.95           C  
+ATOM    692  CA  LYS A 109      37.967  10.535  22.224  1.00 44.74           C  
+ATOM    701  CA  THR A 110      38.731   9.184  25.704  1.00 41.09           C  
+ATOM    708  CA  VAL A 111      37.728   9.519  29.374  1.00 39.03           C  
+ATOM    715  CA  SER A 112      39.912   8.705  32.399  1.00 37.17           C  
+ATOM    721  CA  LEU A 113      39.098   7.476  35.935  1.00 32.10           C  
+ATOM    729  CA  CYS A 114      40.964   7.578  39.261  1.00 30.65           C  
+ATOM    735  CA  VAL A 115      39.724   4.459  41.060  1.00 33.45           C  
+ATOM    742  CA  LYS A 116      40.668   3.524  44.628  1.00 34.75           C  
+ATOM    751  CA  ARG A 117      40.376  -0.250  45.123  1.00 32.85           C  
+ATOM    762  CA  LEU A 118      38.137  -1.094  48.077  1.00 30.50           C  
+ATOM    770  CA  ILE A 119      39.376  -3.752  50.459  1.00 34.34           C  
+ATOM    778  CA  TYR A 120      38.699  -4.266  54.125  1.00 31.39           C  
+ATOM    790  CA  THR A 121      38.264  -7.086  56.567  1.00 28.83           C  
+ATOM    797  CA  ASN A 122      34.792  -7.477  58.109  1.00 26.51           C  
+ATOM    805  CA  ASP A 123      33.626  -8.382  61.634  1.00 31.58           C  
+ATOM    813  CA  ALA A 124      34.191 -12.077  60.901  1.00 27.84           C  
+ATOM    818  CA  GLY A 125      37.759 -11.844  59.728  1.00 32.39           C  
+ATOM    822  CA  GLU A 126      36.809 -12.146  56.073  1.00 35.82           C  
+ATOM    831  CA  ILE A 127      38.655  -9.932  53.598  1.00 38.42           C  
+ATOM    839  CA  VAL A 128      36.025  -8.261  51.421  1.00 33.73           C  
+ATOM    846  CA  LYS A 129      36.482  -6.484  48.090  1.00 31.87           C  
+ATOM    855  CA  GLY A 130      34.363  -3.680  46.686  1.00 26.91           C  
+ATOM    859  CA  VAL A 131      32.680  -5.051  43.569  1.00 27.89           C  
+ATOM    866  CA  CYS A 132      33.074  -2.246  41.018  1.00 28.46           C  
+ATOM    872  CA  SER A 133      36.266  -0.553  42.213  1.00 31.33           C  
+ATOM    878  CA  ASN A 134      37.861  -3.983  41.984  1.00 30.29           C  
+ATOM    886  CA  PHE A 135      36.318  -4.795  38.623  1.00 31.48           C  
+ATOM    897  CA  LEU A 136      37.926  -1.553  37.520  1.00 27.81           C  
+ATOM    905  CA  CYS A 137      41.417  -1.976  38.955  1.00 25.91           C  
+ATOM    911  CA  ASP A 138      41.605  -5.419  37.338  1.00 30.22           C  
+ATOM    919  CA  LEU A 139      40.462  -4.306  33.874  1.00 32.69           C  
+ATOM    927  CA  GLN A 140      42.851  -5.511  31.186  1.00 36.80           C  
+ATOM    936  CA  PRO A 141      43.380  -3.220  28.170  1.00 36.16           C  
+ATOM    943  CA  GLY A 142      40.864  -4.420  25.586  1.00 31.10           C  
+ATOM    947  CA  ASP A 143      38.129  -5.298  28.055  1.00 30.62           C  
+ATOM    955  CA  ASN A 144      34.690  -3.847  27.645  1.00 33.52           C  
+ATOM    963  CA  VAL A 145      33.430  -1.522  30.361  1.00 37.08           C  
+ATOM    970  CA  GLN A 146      29.817  -0.374  30.523  1.00 37.65           C  
+ATOM    979  CA  ILE A 147      29.547   3.413  31.045  1.00 30.95           C  
+ATOM    987  CA  THR A 148      26.637   5.791  31.832  1.00 29.95           C  
+ATOM    994  CA  GLY A 149      26.297   9.581  31.843  1.00 32.81           C  
+ATOM    998  CA  PRO A 150      27.785  12.148  31.800  1.00 34.98           C  
+ATOM   1005  CA  VAL A 151      26.376  12.668  35.275  1.00 36.53           C  
+ATOM   1012  CA  GLY A 152      26.196  15.756  37.474  1.00 43.09           C  
+ATOM   1016  CA  LYS A 153      26.048  19.528  37.068  1.00 48.37           C  
+ATOM   1025  CA  GLU A 154      26.921  20.540  40.633  1.00 49.70           C  
+ATOM   1034  CA  MET A 155      30.710  20.266  40.235  1.00 47.30           C  
+ATOM   1042  CA  LEU A 156      30.882  22.020  36.869  1.00 50.36           C  
+ATOM   1050  CA  MET A 157      33.362  24.883  36.404  1.00 55.29           C  
+ATOM   1058  CA  PRO A 158      32.521  28.612  36.605  1.00 54.88           C  
+ATOM   1065  CA  LYS A 159      32.291  30.776  33.464  1.00 54.92           C  
+ATOM   1074  CA  ASP A 160      34.497  33.503  34.939  1.00 57.22           C  
+ATOM   1082  CA  PRO A 161      38.055  32.687  33.759  1.00 58.62           C  
+ATOM   1089  CA  ASN A 162      39.524  35.240  36.163  1.00 60.44           C  
+ATOM   1097  CA  ALA A 163      37.814  33.910  39.279  1.00 55.80           C  
+ATOM   1102  CA  THR A 164      39.596  32.487  42.316  1.00 51.04           C  
+ATOM   1109  CA  ILE A 165      38.966  28.771  42.756  1.00 50.26           C  
+ATOM   1117  CA  ILE A 166      39.774  26.773  45.885  1.00 47.54           C  
+ATOM   1125  CA  MET A 167      39.883  23.014  45.324  1.00 46.38           C  
+ATOM   1133  CA  LEU A 168      39.700  20.963  48.522  1.00 42.18           C  
+ATOM   1141  CA  ALA A 169      40.377  17.316  47.770  1.00 36.41           C  
+ATOM   1146  CA  THR A 170      41.005  14.086  49.622  1.00 32.98           C  
+ATOM   1153  CA  GLY A 171      42.027  10.802  48.014  1.00 31.36           C  
+ATOM   1157  CA  THR A 172      40.386  10.037  44.680  1.00 30.48           C  
+ATOM   1164  CA  GLY A 173      38.640  13.335  45.359  1.00 33.99           C  
+ATOM   1168  CA  ILE A 174      41.418  15.036  43.394  1.00 35.66           C  
+ATOM   1176  CA  ALA A 175      39.758  13.585  40.300  1.00 36.00           C  
+ATOM   1181  CA  PRO A 176      37.445  16.385  39.155  1.00 39.41           C  
+ATOM   1188  CA  PHE A 177      40.109  18.971  39.976  1.00 43.21           C  
+ATOM   1199  CA  ARG A 178      42.726  17.119  37.955  1.00 41.09           C  
+ATOM   1210  CA  SER A 179      40.235  17.536  35.124  1.00 39.92           C  
+ATOM   1216  CA  PHE A 180      39.808  21.204  36.009  1.00 39.23           C  
+ATOM   1227  CA  LEU A 181      43.528  21.949  35.995  1.00 39.50           C  
+ATOM   1235  CA  TRP A 182      44.305  20.081  32.770  1.00 41.47           C  
+ATOM   1249  CA  LYS A 183      42.141  22.654  30.972  1.00 48.08           C  
+ATOM   1258  CA  MET A 184      43.477  25.547  33.062  1.00 52.79           C  
+ATOM   1266  CA  PHE A 185      47.102  25.043  32.014  1.00 57.35           C  
+ATOM   1277  CA  PHE A 186      48.075  21.921  30.051  1.00 55.98           C  
+ATOM   1288  CA  GLU A 187      45.758  23.173  27.297  1.00 54.44           C  
+ATOM   1297  CA  LYS A 188      44.908  26.236  25.196  1.00 51.29           C  
+ATOM   1306  CA  HIS A 189      41.395  27.080  24.003  1.00 51.35           C  
+ATOM   1316  CA  ASP A 190      40.108  29.972  21.873  1.00 54.30           C  
+ATOM   1324  CA  ASP A 191      37.199  30.481  24.249  1.00 53.95           C  
+ATOM   1332  CA  TYR A 192      38.816  29.937  27.634  1.00 50.68           C  
+ATOM   1344  CA  LYS A 193      41.916  31.388  29.230  1.00 51.00           C  
+ATOM   1353  CA  PHE A 194      42.322  30.967  32.956  1.00 52.09           C  
+ATOM   1364  CA  ASN A 195      43.672  34.234  34.312  1.00 56.46           C  
+ATOM   1372  CA  GLY A 196      42.616  34.078  37.969  1.00 57.17           C  
+ATOM   1376  CA  LEU A 197      43.874  31.920  40.843  1.00 57.92           C  
+ATOM   1384  CA  GLY A 198      43.549  28.151  41.086  1.00 56.67           C  
+ATOM   1388  CA  TRP A 199      44.258  26.886  44.592  1.00 51.55           C  
+ATOM   1402  CA  LEU A 200      44.411  23.170  45.379  1.00 49.17           C  
+ATOM   1410  CA  PHE A 201      44.558  21.335  48.709  1.00 48.60           C  
+ATOM   1421  CA  LEU A 202      45.122  17.570  48.598  1.00 45.34           C  
+ATOM   1429  CA  GLY A 203      44.885  15.480  51.742  1.00 48.55           C  
+ATOM   1433  CA  VAL A 204      46.225  11.936  51.755  1.00 50.23           C  
+ATOM   1440  CA  PRO A 205      47.942   9.740  54.365  1.00 51.51           C  
+ATOM   1447  CA  THR A 206      51.284   9.148  52.648  1.00 50.21           C  
+ATOM   1454  CA  SER A 207      53.551  10.483  49.894  1.00 49.38           C  
+ATOM   1460  CA  SER A 208      53.267   7.061  48.259  1.00 43.49           C  
+ATOM   1466  CA  SER A 209      49.588   8.049  48.093  1.00 42.57           C  
+ATOM   1472  CA  LEU A 210      49.990  11.424  46.364  1.00 42.65           C  
+ATOM   1480  CA  LEU A 211      48.121  11.446  43.035  1.00 39.33           C  
+ATOM   1488  CA  TYR A 212      49.516  13.214  39.935  1.00 40.89           C  
+ATOM   1500  CA  LYS A 213      52.128  15.234  41.873  1.00 45.88           C  
+ATOM   1509  CA  GLU A 214      54.518  15.406  38.899  1.00 53.22           C  
+ATOM   1518  CA  GLU A 215      51.680  16.911  36.889  1.00 55.16           C  
+ATOM   1527  CA  PHE A 216      50.757  19.475  39.514  1.00 60.55           C  
+ATOM   1538  CA  GLY A 217      54.488  20.153  39.524  1.00 66.64           C  
+ATOM   1542  CA  LYS A 218      54.575  21.110  35.850  1.00 68.86           C  
+ATOM   1551  CA  MET A 219      51.398  23.159  36.265  1.00 66.97           C  
+ATOM   1559  CA  LYS A 220      53.138  25.090  39.061  1.00 65.97           C  
+ATOM   1568  CA  GLU A 221      55.654  26.250  36.459  1.00 70.02           C  
+ATOM   1577  CA  ARG A 222      53.584  26.507  33.294  1.00 73.48           C  
+ATOM   1588  CA  ALA A 223      52.005  29.449  35.175  1.00 76.21           C  
+ATOM   1593  CA  PRO A 224      53.272  29.877  38.804  1.00 79.25           C  
+ATOM   1600  CA  GLU A 225      51.296  33.124  39.020  1.00 81.84           C  
+ATOM   1609  CA  ASN A 226      47.873  31.528  38.622  1.00 78.84           C  
+ATOM   1617  CA  PHE A 227      48.418  28.176  40.350  1.00 75.28           C  
+ATOM   1628  CA  ARG A 228      49.090  27.305  43.996  1.00 72.05           C  
+ATOM   1639  CA  VAL A 229      49.165  23.724  45.323  1.00 68.82           C  
+ATOM   1646  CA  ASP A 230      49.258  22.581  48.958  1.00 66.54           C  
+ATOM   1654  CA  TYR A 231      49.605  18.943  49.968  1.00 60.31           C  
+ATOM   1666  CA  ALA A 232      48.551  17.560  53.332  1.00 57.39           C  
+ATOM   1671  CA  VAL A 233      50.260  14.228  53.945  1.00 57.14           C  
+ATOM   1678  CA  SER A 234      48.465  13.579  57.244  1.00 60.81           C  
+ATOM   1684  CA  ARG A 235      50.959  11.010  58.514  1.00 60.74           C  
+ATOM   1695  CA  GLU A 236      54.268  12.594  57.481  1.00 59.17           C  
+ATOM   1704  CA  GLN A 237      53.494  16.197  58.450  1.00 59.62           C  
+ATOM   1713  CA  THR A 238      52.590  18.236  61.521  1.00 63.18           C  
+ATOM   1720  CA  ASN A 239      52.019  21.937  62.188  1.00 66.71           C  
+ATOM   1728  CA  ALA A 240      52.096  23.767  65.537  1.00 70.06           C  
+ATOM   1733  CA  ALA A 241      51.302  21.400  68.410  1.00 72.44           C  
+ATOM   1738  CA  GLY A 242      52.383  18.324  66.438  1.00 72.38           C  
+ATOM   1742  CA  GLU A 243      48.826  18.169  65.110  1.00 69.71           C  
+ATOM   1751  CA  ARG A 244      48.674  15.776  62.148  1.00 67.21           C  
+ATOM   1762  CA  MET A 245      48.712  17.796  58.933  1.00 64.20           C  
+ATOM   1770  CA  TYR A 246      45.246  17.082  57.556  1.00 60.65           C  
+ATOM   1782  CA  ILE A 247      43.617  18.437  54.409  1.00 62.98           C  
+ATOM   1790  CA  GLN A 248      42.035  21.001  56.761  1.00 64.64           C  
+ATOM   1799  CA  THR A 249      45.057  21.461  59.009  1.00 63.37           C  
+ATOM   1806  CA  ARG A 250      46.891  22.664  55.903  1.00 62.47           C  
+ATOM   1817  CA  MET A 251      44.123  25.201  55.251  1.00 63.35           C  
+ATOM   1825  CA  ALA A 252      44.571  26.305  58.854  1.00 65.73           C  
+ATOM   1830  CA  GLU A 253      47.973  27.809  58.076  1.00 65.97           C  
+ATOM   1839  CA  TYR A 254      46.267  30.063  55.517  1.00 65.83           C  
+ATOM   1851  CA  LYS A 255      42.991  30.559  57.379  1.00 70.30           C  
+ATOM   1860  CA  GLU A 256      43.578  34.326  57.320  1.00 73.73           C  
+ATOM   1869  CA  GLU A 257      44.189  34.738  53.593  1.00 71.52           C  
+ATOM   1878  CA  LEU A 258      41.459  32.202  52.893  1.00 73.38           C  
+ATOM   1886  CA  TRP A 259      38.790  34.074  54.853  1.00 76.72           C  
+ATOM   1900  CA  GLU A 260      39.721  37.275  53.006  1.00 78.61           C  
+ATOM   1909  CA  LEU A 261      38.580  35.553  49.815  1.00 75.71           C  
+ATOM   1917  CA  LEU A 262      35.391  33.881  51.047  1.00 73.74           C  
+ATOM   1925  CA  LYS A 263      33.562  37.165  50.535  1.00 73.64           C  
+ATOM   1934  CA  LYS A 264      34.299  38.143  46.954  1.00 72.48           C  
+ATOM   1943  CA  ASP A 265      31.954  37.554  43.993  1.00 69.65           C  
+ATOM   1951  CA  ASN A 266      34.660  35.649  42.106  1.00 65.06           C  
+ATOM   1959  CA  THR A 267      35.835  33.117  44.683  1.00 58.24           C  
+ATOM   1966  CA  TYR A 268      34.459  29.646  43.909  1.00 51.04           C  
+ATOM   1978  CA  VAL A 269      35.192  26.827  46.382  1.00 44.95           C  
+ATOM   1985  CA  TYR A 270      35.012  23.150  45.368  1.00 44.96           C  
+ATOM   1997  CA  MET A 271      35.162  20.122  47.656  1.00 41.72           C  
+ATOM   2005  CA  CYS A 272      35.314  16.468  46.632  1.00 37.19           C  
+ATOM   2011  CA  GLY A 273      36.343  13.080  47.951  1.00 37.65           C  
+ATOM   2015  CA  LEU A 274      36.040  10.886  51.020  1.00 39.39           C  
+ATOM   2023  CA  LYS A 275      33.076  12.283  52.955  1.00 44.86           C  
+ATOM   2032  CA  GLY A 276      34.322  13.183  56.400  1.00 49.16           C  
+ATOM   2036  CA  MET A 277      36.932  15.608  55.168  1.00 53.30           C  
+ATOM   2044  CA  GLU A 278      33.917  17.921  55.165  1.00 56.74           C  
+ATOM   2053  CA  LYS A 279      33.531  18.089  58.947  1.00 59.30           C  
+ATOM   2062  CA  GLY A 280      36.982  19.413  59.776  1.00 58.94           C  
+ATOM   2066  CA  ILE A 281      36.705  22.048  57.063  1.00 61.43           C  
+ATOM   2074  CA  ASP A 282      33.453  23.402  58.515  1.00 67.06           C  
+ATOM   2082  CA  ASP A 283      35.050  23.189  61.972  1.00 74.12           C  
+ATOM   2090  CA  ILE A 284      37.991  25.422  61.040  1.00 78.49           C  
+ATOM   2098  CA  MET A 285      35.456  27.566  59.201  1.00 82.25           C  
+ATOM   2106  CA  VAL A 286      32.941  27.959  62.027  1.00 83.44           C  
+ATOM   2113  CA  SER A 287      35.610  29.113  64.469  1.00 83.43           C  
+ATOM   2119  CA  LEU A 288      36.927  31.601  61.887  1.00 85.53           C  
+ATOM   2127  CA  ALA A 289      33.506  33.025  60.970  1.00 86.85           C  
+ATOM   2132  CA  GLU A 290      31.841  32.696  64.387  1.00 89.26           C  
+ATOM   2141  CA  LYS A 291      34.438  35.312  65.347  1.00 88.73           C  
+ATOM   2150  CA  ASP A 292      33.635  37.891  62.652  1.00 88.03           C  
+ATOM   2158  CA  GLY A 293      30.219  37.450  61.081  1.00 87.88           C  
+ATOM   2162  CA  ILE A 294      27.319  35.051  61.511  1.00 84.61           C  
+ATOM   2170  CA  ASP A 295      27.665  31.329  62.188  1.00 82.45           C  
+ATOM   2178  CA  TRP A 296      29.539  29.627  59.355  1.00 80.12           C  
+ATOM   2192  CA  PHE A 297      26.527  27.452  58.512  1.00 78.99           C  
+ATOM   2203  CA  ASP A 298      24.167  30.241  57.486  1.00 76.37           C  
+ATOM   2211  CA  TYR A 299      27.074  31.748  55.561  1.00 74.07           C  
+ATOM   2223  CA  LYS A 300      27.679  28.620  53.473  1.00 74.31           C  
+ATOM   2232  CA  LYS A 301      24.059  29.146  52.464  1.00 75.97           C  
+ATOM   2241  CA  GLN A 302      24.921  32.563  51.018  1.00 75.38           C  
+ATOM   2250  CA  LEU A 303      27.896  31.099  49.155  1.00 72.10           C  
+ATOM   2258  CA  LYS A 304      25.917  28.207  47.690  1.00 72.08           C  
+ATOM   2267  CA  ARG A 305      23.595  31.021  46.594  1.00 74.82           C  
+ATOM   2278  CA  GLY A 306      26.071  32.136  43.958  1.00 71.84           C  
+ATOM   2282  CA  ASP A 307      27.505  28.682  43.220  1.00 67.23           C  
+ATOM   2290  CA  GLN A 308      30.620  29.291  45.346  1.00 60.18           C  
+ATOM   2299  CA  TRP A 309      30.585  26.177  47.537  1.00 52.25           C  
+ATOM   2313  CA  ASN A 310      29.894  22.997  45.597  1.00 45.03           C  
+ATOM   2321  CA  VAL A 311      30.327  19.716  47.403  1.00 39.13           C  
+ATOM   2328  CA  GLU A 312      30.507  16.190  46.110  1.00 35.17           C  
+ATOM   2337  CA  VAL A 313      31.761  13.957  48.861  1.00 30.12           C  
+ATOM   2344  CA  TYR A 314      31.112  10.230  49.021  1.00 28.23           C  
+ATOM   2358  CA  ALA B   1       2.311  24.702  44.475  1.00 74.17           C  
+ATOM   2363  CA  THR B   2       3.590  24.207  48.055  1.00 74.76           C  
+ATOM   2370  CA  TYR B   3       3.069  20.876  49.837  1.00 73.52           C  
+ATOM   2382  CA  ASN B   4       3.748  19.874  53.435  1.00 75.75           C  
+ATOM   2390  CA  VAL B   5       6.618  17.399  53.868  1.00 75.95           C  
+ATOM   2397  CA  LYS B   6       7.769  15.523  56.983  1.00 77.70           C  
+ATOM   2406  CA  LEU B   7      11.351  14.325  57.458  1.00 78.91           C  
+ATOM   2414  CA  ILE B   8      11.807  11.511  59.985  1.00 81.00           C  
+ATOM   2422  CA  THR B   9      15.560  12.046  60.247  1.00 87.49           C  
+ATOM   2429  CA  PRO B  10      17.662   9.793  62.539  1.00 92.94           C  
+ATOM   2436  CA  GLU B  11      18.161  13.147  64.282  1.00 96.61           C  
+ATOM   2445  CA  GLY B  12      14.579  14.154  65.041  1.00 97.52           C  
+ATOM   2449  CA  GLU B  13      11.602  14.823  62.748  1.00 96.90           C  
+ATOM   2458  CA  VAL B  14      11.547  17.892  60.480  1.00 96.63           C  
+ATOM   2465  CA  GLU B  15       8.340  19.701  59.440  1.00 94.86           C  
+ATOM   2474  CA  LEU B  16       9.471  21.479  56.254  1.00 91.55           C  
+ATOM   2482  CA  GLN B  17       7.281  23.141  53.598  1.00 89.75           C  
+ATOM   2491  CA  VAL B  18       8.485  22.069  50.145  1.00 87.92           C  
+ATOM   2498  CA  PRO B  19       6.906  23.558  46.964  1.00 86.35           C  
+ATOM   2505  CA  ASP B  20       5.990  21.744  43.717  1.00 86.29           C  
+ATOM   2513  CA  ASP B  21       8.578  22.751  41.083  1.00 83.78           C  
+ATOM   2521  CA  VAL B  22      11.385  22.401  43.639  1.00 80.98           C  
+ATOM   2528  CA  TYR B  23      13.439  19.280  44.481  1.00 77.04           C  
+ATOM   2540  CA  ILE B  24      13.212  18.196  48.120  1.00 76.45           C  
+ATOM   2548  CA  LEU B  25      16.959  18.133  48.851  1.00 75.15           C  
+ATOM   2556  CA  ASP B  26      17.154  21.745  47.689  1.00 75.80           C  
+ATOM   2564  CA  GLN B  27      14.616  22.906  50.280  1.00 76.31           C  
+ATOM   2573  CA  ALA B  28      16.562  20.957  52.914  1.00 78.86           C  
+ATOM   2578  CA  GLU B  29      19.698  23.011  52.198  1.00 81.51           C  
+ATOM   2587  CA  GLU B  30      17.491  26.106  52.510  1.00 83.25           C  
+ATOM   2596  CA  ASP B  31      15.857  25.933  55.935  1.00 81.92           C  
+ATOM   2604  CA  GLY B  32      19.280  24.859  57.151  1.00 79.08           C  
+ATOM   2608  CA  ILE B  33      18.621  21.130  57.157  1.00 76.93           C  
+ATOM   2616  CA  ASP B  34      21.528  18.731  56.618  1.00 73.53           C  
+ATOM   2624  CA  LEU B  35      20.738  15.738  54.421  1.00 67.74           C  
+ATOM   2632  CA  PRO B  36      23.138  13.391  52.547  1.00 65.90           C  
+ATOM   2639  CA  TYR B  37      23.916  14.226  48.912  1.00 64.85           C  
+ATOM   2651  CA  SER B  38      26.659  13.373  46.412  1.00 62.58           C  
+ATOM   2657  CA  CYS B  39      26.193  13.603  42.652  1.00 60.99           C  
+ATOM   2663  CA  ARG B  40      22.908  15.441  43.251  1.00 58.35           C  
+ATOM   2674  CA  ALA B  41      21.699  14.108  39.886  1.00 56.38           C  
+ATOM   2679  CA  GLY B  42      19.886  10.955  40.991  1.00 56.66           C  
+ATOM   2683  CA  SER B  43      22.465   8.336  40.010  1.00 58.55           C  
+ATOM   2689  CA  CYS B  44      23.548   7.052  43.447  1.00 56.27           C  
+ATOM   2695  CA  SER B  45      22.057   5.987  46.791  1.00 58.20           C  
+ATOM   2701  CA  SER B  46      23.574   8.773  48.890  1.00 59.13           C  
+ATOM   2707  CA  CYS B  47      20.220  10.475  49.517  1.00 65.64           C  
+ATOM   2713  CA  ALA B  48      17.911   7.436  49.610  1.00 69.71           C  
+ATOM   2718  CA  GLY B  49      14.733   7.635  51.681  1.00 73.09           C  
+ATOM   2722  CA  LYS B  50      11.712   5.340  52.183  1.00 73.77           C  
+ATOM   2731  CA  VAL B  51       8.551   7.412  51.568  1.00 76.51           C  
+ATOM   2738  CA  VAL B  52       5.237   7.081  53.429  1.00 78.85           C  
+ATOM   2745  CA  SER B  53       2.180   9.376  53.647  1.00 79.57           C  
+ATOM   2751  CA  GLY B  54       2.118  10.991  50.218  1.00 76.32           C  
+ATOM   2755  CA  SER B  55       3.577  10.944  46.726  1.00 76.31           C  
+ATOM   2761  CA  VAL B  56       6.436  12.592  44.828  1.00 77.50           C  
+ATOM   2768  CA  ASP B  57       7.691  12.960  41.243  1.00 76.83           C  
+ATOM   2776  CA  GLN B  58      11.150  11.483  40.555  1.00 76.66           C  
+ATOM   2785  CA  SER B  59      10.976  10.827  36.792  1.00 80.19           C  
+ATOM   2791  CA  ASP B  60      14.688  11.644  36.510  1.00 83.51           C  
+ATOM   2799  CA  GLN B  61      15.175   8.137  37.916  1.00 85.74           C  
+ATOM   2808  CA  SER B  62      18.644   7.080  36.699  1.00 85.85           C  
+ATOM   2814  CA  TYR B  63      19.324   5.049  39.852  1.00 84.49           C  
+ATOM   2826  CA  LEU B  64      15.683   4.296  40.629  1.00 89.06           C  
+ATOM   2834  CA  ASP B  65      15.356   0.604  39.742  1.00 92.21           C  
+ATOM   2842  CA  ASP B  66      12.421  -1.791  39.331  1.00 92.35           C  
+ATOM   2850  CA  GLY B  67      10.747  -2.542  42.659  1.00 89.07           C  
+ATOM   2854  CA  GLN B  68      12.336   0.632  44.010  1.00 88.41           C  
+ATOM   2863  CA  ILE B  69       9.483   2.828  42.742  1.00 86.11           C  
+ATOM   2871  CA  ALA B  70       7.060   0.441  44.446  1.00 81.10           C  
+ATOM   2876  CA  ASP B  71       8.985  -0.310  47.648  1.00 76.82           C  
+ATOM   2884  CA  GLY B  72       8.653   3.423  48.186  1.00 73.00           C  
+ATOM   2888  CA  TRP B  73      12.342   4.386  48.095  1.00 67.93           C  
+ATOM   2902  CA  VAL B  74      13.052   8.007  47.136  1.00 63.84           C  
+ATOM   2909  CA  LEU B  75      16.093   9.940  45.892  1.00 58.37           C  
+ATOM   2917  CA  THR B  76      15.524  13.198  47.826  1.00 55.82           C  
+ATOM   2924  CA  CYS B  77      17.941  15.109  45.556  1.00 58.23           C  
+ATOM   2930  CA  HIS B  78      15.777  14.389  42.513  1.00 64.55           C  
+ATOM   2940  CA  ALA B  79      12.108  14.429  43.512  1.00 68.40           C  
+ATOM   2945  CA  TYR B  80       9.442  17.152  43.581  1.00 69.69           C  
+ATOM   2957  CA  PRO B  81       6.414  16.584  45.842  1.00 71.39           C  
+ATOM   2964  CA  THR B  82       3.015  16.014  44.179  1.00 73.67           C  
+ATOM   2971  CA  SER B  83       1.278  15.771  47.557  1.00 76.90           C  
+ATOM   2977  CA  ASP B  84       1.940  16.119  51.289  1.00 75.20           C  
+ATOM   2985  CA  VAL B  85       4.840  13.765  52.050  1.00 71.37           C  
+ATOM   2992  CA  VAL B  86       6.363  11.824  54.956  1.00 70.12           C  
+ATOM   2999  CA  ILE B  87       9.770  10.300  54.188  1.00 74.18           C  
+ATOM   3007  CA  GLU B  88      12.211   8.403  56.410  1.00 78.53           C  
+ATOM   3012  CA  THR B  89      15.541   9.964  55.407  1.00 79.79           C  
+ATOM   3019  CA  HIS B  90      19.062   8.538  55.881  1.00 79.40           C  
+ATOM   3029  CA  LYS B  91      17.584   5.099  55.099  1.00 84.52           C  
+ATOM   3038  CA  GLU B  92      20.016   2.596  53.549  1.00 91.64           C  
+ATOM   3047  CA  GLU B  93      20.192  -0.858  51.981  1.00 98.97           C  
+ATOM   3056  CA  GLU B  94      23.321  -2.924  51.298  1.00106.32           C  
+ATOM   3065  CA  LEU B  95      22.104  -6.552  51.453  1.00111.32           C  
+ATOM   3073  CA  THR B  96      18.778  -8.417  51.866  1.00116.01           C  
+ATOM   3080  CA  GLY B  97      18.877 -11.302  49.394  1.00116.63           C  
+ATOM   3084  CA  ALA B  98      22.056  -9.833  47.910  1.00116.02           C  
+ATOM   3091  CA  GLU C  19      26.080  -2.480  15.294  1.00 73.96           C  
+ATOM   3100  CA  SER C  20      23.405   0.198  14.956  1.00 67.27           C  
+ATOM   3106  CA  LYS C  21      22.937   3.927  15.380  1.00 59.27           C  
+ATOM   3115  CA  LYS C  22      19.198   3.481  15.874  1.00 58.42           C  
+ATOM   3124  CA  GLN C  23      17.251   3.141  19.137  1.00 59.89           C  
+ATOM   3133  CA  GLU C  24      17.931  -0.276  20.610  1.00 62.66           C  
+ATOM   3142  CA  GLU C  25      16.850  -0.453  24.226  1.00 64.27           C  
+ATOM   3151  CA  GLY C  26      13.211  -0.817  25.116  1.00 61.78           C  
+ATOM   3155  CA  VAL C  27      12.703  -2.073  21.582  1.00 58.37           C  
+ATOM   3162  CA  VAL C  28      10.779  -5.347  21.485  1.00 54.17           C  
+ATOM   3169  CA  THR C  29       9.481  -7.339  18.549  1.00 52.79           C  
+ATOM   3176  CA  ASN C  30       6.670  -9.775  17.786  1.00 51.30           C  
+ATOM   3184  CA  LEU C  31       4.863  -9.997  21.112  1.00 51.05           C  
+ATOM   3192  CA  TYR C  32       1.766 -11.297  19.327  1.00 50.51           C  
+ATOM   3204  CA  LYS C  33       1.373 -13.532  16.266  1.00 49.49           C  
+ATOM   3213  CA  PRO C  34      -1.609 -14.150  13.925  1.00 50.98           C  
+ATOM   3220  CA  LYS C  35      -2.450 -17.248  16.011  1.00 55.46           C  
+ATOM   3229  CA  GLU C  36      -2.977 -15.400  19.288  1.00 53.79           C  
+ATOM   3238  CA  PRO C  37      -3.251 -11.638  18.607  1.00 49.32           C  
+ATOM   3245  CA  TYR C  38      -3.674  -9.050  21.318  1.00 46.76           C  
+ATOM   3257  CA  VAL C  39      -7.276  -7.947  21.418  1.00 43.68           C  
+ATOM   3264  CA  GLY C  40      -7.415  -4.194  21.922  1.00 41.62           C  
+ATOM   3268  CA  ARG C  41     -10.273  -1.719  21.954  1.00 40.07           C  
+ATOM   3279  CA  CYS C  42     -11.026   1.064  19.477  1.00 36.37           C  
+ATOM   3285  CA  LEU C  43     -11.330   4.206  21.583  1.00 31.09           C  
+ATOM   3293  CA  LEU C  44     -11.337   6.671  18.673  1.00 28.46           C  
+ATOM   3301  CA  ASN C  45     -11.792   6.653  14.923  1.00 26.74           C  
+ATOM   3309  CA  THR C  46     -11.954   9.920  13.013  1.00 25.29           C  
+ATOM   3316  CA  LYS C  47     -11.667  10.775   9.352  1.00 21.50           C  
+ATOM   3325  CA  ILE C  48      -8.895  13.355   9.121  1.00 19.33           C  
+ATOM   3333  CA  THR C  49      -9.125  14.281   5.442  1.00 20.38           C  
+ATOM   3340  CA  GLY C  50     -11.630  16.676   3.855  1.00 20.12           C  
+ATOM   3344  CA  ASP C  51     -14.895  15.345   2.412  1.00 21.75           C  
+ATOM   3352  CA  ASP C  52     -13.889  16.693  -0.999  1.00 21.19           C  
+ATOM   3360  CA  ALA C  53     -10.651  14.683  -0.749  1.00 21.06           C  
+ATOM   3365  CA  PRO C  54     -10.036  11.974  -3.413  1.00 21.39           C  
+ATOM   3372  CA  GLY C  55      -9.982   9.067  -0.977  1.00 24.42           C  
+ATOM   3376  CA  GLU C  56     -10.374   9.298   2.857  1.00 22.08           C  
+ATOM   3385  CA  THR C  57      -7.723   8.611   5.517  1.00 20.31           C  
+ATOM   3392  CA  TRP C  58      -8.541   7.849   9.162  1.00 19.33           C  
+ATOM   3406  CA  HIS C  59      -6.758   8.520  12.438  1.00 22.68           C  
+ATOM   3416  CA  MET C  60      -7.645   5.951  15.108  1.00 27.16           C  
+ATOM   3424  CA  VAL C  61      -6.672   5.224  18.723  1.00 29.32           C  
+ATOM   3431  CA  PHE C  62      -6.669   1.704  20.220  1.00 34.23           C  
+ATOM   3442  CA  SER C  63      -6.102   0.643  23.847  1.00 37.05           C  
+ATOM   3448  CA  THR C  64      -3.096  -1.517  24.798  1.00 41.86           C  
+ATOM   3455  CA  GLU C  65      -3.169  -1.652  28.621  1.00 48.33           C  
+ATOM   3464  CA  GLY C  66       0.537  -0.885  28.318  1.00 52.45           C  
+ATOM   3468  CA  LYS C  67       0.955  -4.385  26.891  1.00 54.14           C  
+ATOM   3477  CA  ILE C  68       2.429  -3.211  23.570  1.00 51.52           C  
+ATOM   3485  CA  PRO C  69       5.602  -1.279  24.487  1.00 49.85           C  
+ATOM   3492  CA  TYR C  70       6.523  -0.180  20.967  1.00 44.48           C  
+ATOM   3504  CA  ARG C  71       9.185   2.353  19.993  1.00 40.96           C  
+ATOM   3515  CA  GLU C  72       8.727   5.317  17.688  1.00 33.49           C  
+ATOM   3524  CA  GLY C  73       8.913   3.876  14.164  1.00 30.16           C  
+ATOM   3528  CA  GLN C  74       7.423   0.399  14.427  1.00 31.26           C  
+ATOM   3537  CA  SER C  75       4.187  -0.913  12.966  1.00 33.65           C  
+ATOM   3543  CA  ILE C  76       1.454  -3.212  14.278  1.00 33.75           C  
+ATOM   3551  CA  GLY C  77      -0.295  -5.923  12.356  1.00 34.32           C  
+ATOM   3555  CA  VAL C  78      -4.060  -6.111  12.164  1.00 36.67           C  
+ATOM   3562  CA  ILE C  79      -6.137  -9.230  11.507  1.00 41.91           C  
+ATOM   3570  CA  ALA C  80      -9.427  -8.086  10.024  1.00 44.06           C  
+ATOM   3575  CA  ASP C  81     -12.530  -9.927  11.224  1.00 47.03           C  
+ATOM   3583  CA  GLY C  82     -13.972 -12.487   8.829  1.00 53.52           C  
+ATOM   3587  CA  VAL C  83     -12.521 -14.951   6.324  1.00 62.57           C  
+ATOM   3594  CA  ASP C  84     -11.856 -14.200   2.630  1.00 71.97           C  
+ATOM   3602  CA  LYS C  85     -12.935 -17.403   0.861  1.00 76.86           C  
+ATOM   3611  CA  ASN C  86     -13.690 -18.960   4.253  1.00 76.52           C  
+ATOM   3619  CA  GLY C  87     -10.006 -19.837   4.066  1.00 76.22           C  
+ATOM   3623  CA  LYS C  88      -8.802 -19.138   7.616  1.00 71.60           C  
+ATOM   3632  CA  PRO C  89      -8.651 -15.577   8.944  1.00 64.14           C  
+ATOM   3639  CA  HIS C  90      -7.547 -12.649   6.805  1.00 52.35           C  
+ATOM   3649  CA  LYS C  91      -3.753 -12.529   6.474  1.00 46.81           C  
+ATOM   3658  CA  VAL C  92      -2.180  -9.868   8.686  1.00 43.48           C  
+ATOM   3665  CA  ARG C  93      -1.491  -6.414   7.232  1.00 36.99           C  
+ATOM   3676  CA  LEU C  94       0.983  -3.882   8.601  1.00 32.95           C  
+ATOM   3684  CA  TYR C  95       0.340  -0.239   9.510  1.00 24.84           C  
+ATOM   3696  CA  SER C  96       3.003   2.101  10.803  1.00 23.32           C  
+ATOM   3702  CA  ILE C  97       2.244   3.502  14.236  1.00 24.12           C  
+ATOM   3710  CA  ALA C  98       1.243   7.179  13.932  1.00 22.32           C  
+ATOM   3715  CA  SER C  99       1.572   7.636  17.676  1.00 25.69           C  
+ATOM   3721  CA  SER C 100       4.752   7.924  19.726  1.00 28.83           C  
+ATOM   3727  CA  ALA C 101       5.741   5.521  22.508  1.00 35.61           C  
+ATOM   3732  CA  ILE C 102       3.906   7.635  25.079  1.00 38.39           C  
+ATOM   3740  CA  GLY C 103       0.899   7.826  22.742  1.00 31.93           C  
+ATOM   3744  CA  ASP C 104      -1.803  10.384  21.986  1.00 28.77           C  
+ATOM   3752  CA  PHE C 105      -3.050  10.293  25.607  1.00 37.05           C  
+ATOM   3763  CA  GLY C 106       0.503  10.389  26.967  1.00 39.36           C  
+ATOM   3767  CA  ASP C 107      -0.221   7.437  29.266  1.00 41.44           C  
+ATOM   3775  CA  SER C 108       1.566   4.766  27.217  1.00 42.18           C  
+ATOM   3781  CA  LYS C 109      -1.747   2.877  27.156  1.00 42.45           C  
+ATOM   3790  CA  THR C 110      -2.698   3.586  23.515  1.00 38.10           C  
+ATOM   3797  CA  VAL C 111      -1.603   2.971  19.906  1.00 32.79           C  
+ATOM   3804  CA  SER C 112      -2.671   5.020  16.872  1.00 29.60           C  
+ATOM   3810  CA  LEU C 113      -2.713   4.324  13.126  1.00 25.68           C  
+ATOM   3818  CA  CYS C 114      -3.142   6.498   9.999  1.00 24.23           C  
+ATOM   3824  CA  VAL C 115      -5.345   4.496   7.641  1.00 22.80           C  
+ATOM   3831  CA  LYS C 116      -6.221   5.196   4.015  1.00 22.11           C  
+ATOM   3840  CA  ARG C 117      -9.458   3.521   2.955  1.00 25.68           C  
+ATOM   3851  CA  LEU C 118      -8.447   1.440  -0.100  1.00 28.80           C  
+ATOM   3859  CA  ILE C 119     -11.140   1.661  -2.792  1.00 31.75           C  
+ATOM   3867  CA  TYR C 120     -10.086   0.716  -6.312  1.00 32.93           C  
+ATOM   3879  CA  THR C 121     -11.388  -0.733  -9.598  1.00 36.84           C  
+ATOM   3886  CA  ASN C 122     -10.258  -4.257 -10.546  1.00 36.90           C  
+ATOM   3894  CA  ASP C 123      -9.574  -5.562 -14.056  1.00 45.45           C  
+ATOM   3902  CA  ALA C 124     -13.196  -6.758 -14.269  1.00 44.66           C  
+ATOM   3907  CA  GLY C 125     -14.207  -3.102 -14.023  1.00 45.49           C  
+ATOM   3911  CA  GLU C 126     -16.059  -3.511 -10.722  1.00 45.54           C  
+ATOM   3920  CA  ILE C 127     -15.507  -1.321  -7.638  1.00 39.70           C  
+ATOM   3928  CA  VAL C 128     -13.846  -3.171  -4.762  1.00 38.09           C  
+ATOM   3935  CA  LYS C 129     -12.759  -2.512  -1.198  1.00 33.77           C  
+ATOM   3944  CA  GLY C 130      -9.566  -3.363   0.599  1.00 31.98           C  
+ATOM   3948  CA  VAL C 131     -10.443  -5.797   3.385  1.00 33.16           C  
+ATOM   3955  CA  CYS C 132      -8.241  -4.645   6.257  1.00 29.97           C  
+ATOM   3961  CA  SER C 133      -8.238  -0.898   5.607  1.00 30.67           C  
+ATOM   3967  CA  ASN C 134     -12.022  -0.902   5.268  1.00 30.35           C  
+ATOM   3975  CA  PHE C 135     -12.375  -2.946   8.424  1.00 29.86           C  
+ATOM   3986  CA  LEU C 136     -10.223  -0.334  10.195  1.00 29.42           C  
+ATOM   3994  CA  CYS C 137     -11.779   2.834   8.813  1.00 32.27           C  
+ATOM   4000  CA  ASP C 138     -15.116   1.280   9.724  1.00 34.29           C  
+ATOM   4008  CA  LEU C 139     -14.287   0.699  13.399  1.00 37.51           C  
+ATOM   4016  CA  GLN C 140     -16.635   2.170  16.028  1.00 43.76           C  
+ATOM   4025  CA  PRO C 141     -15.630   3.032  19.581  1.00 42.77           C  
+ATOM   4032  CA  GLY C 142     -16.082  -0.210  21.478  1.00 42.83           C  
+ATOM   4036  CA  ASP C 143     -15.117  -2.625  18.696  1.00 40.91           C  
+ATOM   4044  CA  ASN C 144     -12.182  -4.947  19.288  1.00 45.66           C  
+ATOM   4052  CA  VAL C 145      -9.056  -5.146  17.145  1.00 46.95           C  
+ATOM   4059  CA  GLN C 146      -6.707  -8.107  16.606  1.00 48.69           C  
+ATOM   4068  CA  ILE C 147      -3.249  -6.538  17.123  1.00 46.84           C  
+ATOM   4076  CA  THR C 148      -0.010  -8.392  16.264  1.00 46.26           C  
+ATOM   4083  CA  GLY C 149       3.543  -7.117  16.634  1.00 45.60           C  
+ATOM   4087  CA  PRO C 150       5.248  -4.818  17.394  1.00 44.97           C  
+ATOM   4094  CA  VAL C 151       7.423  -5.293  14.321  1.00 44.50           C  
+ATOM   4101  CA  GLY C 152      10.289  -3.716  12.438  1.00 45.33           C  
+ATOM   4105  CA  LYS C 153      13.599  -2.161  13.435  1.00 48.64           C  
+ATOM   4114  CA  GLU C 154      14.166  -0.437  10.074  1.00 48.20           C  
+ATOM   4123  CA  MET C 155      12.437   2.888  10.737  1.00 41.77           C  
+ATOM   4131  CA  LEU C 156      13.839   3.081  14.267  1.00 38.27           C  
+ATOM   4139  CA  MET C 157      15.076   6.540  15.308  1.00 34.29           C  
+ATOM   4147  CA  PRO C 158      18.782   7.419  15.339  1.00 34.05           C  
+ATOM   4154  CA  LYS C 159      20.262   7.521  18.845  1.00 35.82           C  
+ATOM   4163  CA  ASP C 160      22.076  10.792  18.273  1.00 35.95           C  
+ATOM   4171  CA  PRO C 161      19.683  13.401  19.809  1.00 35.63           C  
+ATOM   4178  CA  ASN C 162      21.563  15.948  17.758  1.00 33.92           C  
+ATOM   4186  CA  ALA C 163      21.028  14.172  14.487  1.00 30.82           C  
+ATOM   4191  CA  THR C 164      19.693  15.722  11.305  1.00 25.18           C  
+ATOM   4198  CA  ILE C 165      16.617  13.601  10.636  1.00 19.91           C  
+ATOM   4206  CA  ILE C 166      15.351  13.978   7.060  1.00 13.76           C  
+ATOM   4214  CA  MET C 167      11.843  12.550   6.703  1.00 14.98           C  
+ATOM   4222  CA  LEU C 168      10.385  11.831   3.251  1.00 16.64           C  
+ATOM   4230  CA  ALA C 169       6.747  10.808   3.007  1.00 15.85           C  
+ATOM   4235  CA  THR C 170       3.765  10.346   0.737  1.00 14.23           C  
+ATOM   4242  CA  GLY C 171       0.255   9.724   2.035  1.00 13.78           C  
+ATOM   4246  CA  THR C 172      -0.103   7.560   5.139  1.00 17.62           C  
+ATOM   4253  CA  GLY C 173       3.646   7.343   4.821  1.00 17.20           C  
+ATOM   4257  CA  ILE C 174       3.469  10.213   7.270  1.00 15.91           C  
+ATOM   4265  CA  ALA C 175       2.586   7.783  10.110  1.00 15.63           C  
+ATOM   4270  CA  PRO C 176       6.023   6.933  11.582  1.00 17.04           C  
+ATOM   4277  CA  PHE C 177       7.215  10.514  11.327  1.00 18.21           C  
+ATOM   4288  CA  ARG C 178       4.268  11.745  13.359  1.00 22.35           C  
+ATOM   4299  CA  SER C 179       5.563   9.289  15.983  1.00 25.22           C  
+ATOM   4305  CA  PHE C 180       9.139  10.593  15.614  1.00 25.98           C  
+ATOM   4316  CA  LEU C 181       7.925  14.180  15.767  1.00 29.12           C  
+ATOM   4324  CA  TRP C 182       5.625  13.641  18.714  1.00 31.35           C  
+ATOM   4338  CA  LYS C 183       8.488  12.385  20.871  1.00 30.92           C  
+ATOM   4347  CA  MET C 184      10.841  15.050  19.503  1.00 24.85           C  
+ATOM   4355  CA  PHE C 185       8.741  18.202  20.114  1.00 22.97           C  
+ATOM   4366  CA  PHE C 186       5.604  17.337  22.076  1.00 27.77           C  
+ATOM   4377  CA  GLU C 187       7.117  15.432  25.009  1.00 37.71           C  
+ATOM   4386  CA  LYS C 188       9.542  15.977  27.878  1.00 53.59           C  
+ATOM   4395  CA  HIS C 189      12.355  13.416  28.180  1.00 63.67           C  
+ATOM   4405  CA  ASP C 190      15.318  13.181  30.569  1.00 66.93           C  
+ATOM   4413  CA  ASP C 191      17.480  11.106  28.238  1.00 59.79           C  
+ATOM   4421  CA  TYR C 192      16.190  12.725  25.047  1.00 51.96           C  
+ATOM   4433  CA  LYS C 193      16.700  16.406  24.324  1.00 47.01           C  
+ATOM   4442  CA  PHE C 194      16.580  16.471  20.530  1.00 39.85           C  
+ATOM   4453  CA  ASN C 195      18.572  19.494  19.409  1.00 37.52           C  
+ATOM   4461  CA  GLY C 196      19.361  18.548  15.845  1.00 32.08           C  
+ATOM   4465  CA  LEU C 197      17.310  19.266  12.766  1.00 28.26           C  
+ATOM   4473  CA  GLY C 198      14.051  17.526  11.928  1.00 25.05           C  
+ATOM   4477  CA  TRP C 199      13.211  18.137   8.269  1.00 19.81           C  
+ATOM   4491  CA  LEU C 200       9.908  16.742   7.059  1.00 13.86           C  
+ATOM   4499  CA  PHE C 201       8.855  16.521   3.429  1.00 14.83           C  
+ATOM   4510  CA  LEU C 202       5.288  15.361   2.717  1.00 16.12           C  
+ATOM   4518  CA  GLY C 203       3.701  14.731  -0.681  1.00 13.79           C  
+ATOM   4522  CA  VAL C 204      -0.051  14.414  -1.182  1.00 11.75           C  
+ATOM   4529  CA  PRO C 205      -2.113  15.264  -4.308  1.00 14.66           C  
+ATOM   4536  CA  THR C 206      -4.553  17.737  -2.778  1.00 16.37           C  
+ATOM   4543  CA  SER C 207      -4.756  20.169   0.120  1.00 18.01           C  
+ATOM   4549  CA  SER C 208      -7.780  18.225   1.280  1.00 17.59           C  
+ATOM   4555  CA  SER C 209      -5.452  15.198   1.550  1.00 16.19           C  
+ATOM   4561  CA  LEU C 210      -2.972  16.940   3.860  1.00 14.22           C  
+ATOM   4569  CA  LEU C 211      -2.255  14.980   7.059  1.00 14.43           C  
+ATOM   4577  CA  TYR C 212      -1.624  16.449  10.549  1.00 18.94           C  
+ATOM   4589  CA  LYS C 213      -0.818  19.896   9.150  1.00 22.61           C  
+ATOM   4598  CA  GLU C 214      -2.039  21.572  12.352  1.00 25.73           C  
+ATOM   4607  CA  GLU C 215       0.152  19.413  14.514  1.00 19.23           C  
+ATOM   4616  CA  PHE C 216       3.216  20.178  12.439  1.00 17.80           C  
+ATOM   4627  CA  GLY C 217       2.478  23.890  12.512  1.00 19.90           C  
+ATOM   4631  CA  LYS C 218       2.578  24.001  16.294  1.00 25.54           C  
+ATOM   4640  CA  MET C 219       5.810  22.021  16.188  1.00 26.79           C  
+ATOM   4648  CA  LYS C 220       7.224  24.606  13.819  1.00 31.85           C  
+ATOM   4657  CA  GLU C 221       6.071  27.341  16.219  1.00 38.62           C  
+ATOM   4666  CA  ARG C 222       7.760  25.760  19.233  1.00 39.10           C  
+ATOM   4677  CA  ALA C 223      11.124  24.971  17.668  1.00 35.43           C  
+ATOM   4682  CA  PRO C 224      11.696  27.100  14.528  1.00 32.99           C  
+ATOM   4689  CA  GLU C 225      15.425  26.331  14.360  1.00 33.87           C  
+ATOM   4698  CA  ASN C 226      15.038  22.591  14.986  1.00 30.46           C  
+ATOM   4706  CA  PHE C 227      12.088  21.755  12.732  1.00 24.98           C  
+ATOM   4717  CA  ARG C 228      11.351  22.384   9.075  1.00 19.87           C  
+ATOM   4728  CA  VAL C 229       8.435  21.010   7.118  1.00 14.21           C  
+ATOM   4735  CA  ASP C 230       7.739  21.452   3.398  1.00 12.26           C  
+ATOM   4743  CA  TYR C 231       4.627  20.147   1.722  1.00 14.42           C  
+ATOM   4755  CA  ALA C 232       4.334  19.003  -1.872  1.00  9.99           C  
+ATOM   4760  CA  VAL C 233       0.778  19.232  -3.168  1.00 10.49           C  
+ATOM   4767  CA  SER C 234       1.043  17.769  -6.694  1.00 19.00           C  
+ATOM   4773  CA  ARG C 235      -2.240  19.042  -8.206  1.00 23.13           C  
+ATOM   4784  CA  GLU C 236      -2.069  22.459  -6.578  1.00 17.58           C  
+ATOM   4793  CA  GLN C 237       1.546  23.511  -6.623  1.00 15.89           C  
+ATOM   4802  CA  THR C 238       4.202  24.018  -9.275  1.00 17.86           C  
+ATOM   4809  CA  ASN C 239       7.922  24.800  -9.182  1.00 15.15           C  
+ATOM   4817  CA  ALA C 240       9.558  27.791 -10.892  1.00 21.51           C  
+ATOM   4822  CA  ALA C 241       9.475  25.887 -14.174  1.00 24.05           C  
+ATOM   4827  CA  GLY C 242       5.741  25.110 -13.938  1.00 26.25           C  
+ATOM   4831  CA  GLU C 243       5.999  21.359 -13.153  1.00 25.92           C  
+ATOM   4840  CA  ARG C 244       3.679  19.536 -10.704  1.00 24.04           C  
+ATOM   4851  CA  MET C 245       5.076  19.643  -7.174  1.00 18.58           C  
+ATOM   4859  CA  TYR C 246       5.784  16.047  -6.100  1.00 14.16           C  
+ATOM   4871  CA  ILE C 247       7.910  15.343  -3.034  1.00 16.78           C  
+ATOM   4879  CA  GLN C 248      11.089  15.070  -5.120  1.00 18.72           C  
+ATOM   4888  CA  THR C 249      10.168  18.255  -6.921  1.00 20.93           C  
+ATOM   4895  CA  ARG C 250       9.962  20.031  -3.567  1.00 19.25           C  
+ATOM   4906  CA  MET C 251      13.275  18.471  -2.561  1.00 19.40           C  
+ATOM   4914  CA  ALA C 252      14.910  19.812  -5.760  1.00 20.48           C  
+ATOM   4919  CA  GLU C 253      14.456  23.418  -4.569  1.00 18.19           C  
+ATOM   4928  CA  TYR C 254      16.804  22.515  -1.673  1.00 17.80           C  
+ATOM   4940  CA  LYS C 255      19.038  20.415  -3.902  1.00 20.66           C  
+ATOM   4949  CA  GLU C 256      22.452  21.603  -2.682  1.00 16.05           C  
+ATOM   4958  CA  GLU C 257      21.544  21.914   0.993  1.00 15.89           C  
+ATOM   4967  CA  LEU C 258      20.377  18.297   0.919  1.00 20.74           C  
+ATOM   4975  CA  TRP C 259      23.388  16.939  -0.965  1.00 23.45           C  
+ATOM   4989  CA  GLU C 260      25.645  18.669   1.563  1.00 24.08           C  
+ATOM   4998  CA  LEU C 261      23.573  17.378   4.477  1.00 24.74           C  
+ATOM   5006  CA  LEU C 262      24.020  13.928   2.938  1.00 26.14           C  
+ATOM   5014  CA  LYS C 263      27.792  14.091   3.402  1.00 25.40           C  
+ATOM   5023  CA  LYS C 264      27.457  14.521   7.176  1.00 31.47           C  
+ATOM   5032  CA  ASP C 265      27.877  11.474   9.425  1.00 35.31           C  
+ATOM   5040  CA  ASN C 266      24.934  12.482  11.620  1.00 29.63           C  
+ATOM   5048  CA  THR C 267      22.321  12.795   8.832  1.00 28.00           C  
+ATOM   5055  CA  TYR C 268      19.556  10.160   8.808  1.00 27.00           C  
+ATOM   5067  CA  VAL C 269      17.143   9.903   5.884  1.00 24.65           C  
+ATOM   5074  CA  TYR C 270      13.890   8.016   6.276  1.00 23.37           C  
+ATOM   5086  CA  MET C 271      11.373   7.327   3.518  1.00 18.93           C  
+ATOM   5094  CA  CYS C 272       7.834   6.074   4.043  1.00 18.24           C  
+ATOM   5100  CA  GLY C 273       4.784   5.874   1.826  1.00 22.39           C  
+ATOM   5104  CA  LEU C 274       3.837   4.483  -1.568  1.00 26.95           C  
+ATOM   5112  CA  LYS C 275       6.305   2.384  -3.532  1.00 32.36           C  
+ATOM   5121  CA  GLY C 276       7.741   4.199  -6.514  1.00 37.46           C  
+ATOM   5125  CA  MET C 277       7.714   7.455  -4.608  1.00 28.76           C  
+ATOM   5133  CA  GLU C 278      11.430   6.639  -4.425  1.00 32.22           C  
+ATOM   5142  CA  LYS C 279      12.017   6.321  -8.153  1.00 29.94           C  
+ATOM   5151  CA  GLY C 280      11.317  10.057  -8.293  1.00 24.18           C  
+ATOM   5155  CA  ILE C 281      13.766  10.673  -5.460  1.00 23.68           C  
+ATOM   5163  CA  ASP C 282      16.431   8.365  -6.934  1.00 26.58           C  
+ATOM   5171  CA  ASP C 283      16.211  10.530 -10.054  1.00 28.70           C  
+ATOM   5179  CA  ILE C 284      17.089  13.937  -8.538  1.00 27.28           C  
+ATOM   5187  CA  MET C 285      19.706  12.222  -6.388  1.00 27.45           C  
+ATOM   5195  CA  VAL C 286      21.377  10.712  -9.470  1.00 30.74           C  
+ATOM   5202  CA  SER C 287      21.619  14.159 -11.061  1.00 32.14           C  
+ATOM   5208  CA  LEU C 288      23.240  15.463  -7.873  1.00 34.20           C  
+ATOM   5216  CA  ALA C 289      25.801  12.653  -7.874  1.00 40.16           C  
+ATOM   5221  CA  GLU C 290      26.837  12.825 -11.536  1.00 41.84           C  
+ATOM   5230  CA  LYS C 291      27.855  16.387 -10.793  1.00 43.17           C  
+ATOM   5239  CA  ASP C 292      30.299  15.115  -8.139  1.00 41.84           C  
+ATOM   5247  CA  GLY C 293      31.237  12.232 -10.420  1.00 46.12           C  
+ATOM   5251  CA  ILE C 294      30.053   9.669  -7.864  1.00 45.54           C  
+ATOM   5259  CA  ASP C 295      27.399   6.998  -8.480  1.00 41.14           C  
+ATOM   5267  CA  TRP C 296      24.222   7.605  -6.479  1.00 30.67           C  
+ATOM   5281  CA  PHE C 297      23.381   3.910  -6.151  1.00 31.97           C  
+ATOM   5292  CA  ASP C 298      26.856   2.916  -4.907  1.00 38.12           C  
+ATOM   5300  CA  TYR C 299      26.671   5.875  -2.540  1.00 39.05           C  
+ATOM   5312  CA  LYS C 300      23.196   4.971  -1.294  1.00 41.63           C  
+ATOM   5321  CA  LYS C 301      24.542   1.489  -0.577  1.00 43.40           C  
+ATOM   5330  CA  GLN C 302      27.207   3.064   1.608  1.00 43.79           C  
+ATOM   5339  CA  LEU C 303      24.476   5.181   3.238  1.00 41.51           C  
+ATOM   5347  CA  LYS C 304      22.138   2.343   4.264  1.00 45.18           C  
+ATOM   5356  CA  ARG C 305      25.322   0.535   5.256  1.00 46.65           C  
+ATOM   5367  CA  GLY C 306      25.613   3.181   7.945  1.00 40.29           C  
+ATOM   5371  CA  ASP C 307      21.954   3.487   8.940  1.00 41.21           C  
+ATOM   5379  CA  GLN C 308      21.463   6.730   7.023  1.00 35.55           C  
+ATOM   5388  CA  TRP C 309      18.961   5.674   4.361  1.00 31.22           C  
+ATOM   5402  CA  ASN C 310      16.018   3.728   5.752  1.00 31.61           C  
+ATOM   5410  CA  VAL C 311      13.120   2.841   3.452  1.00 32.13           C  
+ATOM   5417  CA  GLU C 312       9.705   1.332   4.261  1.00 31.51           C  
+ATOM   5426  CA  VAL C 313       7.466   1.606   1.209  1.00 26.39           C  
+ATOM   5433  CA  TYR C 314       4.403  -0.343   0.111  1.00 25.42           C  
index d82ff48..0b949de 100755 (executable)
@@ -1 +1 @@
-(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);\r
+(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);
index 3b93622..e19c0be 100644 (file)
@@ -1,16 +1,16 @@
-/**\r
- * Copyright 2010 Tim Down.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+/**
+ * Copyright 2010 Tim Down.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();
\ No newline at end of file
index 6962276..fbc3638 100644 (file)
-/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson\r
-\r
- checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm\r
-\r
-    based on:\r
- *\r
- * Copyright (C) 2004-2005  Miguel, Jmol Development, www.jmol.org\r
- *\r
- * Contact: hansonr@stolaf.edu\r
- *\r
- *  This library is free software; you can redistribute it and/or\r
- *  modify it under the terms of the GNU Lesser General Public\r
- *  License as published by the Free Software Foundation; either\r
- *  version 2.1 of the License, or (at your option) any later version.\r
- *\r
- *  This library is distributed in the hope that it will be useful,\r
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
- *  Lesser General Public License for more details.\r
- *\r
- *  You should have received a copy of the GNU Lesser General Public\r
- *  License along with this library; if not, write to the Free Software\r
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA\r
- *  02111-1307  USA.\r
- */\r
-\r
-// for documentation see www.jmol.org/jslibrary\r
-\r
-try{if(typeof(_jmol)!="undefined")exit()\r
-\r
-// place "?NOAPPLET" on your command line to check applet control action with a textarea\r
-// place "?JMOLJAR=xxxxx" to use a specific jar file\r
-\r
-// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)\r
-//    angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet\r
-// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006\r
-// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006\r
-// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006\r
-// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006\r
-// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.\r
-// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006\r
-// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006\r
-// bob hanson -- fix for iframes not available for finding applet\r
-// bob hanson -- added applet fake ?NOAPPLET URL flag\r
-// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006\r
-//                     used PRIOR to jmolApplet() or jmolAppletInline()\r
-//               added 4th array element in jmolRadioGroup -- title\r
-//               added <span> and id around link, checkbox, radio, menu\r
-//               fixing AJAX loads for MSIE/Opera-Mozilla incompatibility\r
-//            -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar\r
-//              renamed Jmol.js for Jmol 11 distribution\r
-//            -- modified jmolRestoreOrientation() to be immediate, no 1-second delay\r
-// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006\r
-// bh         -- jmolCommandInput()\r
-// bh         -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues\r
-// bh         -- minor fixes suggested by Angel\r
-// bh         -- adds jmolSetSyncId() and jmolGetSyncId()\r
-// bh 3/2008  -- adds jmolAppendInlineScript() and jmolAppendInlineArray()\r
-// bh 3/2008  -- fixes IE7 bug in relation to jmolLoadInlineArray()\r
-// bh 6/2008  -- adds jmolSetAppletWindow()\r
-// Angel H. 6/2008  -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]\r
-// bh 7/2008  -- code fix "for(i..." not "for(var i..."\r
-// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)\r
-// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console\r
-\r
-// bh 5/2009  -- Support for XHTML using jmolSetXHTML(id)\r
-// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax\r
-// bh 11/2009 -- care in accessing top.document\r
-// bh 12/2009 -- added jmolSetParameter(name, value)\r
-// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line\r
-// bh 12/2009 -- overhaul of target checking\r
-// bh 1/2010  -- all _xxxx() methods ALWAYS have complete argument list\r
-// bh 1/2010  -- adds option to run a JavaScript function from any Jmol control. \r
-//               This is accomplished by passing an array rather than a script:\r
-//               jmolHref([myfunc,"my param 1", "my param 2"], "testing")\r
-//               function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}\r
-//               and allows much more flexibility with responding to controls\r
-// bh 4/2010  -- added jmolSetMemoryMb(nMb)\r
-// ah 1/2011  -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; \r
-//               fix of object tag (removed classid) accounts for change of behavior in Chrome\r
-// bh 3/2011  -- added jmolLoadAjax_STOLAF_NIH\r
-\r
-var defaultdir = "."\r
-var defaultjar = "JmolApplet.jar"\r
-\r
-\r
-// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:\r
-\r
-// JMOLJAR=xxxxx.jar on the URL for this page will override\r
-// the JAR file specified in the jmolInitialize() call.\r
-\r
-// The idea is that it can be very useful to test a web page with different JAR files\r
-// Or for an expert user to substitute a signed applet for an unsigned one\r
-// so as to use a broader range of models or to create JPEG files, for example.\r
-\r
-// If the JAR file is not in the current directory (has any sort of "/" in its name)\r
-// then the user is presented with a warning and asked whether it is OK to change Jar files.\r
-// The default action, if the user just presses "OK" is to NOT allow the change. \r
-// The user must type the word "yes" in the prompt box for the change to be approved.\r
-\r
-// If you don't want people to be able to switch in their own JAR file on your page,\r
-// simply set this next line to read "var allowJMOLJAR = false".\r
-\r
-\r
-var undefined; // for IE 5 ... wherein undefined is undefined\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Basic Scripting infrastruture\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {\r
-  if (_jmol.initialized)\r
-    return;\r
-  _jmol.initialized = true;\r
-  if(_jmol.jmoljar) {\r
-    var f = _jmol.jmoljar;\r
-    if (f.indexOf("/") >= 0) {\r
-      alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")\r
-      var ok = prompt("Do you want to use applet " + f + "? ","yes or no")\r
-      if (ok == "yes") {\r
-        codebaseDirectory = f.substring(0, f.lastIndexOf("/"));\r
-        fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);\r
-      } else {\r
-       _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
-        alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');\r
-      }\r
-    } else {\r
-      fileNameOrUseSignedApplet = f;\r
-    }\r
-  }\r
-  _jmolSetCodebase(codebaseDirectory);\r
-  _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
-  _jmolOnloadResetForms();\r
-}\r
-\r
-function jmolSetTranslation(TF) {\r
-  _jmol.params.doTranslate = ''+TF;\r
-}\r
-\r
-function _jmolGetJarFilename(fileNameOrFlag) {\r
-  _jmol.archivePath =\r
-    (typeof(fileNameOrFlag) == "string"  ? fileNameOrFlag : (fileNameOrFlag ?  "JmolAppletSigned" : "JmolApplet") + "0.jar");\r
-}\r
-\r
-function jmolSetDocument(doc) {\r
-  _jmol.currentDocument = doc;\r
-}\r
-\r
-function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {\r
-  _jmolInitCheck();\r
-  _jmol.params.boxbgcolor = boxbgcolor;\r
-  if (boxfgcolor)\r
-    _jmol.params.boxfgcolor = boxfgcolor\r
-  else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")\r
-    _jmol.params.boxfgcolor = "black";\r
-  else\r
-    _jmol.params.boxfgcolor = "white";\r
-  if (progresscolor)\r
-    _jmol.params.progresscolor = progresscolor;\r
-  if (_jmol.debugAlert)\r
-    alert(" boxbgcolor=" + _jmol.params.boxbgcolor +\r
-          " boxfgcolor=" + _jmol.params.boxfgcolor +\r
-          " progresscolor=" + _jmol.params.progresscolor);\r
-}\r
-\r
-function jmolSetAppletWindow(w) {\r
-  _jmol.appletWindow = w;\r
-}\r
-\r
-function jmolApplet(size, script, nameSuffix) {\r
-  _jmolInitCheck();\r
-  return _jmolApplet(size, null, script, nameSuffix);\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Basic controls\r
-////////////////////////////////////////////////////////////////\r
-\r
-// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)\r
-\r
-function jmolButton(script, label, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);\r
-  label != undefined && label != null || (label = script.substring(0, 32));\r
-  ++_jmol.buttonCount;\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +\r
-          "' value='" + label +\r
-          "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +\r
-          ")' onmouseover='_jmolMouseOver(" + scriptIndex +\r
-          ");return true' onmouseout='_jmolMouseOut()' " +\r
-          _jmol.buttonCssText + " /></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,\r
-                      labelHtml, isChecked, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);\r
-  ++_jmol.checkboxCount;\r
-  if (scriptWhenChecked == undefined || scriptWhenChecked == null ||\r
-      scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {\r
-    alert("jmolCheckbox requires two scripts");\r
-    return;\r
-  }\r
-  if (labelHtml == undefined || labelHtml == null) {\r
-    alert("jmolCheckbox requires a label");\r
-    return;\r
-  }\r
-  var indexChecked = _jmolAddScript(scriptWhenChecked);\r
-  var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);\r
-  var eospan = "</span>"\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +\r
-          "' onclick='_jmolCbClick(this," +\r
-          indexChecked + "," + indexUnchecked + _jmol.targetText +\r
-          ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +\r
-          indexUnchecked +\r
-          ");return true' onmouseout='_jmolMouseOut()' " +\r
-         (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" \r
-  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
-       t += eospan\r
-       eospan = "";\r
-  }\r
-  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolStartNewRadioGroup() {\r
-  ++_jmol.radioGroupCount;\r
-}\r
-\r
-function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {\r
-  /*\r
-\r
-    array: [radio1,radio2,radio3...]\r
-    where radioN = ["script","label",isSelected,"id","title"]\r
-\r
-  */\r
-\r
-  _jmolInitCheck();\r
-  var type = typeof arrayOfRadioButtons;\r
-  if (type != "object" || type == null || ! arrayOfRadioButtons.length) {\r
-    alert("invalid arrayOfRadioButtons");\r
-    return;\r
-  }\r
-  separatorHtml != undefined && separatorHtml != null || (separatorHtml = "&nbsp; ");\r
-  var len = arrayOfRadioButtons.length;\r
-  jmolStartNewRadioGroup();\r
-  groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
-  var t = "<span id='"+(id ? id : groupName)+"'>";\r
-  for (var i = 0; i < len; ++i) {\r
-    if (i == len - 1)\r
-      separatorHtml = "";\r
-    var radio = arrayOfRadioButtons[i];\r
-    type = typeof radio;\r
-    if (type == "object") {\r
-      t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);\r
-    } else {\r
-      t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);\r
-    }\r
-  }\r
-  t+="</span>"\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-\r
-function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
-  _jmolInitCheck();\r
-  if (_jmol.radioGroupCount == 0)\r
-    ++_jmol.radioGroupCount;\r
-  var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolLink(script, label, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);\r
-  label != undefined && label != null || (label = script.substring(0, 32));\r
-  ++_jmol.linkCount;\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + \r
-          "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +\r
-          ");return true;' onmouseout='_jmolMouseOut()' " +\r
-          _jmol.linkCssText + ">" + label + "</a></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolCommandInput(label, size, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);\r
-  label != undefined && label != null || (label = "Execute");\r
-  size != undefined && !isNaN(size) || (size = 60);\r
-  ++_jmol.cmdCount;\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + \r
-          "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function _jmolCommandKeyPress(e, id, target) {\r
-       var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);\r
-       if (keycode == 13) {\r
-               var inputBox = document.getElementById(id)\r
-               _jmolScriptExecute(inputBox, inputBox.value, target)\r
-       }\r
-}\r
-\r
-function _jmolScriptExecute(element,script,target) {\r
-       if (typeof(script) == "object")\r
-               script[0](element, script, target)\r
-       else\r
-               jmolScript(script, target) \r
-}\r
-\r
-function jmolMenu(arrayOfMenuItems, size, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);\r
-  ++_jmol.menuCount;\r
-  var type = typeof arrayOfMenuItems;\r
-  if (type != null && type == "object" && arrayOfMenuItems.length) {\r
-    var len = arrayOfMenuItems.length;\r
-    if (typeof size != "number" || size == 1)\r
-      size = null;\r
-    else if (size < 0)\r
-      size = len;\r
-    var sizeText = size ? " size='" + size + "' " : "";\r
-    var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +\r
-            "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +\r
-            sizeText + _jmol.menuCssText + ">";\r
-    for (var i = 0; i < len; ++i) {\r
-      var menuItem = arrayOfMenuItems[i];\r
-      type = typeof menuItem;\r
-      var script, text;\r
-      var isSelected = undefined;\r
-      if (type == "object" && menuItem != null) {\r
-        script = menuItem[0];\r
-        text = menuItem[1];\r
-        isSelected = menuItem[2];\r
-      } else {\r
-        script = text = menuItem;\r
-      }\r
-      text != undefined && text != null || (text = script);            \r
-      if (script=="#optgroup") {\r
-        t += "<optgroup label='" + text + "'>";          \r
-         } else if (script=="#optgroupEnd") {\r
-        t += "</optgroup>";      \r
-         } else {              \r
-        var scriptIndex = _jmolAddScript(script);\r
-        var selectedText = isSelected ? "' selected='true'>" : "'>";\r
-        t += "<option value='" + scriptIndex + selectedText + text + "</option>";\r
-      }\r
-    }\r
-    t += "</select></span>";\r
-    if (_jmol.debugAlert)\r
-      alert(t);\r
-    return _jmolDocumentWrite(t);\r
-  }\r
-}\r
-\r
-function jmolHtml(html) {\r
-  return _jmolDocumentWrite(html);\r
-}\r
-\r
-function jmolBr() {\r
-  return _jmolDocumentWrite("<br />");\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// advanced scripting functions\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolDebugAlert(enableAlerts) {\r
-  _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)\r
-}\r
-\r
-function jmolAppletInline(size, inlineModel, script, nameSuffix) {\r
-  _jmolInitCheck();\r
-  return _jmolApplet(size, _jmolSterilizeInline(inlineModel),\r
-                     script, nameSuffix);\r
-}\r
-\r
-function jmolSetTarget(targetSuffix) {\r
-  _jmol.targetSuffix = targetSuffix;\r
-  _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";\r
-}\r
-\r
-function jmolScript(script, targetSuffix) {\r
-  if (script) {\r
-    _jmolCheckBrowser();\r
-    if (targetSuffix == "all") {\r
-      with (_jmol) {\r
-       for (var i = 0; i < appletSuffixes.length; ++i) {\r
-         var applet = _jmolGetApplet(appletSuffixes[i]);\r
-          if (applet) applet.script(script);\r
-        }\r
-      }\r
-    } else {\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.script(script);\r
-    }\r
-  }\r
-}\r
-\r
-function jmolLoadInline(model, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  if (typeof(model) == "string")\r
-    return applet.loadInlineString(model, "", false);\r
-  else\r
-    return applet.loadInlineArray(model, "", false);\r
-}\r
-\r
-\r
-function jmolLoadInlineScript(model, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  return applet.loadInlineString(model, script, false);\r
-}\r
-\r
-\r
-function jmolLoadInlineArray(ModelArray, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  script || (script="")\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  try {\r
-    return applet.loadInlineArray(ModelArray, script, false);\r
-  } catch (err) {\r
-    //IE 7 bug\r
-    return applet.loadInlineString(ModelArray.join("\n"), script, false);\r
-  }\r
-}\r
-\r
-function jmolAppendInlineArray(ModelArray, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  script || (script="")\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  try {\r
-    return applet.loadInlineArray(ModelArray, script, true);\r
-  } catch (err) {\r
-    //IE 7 bug\r
-    return applet.loadInlineString(ModelArray.join("\n"), script, true);\r
-  }\r
-}\r
-\r
-function jmolAppendInlineScript(model, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  return applet.loadInlineString(model, script, true);\r
-}\r
-\r
-function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {\r
-  if (typeof action == "string") {\r
-    action = action.toLowerCase();\r
-    action == "alert" || action == "redirect" || action == "popup" || (action = null);\r
-  }\r
-  if (typeof action != "string")\r
-    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
-          "action must be 'alert', 'redirect', or 'popup'");\r
-  else {\r
-    if (typeof urlOrMessage != "string")\r
-      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
-            "urlOrMessage must be a string");\r
-    else {\r
-      _jmol.checkBrowserAction = action;\r
-      _jmol.checkBrowserUrlOrMessage = urlOrMessage;\r
-    }\r
-  }\r
-  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")\r
-    _jmolCheckBrowser();\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Cascading Style Sheet Class support\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolSetAppletCssClass(appletCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.appletCssClass = appletCssClass;\r
-    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetButtonCssClass(buttonCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.buttonCssClass = buttonCssClass;\r
-    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetCheckboxCssClass(checkboxCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.checkboxCssClass = checkboxCssClass;\r
-    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetRadioCssClass(radioCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.radioCssClass = radioCssClass;\r
-    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetLinkCssClass(linkCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.linkCssClass = linkCssClass;\r
-    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetMenuCssClass(menuCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.menuCssClass = menuCssClass;\r
-    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// functions for INTERNAL USE ONLY which are subject to change\r
-// use at your own risk ... you have been WARNED!\r
-////////////////////////////////////////////////////////////////\r
-var _jmol = {\r
-  currentDocument: document,\r
-\r
-  debugAlert: false,\r
-  \r
-  codebase: "",\r
-  modelbase: ".",\r
-  \r
-  appletCount: 0,\r
-  appletSuffixes: [],\r
-  appletWindow: null,\r
-  allowedJmolSize: [25, 2048, 300],   // min, max, default (pixels)\r
-         /*  By setting the _jmol.allowedJmolSize[] variable in the webpage \r
-             before calling jmolApplet(), limits for applet size can be overriden.\r
-                   2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)\r
-         */  \r
-  buttonCount: 0,\r
-  checkboxCount: 0,\r
-  linkCount: 0,\r
-  cmdCount: 0,\r
-  menuCount: 0,\r
-  radioCount: 0,\r
-  radioGroupCount: 0,\r
-  \r
-  appletCssClass: null,\r
-  appletCssText: "",\r
-  buttonCssClass: null,\r
-  buttonCssText: "",\r
-  checkboxCssClass: null,\r
-  checkboxCssText: "",\r
-  java_arguments: "-Xmx512m",\r
-  radioCssClass: null,\r
-  radioCssText: "",\r
-  linkCssClass: null,\r
-  linkCssText: "",\r
-  menuCssClass: null,\r
-  menuCssText: "",\r
-  \r
-  targetSuffix: 0,\r
-  targetText: ",0",\r
-  scripts: [""],\r
-  params: {\r
-       syncId: ("" + Math.random()).substring(3),\r
-       progressbar: "true",\r
-       progresscolor: "blue",\r
-       boxbgcolor: "black",\r
-       boxfgcolor: "white",\r
-       boxmessage: "Downloading JmolApplet ..."\r
-  },\r
-  ua: navigator.userAgent.toLowerCase(),\r
-  // uaVersion: parseFloat(navigator.appVersion),  // not used\r
-  \r
-  os: "unknown",\r
-  browser: "unknown",\r
-  browserVersion: 0,\r
-  hasGetElementById: !!document.getElementById,\r
-  isJavaEnabled: navigator.javaEnabled(),\r
-  // isNetscape47Win: false,  // not used, N4.7 is no longer supported even for detection\r
-  useIEObject: false,\r
-  useHtml4Object: false,\r
-  \r
-  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",\r
-  windowsCabUrl:\r
-   "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",\r
-\r
-  isBrowserCompliant: false,\r
-  isJavaCompliant: false,\r
-  isFullyCompliant: false,\r
-\r
-  initialized: false,\r
-  initChecked: false,\r
-  \r
-  browserChecked: false,\r
-  checkBrowserAction: "alert",\r
-  checkBrowserUrlOrMessage: null,\r
-\r
-  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar\r
-\r
-  previousOnloadHandler: null,\r
-\r
-  jmoljar: null,  \r
-  useNoApplet: false,\r
-\r
-  ready: {}\r
-}\r
-\r
-with (_jmol) {\r
-  function _jmolTestUA(candidate) {\r
-    var ua = _jmol.ua;\r
-    var index = ua.indexOf(candidate);\r
-    if (index < 0)\r
-      return false;\r
-    _jmol.browser = candidate;\r
-    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));\r
-    return true;\r
-  }\r
-  \r
-  function _jmolTestOS(candidate) {\r
-    if (_jmol.ua.indexOf(candidate) < 0)\r
-      return false;\r
-    _jmol.os = candidate;\r
-    return true;\r
-  }\r
-  \r
-  _jmolTestUA("konqueror") ||\r
-  _jmolTestUA("webkit") ||\r
-  _jmolTestUA("omniweb") ||\r
-  _jmolTestUA("opera") ||\r
-  _jmolTestUA("webtv") ||\r
-  _jmolTestUA("icab") ||\r
-  _jmolTestUA("msie") ||\r
-  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated\r
-  \r
-  _jmolTestOS("linux") ||\r
-  _jmolTestOS("unix") ||\r
-  _jmolTestOS("mac") ||\r
-  _jmolTestOS("win");\r
-\r
-  /* not used:\r
-       isNetscape47Win = (os == "win" && browser == "mozilla" &&\r
-                     browserVersion >= 4.78 && browserVersion <= 4.8);\r
-       */\r
-\r
-  if (os == "win") {\r
-    isBrowserCompliant = hasGetElementById;\r
-  } else if (os == "mac") { // mac is the problem child :-(\r
-    if (browser == "mozilla" && browserVersion >= 5) {\r
-      // miguel 2004 11 17\r
-      // checking the plugins array does not work because\r
-      // Netscape 7.2 OS X still has Java 1.3.1 listed even though\r
-      // javaplugin.sf.net is installed to upgrade to 1.4.2\r
-      eval("try {var v = java.lang.System.getProperty('java.version');" +\r
-           " _jmol.isBrowserCompliant = v >= '1.4.2';" +\r
-           " } catch (e) { }");\r
-    } else if (browser == "opera" && browserVersion <= 7.54) {\r
-      isBrowserCompliant = false;\r
-    } else {\r
-      isBrowserCompliant = hasGetElementById &&\r
-        !((browser == "msie") ||\r
-          (browser == "webkit" && browserVersion < 125.12));\r
-    }\r
-  } else if (os == "linux" || os == "unix") {\r
-    if (browser == "konqueror" && browserVersion <= 3.3)\r
-      isBrowserCompliant = false;\r
-    else\r
-      isBrowserCompliant = hasGetElementById;\r
-  } else { // other OS\r
-    isBrowserCompliant = hasGetElementById;\r
-  }\r
-\r
-  // possibly more checks in the future for this\r
-  isJavaCompliant = isJavaEnabled;\r
-\r
-  isFullyCompliant = isBrowserCompliant && isJavaCompliant;\r
-\r
-  useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);\r
-  useHtml4Object =\r
-   (browser == "mozilla" && browserVersion >= 5) ||\r
-   (browser == "opera" && browserVersion >= 8) ||\r
-   (browser == "webkit" && browserVersion >= 412.2);\r
- try {\r
-  if (top.location.search.indexOf("JMOLJAR=")>=0)\r
-    jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];\r
- } catch(e) {\r
-  // can't access top.location\r
- }\r
- try {\r
-  useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);\r
- } catch(e) {\r
-  // can't access top.document\r
- }\r
-}\r
-\r
-function jmolSetMemoryMb(nMb) {\r
-  _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"\r
-}\r
-\r
-function jmolSetParameter(name,value) {\r
-  _jmol.params[name] = value\r
-}\r
-\r
-function jmolSetCallback(callbackName,funcName) {\r
-  _jmol.params[callbackName] = funcName\r
-}\r
-\r
- try {\r
-// note this is done FIRST, so it cannot override a setting done by the developer\r
-  if (top.location.search.indexOf("PARAMS=")>=0) {\r
-    var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");\r
-    for (var i = 0; i < pars.length; i++) {\r
-      var p = pars[i].split(":");\r
-      jmolSetParameter(p[0],p[1]);\r
-    }\r
-  }\r
- } catch(e) {\r
-  // can't access top.location\r
- }\r
-\r
-function jmolSetSyncId(n) {\r
-  return _jmol.params["syncId"] = n\r
-}\r
-\r
-function jmolGetSyncId() {\r
-  return _jmol.params["syncId"]\r
-}\r
-\r
-function jmolSetLogLevel(n) {\r
-  _jmol.params.logLevel = ''+n;\r
-}\r
-\r
-       /*  AngelH, mar2007:\r
-               By (re)setting these variables in the webpage before calling jmolApplet(), \r
-               a custom message can be provided (e.g. localized for user's language) when no Java is installed.\r
-       */\r
-if (noJavaMsg==undefined) var noJavaMsg = \r
-        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +\r
-        "Check the warning message from your browser and/or enable Java applets in<br />\n" +\r
-        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";\r
-if (noJavaMsg2==undefined) var noJavaMsg2 = \r
-        "You do not have the<br />\n" +\r
-        "Java Runtime Environment<br />\n" +\r
-        "installed for applet support.<br />\n" +\r
-        "Visit <a href='http://www.java.com'>www.java.com</a>";\r
-function _jmolApplet(size, inlineModel, script, nameSuffix) {\r
-       /*  AngelH, mar2007\r
-               Fixed percent / pixel business, to avoid browser errors:\r
-               put "px" where needed, avoid where not.\r
-\r
-           Bob Hanson, 1/2010\r
-               Fixed inline escape changing returns to |               \r
-       */\r
-  with (_jmol) {\r
-    nameSuffix == undefined && (nameSuffix = appletCount);\r
-    appletSuffixes.push(nameSuffix);\r
-    ++appletCount;\r
-    script || (script = "select *");\r
-    var sz = _jmolGetAppletSize(size);\r
-    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";\r
-    var tHeader, tFooter;\r
-    codebase || jmolInitialize(".");\r
-    if (useIEObject || useHtml4Object) {\r
-      params.archive = archivePath;\r
-      params.mayscript = 'true';\r
-      params.codebase = codebase;\r
-      params.code = 'JmolApplet';\r
-      tHeader = \r
-        "<object name='jmolApplet" + nameSuffix +\r
-        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
-                               widthAndHeight + "\n";\r
-      tFooter = "</object>";\r
-    }\r
-    if (java_arguments)\r
-      params.java_arguments = java_arguments;\r
-    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference\r
-      tHeader += " classid='" + windowsClassId + "'\n" +\r
-      (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";\r
-    } else if (useHtml4Object) { // use HTML4 object tag\r
-      tHeader += " type='application/x-java-applet'\n>\n";\r
-                               /*      " classid='java:JmolApplet'\n" +        AH removed this\r
-                                 Chromium Issue 62076:         Java Applets using an <object> with a classid paramater don't load.\r
-                                       http://code.google.com/p/chromium/issues/detail?id=62076\r
-                                       They say this is the correct behavior according to the spec, and there's no indication at this point \r
-                                       that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.\r
-                                       Removing the classid parameter seems to be well tolerated by all browsers (even IE!).\r
-                               */\r
-    } else { // use applet tag\r
-      tHeader = \r
-        "<applet name='jmolApplet" + nameSuffix +\r
-        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
-                               widthAndHeight + "\n" +\r
-        " code='JmolApplet'" +\r
-        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +\r
-        " mayscript='true'>\n";\r
-      tFooter = "</applet>";\r
-    }\r
-    var visitJava;\r
-    if (useIEObject || useHtml4Object) {\r
-               var szX = "width:" + sz[0]\r
-               if ( szX.indexOf("%")==-1 ) szX+="px" \r
-               var szY = "height:" + sz[1]\r
-               if ( szY.indexOf("%")==-1 ) szY+="px" \r
-      visitJava =\r
-        "<p style='background-color:yellow; color:black; " +\r
-               szX + ";" + szY + ";" +\r
-        // why doesn't this vertical-align work?\r
-       "text-align:center;vertical-align:middle;'>\n" +\r
-               noJavaMsg +\r
-        "</p>";\r
-    } else {\r
-      visitJava =\r
-        "<table bgcolor='yellow'><tr>" +\r
-        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +\r
-               noJavaMsg2 +\r
-        "</font></td></tr></table>";\r
-    }\r
-    params.loadInline = (inlineModel ? inlineModel : "");\r
-    params.script = (script ? _jmolSterilizeScript(script) : "");\r
-    var t = tHeader + _jmolParams() + visitJava + tFooter;\r
-    jmolSetTarget(nameSuffix);\r
-    ready["jmolApplet" + nameSuffix] = false;\r
-    if (_jmol.debugAlert)\r
-      alert(t);\r
-    return _jmolDocumentWrite(t);\r
-  }\r
-}\r
-\r
-function _jmolParams() {\r
- var t = "";\r
- for (var i in _jmol.params)\r
-       if(_jmol.params[i]!="")\r
-                t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";\r
- return t\r
-}\r
-\r
-function _jmolInitCheck() {\r
-  if (_jmol.initChecked)\r
-    return;\r
-  _jmol.initChecked = true;\r
-  jmolInitialize(defaultdir, defaultjar)\r
-}\r
-\r
-function _jmolCheckBrowser() {\r
-  with (_jmol) {\r
-    if (browserChecked)\r
-      return;\r
-    browserChecked = true;\r
-  \r
-    if (isFullyCompliant)\r
-      return true;\r
-\r
-    if (checkBrowserAction == "redirect")\r
-      location.href = checkBrowserUrlOrMessage;\r
-    else if (checkBrowserAction == "popup")\r
-      _jmolPopup(checkBrowserUrlOrMessage);\r
-    else {\r
-      var msg = checkBrowserUrlOrMessage;\r
-      if (msg == null)\r
-        msg = "Your web browser is not fully compatible with Jmol\n\n" +\r
-              "browser: " + browser +\r
-              "   version: " + browserVersion +\r
-              "   os: " + os +\r
-              "   isBrowserCompliant: " + isBrowserCompliant +\r
-              "   isJavaCompliant: " + isJavaCompliant +\r
-              "\n\n" + ua;\r
-      alert(msg);\r
-    }\r
-  }\r
-  return false;\r
-}\r
-\r
-function jmolSetXHTML(id) {\r
-       _jmol.isXHTML = true\r
-       _jmol.XhtmlElement = null\r
-       _jmol.XhtmlAppendChild = false\r
-       if (id){\r
-               _jmol.XhtmlElement = document.getElementById(id)\r
-               _jmol.XhtmlAppendChild = true\r
-       }\r
-}\r
-\r
-function _jmolDocumentWrite(text) {\r
-       if (_jmol.currentDocument) {\r
-               if (_jmol.isXHTML && !_jmol.XhtmlElement) {\r
-                       var s = document.getElementsByTagName("script")\r
-                       _jmol.XhtmlElement = s.item(s.length - 1)\r
-                       _jmol.XhtmlAppendChild = false\r
-               }\r
-               if (_jmol.XhtmlElement) {\r
-                       _jmolDomDocumentWrite(text)\r
-               } else {\r
-                       _jmol.currentDocument.write(text);\r
-               }\r
-       }\r
-       return text;\r
-}\r
-\r
-function _jmolDomDocumentWrite(data) {\r
-       var pt = 0\r
-       var Ptr = []\r
-       Ptr[0] = 0\r
-       while (Ptr[0] < data.length) {\r
-               var child = _jmolGetDomElement(data, Ptr)\r
-               if (!child)break\r
-               if (_jmol.XhtmlAppendChild)\r
-                       _jmol.XhtmlElement.appendChild(child)\r
-               else\r
-                       _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); \r
-       }\r
-}\r
-function _jmolGetDomElement(data, Ptr, closetag, lvel) {\r
-       var e = document.createElement("span")\r
-       e.innerHTML = data\r
-       Ptr[0] = data.length\r
-       return e\r
-\r
-//unnecessary?\r
-\r
-       closetag || (closetag = "")\r
-       lvel || (lvel = 0)\r
-       var pt0 = Ptr[0]\r
-       var pt = pt0\r
-       while (pt < data.length && data.charAt(pt) != "<") pt++\r
-       if (pt != pt0) {\r
-               var text = data.substring(pt0, pt)\r
-               Ptr[0] = pt\r
-               return document.createTextNode(text)\r
-       }       \r
-       pt0 = ++pt\r
-       var ch\r
-       while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++\r
-       var tagname = data.substring(pt0, pt)\r
-       var e = (tagname == closetag  || tagname == "/" ? "" \r
-               : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)\r
-               : document.createElement(tagname));\r
-       if (ch == ">") {\r
-               Ptr[0] = ++pt\r
-               return e\r
-       }\r
-       while (pt < data.length && (ch = data.charAt(pt)) != ">") {\r
-               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
-               pt0 = pt\r
-               while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++\r
-               var attrname = data.substring(pt0, pt).toLowerCase()\r
-               if (attrname && ch != "=") \r
-                       e.setAttribute(attrname, "true")\r
-               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
-               if (ch == "/") {\r
-                       Ptr[0] = pt + 2\r
-                       return e\r
-               } else if (ch == "=") {\r
-                       var quote = data.charAt(++pt)\r
-                       pt0 = ++pt\r
-                       while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++\r
-                       var attrvalue = data.substring(pt0, pt)\r
-                       e.setAttribute(attrname, attrvalue)\r
-                       pt++\r
-               }\r
-       }\r
-       Ptr[0] = ++pt\r
-       while (Ptr[0] < data.length) {\r
-               var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)\r
-               if (!child)break\r
-               e.appendChild(child)\r
-       }\r
-       return e\r
-}\r
-\r
-function _jmolPopup(url) {\r
-  var popup = window.open(url, "JmolPopup",\r
-                          "left=150,top=150,height=400,width=600," +\r
-                          "directories=yes,location=yes,menubar=yes," +\r
-                          "toolbar=yes," +\r
-                          "resizable=yes,scrollbars=yes,status=yes");\r
-  if (popup.focus)\r
-    poup.focus();\r
-}\r
-\r
-function _jmolReadyCallback(name) {\r
-  if (_jmol.debugAlert)\r
-    alert(name + " is ready");\r
-  _jmol.ready["" + name] = true;\r
-}\r
-\r
-function _jmolSterilizeScript(script) {\r
-  script = script.replace(/'/g, "&#39;");\r
-  if (_jmol.debugAlert)\r
-    alert("script:\n" + script);\r
-  return script;\r
-}\r
-\r
-function _jmolSterilizeInline(model) {\r
-  model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "&#39;");\r
-  if (_jmol.debugAlert)\r
-    alert("inline model:\n" + model);\r
-  return model;\r
-}\r
-\r
-function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
-  ++_jmol.radioCount;\r
-  groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
-  if (!script)\r
-    return "";\r
-  labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));\r
-  separatorHtml || (separatorHtml = "")\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var eospan = "</span>"\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" \r
-       + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +\r
-         scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +\r
-         scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +\r
-        (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"\r
-  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
-       t += eospan\r
-       eospan = "";\r
-  }\r
-  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;\r
-\r
-  return t;\r
-}\r
-\r
-function _jmolFindApplet(target) {\r
-  // first look for the target in the current window\r
-  var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);\r
-  // THEN look for the target in child frames\r
-  if (applet == undefined)\r
-    applet = _jmolSearchFrames(window, target);\r
-  // FINALLY look for the target in sibling frames\r
-  if (applet == undefined)\r
-    applet = _jmolSearchFrames(top, target); // look starting in top frame\r
-  return applet;\r
-}\r
-\r
-function _jmolGetApplet(targetSuffix){\r
- var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");\r
- var applet = _jmolFindApplet(target);\r
- if (applet) return applet\r
- _jmol.alerted || alert("could not find applet " + target);\r
- _jmol.alerted = true;\r
- return null\r
-}\r
-\r
-function _jmolSearchFrames(win, target) {\r
-  var applet;\r
-  var frames = win.frames;\r
-  if (frames && frames.length) { // look in all the frames below this window\r
-   try{\r
-    for (var i = 0; i < frames.length; ++i) {\r
-      applet = _jmolSearchFrames(frames[i], target);\r
-      if (applet)\r
-        return applet;\r
-    }\r
-   }catch(e) {\r
-       if (_jmol.debugAlert)\r
-               alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") \r
-   }\r
-  }\r
-  return applet = _jmolFindAppletInWindow(win, target)\r
-}\r
-\r
-function _jmolFindAppletInWindow(win, target) {\r
-    var doc = win.document;\r
-               if (doc.getElementById(target))\r
-      return doc.getElementById(target);\r
-    else if (doc.applets)\r
-      return doc.applets[target];\r
-    else\r
-      return doc[target]; \r
-}\r
-\r
-function _jmolAddScript(script) {\r
-  if (!script)\r
-    return 0;\r
-  var index = _jmol.scripts.length;\r
-  _jmol.scripts[index] = script;\r
-  return index;\r
-}\r
-\r
-function _jmolClick(elementClicked, scriptIndex, targetSuffix) {\r
-  _jmol.element = elementClicked;\r
-  _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);\r
-}\r
-\r
-function _jmolMenuSelected(menuObject, targetSuffix) {\r
-  var scriptIndex = menuObject.value;\r
-  if (scriptIndex != undefined) {\r
-    _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);\r
-    return;\r
-  }\r
-  var len = menuObject.length;\r
-  if (typeof len == "number") {\r
-    for (var i = 0; i < len; ++i) {\r
-      if (menuObject[i].selected) {\r
-        _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);\r
-       return;\r
-      }\r
-    }\r
-  }\r
-  alert("?Que? menu selected bug #8734");\r
-}\r
-\r
-\r
-_jmol.checkboxMasters = {};\r
-_jmol.checkboxItems = {};\r
-\r
-function jmolSetCheckboxGroup(chkMaster,chkBox) {\r
-       var id = chkMaster;\r
-       if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
-       chkMaster = document.getElementById(id);\r
-       if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);\r
-       var m = _jmol.checkboxMasters[id] = {};\r
-       m.chkMaster = chkMaster;\r
-       m.chkGroup = {};\r
-       for (var i = 1; i < arguments.length; i++){\r
-               var id = arguments[i];\r
-               if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
-               checkboxItem = document.getElementById(id);\r
-               if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);\r
-               m.chkGroup[id] = checkboxItem;\r
-               _jmol.checkboxItems[id] = m;\r
-       }\r
-}\r
-\r
-function _jmolNotifyMaster(m){\r
-       //called when a group item is checked\r
-       var allOn = true;\r
-       var allOff = true;\r
-       for (var chkBox in m.chkGroup){\r
-               if(m.chkGroup[chkBox].checked)\r
-                       allOff = false;\r
-               else\r
-                       allOn = false;\r
-       }\r
-       if (allOn)m.chkMaster.checked = true;   \r
-       if (allOff)m.chkMaster.checked = false;\r
-       if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])\r
-               _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])\r
-}\r
-\r
-function _jmolNotifyGroup(m, isOn){\r
-       //called when a master item is checked\r
-       for (var chkBox in m.chkGroup){\r
-               var item = m.chkGroup[chkBox]\r
-               item.checked = isOn;\r
-               if (_jmol.checkboxMasters[item.id])\r
-                       _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)\r
-       }\r
-}\r
-\r
-function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {\r
-  _jmol.control = ckbox\r
-  _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);\r
-  if(_jmol.checkboxMasters[ckbox.id])\r
-       _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)\r
-  if(_jmol.checkboxItems[ckbox.id])\r
-       _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])\r
-}\r
-\r
-function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {\r
-  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];\r
-}\r
-\r
-function _jmolMouseOver(scriptIndex) {\r
-  window.status = _jmol.scripts[scriptIndex];\r
-}\r
-\r
-function _jmolMouseOut() {\r
-  window.status = " ";\r
-  return true;\r
-}\r
-\r
-function _jmolSetCodebase(codebase) {\r
-  _jmol.codebase = codebase ? codebase : ".";\r
-  if (_jmol.debugAlert)\r
-    alert("jmolCodebase=" + _jmol.codebase);\r
-}\r
-\r
-function _jmolOnloadResetForms() {\r
-  // must be evaluated ONLY once\r
-  _jmol.previousOnloadHandler = window.onload;\r
-  window.onload =\r
-  function() {\r
-    with (_jmol) {\r
-      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {\r
-        var forms = document.forms;\r
-        for (var i = forms.length; --i >= 0; )\r
-          forms[i].reset();\r
-      }\r
-      if (previousOnloadHandler)\r
-        previousOnloadHandler();\r
-    }\r
-  }\r
-}\r
-\r
-////////////////////////////////////\r
-/////extensions for getProperty/////\r
-////////////////////////////////////\r
-\r
-\r
-function _jmolEvalJSON(s,key){\r
- s=s+""\r
- if(!s)return []\r
- if(s.charAt(0)!="{"){\r
-       if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")\r
-       return s\r
- }\r
- var A = eval("("+s+")")\r
- if(!A)return\r
- if(key && A[key])A=A[key]\r
- return A\r
-}\r
-\r
-function _jmolEnumerateObject(A,key){\r
- var sout=""\r
- if(typeof(A) == "string" && A!="null"){\r
-       sout+="\n"+key+"=\""+A+"\""\r
- }else if(!isNaN(A)||A==null){\r
-       sout+="\n"+key+"="+(A+""==""?"null":A)\r
- }else if(A.length){\r
-    sout+=key+"=[]"\r
-    for(var i=0;i<A.length;i++){\r
-       sout+="\n"\r
-       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
-               sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")\r
-       }else{\r
-               sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
-       }\r
-    }\r
- }else{\r
-    if(key != ""){\r
-       sout+=key+"={}"\r
-       key+="."\r
-    }\r
-    \r
-    for(var i in A){\r
-       sout+="\n"\r
-       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
-               sout+=_jmolEnumerateObject(A[i],key+i)\r
-       }else{\r
-               sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
-       }\r
-    }\r
- } \r
- return sout\r
-}\r
-\r
-\r
-function _jmolSortKey0(a,b){\r
- return (a[0]<b[0]?1:a[0]>b[0]?-1:0)\r
-}\r
-\r
-function _jmolSortMessages(A){\r
- if(!A || typeof(A)!="object")return []\r
- var B = []\r
- for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]\r
- if(B.length == 0) return\r
- B=B.sort(_jmolSortKey0)\r
- return B\r
-}\r
-\r
-/////////additional extensions //////////\r
-\r
-\r
-function _jmolDomScriptLoad(URL){\r
- //open(URL) //to debug\r
- _jmol.servercall=URL\r
- var node = document.getElementById("_jmolScriptNode")\r
- if (node && _jmol.browser!="msie"){\r
-    document.getElementsByTagName("HEAD")[0].removeChild(node)\r
-    node=null\r
- }\r
- if (node) {\r
-   node.setAttribute("src",URL)\r
- } else {\r
-   node=document.createElement("script")\r
-   node.setAttribute("id","_jmolScriptNode")\r
-   node.setAttribute("type","text/javascript")\r
-   node.setAttribute("src",URL)\r
-   document.getElementsByTagName("HEAD")[0].appendChild(node)\r
- }\r
-}\r
-\r
-\r
-function _jmolExtractPostData(url){\r
- S=url.split("&POST:")\r
- var s=""\r
- for(var i=1;i<S.length;i++){\r
-       KV=S[i].split("=")\r
-       s+="&POSTKEY"+i+"="+KV[0]\r
-       s+="&POSTVALUE"+i+"="+KV[1]\r
- }\r
- return "&url="+escape(S[0])+s\r
-}\r
-\r
-function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){\r
- //called by server, but in client\r
- //overload this function to customize return\r
- _jmol.remoteURL=remoteURL\r
- isError && alert(errorMessage)\r
- jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)\r
-}\r
-\r
-//////////user property/status functions/////////\r
-\r
-function jmolGetStatus(strStatus,targetSuffix){\r
- return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))\r
-}\r
-\r
-function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {\r
- return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)\r
-}\r
-\r
-function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {\r
- var applet = _jmolGetApplet(targetSuffix);\r
- sValue == undefined && (sValue="");\r
- return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")\r
-}\r
-\r
-function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {\r
- sValue == undefined && (sValue = "")\r
- var applet = _jmolGetApplet(targetSuffix);\r
- try {\r
-  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")\r
- } catch(e) {\r
-  return ""\r
- }\r
-}\r
-\r
-function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {\r
- sValue == undefined && (sValue = "")\r
- var applet = _jmolGetApplet(targetSuffix);\r
- return (applet ? applet.getProperty(sKey,sValue) : null)\r
-}\r
-\r
-\r
-function jmolDecodeJSON(s) {\r
- return _jmolEnumerateObject(_jmolEvalJSON(s),"")\r
-}\r
-\r
-\r
-///////// synchronous scripting ////////\r
-\r
-function jmolScriptWait(script, targetSuffix) {\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=0;j< Ret[i].length;j++)\r
-       s+=Ret[i][j]+"\n"\r
-  return s\r
-}\r
-\r
-function jmolScriptWaitOutput(script, targetSuffix) {\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var ret = ""\r
-  try{\r
-   if (script) {\r
-    _jmolCheckBrowser();\r
-    var applet=_jmolGetApplet(targetSuffix);\r
-    if (applet) ret += applet.scriptWaitOutput(script);\r
-   }\r
-  }catch(e){\r
-  }\r
- return ret;\r
-}\r
-\r
-function jmolEvaluate(molecularMath, targetSuffix) {\r
-\r
-  //carries out molecular math on a model\r
-\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);\r
-  var s = result.replace(/\-*\d+/,"")\r
-  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);\r
-  var s = result.replace(/\-*\d*\.\d*/,"")\r
-  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);\r
-  return result;\r
-}\r
-\r
-function jmolScriptEcho(script, targetSuffix) {\r
-  // returns a newline-separated list of all echos from a script\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=Ret[i].length;--j>=0;)\r
-        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"\r
-  return s.replace(/ \| /g, "\n")\r
-}\r
-\r
-\r
-function jmolScriptMessage(script, targetSuffix) {\r
-  // returns a newline-separated list of all messages from a script, ending with "script completed\n"\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=Ret[i].length;--j>=0;)\r
-        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"\r
-  return s.replace(/ \| /g, "\n")\r
-}\r
-\r
-\r
-function jmolScriptWaitAsArray(script, targetSuffix) {\r
- var ret = ""\r
- try{\r
-  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)\r
-  if (script) {\r
-    _jmolCheckBrowser();\r
-    var applet=_jmolGetApplet(targetSuffix);\r
-    if (applet) ret += applet.scriptWait(script);\r
-    ret = _jmolEvalJSON(ret,"jmolStatus")\r
-    if(typeof ret == "object")\r
-       return ret\r
-  }\r
- }catch(e){\r
- }\r
-  return [[ret]]\r
-}\r
-\r
-\r
-\r
-////////////   save/restore orientation   /////////////\r
-\r
-function jmolSaveOrientation(id, targetSuffix) {  \r
- targetSuffix == undefined && (targetSuffix="0")\r
- return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo\r
-}\r
-\r
-function jmolRestoreOrientation(id, targetSuffix) {\r
- targetSuffix == undefined && (targetSuffix="0")\r
- var s=_jmol["savedOrientation"+id]\r
- if (!s || s == "")return\r
- s=s.replace(/1\.0/,"0")\r
- return jmolScriptWait(s,targetSuffix)\r
-}\r
-\r
-function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {\r
- arguments.length < 2 && (delay=1)\r
- targetSuffix == undefined && (targetSuffix="0")\r
- var s=_jmol["savedOrientation"+id]\r
- if (!s || s == "")return\r
- s=s.replace(/1\.0/,delay)\r
- return jmolScriptWait(s,targetSuffix)\r
-}\r
-\r
-////////////  add parameter /////////////\r
-/*\r
- * for adding callbacks or other parameters. Use:\r
-\r
-   jmolSetDocument(0)\r
-   var s= jmolApplet(....)\r
-   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")\r
-   document.write(s)\r
-   jmolSetDocument(document) // if you want to then write buttons and such normally\r
\r
- */\r
-\r
-function jmolAppletAddParam(appletCode,name,value){\r
-  return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))\r
-}\r
-\r
-///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////\r
-\r
-function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){\r
-\r
- _jmol.thismodel || (_jmol.thismodel = "1crn")\r
- _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
- _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")\r
- _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")\r
- fileformat || (fileformat="PDB")\r
- pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))\r
- if(!pdbid || pdbid.length != 4)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())\r
- fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=pdbid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////\r
-\r
-function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){\r
- _jmol.thismodel || (_jmol.thismodel = "aspirin")\r
- _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
- _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")\r
- compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))\r
- if(!compoundid)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=compoundid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-/////////////// St. Olaf College AJAX server -- ANY URL ///////////\r
-\r
-function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){\r
- _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"\r
- _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")\r
- url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))\r
- userid || (userid="0")\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.modelArray = []\r
- _jmol.thisurl = url\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
-}\r
-\r
-\r
-/////////////// Mineralogical Society of America (MSA) data /////////\r
-\r
-function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){\r
-\r
- _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")\r
- _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")\r
- _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")\r
- key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))\r
- if(!key)return ""\r
- value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))\r
- if(!value)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- optionalscript == 1 && (optionalscript='load "" {1 1 1}')\r
- var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thiskeyMSA=key\r
- _jmol.thismodelMSA=value\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- loadModel=_jmolLoadModel\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-\r
-function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){\r
- userid || (userid="0")\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=userid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.modelArray = []\r
- _jmol.thisurl = url\r
- url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix\r
- _jmolDomScriptLoad(url)\r
-}\r
-\r
-\r
-//// in case Jmol library has already been loaded:\r
-\r
-}catch(e){}\r
-\r
-///////////////moving atoms //////////////\r
-\r
-// HIGHLY experimental!!\r
-\r
-function jmolSetAtomCoord(i,x,y,z,targetSuffix){\r
-    _jmolCheckBrowser();\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)\r
-}\r
-\r
-function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){\r
-    _jmolCheckBrowser();\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)\r
-}\r
-\r
-\r
-///////////////applet fake for testing buttons/////////////\r
-\r
-\r
-if(_jmol.useNoApplet){\r
-       jmolApplet = function(w){\r
-               var s="<table style='background-color:black' width="+w+"><tr height="+w+">"\r
-               +"<td align=center valign=center style='background-color:white'>"\r
-               +"Applet would be here"\r
-               +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"\r
-               +"</td></tr></table>"\r
-               return _jmolDocumentWrite(s)\r
-       }\r
-\r
-       _jmolFindApplet = function(){return jmolApplet0}\r
-\r
-       jmolApplet0 = {\r
-        script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}\r
-       ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} \r
-       ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}\r
-       }\r
-}\r
-\r
-\r
-///////////////////////////////////////////\r
-\r
-  //  This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility\r
-  /*\r
-       Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).\r
-       targetSuffix is optional and defaults to zero (first applet in page).\r
-       Both w and h are optional, but needed if you want to use targetSuffix.\r
-               h defaults to w\r
-               w defaults to 100% of window\r
-       If either w or h is between 0 and 1, then it is taken as percent/100.\r
-       If either w or h is greater than 1, then it is taken as a size (pixels). \r
-       */\r
-function jmolResize(w,h,targetSuffix) {\r
- _jmol.alerted = true;\r
- var percentW = (!w ? 100 : w <= 1  && w > 0 ? w * 100 : 0);\r
- var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);\r
- if (_jmol.browser=="msie") {\r
-   var width=document.body.clientWidth;\r
-   var height=document.body.clientHeight;\r
- } else {\r
-   var netscapeScrollWidth=15;\r
-   var width=window.innerWidth - netscapeScrollWidth;\r
-   var height=window.innerHeight-netscapeScrollWidth;\r
- }\r
- var applet = _jmolGetApplet(targetSuffix);\r
- if(!applet)return;\r
- applet.style.width = (percentW ? width * percentW/100 : w)+"px";\r
- applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";\r
- //title=width +  " " + height + " " + (new Date());\r
-}\r
-\r
-// 13 Jun 09 -- makes jmolResize() obsolete  (kept for backwards compatibility)\r
-function jmolResizeApplet(size,targetSuffix) {\r
- // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]\r
- //  Special case: an empty value for width or height is accepted, meaning no change in that dimension.\r
- _jmol.alerted = true;\r
- var applet = _jmolGetApplet(targetSuffix);\r
- if(!applet)return;\r
- var sz = _jmolGetAppletSize(size, "px");\r
- sz[0] && (applet.style.width = sz[0]);\r
- sz[1] && (applet.style.height = sz[1]);\r
-}\r
-\r
-function _jmolGetAppletSize(size, units) {\r
-       /* Accepts single number or 2-value array, each one can be one of:\r
-          percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)\r
-          [width, height] array of strings is returned, with units added if specified.\r
-          Percent is relative to container div or element (which should have explicitly set size).\r
-       */\r
-  var width, height;\r
-  if ( (typeof size) == "object" && size != null ) {\r
-    width = size[0]; height = size[1];\r
-  } else {\r
-    width = height = size;\r
-  }\r
-  return [_jmolFixDim(width, units), _jmolFixDim(height, units)];\r
-}\r
-\r
-function _jmolFixDim(x, units) {\r
-  var sx = "" + x;\r
-  return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])\r
-       : sx.indexOf("%") == sx.length-1 ? sx \r
-       : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"\r
-       : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]\r
-               : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]\r
-           : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] \r
-        : x) + (units ? units : ""));\r
-}\r
-\r
-\r
-\r
-\r
+/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson
+
+ checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm
+
+    based on:
+ *
+ * Copyright (C) 2004-2005  Miguel, Jmol Development, www.jmol.org
+ *
+ * Contact: hansonr@stolaf.edu
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ *
+ *  This library 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
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ *  02111-1307  USA.
+ */
+
+// for documentation see www.jmol.org/jslibrary
+
+try{if(typeof(_jmol)!="undefined")exit()
+
+// place "?NOAPPLET" on your command line to check applet control action with a textarea
+// place "?JMOLJAR=xxxxx" to use a specific jar file
+
+// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)
+//    angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet
+// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006
+// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006
+// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006
+// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006
+// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.
+// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006
+// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006
+// bob hanson -- fix for iframes not available for finding applet
+// bob hanson -- added applet fake ?NOAPPLET URL flag
+// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006
+//                     used PRIOR to jmolApplet() or jmolAppletInline()
+//               added 4th array element in jmolRadioGroup -- title
+//               added <span> and id around link, checkbox, radio, menu
+//               fixing AJAX loads for MSIE/Opera-Mozilla incompatibility
+//            -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar
+//              renamed Jmol.js for Jmol 11 distribution
+//            -- modified jmolRestoreOrientation() to be immediate, no 1-second delay
+// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006
+// bh         -- jmolCommandInput()
+// bh         -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues
+// bh         -- minor fixes suggested by Angel
+// bh         -- adds jmolSetSyncId() and jmolGetSyncId()
+// bh 3/2008  -- adds jmolAppendInlineScript() and jmolAppendInlineArray()
+// bh 3/2008  -- fixes IE7 bug in relation to jmolLoadInlineArray()
+// bh 6/2008  -- adds jmolSetAppletWindow()
+// Angel H. 6/2008  -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]
+// bh 7/2008  -- code fix "for(i..." not "for(var i..."
+// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)
+// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console
+
+// bh 5/2009  -- Support for XHTML using jmolSetXHTML(id)
+// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax
+// bh 11/2009 -- care in accessing top.document
+// bh 12/2009 -- added jmolSetParameter(name, value)
+// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line
+// bh 12/2009 -- overhaul of target checking
+// bh 1/2010  -- all _xxxx() methods ALWAYS have complete argument list
+// bh 1/2010  -- adds option to run a JavaScript function from any Jmol control. 
+//               This is accomplished by passing an array rather than a script:
+//               jmolHref([myfunc,"my param 1", "my param 2"], "testing")
+//               function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}
+//               and allows much more flexibility with responding to controls
+// bh 4/2010  -- added jmolSetMemoryMb(nMb)
+// ah 1/2011  -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; 
+//               fix of object tag (removed classid) accounts for change of behavior in Chrome
+// bh 3/2011  -- added jmolLoadAjax_STOLAF_NIH
+
+var defaultdir = "."
+var defaultjar = "JmolApplet.jar"
+
+
+// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:
+
+// JMOLJAR=xxxxx.jar on the URL for this page will override
+// the JAR file specified in the jmolInitialize() call.
+
+// The idea is that it can be very useful to test a web page with different JAR files
+// Or for an expert user to substitute a signed applet for an unsigned one
+// so as to use a broader range of models or to create JPEG files, for example.
+
+// If the JAR file is not in the current directory (has any sort of "/" in its name)
+// then the user is presented with a warning and asked whether it is OK to change Jar files.
+// The default action, if the user just presses "OK" is to NOT allow the change. 
+// The user must type the word "yes" in the prompt box for the change to be approved.
+
+// If you don't want people to be able to switch in their own JAR file on your page,
+// simply set this next line to read "var allowJMOLJAR = false".
+
+
+var undefined; // for IE 5 ... wherein undefined is undefined
+
+////////////////////////////////////////////////////////////////
+// Basic Scripting infrastruture
+////////////////////////////////////////////////////////////////
+
+function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {
+  if (_jmol.initialized)
+    return;
+  _jmol.initialized = true;
+  if(_jmol.jmoljar) {
+    var f = _jmol.jmoljar;
+    if (f.indexOf("/") >= 0) {
+      alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")
+      var ok = prompt("Do you want to use applet " + f + "? ","yes or no")
+      if (ok == "yes") {
+        codebaseDirectory = f.substring(0, f.lastIndexOf("/"));
+        fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);
+      } else {
+       _jmolGetJarFilename(fileNameOrUseSignedApplet);
+        alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');
+      }
+    } else {
+      fileNameOrUseSignedApplet = f;
+    }
+  }
+  _jmolSetCodebase(codebaseDirectory);
+  _jmolGetJarFilename(fileNameOrUseSignedApplet);
+  _jmolOnloadResetForms();
+}
+
+function jmolSetTranslation(TF) {
+  _jmol.params.doTranslate = ''+TF;
+}
+
+function _jmolGetJarFilename(fileNameOrFlag) {
+  _jmol.archivePath =
+    (typeof(fileNameOrFlag) == "string"  ? fileNameOrFlag : (fileNameOrFlag ?  "JmolAppletSigned" : "JmolApplet") + "0.jar");
+}
+
+function jmolSetDocument(doc) {
+  _jmol.currentDocument = doc;
+}
+
+function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {
+  _jmolInitCheck();
+  _jmol.params.boxbgcolor = boxbgcolor;
+  if (boxfgcolor)
+    _jmol.params.boxfgcolor = boxfgcolor
+  else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")
+    _jmol.params.boxfgcolor = "black";
+  else
+    _jmol.params.boxfgcolor = "white";
+  if (progresscolor)
+    _jmol.params.progresscolor = progresscolor;
+  if (_jmol.debugAlert)
+    alert(" boxbgcolor=" + _jmol.params.boxbgcolor +
+          " boxfgcolor=" + _jmol.params.boxfgcolor +
+          " progresscolor=" + _jmol.params.progresscolor);
+}
+
+function jmolSetAppletWindow(w) {
+  _jmol.appletWindow = w;
+}
+
+function jmolApplet(size, script, nameSuffix) {
+  _jmolInitCheck();
+  return _jmolApplet(size, null, script, nameSuffix);
+}
+
+////////////////////////////////////////////////////////////////
+// Basic controls
+////////////////////////////////////////////////////////////////
+
+// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)
+
+function jmolButton(script, label, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);
+  label != undefined && label != null || (label = script.substring(0, 32));
+  ++_jmol.buttonCount;
+  var scriptIndex = _jmolAddScript(script);
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +
+          "' value='" + label +
+          "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +
+          ")' onmouseover='_jmolMouseOver(" + scriptIndex +
+          ");return true' onmouseout='_jmolMouseOut()' " +
+          _jmol.buttonCssText + " /></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,
+                      labelHtml, isChecked, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);
+  ++_jmol.checkboxCount;
+  if (scriptWhenChecked == undefined || scriptWhenChecked == null ||
+      scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {
+    alert("jmolCheckbox requires two scripts");
+    return;
+  }
+  if (labelHtml == undefined || labelHtml == null) {
+    alert("jmolCheckbox requires a label");
+    return;
+  }
+  var indexChecked = _jmolAddScript(scriptWhenChecked);
+  var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);
+  var eospan = "</span>"
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +
+          "' onclick='_jmolCbClick(this," +
+          indexChecked + "," + indexUnchecked + _jmol.targetText +
+          ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +
+          indexUnchecked +
+          ");return true' onmouseout='_jmolMouseOut()' " +
+         (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" 
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {
+       t += eospan
+       eospan = "";
+  }
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolStartNewRadioGroup() {
+  ++_jmol.radioGroupCount;
+}
+
+function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {
+  /*
+
+    array: [radio1,radio2,radio3...]
+    where radioN = ["script","label",isSelected,"id","title"]
+
+  */
+
+  _jmolInitCheck();
+  var type = typeof arrayOfRadioButtons;
+  if (type != "object" || type == null || ! arrayOfRadioButtons.length) {
+    alert("invalid arrayOfRadioButtons");
+    return;
+  }
+  separatorHtml != undefined && separatorHtml != null || (separatorHtml = "&nbsp; ");
+  var len = arrayOfRadioButtons.length;
+  jmolStartNewRadioGroup();
+  groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));
+  var t = "<span id='"+(id ? id : groupName)+"'>";
+  for (var i = 0; i < len; ++i) {
+    if (i == len - 1)
+      separatorHtml = "";
+    var radio = arrayOfRadioButtons[i];
+    type = typeof radio;
+    if (type == "object") {
+      t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);
+    } else {
+      t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);
+    }
+  }
+  t+="</span>"
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+
+function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
+  _jmolInitCheck();
+  if (_jmol.radioGroupCount == 0)
+    ++_jmol.radioGroupCount;
+  var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolLink(script, label, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);
+  label != undefined && label != null || (label = script.substring(0, 32));
+  ++_jmol.linkCount;
+  var scriptIndex = _jmolAddScript(script);
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + 
+          "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +
+          ");return true;' onmouseout='_jmolMouseOut()' " +
+          _jmol.linkCssText + ">" + label + "</a></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolCommandInput(label, size, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);
+  label != undefined && label != null || (label = "Execute");
+  size != undefined && !isNaN(size) || (size = 60);
+  ++_jmol.cmdCount;
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + 
+          "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function _jmolCommandKeyPress(e, id, target) {
+       var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);
+       if (keycode == 13) {
+               var inputBox = document.getElementById(id)
+               _jmolScriptExecute(inputBox, inputBox.value, target)
+       }
+}
+
+function _jmolScriptExecute(element,script,target) {
+       if (typeof(script) == "object")
+               script[0](element, script, target)
+       else
+               jmolScript(script, target) 
+}
+
+function jmolMenu(arrayOfMenuItems, size, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);
+  ++_jmol.menuCount;
+  var type = typeof arrayOfMenuItems;
+  if (type != null && type == "object" && arrayOfMenuItems.length) {
+    var len = arrayOfMenuItems.length;
+    if (typeof size != "number" || size == 1)
+      size = null;
+    else if (size < 0)
+      size = len;
+    var sizeText = size ? " size='" + size + "' " : "";
+    var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +
+            "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +
+            sizeText + _jmol.menuCssText + ">";
+    for (var i = 0; i < len; ++i) {
+      var menuItem = arrayOfMenuItems[i];
+      type = typeof menuItem;
+      var script, text;
+      var isSelected = undefined;
+      if (type == "object" && menuItem != null) {
+        script = menuItem[0];
+        text = menuItem[1];
+        isSelected = menuItem[2];
+      } else {
+        script = text = menuItem;
+      }
+      text != undefined && text != null || (text = script);            
+      if (script=="#optgroup") {
+        t += "<optgroup label='" + text + "'>";          
+         } else if (script=="#optgroupEnd") {
+        t += "</optgroup>";      
+         } else {              
+        var scriptIndex = _jmolAddScript(script);
+        var selectedText = isSelected ? "' selected='true'>" : "'>";
+        t += "<option value='" + scriptIndex + selectedText + text + "</option>";
+      }
+    }
+    t += "</select></span>";
+    if (_jmol.debugAlert)
+      alert(t);
+    return _jmolDocumentWrite(t);
+  }
+}
+
+function jmolHtml(html) {
+  return _jmolDocumentWrite(html);
+}
+
+function jmolBr() {
+  return _jmolDocumentWrite("<br />");
+}
+
+////////////////////////////////////////////////////////////////
+// advanced scripting functions
+////////////////////////////////////////////////////////////////
+
+function jmolDebugAlert(enableAlerts) {
+  _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)
+}
+
+function jmolAppletInline(size, inlineModel, script, nameSuffix) {
+  _jmolInitCheck();
+  return _jmolApplet(size, _jmolSterilizeInline(inlineModel),
+                     script, nameSuffix);
+}
+
+function jmolSetTarget(targetSuffix) {
+  _jmol.targetSuffix = targetSuffix;
+  _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";
+}
+
+function jmolScript(script, targetSuffix) {
+  if (script) {
+    _jmolCheckBrowser();
+    if (targetSuffix == "all") {
+      with (_jmol) {
+       for (var i = 0; i < appletSuffixes.length; ++i) {
+         var applet = _jmolGetApplet(appletSuffixes[i]);
+          if (applet) applet.script(script);
+        }
+      }
+    } else {
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.script(script);
+    }
+  }
+}
+
+function jmolLoadInline(model, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  if (typeof(model) == "string")
+    return applet.loadInlineString(model, "", false);
+  else
+    return applet.loadInlineArray(model, "", false);
+}
+
+
+function jmolLoadInlineScript(model, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  return applet.loadInlineString(model, script, false);
+}
+
+
+function jmolLoadInlineArray(ModelArray, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  script || (script="")
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  try {
+    return applet.loadInlineArray(ModelArray, script, false);
+  } catch (err) {
+    //IE 7 bug
+    return applet.loadInlineString(ModelArray.join("\n"), script, false);
+  }
+}
+
+function jmolAppendInlineArray(ModelArray, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  script || (script="")
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  try {
+    return applet.loadInlineArray(ModelArray, script, true);
+  } catch (err) {
+    //IE 7 bug
+    return applet.loadInlineString(ModelArray.join("\n"), script, true);
+  }
+}
+
+function jmolAppendInlineScript(model, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  return applet.loadInlineString(model, script, true);
+}
+
+function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {
+  if (typeof action == "string") {
+    action = action.toLowerCase();
+    action == "alert" || action == "redirect" || action == "popup" || (action = null);
+  }
+  if (typeof action != "string")
+    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
+          "action must be 'alert', 'redirect', or 'popup'");
+  else {
+    if (typeof urlOrMessage != "string")
+      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
+            "urlOrMessage must be a string");
+    else {
+      _jmol.checkBrowserAction = action;
+      _jmol.checkBrowserUrlOrMessage = urlOrMessage;
+    }
+  }
+  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")
+    _jmolCheckBrowser();
+}
+
+////////////////////////////////////////////////////////////////
+// Cascading Style Sheet Class support
+////////////////////////////////////////////////////////////////
+
+function jmolSetAppletCssClass(appletCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.appletCssClass = appletCssClass;
+    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";
+  }
+}
+
+function jmolSetButtonCssClass(buttonCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.buttonCssClass = buttonCssClass;
+    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";
+  }
+}
+
+function jmolSetCheckboxCssClass(checkboxCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.checkboxCssClass = checkboxCssClass;
+    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";
+  }
+}
+
+function jmolSetRadioCssClass(radioCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.radioCssClass = radioCssClass;
+    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";
+  }
+}
+
+function jmolSetLinkCssClass(linkCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.linkCssClass = linkCssClass;
+    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";
+  }
+}
+
+function jmolSetMenuCssClass(menuCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.menuCssClass = menuCssClass;
+    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";
+  }
+}
+
+////////////////////////////////////////////////////////////////
+// functions for INTERNAL USE ONLY which are subject to change
+// use at your own risk ... you have been WARNED!
+////////////////////////////////////////////////////////////////
+var _jmol = {
+  currentDocument: document,
+
+  debugAlert: false,
+  
+  codebase: "",
+  modelbase: ".",
+  
+  appletCount: 0,
+  appletSuffixes: [],
+  appletWindow: null,
+  allowedJmolSize: [25, 2048, 300],   // min, max, default (pixels)
+         /*  By setting the _jmol.allowedJmolSize[] variable in the webpage 
+             before calling jmolApplet(), limits for applet size can be overriden.
+                   2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)
+         */  
+  buttonCount: 0,
+  checkboxCount: 0,
+  linkCount: 0,
+  cmdCount: 0,
+  menuCount: 0,
+  radioCount: 0,
+  radioGroupCount: 0,
+  
+  appletCssClass: null,
+  appletCssText: "",
+  buttonCssClass: null,
+  buttonCssText: "",
+  checkboxCssClass: null,
+  checkboxCssText: "",
+  java_arguments: "-Xmx512m",
+  radioCssClass: null,
+  radioCssText: "",
+  linkCssClass: null,
+  linkCssText: "",
+  menuCssClass: null,
+  menuCssText: "",
+  
+  targetSuffix: 0,
+  targetText: ",0",
+  scripts: [""],
+  params: {
+       syncId: ("" + Math.random()).substring(3),
+       progressbar: "true",
+       progresscolor: "blue",
+       boxbgcolor: "black",
+       boxfgcolor: "white",
+       boxmessage: "Downloading JmolApplet ..."
+  },
+  ua: navigator.userAgent.toLowerCase(),
+  // uaVersion: parseFloat(navigator.appVersion),  // not used
+  
+  os: "unknown",
+  browser: "unknown",
+  browserVersion: 0,
+  hasGetElementById: !!document.getElementById,
+  isJavaEnabled: navigator.javaEnabled(),
+  // isNetscape47Win: false,  // not used, N4.7 is no longer supported even for detection
+  useIEObject: false,
+  useHtml4Object: false,
+  
+  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",
+  windowsCabUrl:
+   "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",
+
+  isBrowserCompliant: false,
+  isJavaCompliant: false,
+  isFullyCompliant: false,
+
+  initialized: false,
+  initChecked: false,
+  
+  browserChecked: false,
+  checkBrowserAction: "alert",
+  checkBrowserUrlOrMessage: null,
+
+  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar
+
+  previousOnloadHandler: null,
+
+  jmoljar: null,  
+  useNoApplet: false,
+
+  ready: {}
+}
+
+with (_jmol) {
+  function _jmolTestUA(candidate) {
+    var ua = _jmol.ua;
+    var index = ua.indexOf(candidate);
+    if (index < 0)
+      return false;
+    _jmol.browser = candidate;
+    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));
+    return true;
+  }
+  
+  function _jmolTestOS(candidate) {
+    if (_jmol.ua.indexOf(candidate) < 0)
+      return false;
+    _jmol.os = candidate;
+    return true;
+  }
+  
+  _jmolTestUA("konqueror") ||
+  _jmolTestUA("webkit") ||
+  _jmolTestUA("omniweb") ||
+  _jmolTestUA("opera") ||
+  _jmolTestUA("webtv") ||
+  _jmolTestUA("icab") ||
+  _jmolTestUA("msie") ||
+  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated
+  
+  _jmolTestOS("linux") ||
+  _jmolTestOS("unix") ||
+  _jmolTestOS("mac") ||
+  _jmolTestOS("win");
+
+  /* not used:
+       isNetscape47Win = (os == "win" && browser == "mozilla" &&
+                     browserVersion >= 4.78 && browserVersion <= 4.8);
+       */
+
+  if (os == "win") {
+    isBrowserCompliant = hasGetElementById;
+  } else if (os == "mac") { // mac is the problem child :-(
+    if (browser == "mozilla" && browserVersion >= 5) {
+      // miguel 2004 11 17
+      // checking the plugins array does not work because
+      // Netscape 7.2 OS X still has Java 1.3.1 listed even though
+      // javaplugin.sf.net is installed to upgrade to 1.4.2
+      eval("try {var v = java.lang.System.getProperty('java.version');" +
+           " _jmol.isBrowserCompliant = v >= '1.4.2';" +
+           " } catch (e) { }");
+    } else if (browser == "opera" && browserVersion <= 7.54) {
+      isBrowserCompliant = false;
+    } else {
+      isBrowserCompliant = hasGetElementById &&
+        !((browser == "msie") ||
+          (browser == "webkit" && browserVersion < 125.12));
+    }
+  } else if (os == "linux" || os == "unix") {
+    if (browser == "konqueror" && browserVersion <= 3.3)
+      isBrowserCompliant = false;
+    else
+      isBrowserCompliant = hasGetElementById;
+  } else { // other OS
+    isBrowserCompliant = hasGetElementById;
+  }
+
+  // possibly more checks in the future for this
+  isJavaCompliant = isJavaEnabled;
+
+  isFullyCompliant = isBrowserCompliant && isJavaCompliant;
+
+  useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);
+  useHtml4Object =
+   (browser == "mozilla" && browserVersion >= 5) ||
+   (browser == "opera" && browserVersion >= 8) ||
+   (browser == "webkit" && browserVersion >= 412.2);
+ try {
+  if (top.location.search.indexOf("JMOLJAR=")>=0)
+    jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];
+ } catch(e) {
+  // can't access top.location
+ }
+ try {
+  useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);
+ } catch(e) {
+  // can't access top.document
+ }
+}
+
+function jmolSetMemoryMb(nMb) {
+  _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"
+}
+
+function jmolSetParameter(name,value) {
+  _jmol.params[name] = value
+}
+
+function jmolSetCallback(callbackName,funcName) {
+  _jmol.params[callbackName] = funcName
+}
+
+ try {
+// note this is done FIRST, so it cannot override a setting done by the developer
+  if (top.location.search.indexOf("PARAMS=")>=0) {
+    var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");
+    for (var i = 0; i < pars.length; i++) {
+      var p = pars[i].split(":");
+      jmolSetParameter(p[0],p[1]);
+    }
+  }
+ } catch(e) {
+  // can't access top.location
+ }
+
+function jmolSetSyncId(n) {
+  return _jmol.params["syncId"] = n
+}
+
+function jmolGetSyncId() {
+  return _jmol.params["syncId"]
+}
+
+function jmolSetLogLevel(n) {
+  _jmol.params.logLevel = ''+n;
+}
+
+       /*  AngelH, mar2007:
+               By (re)setting these variables in the webpage before calling jmolApplet(), 
+               a custom message can be provided (e.g. localized for user's language) when no Java is installed.
+       */
+if (noJavaMsg==undefined) var noJavaMsg = 
+        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +
+        "Check the warning message from your browser and/or enable Java applets in<br />\n" +
+        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";
+if (noJavaMsg2==undefined) var noJavaMsg2 = 
+        "You do not have the<br />\n" +
+        "Java Runtime Environment<br />\n" +
+        "installed for applet support.<br />\n" +
+        "Visit <a href='http://www.java.com'>www.java.com</a>";
+function _jmolApplet(size, inlineModel, script, nameSuffix) {
+       /*  AngelH, mar2007
+               Fixed percent / pixel business, to avoid browser errors:
+               put "px" where needed, avoid where not.
+
+           Bob Hanson, 1/2010
+               Fixed inline escape changing returns to |               
+       */
+  with (_jmol) {
+    nameSuffix == undefined && (nameSuffix = appletCount);
+    appletSuffixes.push(nameSuffix);
+    ++appletCount;
+    script || (script = "select *");
+    var sz = _jmolGetAppletSize(size);
+    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";
+    var tHeader, tFooter;
+    codebase || jmolInitialize(".");
+    if (useIEObject || useHtml4Object) {
+      params.archive = archivePath;
+      params.mayscript = 'true';
+      params.codebase = codebase;
+      params.code = 'JmolApplet';
+      tHeader = 
+        "<object name='jmolApplet" + nameSuffix +
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
+                               widthAndHeight + "\n";
+      tFooter = "</object>";
+    }
+    if (java_arguments)
+      params.java_arguments = java_arguments;
+    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference
+      tHeader += " classid='" + windowsClassId + "'\n" +
+      (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";
+    } else if (useHtml4Object) { // use HTML4 object tag
+      tHeader += " type='application/x-java-applet'\n>\n";
+                               /*      " classid='java:JmolApplet'\n" +        AH removed this
+                                 Chromium Issue 62076:         Java Applets using an <object> with a classid paramater don't load.
+                                       http://code.google.com/p/chromium/issues/detail?id=62076
+                                       They say this is the correct behavior according to the spec, and there's no indication at this point 
+                                       that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.
+                                       Removing the classid parameter seems to be well tolerated by all browsers (even IE!).
+                               */
+    } else { // use applet tag
+      tHeader = 
+        "<applet name='jmolApplet" + nameSuffix +
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
+                               widthAndHeight + "\n" +
+        " code='JmolApplet'" +
+        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +
+        " mayscript='true'>\n";
+      tFooter = "</applet>";
+    }
+    var visitJava;
+    if (useIEObject || useHtml4Object) {
+               var szX = "width:" + sz[0]
+               if ( szX.indexOf("%")==-1 ) szX+="px" 
+               var szY = "height:" + sz[1]
+               if ( szY.indexOf("%")==-1 ) szY+="px" 
+      visitJava =
+        "<p style='background-color:yellow; color:black; " +
+               szX + ";" + szY + ";" +
+        // why doesn't this vertical-align work?
+       "text-align:center;vertical-align:middle;'>\n" +
+               noJavaMsg +
+        "</p>";
+    } else {
+      visitJava =
+        "<table bgcolor='yellow'><tr>" +
+        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +
+               noJavaMsg2 +
+        "</font></td></tr></table>";
+    }
+    params.loadInline = (inlineModel ? inlineModel : "");
+    params.script = (script ? _jmolSterilizeScript(script) : "");
+    var t = tHeader + _jmolParams() + visitJava + tFooter;
+    jmolSetTarget(nameSuffix);
+    ready["jmolApplet" + nameSuffix] = false;
+    if (_jmol.debugAlert)
+      alert(t);
+    return _jmolDocumentWrite(t);
+  }
+}
+
+function _jmolParams() {
+ var t = "";
+ for (var i in _jmol.params)
+       if(_jmol.params[i]!="")
+                t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";
+ return t
+}
+
+function _jmolInitCheck() {
+  if (_jmol.initChecked)
+    return;
+  _jmol.initChecked = true;
+  jmolInitialize(defaultdir, defaultjar)
+}
+
+function _jmolCheckBrowser() {
+  with (_jmol) {
+    if (browserChecked)
+      return;
+    browserChecked = true;
+  
+    if (isFullyCompliant)
+      return true;
+
+    if (checkBrowserAction == "redirect")
+      location.href = checkBrowserUrlOrMessage;
+    else if (checkBrowserAction == "popup")
+      _jmolPopup(checkBrowserUrlOrMessage);
+    else {
+      var msg = checkBrowserUrlOrMessage;
+      if (msg == null)
+        msg = "Your web browser is not fully compatible with Jmol\n\n" +
+              "browser: " + browser +
+              "   version: " + browserVersion +
+              "   os: " + os +
+              "   isBrowserCompliant: " + isBrowserCompliant +
+              "   isJavaCompliant: " + isJavaCompliant +
+              "\n\n" + ua;
+      alert(msg);
+    }
+  }
+  return false;
+}
+
+function jmolSetXHTML(id) {
+       _jmol.isXHTML = true
+       _jmol.XhtmlElement = null
+       _jmol.XhtmlAppendChild = false
+       if (id){
+               _jmol.XhtmlElement = document.getElementById(id)
+               _jmol.XhtmlAppendChild = true
+       }
+}
+
+function _jmolDocumentWrite(text) {
+       if (_jmol.currentDocument) {
+               if (_jmol.isXHTML && !_jmol.XhtmlElement) {
+                       var s = document.getElementsByTagName("script")
+                       _jmol.XhtmlElement = s.item(s.length - 1)
+                       _jmol.XhtmlAppendChild = false
+               }
+               if (_jmol.XhtmlElement) {
+                       _jmolDomDocumentWrite(text)
+               } else {
+                       _jmol.currentDocument.write(text);
+               }
+       }
+       return text;
+}
+
+function _jmolDomDocumentWrite(data) {
+       var pt = 0
+       var Ptr = []
+       Ptr[0] = 0
+       while (Ptr[0] < data.length) {
+               var child = _jmolGetDomElement(data, Ptr)
+               if (!child)break
+               if (_jmol.XhtmlAppendChild)
+                       _jmol.XhtmlElement.appendChild(child)
+               else
+                       _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); 
+       }
+}
+function _jmolGetDomElement(data, Ptr, closetag, lvel) {
+       var e = document.createElement("span")
+       e.innerHTML = data
+       Ptr[0] = data.length
+       return e
+
+//unnecessary?
+
+       closetag || (closetag = "")
+       lvel || (lvel = 0)
+       var pt0 = Ptr[0]
+       var pt = pt0
+       while (pt < data.length && data.charAt(pt) != "<") pt++
+       if (pt != pt0) {
+               var text = data.substring(pt0, pt)
+               Ptr[0] = pt
+               return document.createTextNode(text)
+       }       
+       pt0 = ++pt
+       var ch
+       while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++
+       var tagname = data.substring(pt0, pt)
+       var e = (tagname == closetag  || tagname == "/" ? "" 
+               : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)
+               : document.createElement(tagname));
+       if (ch == ">") {
+               Ptr[0] = ++pt
+               return e
+       }
+       while (pt < data.length && (ch = data.charAt(pt)) != ">") {
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++
+               pt0 = pt
+               while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++
+               var attrname = data.substring(pt0, pt).toLowerCase()
+               if (attrname && ch != "=") 
+                       e.setAttribute(attrname, "true")
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++
+               if (ch == "/") {
+                       Ptr[0] = pt + 2
+                       return e
+               } else if (ch == "=") {
+                       var quote = data.charAt(++pt)
+                       pt0 = ++pt
+                       while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++
+                       var attrvalue = data.substring(pt0, pt)
+                       e.setAttribute(attrname, attrvalue)
+                       pt++
+               }
+       }
+       Ptr[0] = ++pt
+       while (Ptr[0] < data.length) {
+               var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)
+               if (!child)break
+               e.appendChild(child)
+       }
+       return e
+}
+
+function _jmolPopup(url) {
+  var popup = window.open(url, "JmolPopup",
+                          "left=150,top=150,height=400,width=600," +
+                          "directories=yes,location=yes,menubar=yes," +
+                          "toolbar=yes," +
+                          "resizable=yes,scrollbars=yes,status=yes");
+  if (popup.focus)
+    poup.focus();
+}
+
+function _jmolReadyCallback(name) {
+  if (_jmol.debugAlert)
+    alert(name + " is ready");
+  _jmol.ready["" + name] = true;
+}
+
+function _jmolSterilizeScript(script) {
+  script = script.replace(/'/g, "&#39;");
+  if (_jmol.debugAlert)
+    alert("script:\n" + script);
+  return script;
+}
+
+function _jmolSterilizeInline(model) {
+  model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "&#39;");
+  if (_jmol.debugAlert)
+    alert("inline model:\n" + model);
+  return model;
+}
+
+function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
+  ++_jmol.radioCount;
+  groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));
+  if (!script)
+    return "";
+  labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));
+  separatorHtml || (separatorHtml = "")
+  var scriptIndex = _jmolAddScript(script);
+  var eospan = "</span>"
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" 
+       + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +
+         scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +
+         scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +
+        (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {
+       t += eospan
+       eospan = "";
+  }
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;
+
+  return t;
+}
+
+function _jmolFindApplet(target) {
+  // first look for the target in the current window
+  var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);
+  // THEN look for the target in child frames
+  if (applet == undefined)
+    applet = _jmolSearchFrames(window, target);
+  // FINALLY look for the target in sibling frames
+  if (applet == undefined)
+    applet = _jmolSearchFrames(top, target); // look starting in top frame
+  return applet;
+}
+
+function _jmolGetApplet(targetSuffix){
+ var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");
+ var applet = _jmolFindApplet(target);
+ if (applet) return applet
+ _jmol.alerted || alert("could not find applet " + target);
+ _jmol.alerted = true;
+ return null
+}
+
+function _jmolSearchFrames(win, target) {
+  var applet;
+  var frames = win.frames;
+  if (frames && frames.length) { // look in all the frames below this window
+   try{
+    for (var i = 0; i < frames.length; ++i) {
+      applet = _jmolSearchFrames(frames[i], target);
+      if (applet)
+        return applet;
+    }
+   }catch(e) {
+       if (_jmol.debugAlert)
+               alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") 
+   }
+  }
+  return applet = _jmolFindAppletInWindow(win, target)
+}
+
+function _jmolFindAppletInWindow(win, target) {
+    var doc = win.document;
+               if (doc.getElementById(target))
+      return doc.getElementById(target);
+    else if (doc.applets)
+      return doc.applets[target];
+    else
+      return doc[target]; 
+}
+
+function _jmolAddScript(script) {
+  if (!script)
+    return 0;
+  var index = _jmol.scripts.length;
+  _jmol.scripts[index] = script;
+  return index;
+}
+
+function _jmolClick(elementClicked, scriptIndex, targetSuffix) {
+  _jmol.element = elementClicked;
+  _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);
+}
+
+function _jmolMenuSelected(menuObject, targetSuffix) {
+  var scriptIndex = menuObject.value;
+  if (scriptIndex != undefined) {
+    _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);
+    return;
+  }
+  var len = menuObject.length;
+  if (typeof len == "number") {
+    for (var i = 0; i < len; ++i) {
+      if (menuObject[i].selected) {
+        _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);
+       return;
+      }
+    }
+  }
+  alert("?Que? menu selected bug #8734");
+}
+
+
+_jmol.checkboxMasters = {};
+_jmol.checkboxItems = {};
+
+function jmolSetCheckboxGroup(chkMaster,chkBox) {
+       var id = chkMaster;
+       if(typeof(id)=="number")id = "jmolCheckbox" + id;
+       chkMaster = document.getElementById(id);
+       if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);
+       var m = _jmol.checkboxMasters[id] = {};
+       m.chkMaster = chkMaster;
+       m.chkGroup = {};
+       for (var i = 1; i < arguments.length; i++){
+               var id = arguments[i];
+               if(typeof(id)=="number")id = "jmolCheckbox" + id;
+               checkboxItem = document.getElementById(id);
+               if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);
+               m.chkGroup[id] = checkboxItem;
+               _jmol.checkboxItems[id] = m;
+       }
+}
+
+function _jmolNotifyMaster(m){
+       //called when a group item is checked
+       var allOn = true;
+       var allOff = true;
+       for (var chkBox in m.chkGroup){
+               if(m.chkGroup[chkBox].checked)
+                       allOff = false;
+               else
+                       allOn = false;
+       }
+       if (allOn)m.chkMaster.checked = true;   
+       if (allOff)m.chkMaster.checked = false;
+       if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])
+               _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])
+}
+
+function _jmolNotifyGroup(m, isOn){
+       //called when a master item is checked
+       for (var chkBox in m.chkGroup){
+               var item = m.chkGroup[chkBox]
+               item.checked = isOn;
+               if (_jmol.checkboxMasters[item.id])
+                       _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)
+       }
+}
+
+function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {
+  _jmol.control = ckbox
+  _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);
+  if(_jmol.checkboxMasters[ckbox.id])
+       _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)
+  if(_jmol.checkboxItems[ckbox.id])
+       _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])
+}
+
+function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {
+  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];
+}
+
+function _jmolMouseOver(scriptIndex) {
+  window.status = _jmol.scripts[scriptIndex];
+}
+
+function _jmolMouseOut() {
+  window.status = " ";
+  return true;
+}
+
+function _jmolSetCodebase(codebase) {
+  _jmol.codebase = codebase ? codebase : ".";
+  if (_jmol.debugAlert)
+    alert("jmolCodebase=" + _jmol.codebase);
+}
+
+function _jmolOnloadResetForms() {
+  // must be evaluated ONLY once
+  _jmol.previousOnloadHandler = window.onload;
+  window.onload =
+  function() {
+    with (_jmol) {
+      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {
+        var forms = document.forms;
+        for (var i = forms.length; --i >= 0; )
+          forms[i].reset();
+      }
+      if (previousOnloadHandler)
+        previousOnloadHandler();
+    }
+  }
+}
+
+////////////////////////////////////
+/////extensions for getProperty/////
+////////////////////////////////////
+
+
+function _jmolEvalJSON(s,key){
+ s=s+""
+ if(!s)return []
+ if(s.charAt(0)!="{"){
+       if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")
+       return s
+ }
+ var A = eval("("+s+")")
+ if(!A)return
+ if(key && A[key])A=A[key]
+ return A
+}
+
+function _jmolEnumerateObject(A,key){
+ var sout=""
+ if(typeof(A) == "string" && A!="null"){
+       sout+="\n"+key+"=\""+A+"\""
+ }else if(!isNaN(A)||A==null){
+       sout+="\n"+key+"="+(A+""==""?"null":A)
+ }else if(A.length){
+    sout+=key+"=[]"
+    for(var i=0;i<A.length;i++){
+       sout+="\n"
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
+               sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")
+       }else{
+               sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
+       }
+    }
+ }else{
+    if(key != ""){
+       sout+=key+"={}"
+       key+="."
+    }
+    
+    for(var i in A){
+       sout+="\n"
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
+               sout+=_jmolEnumerateObject(A[i],key+i)
+       }else{
+               sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
+       }
+    }
+ } 
+ return sout
+}
+
+
+function _jmolSortKey0(a,b){
+ return (a[0]<b[0]?1:a[0]>b[0]?-1:0)
+}
+
+function _jmolSortMessages(A){
+ if(!A || typeof(A)!="object")return []
+ var B = []
+ for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]
+ if(B.length == 0) return
+ B=B.sort(_jmolSortKey0)
+ return B
+}
+
+/////////additional extensions //////////
+
+
+function _jmolDomScriptLoad(URL){
+ //open(URL) //to debug
+ _jmol.servercall=URL
+ var node = document.getElementById("_jmolScriptNode")
+ if (node && _jmol.browser!="msie"){
+    document.getElementsByTagName("HEAD")[0].removeChild(node)
+    node=null
+ }
+ if (node) {
+   node.setAttribute("src",URL)
+ } else {
+   node=document.createElement("script")
+   node.setAttribute("id","_jmolScriptNode")
+   node.setAttribute("type","text/javascript")
+   node.setAttribute("src",URL)
+   document.getElementsByTagName("HEAD")[0].appendChild(node)
+ }
+}
+
+
+function _jmolExtractPostData(url){
+ S=url.split("&POST:")
+ var s=""
+ for(var i=1;i<S.length;i++){
+       KV=S[i].split("=")
+       s+="&POSTKEY"+i+"="+KV[0]
+       s+="&POSTVALUE"+i+"="+KV[1]
+ }
+ return "&url="+escape(S[0])+s
+}
+
+function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){
+ //called by server, but in client
+ //overload this function to customize return
+ _jmol.remoteURL=remoteURL
+ isError && alert(errorMessage)
+ jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)
+}
+
+//////////user property/status functions/////////
+
+function jmolGetStatus(strStatus,targetSuffix){
+ return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))
+}
+
+function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {
+ return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)
+}
+
+function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {
+ var applet = _jmolGetApplet(targetSuffix);
+ sValue == undefined && (sValue="");
+ return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")
+}
+
+function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {
+ sValue == undefined && (sValue = "")
+ var applet = _jmolGetApplet(targetSuffix);
+ try {
+  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")
+ } catch(e) {
+  return ""
+ }
+}
+
+function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {
+ sValue == undefined && (sValue = "")
+ var applet = _jmolGetApplet(targetSuffix);
+ return (applet ? applet.getProperty(sKey,sValue) : null)
+}
+
+
+function jmolDecodeJSON(s) {
+ return _jmolEnumerateObject(_jmolEvalJSON(s),"")
+}
+
+
+///////// synchronous scripting ////////
+
+function jmolScriptWait(script, targetSuffix) {
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=0;j< Ret[i].length;j++)
+       s+=Ret[i][j]+"\n"
+  return s
+}
+
+function jmolScriptWaitOutput(script, targetSuffix) {
+  targetSuffix == undefined && (targetSuffix="0")
+  var ret = ""
+  try{
+   if (script) {
+    _jmolCheckBrowser();
+    var applet=_jmolGetApplet(targetSuffix);
+    if (applet) ret += applet.scriptWaitOutput(script);
+   }
+  }catch(e){
+  }
+ return ret;
+}
+
+function jmolEvaluate(molecularMath, targetSuffix) {
+
+  //carries out molecular math on a model
+
+  targetSuffix == undefined && (targetSuffix="0")
+  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);
+  var s = result.replace(/\-*\d+/,"")
+  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);
+  var s = result.replace(/\-*\d*\.\d*/,"")
+  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);
+  return result;
+}
+
+function jmolScriptEcho(script, targetSuffix) {
+  // returns a newline-separated list of all echos from a script
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=Ret[i].length;--j>=0;)
+        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"
+  return s.replace(/ \| /g, "\n")
+}
+
+
+function jmolScriptMessage(script, targetSuffix) {
+  // returns a newline-separated list of all messages from a script, ending with "script completed\n"
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=Ret[i].length;--j>=0;)
+        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"
+  return s.replace(/ \| /g, "\n")
+}
+
+
+function jmolScriptWaitAsArray(script, targetSuffix) {
+ var ret = ""
+ try{
+  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)
+  if (script) {
+    _jmolCheckBrowser();
+    var applet=_jmolGetApplet(targetSuffix);
+    if (applet) ret += applet.scriptWait(script);
+    ret = _jmolEvalJSON(ret,"jmolStatus")
+    if(typeof ret == "object")
+       return ret
+  }
+ }catch(e){
+ }
+  return [[ret]]
+}
+
+
+
+////////////   save/restore orientation   /////////////
+
+function jmolSaveOrientation(id, targetSuffix) {  
+ targetSuffix == undefined && (targetSuffix="0")
+ return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo
+}
+
+function jmolRestoreOrientation(id, targetSuffix) {
+ targetSuffix == undefined && (targetSuffix="0")
+ var s=_jmol["savedOrientation"+id]
+ if (!s || s == "")return
+ s=s.replace(/1\.0/,"0")
+ return jmolScriptWait(s,targetSuffix)
+}
+
+function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {
+ arguments.length < 2 && (delay=1)
+ targetSuffix == undefined && (targetSuffix="0")
+ var s=_jmol["savedOrientation"+id]
+ if (!s || s == "")return
+ s=s.replace(/1\.0/,delay)
+ return jmolScriptWait(s,targetSuffix)
+}
+
+////////////  add parameter /////////////
+/*
+ * for adding callbacks or other parameters. Use:
+
+   jmolSetDocument(0)
+   var s= jmolApplet(....)
+   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")
+   document.write(s)
+   jmolSetDocument(document) // if you want to then write buttons and such normally
+ */
+
+function jmolAppletAddParam(appletCode,name,value){
+  return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))
+}
+
+///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////
+
+function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){
+
+ _jmol.thismodel || (_jmol.thismodel = "1crn")
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")
+ _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")
+ _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")
+ fileformat || (fileformat="PDB")
+ pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))
+ if(!pdbid || pdbid.length != 4)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())
+ fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=pdbid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////
+
+function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){
+ _jmol.thismodel || (_jmol.thismodel = "aspirin")
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")
+ _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")
+ compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))
+ if(!compoundid)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=compoundid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+/////////////// St. Olaf College AJAX server -- ANY URL ///////////
+
+function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){
+ _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
+ _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")
+ url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))
+ userid || (userid="0")
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ _jmol.optionalscript=optionalscript
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.modelArray = []
+ _jmol.thisurl = url
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+}
+
+
+/////////////// Mineralogical Society of America (MSA) data /////////
+
+function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){
+
+ _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")
+ _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")
+ _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")
+ key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))
+ if(!key)return ""
+ value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))
+ if(!value)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ optionalscript == 1 && (optionalscript='load "" {1 1 1}')
+ var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)
+ _jmol.optionalscript=optionalscript
+ _jmol.thiskeyMSA=key
+ _jmol.thismodelMSA=value
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ loadModel=_jmolLoadModel
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+
+function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){
+ userid || (userid="0")
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=userid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.modelArray = []
+ _jmol.thisurl = url
+ url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix
+ _jmolDomScriptLoad(url)
+}
+
+
+//// in case Jmol library has already been loaded:
+
+}catch(e){}
+
+///////////////moving atoms //////////////
+
+// HIGHLY experimental!!
+
+function jmolSetAtomCoord(i,x,y,z,targetSuffix){
+    _jmolCheckBrowser();
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)
+}
+
+function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){
+    _jmolCheckBrowser();
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)
+}
+
+
+///////////////applet fake for testing buttons/////////////
+
+
+if(_jmol.useNoApplet){
+       jmolApplet = function(w){
+               var s="<table style='background-color:black' width="+w+"><tr height="+w+">"
+               +"<td align=center valign=center style='background-color:white'>"
+               +"Applet would be here"
+               +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"
+               +"</td></tr></table>"
+               return _jmolDocumentWrite(s)
+       }
+
+       _jmolFindApplet = function(){return jmolApplet0}
+
+       jmolApplet0 = {
+        script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}
+       ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} 
+       ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}
+       }
+}
+
+
+///////////////////////////////////////////
+
+  //  This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility
+  /*
+       Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).
+       targetSuffix is optional and defaults to zero (first applet in page).
+       Both w and h are optional, but needed if you want to use targetSuffix.
+               h defaults to w
+               w defaults to 100% of window
+       If either w or h is between 0 and 1, then it is taken as percent/100.
+       If either w or h is greater than 1, then it is taken as a size (pixels). 
+       */
+function jmolResize(w,h,targetSuffix) {
+ _jmol.alerted = true;
+ var percentW = (!w ? 100 : w <= 1  && w > 0 ? w * 100 : 0);
+ var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);
+ if (_jmol.browser=="msie") {
+   var width=document.body.clientWidth;
+   var height=document.body.clientHeight;
+ } else {
+   var netscapeScrollWidth=15;
+   var width=window.innerWidth - netscapeScrollWidth;
+   var height=window.innerHeight-netscapeScrollWidth;
+ }
+ var applet = _jmolGetApplet(targetSuffix);
+ if(!applet)return;
+ applet.style.width = (percentW ? width * percentW/100 : w)+"px";
+ applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";
+ //title=width +  " " + height + " " + (new Date());
+}
+
+// 13 Jun 09 -- makes jmolResize() obsolete  (kept for backwards compatibility)
+function jmolResizeApplet(size,targetSuffix) {
+ // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]
+ //  Special case: an empty value for width or height is accepted, meaning no change in that dimension.
+ _jmol.alerted = true;
+ var applet = _jmolGetApplet(targetSuffix);
+ if(!applet)return;
+ var sz = _jmolGetAppletSize(size, "px");
+ sz[0] && (applet.style.width = sz[0]);
+ sz[1] && (applet.style.height = sz[1]);
+}
+
+function _jmolGetAppletSize(size, units) {
+       /* Accepts single number or 2-value array, each one can be one of:
+          percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)
+          [width, height] array of strings is returned, with units added if specified.
+          Percent is relative to container div or element (which should have explicitly set size).
+       */
+  var width, height;
+  if ( (typeof size) == "object" && size != null ) {
+    width = size[0]; height = size[1];
+  } else {
+    width = height = size;
+  }
+  return [_jmolFixDim(width, units), _jmolFixDim(height, units)];
+}
+
+function _jmolFixDim(x, units) {
+  var sx = "" + x;
+  return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])
+       : sx.indexOf("%") == sx.length-1 ? sx 
+       : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"
+       : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]
+               : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]
+           : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] 
+        : x) + (units ? units : ""));
+}
+
+
+
+
index 53698a4..72c062d 100755 (executable)
@@ -1,60 +1,60 @@
->FER_CAPAA Ferredoxin\r
------------------------------------------------------------ASYKVKLITPDGP\r
-IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
-TIETHKEAELVG-\r
->FER_CAPAN Ferredoxin, chloroplast precursor\r
-MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP\r
-IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
-TIETHKEAELVG-\r
->FER1_SOLLC Ferredoxin-1, chloroplast precursor\r
-MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP\r
-IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV\r
-TIETHKEEELTA-\r
->Q93XJ9_SOLTU Ferredoxin I precursor\r
-MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP\r
-IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV\r
-TIETHKEEELTA-\r
->FER1_PEA Ferredoxin-1, chloroplast precursor\r
-MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT\r
-QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV\r
-VIETHKEEDLTA-\r
->Q7XA98_TRIPR Ferredoxin I\r
-MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP\r
-QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV\r
-TIETHKEEELTA-\r
->FER1_MESCR Ferredoxin-1, chloroplast precursor\r
-MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK\r
-QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV\r
-TIETHKEEELTA-\r
->FER1_SPIOL Ferredoxin-1, chloroplast precursor\r
-MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN\r
-VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV\r
-TIETHKEEELTA-\r
->FER3_RAPSA Ferredoxin, leaf L-A\r
------------------------------------------------------------ATYKVKFITPEGE\r
-QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV\r
-TIETHREEDMV--\r
->FER1_ARATH Ferredoxin-1, chloroplast precursor\r
-MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE\r
-LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV\r
-TIETHKEEDIV--\r
->FER_BRANA Ferredoxin\r
------------------------------------------------------------ATYKVKFITPEGE\r
-QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV\r
-TIETHKEEELV--\r
->FER2_ARATH Ferredoxin-2, chloroplast precursor\r
-MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
-QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV\r
-VIETHKEEAIM--\r
->Q93Z60_ARATH At1g10960/T19D16_12\r
-MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
-QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------\r
--------------\r
->FER1_MAIZE Ferredoxin-1, chloroplast precursor\r
-MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE\r
-VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV\r
-VIETHKEEELTGA\r
->O80429_MAIZE Ferredoxin\r
-MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE\r
-VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV\r
-VIETHKEDDLL--\r
+>FER_CAPAA Ferredoxin
+-----------------------------------------------------------ASYKVKLITPDGP
+IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV
+TIETHKEAELVG-
+>FER_CAPAN Ferredoxin, chloroplast precursor
+MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP
+IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV
+TIETHKEAELVG-
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor
+MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV
+TIETHKEEELTA-
+>Q93XJ9_SOLTU Ferredoxin I precursor
+MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV
+TIETHKEEELTA-
+>FER1_PEA Ferredoxin-1, chloroplast precursor
+MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT
+QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV
+VIETHKEEDLTA-
+>Q7XA98_TRIPR Ferredoxin I
+MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP
+QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV
+TIETHKEEELTA-
+>FER1_MESCR Ferredoxin-1, chloroplast precursor
+MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK
+QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV
+TIETHKEEELTA-
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor
+MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN
+VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV
+TIETHKEEELTA-
+>FER3_RAPSA Ferredoxin, leaf L-A
+-----------------------------------------------------------ATYKVKFITPEGE
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV
+TIETHREEDMV--
+>FER1_ARATH Ferredoxin-1, chloroplast precursor
+MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE
+LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV
+TIETHKEEDIV--
+>FER_BRANA Ferredoxin
+-----------------------------------------------------------ATYKVKFITPEGE
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV
+TIETHKEEELV--
+>FER2_ARATH Ferredoxin-2, chloroplast precursor
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV
+VIETHKEEAIM--
+>Q93Z60_ARATH At1g10960/T19D16_12
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------
+-------------
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor
+MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE
+VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV
+VIETHKEEELTGA
+>O80429_MAIZE Ferredoxin
+MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE
+VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV
+VIETHKEDDLL--
index 69d17a5..7a40768 100755 (executable)
-HEADER    OXIDOREDUCTASE/ELECTRON TRANSPORT       08-MAY-00   1GAQ \r
-ATOM      2  CA  GLU A  19      20.491  30.713  36.290  1.00 74.29           C  \r
-ATOM     11  CA  SER A  20      24.056  29.774  37.264  1.00 72.09           C  \r
-ATOM     17  CA  LYS A  21      27.517  31.289  37.563  1.00 70.09           C  \r
-ATOM     26  CA  LYS A  22      28.794  27.865  36.481  1.00 68.64           C  \r
-ATOM     35  CA  GLN A  23      29.484  26.806  32.884  1.00 70.46           C  \r
-ATOM     44  CA  GLU A  24      26.420  25.175  31.360  1.00 72.08           C  \r
-ATOM     53  CA  GLU A  25      26.736  26.049  27.683  1.00 70.43           C  \r
-ATOM     62  CA  GLY A  26      28.299  22.912  26.233  1.00 63.14           C  \r
-ATOM     66  CA  VAL A  27      26.863  20.704  28.982  1.00 54.50           C  \r
-ATOM     73  CA  VAL A  28      25.030  17.390  28.655  1.00 48.32           C  \r
-ATOM     80  CA  THR A  29      23.728  14.677  30.991  1.00 44.86           C  \r
-ATOM     87  CA  ASN A  30      22.327  11.164  30.703  1.00 45.42           C  \r
-ATOM     95  CA  LEU A  31      23.332  10.459  27.102  1.00 45.42           C  \r
-ATOM    103  CA  TYR A  32      23.549   6.898  28.380  1.00 45.88           C  \r
-ATOM    115  CA  LYS A  33      21.656   5.321  31.262  1.00 47.27           C  \r
-ATOM    124  CA  PRO A  34      21.991   2.046  33.248  1.00 48.99           C  \r
-ATOM    131  CA  LYS A  35      19.339   0.560  30.970  1.00 52.75           C  \r
-ATOM    140  CA  GLU A  36      21.580   0.855  27.886  1.00 53.33           C  \r
-ATOM    149  CA  PRO A  37      25.154   2.015  28.678  1.00 47.54           C  \r
-ATOM    156  CA  TYR A  38      27.929   2.872  26.249  1.00 41.98           C  \r
-ATOM    168  CA  VAL A  39      30.355  -0.017  25.909  1.00 41.48           C  \r
-ATOM    175  CA  GLY A  40      33.823   1.485  25.966  1.00 37.59           C  \r
-ATOM    179  CA  ARG A  41      37.165  -0.277  26.122  1.00 39.77           C  \r
-ATOM    190  CA  CYS A  42      40.148  -0.029  28.442  1.00 36.51           C  \r
-ATOM    196  CA  LEU A  43      43.095   1.441  26.554  1.00 36.13           C  \r
-ATOM    204  CA  LEU A  44      45.231   2.023  29.649  1.00 33.55           C  \r
-ATOM    212  CA  ASN A  45      45.140   1.026  33.307  1.00 27.79           C  \r
-ATOM    220  CA  THR A  46      48.056   1.800  35.617  1.00 28.75           C  \r
-ATOM    227  CA  LYS A  47      48.542   1.776  39.388  1.00 30.31           C  \r
-ATOM    236  CA  ILE A  48      49.564   5.317  40.376  1.00 31.32           C  \r
-ATOM    244  CA  THR A  49      50.339   4.682  44.059  1.00 37.62           C  \r
-ATOM    251  CA  GLY A  50      53.585   3.317  45.460  1.00 44.49           C  \r
-ATOM    255  CA  ASP A  51      53.706  -0.448  46.087  1.00 52.89           C  \r
-ATOM    263  CA  ASP A  52      53.910   0.545  49.751  1.00 55.23           C  \r
-ATOM    271  CA  ALA A  53      50.816   2.767  50.056  1.00 53.34           C  \r
-ATOM    276  CA  PRO A  54      47.904   1.940  52.405  1.00 50.60           C  \r
-ATOM    283  CA  GLY A  55      45.420   1.579  49.561  1.00 50.35           C  \r
-ATOM    287  CA  GLU A  56      46.098   1.286  45.836  1.00 42.53           C  \r
-ATOM    296  CA  THR A  57      44.534   3.816  43.480  1.00 41.14           C  \r
-ATOM    303  CA  TRP A  58      44.540   3.423  39.708  1.00 35.60           C  \r
-ATOM    317  CA  HIS A  59      44.468   5.853  36.796  1.00 31.89           C  \r
-ATOM    327  CA  MET A  60      42.658   4.227  33.866  1.00 31.65           C  \r
-ATOM    335  CA  VAL A  61      41.716   5.345  30.350  1.00 30.43           C  \r
-ATOM    342  CA  PHE A  62      38.669   4.172  28.360  1.00 34.36           C  \r
-ATOM    353  CA  SER A  63      37.657   4.908  24.772  1.00 34.69           C  \r
-ATOM    359  CA  THR A  64      34.448   6.828  23.951  1.00 36.96           C  \r
-ATOM    366  CA  GLU A  65      34.691   7.644  20.254  1.00 40.08           C  \r
-ATOM    375  CA  GLY A  66      33.742  11.183  21.285  1.00 40.22           C  \r
-ATOM    379  CA  LYS A  67      30.272   9.763  22.003  1.00 41.93           C  \r
-ATOM    388  CA  ILE A  68      30.279  11.116  25.577  1.00 41.52           C  \r
-ATOM    396  CA  PRO A  69      30.791  14.926  25.537  1.00 42.35           C  \r
-ATOM    403  CA  TYR A  70      31.228  15.232  29.299  1.00 39.84           C  \r
-ATOM    415  CA  ARG A  71      32.639  18.451  30.768  1.00 44.14           C  \r
-ATOM    426  CA  GLU A  72      35.122  19.278  33.515  1.00 43.82           C  \r
-ATOM    435  CA  GLY A  73      33.472  18.458  36.835  1.00 41.97           C  \r
-ATOM    439  CA  GLN A  74      30.929  15.874  35.657  1.00 37.19           C  \r
-ATOM    448  CA  SER A  75      31.285  12.124  36.138  1.00 38.28           C  \r
-ATOM    454  CA  ILE A  76      30.458   8.792  34.539  1.00 36.84           C  \r
-ATOM    462  CA  GLY A  77      28.983   5.620  35.918  1.00 35.39           C  \r
-ATOM    466  CA  VAL A  78      30.311   2.108  35.530  1.00 32.05           C  \r
-ATOM    473  CA  ILE A  79      28.458  -1.201  35.591  1.00 32.67           C  \r
-ATOM    481  CA  ALA A  80      30.745  -4.018  36.644  1.00 35.36           C  \r
-ATOM    486  CA  ASP A  81      30.359  -7.373  34.872  1.00 38.72           C  \r
-ATOM    494  CA  GLY A  82      28.308 -10.332  36.110  1.00 45.79           C  \r
-ATOM    498  CA  VAL A  83      25.820 -10.242  39.001  1.00 52.24           C  \r
-ATOM    505  CA  ASP A  84      25.838 -10.250  42.834  1.00 60.54           C  \r
-ATOM    513  CA  LYS A  85      25.014 -13.158  45.196  1.00 66.72           C  \r
-ATOM    522  CA  ASN A  86      21.414 -13.062  43.904  1.00 67.37           C  \r
-ATOM    530  CA  GLY A  87      21.724 -13.423  40.136  1.00 64.74           C  \r
-ATOM    534  CA  LYS A  88      20.971  -9.733  39.570  1.00 61.12           C  \r
-ATOM    543  CA  PRO A  89      23.054  -7.201  37.561  1.00 54.68           C  \r
-ATOM    550  CA  HIS A  90      25.224  -4.957  39.755  1.00 44.44           C  \r
-ATOM    560  CA  LYS A  91      23.940  -1.433  40.260  1.00 40.48           C  \r
-ATOM    569  CA  VAL A  92      25.803   1.546  38.843  1.00 38.45           C  \r
-ATOM    576  CA  ARG A  93      28.709   2.986  40.828  1.00 38.93           C  \r
-ATOM    587  CA  LEU A  94      29.778   6.584  40.096  1.00 34.37           C  \r
-ATOM    595  CA  TYR A  95      33.309   7.878  39.513  1.00 30.27           C  \r
-ATOM    607  CA  SER A  96      34.425  11.475  39.057  1.00 29.44           C  \r
-ATOM    613  CA  ILE A  97      36.029  12.090  35.662  1.00 27.61           C  \r
-ATOM    621  CA  ALA A  98      39.769  12.693  36.069  1.00 31.12           C  \r
-ATOM    626  CA  SER A  99      40.393  13.712  32.475  1.00 32.42           C  \r
-ATOM    632  CA  SER A 100      39.566  17.142  31.059  1.00 36.14           C  \r
-ATOM    638  CA  ALA A 101      37.097  17.367  28.154  1.00 41.07           C  \r
-ATOM    643  CA  ILE A 102      39.764  16.549  25.527  1.00 47.65           C  \r
-ATOM    651  CA  GLY A 103      41.172  13.692  27.599  1.00 46.77           C  \r
-ATOM    655  CA  ASP A 104      44.730  12.612  28.289  1.00 43.82           C  \r
-ATOM    663  CA  PHE A 105      45.115  12.065  24.522  1.00 41.52           C  \r
-ATOM    674  CA  GLY A 106      43.862  15.455  23.328  1.00 41.66           C  \r
-ATOM    678  CA  ASP A 107      41.355  13.883  20.926  1.00 40.90           C  \r
-ATOM    686  CA  SER A 108      38.132  14.250  22.954  1.00 42.95           C  \r
-ATOM    692  CA  LYS A 109      37.967  10.535  22.224  1.00 44.74           C  \r
-ATOM    701  CA  THR A 110      38.731   9.184  25.704  1.00 41.09           C  \r
-ATOM    708  CA  VAL A 111      37.728   9.519  29.374  1.00 39.03           C  \r
-ATOM    715  CA  SER A 112      39.912   8.705  32.399  1.00 37.17           C  \r
-ATOM    721  CA  LEU A 113      39.098   7.476  35.935  1.00 32.10           C  \r
-ATOM    729  CA  CYS A 114      40.964   7.578  39.261  1.00 30.65           C  \r
-ATOM    735  CA  VAL A 115      39.724   4.459  41.060  1.00 33.45           C  \r
-ATOM    742  CA  LYS A 116      40.668   3.524  44.628  1.00 34.75           C  \r
-ATOM    751  CA  ARG A 117      40.376  -0.250  45.123  1.00 32.85           C  \r
-ATOM    762  CA  LEU A 118      38.137  -1.094  48.077  1.00 30.50           C  \r
-ATOM    770  CA  ILE A 119      39.376  -3.752  50.459  1.00 34.34           C  \r
-ATOM    778  CA  TYR A 120      38.699  -4.266  54.125  1.00 31.39           C  \r
-ATOM    790  CA  THR A 121      38.264  -7.086  56.567  1.00 28.83           C  \r
-ATOM    797  CA  ASN A 122      34.792  -7.477  58.109  1.00 26.51           C  \r
-ATOM    805  CA  ASP A 123      33.626  -8.382  61.634  1.00 31.58           C  \r
-ATOM    813  CA  ALA A 124      34.191 -12.077  60.901  1.00 27.84           C  \r
-ATOM    818  CA  GLY A 125      37.759 -11.844  59.728  1.00 32.39           C  \r
-ATOM    822  CA  GLU A 126      36.809 -12.146  56.073  1.00 35.82           C  \r
-ATOM    831  CA  ILE A 127      38.655  -9.932  53.598  1.00 38.42           C  \r
-ATOM    839  CA  VAL A 128      36.025  -8.261  51.421  1.00 33.73           C  \r
-ATOM    846  CA  LYS A 129      36.482  -6.484  48.090  1.00 31.87           C  \r
-ATOM    855  CA  GLY A 130      34.363  -3.680  46.686  1.00 26.91           C  \r
-ATOM    859  CA  VAL A 131      32.680  -5.051  43.569  1.00 27.89           C  \r
-ATOM    866  CA  CYS A 132      33.074  -2.246  41.018  1.00 28.46           C  \r
-ATOM    872  CA  SER A 133      36.266  -0.553  42.213  1.00 31.33           C  \r
-ATOM    878  CA  ASN A 134      37.861  -3.983  41.984  1.00 30.29           C  \r
-ATOM    886  CA  PHE A 135      36.318  -4.795  38.623  1.00 31.48           C  \r
-ATOM    897  CA  LEU A 136      37.926  -1.553  37.520  1.00 27.81           C  \r
-ATOM    905  CA  CYS A 137      41.417  -1.976  38.955  1.00 25.91           C  \r
-ATOM    911  CA  ASP A 138      41.605  -5.419  37.338  1.00 30.22           C  \r
-ATOM    919  CA  LEU A 139      40.462  -4.306  33.874  1.00 32.69           C  \r
-ATOM    927  CA  GLN A 140      42.851  -5.511  31.186  1.00 36.80           C  \r
-ATOM    936  CA  PRO A 141      43.380  -3.220  28.170  1.00 36.16           C  \r
-ATOM    943  CA  GLY A 142      40.864  -4.420  25.586  1.00 31.10           C  \r
-ATOM    947  CA  ASP A 143      38.129  -5.298  28.055  1.00 30.62           C  \r
-ATOM    955  CA  ASN A 144      34.690  -3.847  27.645  1.00 33.52           C  \r
-ATOM    963  CA  VAL A 145      33.430  -1.522  30.361  1.00 37.08           C  \r
-ATOM    970  CA  GLN A 146      29.817  -0.374  30.523  1.00 37.65           C  \r
-ATOM    979  CA  ILE A 147      29.547   3.413  31.045  1.00 30.95           C  \r
-ATOM    987  CA  THR A 148      26.637   5.791  31.832  1.00 29.95           C  \r
-ATOM    994  CA  GLY A 149      26.297   9.581  31.843  1.00 32.81           C  \r
-ATOM    998  CA  PRO A 150      27.785  12.148  31.800  1.00 34.98           C  \r
-ATOM   1005  CA  VAL A 151      26.376  12.668  35.275  1.00 36.53           C  \r
-ATOM   1012  CA  GLY A 152      26.196  15.756  37.474  1.00 43.09           C  \r
-ATOM   1016  CA  LYS A 153      26.048  19.528  37.068  1.00 48.37           C  \r
-ATOM   1025  CA  GLU A 154      26.921  20.540  40.633  1.00 49.70           C  \r
-ATOM   1034  CA  MET A 155      30.710  20.266  40.235  1.00 47.30           C  \r
-ATOM   1042  CA  LEU A 156      30.882  22.020  36.869  1.00 50.36           C  \r
-ATOM   1050  CA  MET A 157      33.362  24.883  36.404  1.00 55.29           C  \r
-ATOM   1058  CA  PRO A 158      32.521  28.612  36.605  1.00 54.88           C  \r
-ATOM   1065  CA  LYS A 159      32.291  30.776  33.464  1.00 54.92           C  \r
-ATOM   1074  CA  ASP A 160      34.497  33.503  34.939  1.00 57.22           C  \r
-ATOM   1082  CA  PRO A 161      38.055  32.687  33.759  1.00 58.62           C  \r
-ATOM   1089  CA  ASN A 162      39.524  35.240  36.163  1.00 60.44           C  \r
-ATOM   1097  CA  ALA A 163      37.814  33.910  39.279  1.00 55.80           C  \r
-ATOM   1102  CA  THR A 164      39.596  32.487  42.316  1.00 51.04           C  \r
-ATOM   1109  CA  ILE A 165      38.966  28.771  42.756  1.00 50.26           C  \r
-ATOM   1117  CA  ILE A 166      39.774  26.773  45.885  1.00 47.54           C  \r
-ATOM   1125  CA  MET A 167      39.883  23.014  45.324  1.00 46.38           C  \r
-ATOM   1133  CA  LEU A 168      39.700  20.963  48.522  1.00 42.18           C  \r
-ATOM   1141  CA  ALA A 169      40.377  17.316  47.770  1.00 36.41           C  \r
-ATOM   1146  CA  THR A 170      41.005  14.086  49.622  1.00 32.98           C  \r
-ATOM   1153  CA  GLY A 171      42.027  10.802  48.014  1.00 31.36           C  \r
-ATOM   1157  CA  THR A 172      40.386  10.037  44.680  1.00 30.48           C  \r
-ATOM   1164  CA  GLY A 173      38.640  13.335  45.359  1.00 33.99           C  \r
-ATOM   1168  CA  ILE A 174      41.418  15.036  43.394  1.00 35.66           C  \r
-ATOM   1176  CA  ALA A 175      39.758  13.585  40.300  1.00 36.00           C  \r
-ATOM   1181  CA  PRO A 176      37.445  16.385  39.155  1.00 39.41           C  \r
-ATOM   1188  CA  PHE A 177      40.109  18.971  39.976  1.00 43.21           C  \r
-ATOM   1199  CA  ARG A 178      42.726  17.119  37.955  1.00 41.09           C  \r
-ATOM   1210  CA  SER A 179      40.235  17.536  35.124  1.00 39.92           C  \r
-ATOM   1216  CA  PHE A 180      39.808  21.204  36.009  1.00 39.23           C  \r
-ATOM   1227  CA  LEU A 181      43.528  21.949  35.995  1.00 39.50           C  \r
-ATOM   1235  CA  TRP A 182      44.305  20.081  32.770  1.00 41.47           C  \r
-ATOM   1249  CA  LYS A 183      42.141  22.654  30.972  1.00 48.08           C  \r
-ATOM   1258  CA  MET A 184      43.477  25.547  33.062  1.00 52.79           C  \r
-ATOM   1266  CA  PHE A 185      47.102  25.043  32.014  1.00 57.35           C  \r
-ATOM   1277  CA  PHE A 186      48.075  21.921  30.051  1.00 55.98           C  \r
-ATOM   1288  CA  GLU A 187      45.758  23.173  27.297  1.00 54.44           C  \r
-ATOM   1297  CA  LYS A 188      44.908  26.236  25.196  1.00 51.29           C  \r
-ATOM   1306  CA  HIS A 189      41.395  27.080  24.003  1.00 51.35           C  \r
-ATOM   1316  CA  ASP A 190      40.108  29.972  21.873  1.00 54.30           C  \r
-ATOM   1324  CA  ASP A 191      37.199  30.481  24.249  1.00 53.95           C  \r
-ATOM   1332  CA  TYR A 192      38.816  29.937  27.634  1.00 50.68           C  \r
-ATOM   1344  CA  LYS A 193      41.916  31.388  29.230  1.00 51.00           C  \r
-ATOM   1353  CA  PHE A 194      42.322  30.967  32.956  1.00 52.09           C  \r
-ATOM   1364  CA  ASN A 195      43.672  34.234  34.312  1.00 56.46           C  \r
-ATOM   1372  CA  GLY A 196      42.616  34.078  37.969  1.00 57.17           C  \r
-ATOM   1376  CA  LEU A 197      43.874  31.920  40.843  1.00 57.92           C  \r
-ATOM   1384  CA  GLY A 198      43.549  28.151  41.086  1.00 56.67           C  \r
-ATOM   1388  CA  TRP A 199      44.258  26.886  44.592  1.00 51.55           C  \r
-ATOM   1402  CA  LEU A 200      44.411  23.170  45.379  1.00 49.17           C  \r
-ATOM   1410  CA  PHE A 201      44.558  21.335  48.709  1.00 48.60           C  \r
-ATOM   1421  CA  LEU A 202      45.122  17.570  48.598  1.00 45.34           C  \r
-ATOM   1429  CA  GLY A 203      44.885  15.480  51.742  1.00 48.55           C  \r
-ATOM   1433  CA  VAL A 204      46.225  11.936  51.755  1.00 50.23           C  \r
-ATOM   1440  CA  PRO A 205      47.942   9.740  54.365  1.00 51.51           C  \r
-ATOM   1447  CA  THR A 206      51.284   9.148  52.648  1.00 50.21           C  \r
-ATOM   1454  CA  SER A 207      53.551  10.483  49.894  1.00 49.38           C  \r
-ATOM   1460  CA  SER A 208      53.267   7.061  48.259  1.00 43.49           C  \r
-ATOM   1466  CA  SER A 209      49.588   8.049  48.093  1.00 42.57           C  \r
-ATOM   1472  CA  LEU A 210      49.990  11.424  46.364  1.00 42.65           C  \r
-ATOM   1480  CA  LEU A 211      48.121  11.446  43.035  1.00 39.33           C  \r
-ATOM   1488  CA  TYR A 212      49.516  13.214  39.935  1.00 40.89           C  \r
-ATOM   1500  CA  LYS A 213      52.128  15.234  41.873  1.00 45.88           C  \r
-ATOM   1509  CA  GLU A 214      54.518  15.406  38.899  1.00 53.22           C  \r
-ATOM   1518  CA  GLU A 215      51.680  16.911  36.889  1.00 55.16           C  \r
-ATOM   1527  CA  PHE A 216      50.757  19.475  39.514  1.00 60.55           C  \r
-ATOM   1538  CA  GLY A 217      54.488  20.153  39.524  1.00 66.64           C  \r
-ATOM   1542  CA  LYS A 218      54.575  21.110  35.850  1.00 68.86           C  \r
-ATOM   1551  CA  MET A 219      51.398  23.159  36.265  1.00 66.97           C  \r
-ATOM   1559  CA  LYS A 220      53.138  25.090  39.061  1.00 65.97           C  \r
-ATOM   1568  CA  GLU A 221      55.654  26.250  36.459  1.00 70.02           C  \r
-ATOM   1577  CA  ARG A 222      53.584  26.507  33.294  1.00 73.48           C  \r
-ATOM   1588  CA  ALA A 223      52.005  29.449  35.175  1.00 76.21           C  \r
-ATOM   1593  CA  PRO A 224      53.272  29.877  38.804  1.00 79.25           C  \r
-ATOM   1600  CA  GLU A 225      51.296  33.124  39.020  1.00 81.84           C  \r
-ATOM   1609  CA  ASN A 226      47.873  31.528  38.622  1.00 78.84           C  \r
-ATOM   1617  CA  PHE A 227      48.418  28.176  40.350  1.00 75.28           C  \r
-ATOM   1628  CA  ARG A 228      49.090  27.305  43.996  1.00 72.05           C  \r
-ATOM   1639  CA  VAL A 229      49.165  23.724  45.323  1.00 68.82           C  \r
-ATOM   1646  CA  ASP A 230      49.258  22.581  48.958  1.00 66.54           C  \r
-ATOM   1654  CA  TYR A 231      49.605  18.943  49.968  1.00 60.31           C  \r
-ATOM   1666  CA  ALA A 232      48.551  17.560  53.332  1.00 57.39           C  \r
-ATOM   1671  CA  VAL A 233      50.260  14.228  53.945  1.00 57.14           C  \r
-ATOM   1678  CA  SER A 234      48.465  13.579  57.244  1.00 60.81           C  \r
-ATOM   1684  CA  ARG A 235      50.959  11.010  58.514  1.00 60.74           C  \r
-ATOM   1695  CA  GLU A 236      54.268  12.594  57.481  1.00 59.17           C  \r
-ATOM   1704  CA  GLN A 237      53.494  16.197  58.450  1.00 59.62           C  \r
-ATOM   1713  CA  THR A 238      52.590  18.236  61.521  1.00 63.18           C  \r
-ATOM   1720  CA  ASN A 239      52.019  21.937  62.188  1.00 66.71           C  \r
-ATOM   1728  CA  ALA A 240      52.096  23.767  65.537  1.00 70.06           C  \r
-ATOM   1733  CA  ALA A 241      51.302  21.400  68.410  1.00 72.44           C  \r
-ATOM   1738  CA  GLY A 242      52.383  18.324  66.438  1.00 72.38           C  \r
-ATOM   1742  CA  GLU A 243      48.826  18.169  65.110  1.00 69.71           C  \r
-ATOM   1751  CA  ARG A 244      48.674  15.776  62.148  1.00 67.21           C  \r
-ATOM   1762  CA  MET A 245      48.712  17.796  58.933  1.00 64.20           C  \r
-ATOM   1770  CA  TYR A 246      45.246  17.082  57.556  1.00 60.65           C  \r
-ATOM   1782  CA  ILE A 247      43.617  18.437  54.409  1.00 62.98           C  \r
-ATOM   1790  CA  GLN A 248      42.035  21.001  56.761  1.00 64.64           C  \r
-ATOM   1799  CA  THR A 249      45.057  21.461  59.009  1.00 63.37           C  \r
-ATOM   1806  CA  ARG A 250      46.891  22.664  55.903  1.00 62.47           C  \r
-ATOM   1817  CA  MET A 251      44.123  25.201  55.251  1.00 63.35           C  \r
-ATOM   1825  CA  ALA A 252      44.571  26.305  58.854  1.00 65.73           C  \r
-ATOM   1830  CA  GLU A 253      47.973  27.809  58.076  1.00 65.97           C  \r
-ATOM   1839  CA  TYR A 254      46.267  30.063  55.517  1.00 65.83           C  \r
-ATOM   1851  CA  LYS A 255      42.991  30.559  57.379  1.00 70.30           C  \r
-ATOM   1860  CA  GLU A 256      43.578  34.326  57.320  1.00 73.73           C  \r
-ATOM   1869  CA  GLU A 257      44.189  34.738  53.593  1.00 71.52           C  \r
-ATOM   1878  CA  LEU A 258      41.459  32.202  52.893  1.00 73.38           C  \r
-ATOM   1886  CA  TRP A 259      38.790  34.074  54.853  1.00 76.72           C  \r
-ATOM   1900  CA  GLU A 260      39.721  37.275  53.006  1.00 78.61           C  \r
-ATOM   1909  CA  LEU A 261      38.580  35.553  49.815  1.00 75.71           C  \r
-ATOM   1917  CA  LEU A 262      35.391  33.881  51.047  1.00 73.74           C  \r
-ATOM   1925  CA  LYS A 263      33.562  37.165  50.535  1.00 73.64           C  \r
-ATOM   1934  CA  LYS A 264      34.299  38.143  46.954  1.00 72.48           C  \r
-ATOM   1943  CA  ASP A 265      31.954  37.554  43.993  1.00 69.65           C  \r
-ATOM   1951  CA  ASN A 266      34.660  35.649  42.106  1.00 65.06           C  \r
-ATOM   1959  CA  THR A 267      35.835  33.117  44.683  1.00 58.24           C  \r
-ATOM   1966  CA  TYR A 268      34.459  29.646  43.909  1.00 51.04           C  \r
-ATOM   1978  CA  VAL A 269      35.192  26.827  46.382  1.00 44.95           C  \r
-ATOM   1985  CA  TYR A 270      35.012  23.150  45.368  1.00 44.96           C  \r
-ATOM   1997  CA  MET A 271      35.162  20.122  47.656  1.00 41.72           C  \r
-ATOM   2005  CA  CYS A 272      35.314  16.468  46.632  1.00 37.19           C  \r
-ATOM   2011  CA  GLY A 273      36.343  13.080  47.951  1.00 37.65           C  \r
-ATOM   2015  CA  LEU A 274      36.040  10.886  51.020  1.00 39.39           C  \r
-ATOM   2023  CA  LYS A 275      33.076  12.283  52.955  1.00 44.86           C  \r
-ATOM   2032  CA  GLY A 276      34.322  13.183  56.400  1.00 49.16           C  \r
-ATOM   2036  CA  MET A 277      36.932  15.608  55.168  1.00 53.30           C  \r
-ATOM   2044  CA  GLU A 278      33.917  17.921  55.165  1.00 56.74           C  \r
-ATOM   2053  CA  LYS A 279      33.531  18.089  58.947  1.00 59.30           C  \r
-ATOM   2062  CA  GLY A 280      36.982  19.413  59.776  1.00 58.94           C  \r
-ATOM   2066  CA  ILE A 281      36.705  22.048  57.063  1.00 61.43           C  \r
-ATOM   2074  CA  ASP A 282      33.453  23.402  58.515  1.00 67.06           C  \r
-ATOM   2082  CA  ASP A 283      35.050  23.189  61.972  1.00 74.12           C  \r
-ATOM   2090  CA  ILE A 284      37.991  25.422  61.040  1.00 78.49           C  \r
-ATOM   2098  CA  MET A 285      35.456  27.566  59.201  1.00 82.25           C  \r
-ATOM   2106  CA  VAL A 286      32.941  27.959  62.027  1.00 83.44           C  \r
-ATOM   2113  CA  SER A 287      35.610  29.113  64.469  1.00 83.43           C  \r
-ATOM   2119  CA  LEU A 288      36.927  31.601  61.887  1.00 85.53           C  \r
-ATOM   2127  CA  ALA A 289      33.506  33.025  60.970  1.00 86.85           C  \r
-ATOM   2132  CA  GLU A 290      31.841  32.696  64.387  1.00 89.26           C  \r
-ATOM   2141  CA  LYS A 291      34.438  35.312  65.347  1.00 88.73           C  \r
-ATOM   2150  CA  ASP A 292      33.635  37.891  62.652  1.00 88.03           C  \r
-ATOM   2158  CA  GLY A 293      30.219  37.450  61.081  1.00 87.88           C  \r
-ATOM   2162  CA  ILE A 294      27.319  35.051  61.511  1.00 84.61           C  \r
-ATOM   2170  CA  ASP A 295      27.665  31.329  62.188  1.00 82.45           C  \r
-ATOM   2178  CA  TRP A 296      29.539  29.627  59.355  1.00 80.12           C  \r
-ATOM   2192  CA  PHE A 297      26.527  27.452  58.512  1.00 78.99           C  \r
-ATOM   2203  CA  ASP A 298      24.167  30.241  57.486  1.00 76.37           C  \r
-ATOM   2211  CA  TYR A 299      27.074  31.748  55.561  1.00 74.07           C  \r
-ATOM   2223  CA  LYS A 300      27.679  28.620  53.473  1.00 74.31           C  \r
-ATOM   2232  CA  LYS A 301      24.059  29.146  52.464  1.00 75.97           C  \r
-ATOM   2241  CA  GLN A 302      24.921  32.563  51.018  1.00 75.38           C  \r
-ATOM   2250  CA  LEU A 303      27.896  31.099  49.155  1.00 72.10           C  \r
-ATOM   2258  CA  LYS A 304      25.917  28.207  47.690  1.00 72.08           C  \r
-ATOM   2267  CA  ARG A 305      23.595  31.021  46.594  1.00 74.82           C  \r
-ATOM   2278  CA  GLY A 306      26.071  32.136  43.958  1.00 71.84           C  \r
-ATOM   2282  CA  ASP A 307      27.505  28.682  43.220  1.00 67.23           C  \r
-ATOM   2290  CA  GLN A 308      30.620  29.291  45.346  1.00 60.18           C  \r
-ATOM   2299  CA  TRP A 309      30.585  26.177  47.537  1.00 52.25           C  \r
-ATOM   2313  CA  ASN A 310      29.894  22.997  45.597  1.00 45.03           C  \r
-ATOM   2321  CA  VAL A 311      30.327  19.716  47.403  1.00 39.13           C  \r
-ATOM   2328  CA  GLU A 312      30.507  16.190  46.110  1.00 35.17           C  \r
-ATOM   2337  CA  VAL A 313      31.761  13.957  48.861  1.00 30.12           C  \r
-ATOM   2344  CA  TYR A 314      31.112  10.230  49.021  1.00 28.23           C  \r
-ATOM   2358  CA  ALA B   1       2.311  24.702  44.475  1.00 74.17           C  \r
-ATOM   2363  CA  THR B   2       3.590  24.207  48.055  1.00 74.76           C  \r
-ATOM   2370  CA  TYR B   3       3.069  20.876  49.837  1.00 73.52           C  \r
-ATOM   2382  CA  ASN B   4       3.748  19.874  53.435  1.00 75.75           C  \r
-ATOM   2390  CA  VAL B   5       6.618  17.399  53.868  1.00 75.95           C  \r
-ATOM   2397  CA  LYS B   6       7.769  15.523  56.983  1.00 77.70           C  \r
-ATOM   2406  CA  LEU B   7      11.351  14.325  57.458  1.00 78.91           C  \r
-ATOM   2414  CA  ILE B   8      11.807  11.511  59.985  1.00 81.00           C  \r
-ATOM   2422  CA  THR B   9      15.560  12.046  60.247  1.00 87.49           C  \r
-ATOM   2429  CA  PRO B  10      17.662   9.793  62.539  1.00 92.94           C  \r
-ATOM   2436  CA  GLU B  11      18.161  13.147  64.282  1.00 96.61           C  \r
-ATOM   2445  CA  GLY B  12      14.579  14.154  65.041  1.00 97.52           C  \r
-ATOM   2449  CA  GLU B  13      11.602  14.823  62.748  1.00 96.90           C  \r
-ATOM   2458  CA  VAL B  14      11.547  17.892  60.480  1.00 96.63           C  \r
-ATOM   2465  CA  GLU B  15       8.340  19.701  59.440  1.00 94.86           C  \r
-ATOM   2474  CA  LEU B  16       9.471  21.479  56.254  1.00 91.55           C  \r
-ATOM   2482  CA  GLN B  17       7.281  23.141  53.598  1.00 89.75           C  \r
-ATOM   2491  CA  VAL B  18       8.485  22.069  50.145  1.00 87.92           C  \r
-ATOM   2498  CA  PRO B  19       6.906  23.558  46.964  1.00 86.35           C  \r
-ATOM   2505  CA  ASP B  20       5.990  21.744  43.717  1.00 86.29           C  \r
-ATOM   2513  CA  ASP B  21       8.578  22.751  41.083  1.00 83.78           C  \r
-ATOM   2521  CA  VAL B  22      11.385  22.401  43.639  1.00 80.98           C  \r
-ATOM   2528  CA  TYR B  23      13.439  19.280  44.481  1.00 77.04           C  \r
-ATOM   2540  CA  ILE B  24      13.212  18.196  48.120  1.00 76.45           C  \r
-ATOM   2548  CA  LEU B  25      16.959  18.133  48.851  1.00 75.15           C  \r
-ATOM   2556  CA  ASP B  26      17.154  21.745  47.689  1.00 75.80           C  \r
-ATOM   2564  CA  GLN B  27      14.616  22.906  50.280  1.00 76.31           C  \r
-ATOM   2573  CA  ALA B  28      16.562  20.957  52.914  1.00 78.86           C  \r
-ATOM   2578  CA  GLU B  29      19.698  23.011  52.198  1.00 81.51           C  \r
-ATOM   2587  CA  GLU B  30      17.491  26.106  52.510  1.00 83.25           C  \r
-ATOM   2596  CA  ASP B  31      15.857  25.933  55.935  1.00 81.92           C  \r
-ATOM   2604  CA  GLY B  32      19.280  24.859  57.151  1.00 79.08           C  \r
-ATOM   2608  CA  ILE B  33      18.621  21.130  57.157  1.00 76.93           C  \r
-ATOM   2616  CA  ASP B  34      21.528  18.731  56.618  1.00 73.53           C  \r
-ATOM   2624  CA  LEU B  35      20.738  15.738  54.421  1.00 67.74           C  \r
-ATOM   2632  CA  PRO B  36      23.138  13.391  52.547  1.00 65.90           C  \r
-ATOM   2639  CA  TYR B  37      23.916  14.226  48.912  1.00 64.85           C  \r
-ATOM   2651  CA  SER B  38      26.659  13.373  46.412  1.00 62.58           C  \r
-ATOM   2657  CA  CYS B  39      26.193  13.603  42.652  1.00 60.99           C  \r
-ATOM   2663  CA  ARG B  40      22.908  15.441  43.251  1.00 58.35           C  \r
-ATOM   2674  CA  ALA B  41      21.699  14.108  39.886  1.00 56.38           C  \r
-ATOM   2679  CA  GLY B  42      19.886  10.955  40.991  1.00 56.66           C  \r
-ATOM   2683  CA  SER B  43      22.465   8.336  40.010  1.00 58.55           C  \r
-ATOM   2689  CA  CYS B  44      23.548   7.052  43.447  1.00 56.27           C  \r
-ATOM   2695  CA  SER B  45      22.057   5.987  46.791  1.00 58.20           C  \r
-ATOM   2701  CA  SER B  46      23.574   8.773  48.890  1.00 59.13           C  \r
-ATOM   2707  CA  CYS B  47      20.220  10.475  49.517  1.00 65.64           C  \r
-ATOM   2713  CA  ALA B  48      17.911   7.436  49.610  1.00 69.71           C  \r
-ATOM   2718  CA  GLY B  49      14.733   7.635  51.681  1.00 73.09           C  \r
-ATOM   2722  CA  LYS B  50      11.712   5.340  52.183  1.00 73.77           C  \r
-ATOM   2731  CA  VAL B  51       8.551   7.412  51.568  1.00 76.51           C  \r
-ATOM   2738  CA  VAL B  52       5.237   7.081  53.429  1.00 78.85           C  \r
-ATOM   2745  CA  SER B  53       2.180   9.376  53.647  1.00 79.57           C  \r
-ATOM   2751  CA  GLY B  54       2.118  10.991  50.218  1.00 76.32           C  \r
-ATOM   2755  CA  SER B  55       3.577  10.944  46.726  1.00 76.31           C  \r
-ATOM   2761  CA  VAL B  56       6.436  12.592  44.828  1.00 77.50           C  \r
-ATOM   2768  CA  ASP B  57       7.691  12.960  41.243  1.00 76.83           C  \r
-ATOM   2776  CA  GLN B  58      11.150  11.483  40.555  1.00 76.66           C  \r
-ATOM   2785  CA  SER B  59      10.976  10.827  36.792  1.00 80.19           C  \r
-ATOM   2791  CA  ASP B  60      14.688  11.644  36.510  1.00 83.51           C  \r
-ATOM   2799  CA  GLN B  61      15.175   8.137  37.916  1.00 85.74           C  \r
-ATOM   2808  CA  SER B  62      18.644   7.080  36.699  1.00 85.85           C  \r
-ATOM   2814  CA  TYR B  63      19.324   5.049  39.852  1.00 84.49           C  \r
-ATOM   2826  CA  LEU B  64      15.683   4.296  40.629  1.00 89.06           C  \r
-ATOM   2834  CA  ASP B  65      15.356   0.604  39.742  1.00 92.21           C  \r
-ATOM   2842  CA  ASP B  66      12.421  -1.791  39.331  1.00 92.35           C  \r
-ATOM   2850  CA  GLY B  67      10.747  -2.542  42.659  1.00 89.07           C  \r
-ATOM   2854  CA  GLN B  68      12.336   0.632  44.010  1.00 88.41           C  \r
-ATOM   2863  CA  ILE B  69       9.483   2.828  42.742  1.00 86.11           C  \r
-ATOM   2871  CA  ALA B  70       7.060   0.441  44.446  1.00 81.10           C  \r
-ATOM   2876  CA  ASP B  71       8.985  -0.310  47.648  1.00 76.82           C  \r
-ATOM   2884  CA  GLY B  72       8.653   3.423  48.186  1.00 73.00           C  \r
-ATOM   2888  CA  TRP B  73      12.342   4.386  48.095  1.00 67.93           C  \r
-ATOM   2902  CA  VAL B  74      13.052   8.007  47.136  1.00 63.84           C  \r
-ATOM   2909  CA  LEU B  75      16.093   9.940  45.892  1.00 58.37           C  \r
-ATOM   2917  CA  THR B  76      15.524  13.198  47.826  1.00 55.82           C  \r
-ATOM   2924  CA  CYS B  77      17.941  15.109  45.556  1.00 58.23           C  \r
-ATOM   2930  CA  HIS B  78      15.777  14.389  42.513  1.00 64.55           C  \r
-ATOM   2940  CA  ALA B  79      12.108  14.429  43.512  1.00 68.40           C  \r
-ATOM   2945  CA  TYR B  80       9.442  17.152  43.581  1.00 69.69           C  \r
-ATOM   2957  CA  PRO B  81       6.414  16.584  45.842  1.00 71.39           C  \r
-ATOM   2964  CA  THR B  82       3.015  16.014  44.179  1.00 73.67           C  \r
-ATOM   2971  CA  SER B  83       1.278  15.771  47.557  1.00 76.90           C  \r
-ATOM   2977  CA  ASP B  84       1.940  16.119  51.289  1.00 75.20           C  \r
-ATOM   2985  CA  VAL B  85       4.840  13.765  52.050  1.00 71.37           C  \r
-ATOM   2992  CA  VAL B  86       6.363  11.824  54.956  1.00 70.12           C  \r
-ATOM   2999  CA  ILE B  87       9.770  10.300  54.188  1.00 74.18           C  \r
-ATOM   3007  CA  GLU B  88      12.211   8.403  56.410  1.00 78.53           C  \r
-ATOM   3012  CA  THR B  89      15.541   9.964  55.407  1.00 79.79           C  \r
-ATOM   3019  CA  HIS B  90      19.062   8.538  55.881  1.00 79.40           C  \r
-ATOM   3029  CA  LYS B  91      17.584   5.099  55.099  1.00 84.52           C  \r
-ATOM   3038  CA  GLU B  92      20.016   2.596  53.549  1.00 91.64           C  \r
-ATOM   3047  CA  GLU B  93      20.192  -0.858  51.981  1.00 98.97           C  \r
-ATOM   3056  CA  GLU B  94      23.321  -2.924  51.298  1.00106.32           C  \r
-ATOM   3065  CA  LEU B  95      22.104  -6.552  51.453  1.00111.32           C  \r
-ATOM   3073  CA  THR B  96      18.778  -8.417  51.866  1.00116.01           C  \r
-ATOM   3080  CA  GLY B  97      18.877 -11.302  49.394  1.00116.63           C  \r
-ATOM   3084  CA  ALA B  98      22.056  -9.833  47.910  1.00116.02           C  \r
-ATOM   3091  CA  GLU C  19      26.080  -2.480  15.294  1.00 73.96           C  \r
-ATOM   3100  CA  SER C  20      23.405   0.198  14.956  1.00 67.27           C  \r
-ATOM   3106  CA  LYS C  21      22.937   3.927  15.380  1.00 59.27           C  \r
-ATOM   3115  CA  LYS C  22      19.198   3.481  15.874  1.00 58.42           C  \r
-ATOM   3124  CA  GLN C  23      17.251   3.141  19.137  1.00 59.89           C  \r
-ATOM   3133  CA  GLU C  24      17.931  -0.276  20.610  1.00 62.66           C  \r
-ATOM   3142  CA  GLU C  25      16.850  -0.453  24.226  1.00 64.27           C  \r
-ATOM   3151  CA  GLY C  26      13.211  -0.817  25.116  1.00 61.78           C  \r
-ATOM   3155  CA  VAL C  27      12.703  -2.073  21.582  1.00 58.37           C  \r
-ATOM   3162  CA  VAL C  28      10.779  -5.347  21.485  1.00 54.17           C  \r
-ATOM   3169  CA  THR C  29       9.481  -7.339  18.549  1.00 52.79           C  \r
-ATOM   3176  CA  ASN C  30       6.670  -9.775  17.786  1.00 51.30           C  \r
-ATOM   3184  CA  LEU C  31       4.863  -9.997  21.112  1.00 51.05           C  \r
-ATOM   3192  CA  TYR C  32       1.766 -11.297  19.327  1.00 50.51           C  \r
-ATOM   3204  CA  LYS C  33       1.373 -13.532  16.266  1.00 49.49           C  \r
-ATOM   3213  CA  PRO C  34      -1.609 -14.150  13.925  1.00 50.98           C  \r
-ATOM   3220  CA  LYS C  35      -2.450 -17.248  16.011  1.00 55.46           C  \r
-ATOM   3229  CA  GLU C  36      -2.977 -15.400  19.288  1.00 53.79           C  \r
-ATOM   3238  CA  PRO C  37      -3.251 -11.638  18.607  1.00 49.32           C  \r
-ATOM   3245  CA  TYR C  38      -3.674  -9.050  21.318  1.00 46.76           C  \r
-ATOM   3257  CA  VAL C  39      -7.276  -7.947  21.418  1.00 43.68           C  \r
-ATOM   3264  CA  GLY C  40      -7.415  -4.194  21.922  1.00 41.62           C  \r
-ATOM   3268  CA  ARG C  41     -10.273  -1.719  21.954  1.00 40.07           C  \r
-ATOM   3279  CA  CYS C  42     -11.026   1.064  19.477  1.00 36.37           C  \r
-ATOM   3285  CA  LEU C  43     -11.330   4.206  21.583  1.00 31.09           C  \r
-ATOM   3293  CA  LEU C  44     -11.337   6.671  18.673  1.00 28.46           C  \r
-ATOM   3301  CA  ASN C  45     -11.792   6.653  14.923  1.00 26.74           C  \r
-ATOM   3309  CA  THR C  46     -11.954   9.920  13.013  1.00 25.29           C  \r
-ATOM   3316  CA  LYS C  47     -11.667  10.775   9.352  1.00 21.50           C  \r
-ATOM   3325  CA  ILE C  48      -8.895  13.355   9.121  1.00 19.33           C  \r
-ATOM   3333  CA  THR C  49      -9.125  14.281   5.442  1.00 20.38           C  \r
-ATOM   3340  CA  GLY C  50     -11.630  16.676   3.855  1.00 20.12           C  \r
-ATOM   3344  CA  ASP C  51     -14.895  15.345   2.412  1.00 21.75           C  \r
-ATOM   3352  CA  ASP C  52     -13.889  16.693  -0.999  1.00 21.19           C  \r
-ATOM   3360  CA  ALA C  53     -10.651  14.683  -0.749  1.00 21.06           C  \r
-ATOM   3365  CA  PRO C  54     -10.036  11.974  -3.413  1.00 21.39           C  \r
-ATOM   3372  CA  GLY C  55      -9.982   9.067  -0.977  1.00 24.42           C  \r
-ATOM   3376  CA  GLU C  56     -10.374   9.298   2.857  1.00 22.08           C  \r
-ATOM   3385  CA  THR C  57      -7.723   8.611   5.517  1.00 20.31           C  \r
-ATOM   3392  CA  TRP C  58      -8.541   7.849   9.162  1.00 19.33           C  \r
-ATOM   3406  CA  HIS C  59      -6.758   8.520  12.438  1.00 22.68           C  \r
-ATOM   3416  CA  MET C  60      -7.645   5.951  15.108  1.00 27.16           C  \r
-ATOM   3424  CA  VAL C  61      -6.672   5.224  18.723  1.00 29.32           C  \r
-ATOM   3431  CA  PHE C  62      -6.669   1.704  20.220  1.00 34.23           C  \r
-ATOM   3442  CA  SER C  63      -6.102   0.643  23.847  1.00 37.05           C  \r
-ATOM   3448  CA  THR C  64      -3.096  -1.517  24.798  1.00 41.86           C  \r
-ATOM   3455  CA  GLU C  65      -3.169  -1.652  28.621  1.00 48.33           C  \r
-ATOM   3464  CA  GLY C  66       0.537  -0.885  28.318  1.00 52.45           C  \r
-ATOM   3468  CA  LYS C  67       0.955  -4.385  26.891  1.00 54.14           C  \r
-ATOM   3477  CA  ILE C  68       2.429  -3.211  23.570  1.00 51.52           C  \r
-ATOM   3485  CA  PRO C  69       5.602  -1.279  24.487  1.00 49.85           C  \r
-ATOM   3492  CA  TYR C  70       6.523  -0.180  20.967  1.00 44.48           C  \r
-ATOM   3504  CA  ARG C  71       9.185   2.353  19.993  1.00 40.96           C  \r
-ATOM   3515  CA  GLU C  72       8.727   5.317  17.688  1.00 33.49           C  \r
-ATOM   3524  CA  GLY C  73       8.913   3.876  14.164  1.00 30.16           C  \r
-ATOM   3528  CA  GLN C  74       7.423   0.399  14.427  1.00 31.26           C  \r
-ATOM   3537  CA  SER C  75       4.187  -0.913  12.966  1.00 33.65           C  \r
-ATOM   3543  CA  ILE C  76       1.454  -3.212  14.278  1.00 33.75           C  \r
-ATOM   3551  CA  GLY C  77      -0.295  -5.923  12.356  1.00 34.32           C  \r
-ATOM   3555  CA  VAL C  78      -4.060  -6.111  12.164  1.00 36.67           C  \r
-ATOM   3562  CA  ILE C  79      -6.137  -9.230  11.507  1.00 41.91           C  \r
-ATOM   3570  CA  ALA C  80      -9.427  -8.086  10.024  1.00 44.06           C  \r
-ATOM   3575  CA  ASP C  81     -12.530  -9.927  11.224  1.00 47.03           C  \r
-ATOM   3583  CA  GLY C  82     -13.972 -12.487   8.829  1.00 53.52           C  \r
-ATOM   3587  CA  VAL C  83     -12.521 -14.951   6.324  1.00 62.57           C  \r
-ATOM   3594  CA  ASP C  84     -11.856 -14.200   2.630  1.00 71.97           C  \r
-ATOM   3602  CA  LYS C  85     -12.935 -17.403   0.861  1.00 76.86           C  \r
-ATOM   3611  CA  ASN C  86     -13.690 -18.960   4.253  1.00 76.52           C  \r
-ATOM   3619  CA  GLY C  87     -10.006 -19.837   4.066  1.00 76.22           C  \r
-ATOM   3623  CA  LYS C  88      -8.802 -19.138   7.616  1.00 71.60           C  \r
-ATOM   3632  CA  PRO C  89      -8.651 -15.577   8.944  1.00 64.14           C  \r
-ATOM   3639  CA  HIS C  90      -7.547 -12.649   6.805  1.00 52.35           C  \r
-ATOM   3649  CA  LYS C  91      -3.753 -12.529   6.474  1.00 46.81           C  \r
-ATOM   3658  CA  VAL C  92      -2.180  -9.868   8.686  1.00 43.48           C  \r
-ATOM   3665  CA  ARG C  93      -1.491  -6.414   7.232  1.00 36.99           C  \r
-ATOM   3676  CA  LEU C  94       0.983  -3.882   8.601  1.00 32.95           C  \r
-ATOM   3684  CA  TYR C  95       0.340  -0.239   9.510  1.00 24.84           C  \r
-ATOM   3696  CA  SER C  96       3.003   2.101  10.803  1.00 23.32           C  \r
-ATOM   3702  CA  ILE C  97       2.244   3.502  14.236  1.00 24.12           C  \r
-ATOM   3710  CA  ALA C  98       1.243   7.179  13.932  1.00 22.32           C  \r
-ATOM   3715  CA  SER C  99       1.572   7.636  17.676  1.00 25.69           C  \r
-ATOM   3721  CA  SER C 100       4.752   7.924  19.726  1.00 28.83           C  \r
-ATOM   3727  CA  ALA C 101       5.741   5.521  22.508  1.00 35.61           C  \r
-ATOM   3732  CA  ILE C 102       3.906   7.635  25.079  1.00 38.39           C  \r
-ATOM   3740  CA  GLY C 103       0.899   7.826  22.742  1.00 31.93           C  \r
-ATOM   3744  CA  ASP C 104      -1.803  10.384  21.986  1.00 28.77           C  \r
-ATOM   3752  CA  PHE C 105      -3.050  10.293  25.607  1.00 37.05           C  \r
-ATOM   3763  CA  GLY C 106       0.503  10.389  26.967  1.00 39.36           C  \r
-ATOM   3767  CA  ASP C 107      -0.221   7.437  29.266  1.00 41.44           C  \r
-ATOM   3775  CA  SER C 108       1.566   4.766  27.217  1.00 42.18           C  \r
-ATOM   3781  CA  LYS C 109      -1.747   2.877  27.156  1.00 42.45           C  \r
-ATOM   3790  CA  THR C 110      -2.698   3.586  23.515  1.00 38.10           C  \r
-ATOM   3797  CA  VAL C 111      -1.603   2.971  19.906  1.00 32.79           C  \r
-ATOM   3804  CA  SER C 112      -2.671   5.020  16.872  1.00 29.60           C  \r
-ATOM   3810  CA  LEU C 113      -2.713   4.324  13.126  1.00 25.68           C  \r
-ATOM   3818  CA  CYS C 114      -3.142   6.498   9.999  1.00 24.23           C  \r
-ATOM   3824  CA  VAL C 115      -5.345   4.496   7.641  1.00 22.80           C  \r
-ATOM   3831  CA  LYS C 116      -6.221   5.196   4.015  1.00 22.11           C  \r
-ATOM   3840  CA  ARG C 117      -9.458   3.521   2.955  1.00 25.68           C  \r
-ATOM   3851  CA  LEU C 118      -8.447   1.440  -0.100  1.00 28.80           C  \r
-ATOM   3859  CA  ILE C 119     -11.140   1.661  -2.792  1.00 31.75           C  \r
-ATOM   3867  CA  TYR C 120     -10.086   0.716  -6.312  1.00 32.93           C  \r
-ATOM   3879  CA  THR C 121     -11.388  -0.733  -9.598  1.00 36.84           C  \r
-ATOM   3886  CA  ASN C 122     -10.258  -4.257 -10.546  1.00 36.90           C  \r
-ATOM   3894  CA  ASP C 123      -9.574  -5.562 -14.056  1.00 45.45           C  \r
-ATOM   3902  CA  ALA C 124     -13.196  -6.758 -14.269  1.00 44.66           C  \r
-ATOM   3907  CA  GLY C 125     -14.207  -3.102 -14.023  1.00 45.49           C  \r
-ATOM   3911  CA  GLU C 126     -16.059  -3.511 -10.722  1.00 45.54           C  \r
-ATOM   3920  CA  ILE C 127     -15.507  -1.321  -7.638  1.00 39.70           C  \r
-ATOM   3928  CA  VAL C 128     -13.846  -3.171  -4.762  1.00 38.09           C  \r
-ATOM   3935  CA  LYS C 129     -12.759  -2.512  -1.198  1.00 33.77           C  \r
-ATOM   3944  CA  GLY C 130      -9.566  -3.363   0.599  1.00 31.98           C  \r
-ATOM   3948  CA  VAL C 131     -10.443  -5.797   3.385  1.00 33.16           C  \r
-ATOM   3955  CA  CYS C 132      -8.241  -4.645   6.257  1.00 29.97           C  \r
-ATOM   3961  CA  SER C 133      -8.238  -0.898   5.607  1.00 30.67           C  \r
-ATOM   3967  CA  ASN C 134     -12.022  -0.902   5.268  1.00 30.35           C  \r
-ATOM   3975  CA  PHE C 135     -12.375  -2.946   8.424  1.00 29.86           C  \r
-ATOM   3986  CA  LEU C 136     -10.223  -0.334  10.195  1.00 29.42           C  \r
-ATOM   3994  CA  CYS C 137     -11.779   2.834   8.813  1.00 32.27           C  \r
-ATOM   4000  CA  ASP C 138     -15.116   1.280   9.724  1.00 34.29           C  \r
-ATOM   4008  CA  LEU C 139     -14.287   0.699  13.399  1.00 37.51           C  \r
-ATOM   4016  CA  GLN C 140     -16.635   2.170  16.028  1.00 43.76           C  \r
-ATOM   4025  CA  PRO C 141     -15.630   3.032  19.581  1.00 42.77           C  \r
-ATOM   4032  CA  GLY C 142     -16.082  -0.210  21.478  1.00 42.83           C  \r
-ATOM   4036  CA  ASP C 143     -15.117  -2.625  18.696  1.00 40.91           C  \r
-ATOM   4044  CA  ASN C 144     -12.182  -4.947  19.288  1.00 45.66           C  \r
-ATOM   4052  CA  VAL C 145      -9.056  -5.146  17.145  1.00 46.95           C  \r
-ATOM   4059  CA  GLN C 146      -6.707  -8.107  16.606  1.00 48.69           C  \r
-ATOM   4068  CA  ILE C 147      -3.249  -6.538  17.123  1.00 46.84           C  \r
-ATOM   4076  CA  THR C 148      -0.010  -8.392  16.264  1.00 46.26           C  \r
-ATOM   4083  CA  GLY C 149       3.543  -7.117  16.634  1.00 45.60           C  \r
-ATOM   4087  CA  PRO C 150       5.248  -4.818  17.394  1.00 44.97           C  \r
-ATOM   4094  CA  VAL C 151       7.423  -5.293  14.321  1.00 44.50           C  \r
-ATOM   4101  CA  GLY C 152      10.289  -3.716  12.438  1.00 45.33           C  \r
-ATOM   4105  CA  LYS C 153      13.599  -2.161  13.435  1.00 48.64           C  \r
-ATOM   4114  CA  GLU C 154      14.166  -0.437  10.074  1.00 48.20           C  \r
-ATOM   4123  CA  MET C 155      12.437   2.888  10.737  1.00 41.77           C  \r
-ATOM   4131  CA  LEU C 156      13.839   3.081  14.267  1.00 38.27           C  \r
-ATOM   4139  CA  MET C 157      15.076   6.540  15.308  1.00 34.29           C  \r
-ATOM   4147  CA  PRO C 158      18.782   7.419  15.339  1.00 34.05           C  \r
-ATOM   4154  CA  LYS C 159      20.262   7.521  18.845  1.00 35.82           C  \r
-ATOM   4163  CA  ASP C 160      22.076  10.792  18.273  1.00 35.95           C  \r
-ATOM   4171  CA  PRO C 161      19.683  13.401  19.809  1.00 35.63           C  \r
-ATOM   4178  CA  ASN C 162      21.563  15.948  17.758  1.00 33.92           C  \r
-ATOM   4186  CA  ALA C 163      21.028  14.172  14.487  1.00 30.82           C  \r
-ATOM   4191  CA  THR C 164      19.693  15.722  11.305  1.00 25.18           C  \r
-ATOM   4198  CA  ILE C 165      16.617  13.601  10.636  1.00 19.91           C  \r
-ATOM   4206  CA  ILE C 166      15.351  13.978   7.060  1.00 13.76           C  \r
-ATOM   4214  CA  MET C 167      11.843  12.550   6.703  1.00 14.98           C  \r
-ATOM   4222  CA  LEU C 168      10.385  11.831   3.251  1.00 16.64           C  \r
-ATOM   4230  CA  ALA C 169       6.747  10.808   3.007  1.00 15.85           C  \r
-ATOM   4235  CA  THR C 170       3.765  10.346   0.737  1.00 14.23           C  \r
-ATOM   4242  CA  GLY C 171       0.255   9.724   2.035  1.00 13.78           C  \r
-ATOM   4246  CA  THR C 172      -0.103   7.560   5.139  1.00 17.62           C  \r
-ATOM   4253  CA  GLY C 173       3.646   7.343   4.821  1.00 17.20           C  \r
-ATOM   4257  CA  ILE C 174       3.469  10.213   7.270  1.00 15.91           C  \r
-ATOM   4265  CA  ALA C 175       2.586   7.783  10.110  1.00 15.63           C  \r
-ATOM   4270  CA  PRO C 176       6.023   6.933  11.582  1.00 17.04           C  \r
-ATOM   4277  CA  PHE C 177       7.215  10.514  11.327  1.00 18.21           C  \r
-ATOM   4288  CA  ARG C 178       4.268  11.745  13.359  1.00 22.35           C  \r
-ATOM   4299  CA  SER C 179       5.563   9.289  15.983  1.00 25.22           C  \r
-ATOM   4305  CA  PHE C 180       9.139  10.593  15.614  1.00 25.98           C  \r
-ATOM   4316  CA  LEU C 181       7.925  14.180  15.767  1.00 29.12           C  \r
-ATOM   4324  CA  TRP C 182       5.625  13.641  18.714  1.00 31.35           C  \r
-ATOM   4338  CA  LYS C 183       8.488  12.385  20.871  1.00 30.92           C  \r
-ATOM   4347  CA  MET C 184      10.841  15.050  19.503  1.00 24.85           C  \r
-ATOM   4355  CA  PHE C 185       8.741  18.202  20.114  1.00 22.97           C  \r
-ATOM   4366  CA  PHE C 186       5.604  17.337  22.076  1.00 27.77           C  \r
-ATOM   4377  CA  GLU C 187       7.117  15.432  25.009  1.00 37.71           C  \r
-ATOM   4386  CA  LYS C 188       9.542  15.977  27.878  1.00 53.59           C  \r
-ATOM   4395  CA  HIS C 189      12.355  13.416  28.180  1.00 63.67           C  \r
-ATOM   4405  CA  ASP C 190      15.318  13.181  30.569  1.00 66.93           C  \r
-ATOM   4413  CA  ASP C 191      17.480  11.106  28.238  1.00 59.79           C  \r
-ATOM   4421  CA  TYR C 192      16.190  12.725  25.047  1.00 51.96           C  \r
-ATOM   4433  CA  LYS C 193      16.700  16.406  24.324  1.00 47.01           C  \r
-ATOM   4442  CA  PHE C 194      16.580  16.471  20.530  1.00 39.85           C  \r
-ATOM   4453  CA  ASN C 195      18.572  19.494  19.409  1.00 37.52           C  \r
-ATOM   4461  CA  GLY C 196      19.361  18.548  15.845  1.00 32.08           C  \r
-ATOM   4465  CA  LEU C 197      17.310  19.266  12.766  1.00 28.26           C  \r
-ATOM   4473  CA  GLY C 198      14.051  17.526  11.928  1.00 25.05           C  \r
-ATOM   4477  CA  TRP C 199      13.211  18.137   8.269  1.00 19.81           C  \r
-ATOM   4491  CA  LEU C 200       9.908  16.742   7.059  1.00 13.86           C  \r
-ATOM   4499  CA  PHE C 201       8.855  16.521   3.429  1.00 14.83           C  \r
-ATOM   4510  CA  LEU C 202       5.288  15.361   2.717  1.00 16.12           C  \r
-ATOM   4518  CA  GLY C 203       3.701  14.731  -0.681  1.00 13.79           C  \r
-ATOM   4522  CA  VAL C 204      -0.051  14.414  -1.182  1.00 11.75           C  \r
-ATOM   4529  CA  PRO C 205      -2.113  15.264  -4.308  1.00 14.66           C  \r
-ATOM   4536  CA  THR C 206      -4.553  17.737  -2.778  1.00 16.37           C  \r
-ATOM   4543  CA  SER C 207      -4.756  20.169   0.120  1.00 18.01           C  \r
-ATOM   4549  CA  SER C 208      -7.780  18.225   1.280  1.00 17.59           C  \r
-ATOM   4555  CA  SER C 209      -5.452  15.198   1.550  1.00 16.19           C  \r
-ATOM   4561  CA  LEU C 210      -2.972  16.940   3.860  1.00 14.22           C  \r
-ATOM   4569  CA  LEU C 211      -2.255  14.980   7.059  1.00 14.43           C  \r
-ATOM   4577  CA  TYR C 212      -1.624  16.449  10.549  1.00 18.94           C  \r
-ATOM   4589  CA  LYS C 213      -0.818  19.896   9.150  1.00 22.61           C  \r
-ATOM   4598  CA  GLU C 214      -2.039  21.572  12.352  1.00 25.73           C  \r
-ATOM   4607  CA  GLU C 215       0.152  19.413  14.514  1.00 19.23           C  \r
-ATOM   4616  CA  PHE C 216       3.216  20.178  12.439  1.00 17.80           C  \r
-ATOM   4627  CA  GLY C 217       2.478  23.890  12.512  1.00 19.90           C  \r
-ATOM   4631  CA  LYS C 218       2.578  24.001  16.294  1.00 25.54           C  \r
-ATOM   4640  CA  MET C 219       5.810  22.021  16.188  1.00 26.79           C  \r
-ATOM   4648  CA  LYS C 220       7.224  24.606  13.819  1.00 31.85           C  \r
-ATOM   4657  CA  GLU C 221       6.071  27.341  16.219  1.00 38.62           C  \r
-ATOM   4666  CA  ARG C 222       7.760  25.760  19.233  1.00 39.10           C  \r
-ATOM   4677  CA  ALA C 223      11.124  24.971  17.668  1.00 35.43           C  \r
-ATOM   4682  CA  PRO C 224      11.696  27.100  14.528  1.00 32.99           C  \r
-ATOM   4689  CA  GLU C 225      15.425  26.331  14.360  1.00 33.87           C  \r
-ATOM   4698  CA  ASN C 226      15.038  22.591  14.986  1.00 30.46           C  \r
-ATOM   4706  CA  PHE C 227      12.088  21.755  12.732  1.00 24.98           C  \r
-ATOM   4717  CA  ARG C 228      11.351  22.384   9.075  1.00 19.87           C  \r
-ATOM   4728  CA  VAL C 229       8.435  21.010   7.118  1.00 14.21           C  \r
-ATOM   4735  CA  ASP C 230       7.739  21.452   3.398  1.00 12.26           C  \r
-ATOM   4743  CA  TYR C 231       4.627  20.147   1.722  1.00 14.42           C  \r
-ATOM   4755  CA  ALA C 232       4.334  19.003  -1.872  1.00  9.99           C  \r
-ATOM   4760  CA  VAL C 233       0.778  19.232  -3.168  1.00 10.49           C  \r
-ATOM   4767  CA  SER C 234       1.043  17.769  -6.694  1.00 19.00           C  \r
-ATOM   4773  CA  ARG C 235      -2.240  19.042  -8.206  1.00 23.13           C  \r
-ATOM   4784  CA  GLU C 236      -2.069  22.459  -6.578  1.00 17.58           C  \r
-ATOM   4793  CA  GLN C 237       1.546  23.511  -6.623  1.00 15.89           C  \r
-ATOM   4802  CA  THR C 238       4.202  24.018  -9.275  1.00 17.86           C  \r
-ATOM   4809  CA  ASN C 239       7.922  24.800  -9.182  1.00 15.15           C  \r
-ATOM   4817  CA  ALA C 240       9.558  27.791 -10.892  1.00 21.51           C  \r
-ATOM   4822  CA  ALA C 241       9.475  25.887 -14.174  1.00 24.05           C  \r
-ATOM   4827  CA  GLY C 242       5.741  25.110 -13.938  1.00 26.25           C  \r
-ATOM   4831  CA  GLU C 243       5.999  21.359 -13.153  1.00 25.92           C  \r
-ATOM   4840  CA  ARG C 244       3.679  19.536 -10.704  1.00 24.04           C  \r
-ATOM   4851  CA  MET C 245       5.076  19.643  -7.174  1.00 18.58           C  \r
-ATOM   4859  CA  TYR C 246       5.784  16.047  -6.100  1.00 14.16           C  \r
-ATOM   4871  CA  ILE C 247       7.910  15.343  -3.034  1.00 16.78           C  \r
-ATOM   4879  CA  GLN C 248      11.089  15.070  -5.120  1.00 18.72           C  \r
-ATOM   4888  CA  THR C 249      10.168  18.255  -6.921  1.00 20.93           C  \r
-ATOM   4895  CA  ARG C 250       9.962  20.031  -3.567  1.00 19.25           C  \r
-ATOM   4906  CA  MET C 251      13.275  18.471  -2.561  1.00 19.40           C  \r
-ATOM   4914  CA  ALA C 252      14.910  19.812  -5.760  1.00 20.48           C  \r
-ATOM   4919  CA  GLU C 253      14.456  23.418  -4.569  1.00 18.19           C  \r
-ATOM   4928  CA  TYR C 254      16.804  22.515  -1.673  1.00 17.80           C  \r
-ATOM   4940  CA  LYS C 255      19.038  20.415  -3.902  1.00 20.66           C  \r
-ATOM   4949  CA  GLU C 256      22.452  21.603  -2.682  1.00 16.05           C  \r
-ATOM   4958  CA  GLU C 257      21.544  21.914   0.993  1.00 15.89           C  \r
-ATOM   4967  CA  LEU C 258      20.377  18.297   0.919  1.00 20.74           C  \r
-ATOM   4975  CA  TRP C 259      23.388  16.939  -0.965  1.00 23.45           C  \r
-ATOM   4989  CA  GLU C 260      25.645  18.669   1.563  1.00 24.08           C  \r
-ATOM   4998  CA  LEU C 261      23.573  17.378   4.477  1.00 24.74           C  \r
-ATOM   5006  CA  LEU C 262      24.020  13.928   2.938  1.00 26.14           C  \r
-ATOM   5014  CA  LYS C 263      27.792  14.091   3.402  1.00 25.40           C  \r
-ATOM   5023  CA  LYS C 264      27.457  14.521   7.176  1.00 31.47           C  \r
-ATOM   5032  CA  ASP C 265      27.877  11.474   9.425  1.00 35.31           C  \r
-ATOM   5040  CA  ASN C 266      24.934  12.482  11.620  1.00 29.63           C  \r
-ATOM   5048  CA  THR C 267      22.321  12.795   8.832  1.00 28.00           C  \r
-ATOM   5055  CA  TYR C 268      19.556  10.160   8.808  1.00 27.00           C  \r
-ATOM   5067  CA  VAL C 269      17.143   9.903   5.884  1.00 24.65           C  \r
-ATOM   5074  CA  TYR C 270      13.890   8.016   6.276  1.00 23.37           C  \r
-ATOM   5086  CA  MET C 271      11.373   7.327   3.518  1.00 18.93           C  \r
-ATOM   5094  CA  CYS C 272       7.834   6.074   4.043  1.00 18.24           C  \r
-ATOM   5100  CA  GLY C 273       4.784   5.874   1.826  1.00 22.39           C  \r
-ATOM   5104  CA  LEU C 274       3.837   4.483  -1.568  1.00 26.95           C  \r
-ATOM   5112  CA  LYS C 275       6.305   2.384  -3.532  1.00 32.36           C  \r
-ATOM   5121  CA  GLY C 276       7.741   4.199  -6.514  1.00 37.46           C  \r
-ATOM   5125  CA  MET C 277       7.714   7.455  -4.608  1.00 28.76           C  \r
-ATOM   5133  CA  GLU C 278      11.430   6.639  -4.425  1.00 32.22           C  \r
-ATOM   5142  CA  LYS C 279      12.017   6.321  -8.153  1.00 29.94           C  \r
-ATOM   5151  CA  GLY C 280      11.317  10.057  -8.293  1.00 24.18           C  \r
-ATOM   5155  CA  ILE C 281      13.766  10.673  -5.460  1.00 23.68           C  \r
-ATOM   5163  CA  ASP C 282      16.431   8.365  -6.934  1.00 26.58           C  \r
-ATOM   5171  CA  ASP C 283      16.211  10.530 -10.054  1.00 28.70           C  \r
-ATOM   5179  CA  ILE C 284      17.089  13.937  -8.538  1.00 27.28           C  \r
-ATOM   5187  CA  MET C 285      19.706  12.222  -6.388  1.00 27.45           C  \r
-ATOM   5195  CA  VAL C 286      21.377  10.712  -9.470  1.00 30.74           C  \r
-ATOM   5202  CA  SER C 287      21.619  14.159 -11.061  1.00 32.14           C  \r
-ATOM   5208  CA  LEU C 288      23.240  15.463  -7.873  1.00 34.20           C  \r
-ATOM   5216  CA  ALA C 289      25.801  12.653  -7.874  1.00 40.16           C  \r
-ATOM   5221  CA  GLU C 290      26.837  12.825 -11.536  1.00 41.84           C  \r
-ATOM   5230  CA  LYS C 291      27.855  16.387 -10.793  1.00 43.17           C  \r
-ATOM   5239  CA  ASP C 292      30.299  15.115  -8.139  1.00 41.84           C  \r
-ATOM   5247  CA  GLY C 293      31.237  12.232 -10.420  1.00 46.12           C  \r
-ATOM   5251  CA  ILE C 294      30.053   9.669  -7.864  1.00 45.54           C  \r
-ATOM   5259  CA  ASP C 295      27.399   6.998  -8.480  1.00 41.14           C  \r
-ATOM   5267  CA  TRP C 296      24.222   7.605  -6.479  1.00 30.67           C  \r
-ATOM   5281  CA  PHE C 297      23.381   3.910  -6.151  1.00 31.97           C  \r
-ATOM   5292  CA  ASP C 298      26.856   2.916  -4.907  1.00 38.12           C  \r
-ATOM   5300  CA  TYR C 299      26.671   5.875  -2.540  1.00 39.05           C  \r
-ATOM   5312  CA  LYS C 300      23.196   4.971  -1.294  1.00 41.63           C  \r
-ATOM   5321  CA  LYS C 301      24.542   1.489  -0.577  1.00 43.40           C  \r
-ATOM   5330  CA  GLN C 302      27.207   3.064   1.608  1.00 43.79           C  \r
-ATOM   5339  CA  LEU C 303      24.476   5.181   3.238  1.00 41.51           C  \r
-ATOM   5347  CA  LYS C 304      22.138   2.343   4.264  1.00 45.18           C  \r
-ATOM   5356  CA  ARG C 305      25.322   0.535   5.256  1.00 46.65           C  \r
-ATOM   5367  CA  GLY C 306      25.613   3.181   7.945  1.00 40.29           C  \r
-ATOM   5371  CA  ASP C 307      21.954   3.487   8.940  1.00 41.21           C  \r
-ATOM   5379  CA  GLN C 308      21.463   6.730   7.023  1.00 35.55           C  \r
-ATOM   5388  CA  TRP C 309      18.961   5.674   4.361  1.00 31.22           C  \r
-ATOM   5402  CA  ASN C 310      16.018   3.728   5.752  1.00 31.61           C  \r
-ATOM   5410  CA  VAL C 311      13.120   2.841   3.452  1.00 32.13           C  \r
-ATOM   5417  CA  GLU C 312       9.705   1.332   4.261  1.00 31.51           C  \r
-ATOM   5426  CA  VAL C 313       7.466   1.606   1.209  1.00 26.39           C  \r
-ATOM   5433  CA  TYR C 314       4.403  -0.343   0.111  1.00 25.42           C  \r
+HEADER    OXIDOREDUCTASE/ELECTRON TRANSPORT       08-MAY-00   1GAQ 
+ATOM      2  CA  GLU A  19      20.491  30.713  36.290  1.00 74.29           C  
+ATOM     11  CA  SER A  20      24.056  29.774  37.264  1.00 72.09           C  
+ATOM     17  CA  LYS A  21      27.517  31.289  37.563  1.00 70.09           C  
+ATOM     26  CA  LYS A  22      28.794  27.865  36.481  1.00 68.64           C  
+ATOM     35  CA  GLN A  23      29.484  26.806  32.884  1.00 70.46           C  
+ATOM     44  CA  GLU A  24      26.420  25.175  31.360  1.00 72.08           C  
+ATOM     53  CA  GLU A  25      26.736  26.049  27.683  1.00 70.43           C  
+ATOM     62  CA  GLY A  26      28.299  22.912  26.233  1.00 63.14           C  
+ATOM     66  CA  VAL A  27      26.863  20.704  28.982  1.00 54.50           C  
+ATOM     73  CA  VAL A  28      25.030  17.390  28.655  1.00 48.32           C  
+ATOM     80  CA  THR A  29      23.728  14.677  30.991  1.00 44.86           C  
+ATOM     87  CA  ASN A  30      22.327  11.164  30.703  1.00 45.42           C  
+ATOM     95  CA  LEU A  31      23.332  10.459  27.102  1.00 45.42           C  
+ATOM    103  CA  TYR A  32      23.549   6.898  28.380  1.00 45.88           C  
+ATOM    115  CA  LYS A  33      21.656   5.321  31.262  1.00 47.27           C  
+ATOM    124  CA  PRO A  34      21.991   2.046  33.248  1.00 48.99           C  
+ATOM    131  CA  LYS A  35      19.339   0.560  30.970  1.00 52.75           C  
+ATOM    140  CA  GLU A  36      21.580   0.855  27.886  1.00 53.33           C  
+ATOM    149  CA  PRO A  37      25.154   2.015  28.678  1.00 47.54           C  
+ATOM    156  CA  TYR A  38      27.929   2.872  26.249  1.00 41.98           C  
+ATOM    168  CA  VAL A  39      30.355  -0.017  25.909  1.00 41.48           C  
+ATOM    175  CA  GLY A  40      33.823   1.485  25.966  1.00 37.59           C  
+ATOM    179  CA  ARG A  41      37.165  -0.277  26.122  1.00 39.77           C  
+ATOM    190  CA  CYS A  42      40.148  -0.029  28.442  1.00 36.51           C  
+ATOM    196  CA  LEU A  43      43.095   1.441  26.554  1.00 36.13           C  
+ATOM    204  CA  LEU A  44      45.231   2.023  29.649  1.00 33.55           C  
+ATOM    212  CA  ASN A  45      45.140   1.026  33.307  1.00 27.79           C  
+ATOM    220  CA  THR A  46      48.056   1.800  35.617  1.00 28.75           C  
+ATOM    227  CA  LYS A  47      48.542   1.776  39.388  1.00 30.31           C  
+ATOM    236  CA  ILE A  48      49.564   5.317  40.376  1.00 31.32           C  
+ATOM    244  CA  THR A  49      50.339   4.682  44.059  1.00 37.62           C  
+ATOM    251  CA  GLY A  50      53.585   3.317  45.460  1.00 44.49           C  
+ATOM    255  CA  ASP A  51      53.706  -0.448  46.087  1.00 52.89           C  
+ATOM    263  CA  ASP A  52      53.910   0.545  49.751  1.00 55.23           C  
+ATOM    271  CA  ALA A  53      50.816   2.767  50.056  1.00 53.34           C  
+ATOM    276  CA  PRO A  54      47.904   1.940  52.405  1.00 50.60           C  
+ATOM    283  CA  GLY A  55      45.420   1.579  49.561  1.00 50.35           C  
+ATOM    287  CA  GLU A  56      46.098   1.286  45.836  1.00 42.53           C  
+ATOM    296  CA  THR A  57      44.534   3.816  43.480  1.00 41.14           C  
+ATOM    303  CA  TRP A  58      44.540   3.423  39.708  1.00 35.60           C  
+ATOM    317  CA  HIS A  59      44.468   5.853  36.796  1.00 31.89           C  
+ATOM    327  CA  MET A  60      42.658   4.227  33.866  1.00 31.65           C  
+ATOM    335  CA  VAL A  61      41.716   5.345  30.350  1.00 30.43           C  
+ATOM    342  CA  PHE A  62      38.669   4.172  28.360  1.00 34.36           C  
+ATOM    353  CA  SER A  63      37.657   4.908  24.772  1.00 34.69           C  
+ATOM    359  CA  THR A  64      34.448   6.828  23.951  1.00 36.96           C  
+ATOM    366  CA  GLU A  65      34.691   7.644  20.254  1.00 40.08           C  
+ATOM    375  CA  GLY A  66      33.742  11.183  21.285  1.00 40.22           C  
+ATOM    379  CA  LYS A  67      30.272   9.763  22.003  1.00 41.93           C  
+ATOM    388  CA  ILE A  68      30.279  11.116  25.577  1.00 41.52           C  
+ATOM    396  CA  PRO A  69      30.791  14.926  25.537  1.00 42.35           C  
+ATOM    403  CA  TYR A  70      31.228  15.232  29.299  1.00 39.84           C  
+ATOM    415  CA  ARG A  71      32.639  18.451  30.768  1.00 44.14           C  
+ATOM    426  CA  GLU A  72      35.122  19.278  33.515  1.00 43.82           C  
+ATOM    435  CA  GLY A  73      33.472  18.458  36.835  1.00 41.97           C  
+ATOM    439  CA  GLN A  74      30.929  15.874  35.657  1.00 37.19           C  
+ATOM    448  CA  SER A  75      31.285  12.124  36.138  1.00 38.28           C  
+ATOM    454  CA  ILE A  76      30.458   8.792  34.539  1.00 36.84           C  
+ATOM    462  CA  GLY A  77      28.983   5.620  35.918  1.00 35.39           C  
+ATOM    466  CA  VAL A  78      30.311   2.108  35.530  1.00 32.05           C  
+ATOM    473  CA  ILE A  79      28.458  -1.201  35.591  1.00 32.67           C  
+ATOM    481  CA  ALA A  80      30.745  -4.018  36.644  1.00 35.36           C  
+ATOM    486  CA  ASP A  81      30.359  -7.373  34.872  1.00 38.72           C  
+ATOM    494  CA  GLY A  82      28.308 -10.332  36.110  1.00 45.79           C  
+ATOM    498  CA  VAL A  83      25.820 -10.242  39.001  1.00 52.24           C  
+ATOM    505  CA  ASP A  84      25.838 -10.250  42.834  1.00 60.54           C  
+ATOM    513  CA  LYS A  85      25.014 -13.158  45.196  1.00 66.72           C  
+ATOM    522  CA  ASN A  86      21.414 -13.062  43.904  1.00 67.37           C  
+ATOM    530  CA  GLY A  87      21.724 -13.423  40.136  1.00 64.74           C  
+ATOM    534  CA  LYS A  88      20.971  -9.733  39.570  1.00 61.12           C  
+ATOM    543  CA  PRO A  89      23.054  -7.201  37.561  1.00 54.68           C  
+ATOM    550  CA  HIS A  90      25.224  -4.957  39.755  1.00 44.44           C  
+ATOM    560  CA  LYS A  91      23.940  -1.433  40.260  1.00 40.48           C  
+ATOM    569  CA  VAL A  92      25.803   1.546  38.843  1.00 38.45           C  
+ATOM    576  CA  ARG A  93      28.709   2.986  40.828  1.00 38.93           C  
+ATOM    587  CA  LEU A  94      29.778   6.584  40.096  1.00 34.37           C  
+ATOM    595  CA  TYR A  95      33.309   7.878  39.513  1.00 30.27           C  
+ATOM    607  CA  SER A  96      34.425  11.475  39.057  1.00 29.44           C  
+ATOM    613  CA  ILE A  97      36.029  12.090  35.662  1.00 27.61           C  
+ATOM    621  CA  ALA A  98      39.769  12.693  36.069  1.00 31.12           C  
+ATOM    626  CA  SER A  99      40.393  13.712  32.475  1.00 32.42           C  
+ATOM    632  CA  SER A 100      39.566  17.142  31.059  1.00 36.14           C  
+ATOM    638  CA  ALA A 101      37.097  17.367  28.154  1.00 41.07           C  
+ATOM    643  CA  ILE A 102      39.764  16.549  25.527  1.00 47.65           C  
+ATOM    651  CA  GLY A 103      41.172  13.692  27.599  1.00 46.77           C  
+ATOM    655  CA  ASP A 104      44.730  12.612  28.289  1.00 43.82           C  
+ATOM    663  CA  PHE A 105      45.115  12.065  24.522  1.00 41.52           C  
+ATOM    674  CA  GLY A 106      43.862  15.455  23.328  1.00 41.66           C  
+ATOM    678  CA  ASP A 107      41.355  13.883  20.926  1.00 40.90           C  
+ATOM    686  CA  SER A 108      38.132  14.250  22.954  1.00 42.95           C  
+ATOM    692  CA  LYS A 109      37.967  10.535  22.224  1.00 44.74           C  
+ATOM    701  CA  THR A 110      38.731   9.184  25.704  1.00 41.09           C  
+ATOM    708  CA  VAL A 111      37.728   9.519  29.374  1.00 39.03           C  
+ATOM    715  CA  SER A 112      39.912   8.705  32.399  1.00 37.17           C  
+ATOM    721  CA  LEU A 113      39.098   7.476  35.935  1.00 32.10           C  
+ATOM    729  CA  CYS A 114      40.964   7.578  39.261  1.00 30.65           C  
+ATOM    735  CA  VAL A 115      39.724   4.459  41.060  1.00 33.45           C  
+ATOM    742  CA  LYS A 116      40.668   3.524  44.628  1.00 34.75           C  
+ATOM    751  CA  ARG A 117      40.376  -0.250  45.123  1.00 32.85           C  
+ATOM    762  CA  LEU A 118      38.137  -1.094  48.077  1.00 30.50           C  
+ATOM    770  CA  ILE A 119      39.376  -3.752  50.459  1.00 34.34           C  
+ATOM    778  CA  TYR A 120      38.699  -4.266  54.125  1.00 31.39           C  
+ATOM    790  CA  THR A 121      38.264  -7.086  56.567  1.00 28.83           C  
+ATOM    797  CA  ASN A 122      34.792  -7.477  58.109  1.00 26.51           C  
+ATOM    805  CA  ASP A 123      33.626  -8.382  61.634  1.00 31.58           C  
+ATOM    813  CA  ALA A 124      34.191 -12.077  60.901  1.00 27.84           C  
+ATOM    818  CA  GLY A 125      37.759 -11.844  59.728  1.00 32.39           C  
+ATOM    822  CA  GLU A 126      36.809 -12.146  56.073  1.00 35.82           C  
+ATOM    831  CA  ILE A 127      38.655  -9.932  53.598  1.00 38.42           C  
+ATOM    839  CA  VAL A 128      36.025  -8.261  51.421  1.00 33.73           C  
+ATOM    846  CA  LYS A 129      36.482  -6.484  48.090  1.00 31.87           C  
+ATOM    855  CA  GLY A 130      34.363  -3.680  46.686  1.00 26.91           C  
+ATOM    859  CA  VAL A 131      32.680  -5.051  43.569  1.00 27.89           C  
+ATOM    866  CA  CYS A 132      33.074  -2.246  41.018  1.00 28.46           C  
+ATOM    872  CA  SER A 133      36.266  -0.553  42.213  1.00 31.33           C  
+ATOM    878  CA  ASN A 134      37.861  -3.983  41.984  1.00 30.29           C  
+ATOM    886  CA  PHE A 135      36.318  -4.795  38.623  1.00 31.48           C  
+ATOM    897  CA  LEU A 136      37.926  -1.553  37.520  1.00 27.81           C  
+ATOM    905  CA  CYS A 137      41.417  -1.976  38.955  1.00 25.91           C  
+ATOM    911  CA  ASP A 138      41.605  -5.419  37.338  1.00 30.22           C  
+ATOM    919  CA  LEU A 139      40.462  -4.306  33.874  1.00 32.69           C  
+ATOM    927  CA  GLN A 140      42.851  -5.511  31.186  1.00 36.80           C  
+ATOM    936  CA  PRO A 141      43.380  -3.220  28.170  1.00 36.16           C  
+ATOM    943  CA  GLY A 142      40.864  -4.420  25.586  1.00 31.10           C  
+ATOM    947  CA  ASP A 143      38.129  -5.298  28.055  1.00 30.62           C  
+ATOM    955  CA  ASN A 144      34.690  -3.847  27.645  1.00 33.52           C  
+ATOM    963  CA  VAL A 145      33.430  -1.522  30.361  1.00 37.08           C  
+ATOM    970  CA  GLN A 146      29.817  -0.374  30.523  1.00 37.65           C  
+ATOM    979  CA  ILE A 147      29.547   3.413  31.045  1.00 30.95           C  
+ATOM    987  CA  THR A 148      26.637   5.791  31.832  1.00 29.95           C  
+ATOM    994  CA  GLY A 149      26.297   9.581  31.843  1.00 32.81           C  
+ATOM    998  CA  PRO A 150      27.785  12.148  31.800  1.00 34.98           C  
+ATOM   1005  CA  VAL A 151      26.376  12.668  35.275  1.00 36.53           C  
+ATOM   1012  CA  GLY A 152      26.196  15.756  37.474  1.00 43.09           C  
+ATOM   1016  CA  LYS A 153      26.048  19.528  37.068  1.00 48.37           C  
+ATOM   1025  CA  GLU A 154      26.921  20.540  40.633  1.00 49.70           C  
+ATOM   1034  CA  MET A 155      30.710  20.266  40.235  1.00 47.30           C  
+ATOM   1042  CA  LEU A 156      30.882  22.020  36.869  1.00 50.36           C  
+ATOM   1050  CA  MET A 157      33.362  24.883  36.404  1.00 55.29           C  
+ATOM   1058  CA  PRO A 158      32.521  28.612  36.605  1.00 54.88           C  
+ATOM   1065  CA  LYS A 159      32.291  30.776  33.464  1.00 54.92           C  
+ATOM   1074  CA  ASP A 160      34.497  33.503  34.939  1.00 57.22           C  
+ATOM   1082  CA  PRO A 161      38.055  32.687  33.759  1.00 58.62           C  
+ATOM   1089  CA  ASN A 162      39.524  35.240  36.163  1.00 60.44           C  
+ATOM   1097  CA  ALA A 163      37.814  33.910  39.279  1.00 55.80           C  
+ATOM   1102  CA  THR A 164      39.596  32.487  42.316  1.00 51.04           C  
+ATOM   1109  CA  ILE A 165      38.966  28.771  42.756  1.00 50.26           C  
+ATOM   1117  CA  ILE A 166      39.774  26.773  45.885  1.00 47.54           C  
+ATOM   1125  CA  MET A 167      39.883  23.014  45.324  1.00 46.38           C  
+ATOM   1133  CA  LEU A 168      39.700  20.963  48.522  1.00 42.18           C  
+ATOM   1141  CA  ALA A 169      40.377  17.316  47.770  1.00 36.41           C  
+ATOM   1146  CA  THR A 170      41.005  14.086  49.622  1.00 32.98           C  
+ATOM   1153  CA  GLY A 171      42.027  10.802  48.014  1.00 31.36           C  
+ATOM   1157  CA  THR A 172      40.386  10.037  44.680  1.00 30.48           C  
+ATOM   1164  CA  GLY A 173      38.640  13.335  45.359  1.00 33.99           C  
+ATOM   1168  CA  ILE A 174      41.418  15.036  43.394  1.00 35.66           C  
+ATOM   1176  CA  ALA A 175      39.758  13.585  40.300  1.00 36.00           C  
+ATOM   1181  CA  PRO A 176      37.445  16.385  39.155  1.00 39.41           C  
+ATOM   1188  CA  PHE A 177      40.109  18.971  39.976  1.00 43.21           C  
+ATOM   1199  CA  ARG A 178      42.726  17.119  37.955  1.00 41.09           C  
+ATOM   1210  CA  SER A 179      40.235  17.536  35.124  1.00 39.92           C  
+ATOM   1216  CA  PHE A 180      39.808  21.204  36.009  1.00 39.23           C  
+ATOM   1227  CA  LEU A 181      43.528  21.949  35.995  1.00 39.50           C  
+ATOM   1235  CA  TRP A 182      44.305  20.081  32.770  1.00 41.47           C  
+ATOM   1249  CA  LYS A 183      42.141  22.654  30.972  1.00 48.08           C  
+ATOM   1258  CA  MET A 184      43.477  25.547  33.062  1.00 52.79           C  
+ATOM   1266  CA  PHE A 185      47.102  25.043  32.014  1.00 57.35           C  
+ATOM   1277  CA  PHE A 186      48.075  21.921  30.051  1.00 55.98           C  
+ATOM   1288  CA  GLU A 187      45.758  23.173  27.297  1.00 54.44           C  
+ATOM   1297  CA  LYS A 188      44.908  26.236  25.196  1.00 51.29           C  
+ATOM   1306  CA  HIS A 189      41.395  27.080  24.003  1.00 51.35           C  
+ATOM   1316  CA  ASP A 190      40.108  29.972  21.873  1.00 54.30           C  
+ATOM   1324  CA  ASP A 191      37.199  30.481  24.249  1.00 53.95           C  
+ATOM   1332  CA  TYR A 192      38.816  29.937  27.634  1.00 50.68           C  
+ATOM   1344  CA  LYS A 193      41.916  31.388  29.230  1.00 51.00           C  
+ATOM   1353  CA  PHE A 194      42.322  30.967  32.956  1.00 52.09           C  
+ATOM   1364  CA  ASN A 195      43.672  34.234  34.312  1.00 56.46           C  
+ATOM   1372  CA  GLY A 196      42.616  34.078  37.969  1.00 57.17           C  
+ATOM   1376  CA  LEU A 197      43.874  31.920  40.843  1.00 57.92           C  
+ATOM   1384  CA  GLY A 198      43.549  28.151  41.086  1.00 56.67           C  
+ATOM   1388  CA  TRP A 199      44.258  26.886  44.592  1.00 51.55           C  
+ATOM   1402  CA  LEU A 200      44.411  23.170  45.379  1.00 49.17           C  
+ATOM   1410  CA  PHE A 201      44.558  21.335  48.709  1.00 48.60           C  
+ATOM   1421  CA  LEU A 202      45.122  17.570  48.598  1.00 45.34           C  
+ATOM   1429  CA  GLY A 203      44.885  15.480  51.742  1.00 48.55           C  
+ATOM   1433  CA  VAL A 204      46.225  11.936  51.755  1.00 50.23           C  
+ATOM   1440  CA  PRO A 205      47.942   9.740  54.365  1.00 51.51           C  
+ATOM   1447  CA  THR A 206      51.284   9.148  52.648  1.00 50.21           C  
+ATOM   1454  CA  SER A 207      53.551  10.483  49.894  1.00 49.38           C  
+ATOM   1460  CA  SER A 208      53.267   7.061  48.259  1.00 43.49           C  
+ATOM   1466  CA  SER A 209      49.588   8.049  48.093  1.00 42.57           C  
+ATOM   1472  CA  LEU A 210      49.990  11.424  46.364  1.00 42.65           C  
+ATOM   1480  CA  LEU A 211      48.121  11.446  43.035  1.00 39.33           C  
+ATOM   1488  CA  TYR A 212      49.516  13.214  39.935  1.00 40.89           C  
+ATOM   1500  CA  LYS A 213      52.128  15.234  41.873  1.00 45.88           C  
+ATOM   1509  CA  GLU A 214      54.518  15.406  38.899  1.00 53.22           C  
+ATOM   1518  CA  GLU A 215      51.680  16.911  36.889  1.00 55.16           C  
+ATOM   1527  CA  PHE A 216      50.757  19.475  39.514  1.00 60.55           C  
+ATOM   1538  CA  GLY A 217      54.488  20.153  39.524  1.00 66.64           C  
+ATOM   1542  CA  LYS A 218      54.575  21.110  35.850  1.00 68.86           C  
+ATOM   1551  CA  MET A 219      51.398  23.159  36.265  1.00 66.97           C  
+ATOM   1559  CA  LYS A 220      53.138  25.090  39.061  1.00 65.97           C  
+ATOM   1568  CA  GLU A 221      55.654  26.250  36.459  1.00 70.02           C  
+ATOM   1577  CA  ARG A 222      53.584  26.507  33.294  1.00 73.48           C  
+ATOM   1588  CA  ALA A 223      52.005  29.449  35.175  1.00 76.21           C  
+ATOM   1593  CA  PRO A 224      53.272  29.877  38.804  1.00 79.25           C  
+ATOM   1600  CA  GLU A 225      51.296  33.124  39.020  1.00 81.84           C  
+ATOM   1609  CA  ASN A 226      47.873  31.528  38.622  1.00 78.84           C  
+ATOM   1617  CA  PHE A 227      48.418  28.176  40.350  1.00 75.28           C  
+ATOM   1628  CA  ARG A 228      49.090  27.305  43.996  1.00 72.05           C  
+ATOM   1639  CA  VAL A 229      49.165  23.724  45.323  1.00 68.82           C  
+ATOM   1646  CA  ASP A 230      49.258  22.581  48.958  1.00 66.54           C  
+ATOM   1654  CA  TYR A 231      49.605  18.943  49.968  1.00 60.31           C  
+ATOM   1666  CA  ALA A 232      48.551  17.560  53.332  1.00 57.39           C  
+ATOM   1671  CA  VAL A 233      50.260  14.228  53.945  1.00 57.14           C  
+ATOM   1678  CA  SER A 234      48.465  13.579  57.244  1.00 60.81           C  
+ATOM   1684  CA  ARG A 235      50.959  11.010  58.514  1.00 60.74           C  
+ATOM   1695  CA  GLU A 236      54.268  12.594  57.481  1.00 59.17           C  
+ATOM   1704  CA  GLN A 237      53.494  16.197  58.450  1.00 59.62           C  
+ATOM   1713  CA  THR A 238      52.590  18.236  61.521  1.00 63.18           C  
+ATOM   1720  CA  ASN A 239      52.019  21.937  62.188  1.00 66.71           C  
+ATOM   1728  CA  ALA A 240      52.096  23.767  65.537  1.00 70.06           C  
+ATOM   1733  CA  ALA A 241      51.302  21.400  68.410  1.00 72.44           C  
+ATOM   1738  CA  GLY A 242      52.383  18.324  66.438  1.00 72.38           C  
+ATOM   1742  CA  GLU A 243      48.826  18.169  65.110  1.00 69.71           C  
+ATOM   1751  CA  ARG A 244      48.674  15.776  62.148  1.00 67.21           C  
+ATOM   1762  CA  MET A 245      48.712  17.796  58.933  1.00 64.20           C  
+ATOM   1770  CA  TYR A 246      45.246  17.082  57.556  1.00 60.65           C  
+ATOM   1782  CA  ILE A 247      43.617  18.437  54.409  1.00 62.98           C  
+ATOM   1790  CA  GLN A 248      42.035  21.001  56.761  1.00 64.64           C  
+ATOM   1799  CA  THR A 249      45.057  21.461  59.009  1.00 63.37           C  
+ATOM   1806  CA  ARG A 250      46.891  22.664  55.903  1.00 62.47           C  
+ATOM   1817  CA  MET A 251      44.123  25.201  55.251  1.00 63.35           C  
+ATOM   1825  CA  ALA A 252      44.571  26.305  58.854  1.00 65.73           C  
+ATOM   1830  CA  GLU A 253      47.973  27.809  58.076  1.00 65.97           C  
+ATOM   1839  CA  TYR A 254      46.267  30.063  55.517  1.00 65.83           C  
+ATOM   1851  CA  LYS A 255      42.991  30.559  57.379  1.00 70.30           C  
+ATOM   1860  CA  GLU A 256      43.578  34.326  57.320  1.00 73.73           C  
+ATOM   1869  CA  GLU A 257      44.189  34.738  53.593  1.00 71.52           C  
+ATOM   1878  CA  LEU A 258      41.459  32.202  52.893  1.00 73.38           C  
+ATOM   1886  CA  TRP A 259      38.790  34.074  54.853  1.00 76.72           C  
+ATOM   1900  CA  GLU A 260      39.721  37.275  53.006  1.00 78.61           C  
+ATOM   1909  CA  LEU A 261      38.580  35.553  49.815  1.00 75.71           C  
+ATOM   1917  CA  LEU A 262      35.391  33.881  51.047  1.00 73.74           C  
+ATOM   1925  CA  LYS A 263      33.562  37.165  50.535  1.00 73.64           C  
+ATOM   1934  CA  LYS A 264      34.299  38.143  46.954  1.00 72.48           C  
+ATOM   1943  CA  ASP A 265      31.954  37.554  43.993  1.00 69.65           C  
+ATOM   1951  CA  ASN A 266      34.660  35.649  42.106  1.00 65.06           C  
+ATOM   1959  CA  THR A 267      35.835  33.117  44.683  1.00 58.24           C  
+ATOM   1966  CA  TYR A 268      34.459  29.646  43.909  1.00 51.04           C  
+ATOM   1978  CA  VAL A 269      35.192  26.827  46.382  1.00 44.95           C  
+ATOM   1985  CA  TYR A 270      35.012  23.150  45.368  1.00 44.96           C  
+ATOM   1997  CA  MET A 271      35.162  20.122  47.656  1.00 41.72           C  
+ATOM   2005  CA  CYS A 272      35.314  16.468  46.632  1.00 37.19           C  
+ATOM   2011  CA  GLY A 273      36.343  13.080  47.951  1.00 37.65           C  
+ATOM   2015  CA  LEU A 274      36.040  10.886  51.020  1.00 39.39           C  
+ATOM   2023  CA  LYS A 275      33.076  12.283  52.955  1.00 44.86           C  
+ATOM   2032  CA  GLY A 276      34.322  13.183  56.400  1.00 49.16           C  
+ATOM   2036  CA  MET A 277      36.932  15.608  55.168  1.00 53.30           C  
+ATOM   2044  CA  GLU A 278      33.917  17.921  55.165  1.00 56.74           C  
+ATOM   2053  CA  LYS A 279      33.531  18.089  58.947  1.00 59.30           C  
+ATOM   2062  CA  GLY A 280      36.982  19.413  59.776  1.00 58.94           C  
+ATOM   2066  CA  ILE A 281      36.705  22.048  57.063  1.00 61.43           C  
+ATOM   2074  CA  ASP A 282      33.453  23.402  58.515  1.00 67.06           C  
+ATOM   2082  CA  ASP A 283      35.050  23.189  61.972  1.00 74.12           C  
+ATOM   2090  CA  ILE A 284      37.991  25.422  61.040  1.00 78.49           C  
+ATOM   2098  CA  MET A 285      35.456  27.566  59.201  1.00 82.25           C  
+ATOM   2106  CA  VAL A 286      32.941  27.959  62.027  1.00 83.44           C  
+ATOM   2113  CA  SER A 287      35.610  29.113  64.469  1.00 83.43           C  
+ATOM   2119  CA  LEU A 288      36.927  31.601  61.887  1.00 85.53           C  
+ATOM   2127  CA  ALA A 289      33.506  33.025  60.970  1.00 86.85           C  
+ATOM   2132  CA  GLU A 290      31.841  32.696  64.387  1.00 89.26           C  
+ATOM   2141  CA  LYS A 291      34.438  35.312  65.347  1.00 88.73           C  
+ATOM   2150  CA  ASP A 292      33.635  37.891  62.652  1.00 88.03           C  
+ATOM   2158  CA  GLY A 293      30.219  37.450  61.081  1.00 87.88           C  
+ATOM   2162  CA  ILE A 294      27.319  35.051  61.511  1.00 84.61           C  
+ATOM   2170  CA  ASP A 295      27.665  31.329  62.188  1.00 82.45           C  
+ATOM   2178  CA  TRP A 296      29.539  29.627  59.355  1.00 80.12           C  
+ATOM   2192  CA  PHE A 297      26.527  27.452  58.512  1.00 78.99           C  
+ATOM   2203  CA  ASP A 298      24.167  30.241  57.486  1.00 76.37           C  
+ATOM   2211  CA  TYR A 299      27.074  31.748  55.561  1.00 74.07           C  
+ATOM   2223  CA  LYS A 300      27.679  28.620  53.473  1.00 74.31           C  
+ATOM   2232  CA  LYS A 301      24.059  29.146  52.464  1.00 75.97           C  
+ATOM   2241  CA  GLN A 302      24.921  32.563  51.018  1.00 75.38           C  
+ATOM   2250  CA  LEU A 303      27.896  31.099  49.155  1.00 72.10           C  
+ATOM   2258  CA  LYS A 304      25.917  28.207  47.690  1.00 72.08           C  
+ATOM   2267  CA  ARG A 305      23.595  31.021  46.594  1.00 74.82           C  
+ATOM   2278  CA  GLY A 306      26.071  32.136  43.958  1.00 71.84           C  
+ATOM   2282  CA  ASP A 307      27.505  28.682  43.220  1.00 67.23           C  
+ATOM   2290  CA  GLN A 308      30.620  29.291  45.346  1.00 60.18           C  
+ATOM   2299  CA  TRP A 309      30.585  26.177  47.537  1.00 52.25           C  
+ATOM   2313  CA  ASN A 310      29.894  22.997  45.597  1.00 45.03           C  
+ATOM   2321  CA  VAL A 311      30.327  19.716  47.403  1.00 39.13           C  
+ATOM   2328  CA  GLU A 312      30.507  16.190  46.110  1.00 35.17           C  
+ATOM   2337  CA  VAL A 313      31.761  13.957  48.861  1.00 30.12           C  
+ATOM   2344  CA  TYR A 314      31.112  10.230  49.021  1.00 28.23           C  
+ATOM   2358  CA  ALA B   1       2.311  24.702  44.475  1.00 74.17           C  
+ATOM   2363  CA  THR B   2       3.590  24.207  48.055  1.00 74.76           C  
+ATOM   2370  CA  TYR B   3       3.069  20.876  49.837  1.00 73.52           C  
+ATOM   2382  CA  ASN B   4       3.748  19.874  53.435  1.00 75.75           C  
+ATOM   2390  CA  VAL B   5       6.618  17.399  53.868  1.00 75.95           C  
+ATOM   2397  CA  LYS B   6       7.769  15.523  56.983  1.00 77.70           C  
+ATOM   2406  CA  LEU B   7      11.351  14.325  57.458  1.00 78.91           C  
+ATOM   2414  CA  ILE B   8      11.807  11.511  59.985  1.00 81.00           C  
+ATOM   2422  CA  THR B   9      15.560  12.046  60.247  1.00 87.49           C  
+ATOM   2429  CA  PRO B  10      17.662   9.793  62.539  1.00 92.94           C  
+ATOM   2436  CA  GLU B  11      18.161  13.147  64.282  1.00 96.61           C  
+ATOM   2445  CA  GLY B  12      14.579  14.154  65.041  1.00 97.52           C  
+ATOM   2449  CA  GLU B  13      11.602  14.823  62.748  1.00 96.90           C  
+ATOM   2458  CA  VAL B  14      11.547  17.892  60.480  1.00 96.63           C  
+ATOM   2465  CA  GLU B  15       8.340  19.701  59.440  1.00 94.86           C  
+ATOM   2474  CA  LEU B  16       9.471  21.479  56.254  1.00 91.55           C  
+ATOM   2482  CA  GLN B  17       7.281  23.141  53.598  1.00 89.75           C  
+ATOM   2491  CA  VAL B  18       8.485  22.069  50.145  1.00 87.92           C  
+ATOM   2498  CA  PRO B  19       6.906  23.558  46.964  1.00 86.35           C  
+ATOM   2505  CA  ASP B  20       5.990  21.744  43.717  1.00 86.29           C  
+ATOM   2513  CA  ASP B  21       8.578  22.751  41.083  1.00 83.78           C  
+ATOM   2521  CA  VAL B  22      11.385  22.401  43.639  1.00 80.98           C  
+ATOM   2528  CA  TYR B  23      13.439  19.280  44.481  1.00 77.04           C  
+ATOM   2540  CA  ILE B  24      13.212  18.196  48.120  1.00 76.45           C  
+ATOM   2548  CA  LEU B  25      16.959  18.133  48.851  1.00 75.15           C  
+ATOM   2556  CA  ASP B  26      17.154  21.745  47.689  1.00 75.80           C  
+ATOM   2564  CA  GLN B  27      14.616  22.906  50.280  1.00 76.31           C  
+ATOM   2573  CA  ALA B  28      16.562  20.957  52.914  1.00 78.86           C  
+ATOM   2578  CA  GLU B  29      19.698  23.011  52.198  1.00 81.51           C  
+ATOM   2587  CA  GLU B  30      17.491  26.106  52.510  1.00 83.25           C  
+ATOM   2596  CA  ASP B  31      15.857  25.933  55.935  1.00 81.92           C  
+ATOM   2604  CA  GLY B  32      19.280  24.859  57.151  1.00 79.08           C  
+ATOM   2608  CA  ILE B  33      18.621  21.130  57.157  1.00 76.93           C  
+ATOM   2616  CA  ASP B  34      21.528  18.731  56.618  1.00 73.53           C  
+ATOM   2624  CA  LEU B  35      20.738  15.738  54.421  1.00 67.74           C  
+ATOM   2632  CA  PRO B  36      23.138  13.391  52.547  1.00 65.90           C  
+ATOM   2639  CA  TYR B  37      23.916  14.226  48.912  1.00 64.85           C  
+ATOM   2651  CA  SER B  38      26.659  13.373  46.412  1.00 62.58           C  
+ATOM   2657  CA  CYS B  39      26.193  13.603  42.652  1.00 60.99           C  
+ATOM   2663  CA  ARG B  40      22.908  15.441  43.251  1.00 58.35           C  
+ATOM   2674  CA  ALA B  41      21.699  14.108  39.886  1.00 56.38           C  
+ATOM   2679  CA  GLY B  42      19.886  10.955  40.991  1.00 56.66           C  
+ATOM   2683  CA  SER B  43      22.465   8.336  40.010  1.00 58.55           C  
+ATOM   2689  CA  CYS B  44      23.548   7.052  43.447  1.00 56.27           C  
+ATOM   2695  CA  SER B  45      22.057   5.987  46.791  1.00 58.20           C  
+ATOM   2701  CA  SER B  46      23.574   8.773  48.890  1.00 59.13           C  
+ATOM   2707  CA  CYS B  47      20.220  10.475  49.517  1.00 65.64           C  
+ATOM   2713  CA  ALA B  48      17.911   7.436  49.610  1.00 69.71           C  
+ATOM   2718  CA  GLY B  49      14.733   7.635  51.681  1.00 73.09           C  
+ATOM   2722  CA  LYS B  50      11.712   5.340  52.183  1.00 73.77           C  
+ATOM   2731  CA  VAL B  51       8.551   7.412  51.568  1.00 76.51           C  
+ATOM   2738  CA  VAL B  52       5.237   7.081  53.429  1.00 78.85           C  
+ATOM   2745  CA  SER B  53       2.180   9.376  53.647  1.00 79.57           C  
+ATOM   2751  CA  GLY B  54       2.118  10.991  50.218  1.00 76.32           C  
+ATOM   2755  CA  SER B  55       3.577  10.944  46.726  1.00 76.31           C  
+ATOM   2761  CA  VAL B  56       6.436  12.592  44.828  1.00 77.50           C  
+ATOM   2768  CA  ASP B  57       7.691  12.960  41.243  1.00 76.83           C  
+ATOM   2776  CA  GLN B  58      11.150  11.483  40.555  1.00 76.66           C  
+ATOM   2785  CA  SER B  59      10.976  10.827  36.792  1.00 80.19           C  
+ATOM   2791  CA  ASP B  60      14.688  11.644  36.510  1.00 83.51           C  
+ATOM   2799  CA  GLN B  61      15.175   8.137  37.916  1.00 85.74           C  
+ATOM   2808  CA  SER B  62      18.644   7.080  36.699  1.00 85.85           C  
+ATOM   2814  CA  TYR B  63      19.324   5.049  39.852  1.00 84.49           C  
+ATOM   2826  CA  LEU B  64      15.683   4.296  40.629  1.00 89.06           C  
+ATOM   2834  CA  ASP B  65      15.356   0.604  39.742  1.00 92.21           C  
+ATOM   2842  CA  ASP B  66      12.421  -1.791  39.331  1.00 92.35           C  
+ATOM   2850  CA  GLY B  67      10.747  -2.542  42.659  1.00 89.07           C  
+ATOM   2854  CA  GLN B  68      12.336   0.632  44.010  1.00 88.41           C  
+ATOM   2863  CA  ILE B  69       9.483   2.828  42.742  1.00 86.11           C  
+ATOM   2871  CA  ALA B  70       7.060   0.441  44.446  1.00 81.10           C  
+ATOM   2876  CA  ASP B  71       8.985  -0.310  47.648  1.00 76.82           C  
+ATOM   2884  CA  GLY B  72       8.653   3.423  48.186  1.00 73.00           C  
+ATOM   2888  CA  TRP B  73      12.342   4.386  48.095  1.00 67.93           C  
+ATOM   2902  CA  VAL B  74      13.052   8.007  47.136  1.00 63.84           C  
+ATOM   2909  CA  LEU B  75      16.093   9.940  45.892  1.00 58.37           C  
+ATOM   2917  CA  THR B  76      15.524  13.198  47.826  1.00 55.82           C  
+ATOM   2924  CA  CYS B  77      17.941  15.109  45.556  1.00 58.23           C  
+ATOM   2930  CA  HIS B  78      15.777  14.389  42.513  1.00 64.55           C  
+ATOM   2940  CA  ALA B  79      12.108  14.429  43.512  1.00 68.40           C  
+ATOM   2945  CA  TYR B  80       9.442  17.152  43.581  1.00 69.69           C  
+ATOM   2957  CA  PRO B  81       6.414  16.584  45.842  1.00 71.39           C  
+ATOM   2964  CA  THR B  82       3.015  16.014  44.179  1.00 73.67           C  
+ATOM   2971  CA  SER B  83       1.278  15.771  47.557  1.00 76.90           C  
+ATOM   2977  CA  ASP B  84       1.940  16.119  51.289  1.00 75.20           C  
+ATOM   2985  CA  VAL B  85       4.840  13.765  52.050  1.00 71.37           C  
+ATOM   2992  CA  VAL B  86       6.363  11.824  54.956  1.00 70.12           C  
+ATOM   2999  CA  ILE B  87       9.770  10.300  54.188  1.00 74.18           C  
+ATOM   3007  CA  GLU B  88      12.211   8.403  56.410  1.00 78.53           C  
+ATOM   3012  CA  THR B  89      15.541   9.964  55.407  1.00 79.79           C  
+ATOM   3019  CA  HIS B  90      19.062   8.538  55.881  1.00 79.40           C  
+ATOM   3029  CA  LYS B  91      17.584   5.099  55.099  1.00 84.52           C  
+ATOM   3038  CA  GLU B  92      20.016   2.596  53.549  1.00 91.64           C  
+ATOM   3047  CA  GLU B  93      20.192  -0.858  51.981  1.00 98.97           C  
+ATOM   3056  CA  GLU B  94      23.321  -2.924  51.298  1.00106.32           C  
+ATOM   3065  CA  LEU B  95      22.104  -6.552  51.453  1.00111.32           C  
+ATOM   3073  CA  THR B  96      18.778  -8.417  51.866  1.00116.01           C  
+ATOM   3080  CA  GLY B  97      18.877 -11.302  49.394  1.00116.63           C  
+ATOM   3084  CA  ALA B  98      22.056  -9.833  47.910  1.00116.02           C  
+ATOM   3091  CA  GLU C  19      26.080  -2.480  15.294  1.00 73.96           C  
+ATOM   3100  CA  SER C  20      23.405   0.198  14.956  1.00 67.27           C  
+ATOM   3106  CA  LYS C  21      22.937   3.927  15.380  1.00 59.27           C  
+ATOM   3115  CA  LYS C  22      19.198   3.481  15.874  1.00 58.42           C  
+ATOM   3124  CA  GLN C  23      17.251   3.141  19.137  1.00 59.89           C  
+ATOM   3133  CA  GLU C  24      17.931  -0.276  20.610  1.00 62.66           C  
+ATOM   3142  CA  GLU C  25      16.850  -0.453  24.226  1.00 64.27           C  
+ATOM   3151  CA  GLY C  26      13.211  -0.817  25.116  1.00 61.78           C  
+ATOM   3155  CA  VAL C  27      12.703  -2.073  21.582  1.00 58.37           C  
+ATOM   3162  CA  VAL C  28      10.779  -5.347  21.485  1.00 54.17           C  
+ATOM   3169  CA  THR C  29       9.481  -7.339  18.549  1.00 52.79           C  
+ATOM   3176  CA  ASN C  30       6.670  -9.775  17.786  1.00 51.30           C  
+ATOM   3184  CA  LEU C  31       4.863  -9.997  21.112  1.00 51.05           C  
+ATOM   3192  CA  TYR C  32       1.766 -11.297  19.327  1.00 50.51           C  
+ATOM   3204  CA  LYS C  33       1.373 -13.532  16.266  1.00 49.49           C  
+ATOM   3213  CA  PRO C  34      -1.609 -14.150  13.925  1.00 50.98           C  
+ATOM   3220  CA  LYS C  35      -2.450 -17.248  16.011  1.00 55.46           C  
+ATOM   3229  CA  GLU C  36      -2.977 -15.400  19.288  1.00 53.79           C  
+ATOM   3238  CA  PRO C  37      -3.251 -11.638  18.607  1.00 49.32           C  
+ATOM   3245  CA  TYR C  38      -3.674  -9.050  21.318  1.00 46.76           C  
+ATOM   3257  CA  VAL C  39      -7.276  -7.947  21.418  1.00 43.68           C  
+ATOM   3264  CA  GLY C  40      -7.415  -4.194  21.922  1.00 41.62           C  
+ATOM   3268  CA  ARG C  41     -10.273  -1.719  21.954  1.00 40.07           C  
+ATOM   3279  CA  CYS C  42     -11.026   1.064  19.477  1.00 36.37           C  
+ATOM   3285  CA  LEU C  43     -11.330   4.206  21.583  1.00 31.09           C  
+ATOM   3293  CA  LEU C  44     -11.337   6.671  18.673  1.00 28.46           C  
+ATOM   3301  CA  ASN C  45     -11.792   6.653  14.923  1.00 26.74           C  
+ATOM   3309  CA  THR C  46     -11.954   9.920  13.013  1.00 25.29           C  
+ATOM   3316  CA  LYS C  47     -11.667  10.775   9.352  1.00 21.50           C  
+ATOM   3325  CA  ILE C  48      -8.895  13.355   9.121  1.00 19.33           C  
+ATOM   3333  CA  THR C  49      -9.125  14.281   5.442  1.00 20.38           C  
+ATOM   3340  CA  GLY C  50     -11.630  16.676   3.855  1.00 20.12           C  
+ATOM   3344  CA  ASP C  51     -14.895  15.345   2.412  1.00 21.75           C  
+ATOM   3352  CA  ASP C  52     -13.889  16.693  -0.999  1.00 21.19           C  
+ATOM   3360  CA  ALA C  53     -10.651  14.683  -0.749  1.00 21.06           C  
+ATOM   3365  CA  PRO C  54     -10.036  11.974  -3.413  1.00 21.39           C  
+ATOM   3372  CA  GLY C  55      -9.982   9.067  -0.977  1.00 24.42           C  
+ATOM   3376  CA  GLU C  56     -10.374   9.298   2.857  1.00 22.08           C  
+ATOM   3385  CA  THR C  57      -7.723   8.611   5.517  1.00 20.31           C  
+ATOM   3392  CA  TRP C  58      -8.541   7.849   9.162  1.00 19.33           C  
+ATOM   3406  CA  HIS C  59      -6.758   8.520  12.438  1.00 22.68           C  
+ATOM   3416  CA  MET C  60      -7.645   5.951  15.108  1.00 27.16           C  
+ATOM   3424  CA  VAL C  61      -6.672   5.224  18.723  1.00 29.32           C  
+ATOM   3431  CA  PHE C  62      -6.669   1.704  20.220  1.00 34.23           C  
+ATOM   3442  CA  SER C  63      -6.102   0.643  23.847  1.00 37.05           C  
+ATOM   3448  CA  THR C  64      -3.096  -1.517  24.798  1.00 41.86           C  
+ATOM   3455  CA  GLU C  65      -3.169  -1.652  28.621  1.00 48.33           C  
+ATOM   3464  CA  GLY C  66       0.537  -0.885  28.318  1.00 52.45           C  
+ATOM   3468  CA  LYS C  67       0.955  -4.385  26.891  1.00 54.14           C  
+ATOM   3477  CA  ILE C  68       2.429  -3.211  23.570  1.00 51.52           C  
+ATOM   3485  CA  PRO C  69       5.602  -1.279  24.487  1.00 49.85           C  
+ATOM   3492  CA  TYR C  70       6.523  -0.180  20.967  1.00 44.48           C  
+ATOM   3504  CA  ARG C  71       9.185   2.353  19.993  1.00 40.96           C  
+ATOM   3515  CA  GLU C  72       8.727   5.317  17.688  1.00 33.49           C  
+ATOM   3524  CA  GLY C  73       8.913   3.876  14.164  1.00 30.16           C  
+ATOM   3528  CA  GLN C  74       7.423   0.399  14.427  1.00 31.26           C  
+ATOM   3537  CA  SER C  75       4.187  -0.913  12.966  1.00 33.65           C  
+ATOM   3543  CA  ILE C  76       1.454  -3.212  14.278  1.00 33.75           C  
+ATOM   3551  CA  GLY C  77      -0.295  -5.923  12.356  1.00 34.32           C  
+ATOM   3555  CA  VAL C  78      -4.060  -6.111  12.164  1.00 36.67           C  
+ATOM   3562  CA  ILE C  79      -6.137  -9.230  11.507  1.00 41.91           C  
+ATOM   3570  CA  ALA C  80      -9.427  -8.086  10.024  1.00 44.06           C  
+ATOM   3575  CA  ASP C  81     -12.530  -9.927  11.224  1.00 47.03           C  
+ATOM   3583  CA  GLY C  82     -13.972 -12.487   8.829  1.00 53.52           C  
+ATOM   3587  CA  VAL C  83     -12.521 -14.951   6.324  1.00 62.57           C  
+ATOM   3594  CA  ASP C  84     -11.856 -14.200   2.630  1.00 71.97           C  
+ATOM   3602  CA  LYS C  85     -12.935 -17.403   0.861  1.00 76.86           C  
+ATOM   3611  CA  ASN C  86     -13.690 -18.960   4.253  1.00 76.52           C  
+ATOM   3619  CA  GLY C  87     -10.006 -19.837   4.066  1.00 76.22           C  
+ATOM   3623  CA  LYS C  88      -8.802 -19.138   7.616  1.00 71.60           C  
+ATOM   3632  CA  PRO C  89      -8.651 -15.577   8.944  1.00 64.14           C  
+ATOM   3639  CA  HIS C  90      -7.547 -12.649   6.805  1.00 52.35           C  
+ATOM   3649  CA  LYS C  91      -3.753 -12.529   6.474  1.00 46.81           C  
+ATOM   3658  CA  VAL C  92      -2.180  -9.868   8.686  1.00 43.48           C  
+ATOM   3665  CA  ARG C  93      -1.491  -6.414   7.232  1.00 36.99           C  
+ATOM   3676  CA  LEU C  94       0.983  -3.882   8.601  1.00 32.95           C  
+ATOM   3684  CA  TYR C  95       0.340  -0.239   9.510  1.00 24.84           C  
+ATOM   3696  CA  SER C  96       3.003   2.101  10.803  1.00 23.32           C  
+ATOM   3702  CA  ILE C  97       2.244   3.502  14.236  1.00 24.12           C  
+ATOM   3710  CA  ALA C  98       1.243   7.179  13.932  1.00 22.32           C  
+ATOM   3715  CA  SER C  99       1.572   7.636  17.676  1.00 25.69           C  
+ATOM   3721  CA  SER C 100       4.752   7.924  19.726  1.00 28.83           C  
+ATOM   3727  CA  ALA C 101       5.741   5.521  22.508  1.00 35.61           C  
+ATOM   3732  CA  ILE C 102       3.906   7.635  25.079  1.00 38.39           C  
+ATOM   3740  CA  GLY C 103       0.899   7.826  22.742  1.00 31.93           C  
+ATOM   3744  CA  ASP C 104      -1.803  10.384  21.986  1.00 28.77           C  
+ATOM   3752  CA  PHE C 105      -3.050  10.293  25.607  1.00 37.05           C  
+ATOM   3763  CA  GLY C 106       0.503  10.389  26.967  1.00 39.36           C  
+ATOM   3767  CA  ASP C 107      -0.221   7.437  29.266  1.00 41.44           C  
+ATOM   3775  CA  SER C 108       1.566   4.766  27.217  1.00 42.18           C  
+ATOM   3781  CA  LYS C 109      -1.747   2.877  27.156  1.00 42.45           C  
+ATOM   3790  CA  THR C 110      -2.698   3.586  23.515  1.00 38.10           C  
+ATOM   3797  CA  VAL C 111      -1.603   2.971  19.906  1.00 32.79           C  
+ATOM   3804  CA  SER C 112      -2.671   5.020  16.872  1.00 29.60           C  
+ATOM   3810  CA  LEU C 113      -2.713   4.324  13.126  1.00 25.68           C  
+ATOM   3818  CA  CYS C 114      -3.142   6.498   9.999  1.00 24.23           C  
+ATOM   3824  CA  VAL C 115      -5.345   4.496   7.641  1.00 22.80           C  
+ATOM   3831  CA  LYS C 116      -6.221   5.196   4.015  1.00 22.11           C  
+ATOM   3840  CA  ARG C 117      -9.458   3.521   2.955  1.00 25.68           C  
+ATOM   3851  CA  LEU C 118      -8.447   1.440  -0.100  1.00 28.80           C  
+ATOM   3859  CA  ILE C 119     -11.140   1.661  -2.792  1.00 31.75           C  
+ATOM   3867  CA  TYR C 120     -10.086   0.716  -6.312  1.00 32.93           C  
+ATOM   3879  CA  THR C 121     -11.388  -0.733  -9.598  1.00 36.84           C  
+ATOM   3886  CA  ASN C 122     -10.258  -4.257 -10.546  1.00 36.90           C  
+ATOM   3894  CA  ASP C 123      -9.574  -5.562 -14.056  1.00 45.45           C  
+ATOM   3902  CA  ALA C 124     -13.196  -6.758 -14.269  1.00 44.66           C  
+ATOM   3907  CA  GLY C 125     -14.207  -3.102 -14.023  1.00 45.49           C  
+ATOM   3911  CA  GLU C 126     -16.059  -3.511 -10.722  1.00 45.54           C  
+ATOM   3920  CA  ILE C 127     -15.507  -1.321  -7.638  1.00 39.70           C  
+ATOM   3928  CA  VAL C 128     -13.846  -3.171  -4.762  1.00 38.09           C  
+ATOM   3935  CA  LYS C 129     -12.759  -2.512  -1.198  1.00 33.77           C  
+ATOM   3944  CA  GLY C 130      -9.566  -3.363   0.599  1.00 31.98           C  
+ATOM   3948  CA  VAL C 131     -10.443  -5.797   3.385  1.00 33.16           C  
+ATOM   3955  CA  CYS C 132      -8.241  -4.645   6.257  1.00 29.97           C  
+ATOM   3961  CA  SER C 133      -8.238  -0.898   5.607  1.00 30.67           C  
+ATOM   3967  CA  ASN C 134     -12.022  -0.902   5.268  1.00 30.35           C  
+ATOM   3975  CA  PHE C 135     -12.375  -2.946   8.424  1.00 29.86           C  
+ATOM   3986  CA  LEU C 136     -10.223  -0.334  10.195  1.00 29.42           C  
+ATOM   3994  CA  CYS C 137     -11.779   2.834   8.813  1.00 32.27           C  
+ATOM   4000  CA  ASP C 138     -15.116   1.280   9.724  1.00 34.29           C  
+ATOM   4008  CA  LEU C 139     -14.287   0.699  13.399  1.00 37.51           C  
+ATOM   4016  CA  GLN C 140     -16.635   2.170  16.028  1.00 43.76           C  
+ATOM   4025  CA  PRO C 141     -15.630   3.032  19.581  1.00 42.77           C  
+ATOM   4032  CA  GLY C 142     -16.082  -0.210  21.478  1.00 42.83           C  
+ATOM   4036  CA  ASP C 143     -15.117  -2.625  18.696  1.00 40.91           C  
+ATOM   4044  CA  ASN C 144     -12.182  -4.947  19.288  1.00 45.66           C  
+ATOM   4052  CA  VAL C 145      -9.056  -5.146  17.145  1.00 46.95           C  
+ATOM   4059  CA  GLN C 146      -6.707  -8.107  16.606  1.00 48.69           C  
+ATOM   4068  CA  ILE C 147      -3.249  -6.538  17.123  1.00 46.84           C  
+ATOM   4076  CA  THR C 148      -0.010  -8.392  16.264  1.00 46.26           C  
+ATOM   4083  CA  GLY C 149       3.543  -7.117  16.634  1.00 45.60           C  
+ATOM   4087  CA  PRO C 150       5.248  -4.818  17.394  1.00 44.97           C  
+ATOM   4094  CA  VAL C 151       7.423  -5.293  14.321  1.00 44.50           C  
+ATOM   4101  CA  GLY C 152      10.289  -3.716  12.438  1.00 45.33           C  
+ATOM   4105  CA  LYS C 153      13.599  -2.161  13.435  1.00 48.64           C  
+ATOM   4114  CA  GLU C 154      14.166  -0.437  10.074  1.00 48.20           C  
+ATOM   4123  CA  MET C 155      12.437   2.888  10.737  1.00 41.77           C  
+ATOM   4131  CA  LEU C 156      13.839   3.081  14.267  1.00 38.27           C  
+ATOM   4139  CA  MET C 157      15.076   6.540  15.308  1.00 34.29           C  
+ATOM   4147  CA  PRO C 158      18.782   7.419  15.339  1.00 34.05           C  
+ATOM   4154  CA  LYS C 159      20.262   7.521  18.845  1.00 35.82           C  
+ATOM   4163  CA  ASP C 160      22.076  10.792  18.273  1.00 35.95           C  
+ATOM   4171  CA  PRO C 161      19.683  13.401  19.809  1.00 35.63           C  
+ATOM   4178  CA  ASN C 162      21.563  15.948  17.758  1.00 33.92           C  
+ATOM   4186  CA  ALA C 163      21.028  14.172  14.487  1.00 30.82           C  
+ATOM   4191  CA  THR C 164      19.693  15.722  11.305  1.00 25.18           C  
+ATOM   4198  CA  ILE C 165      16.617  13.601  10.636  1.00 19.91           C  
+ATOM   4206  CA  ILE C 166      15.351  13.978   7.060  1.00 13.76           C  
+ATOM   4214  CA  MET C 167      11.843  12.550   6.703  1.00 14.98           C  
+ATOM   4222  CA  LEU C 168      10.385  11.831   3.251  1.00 16.64           C  
+ATOM   4230  CA  ALA C 169       6.747  10.808   3.007  1.00 15.85           C  
+ATOM   4235  CA  THR C 170       3.765  10.346   0.737  1.00 14.23           C  
+ATOM   4242  CA  GLY C 171       0.255   9.724   2.035  1.00 13.78           C  
+ATOM   4246  CA  THR C 172      -0.103   7.560   5.139  1.00 17.62           C  
+ATOM   4253  CA  GLY C 173       3.646   7.343   4.821  1.00 17.20           C  
+ATOM   4257  CA  ILE C 174       3.469  10.213   7.270  1.00 15.91           C  
+ATOM   4265  CA  ALA C 175       2.586   7.783  10.110  1.00 15.63           C  
+ATOM   4270  CA  PRO C 176       6.023   6.933  11.582  1.00 17.04           C  
+ATOM   4277  CA  PHE C 177       7.215  10.514  11.327  1.00 18.21           C  
+ATOM   4288  CA  ARG C 178       4.268  11.745  13.359  1.00 22.35           C  
+ATOM   4299  CA  SER C 179       5.563   9.289  15.983  1.00 25.22           C  
+ATOM   4305  CA  PHE C 180       9.139  10.593  15.614  1.00 25.98           C  
+ATOM   4316  CA  LEU C 181       7.925  14.180  15.767  1.00 29.12           C  
+ATOM   4324  CA  TRP C 182       5.625  13.641  18.714  1.00 31.35           C  
+ATOM   4338  CA  LYS C 183       8.488  12.385  20.871  1.00 30.92           C  
+ATOM   4347  CA  MET C 184      10.841  15.050  19.503  1.00 24.85           C  
+ATOM   4355  CA  PHE C 185       8.741  18.202  20.114  1.00 22.97           C  
+ATOM   4366  CA  PHE C 186       5.604  17.337  22.076  1.00 27.77           C  
+ATOM   4377  CA  GLU C 187       7.117  15.432  25.009  1.00 37.71           C  
+ATOM   4386  CA  LYS C 188       9.542  15.977  27.878  1.00 53.59           C  
+ATOM   4395  CA  HIS C 189      12.355  13.416  28.180  1.00 63.67           C  
+ATOM   4405  CA  ASP C 190      15.318  13.181  30.569  1.00 66.93           C  
+ATOM   4413  CA  ASP C 191      17.480  11.106  28.238  1.00 59.79           C  
+ATOM   4421  CA  TYR C 192      16.190  12.725  25.047  1.00 51.96           C  
+ATOM   4433  CA  LYS C 193      16.700  16.406  24.324  1.00 47.01           C  
+ATOM   4442  CA  PHE C 194      16.580  16.471  20.530  1.00 39.85           C  
+ATOM   4453  CA  ASN C 195      18.572  19.494  19.409  1.00 37.52           C  
+ATOM   4461  CA  GLY C 196      19.361  18.548  15.845  1.00 32.08           C  
+ATOM   4465  CA  LEU C 197      17.310  19.266  12.766  1.00 28.26           C  
+ATOM   4473  CA  GLY C 198      14.051  17.526  11.928  1.00 25.05           C  
+ATOM   4477  CA  TRP C 199      13.211  18.137   8.269  1.00 19.81           C  
+ATOM   4491  CA  LEU C 200       9.908  16.742   7.059  1.00 13.86           C  
+ATOM   4499  CA  PHE C 201       8.855  16.521   3.429  1.00 14.83           C  
+ATOM   4510  CA  LEU C 202       5.288  15.361   2.717  1.00 16.12           C  
+ATOM   4518  CA  GLY C 203       3.701  14.731  -0.681  1.00 13.79           C  
+ATOM   4522  CA  VAL C 204      -0.051  14.414  -1.182  1.00 11.75           C  
+ATOM   4529  CA  PRO C 205      -2.113  15.264  -4.308  1.00 14.66           C  
+ATOM   4536  CA  THR C 206      -4.553  17.737  -2.778  1.00 16.37           C  
+ATOM   4543  CA  SER C 207      -4.756  20.169   0.120  1.00 18.01           C  
+ATOM   4549  CA  SER C 208      -7.780  18.225   1.280  1.00 17.59           C  
+ATOM   4555  CA  SER C 209      -5.452  15.198   1.550  1.00 16.19           C  
+ATOM   4561  CA  LEU C 210      -2.972  16.940   3.860  1.00 14.22           C  
+ATOM   4569  CA  LEU C 211      -2.255  14.980   7.059  1.00 14.43           C  
+ATOM   4577  CA  TYR C 212      -1.624  16.449  10.549  1.00 18.94           C  
+ATOM   4589  CA  LYS C 213      -0.818  19.896   9.150  1.00 22.61           C  
+ATOM   4598  CA  GLU C 214      -2.039  21.572  12.352  1.00 25.73           C  
+ATOM   4607  CA  GLU C 215       0.152  19.413  14.514  1.00 19.23           C  
+ATOM   4616  CA  PHE C 216       3.216  20.178  12.439  1.00 17.80           C  
+ATOM   4627  CA  GLY C 217       2.478  23.890  12.512  1.00 19.90           C  
+ATOM   4631  CA  LYS C 218       2.578  24.001  16.294  1.00 25.54           C  
+ATOM   4640  CA  MET C 219       5.810  22.021  16.188  1.00 26.79           C  
+ATOM   4648  CA  LYS C 220       7.224  24.606  13.819  1.00 31.85           C  
+ATOM   4657  CA  GLU C 221       6.071  27.341  16.219  1.00 38.62           C  
+ATOM   4666  CA  ARG C 222       7.760  25.760  19.233  1.00 39.10           C  
+ATOM   4677  CA  ALA C 223      11.124  24.971  17.668  1.00 35.43           C  
+ATOM   4682  CA  PRO C 224      11.696  27.100  14.528  1.00 32.99           C  
+ATOM   4689  CA  GLU C 225      15.425  26.331  14.360  1.00 33.87           C  
+ATOM   4698  CA  ASN C 226      15.038  22.591  14.986  1.00 30.46           C  
+ATOM   4706  CA  PHE C 227      12.088  21.755  12.732  1.00 24.98           C  
+ATOM   4717  CA  ARG C 228      11.351  22.384   9.075  1.00 19.87           C  
+ATOM   4728  CA  VAL C 229       8.435  21.010   7.118  1.00 14.21           C  
+ATOM   4735  CA  ASP C 230       7.739  21.452   3.398  1.00 12.26           C  
+ATOM   4743  CA  TYR C 231       4.627  20.147   1.722  1.00 14.42           C  
+ATOM   4755  CA  ALA C 232       4.334  19.003  -1.872  1.00  9.99           C  
+ATOM   4760  CA  VAL C 233       0.778  19.232  -3.168  1.00 10.49           C  
+ATOM   4767  CA  SER C 234       1.043  17.769  -6.694  1.00 19.00           C  
+ATOM   4773  CA  ARG C 235      -2.240  19.042  -8.206  1.00 23.13           C  
+ATOM   4784  CA  GLU C 236      -2.069  22.459  -6.578  1.00 17.58           C  
+ATOM   4793  CA  GLN C 237       1.546  23.511  -6.623  1.00 15.89           C  
+ATOM   4802  CA  THR C 238       4.202  24.018  -9.275  1.00 17.86           C  
+ATOM   4809  CA  ASN C 239       7.922  24.800  -9.182  1.00 15.15           C  
+ATOM   4817  CA  ALA C 240       9.558  27.791 -10.892  1.00 21.51           C  
+ATOM   4822  CA  ALA C 241       9.475  25.887 -14.174  1.00 24.05           C  
+ATOM   4827  CA  GLY C 242       5.741  25.110 -13.938  1.00 26.25           C  
+ATOM   4831  CA  GLU C 243       5.999  21.359 -13.153  1.00 25.92           C  
+ATOM   4840  CA  ARG C 244       3.679  19.536 -10.704  1.00 24.04           C  
+ATOM   4851  CA  MET C 245       5.076  19.643  -7.174  1.00 18.58           C  
+ATOM   4859  CA  TYR C 246       5.784  16.047  -6.100  1.00 14.16           C  
+ATOM   4871  CA  ILE C 247       7.910  15.343  -3.034  1.00 16.78           C  
+ATOM   4879  CA  GLN C 248      11.089  15.070  -5.120  1.00 18.72           C  
+ATOM   4888  CA  THR C 249      10.168  18.255  -6.921  1.00 20.93           C  
+ATOM   4895  CA  ARG C 250       9.962  20.031  -3.567  1.00 19.25           C  
+ATOM   4906  CA  MET C 251      13.275  18.471  -2.561  1.00 19.40           C  
+ATOM   4914  CA  ALA C 252      14.910  19.812  -5.760  1.00 20.48           C  
+ATOM   4919  CA  GLU C 253      14.456  23.418  -4.569  1.00 18.19           C  
+ATOM   4928  CA  TYR C 254      16.804  22.515  -1.673  1.00 17.80           C  
+ATOM   4940  CA  LYS C 255      19.038  20.415  -3.902  1.00 20.66           C  
+ATOM   4949  CA  GLU C 256      22.452  21.603  -2.682  1.00 16.05           C  
+ATOM   4958  CA  GLU C 257      21.544  21.914   0.993  1.00 15.89           C  
+ATOM   4967  CA  LEU C 258      20.377  18.297   0.919  1.00 20.74           C  
+ATOM   4975  CA  TRP C 259      23.388  16.939  -0.965  1.00 23.45           C  
+ATOM   4989  CA  GLU C 260      25.645  18.669   1.563  1.00 24.08           C  
+ATOM   4998  CA  LEU C 261      23.573  17.378   4.477  1.00 24.74           C  
+ATOM   5006  CA  LEU C 262      24.020  13.928   2.938  1.00 26.14           C  
+ATOM   5014  CA  LYS C 263      27.792  14.091   3.402  1.00 25.40           C  
+ATOM   5023  CA  LYS C 264      27.457  14.521   7.176  1.00 31.47           C  
+ATOM   5032  CA  ASP C 265      27.877  11.474   9.425  1.00 35.31           C  
+ATOM   5040  CA  ASN C 266      24.934  12.482  11.620  1.00 29.63           C  
+ATOM   5048  CA  THR C 267      22.321  12.795   8.832  1.00 28.00           C  
+ATOM   5055  CA  TYR C 268      19.556  10.160   8.808  1.00 27.00           C  
+ATOM   5067  CA  VAL C 269      17.143   9.903   5.884  1.00 24.65           C  
+ATOM   5074  CA  TYR C 270      13.890   8.016   6.276  1.00 23.37           C  
+ATOM   5086  CA  MET C 271      11.373   7.327   3.518  1.00 18.93           C  
+ATOM   5094  CA  CYS C 272       7.834   6.074   4.043  1.00 18.24           C  
+ATOM   5100  CA  GLY C 273       4.784   5.874   1.826  1.00 22.39           C  
+ATOM   5104  CA  LEU C 274       3.837   4.483  -1.568  1.00 26.95           C  
+ATOM   5112  CA  LYS C 275       6.305   2.384  -3.532  1.00 32.36           C  
+ATOM   5121  CA  GLY C 276       7.741   4.199  -6.514  1.00 37.46           C  
+ATOM   5125  CA  MET C 277       7.714   7.455  -4.608  1.00 28.76           C  
+ATOM   5133  CA  GLU C 278      11.430   6.639  -4.425  1.00 32.22           C  
+ATOM   5142  CA  LYS C 279      12.017   6.321  -8.153  1.00 29.94           C  
+ATOM   5151  CA  GLY C 280      11.317  10.057  -8.293  1.00 24.18           C  
+ATOM   5155  CA  ILE C 281      13.766  10.673  -5.460  1.00 23.68           C  
+ATOM   5163  CA  ASP C 282      16.431   8.365  -6.934  1.00 26.58           C  
+ATOM   5171  CA  ASP C 283      16.211  10.530 -10.054  1.00 28.70           C  
+ATOM   5179  CA  ILE C 284      17.089  13.937  -8.538  1.00 27.28           C  
+ATOM   5187  CA  MET C 285      19.706  12.222  -6.388  1.00 27.45           C  
+ATOM   5195  CA  VAL C 286      21.377  10.712  -9.470  1.00 30.74           C  
+ATOM   5202  CA  SER C 287      21.619  14.159 -11.061  1.00 32.14           C  
+ATOM   5208  CA  LEU C 288      23.240  15.463  -7.873  1.00 34.20           C  
+ATOM   5216  CA  ALA C 289      25.801  12.653  -7.874  1.00 40.16           C  
+ATOM   5221  CA  GLU C 290      26.837  12.825 -11.536  1.00 41.84           C  
+ATOM   5230  CA  LYS C 291      27.855  16.387 -10.793  1.00 43.17           C  
+ATOM   5239  CA  ASP C 292      30.299  15.115  -8.139  1.00 41.84           C  
+ATOM   5247  CA  GLY C 293      31.237  12.232 -10.420  1.00 46.12           C  
+ATOM   5251  CA  ILE C 294      30.053   9.669  -7.864  1.00 45.54           C  
+ATOM   5259  CA  ASP C 295      27.399   6.998  -8.480  1.00 41.14           C  
+ATOM   5267  CA  TRP C 296      24.222   7.605  -6.479  1.00 30.67           C  
+ATOM   5281  CA  PHE C 297      23.381   3.910  -6.151  1.00 31.97           C  
+ATOM   5292  CA  ASP C 298      26.856   2.916  -4.907  1.00 38.12           C  
+ATOM   5300  CA  TYR C 299      26.671   5.875  -2.540  1.00 39.05           C  
+ATOM   5312  CA  LYS C 300      23.196   4.971  -1.294  1.00 41.63           C  
+ATOM   5321  CA  LYS C 301      24.542   1.489  -0.577  1.00 43.40           C  
+ATOM   5330  CA  GLN C 302      27.207   3.064   1.608  1.00 43.79           C  
+ATOM   5339  CA  LEU C 303      24.476   5.181   3.238  1.00 41.51           C  
+ATOM   5347  CA  LYS C 304      22.138   2.343   4.264  1.00 45.18           C  
+ATOM   5356  CA  ARG C 305      25.322   0.535   5.256  1.00 46.65           C  
+ATOM   5367  CA  GLY C 306      25.613   3.181   7.945  1.00 40.29           C  
+ATOM   5371  CA  ASP C 307      21.954   3.487   8.940  1.00 41.21           C  
+ATOM   5379  CA  GLN C 308      21.463   6.730   7.023  1.00 35.55           C  
+ATOM   5388  CA  TRP C 309      18.961   5.674   4.361  1.00 31.22           C  
+ATOM   5402  CA  ASN C 310      16.018   3.728   5.752  1.00 31.61           C  
+ATOM   5410  CA  VAL C 311      13.120   2.841   3.452  1.00 32.13           C  
+ATOM   5417  CA  GLU C 312       9.705   1.332   4.261  1.00 31.51           C  
+ATOM   5426  CA  VAL C 313       7.466   1.606   1.209  1.00 26.39           C  
+ATOM   5433  CA  TYR C 314       4.403  -0.343   0.111  1.00 25.42           C  
index d82ff48..0b949de 100755 (executable)
@@ -1 +1 @@
-(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);\r
+(((FER_BRANA:128.0,FER3_RAPSA:128.0):50.75,FER_CAPAA:178.75):121.94443,(Q93Z60_ARATH:271.45456,((O80429_MAIZE:183.0,FER1_MAIZE:183.0):30.5,((Q7XA98_TRIPR:90.0,FER1_PEA:90.0):83.32143,(((FER2_ARATH:64.0,FER1_ARATH:64.0):94.375,(FER1_SPIOL:124.5,FER1_MESCR:124.5):33.875):6.4166718,((Q93XJ9_SOLTU:33.5,FER1_SOLLC:33.5):49.0,FER_CAPAN:82.5):82.29167):8.529755):40.178574):57.95456):29.239868);
index c0b3384..0772eab 100644 (file)
@@ -1,12 +1,12 @@
-// You need to add the groovy directory to the class path from the script window\r
-// or add the groovy directory to the java classpath when running Jalview\r
-\r
-jvtst = new JvLoadTester().newJvLoadTest('D:\\fooTest.jar');\r
-try { jvtst.TestForAll('D:\\e6-workspace\\Jalview RNA\\examples\\rna\\rfamSml') } \r
-catch (OutOfMemoryError e) { \r
-// inspect jvtst to find out what file + file index it was on\r
-}\r
-// Terminate Jalview - useful if running from command line\r
-if (Jalview.isInBatchMode()) {\r
- Jalview.quit() \r
+// You need to add the groovy directory to the class path from the script window
+// or add the groovy directory to the java classpath when running Jalview
+
+jvtst = new JvLoadTester().newJvLoadTest('D:\\fooTest.jar');
+try { jvtst.TestForAll('D:\\e6-workspace\\Jalview RNA\\examples\\rna\\rfamSml') } 
+catch (OutOfMemoryError e) { 
+// inspect jvtst to find out what file + file index it was on
+}
+// Terminate Jalview - useful if running from command line
+if (Jalview.isInBatchMode()) {
+ Jalview.quit() 
 }
\ No newline at end of file
index d944ece..8fcdd69 100644 (file)
-import jalview.gui.*;\r
-import jalview.io.*;\r
-\r
-def class JvLoadTest {\r
-    FileLoader fl = null;\r
-    def String safename = null;\r
-    JvLoadTest(String sname) { \r
-       if (!new File(sname).exists() || new File(sname).canWrite())\r
-           {\r
-               safename = sname;\r
-           } else {\r
-               System.err.println("Warning : "+sname+" isn't being used to store temporary files.");\r
-           }   \r
-    }\r
-    def public boolean doTest (file) {\r
-       fl = new FileLoader(false);\r
-       System.gc();\r
-       AlignFrame af = fl.LoadFileWaitTillLoaded(file\r
-                                                 ,FormatAdapter.FILE);\r
-       return doTest(af);\r
-    }\r
-    def public boolean doSequentialReadTest (file) {\r
-       return doSequentialReadTest(file, 0);\r
-    }\r
-    // Return true if there is more data to read.\r
-    def public boolean peekFp(FileParse fp) {\r
-       try { fp.mark(); }  catch (Exception ex) { System.err.println("FAILED mark."+ex); return false; };\r
-       try {\r
-         def String nl;\r
-         for (i in 1..3) { \r
-          nl = fp.nextLine();\r
-          if (nl==null) { return false; }\r
-          System.out.println(nl +"\\n");\r
-          }\r
-       } catch (Exception e) { // end of file.\r
-               return false; };\r
-       try { fp.reset(); } catch (Exception ex) { System.err.println("FAILED rewind."+ex); return false; };\r
-       return true;\r
-    }\r
-    /*\r
-      Halt after loading the mx'th entry in the filestream\r
-    */\r
-    def public boolean doSequentialReadTest (file, int mx) {\r
-       // first properly open the file\r
-       //      if (!doTest(file)) { return };\r
-       def FileParse fp = null;\r
-       try {\r
-               fp = new FileParse(file, AppletFormatAdapter.FILE);\r
-       } catch (Exception e) { System.err.println("Couldn't open "+file+"\\n"); e.printStackTrace(); return false;};\r
-       Desktop.instance.closeAll_actionPerformed(null)\r
-           System.gc();\r
-       while (fp!=null && fp.isValid() && (mx==0 || mx!=fp.index)) {\r
-           if (!peekFp(fp)) return false;\r
-           fl = new FileLoader(false);\r
-           AlignFrame af = fl.LoadFileWaitTillLoaded(fp, null);\r
-           System.out.println("FileParse index: "+fp.index);   \r
-           if (af!=null && (mx==0 || mx!=fp.index))\r
-               {       def boolean res = doTest(af);\r
-               if (!res)\r
-                   {\r
-                       // return false;\r
-                   }\r
-               } else {\r
-                   // return false;\r
-               }\r
-       }\r
-       return true;\r
-    }\r
-    def public void waitTillSettled(AlignFrame af)\r
-    {\r
-       if (af==null) { return; }\r
-       Thread.sleep(10);\r
-       while (af.getViewport().updatingConsensus || af.getViewport().updatingConservation) {\r
-           Thread.sleep(150); // wait until things settle down\r
-       }\r
-    }\r
-    def public boolean doTest(AlignFrame af) {\r
-       Object pr = af.getViewport().getAlignment().getProperty("AC");\r
-       if (pr!=null) { System.out.println("Accession = "+(String) pr); }\r
-       af.selectAllSequenceMenuItem_actionPerformed(null)\r
-           def boolean done = false;\r
-       // Just try to save - don\'t mess around with clipboard\r
-       /*while (!done) {\r
-         try {\r
-         af.copy_actionPerformed(null)\r
-         done = true;\r
-         } catch (Exception e) {\r
-         Thread.sleep(100); // wait until clipboard might be available again\r
-         }\r
-         }*/\r
-       if (af==null) { return false; }\r
-       waitTillSettled(af);\r
-       // Try and save as a jalview project and reload\r
-       try {\r
-           //      af.saveAlignment(safename, "Jalview")\r
-           new Jalview2XML().SaveState(new java.io.File(safename));\r
-           Thread.sleep(100);\r
-               } catch (Exception ex) { \r
-                   System.out.println("Couldn\'t save.");\r
-                   ex.printStackTrace(System.err);\r
-                   return false;\r
-               }\r
-       waitTillSettled(af);\r
-       try {\r
-           Desktop.instance.closeAll_actionPerformed(null);\r
-       } catch (Exception ex) {}\r
-       System.gc();\r
-       try {\r
-           af = new FileLoader(false).LoadFileWaitTillLoaded(safename, FormatAdapter.FILE);    \r
-       } \r
-       catch (Exception ex) {\r
-           System.out.println("Couldn't reload saved file.");\r
-            System.gc();\r
-           return false;\r
-       }\r
-       waitTillSettled(af);\r
-\r
-       Desktop.instance.closeAll_actionPerformed(null);\r
-\r
-       // af.paste(true)\r
-       // af.newView_actionPerformed(null)\r
-       // af.newView_actionPerformed(null)\r
-\r
-       return true;\r
-    }\r
-    def public boolean TestForAll(String dir) {\r
-       println "For directory or file : "+dir;\r
-       File fd = new File(dir);\r
-       if (!fd.isDirectory()) { return doSequentialReadTest(dir); }\r
-       fd.eachFile() { file -> TestForAll(file.getAbsolutePath()) };\r
-    }\r
-}\r
-def JvLoadTest newJvLoadTest(String tempFile) {\r
-       jalview.gui.Desktop.instance.closeAll_actionPerformed(null);\r
-       System.gc();\r
-       jalview.gui.Desktop.instance.desktop.showMemoryUsage(true);\r
-       return new JvLoadTest(tempFile)\r
+import jalview.gui.*;
+import jalview.io.*;
+
+def class JvLoadTest {
+    FileLoader fl = null;
+    def String safename = null;
+    JvLoadTest(String sname) { 
+       if (!new File(sname).exists() || new File(sname).canWrite())
+           {
+               safename = sname;
+           } else {
+               System.err.println("Warning : "+sname+" isn't being used to store temporary files.");
+           }   
+    }
+    def public boolean doTest (file) {
+       fl = new FileLoader(false);
+       System.gc();
+       AlignFrame af = fl.LoadFileWaitTillLoaded(file
+                                                 ,FormatAdapter.FILE);
+       return doTest(af);
+    }
+    def public boolean doSequentialReadTest (file) {
+       return doSequentialReadTest(file, 0);
+    }
+    // Return true if there is more data to read.
+    def public boolean peekFp(FileParse fp) {
+       try { fp.mark(); }  catch (Exception ex) { System.err.println("FAILED mark."+ex); return false; };
+       try {
+         def String nl;
+         for (i in 1..3) { 
+          nl = fp.nextLine();
+          if (nl==null) { return false; }
+          System.out.println(nl +"\\n");
+          }
+       } catch (Exception e) { // end of file.
+               return false; };
+       try { fp.reset(); } catch (Exception ex) { System.err.println("FAILED rewind."+ex); return false; };
+       return true;
+    }
+    /*
+      Halt after loading the mx'th entry in the filestream
+    */
+    def public boolean doSequentialReadTest (file, int mx) {
+       // first properly open the file
+       //      if (!doTest(file)) { return };
+       def FileParse fp = null;
+       try {
+               fp = new FileParse(file, AppletFormatAdapter.FILE);
+       } catch (Exception e) { System.err.println("Couldn't open "+file+"\\n"); e.printStackTrace(); return false;};
+       Desktop.instance.closeAll_actionPerformed(null)
+           System.gc();
+       while (fp!=null && fp.isValid() && (mx==0 || mx!=fp.index)) {
+           if (!peekFp(fp)) return false;
+           fl = new FileLoader(false);
+           AlignFrame af = fl.LoadFileWaitTillLoaded(fp, null);
+           System.out.println("FileParse index: "+fp.index);   
+           if (af!=null && (mx==0 || mx!=fp.index))
+               {       def boolean res = doTest(af);
+               if (!res)
+                   {
+                       // return false;
+                   }
+               } else {
+                   // return false;
+               }
+       }
+       return true;
+    }
+    def public void waitTillSettled(AlignFrame af)
+    {
+       if (af==null) { return; }
+       Thread.sleep(10);
+       while (af.getViewport().updatingConsensus || af.getViewport().updatingConservation) {
+           Thread.sleep(150); // wait until things settle down
+       }
+    }
+    def public boolean doTest(AlignFrame af) {
+       Object pr = af.getViewport().getAlignment().getProperty("AC");
+       if (pr!=null) { System.out.println("Accession = "+(String) pr); }
+       af.selectAllSequenceMenuItem_actionPerformed(null)
+           def boolean done = false;
+       // Just try to save - don\'t mess around with clipboard
+       /*while (!done) {
+         try {
+         af.copy_actionPerformed(null)
+         done = true;
+         } catch (Exception e) {
+         Thread.sleep(100); // wait until clipboard might be available again
+         }
+         }*/
+       if (af==null) { return false; }
+       waitTillSettled(af);
+       // Try and save as a jalview project and reload
+       try {
+           //      af.saveAlignment(safename, "Jalview")
+           new Jalview2XML().SaveState(new java.io.File(safename));
+           Thread.sleep(100);
+               } catch (Exception ex) { 
+                   System.out.println("Couldn\'t save.");
+                   ex.printStackTrace(System.err);
+                   return false;
+               }
+       waitTillSettled(af);
+       try {
+           Desktop.instance.closeAll_actionPerformed(null);
+       } catch (Exception ex) {}
+       System.gc();
+       try {
+           af = new FileLoader(false).LoadFileWaitTillLoaded(safename, FormatAdapter.FILE);    
+       } 
+       catch (Exception ex) {
+           System.out.println("Couldn't reload saved file.");
+            System.gc();
+           return false;
+       }
+       waitTillSettled(af);
+
+       Desktop.instance.closeAll_actionPerformed(null);
+
+       // af.paste(true)
+       // af.newView_actionPerformed(null)
+       // af.newView_actionPerformed(null)
+
+       return true;
+    }
+    def public boolean TestForAll(String dir) {
+       println "For directory or file : "+dir;
+       File fd = new File(dir);
+       if (!fd.isDirectory()) { return doSequentialReadTest(dir); }
+       fd.eachFile() { file -> TestForAll(file.getAbsolutePath()) };
+    }
+}
+def JvLoadTest newJvLoadTest(String tempFile) {
+       jalview.gui.Desktop.instance.closeAll_actionPerformed(null);
+       System.gc();
+       jalview.gui.Desktop.instance.desktop.showMemoryUsage(true);
+       return new JvLoadTest(tempFile)
 }
\ No newline at end of file
index 8fe91db..5a2166d 100644 (file)
@@ -1,12 +1,12 @@
-// do something groovy in jalview\r
-print "Hello World.\n";\r
-def alf = Jalview.getAlignframes();\r
-for (ala in alf)\r
-{\r
-       // ala is an jalview.gui.AlignFrame object \r
-       print ala.getTitle()+"\n";\r
-       // get the parent jalview.datamodel.Alignment from the alignment viewport\r
-       def alignment = ala.viewport.alignment;\r
-       // get the first sequence from the jalview.datamodel.Alignment object\r
-       def seq = alignment.getSequenceAt(0); \r
-}\r
+// do something groovy in jalview
+print "Hello World.\n";
+def alf = Jalview.getAlignframes();
+for (ala in alf)
+{
+       // ala is an jalview.gui.AlignFrame object 
+       print ala.getTitle()+"\n";
+       // get the parent jalview.datamodel.Alignment from the alignment viewport
+       def alignment = ala.viewport.alignment;
+       // get the first sequence from the jalview.datamodel.Alignment object
+       def seq = alignment.getSequenceAt(0); 
+}
index 3b93622..e19c0be 100644 (file)
@@ -1,16 +1,16 @@
-/**\r
- * Copyright 2010 Tim Down.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
+/**
+ * Copyright 2010 Tim Down.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();
\ No newline at end of file
index 6962276..fbc3638 100644 (file)
-/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson\r
-\r
- checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm\r
-\r
-    based on:\r
- *\r
- * Copyright (C) 2004-2005  Miguel, Jmol Development, www.jmol.org\r
- *\r
- * Contact: hansonr@stolaf.edu\r
- *\r
- *  This library is free software; you can redistribute it and/or\r
- *  modify it under the terms of the GNU Lesser General Public\r
- *  License as published by the Free Software Foundation; either\r
- *  version 2.1 of the License, or (at your option) any later version.\r
- *\r
- *  This library is distributed in the hope that it will be useful,\r
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
- *  Lesser General Public License for more details.\r
- *\r
- *  You should have received a copy of the GNU Lesser General Public\r
- *  License along with this library; if not, write to the Free Software\r
- *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA\r
- *  02111-1307  USA.\r
- */\r
-\r
-// for documentation see www.jmol.org/jslibrary\r
-\r
-try{if(typeof(_jmol)!="undefined")exit()\r
-\r
-// place "?NOAPPLET" on your command line to check applet control action with a textarea\r
-// place "?JMOLJAR=xxxxx" to use a specific jar file\r
-\r
-// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)\r
-//    angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet\r
-// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007\r
-// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006\r
-// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006\r
-// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006\r
-// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006\r
-// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.\r
-// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006\r
-// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006\r
-// bob hanson -- fix for iframes not available for finding applet\r
-// bob hanson -- added applet fake ?NOAPPLET URL flag\r
-// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006\r
-//                     used PRIOR to jmolApplet() or jmolAppletInline()\r
-//               added 4th array element in jmolRadioGroup -- title\r
-//               added <span> and id around link, checkbox, radio, menu\r
-//               fixing AJAX loads for MSIE/Opera-Mozilla incompatibility\r
-//            -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar\r
-//              renamed Jmol.js for Jmol 11 distribution\r
-//            -- modified jmolRestoreOrientation() to be immediate, no 1-second delay\r
-// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006\r
-// bh         -- jmolCommandInput()\r
-// bh         -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues\r
-// bh         -- minor fixes suggested by Angel\r
-// bh         -- adds jmolSetSyncId() and jmolGetSyncId()\r
-// bh 3/2008  -- adds jmolAppendInlineScript() and jmolAppendInlineArray()\r
-// bh 3/2008  -- fixes IE7 bug in relation to jmolLoadInlineArray()\r
-// bh 6/2008  -- adds jmolSetAppletWindow()\r
-// Angel H. 6/2008  -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]\r
-// bh 7/2008  -- code fix "for(i..." not "for(var i..."\r
-// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)\r
-// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console\r
-\r
-// bh 5/2009  -- Support for XHTML using jmolSetXHTML(id)\r
-// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax\r
-// bh 11/2009 -- care in accessing top.document\r
-// bh 12/2009 -- added jmolSetParameter(name, value)\r
-// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line\r
-// bh 12/2009 -- overhaul of target checking\r
-// bh 1/2010  -- all _xxxx() methods ALWAYS have complete argument list\r
-// bh 1/2010  -- adds option to run a JavaScript function from any Jmol control. \r
-//               This is accomplished by passing an array rather than a script:\r
-//               jmolHref([myfunc,"my param 1", "my param 2"], "testing")\r
-//               function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}\r
-//               and allows much more flexibility with responding to controls\r
-// bh 4/2010  -- added jmolSetMemoryMb(nMb)\r
-// ah 1/2011  -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; \r
-//               fix of object tag (removed classid) accounts for change of behavior in Chrome\r
-// bh 3/2011  -- added jmolLoadAjax_STOLAF_NIH\r
-\r
-var defaultdir = "."\r
-var defaultjar = "JmolApplet.jar"\r
-\r
-\r
-// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:\r
-\r
-// JMOLJAR=xxxxx.jar on the URL for this page will override\r
-// the JAR file specified in the jmolInitialize() call.\r
-\r
-// The idea is that it can be very useful to test a web page with different JAR files\r
-// Or for an expert user to substitute a signed applet for an unsigned one\r
-// so as to use a broader range of models or to create JPEG files, for example.\r
-\r
-// If the JAR file is not in the current directory (has any sort of "/" in its name)\r
-// then the user is presented with a warning and asked whether it is OK to change Jar files.\r
-// The default action, if the user just presses "OK" is to NOT allow the change. \r
-// The user must type the word "yes" in the prompt box for the change to be approved.\r
-\r
-// If you don't want people to be able to switch in their own JAR file on your page,\r
-// simply set this next line to read "var allowJMOLJAR = false".\r
-\r
-\r
-var undefined; // for IE 5 ... wherein undefined is undefined\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Basic Scripting infrastruture\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {\r
-  if (_jmol.initialized)\r
-    return;\r
-  _jmol.initialized = true;\r
-  if(_jmol.jmoljar) {\r
-    var f = _jmol.jmoljar;\r
-    if (f.indexOf("/") >= 0) {\r
-      alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")\r
-      var ok = prompt("Do you want to use applet " + f + "? ","yes or no")\r
-      if (ok == "yes") {\r
-        codebaseDirectory = f.substring(0, f.lastIndexOf("/"));\r
-        fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);\r
-      } else {\r
-       _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
-        alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');\r
-      }\r
-    } else {\r
-      fileNameOrUseSignedApplet = f;\r
-    }\r
-  }\r
-  _jmolSetCodebase(codebaseDirectory);\r
-  _jmolGetJarFilename(fileNameOrUseSignedApplet);\r
-  _jmolOnloadResetForms();\r
-}\r
-\r
-function jmolSetTranslation(TF) {\r
-  _jmol.params.doTranslate = ''+TF;\r
-}\r
-\r
-function _jmolGetJarFilename(fileNameOrFlag) {\r
-  _jmol.archivePath =\r
-    (typeof(fileNameOrFlag) == "string"  ? fileNameOrFlag : (fileNameOrFlag ?  "JmolAppletSigned" : "JmolApplet") + "0.jar");\r
-}\r
-\r
-function jmolSetDocument(doc) {\r
-  _jmol.currentDocument = doc;\r
-}\r
-\r
-function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {\r
-  _jmolInitCheck();\r
-  _jmol.params.boxbgcolor = boxbgcolor;\r
-  if (boxfgcolor)\r
-    _jmol.params.boxfgcolor = boxfgcolor\r
-  else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")\r
-    _jmol.params.boxfgcolor = "black";\r
-  else\r
-    _jmol.params.boxfgcolor = "white";\r
-  if (progresscolor)\r
-    _jmol.params.progresscolor = progresscolor;\r
-  if (_jmol.debugAlert)\r
-    alert(" boxbgcolor=" + _jmol.params.boxbgcolor +\r
-          " boxfgcolor=" + _jmol.params.boxfgcolor +\r
-          " progresscolor=" + _jmol.params.progresscolor);\r
-}\r
-\r
-function jmolSetAppletWindow(w) {\r
-  _jmol.appletWindow = w;\r
-}\r
-\r
-function jmolApplet(size, script, nameSuffix) {\r
-  _jmolInitCheck();\r
-  return _jmolApplet(size, null, script, nameSuffix);\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Basic controls\r
-////////////////////////////////////////////////////////////////\r
-\r
-// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)\r
-\r
-function jmolButton(script, label, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);\r
-  label != undefined && label != null || (label = script.substring(0, 32));\r
-  ++_jmol.buttonCount;\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +\r
-          "' value='" + label +\r
-          "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +\r
-          ")' onmouseover='_jmolMouseOver(" + scriptIndex +\r
-          ");return true' onmouseout='_jmolMouseOut()' " +\r
-          _jmol.buttonCssText + " /></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,\r
-                      labelHtml, isChecked, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);\r
-  ++_jmol.checkboxCount;\r
-  if (scriptWhenChecked == undefined || scriptWhenChecked == null ||\r
-      scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {\r
-    alert("jmolCheckbox requires two scripts");\r
-    return;\r
-  }\r
-  if (labelHtml == undefined || labelHtml == null) {\r
-    alert("jmolCheckbox requires a label");\r
-    return;\r
-  }\r
-  var indexChecked = _jmolAddScript(scriptWhenChecked);\r
-  var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);\r
-  var eospan = "</span>"\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +\r
-          "' onclick='_jmolCbClick(this," +\r
-          indexChecked + "," + indexUnchecked + _jmol.targetText +\r
-          ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +\r
-          indexUnchecked +\r
-          ");return true' onmouseout='_jmolMouseOut()' " +\r
-         (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" \r
-  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
-       t += eospan\r
-       eospan = "";\r
-  }\r
-  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolStartNewRadioGroup() {\r
-  ++_jmol.radioGroupCount;\r
-}\r
-\r
-function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {\r
-  /*\r
-\r
-    array: [radio1,radio2,radio3...]\r
-    where radioN = ["script","label",isSelected,"id","title"]\r
-\r
-  */\r
-\r
-  _jmolInitCheck();\r
-  var type = typeof arrayOfRadioButtons;\r
-  if (type != "object" || type == null || ! arrayOfRadioButtons.length) {\r
-    alert("invalid arrayOfRadioButtons");\r
-    return;\r
-  }\r
-  separatorHtml != undefined && separatorHtml != null || (separatorHtml = "&nbsp; ");\r
-  var len = arrayOfRadioButtons.length;\r
-  jmolStartNewRadioGroup();\r
-  groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
-  var t = "<span id='"+(id ? id : groupName)+"'>";\r
-  for (var i = 0; i < len; ++i) {\r
-    if (i == len - 1)\r
-      separatorHtml = "";\r
-    var radio = arrayOfRadioButtons[i];\r
-    type = typeof radio;\r
-    if (type == "object") {\r
-      t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);\r
-    } else {\r
-      t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);\r
-    }\r
-  }\r
-  t+="</span>"\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-\r
-function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
-  _jmolInitCheck();\r
-  if (_jmol.radioGroupCount == 0)\r
-    ++_jmol.radioGroupCount;\r
-  var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolLink(script, label, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);\r
-  label != undefined && label != null || (label = script.substring(0, 32));\r
-  ++_jmol.linkCount;\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + \r
-          "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +\r
-          ");return true;' onmouseout='_jmolMouseOut()' " +\r
-          _jmol.linkCssText + ">" + label + "</a></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function jmolCommandInput(label, size, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);\r
-  label != undefined && label != null || (label = "Execute");\r
-  size != undefined && !isNaN(size) || (size = 60);\r
-  ++_jmol.cmdCount;\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + \r
-          "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";\r
-  if (_jmol.debugAlert)\r
-    alert(t);\r
-  return _jmolDocumentWrite(t);\r
-}\r
-\r
-function _jmolCommandKeyPress(e, id, target) {\r
-       var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);\r
-       if (keycode == 13) {\r
-               var inputBox = document.getElementById(id)\r
-               _jmolScriptExecute(inputBox, inputBox.value, target)\r
-       }\r
-}\r
-\r
-function _jmolScriptExecute(element,script,target) {\r
-       if (typeof(script) == "object")\r
-               script[0](element, script, target)\r
-       else\r
-               jmolScript(script, target) \r
-}\r
-\r
-function jmolMenu(arrayOfMenuItems, size, id, title) {\r
-  _jmolInitCheck();\r
-  id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);\r
-  ++_jmol.menuCount;\r
-  var type = typeof arrayOfMenuItems;\r
-  if (type != null && type == "object" && arrayOfMenuItems.length) {\r
-    var len = arrayOfMenuItems.length;\r
-    if (typeof size != "number" || size == 1)\r
-      size = null;\r
-    else if (size < 0)\r
-      size = len;\r
-    var sizeText = size ? " size='" + size + "' " : "";\r
-    var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +\r
-            "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +\r
-            sizeText + _jmol.menuCssText + ">";\r
-    for (var i = 0; i < len; ++i) {\r
-      var menuItem = arrayOfMenuItems[i];\r
-      type = typeof menuItem;\r
-      var script, text;\r
-      var isSelected = undefined;\r
-      if (type == "object" && menuItem != null) {\r
-        script = menuItem[0];\r
-        text = menuItem[1];\r
-        isSelected = menuItem[2];\r
-      } else {\r
-        script = text = menuItem;\r
-      }\r
-      text != undefined && text != null || (text = script);            \r
-      if (script=="#optgroup") {\r
-        t += "<optgroup label='" + text + "'>";          \r
-         } else if (script=="#optgroupEnd") {\r
-        t += "</optgroup>";      \r
-         } else {              \r
-        var scriptIndex = _jmolAddScript(script);\r
-        var selectedText = isSelected ? "' selected='true'>" : "'>";\r
-        t += "<option value='" + scriptIndex + selectedText + text + "</option>";\r
-      }\r
-    }\r
-    t += "</select></span>";\r
-    if (_jmol.debugAlert)\r
-      alert(t);\r
-    return _jmolDocumentWrite(t);\r
-  }\r
-}\r
-\r
-function jmolHtml(html) {\r
-  return _jmolDocumentWrite(html);\r
-}\r
-\r
-function jmolBr() {\r
-  return _jmolDocumentWrite("<br />");\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// advanced scripting functions\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolDebugAlert(enableAlerts) {\r
-  _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)\r
-}\r
-\r
-function jmolAppletInline(size, inlineModel, script, nameSuffix) {\r
-  _jmolInitCheck();\r
-  return _jmolApplet(size, _jmolSterilizeInline(inlineModel),\r
-                     script, nameSuffix);\r
-}\r
-\r
-function jmolSetTarget(targetSuffix) {\r
-  _jmol.targetSuffix = targetSuffix;\r
-  _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";\r
-}\r
-\r
-function jmolScript(script, targetSuffix) {\r
-  if (script) {\r
-    _jmolCheckBrowser();\r
-    if (targetSuffix == "all") {\r
-      with (_jmol) {\r
-       for (var i = 0; i < appletSuffixes.length; ++i) {\r
-         var applet = _jmolGetApplet(appletSuffixes[i]);\r
-          if (applet) applet.script(script);\r
-        }\r
-      }\r
-    } else {\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.script(script);\r
-    }\r
-  }\r
-}\r
-\r
-function jmolLoadInline(model, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  if (typeof(model) == "string")\r
-    return applet.loadInlineString(model, "", false);\r
-  else\r
-    return applet.loadInlineArray(model, "", false);\r
-}\r
-\r
-\r
-function jmolLoadInlineScript(model, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  return applet.loadInlineString(model, script, false);\r
-}\r
-\r
-\r
-function jmolLoadInlineArray(ModelArray, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  script || (script="")\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  try {\r
-    return applet.loadInlineArray(ModelArray, script, false);\r
-  } catch (err) {\r
-    //IE 7 bug\r
-    return applet.loadInlineString(ModelArray.join("\n"), script, false);\r
-  }\r
-}\r
-\r
-function jmolAppendInlineArray(ModelArray, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  script || (script="")\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  try {\r
-    return applet.loadInlineArray(ModelArray, script, true);\r
-  } catch (err) {\r
-    //IE 7 bug\r
-    return applet.loadInlineString(ModelArray.join("\n"), script, true);\r
-  }\r
-}\r
-\r
-function jmolAppendInlineScript(model, script, targetSuffix) {\r
-  if (!model)return "ERROR: NO MODEL"\r
-  var applet=_jmolGetApplet(targetSuffix);\r
-  if (!applet)return "ERROR: NO APPLET"\r
-  return applet.loadInlineString(model, script, true);\r
-}\r
-\r
-function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {\r
-  if (typeof action == "string") {\r
-    action = action.toLowerCase();\r
-    action == "alert" || action == "redirect" || action == "popup" || (action = null);\r
-  }\r
-  if (typeof action != "string")\r
-    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
-          "action must be 'alert', 'redirect', or 'popup'");\r
-  else {\r
-    if (typeof urlOrMessage != "string")\r
-      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +\r
-            "urlOrMessage must be a string");\r
-    else {\r
-      _jmol.checkBrowserAction = action;\r
-      _jmol.checkBrowserUrlOrMessage = urlOrMessage;\r
-    }\r
-  }\r
-  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")\r
-    _jmolCheckBrowser();\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// Cascading Style Sheet Class support\r
-////////////////////////////////////////////////////////////////\r
-\r
-function jmolSetAppletCssClass(appletCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.appletCssClass = appletCssClass;\r
-    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetButtonCssClass(buttonCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.buttonCssClass = buttonCssClass;\r
-    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetCheckboxCssClass(checkboxCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.checkboxCssClass = checkboxCssClass;\r
-    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetRadioCssClass(radioCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.radioCssClass = radioCssClass;\r
-    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetLinkCssClass(linkCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.linkCssClass = linkCssClass;\r
-    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-function jmolSetMenuCssClass(menuCssClass) {\r
-  if (_jmol.hasGetElementById) {\r
-    _jmol.menuCssClass = menuCssClass;\r
-    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";\r
-  }\r
-}\r
-\r
-////////////////////////////////////////////////////////////////\r
-// functions for INTERNAL USE ONLY which are subject to change\r
-// use at your own risk ... you have been WARNED!\r
-////////////////////////////////////////////////////////////////\r
-var _jmol = {\r
-  currentDocument: document,\r
-\r
-  debugAlert: false,\r
-  \r
-  codebase: "",\r
-  modelbase: ".",\r
-  \r
-  appletCount: 0,\r
-  appletSuffixes: [],\r
-  appletWindow: null,\r
-  allowedJmolSize: [25, 2048, 300],   // min, max, default (pixels)\r
-         /*  By setting the _jmol.allowedJmolSize[] variable in the webpage \r
-             before calling jmolApplet(), limits for applet size can be overriden.\r
-                   2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)\r
-         */  \r
-  buttonCount: 0,\r
-  checkboxCount: 0,\r
-  linkCount: 0,\r
-  cmdCount: 0,\r
-  menuCount: 0,\r
-  radioCount: 0,\r
-  radioGroupCount: 0,\r
-  \r
-  appletCssClass: null,\r
-  appletCssText: "",\r
-  buttonCssClass: null,\r
-  buttonCssText: "",\r
-  checkboxCssClass: null,\r
-  checkboxCssText: "",\r
-  java_arguments: "-Xmx512m",\r
-  radioCssClass: null,\r
-  radioCssText: "",\r
-  linkCssClass: null,\r
-  linkCssText: "",\r
-  menuCssClass: null,\r
-  menuCssText: "",\r
-  \r
-  targetSuffix: 0,\r
-  targetText: ",0",\r
-  scripts: [""],\r
-  params: {\r
-       syncId: ("" + Math.random()).substring(3),\r
-       progressbar: "true",\r
-       progresscolor: "blue",\r
-       boxbgcolor: "black",\r
-       boxfgcolor: "white",\r
-       boxmessage: "Downloading JmolApplet ..."\r
-  },\r
-  ua: navigator.userAgent.toLowerCase(),\r
-  // uaVersion: parseFloat(navigator.appVersion),  // not used\r
-  \r
-  os: "unknown",\r
-  browser: "unknown",\r
-  browserVersion: 0,\r
-  hasGetElementById: !!document.getElementById,\r
-  isJavaEnabled: navigator.javaEnabled(),\r
-  // isNetscape47Win: false,  // not used, N4.7 is no longer supported even for detection\r
-  useIEObject: false,\r
-  useHtml4Object: false,\r
-  \r
-  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",\r
-  windowsCabUrl:\r
-   "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",\r
-\r
-  isBrowserCompliant: false,\r
-  isJavaCompliant: false,\r
-  isFullyCompliant: false,\r
-\r
-  initialized: false,\r
-  initChecked: false,\r
-  \r
-  browserChecked: false,\r
-  checkBrowserAction: "alert",\r
-  checkBrowserUrlOrMessage: null,\r
-\r
-  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar\r
-\r
-  previousOnloadHandler: null,\r
-\r
-  jmoljar: null,  \r
-  useNoApplet: false,\r
-\r
-  ready: {}\r
-}\r
-\r
-with (_jmol) {\r
-  function _jmolTestUA(candidate) {\r
-    var ua = _jmol.ua;\r
-    var index = ua.indexOf(candidate);\r
-    if (index < 0)\r
-      return false;\r
-    _jmol.browser = candidate;\r
-    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));\r
-    return true;\r
-  }\r
-  \r
-  function _jmolTestOS(candidate) {\r
-    if (_jmol.ua.indexOf(candidate) < 0)\r
-      return false;\r
-    _jmol.os = candidate;\r
-    return true;\r
-  }\r
-  \r
-  _jmolTestUA("konqueror") ||\r
-  _jmolTestUA("webkit") ||\r
-  _jmolTestUA("omniweb") ||\r
-  _jmolTestUA("opera") ||\r
-  _jmolTestUA("webtv") ||\r
-  _jmolTestUA("icab") ||\r
-  _jmolTestUA("msie") ||\r
-  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated\r
-  \r
-  _jmolTestOS("linux") ||\r
-  _jmolTestOS("unix") ||\r
-  _jmolTestOS("mac") ||\r
-  _jmolTestOS("win");\r
-\r
-  /* not used:\r
-       isNetscape47Win = (os == "win" && browser == "mozilla" &&\r
-                     browserVersion >= 4.78 && browserVersion <= 4.8);\r
-       */\r
-\r
-  if (os == "win") {\r
-    isBrowserCompliant = hasGetElementById;\r
-  } else if (os == "mac") { // mac is the problem child :-(\r
-    if (browser == "mozilla" && browserVersion >= 5) {\r
-      // miguel 2004 11 17\r
-      // checking the plugins array does not work because\r
-      // Netscape 7.2 OS X still has Java 1.3.1 listed even though\r
-      // javaplugin.sf.net is installed to upgrade to 1.4.2\r
-      eval("try {var v = java.lang.System.getProperty('java.version');" +\r
-           " _jmol.isBrowserCompliant = v >= '1.4.2';" +\r
-           " } catch (e) { }");\r
-    } else if (browser == "opera" && browserVersion <= 7.54) {\r
-      isBrowserCompliant = false;\r
-    } else {\r
-      isBrowserCompliant = hasGetElementById &&\r
-        !((browser == "msie") ||\r
-          (browser == "webkit" && browserVersion < 125.12));\r
-    }\r
-  } else if (os == "linux" || os == "unix") {\r
-    if (browser == "konqueror" && browserVersion <= 3.3)\r
-      isBrowserCompliant = false;\r
-    else\r
-      isBrowserCompliant = hasGetElementById;\r
-  } else { // other OS\r
-    isBrowserCompliant = hasGetElementById;\r
-  }\r
-\r
-  // possibly more checks in the future for this\r
-  isJavaCompliant = isJavaEnabled;\r
-\r
-  isFullyCompliant = isBrowserCompliant && isJavaCompliant;\r
-\r
-  useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);\r
-  useHtml4Object =\r
-   (browser == "mozilla" && browserVersion >= 5) ||\r
-   (browser == "opera" && browserVersion >= 8) ||\r
-   (browser == "webkit" && browserVersion >= 412.2);\r
- try {\r
-  if (top.location.search.indexOf("JMOLJAR=")>=0)\r
-    jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];\r
- } catch(e) {\r
-  // can't access top.location\r
- }\r
- try {\r
-  useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);\r
- } catch(e) {\r
-  // can't access top.document\r
- }\r
-}\r
-\r
-function jmolSetMemoryMb(nMb) {\r
-  _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"\r
-}\r
-\r
-function jmolSetParameter(name,value) {\r
-  _jmol.params[name] = value\r
-}\r
-\r
-function jmolSetCallback(callbackName,funcName) {\r
-  _jmol.params[callbackName] = funcName\r
-}\r
-\r
- try {\r
-// note this is done FIRST, so it cannot override a setting done by the developer\r
-  if (top.location.search.indexOf("PARAMS=")>=0) {\r
-    var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");\r
-    for (var i = 0; i < pars.length; i++) {\r
-      var p = pars[i].split(":");\r
-      jmolSetParameter(p[0],p[1]);\r
-    }\r
-  }\r
- } catch(e) {\r
-  // can't access top.location\r
- }\r
-\r
-function jmolSetSyncId(n) {\r
-  return _jmol.params["syncId"] = n\r
-}\r
-\r
-function jmolGetSyncId() {\r
-  return _jmol.params["syncId"]\r
-}\r
-\r
-function jmolSetLogLevel(n) {\r
-  _jmol.params.logLevel = ''+n;\r
-}\r
-\r
-       /*  AngelH, mar2007:\r
-               By (re)setting these variables in the webpage before calling jmolApplet(), \r
-               a custom message can be provided (e.g. localized for user's language) when no Java is installed.\r
-       */\r
-if (noJavaMsg==undefined) var noJavaMsg = \r
-        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +\r
-        "Check the warning message from your browser and/or enable Java applets in<br />\n" +\r
-        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";\r
-if (noJavaMsg2==undefined) var noJavaMsg2 = \r
-        "You do not have the<br />\n" +\r
-        "Java Runtime Environment<br />\n" +\r
-        "installed for applet support.<br />\n" +\r
-        "Visit <a href='http://www.java.com'>www.java.com</a>";\r
-function _jmolApplet(size, inlineModel, script, nameSuffix) {\r
-       /*  AngelH, mar2007\r
-               Fixed percent / pixel business, to avoid browser errors:\r
-               put "px" where needed, avoid where not.\r
-\r
-           Bob Hanson, 1/2010\r
-               Fixed inline escape changing returns to |               \r
-       */\r
-  with (_jmol) {\r
-    nameSuffix == undefined && (nameSuffix = appletCount);\r
-    appletSuffixes.push(nameSuffix);\r
-    ++appletCount;\r
-    script || (script = "select *");\r
-    var sz = _jmolGetAppletSize(size);\r
-    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";\r
-    var tHeader, tFooter;\r
-    codebase || jmolInitialize(".");\r
-    if (useIEObject || useHtml4Object) {\r
-      params.archive = archivePath;\r
-      params.mayscript = 'true';\r
-      params.codebase = codebase;\r
-      params.code = 'JmolApplet';\r
-      tHeader = \r
-        "<object name='jmolApplet" + nameSuffix +\r
-        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
-                               widthAndHeight + "\n";\r
-      tFooter = "</object>";\r
-    }\r
-    if (java_arguments)\r
-      params.java_arguments = java_arguments;\r
-    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference\r
-      tHeader += " classid='" + windowsClassId + "'\n" +\r
-      (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";\r
-    } else if (useHtml4Object) { // use HTML4 object tag\r
-      tHeader += " type='application/x-java-applet'\n>\n";\r
-                               /*      " classid='java:JmolApplet'\n" +        AH removed this\r
-                                 Chromium Issue 62076:         Java Applets using an <object> with a classid paramater don't load.\r
-                                       http://code.google.com/p/chromium/issues/detail?id=62076\r
-                                       They say this is the correct behavior according to the spec, and there's no indication at this point \r
-                                       that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.\r
-                                       Removing the classid parameter seems to be well tolerated by all browsers (even IE!).\r
-                               */\r
-    } else { // use applet tag\r
-      tHeader = \r
-        "<applet name='jmolApplet" + nameSuffix +\r
-        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +\r
-                               widthAndHeight + "\n" +\r
-        " code='JmolApplet'" +\r
-        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +\r
-        " mayscript='true'>\n";\r
-      tFooter = "</applet>";\r
-    }\r
-    var visitJava;\r
-    if (useIEObject || useHtml4Object) {\r
-               var szX = "width:" + sz[0]\r
-               if ( szX.indexOf("%")==-1 ) szX+="px" \r
-               var szY = "height:" + sz[1]\r
-               if ( szY.indexOf("%")==-1 ) szY+="px" \r
-      visitJava =\r
-        "<p style='background-color:yellow; color:black; " +\r
-               szX + ";" + szY + ";" +\r
-        // why doesn't this vertical-align work?\r
-       "text-align:center;vertical-align:middle;'>\n" +\r
-               noJavaMsg +\r
-        "</p>";\r
-    } else {\r
-      visitJava =\r
-        "<table bgcolor='yellow'><tr>" +\r
-        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +\r
-               noJavaMsg2 +\r
-        "</font></td></tr></table>";\r
-    }\r
-    params.loadInline = (inlineModel ? inlineModel : "");\r
-    params.script = (script ? _jmolSterilizeScript(script) : "");\r
-    var t = tHeader + _jmolParams() + visitJava + tFooter;\r
-    jmolSetTarget(nameSuffix);\r
-    ready["jmolApplet" + nameSuffix] = false;\r
-    if (_jmol.debugAlert)\r
-      alert(t);\r
-    return _jmolDocumentWrite(t);\r
-  }\r
-}\r
-\r
-function _jmolParams() {\r
- var t = "";\r
- for (var i in _jmol.params)\r
-       if(_jmol.params[i]!="")\r
-                t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";\r
- return t\r
-}\r
-\r
-function _jmolInitCheck() {\r
-  if (_jmol.initChecked)\r
-    return;\r
-  _jmol.initChecked = true;\r
-  jmolInitialize(defaultdir, defaultjar)\r
-}\r
-\r
-function _jmolCheckBrowser() {\r
-  with (_jmol) {\r
-    if (browserChecked)\r
-      return;\r
-    browserChecked = true;\r
-  \r
-    if (isFullyCompliant)\r
-      return true;\r
-\r
-    if (checkBrowserAction == "redirect")\r
-      location.href = checkBrowserUrlOrMessage;\r
-    else if (checkBrowserAction == "popup")\r
-      _jmolPopup(checkBrowserUrlOrMessage);\r
-    else {\r
-      var msg = checkBrowserUrlOrMessage;\r
-      if (msg == null)\r
-        msg = "Your web browser is not fully compatible with Jmol\n\n" +\r
-              "browser: " + browser +\r
-              "   version: " + browserVersion +\r
-              "   os: " + os +\r
-              "   isBrowserCompliant: " + isBrowserCompliant +\r
-              "   isJavaCompliant: " + isJavaCompliant +\r
-              "\n\n" + ua;\r
-      alert(msg);\r
-    }\r
-  }\r
-  return false;\r
-}\r
-\r
-function jmolSetXHTML(id) {\r
-       _jmol.isXHTML = true\r
-       _jmol.XhtmlElement = null\r
-       _jmol.XhtmlAppendChild = false\r
-       if (id){\r
-               _jmol.XhtmlElement = document.getElementById(id)\r
-               _jmol.XhtmlAppendChild = true\r
-       }\r
-}\r
-\r
-function _jmolDocumentWrite(text) {\r
-       if (_jmol.currentDocument) {\r
-               if (_jmol.isXHTML && !_jmol.XhtmlElement) {\r
-                       var s = document.getElementsByTagName("script")\r
-                       _jmol.XhtmlElement = s.item(s.length - 1)\r
-                       _jmol.XhtmlAppendChild = false\r
-               }\r
-               if (_jmol.XhtmlElement) {\r
-                       _jmolDomDocumentWrite(text)\r
-               } else {\r
-                       _jmol.currentDocument.write(text);\r
-               }\r
-       }\r
-       return text;\r
-}\r
-\r
-function _jmolDomDocumentWrite(data) {\r
-       var pt = 0\r
-       var Ptr = []\r
-       Ptr[0] = 0\r
-       while (Ptr[0] < data.length) {\r
-               var child = _jmolGetDomElement(data, Ptr)\r
-               if (!child)break\r
-               if (_jmol.XhtmlAppendChild)\r
-                       _jmol.XhtmlElement.appendChild(child)\r
-               else\r
-                       _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); \r
-       }\r
-}\r
-function _jmolGetDomElement(data, Ptr, closetag, lvel) {\r
-       var e = document.createElement("span")\r
-       e.innerHTML = data\r
-       Ptr[0] = data.length\r
-       return e\r
-\r
-//unnecessary?\r
-\r
-       closetag || (closetag = "")\r
-       lvel || (lvel = 0)\r
-       var pt0 = Ptr[0]\r
-       var pt = pt0\r
-       while (pt < data.length && data.charAt(pt) != "<") pt++\r
-       if (pt != pt0) {\r
-               var text = data.substring(pt0, pt)\r
-               Ptr[0] = pt\r
-               return document.createTextNode(text)\r
-       }       \r
-       pt0 = ++pt\r
-       var ch\r
-       while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++\r
-       var tagname = data.substring(pt0, pt)\r
-       var e = (tagname == closetag  || tagname == "/" ? "" \r
-               : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)\r
-               : document.createElement(tagname));\r
-       if (ch == ">") {\r
-               Ptr[0] = ++pt\r
-               return e\r
-       }\r
-       while (pt < data.length && (ch = data.charAt(pt)) != ">") {\r
-               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
-               pt0 = pt\r
-               while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++\r
-               var attrname = data.substring(pt0, pt).toLowerCase()\r
-               if (attrname && ch != "=") \r
-                       e.setAttribute(attrname, "true")\r
-               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++\r
-               if (ch == "/") {\r
-                       Ptr[0] = pt + 2\r
-                       return e\r
-               } else if (ch == "=") {\r
-                       var quote = data.charAt(++pt)\r
-                       pt0 = ++pt\r
-                       while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++\r
-                       var attrvalue = data.substring(pt0, pt)\r
-                       e.setAttribute(attrname, attrvalue)\r
-                       pt++\r
-               }\r
-       }\r
-       Ptr[0] = ++pt\r
-       while (Ptr[0] < data.length) {\r
-               var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)\r
-               if (!child)break\r
-               e.appendChild(child)\r
-       }\r
-       return e\r
-}\r
-\r
-function _jmolPopup(url) {\r
-  var popup = window.open(url, "JmolPopup",\r
-                          "left=150,top=150,height=400,width=600," +\r
-                          "directories=yes,location=yes,menubar=yes," +\r
-                          "toolbar=yes," +\r
-                          "resizable=yes,scrollbars=yes,status=yes");\r
-  if (popup.focus)\r
-    poup.focus();\r
-}\r
-\r
-function _jmolReadyCallback(name) {\r
-  if (_jmol.debugAlert)\r
-    alert(name + " is ready");\r
-  _jmol.ready["" + name] = true;\r
-}\r
-\r
-function _jmolSterilizeScript(script) {\r
-  script = script.replace(/'/g, "&#39;");\r
-  if (_jmol.debugAlert)\r
-    alert("script:\n" + script);\r
-  return script;\r
-}\r
-\r
-function _jmolSterilizeInline(model) {\r
-  model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "&#39;");\r
-  if (_jmol.debugAlert)\r
-    alert("inline model:\n" + model);\r
-  return model;\r
-}\r
-\r
-function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {\r
-  ++_jmol.radioCount;\r
-  groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));\r
-  if (!script)\r
-    return "";\r
-  labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));\r
-  separatorHtml || (separatorHtml = "")\r
-  var scriptIndex = _jmolAddScript(script);\r
-  var eospan = "</span>"\r
-  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" \r
-       + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +\r
-         scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +\r
-         scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +\r
-        (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"\r
-  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {\r
-       t += eospan\r
-       eospan = "";\r
-  }\r
-  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;\r
-\r
-  return t;\r
-}\r
-\r
-function _jmolFindApplet(target) {\r
-  // first look for the target in the current window\r
-  var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);\r
-  // THEN look for the target in child frames\r
-  if (applet == undefined)\r
-    applet = _jmolSearchFrames(window, target);\r
-  // FINALLY look for the target in sibling frames\r
-  if (applet == undefined)\r
-    applet = _jmolSearchFrames(top, target); // look starting in top frame\r
-  return applet;\r
-}\r
-\r
-function _jmolGetApplet(targetSuffix){\r
- var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");\r
- var applet = _jmolFindApplet(target);\r
- if (applet) return applet\r
- _jmol.alerted || alert("could not find applet " + target);\r
- _jmol.alerted = true;\r
- return null\r
-}\r
-\r
-function _jmolSearchFrames(win, target) {\r
-  var applet;\r
-  var frames = win.frames;\r
-  if (frames && frames.length) { // look in all the frames below this window\r
-   try{\r
-    for (var i = 0; i < frames.length; ++i) {\r
-      applet = _jmolSearchFrames(frames[i], target);\r
-      if (applet)\r
-        return applet;\r
-    }\r
-   }catch(e) {\r
-       if (_jmol.debugAlert)\r
-               alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") \r
-   }\r
-  }\r
-  return applet = _jmolFindAppletInWindow(win, target)\r
-}\r
-\r
-function _jmolFindAppletInWindow(win, target) {\r
-    var doc = win.document;\r
-               if (doc.getElementById(target))\r
-      return doc.getElementById(target);\r
-    else if (doc.applets)\r
-      return doc.applets[target];\r
-    else\r
-      return doc[target]; \r
-}\r
-\r
-function _jmolAddScript(script) {\r
-  if (!script)\r
-    return 0;\r
-  var index = _jmol.scripts.length;\r
-  _jmol.scripts[index] = script;\r
-  return index;\r
-}\r
-\r
-function _jmolClick(elementClicked, scriptIndex, targetSuffix) {\r
-  _jmol.element = elementClicked;\r
-  _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);\r
-}\r
-\r
-function _jmolMenuSelected(menuObject, targetSuffix) {\r
-  var scriptIndex = menuObject.value;\r
-  if (scriptIndex != undefined) {\r
-    _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);\r
-    return;\r
-  }\r
-  var len = menuObject.length;\r
-  if (typeof len == "number") {\r
-    for (var i = 0; i < len; ++i) {\r
-      if (menuObject[i].selected) {\r
-        _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);\r
-       return;\r
-      }\r
-    }\r
-  }\r
-  alert("?Que? menu selected bug #8734");\r
-}\r
-\r
-\r
-_jmol.checkboxMasters = {};\r
-_jmol.checkboxItems = {};\r
-\r
-function jmolSetCheckboxGroup(chkMaster,chkBox) {\r
-       var id = chkMaster;\r
-       if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
-       chkMaster = document.getElementById(id);\r
-       if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);\r
-       var m = _jmol.checkboxMasters[id] = {};\r
-       m.chkMaster = chkMaster;\r
-       m.chkGroup = {};\r
-       for (var i = 1; i < arguments.length; i++){\r
-               var id = arguments[i];\r
-               if(typeof(id)=="number")id = "jmolCheckbox" + id;\r
-               checkboxItem = document.getElementById(id);\r
-               if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);\r
-               m.chkGroup[id] = checkboxItem;\r
-               _jmol.checkboxItems[id] = m;\r
-       }\r
-}\r
-\r
-function _jmolNotifyMaster(m){\r
-       //called when a group item is checked\r
-       var allOn = true;\r
-       var allOff = true;\r
-       for (var chkBox in m.chkGroup){\r
-               if(m.chkGroup[chkBox].checked)\r
-                       allOff = false;\r
-               else\r
-                       allOn = false;\r
-       }\r
-       if (allOn)m.chkMaster.checked = true;   \r
-       if (allOff)m.chkMaster.checked = false;\r
-       if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])\r
-               _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])\r
-}\r
-\r
-function _jmolNotifyGroup(m, isOn){\r
-       //called when a master item is checked\r
-       for (var chkBox in m.chkGroup){\r
-               var item = m.chkGroup[chkBox]\r
-               item.checked = isOn;\r
-               if (_jmol.checkboxMasters[item.id])\r
-                       _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)\r
-       }\r
-}\r
-\r
-function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {\r
-  _jmol.control = ckbox\r
-  _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);\r
-  if(_jmol.checkboxMasters[ckbox.id])\r
-       _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)\r
-  if(_jmol.checkboxItems[ckbox.id])\r
-       _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])\r
-}\r
-\r
-function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {\r
-  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];\r
-}\r
-\r
-function _jmolMouseOver(scriptIndex) {\r
-  window.status = _jmol.scripts[scriptIndex];\r
-}\r
-\r
-function _jmolMouseOut() {\r
-  window.status = " ";\r
-  return true;\r
-}\r
-\r
-function _jmolSetCodebase(codebase) {\r
-  _jmol.codebase = codebase ? codebase : ".";\r
-  if (_jmol.debugAlert)\r
-    alert("jmolCodebase=" + _jmol.codebase);\r
-}\r
-\r
-function _jmolOnloadResetForms() {\r
-  // must be evaluated ONLY once\r
-  _jmol.previousOnloadHandler = window.onload;\r
-  window.onload =\r
-  function() {\r
-    with (_jmol) {\r
-      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {\r
-        var forms = document.forms;\r
-        for (var i = forms.length; --i >= 0; )\r
-          forms[i].reset();\r
-      }\r
-      if (previousOnloadHandler)\r
-        previousOnloadHandler();\r
-    }\r
-  }\r
-}\r
-\r
-////////////////////////////////////\r
-/////extensions for getProperty/////\r
-////////////////////////////////////\r
-\r
-\r
-function _jmolEvalJSON(s,key){\r
- s=s+""\r
- if(!s)return []\r
- if(s.charAt(0)!="{"){\r
-       if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")\r
-       return s\r
- }\r
- var A = eval("("+s+")")\r
- if(!A)return\r
- if(key && A[key])A=A[key]\r
- return A\r
-}\r
-\r
-function _jmolEnumerateObject(A,key){\r
- var sout=""\r
- if(typeof(A) == "string" && A!="null"){\r
-       sout+="\n"+key+"=\""+A+"\""\r
- }else if(!isNaN(A)||A==null){\r
-       sout+="\n"+key+"="+(A+""==""?"null":A)\r
- }else if(A.length){\r
-    sout+=key+"=[]"\r
-    for(var i=0;i<A.length;i++){\r
-       sout+="\n"\r
-       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
-               sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")\r
-       }else{\r
-               sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
-       }\r
-    }\r
- }else{\r
-    if(key != ""){\r
-       sout+=key+"={}"\r
-       key+="."\r
-    }\r
-    \r
-    for(var i in A){\r
-       sout+="\n"\r
-       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){\r
-               sout+=_jmolEnumerateObject(A[i],key+i)\r
-       }else{\r
-               sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])\r
-       }\r
-    }\r
- } \r
- return sout\r
-}\r
-\r
-\r
-function _jmolSortKey0(a,b){\r
- return (a[0]<b[0]?1:a[0]>b[0]?-1:0)\r
-}\r
-\r
-function _jmolSortMessages(A){\r
- if(!A || typeof(A)!="object")return []\r
- var B = []\r
- for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]\r
- if(B.length == 0) return\r
- B=B.sort(_jmolSortKey0)\r
- return B\r
-}\r
-\r
-/////////additional extensions //////////\r
-\r
-\r
-function _jmolDomScriptLoad(URL){\r
- //open(URL) //to debug\r
- _jmol.servercall=URL\r
- var node = document.getElementById("_jmolScriptNode")\r
- if (node && _jmol.browser!="msie"){\r
-    document.getElementsByTagName("HEAD")[0].removeChild(node)\r
-    node=null\r
- }\r
- if (node) {\r
-   node.setAttribute("src",URL)\r
- } else {\r
-   node=document.createElement("script")\r
-   node.setAttribute("id","_jmolScriptNode")\r
-   node.setAttribute("type","text/javascript")\r
-   node.setAttribute("src",URL)\r
-   document.getElementsByTagName("HEAD")[0].appendChild(node)\r
- }\r
-}\r
-\r
-\r
-function _jmolExtractPostData(url){\r
- S=url.split("&POST:")\r
- var s=""\r
- for(var i=1;i<S.length;i++){\r
-       KV=S[i].split("=")\r
-       s+="&POSTKEY"+i+"="+KV[0]\r
-       s+="&POSTVALUE"+i+"="+KV[1]\r
- }\r
- return "&url="+escape(S[0])+s\r
-}\r
-\r
-function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){\r
- //called by server, but in client\r
- //overload this function to customize return\r
- _jmol.remoteURL=remoteURL\r
- isError && alert(errorMessage)\r
- jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)\r
-}\r
-\r
-//////////user property/status functions/////////\r
-\r
-function jmolGetStatus(strStatus,targetSuffix){\r
- return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))\r
-}\r
-\r
-function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {\r
- return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)\r
-}\r
-\r
-function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {\r
- var applet = _jmolGetApplet(targetSuffix);\r
- sValue == undefined && (sValue="");\r
- return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")\r
-}\r
-\r
-function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {\r
- sValue == undefined && (sValue = "")\r
- var applet = _jmolGetApplet(targetSuffix);\r
- try {\r
-  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")\r
- } catch(e) {\r
-  return ""\r
- }\r
-}\r
-\r
-function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {\r
- sValue == undefined && (sValue = "")\r
- var applet = _jmolGetApplet(targetSuffix);\r
- return (applet ? applet.getProperty(sKey,sValue) : null)\r
-}\r
-\r
-\r
-function jmolDecodeJSON(s) {\r
- return _jmolEnumerateObject(_jmolEvalJSON(s),"")\r
-}\r
-\r
-\r
-///////// synchronous scripting ////////\r
-\r
-function jmolScriptWait(script, targetSuffix) {\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=0;j< Ret[i].length;j++)\r
-       s+=Ret[i][j]+"\n"\r
-  return s\r
-}\r
-\r
-function jmolScriptWaitOutput(script, targetSuffix) {\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var ret = ""\r
-  try{\r
-   if (script) {\r
-    _jmolCheckBrowser();\r
-    var applet=_jmolGetApplet(targetSuffix);\r
-    if (applet) ret += applet.scriptWaitOutput(script);\r
-   }\r
-  }catch(e){\r
-  }\r
- return ret;\r
-}\r
-\r
-function jmolEvaluate(molecularMath, targetSuffix) {\r
-\r
-  //carries out molecular math on a model\r
-\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);\r
-  var s = result.replace(/\-*\d+/,"")\r
-  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);\r
-  var s = result.replace(/\-*\d*\.\d*/,"")\r
-  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);\r
-  return result;\r
-}\r
-\r
-function jmolScriptEcho(script, targetSuffix) {\r
-  // returns a newline-separated list of all echos from a script\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=Ret[i].length;--j>=0;)\r
-        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"\r
-  return s.replace(/ \| /g, "\n")\r
-}\r
-\r
-\r
-function jmolScriptMessage(script, targetSuffix) {\r
-  // returns a newline-separated list of all messages from a script, ending with "script completed\n"\r
-  targetSuffix == undefined && (targetSuffix="0")\r
-  var Ret=jmolScriptWaitAsArray(script, targetSuffix)\r
-  var s = ""\r
-  for(var i=Ret.length;--i>=0;)\r
-  for(var j=Ret[i].length;--j>=0;)\r
-        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"\r
-  return s.replace(/ \| /g, "\n")\r
-}\r
-\r
-\r
-function jmolScriptWaitAsArray(script, targetSuffix) {\r
- var ret = ""\r
- try{\r
-  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)\r
-  if (script) {\r
-    _jmolCheckBrowser();\r
-    var applet=_jmolGetApplet(targetSuffix);\r
-    if (applet) ret += applet.scriptWait(script);\r
-    ret = _jmolEvalJSON(ret,"jmolStatus")\r
-    if(typeof ret == "object")\r
-       return ret\r
-  }\r
- }catch(e){\r
- }\r
-  return [[ret]]\r
-}\r
-\r
-\r
-\r
-////////////   save/restore orientation   /////////////\r
-\r
-function jmolSaveOrientation(id, targetSuffix) {  \r
- targetSuffix == undefined && (targetSuffix="0")\r
- return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo\r
-}\r
-\r
-function jmolRestoreOrientation(id, targetSuffix) {\r
- targetSuffix == undefined && (targetSuffix="0")\r
- var s=_jmol["savedOrientation"+id]\r
- if (!s || s == "")return\r
- s=s.replace(/1\.0/,"0")\r
- return jmolScriptWait(s,targetSuffix)\r
-}\r
-\r
-function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {\r
- arguments.length < 2 && (delay=1)\r
- targetSuffix == undefined && (targetSuffix="0")\r
- var s=_jmol["savedOrientation"+id]\r
- if (!s || s == "")return\r
- s=s.replace(/1\.0/,delay)\r
- return jmolScriptWait(s,targetSuffix)\r
-}\r
-\r
-////////////  add parameter /////////////\r
-/*\r
- * for adding callbacks or other parameters. Use:\r
-\r
-   jmolSetDocument(0)\r
-   var s= jmolApplet(....)\r
-   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")\r
-   document.write(s)\r
-   jmolSetDocument(document) // if you want to then write buttons and such normally\r
\r
- */\r
-\r
-function jmolAppletAddParam(appletCode,name,value){\r
-  return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))\r
-}\r
-\r
-///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////\r
-\r
-function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){\r
-\r
- _jmol.thismodel || (_jmol.thismodel = "1crn")\r
- _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
- _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")\r
- _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")\r
- fileformat || (fileformat="PDB")\r
- pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))\r
- if(!pdbid || pdbid.length != 4)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())\r
- fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=pdbid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////\r
-\r
-function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){\r
- _jmol.thismodel || (_jmol.thismodel = "aspirin")\r
- _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")\r
- _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")\r
- compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))\r
- if(!compoundid)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=compoundid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-/////////////// St. Olaf College AJAX server -- ANY URL ///////////\r
-\r
-function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){\r
- _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"\r
- _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")\r
- url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))\r
- userid || (userid="0")\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.modelArray = []\r
- _jmol.thisurl = url\r
- url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)\r
- _jmolDomScriptLoad(url)\r
-}\r
-\r
-\r
-/////////////// Mineralogical Society of America (MSA) data /////////\r
-\r
-function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){\r
-\r
- _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")\r
- _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")\r
- _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")\r
- key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))\r
- if(!key)return ""\r
- value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))\r
- if(!value)return ""\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- optionalscript == 1 && (optionalscript='load "" {1 1 1}')\r
- var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thiskeyMSA=key\r
- _jmol.thismodelMSA=value\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.thisurl=url\r
- _jmol.modelArray = []\r
- loadModel=_jmolLoadModel\r
- _jmolDomScriptLoad(url)\r
- return url\r
-}\r
-\r
-\r
-\r
-function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){\r
- userid || (userid="0")\r
- targetSuffix || (targetSuffix="0")\r
- optionalscript || (optionalscript="")\r
- _jmol.optionalscript=optionalscript\r
- _jmol.thismodel=userid\r
- _jmol.thistargetsuffix=targetSuffix\r
- _jmol.modelArray = []\r
- _jmol.thisurl = url\r
- url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix\r
- _jmolDomScriptLoad(url)\r
-}\r
-\r
-\r
-//// in case Jmol library has already been loaded:\r
-\r
-}catch(e){}\r
-\r
-///////////////moving atoms //////////////\r
-\r
-// HIGHLY experimental!!\r
-\r
-function jmolSetAtomCoord(i,x,y,z,targetSuffix){\r
-    _jmolCheckBrowser();\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)\r
-}\r
-\r
-function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){\r
-    _jmolCheckBrowser();\r
-      var applet=_jmolGetApplet(targetSuffix);\r
-      if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)\r
-}\r
-\r
-\r
-///////////////applet fake for testing buttons/////////////\r
-\r
-\r
-if(_jmol.useNoApplet){\r
-       jmolApplet = function(w){\r
-               var s="<table style='background-color:black' width="+w+"><tr height="+w+">"\r
-               +"<td align=center valign=center style='background-color:white'>"\r
-               +"Applet would be here"\r
-               +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"\r
-               +"</td></tr></table>"\r
-               return _jmolDocumentWrite(s)\r
-       }\r
-\r
-       _jmolFindApplet = function(){return jmolApplet0}\r
-\r
-       jmolApplet0 = {\r
-        script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}\r
-       ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} \r
-       ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}\r
-       }\r
-}\r
-\r
-\r
-///////////////////////////////////////////\r
-\r
-  //  This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility\r
-  /*\r
-       Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).\r
-       targetSuffix is optional and defaults to zero (first applet in page).\r
-       Both w and h are optional, but needed if you want to use targetSuffix.\r
-               h defaults to w\r
-               w defaults to 100% of window\r
-       If either w or h is between 0 and 1, then it is taken as percent/100.\r
-       If either w or h is greater than 1, then it is taken as a size (pixels). \r
-       */\r
-function jmolResize(w,h,targetSuffix) {\r
- _jmol.alerted = true;\r
- var percentW = (!w ? 100 : w <= 1  && w > 0 ? w * 100 : 0);\r
- var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);\r
- if (_jmol.browser=="msie") {\r
-   var width=document.body.clientWidth;\r
-   var height=document.body.clientHeight;\r
- } else {\r
-   var netscapeScrollWidth=15;\r
-   var width=window.innerWidth - netscapeScrollWidth;\r
-   var height=window.innerHeight-netscapeScrollWidth;\r
- }\r
- var applet = _jmolGetApplet(targetSuffix);\r
- if(!applet)return;\r
- applet.style.width = (percentW ? width * percentW/100 : w)+"px";\r
- applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";\r
- //title=width +  " " + height + " " + (new Date());\r
-}\r
-\r
-// 13 Jun 09 -- makes jmolResize() obsolete  (kept for backwards compatibility)\r
-function jmolResizeApplet(size,targetSuffix) {\r
- // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]\r
- //  Special case: an empty value for width or height is accepted, meaning no change in that dimension.\r
- _jmol.alerted = true;\r
- var applet = _jmolGetApplet(targetSuffix);\r
- if(!applet)return;\r
- var sz = _jmolGetAppletSize(size, "px");\r
- sz[0] && (applet.style.width = sz[0]);\r
- sz[1] && (applet.style.height = sz[1]);\r
-}\r
-\r
-function _jmolGetAppletSize(size, units) {\r
-       /* Accepts single number or 2-value array, each one can be one of:\r
-          percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)\r
-          [width, height] array of strings is returned, with units added if specified.\r
-          Percent is relative to container div or element (which should have explicitly set size).\r
-       */\r
-  var width, height;\r
-  if ( (typeof size) == "object" && size != null ) {\r
-    width = size[0]; height = size[1];\r
-  } else {\r
-    width = height = size;\r
-  }\r
-  return [_jmolFixDim(width, units), _jmolFixDim(height, units)];\r
-}\r
-\r
-function _jmolFixDim(x, units) {\r
-  var sx = "" + x;\r
-  return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])\r
-       : sx.indexOf("%") == sx.length-1 ? sx \r
-       : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"\r
-       : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]\r
-               : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]\r
-           : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] \r
-        : x) + (units ? units : ""));\r
-}\r
-\r
-\r
-\r
-\r
+/* Jmol 12.0 script library Jmol.js 9:48 PM 1/31/2011 Bob Hanson
+
+ checkbox heirarchy -- see http://chemapps.stolaf.edu/jmol/docs/examples-11/check.htm
+
+    based on:
+ *
+ * Copyright (C) 2004-2005  Miguel, Jmol Development, www.jmol.org
+ *
+ * Contact: hansonr@stolaf.edu
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Lesser General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2.1 of the License, or (at your option) any later version.
+ *
+ *  This library 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
+ *  Lesser General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Lesser General Public
+ *  License along with this library; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ *  02111-1307  USA.
+ */
+
+// for documentation see www.jmol.org/jslibrary
+
+try{if(typeof(_jmol)!="undefined")exit()
+
+// place "?NOAPPLET" on your command line to check applet control action with a textarea
+// place "?JMOLJAR=xxxxx" to use a specific jar file
+
+// bob hanson -- jmolResize(w,h) -- resizes absolutely or by percent (w or h 0.5 means 50%)
+//    angel herraez -- update of jmolResize(w,h,targetSuffix) so it is not tied to first applet
+// bob hanson -- jmolEvaluate -- evaluates molecular math 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptMessage -- returns all "scriptStatus" messages 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptEcho -- returns all "scriptEcho" messages 8:37 AM 2/23/2007
+// bob hanson -- jmolScriptWait -- 11:31 AM 5/2/2006
+// bob hanson -- remove trailing separatorHTML in radio groups -- 12:18 PM 5/6/2006
+// bob hanson -- adds support for dynamic DOM script nodes 7:04 AM 5/19/2006
+// bob hanson -- adds try/catch for wiki - multiple code passes 7:05 AM 5/19/2006
+// bob hanson -- auto-initiates to defaultdir/defaultjar -- change as desired.
+// bob hanson -- adding save/restore orientation w/ and w/o delay 11:49 AM 5/25/2006
+// bob hanson -- adding AjaxJS service 11:16 AM 6/3/2006
+// bob hanson -- fix for iframes not available for finding applet
+// bob hanson -- added applet fake ?NOAPPLET URL flag
+// bob hanson -- added jmolSetCallback(calbackName, funcName) 3:32 PM 6/13/2006
+//                     used PRIOR to jmolApplet() or jmolAppletInline()
+//               added 4th array element in jmolRadioGroup -- title
+//               added <span> and id around link, checkbox, radio, menu
+//               fixing AJAX loads for MSIE/Opera-Mozilla incompatibility
+//            -- renamed Jmol-11.js from Jmol-new.js; JmolApplet.jar from JmolAppletProto.jar
+//              renamed Jmol.js for Jmol 11 distribution
+//            -- modified jmolRestoreOrientation() to be immediate, no 1-second delay
+// bob hanson -- jmolScriptWait always returns a string -- 11:23 AM 9/16/2006
+// bh         -- jmolCommandInput()
+// bh         -- jmolSetTranslation(TF) -- forces translation even if there might be message callback issues
+// bh         -- minor fixes suggested by Angel
+// bh         -- adds jmolSetSyncId() and jmolGetSyncId()
+// bh 3/2008  -- adds jmolAppendInlineScript() and jmolAppendInlineArray()
+// bh 3/2008  -- fixes IE7 bug in relation to jmolLoadInlineArray()
+// bh 6/2008  -- adds jmolSetAppletWindow()
+// Angel H. 6/2008  -- added html <label> tags to checkboxes and radio buttons [in jmolCheckbox() and _jmolRadio() functions]
+// bh 7/2008  -- code fix "for(i..." not "for(var i..."
+// bh 12/2008 -- jmolLoadInline, jmolLoadInlineArray, jmolLoadInlineScript, jmolAppendInlineScript, jmolAppendInlineArray all return error message or null (Jmol 11.7.16)
+// bh 12/2008 -- jmolScriptWaitOutput() -- waits for script to complete and delivers output normally sent to console
+
+// bh 5/2009  -- Support for XHTML using jmolSetXHTML(id)
+// ah & bh 6/2009 -- New jmolResizeApplet() more flexible, similar to jmolApplet() size syntax
+// bh 11/2009 -- care in accessing top.document
+// bh 12/2009 -- added jmolSetParameter(name, value)
+// bh 12/2009 -- added PARAMS=name:value;name:value;name:value... for command line
+// bh 12/2009 -- overhaul of target checking
+// bh 1/2010  -- all _xxxx() methods ALWAYS have complete argument list
+// bh 1/2010  -- adds option to run a JavaScript function from any Jmol control. 
+//               This is accomplished by passing an array rather than a script:
+//               jmolHref([myfunc,"my param 1", "my param 2"], "testing")
+//               function myfunc(jmolControlObject, [myfunc,"my param 1", "my param 2"], target){...}
+//               and allows much more flexibility with responding to controls
+// bh 4/2010  -- added jmolSetMemoryMb(nMb)
+// ah 1/2011  -- wider detection of browsers; more browsers now use the object tag instead of the applet tag; 
+//               fix of object tag (removed classid) accounts for change of behavior in Chrome
+// bh 3/2011  -- added jmolLoadAjax_STOLAF_NIH
+
+var defaultdir = "."
+var defaultjar = "JmolApplet.jar"
+
+
+// Note added 12:41 PM 9/21/2008 by Bob Hanson, hansonr@stolaf.edu:
+
+// JMOLJAR=xxxxx.jar on the URL for this page will override
+// the JAR file specified in the jmolInitialize() call.
+
+// The idea is that it can be very useful to test a web page with different JAR files
+// Or for an expert user to substitute a signed applet for an unsigned one
+// so as to use a broader range of models or to create JPEG files, for example.
+
+// If the JAR file is not in the current directory (has any sort of "/" in its name)
+// then the user is presented with a warning and asked whether it is OK to change Jar files.
+// The default action, if the user just presses "OK" is to NOT allow the change. 
+// The user must type the word "yes" in the prompt box for the change to be approved.
+
+// If you don't want people to be able to switch in their own JAR file on your page,
+// simply set this next line to read "var allowJMOLJAR = false".
+
+
+var undefined; // for IE 5 ... wherein undefined is undefined
+
+////////////////////////////////////////////////////////////////
+// Basic Scripting infrastruture
+////////////////////////////////////////////////////////////////
+
+function jmolInitialize(codebaseDirectory, fileNameOrUseSignedApplet) {
+  if (_jmol.initialized)
+    return;
+  _jmol.initialized = true;
+  if(_jmol.jmoljar) {
+    var f = _jmol.jmoljar;
+    if (f.indexOf("/") >= 0) {
+      alert ("This web page URL is requesting that the applet used be " + f + ". This is a possible security risk, particularly if the applet is signed, because signed applets can read and write files on your local machine or network.")
+      var ok = prompt("Do you want to use applet " + f + "? ","yes or no")
+      if (ok == "yes") {
+        codebaseDirectory = f.substring(0, f.lastIndexOf("/"));
+        fileNameOrUseSignedApplet = f.substring(f.lastIndexOf("/") + 1);
+      } else {
+       _jmolGetJarFilename(fileNameOrUseSignedApplet);
+        alert("The web page URL was ignored. Continuing using " + _jmol.archivePath + ' in directory "' + codebaseDirectory + '"');
+      }
+    } else {
+      fileNameOrUseSignedApplet = f;
+    }
+  }
+  _jmolSetCodebase(codebaseDirectory);
+  _jmolGetJarFilename(fileNameOrUseSignedApplet);
+  _jmolOnloadResetForms();
+}
+
+function jmolSetTranslation(TF) {
+  _jmol.params.doTranslate = ''+TF;
+}
+
+function _jmolGetJarFilename(fileNameOrFlag) {
+  _jmol.archivePath =
+    (typeof(fileNameOrFlag) == "string"  ? fileNameOrFlag : (fileNameOrFlag ?  "JmolAppletSigned" : "JmolApplet") + "0.jar");
+}
+
+function jmolSetDocument(doc) {
+  _jmol.currentDocument = doc;
+}
+
+function jmolSetAppletColor(boxbgcolor, boxfgcolor, progresscolor) {
+  _jmolInitCheck();
+  _jmol.params.boxbgcolor = boxbgcolor;
+  if (boxfgcolor)
+    _jmol.params.boxfgcolor = boxfgcolor
+  else if (boxbgcolor == "white" || boxbgcolor == "#FFFFFF")
+    _jmol.params.boxfgcolor = "black";
+  else
+    _jmol.params.boxfgcolor = "white";
+  if (progresscolor)
+    _jmol.params.progresscolor = progresscolor;
+  if (_jmol.debugAlert)
+    alert(" boxbgcolor=" + _jmol.params.boxbgcolor +
+          " boxfgcolor=" + _jmol.params.boxfgcolor +
+          " progresscolor=" + _jmol.params.progresscolor);
+}
+
+function jmolSetAppletWindow(w) {
+  _jmol.appletWindow = w;
+}
+
+function jmolApplet(size, script, nameSuffix) {
+  _jmolInitCheck();
+  return _jmolApplet(size, null, script, nameSuffix);
+}
+
+////////////////////////////////////////////////////////////////
+// Basic controls
+////////////////////////////////////////////////////////////////
+
+// undefined means it wasn't there; null means it was explicitly listed as null (so as to skip it)
+
+function jmolButton(script, label, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolButton" + _jmol.buttonCount);
+  label != undefined && label != null || (label = script.substring(0, 32));
+  ++_jmol.buttonCount;
+  var scriptIndex = _jmolAddScript(script);
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='button' name='" + id + "' id='" + id +
+          "' value='" + label +
+          "' onclick='_jmolClick(this," + scriptIndex + _jmol.targetText +
+          ")' onmouseover='_jmolMouseOver(" + scriptIndex +
+          ");return true' onmouseout='_jmolMouseOut()' " +
+          _jmol.buttonCssText + " /></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolCheckbox(scriptWhenChecked, scriptWhenUnchecked,
+                      labelHtml, isChecked, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolCheckbox" + _jmol.checkboxCount);
+  ++_jmol.checkboxCount;
+  if (scriptWhenChecked == undefined || scriptWhenChecked == null ||
+      scriptWhenUnchecked == undefined || scriptWhenUnchecked == null) {
+    alert("jmolCheckbox requires two scripts");
+    return;
+  }
+  if (labelHtml == undefined || labelHtml == null) {
+    alert("jmolCheckbox requires a label");
+    return;
+  }
+  var indexChecked = _jmolAddScript(scriptWhenChecked);
+  var indexUnchecked = _jmolAddScript(scriptWhenUnchecked);
+  var eospan = "</span>"
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input type='checkbox' name='" + id + "' id='" + id +
+          "' onclick='_jmolCbClick(this," +
+          indexChecked + "," + indexUnchecked + _jmol.targetText +
+          ")' onmouseover='_jmolCbOver(this," + indexChecked + "," +
+          indexUnchecked +
+          ");return true' onmouseout='_jmolMouseOut()' " +
+         (isChecked ? "checked='true' " : "")+ _jmol.checkboxCssText + " />" 
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {
+       t += eospan
+       eospan = "";
+  }
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan;
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolStartNewRadioGroup() {
+  ++_jmol.radioGroupCount;
+}
+
+function jmolRadioGroup(arrayOfRadioButtons, separatorHtml, groupName, id, title) {
+  /*
+
+    array: [radio1,radio2,radio3...]
+    where radioN = ["script","label",isSelected,"id","title"]
+
+  */
+
+  _jmolInitCheck();
+  var type = typeof arrayOfRadioButtons;
+  if (type != "object" || type == null || ! arrayOfRadioButtons.length) {
+    alert("invalid arrayOfRadioButtons");
+    return;
+  }
+  separatorHtml != undefined && separatorHtml != null || (separatorHtml = "&nbsp; ");
+  var len = arrayOfRadioButtons.length;
+  jmolStartNewRadioGroup();
+  groupName || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));
+  var t = "<span id='"+(id ? id : groupName)+"'>";
+  for (var i = 0; i < len; ++i) {
+    if (i == len - 1)
+      separatorHtml = "";
+    var radio = arrayOfRadioButtons[i];
+    type = typeof radio;
+    if (type == "object") {
+      t += _jmolRadio(radio[0], radio[1], radio[2], separatorHtml, groupName, (radio.length > 3 ? radio[3]: (id ? id : groupName)+"_"+i), (radio.length > 4 ? radio[4] : 0), title);
+    } else {
+      t += _jmolRadio(radio, null, null, separatorHtml, groupName, (id ? id : groupName)+"_"+i, title);
+    }
+  }
+  t+="</span>"
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+
+function jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
+  _jmolInitCheck();
+  if (_jmol.radioGroupCount == 0)
+    ++_jmol.radioGroupCount;
+  var t = _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, (id ? id : groupName + "_" + _jmol.radioCount), title ? title : 0);
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolLink(script, label, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolLink" + _jmol.linkCount);
+  label != undefined && label != null || (label = script.substring(0, 32));
+  ++_jmol.linkCount;
+  var scriptIndex = _jmolAddScript(script);
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><a name='" + id + "' id='" + id + 
+          "' href='javascript:_jmolClick(this," + scriptIndex + _jmol.targetText + ");' onmouseover='_jmolMouseOver(" + scriptIndex +
+          ");return true;' onmouseout='_jmolMouseOut()' " +
+          _jmol.linkCssText + ">" + label + "</a></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function jmolCommandInput(label, size, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolCmd" + _jmol.cmdCount);
+  label != undefined && label != null || (label = "Execute");
+  size != undefined && !isNaN(size) || (size = 60);
+  ++_jmol.cmdCount;
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" + id + "' id='" + id + 
+          "' size='"+size+"' onkeypress='_jmolCommandKeyPress(event,\""+id+"\"" + _jmol.targetText + ")'><input type=button value = '"+label+"' onclick='jmolScript(document.getElementById(\""+id+"\").value" + _jmol.targetText + ")' /></span>";
+  if (_jmol.debugAlert)
+    alert(t);
+  return _jmolDocumentWrite(t);
+}
+
+function _jmolCommandKeyPress(e, id, target) {
+       var keycode = (window.event ? window.event.keyCode : e ? e.which : 0);
+       if (keycode == 13) {
+               var inputBox = document.getElementById(id)
+               _jmolScriptExecute(inputBox, inputBox.value, target)
+       }
+}
+
+function _jmolScriptExecute(element,script,target) {
+       if (typeof(script) == "object")
+               script[0](element, script, target)
+       else
+               jmolScript(script, target) 
+}
+
+function jmolMenu(arrayOfMenuItems, size, id, title) {
+  _jmolInitCheck();
+  id != undefined && id != null || (id = "jmolMenu" + _jmol.menuCount);
+  ++_jmol.menuCount;
+  var type = typeof arrayOfMenuItems;
+  if (type != null && type == "object" && arrayOfMenuItems.length) {
+    var len = arrayOfMenuItems.length;
+    if (typeof size != "number" || size == 1)
+      size = null;
+    else if (size < 0)
+      size = len;
+    var sizeText = size ? " size='" + size + "' " : "";
+    var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><select name='" + id + "' id='" + id +
+            "' onChange='_jmolMenuSelected(this" + _jmol.targetText + ")'" +
+            sizeText + _jmol.menuCssText + ">";
+    for (var i = 0; i < len; ++i) {
+      var menuItem = arrayOfMenuItems[i];
+      type = typeof menuItem;
+      var script, text;
+      var isSelected = undefined;
+      if (type == "object" && menuItem != null) {
+        script = menuItem[0];
+        text = menuItem[1];
+        isSelected = menuItem[2];
+      } else {
+        script = text = menuItem;
+      }
+      text != undefined && text != null || (text = script);            
+      if (script=="#optgroup") {
+        t += "<optgroup label='" + text + "'>";          
+         } else if (script=="#optgroupEnd") {
+        t += "</optgroup>";      
+         } else {              
+        var scriptIndex = _jmolAddScript(script);
+        var selectedText = isSelected ? "' selected='true'>" : "'>";
+        t += "<option value='" + scriptIndex + selectedText + text + "</option>";
+      }
+    }
+    t += "</select></span>";
+    if (_jmol.debugAlert)
+      alert(t);
+    return _jmolDocumentWrite(t);
+  }
+}
+
+function jmolHtml(html) {
+  return _jmolDocumentWrite(html);
+}
+
+function jmolBr() {
+  return _jmolDocumentWrite("<br />");
+}
+
+////////////////////////////////////////////////////////////////
+// advanced scripting functions
+////////////////////////////////////////////////////////////////
+
+function jmolDebugAlert(enableAlerts) {
+  _jmol.debugAlert = (enableAlerts == undefined || enableAlerts)
+}
+
+function jmolAppletInline(size, inlineModel, script, nameSuffix) {
+  _jmolInitCheck();
+  return _jmolApplet(size, _jmolSterilizeInline(inlineModel),
+                     script, nameSuffix);
+}
+
+function jmolSetTarget(targetSuffix) {
+  _jmol.targetSuffix = targetSuffix;
+  _jmol.targetText = targetSuffix ? ",\"" + targetSuffix + "\"" : ",0";
+}
+
+function jmolScript(script, targetSuffix) {
+  if (script) {
+    _jmolCheckBrowser();
+    if (targetSuffix == "all") {
+      with (_jmol) {
+       for (var i = 0; i < appletSuffixes.length; ++i) {
+         var applet = _jmolGetApplet(appletSuffixes[i]);
+          if (applet) applet.script(script);
+        }
+      }
+    } else {
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.script(script);
+    }
+  }
+}
+
+function jmolLoadInline(model, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  if (typeof(model) == "string")
+    return applet.loadInlineString(model, "", false);
+  else
+    return applet.loadInlineArray(model, "", false);
+}
+
+
+function jmolLoadInlineScript(model, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  return applet.loadInlineString(model, script, false);
+}
+
+
+function jmolLoadInlineArray(ModelArray, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  script || (script="")
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  try {
+    return applet.loadInlineArray(ModelArray, script, false);
+  } catch (err) {
+    //IE 7 bug
+    return applet.loadInlineString(ModelArray.join("\n"), script, false);
+  }
+}
+
+function jmolAppendInlineArray(ModelArray, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  script || (script="")
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  try {
+    return applet.loadInlineArray(ModelArray, script, true);
+  } catch (err) {
+    //IE 7 bug
+    return applet.loadInlineString(ModelArray.join("\n"), script, true);
+  }
+}
+
+function jmolAppendInlineScript(model, script, targetSuffix) {
+  if (!model)return "ERROR: NO MODEL"
+  var applet=_jmolGetApplet(targetSuffix);
+  if (!applet)return "ERROR: NO APPLET"
+  return applet.loadInlineString(model, script, true);
+}
+
+function jmolCheckBrowser(action, urlOrMessage, nowOrLater) {
+  if (typeof action == "string") {
+    action = action.toLowerCase();
+    action == "alert" || action == "redirect" || action == "popup" || (action = null);
+  }
+  if (typeof action != "string")
+    alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
+          "action must be 'alert', 'redirect', or 'popup'");
+  else {
+    if (typeof urlOrMessage != "string")
+      alert("jmolCheckBrowser(action, urlOrMessage, nowOrLater)\n\n" +
+            "urlOrMessage must be a string");
+    else {
+      _jmol.checkBrowserAction = action;
+      _jmol.checkBrowserUrlOrMessage = urlOrMessage;
+    }
+  }
+  if (typeof nowOrLater == "string" && nowOrLater.toLowerCase() == "now")
+    _jmolCheckBrowser();
+}
+
+////////////////////////////////////////////////////////////////
+// Cascading Style Sheet Class support
+////////////////////////////////////////////////////////////////
+
+function jmolSetAppletCssClass(appletCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.appletCssClass = appletCssClass;
+    _jmol.appletCssText = appletCssClass ? "class='" + appletCssClass + "' " : "";
+  }
+}
+
+function jmolSetButtonCssClass(buttonCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.buttonCssClass = buttonCssClass;
+    _jmol.buttonCssText = buttonCssClass ? "class='" + buttonCssClass + "' " : "";
+  }
+}
+
+function jmolSetCheckboxCssClass(checkboxCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.checkboxCssClass = checkboxCssClass;
+    _jmol.checkboxCssText = checkboxCssClass ? "class='" + checkboxCssClass + "' " : "";
+  }
+}
+
+function jmolSetRadioCssClass(radioCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.radioCssClass = radioCssClass;
+    _jmol.radioCssText = radioCssClass ? "class='" + radioCssClass + "' " : "";
+  }
+}
+
+function jmolSetLinkCssClass(linkCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.linkCssClass = linkCssClass;
+    _jmol.linkCssText = linkCssClass ? "class='" + linkCssClass + "' " : "";
+  }
+}
+
+function jmolSetMenuCssClass(menuCssClass) {
+  if (_jmol.hasGetElementById) {
+    _jmol.menuCssClass = menuCssClass;
+    _jmol.menuCssText = menuCssClass ? "class='" + menuCssClass + "' " : "";
+  }
+}
+
+////////////////////////////////////////////////////////////////
+// functions for INTERNAL USE ONLY which are subject to change
+// use at your own risk ... you have been WARNED!
+////////////////////////////////////////////////////////////////
+var _jmol = {
+  currentDocument: document,
+
+  debugAlert: false,
+  
+  codebase: "",
+  modelbase: ".",
+  
+  appletCount: 0,
+  appletSuffixes: [],
+  appletWindow: null,
+  allowedJmolSize: [25, 2048, 300],   // min, max, default (pixels)
+         /*  By setting the _jmol.allowedJmolSize[] variable in the webpage 
+             before calling jmolApplet(), limits for applet size can be overriden.
+                   2048 standard for GeoWall (http://geowall.geo.lsa.umich.edu/home.html)
+         */  
+  buttonCount: 0,
+  checkboxCount: 0,
+  linkCount: 0,
+  cmdCount: 0,
+  menuCount: 0,
+  radioCount: 0,
+  radioGroupCount: 0,
+  
+  appletCssClass: null,
+  appletCssText: "",
+  buttonCssClass: null,
+  buttonCssText: "",
+  checkboxCssClass: null,
+  checkboxCssText: "",
+  java_arguments: "-Xmx512m",
+  radioCssClass: null,
+  radioCssText: "",
+  linkCssClass: null,
+  linkCssText: "",
+  menuCssClass: null,
+  menuCssText: "",
+  
+  targetSuffix: 0,
+  targetText: ",0",
+  scripts: [""],
+  params: {
+       syncId: ("" + Math.random()).substring(3),
+       progressbar: "true",
+       progresscolor: "blue",
+       boxbgcolor: "black",
+       boxfgcolor: "white",
+       boxmessage: "Downloading JmolApplet ..."
+  },
+  ua: navigator.userAgent.toLowerCase(),
+  // uaVersion: parseFloat(navigator.appVersion),  // not used
+  
+  os: "unknown",
+  browser: "unknown",
+  browserVersion: 0,
+  hasGetElementById: !!document.getElementById,
+  isJavaEnabled: navigator.javaEnabled(),
+  // isNetscape47Win: false,  // not used, N4.7 is no longer supported even for detection
+  useIEObject: false,
+  useHtml4Object: false,
+  
+  windowsClassId: "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93",
+  windowsCabUrl:
+   "http://java.sun.com/update/1.6.0/jinstall-6u22-windows-i586.cab",
+
+  isBrowserCompliant: false,
+  isJavaCompliant: false,
+  isFullyCompliant: false,
+
+  initialized: false,
+  initChecked: false,
+  
+  browserChecked: false,
+  checkBrowserAction: "alert",
+  checkBrowserUrlOrMessage: null,
+
+  archivePath: null, // JmolApplet0.jar OR JmolAppletSigned0.jar
+
+  previousOnloadHandler: null,
+
+  jmoljar: null,  
+  useNoApplet: false,
+
+  ready: {}
+}
+
+with (_jmol) {
+  function _jmolTestUA(candidate) {
+    var ua = _jmol.ua;
+    var index = ua.indexOf(candidate);
+    if (index < 0)
+      return false;
+    _jmol.browser = candidate;
+    _jmol.browserVersion = parseFloat(ua.substring(index+candidate.length+1));
+    return true;
+  }
+  
+  function _jmolTestOS(candidate) {
+    if (_jmol.ua.indexOf(candidate) < 0)
+      return false;
+    _jmol.os = candidate;
+    return true;
+  }
+  
+  _jmolTestUA("konqueror") ||
+  _jmolTestUA("webkit") ||
+  _jmolTestUA("omniweb") ||
+  _jmolTestUA("opera") ||
+  _jmolTestUA("webtv") ||
+  _jmolTestUA("icab") ||
+  _jmolTestUA("msie") ||
+  (_jmol.ua.indexOf("compatible") < 0 && _jmolTestUA("mozilla")); //Netscape, Mozilla, Seamonkey, Firefox and anything assimilated
+  
+  _jmolTestOS("linux") ||
+  _jmolTestOS("unix") ||
+  _jmolTestOS("mac") ||
+  _jmolTestOS("win");
+
+  /* not used:
+       isNetscape47Win = (os == "win" && browser == "mozilla" &&
+                     browserVersion >= 4.78 && browserVersion <= 4.8);
+       */
+
+  if (os == "win") {
+    isBrowserCompliant = hasGetElementById;
+  } else if (os == "mac") { // mac is the problem child :-(
+    if (browser == "mozilla" && browserVersion >= 5) {
+      // miguel 2004 11 17
+      // checking the plugins array does not work because
+      // Netscape 7.2 OS X still has Java 1.3.1 listed even though
+      // javaplugin.sf.net is installed to upgrade to 1.4.2
+      eval("try {var v = java.lang.System.getProperty('java.version');" +
+           " _jmol.isBrowserCompliant = v >= '1.4.2';" +
+           " } catch (e) { }");
+    } else if (browser == "opera" && browserVersion <= 7.54) {
+      isBrowserCompliant = false;
+    } else {
+      isBrowserCompliant = hasGetElementById &&
+        !((browser == "msie") ||
+          (browser == "webkit" && browserVersion < 125.12));
+    }
+  } else if (os == "linux" || os == "unix") {
+    if (browser == "konqueror" && browserVersion <= 3.3)
+      isBrowserCompliant = false;
+    else
+      isBrowserCompliant = hasGetElementById;
+  } else { // other OS
+    isBrowserCompliant = hasGetElementById;
+  }
+
+  // possibly more checks in the future for this
+  isJavaCompliant = isJavaEnabled;
+
+  isFullyCompliant = isBrowserCompliant && isJavaCompliant;
+
+  useIEObject = (os == "win" && browser == "msie" && browserVersion >= 5.5);
+  useHtml4Object =
+   (browser == "mozilla" && browserVersion >= 5) ||
+   (browser == "opera" && browserVersion >= 8) ||
+   (browser == "webkit" && browserVersion >= 412.2);
+ try {
+  if (top.location.search.indexOf("JMOLJAR=")>=0)
+    jmoljar = top.location.search.split("JMOLJAR=")[1].split("&")[0];
+ } catch(e) {
+  // can't access top.location
+ }
+ try {
+  useNoApplet = (top.location.search.indexOf("NOAPPLET")>=0);
+ } catch(e) {
+  // can't access top.document
+ }
+}
+
+function jmolSetMemoryMb(nMb) {
+  _jmol.java_arguments = "-Xmx" + Math.round(nMb) + "m"
+}
+
+function jmolSetParameter(name,value) {
+  _jmol.params[name] = value
+}
+
+function jmolSetCallback(callbackName,funcName) {
+  _jmol.params[callbackName] = funcName
+}
+
+ try {
+// note this is done FIRST, so it cannot override a setting done by the developer
+  if (top.location.search.indexOf("PARAMS=")>=0) {
+    var pars = unescape(top.location.search.split("PARAMS=")[1].split("&")[0]).split(";");
+    for (var i = 0; i < pars.length; i++) {
+      var p = pars[i].split(":");
+      jmolSetParameter(p[0],p[1]);
+    }
+  }
+ } catch(e) {
+  // can't access top.location
+ }
+
+function jmolSetSyncId(n) {
+  return _jmol.params["syncId"] = n
+}
+
+function jmolGetSyncId() {
+  return _jmol.params["syncId"]
+}
+
+function jmolSetLogLevel(n) {
+  _jmol.params.logLevel = ''+n;
+}
+
+       /*  AngelH, mar2007:
+               By (re)setting these variables in the webpage before calling jmolApplet(), 
+               a custom message can be provided (e.g. localized for user's language) when no Java is installed.
+       */
+if (noJavaMsg==undefined) var noJavaMsg = 
+        "You do not have Java applets enabled in your web browser, or your browser is blocking this applet.<br />\n" +
+        "Check the warning message from your browser and/or enable Java applets in<br />\n" +
+        "your web browser preferences, or install the Java Runtime Environment from <a href='http://www.java.com'>www.java.com</a><br />";
+if (noJavaMsg2==undefined) var noJavaMsg2 = 
+        "You do not have the<br />\n" +
+        "Java Runtime Environment<br />\n" +
+        "installed for applet support.<br />\n" +
+        "Visit <a href='http://www.java.com'>www.java.com</a>";
+function _jmolApplet(size, inlineModel, script, nameSuffix) {
+       /*  AngelH, mar2007
+               Fixed percent / pixel business, to avoid browser errors:
+               put "px" where needed, avoid where not.
+
+           Bob Hanson, 1/2010
+               Fixed inline escape changing returns to |               
+       */
+  with (_jmol) {
+    nameSuffix == undefined && (nameSuffix = appletCount);
+    appletSuffixes.push(nameSuffix);
+    ++appletCount;
+    script || (script = "select *");
+    var sz = _jmolGetAppletSize(size);
+    var widthAndHeight = " width='" + sz[0] + "' height='" + sz[1] + "' ";
+    var tHeader, tFooter;
+    codebase || jmolInitialize(".");
+    if (useIEObject || useHtml4Object) {
+      params.archive = archivePath;
+      params.mayscript = 'true';
+      params.codebase = codebase;
+      params.code = 'JmolApplet';
+      tHeader = 
+        "<object name='jmolApplet" + nameSuffix +
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
+                               widthAndHeight + "\n";
+      tFooter = "</object>";
+    }
+    if (java_arguments)
+      params.java_arguments = java_arguments;
+    if (useIEObject) { // use MSFT IE6 object tag with .cab file reference
+      tHeader += " classid='" + windowsClassId + "'\n" +
+      (windowsCabUrl ? " codebase='" + windowsCabUrl + "'\n" : "") + ">\n";
+    } else if (useHtml4Object) { // use HTML4 object tag
+      tHeader += " type='application/x-java-applet'\n>\n";
+                               /*      " classid='java:JmolApplet'\n" +        AH removed this
+                                 Chromium Issue 62076:         Java Applets using an <object> with a classid paramater don't load.
+                                       http://code.google.com/p/chromium/issues/detail?id=62076
+                                       They say this is the correct behavior according to the spec, and there's no indication at this point 
+                                       that WebKit will be changing the handling, so eventually Safari will acquire this behavior too.
+                                       Removing the classid parameter seems to be well tolerated by all browsers (even IE!).
+                               */
+    } else { // use applet tag
+      tHeader = 
+        "<applet name='jmolApplet" + nameSuffix +
+        "' id='jmolApplet" + nameSuffix + "' " + appletCssText + "\n" +
+                               widthAndHeight + "\n" +
+        " code='JmolApplet'" +
+        " archive='" + archivePath + "' codebase='" + codebase + "'\n" +
+        " mayscript='true'>\n";
+      tFooter = "</applet>";
+    }
+    var visitJava;
+    if (useIEObject || useHtml4Object) {
+               var szX = "width:" + sz[0]
+               if ( szX.indexOf("%")==-1 ) szX+="px" 
+               var szY = "height:" + sz[1]
+               if ( szY.indexOf("%")==-1 ) szY+="px" 
+      visitJava =
+        "<p style='background-color:yellow; color:black; " +
+               szX + ";" + szY + ";" +
+        // why doesn't this vertical-align work?
+       "text-align:center;vertical-align:middle;'>\n" +
+               noJavaMsg +
+        "</p>";
+    } else {
+      visitJava =
+        "<table bgcolor='yellow'><tr>" +
+        "<td align='center' valign='middle' " + widthAndHeight + "><font color='black'>\n" +
+               noJavaMsg2 +
+        "</font></td></tr></table>";
+    }
+    params.loadInline = (inlineModel ? inlineModel : "");
+    params.script = (script ? _jmolSterilizeScript(script) : "");
+    var t = tHeader + _jmolParams() + visitJava + tFooter;
+    jmolSetTarget(nameSuffix);
+    ready["jmolApplet" + nameSuffix] = false;
+    if (_jmol.debugAlert)
+      alert(t);
+    return _jmolDocumentWrite(t);
+  }
+}
+
+function _jmolParams() {
+ var t = "";
+ for (var i in _jmol.params)
+       if(_jmol.params[i]!="")
+                t+="  <param name='"+i+"' value='"+_jmol.params[i]+"' />\n";
+ return t
+}
+
+function _jmolInitCheck() {
+  if (_jmol.initChecked)
+    return;
+  _jmol.initChecked = true;
+  jmolInitialize(defaultdir, defaultjar)
+}
+
+function _jmolCheckBrowser() {
+  with (_jmol) {
+    if (browserChecked)
+      return;
+    browserChecked = true;
+  
+    if (isFullyCompliant)
+      return true;
+
+    if (checkBrowserAction == "redirect")
+      location.href = checkBrowserUrlOrMessage;
+    else if (checkBrowserAction == "popup")
+      _jmolPopup(checkBrowserUrlOrMessage);
+    else {
+      var msg = checkBrowserUrlOrMessage;
+      if (msg == null)
+        msg = "Your web browser is not fully compatible with Jmol\n\n" +
+              "browser: " + browser +
+              "   version: " + browserVersion +
+              "   os: " + os +
+              "   isBrowserCompliant: " + isBrowserCompliant +
+              "   isJavaCompliant: " + isJavaCompliant +
+              "\n\n" + ua;
+      alert(msg);
+    }
+  }
+  return false;
+}
+
+function jmolSetXHTML(id) {
+       _jmol.isXHTML = true
+       _jmol.XhtmlElement = null
+       _jmol.XhtmlAppendChild = false
+       if (id){
+               _jmol.XhtmlElement = document.getElementById(id)
+               _jmol.XhtmlAppendChild = true
+       }
+}
+
+function _jmolDocumentWrite(text) {
+       if (_jmol.currentDocument) {
+               if (_jmol.isXHTML && !_jmol.XhtmlElement) {
+                       var s = document.getElementsByTagName("script")
+                       _jmol.XhtmlElement = s.item(s.length - 1)
+                       _jmol.XhtmlAppendChild = false
+               }
+               if (_jmol.XhtmlElement) {
+                       _jmolDomDocumentWrite(text)
+               } else {
+                       _jmol.currentDocument.write(text);
+               }
+       }
+       return text;
+}
+
+function _jmolDomDocumentWrite(data) {
+       var pt = 0
+       var Ptr = []
+       Ptr[0] = 0
+       while (Ptr[0] < data.length) {
+               var child = _jmolGetDomElement(data, Ptr)
+               if (!child)break
+               if (_jmol.XhtmlAppendChild)
+                       _jmol.XhtmlElement.appendChild(child)
+               else
+                       _jmol.XhtmlElement.parentNode.insertBefore(child, _jmol.XhtmlElement); 
+       }
+}
+function _jmolGetDomElement(data, Ptr, closetag, lvel) {
+       var e = document.createElement("span")
+       e.innerHTML = data
+       Ptr[0] = data.length
+       return e
+
+//unnecessary?
+
+       closetag || (closetag = "")
+       lvel || (lvel = 0)
+       var pt0 = Ptr[0]
+       var pt = pt0
+       while (pt < data.length && data.charAt(pt) != "<") pt++
+       if (pt != pt0) {
+               var text = data.substring(pt0, pt)
+               Ptr[0] = pt
+               return document.createTextNode(text)
+       }       
+       pt0 = ++pt
+       var ch
+       while (pt < data.length && "\n\r\t >".indexOf(ch = data.charAt(pt)) < 0) pt++
+       var tagname = data.substring(pt0, pt)
+       var e = (tagname == closetag  || tagname == "/" ? "" 
+               : document.createElementNS ? document.createElementNS('http://www.w3.org/1999/xhtml', tagname)
+               : document.createElement(tagname));
+       if (ch == ">") {
+               Ptr[0] = ++pt
+               return e
+       }
+       while (pt < data.length && (ch = data.charAt(pt)) != ">") {
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++
+               pt0 = pt
+               while (pt < data.length && "\n\r\t =/>".indexOf(ch = data.charAt(pt)) < 0) pt++
+               var attrname = data.substring(pt0, pt).toLowerCase()
+               if (attrname && ch != "=") 
+                       e.setAttribute(attrname, "true")
+               while (pt < data.length && "\n\r\t ".indexOf(ch = data.charAt(pt)) >= 0) pt++
+               if (ch == "/") {
+                       Ptr[0] = pt + 2
+                       return e
+               } else if (ch == "=") {
+                       var quote = data.charAt(++pt)
+                       pt0 = ++pt
+                       while (pt < data.length && (ch = data.charAt(pt)) != quote) pt++
+                       var attrvalue = data.substring(pt0, pt)
+                       e.setAttribute(attrname, attrvalue)
+                       pt++
+               }
+       }
+       Ptr[0] = ++pt
+       while (Ptr[0] < data.length) {
+               var child = _jmolGetDomElement(data, Ptr, "/" + tagname, lvel+1)
+               if (!child)break
+               e.appendChild(child)
+       }
+       return e
+}
+
+function _jmolPopup(url) {
+  var popup = window.open(url, "JmolPopup",
+                          "left=150,top=150,height=400,width=600," +
+                          "directories=yes,location=yes,menubar=yes," +
+                          "toolbar=yes," +
+                          "resizable=yes,scrollbars=yes,status=yes");
+  if (popup.focus)
+    poup.focus();
+}
+
+function _jmolReadyCallback(name) {
+  if (_jmol.debugAlert)
+    alert(name + " is ready");
+  _jmol.ready["" + name] = true;
+}
+
+function _jmolSterilizeScript(script) {
+  script = script.replace(/'/g, "&#39;");
+  if (_jmol.debugAlert)
+    alert("script:\n" + script);
+  return script;
+}
+
+function _jmolSterilizeInline(model) {
+  model = model.replace(/\r|\n|\r\n/g, (model.indexOf("|") >= 0 ? "\\/n" : "|")).replace(/'/g, "&#39;");
+  if (_jmol.debugAlert)
+    alert("inline model:\n" + model);
+  return model;
+}
+
+function _jmolRadio(script, labelHtml, isChecked, separatorHtml, groupName, id, title) {
+  ++_jmol.radioCount;
+  groupName != undefined && groupName != null || (groupName = "jmolRadioGroup" + (_jmol.radioGroupCount - 1));
+  if (!script)
+    return "";
+  labelHtml != undefined && labelHtml != null || (labelHtml = script.substring(0, 32));
+  separatorHtml || (separatorHtml = "")
+  var scriptIndex = _jmolAddScript(script);
+  var eospan = "</span>"
+  var t = "<span id=\"span_"+id+"\""+(title ? " title=\"" + title + "\"":"")+"><input name='" 
+       + groupName + "' id='"+id+"' type='radio' onclick='_jmolClick(this," +
+         scriptIndex + _jmol.targetText + ");return true;' onmouseover='_jmolMouseOver(" +
+         scriptIndex + ");return true;' onmouseout='_jmolMouseOut()' " +
+        (isChecked ? "checked='true' " : "") + _jmol.radioCssText + " />"
+  if (labelHtml.toLowerCase().indexOf("<td>")>=0) {
+       t += eospan
+       eospan = "";
+  }
+  t += "<label for=\"" + id + "\">" + labelHtml + "</label>" +eospan + separatorHtml;
+
+  return t;
+}
+
+function _jmolFindApplet(target) {
+  // first look for the target in the current window
+  var applet = _jmolFindAppletInWindow(_jmol.appletWindow != null ? _jmol.appletWindow : window, target);
+  // THEN look for the target in child frames
+  if (applet == undefined)
+    applet = _jmolSearchFrames(window, target);
+  // FINALLY look for the target in sibling frames
+  if (applet == undefined)
+    applet = _jmolSearchFrames(top, target); // look starting in top frame
+  return applet;
+}
+
+function _jmolGetApplet(targetSuffix){
+ var target = "jmolApplet" + (targetSuffix ? targetSuffix : "0");
+ var applet = _jmolFindApplet(target);
+ if (applet) return applet
+ _jmol.alerted || alert("could not find applet " + target);
+ _jmol.alerted = true;
+ return null
+}
+
+function _jmolSearchFrames(win, target) {
+  var applet;
+  var frames = win.frames;
+  if (frames && frames.length) { // look in all the frames below this window
+   try{
+    for (var i = 0; i < frames.length; ++i) {
+      applet = _jmolSearchFrames(frames[i], target);
+      if (applet)
+        return applet;
+    }
+   }catch(e) {
+       if (_jmol.debugAlert)
+               alert("Jmol.js _jmolSearchFrames cannot access " + win.name + ".frame[" + i + "] consider using jmolSetAppletWindow()") 
+   }
+  }
+  return applet = _jmolFindAppletInWindow(win, target)
+}
+
+function _jmolFindAppletInWindow(win, target) {
+    var doc = win.document;
+               if (doc.getElementById(target))
+      return doc.getElementById(target);
+    else if (doc.applets)
+      return doc.applets[target];
+    else
+      return doc[target]; 
+}
+
+function _jmolAddScript(script) {
+  if (!script)
+    return 0;
+  var index = _jmol.scripts.length;
+  _jmol.scripts[index] = script;
+  return index;
+}
+
+function _jmolClick(elementClicked, scriptIndex, targetSuffix) {
+  _jmol.element = elementClicked;
+  _jmolScriptExecute(elementClicked, _jmol.scripts[scriptIndex], targetSuffix);
+}
+
+function _jmolMenuSelected(menuObject, targetSuffix) {
+  var scriptIndex = menuObject.value;
+  if (scriptIndex != undefined) {
+    _jmolScriptExecute(menuObject, _jmol.scripts[scriptIndex], targetSuffix);
+    return;
+  }
+  var len = menuObject.length;
+  if (typeof len == "number") {
+    for (var i = 0; i < len; ++i) {
+      if (menuObject[i].selected) {
+        _jmolClick(menuObject[i], menuObject[i].value, targetSuffix);
+       return;
+      }
+    }
+  }
+  alert("?Que? menu selected bug #8734");
+}
+
+
+_jmol.checkboxMasters = {};
+_jmol.checkboxItems = {};
+
+function jmolSetCheckboxGroup(chkMaster,chkBox) {
+       var id = chkMaster;
+       if(typeof(id)=="number")id = "jmolCheckbox" + id;
+       chkMaster = document.getElementById(id);
+       if (!chkMaster)alert("jmolSetCheckboxGroup: master checkbox not found: " + id);
+       var m = _jmol.checkboxMasters[id] = {};
+       m.chkMaster = chkMaster;
+       m.chkGroup = {};
+       for (var i = 1; i < arguments.length; i++){
+               var id = arguments[i];
+               if(typeof(id)=="number")id = "jmolCheckbox" + id;
+               checkboxItem = document.getElementById(id);
+               if (!checkboxItem)alert("jmolSetCheckboxGroup: group checkbox not found: " + id);
+               m.chkGroup[id] = checkboxItem;
+               _jmol.checkboxItems[id] = m;
+       }
+}
+
+function _jmolNotifyMaster(m){
+       //called when a group item is checked
+       var allOn = true;
+       var allOff = true;
+       for (var chkBox in m.chkGroup){
+               if(m.chkGroup[chkBox].checked)
+                       allOff = false;
+               else
+                       allOn = false;
+       }
+       if (allOn)m.chkMaster.checked = true;   
+       if (allOff)m.chkMaster.checked = false;
+       if ((allOn || allOff) && _jmol.checkboxItems[m.chkMaster.id])
+               _jmolNotifyMaster(_jmol.checkboxItems[m.chkMaster.id])
+}
+
+function _jmolNotifyGroup(m, isOn){
+       //called when a master item is checked
+       for (var chkBox in m.chkGroup){
+               var item = m.chkGroup[chkBox]
+               item.checked = isOn;
+               if (_jmol.checkboxMasters[item.id])
+                       _jmolNotifyGroup(_jmol.checkboxMasters[item.id], isOn)
+       }
+}
+
+function _jmolCbClick(ckbox, whenChecked, whenUnchecked, targetSuffix) {
+  _jmol.control = ckbox
+  _jmolClick(ckbox, ckbox.checked ? whenChecked : whenUnchecked, targetSuffix);
+  if(_jmol.checkboxMasters[ckbox.id])
+       _jmolNotifyGroup(_jmol.checkboxMasters[ckbox.id], ckbox.checked)
+  if(_jmol.checkboxItems[ckbox.id])
+       _jmolNotifyMaster(_jmol.checkboxItems[ckbox.id])
+}
+
+function _jmolCbOver(ckbox, whenChecked, whenUnchecked) {
+  window.status = _jmol.scripts[ckbox.checked ? whenUnchecked : whenChecked];
+}
+
+function _jmolMouseOver(scriptIndex) {
+  window.status = _jmol.scripts[scriptIndex];
+}
+
+function _jmolMouseOut() {
+  window.status = " ";
+  return true;
+}
+
+function _jmolSetCodebase(codebase) {
+  _jmol.codebase = codebase ? codebase : ".";
+  if (_jmol.debugAlert)
+    alert("jmolCodebase=" + _jmol.codebase);
+}
+
+function _jmolOnloadResetForms() {
+  // must be evaluated ONLY once
+  _jmol.previousOnloadHandler = window.onload;
+  window.onload =
+  function() {
+    with (_jmol) {
+      if (buttonCount+checkboxCount+menuCount+radioCount+radioGroupCount > 0) {
+        var forms = document.forms;
+        for (var i = forms.length; --i >= 0; )
+          forms[i].reset();
+      }
+      if (previousOnloadHandler)
+        previousOnloadHandler();
+    }
+  }
+}
+
+////////////////////////////////////
+/////extensions for getProperty/////
+////////////////////////////////////
+
+
+function _jmolEvalJSON(s,key){
+ s=s+""
+ if(!s)return []
+ if(s.charAt(0)!="{"){
+       if(s.indexOf(" | ")>=0)s=s.replace(/\ \|\ /g, "\n")
+       return s
+ }
+ var A = eval("("+s+")")
+ if(!A)return
+ if(key && A[key])A=A[key]
+ return A
+}
+
+function _jmolEnumerateObject(A,key){
+ var sout=""
+ if(typeof(A) == "string" && A!="null"){
+       sout+="\n"+key+"=\""+A+"\""
+ }else if(!isNaN(A)||A==null){
+       sout+="\n"+key+"="+(A+""==""?"null":A)
+ }else if(A.length){
+    sout+=key+"=[]"
+    for(var i=0;i<A.length;i++){
+       sout+="\n"
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
+               sout+=_jmolEnumerateObject(A[i],key+"["+i+"]")
+       }else{
+               sout+=key+"["+i+"]="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
+       }
+    }
+ }else{
+    if(key != ""){
+       sout+=key+"={}"
+       key+="."
+    }
+    
+    for(var i in A){
+       sout+="\n"
+       if(typeof(A[i]) == "object"||typeof(A[i]) == "array"){
+               sout+=_jmolEnumerateObject(A[i],key+i)
+       }else{
+               sout+=key+i+"="+(typeof(A[i]) == "string" && A[i]!="null"?"\""+A[i].replace(/\"/g,"\\\"")+"\"":A[i])
+       }
+    }
+ } 
+ return sout
+}
+
+
+function _jmolSortKey0(a,b){
+ return (a[0]<b[0]?1:a[0]>b[0]?-1:0)
+}
+
+function _jmolSortMessages(A){
+ if(!A || typeof(A)!="object")return []
+ var B = []
+ for(var i=A.length-1;i>=0;i--)for(var j=0;j<A[i].length;j++)B[B.length]=A[i][j]
+ if(B.length == 0) return
+ B=B.sort(_jmolSortKey0)
+ return B
+}
+
+/////////additional extensions //////////
+
+
+function _jmolDomScriptLoad(URL){
+ //open(URL) //to debug
+ _jmol.servercall=URL
+ var node = document.getElementById("_jmolScriptNode")
+ if (node && _jmol.browser!="msie"){
+    document.getElementsByTagName("HEAD")[0].removeChild(node)
+    node=null
+ }
+ if (node) {
+   node.setAttribute("src",URL)
+ } else {
+   node=document.createElement("script")
+   node.setAttribute("id","_jmolScriptNode")
+   node.setAttribute("type","text/javascript")
+   node.setAttribute("src",URL)
+   document.getElementsByTagName("HEAD")[0].appendChild(node)
+ }
+}
+
+
+function _jmolExtractPostData(url){
+ S=url.split("&POST:")
+ var s=""
+ for(var i=1;i<S.length;i++){
+       KV=S[i].split("=")
+       s+="&POSTKEY"+i+"="+KV[0]
+       s+="&POSTVALUE"+i+"="+KV[1]
+ }
+ return "&url="+escape(S[0])+s
+}
+
+function _jmolLoadModel(targetSuffix,remoteURL,array,isError,errorMessage){
+ //called by server, but in client
+ //overload this function to customize return
+ _jmol.remoteURL=remoteURL
+ isError && alert(errorMessage)
+ jmolLoadInlineScript(array.join("\n"),_jmol.optionalscript,targetSuffix)
+}
+
+//////////user property/status functions/////////
+
+function jmolGetStatus(strStatus,targetSuffix){
+ return _jmolSortMessages(jmolGetPropertyAsArray("jmolStatus",strStatus,targetSuffix))
+}
+
+function jmolGetPropertyAsArray(sKey,sValue,targetSuffix) {
+ return _jmolEvalJSON(jmolGetPropertyAsJSON(sKey,sValue,targetSuffix),sKey)
+}
+
+function jmolGetPropertyAsString(sKey,sValue,targetSuffix) {
+ var applet = _jmolGetApplet(targetSuffix);
+ sValue == undefined && (sValue="");
+ return (applet ? applet.getPropertyAsString(sKey,sValue) + "" : "")
+}
+
+function jmolGetPropertyAsJSON(sKey,sValue,targetSuffix) {
+ sValue == undefined && (sValue = "")
+ var applet = _jmolGetApplet(targetSuffix);
+ try {
+  return (applet ? applet.getPropertyAsJSON(sKey,sValue) + "" : "")
+ } catch(e) {
+  return ""
+ }
+}
+
+function jmolGetPropertyAsJavaObject(sKey,sValue,targetSuffix) {
+ sValue == undefined && (sValue = "")
+ var applet = _jmolGetApplet(targetSuffix);
+ return (applet ? applet.getProperty(sKey,sValue) : null)
+}
+
+
+function jmolDecodeJSON(s) {
+ return _jmolEnumerateObject(_jmolEvalJSON(s),"")
+}
+
+
+///////// synchronous scripting ////////
+
+function jmolScriptWait(script, targetSuffix) {
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=0;j< Ret[i].length;j++)
+       s+=Ret[i][j]+"\n"
+  return s
+}
+
+function jmolScriptWaitOutput(script, targetSuffix) {
+  targetSuffix == undefined && (targetSuffix="0")
+  var ret = ""
+  try{
+   if (script) {
+    _jmolCheckBrowser();
+    var applet=_jmolGetApplet(targetSuffix);
+    if (applet) ret += applet.scriptWaitOutput(script);
+   }
+  }catch(e){
+  }
+ return ret;
+}
+
+function jmolEvaluate(molecularMath, targetSuffix) {
+
+  //carries out molecular math on a model
+
+  targetSuffix == undefined && (targetSuffix="0")
+  var result = "" + jmolGetPropertyAsJavaObject("evaluate", molecularMath, targetSuffix);
+  var s = result.replace(/\-*\d+/,"")
+  if (s == "" && !isNaN(parseInt(result)))return parseInt(result);
+  var s = result.replace(/\-*\d*\.\d*/,"")
+  if (s == "" && !isNaN(parseFloat(result)))return parseFloat(result);
+  return result;
+}
+
+function jmolScriptEcho(script, targetSuffix) {
+  // returns a newline-separated list of all echos from a script
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=Ret[i].length;--j>=0;)
+        if (Ret[i][j][1] == "scriptEcho")s+=Ret[i][j][3]+"\n"
+  return s.replace(/ \| /g, "\n")
+}
+
+
+function jmolScriptMessage(script, targetSuffix) {
+  // returns a newline-separated list of all messages from a script, ending with "script completed\n"
+  targetSuffix == undefined && (targetSuffix="0")
+  var Ret=jmolScriptWaitAsArray(script, targetSuffix)
+  var s = ""
+  for(var i=Ret.length;--i>=0;)
+  for(var j=Ret[i].length;--j>=0;)
+        if (Ret[i][j][1] == "scriptStatus")s+=Ret[i][j][3]+"\n"
+  return s.replace(/ \| /g, "\n")
+}
+
+
+function jmolScriptWaitAsArray(script, targetSuffix) {
+ var ret = ""
+ try{
+  jmolGetStatus("scriptEcho,scriptMessage,scriptStatus,scriptError",targetSuffix)
+  if (script) {
+    _jmolCheckBrowser();
+    var applet=_jmolGetApplet(targetSuffix);
+    if (applet) ret += applet.scriptWait(script);
+    ret = _jmolEvalJSON(ret,"jmolStatus")
+    if(typeof ret == "object")
+       return ret
+  }
+ }catch(e){
+ }
+  return [[ret]]
+}
+
+
+
+////////////   save/restore orientation   /////////////
+
+function jmolSaveOrientation(id, targetSuffix) {  
+ targetSuffix == undefined && (targetSuffix="0")
+ return _jmol["savedOrientation"+id] = jmolGetPropertyAsArray("orientationInfo","info",targetSuffix).moveTo
+}
+
+function jmolRestoreOrientation(id, targetSuffix) {
+ targetSuffix == undefined && (targetSuffix="0")
+ var s=_jmol["savedOrientation"+id]
+ if (!s || s == "")return
+ s=s.replace(/1\.0/,"0")
+ return jmolScriptWait(s,targetSuffix)
+}
+
+function jmolRestoreOrientationDelayed(id, delay, targetSuffix) {
+ arguments.length < 2 && (delay=1)
+ targetSuffix == undefined && (targetSuffix="0")
+ var s=_jmol["savedOrientation"+id]
+ if (!s || s == "")return
+ s=s.replace(/1\.0/,delay)
+ return jmolScriptWait(s,targetSuffix)
+}
+
+////////////  add parameter /////////////
+/*
+ * for adding callbacks or other parameters. Use:
+
+   jmolSetDocument(0)
+   var s= jmolApplet(....)
+   s = jmolAppletAddParam(s,"messageCallback", "myFunctionName")
+   document.write(s)
+   jmolSetDocument(document) // if you want to then write buttons and such normally
+ */
+
+function jmolAppletAddParam(appletCode,name,value){
+  return (value == "" ? appletCode : appletCode.replace(/\<param/,"\n<param name='"+name+"' value='"+value+"' />\n<param"))
+}
+
+///////////////auto load Research Consortium for Structural Biology (RCSB) data ///////////
+
+function jmolLoadAjax_STOLAF_RCSB(fileformat,pdbid,optionalscript,targetSuffix){
+
+ _jmol.thismodel || (_jmol.thismodel = "1crn")
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")
+ _jmol.RCSBserver || (_jmol.RCSBserver="http://www.rcsb.org")
+ _jmol.defaultURL_RCSB || (_jmol.defaultURL_RCSB=_jmol.RCSBserver+"/pdb/files/1CRN.CIF")
+ fileformat || (fileformat="PDB")
+ pdbid || (pdbid=prompt("Enter a 4-digit PDB ID:",_jmol.thismodel))
+ if(!pdbid || pdbid.length != 4)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ var url=_jmol.defaultURL_RCSB.replace(/1CRN/g,pdbid.toUpperCase())
+ fileformat=="CIF" || (url=url.replace(/CIF/,fileformat))
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=pdbid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+///////////////auto load NIH CACTVS data -- compound name or SMILES ///////////
+
+function jmolLoadAjax_STOLAF_NIH(compoundid,optionalscript,targetSuffix){
+ _jmol.thismodel || (_jmol.thismodel = "aspirin")
+ _jmol.serverURL || (_jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm")
+ _jmol.defaultURL_NIH || (_jmol.defaultURL_NIH="http://cactus.nci.nih.gov/chemical/structure/FILE/file?format=sdf&get3d=True")
+ compoundid || (compoundid=prompt("Enter a compound name or a SMILES string:",_jmol.thismodel))
+ if(!compoundid)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ var url=_jmol.defaultURL_NIH.replace(/FILE/g,compoundid)
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=compoundid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+/////////////// St. Olaf College AJAX server -- ANY URL ///////////
+
+function jmolLoadAjax_STOLAF_ANY(url, userid, optionalscript,targetSuffix){
+ _jmol.serverURL="http://fusion.stolaf.edu/chemistry/jmol/getajaxjs.cfm"
+ _jmol.thisurlANY || (_jmol.thisurlANY = "http://www.stolaf.edu/depts/chemistry/mo/struc/data/ycp3-1.mol")
+ url || (url=prompt("Enter any (uncompressed file) URL:", _jmol.thisurlANY))
+ userid || (userid="0")
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ _jmol.optionalscript=optionalscript
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.modelArray = []
+ _jmol.thisurl = url
+ url=_jmol.serverURL+"?returnfunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix+_jmolExtractPostData(url)
+ _jmolDomScriptLoad(url)
+}
+
+
+/////////////// Mineralogical Society of America (MSA) data /////////
+
+function jmolLoadAjax_MSA(key,value,optionalscript,targetSuffix){
+
+ _jmol.thiskeyMSA || (_jmol.thiskeyMSA = "mineral")
+ _jmol.thismodelMSA || (_jmol.thismodelMSA = "quartz")
+ _jmol.ajaxURL_MSA || (_jmol.ajaxURL_MSA="http://rruff.geo.arizona.edu/AMS/result.php?mineral=quartz&viewing=ajaxjs")
+ key || (key=prompt("Enter a field:", _jmol.thiskeyMSA))
+ if(!key)return ""
+ value || (value=prompt("Enter a "+key+":", _jmol.thismodelMSA))
+ if(!value)return ""
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ optionalscript == 1 && (optionalscript='load "" {1 1 1}')
+ var url=_jmol.ajaxURL_MSA.replace(/mineral/g,key).replace(/quartz/g,value)
+ _jmol.optionalscript=optionalscript
+ _jmol.thiskeyMSA=key
+ _jmol.thismodelMSA=value
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.thisurl=url
+ _jmol.modelArray = []
+ loadModel=_jmolLoadModel
+ _jmolDomScriptLoad(url)
+ return url
+}
+
+
+
+function jmolLoadAjaxJS(url, userid, optionalscript,targetSuffix){
+ userid || (userid="0")
+ targetSuffix || (targetSuffix="0")
+ optionalscript || (optionalscript="")
+ _jmol.optionalscript=optionalscript
+ _jmol.thismodel=userid
+ _jmol.thistargetsuffix=targetSuffix
+ _jmol.modelArray = []
+ _jmol.thisurl = url
+ url+="&returnFunction=_jmolLoadModel&returnArray=_jmol.modelArray&id="+targetSuffix
+ _jmolDomScriptLoad(url)
+}
+
+
+//// in case Jmol library has already been loaded:
+
+}catch(e){}
+
+///////////////moving atoms //////////////
+
+// HIGHLY experimental!!
+
+function jmolSetAtomCoord(i,x,y,z,targetSuffix){
+    _jmolCheckBrowser();
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.getProperty('jmolViewer').setAtomCoord(i,x,y,z)
+}
+
+function jmolSetAtomCoordRelative(i,x,y,z,targetSuffix){
+    _jmolCheckBrowser();
+      var applet=_jmolGetApplet(targetSuffix);
+      if (applet) applet.getProperty('jmolViewer').setAtomCoordRelative(i,x,y,z)
+}
+
+
+///////////////applet fake for testing buttons/////////////
+
+
+if(_jmol.useNoApplet){
+       jmolApplet = function(w){
+               var s="<table style='background-color:black' width="+w+"><tr height="+w+">"
+               +"<td align=center valign=center style='background-color:white'>"
+               +"Applet would be here"
+               +"<p><textarea id=fakeApplet rows=5 cols=50></textarea>"
+               +"</td></tr></table>"
+               return _jmolDocumentWrite(s)
+       }
+
+       _jmolFindApplet = function(){return jmolApplet0}
+
+       jmolApplet0 = {
+        script: function(script){document.getElementById("fakeApplet").value="\njmolScript:\n"+script}
+       ,scriptWait: function(script){document.getElementById("fakeApplet").value="\njmolScriptWait:\n"+script} 
+       ,loadInline: function(data,script){document.getElementById("fakeApplet").value="\njmolLoadInline data:\n"+data+"\n\nscript:\n"+script}
+       }
+}
+
+
+///////////////////////////////////////////
+
+  //  This should no longer be needed, jmolResizeApplet() is better; kept for backwards compatibility
+  /*
+       Resizes absolutely (pixels) or by percent of window (w or h 0.5 means 50%).
+       targetSuffix is optional and defaults to zero (first applet in page).
+       Both w and h are optional, but needed if you want to use targetSuffix.
+               h defaults to w
+               w defaults to 100% of window
+       If either w or h is between 0 and 1, then it is taken as percent/100.
+       If either w or h is greater than 1, then it is taken as a size (pixels). 
+       */
+function jmolResize(w,h,targetSuffix) {
+ _jmol.alerted = true;
+ var percentW = (!w ? 100 : w <= 1  && w > 0 ? w * 100 : 0);
+ var percentH = (!h ? percentW : h <= 1 && h > 0 ? h * 100 : 0);
+ if (_jmol.browser=="msie") {
+   var width=document.body.clientWidth;
+   var height=document.body.clientHeight;
+ } else {
+   var netscapeScrollWidth=15;
+   var width=window.innerWidth - netscapeScrollWidth;
+   var height=window.innerHeight-netscapeScrollWidth;
+ }
+ var applet = _jmolGetApplet(targetSuffix);
+ if(!applet)return;
+ applet.style.width = (percentW ? width * percentW/100 : w)+"px";
+ applet.style.height = (percentH ? height * percentH/100 : (h ? h : w))+"px";
+ //title=width +  " " + height + " " + (new Date());
+}
+
+// 13 Jun 09 -- makes jmolResize() obsolete  (kept for backwards compatibility)
+function jmolResizeApplet(size,targetSuffix) {
+ // See _jmolGetAppletSize() for the formats accepted as size [same used by jmolApplet()]
+ //  Special case: an empty value for width or height is accepted, meaning no change in that dimension.
+ _jmol.alerted = true;
+ var applet = _jmolGetApplet(targetSuffix);
+ if(!applet)return;
+ var sz = _jmolGetAppletSize(size, "px");
+ sz[0] && (applet.style.width = sz[0]);
+ sz[1] && (applet.style.height = sz[1]);
+}
+
+function _jmolGetAppletSize(size, units) {
+       /* Accepts single number or 2-value array, each one can be one of:
+          percent (text string ending %), decimal 0 to 1 (percent/100), number, or text string (interpreted as nr.)
+          [width, height] array of strings is returned, with units added if specified.
+          Percent is relative to container div or element (which should have explicitly set size).
+       */
+  var width, height;
+  if ( (typeof size) == "object" && size != null ) {
+    width = size[0]; height = size[1];
+  } else {
+    width = height = size;
+  }
+  return [_jmolFixDim(width, units), _jmolFixDim(height, units)];
+}
+
+function _jmolFixDim(x, units) {
+  var sx = "" + x;
+  return (sx.length == 0 ? (units ? "" : _jmol.allowedJmolSize[2])
+       : sx.indexOf("%") == sx.length-1 ? sx 
+       : (x = parseFloat(x)) <= 1 && x > 0 ? x * 100 + "%"
+       : (isNaN(x = Math.floor(x)) ? _jmol.allowedJmolSize[2]
+               : x < _jmol.allowedJmolSize[0] ? _jmol.allowedJmolSize[0]
+           : x > _jmol.allowedJmolSize[1] ? _jmol.allowedJmolSize[1] 
+        : x) + (units ? units : ""));
+}
+
+
+
+
index 53698a4..72c062d 100755 (executable)
@@ -1,60 +1,60 @@
->FER_CAPAA Ferredoxin\r
------------------------------------------------------------ASYKVKLITPDGP\r
-IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
-TIETHKEAELVG-\r
->FER_CAPAN Ferredoxin, chloroplast precursor\r
-MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP\r
-IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV\r
-TIETHKEAELVG-\r
->FER1_SOLLC Ferredoxin-1, chloroplast precursor\r
-MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP\r
-IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV\r
-TIETHKEEELTA-\r
->Q93XJ9_SOLTU Ferredoxin I precursor\r
-MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP\r
-IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV\r
-TIETHKEEELTA-\r
->FER1_PEA Ferredoxin-1, chloroplast precursor\r
-MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT\r
-QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV\r
-VIETHKEEDLTA-\r
->Q7XA98_TRIPR Ferredoxin I\r
-MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP\r
-QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV\r
-TIETHKEEELTA-\r
->FER1_MESCR Ferredoxin-1, chloroplast precursor\r
-MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK\r
-QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV\r
-TIETHKEEELTA-\r
->FER1_SPIOL Ferredoxin-1, chloroplast precursor\r
-MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN\r
-VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV\r
-TIETHKEEELTA-\r
->FER3_RAPSA Ferredoxin, leaf L-A\r
------------------------------------------------------------ATYKVKFITPEGE\r
-QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV\r
-TIETHREEDMV--\r
->FER1_ARATH Ferredoxin-1, chloroplast precursor\r
-MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE\r
-LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV\r
-TIETHKEEDIV--\r
->FER_BRANA Ferredoxin\r
------------------------------------------------------------ATYKVKFITPEGE\r
-QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV\r
-TIETHKEEELV--\r
->FER2_ARATH Ferredoxin-2, chloroplast precursor\r
-MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
-QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV\r
-VIETHKEEAIM--\r
->Q93Z60_ARATH At1g10960/T19D16_12\r
-MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE\r
-QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------\r
--------------\r
->FER1_MAIZE Ferredoxin-1, chloroplast precursor\r
-MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE\r
-VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV\r
-VIETHKEEELTGA\r
->O80429_MAIZE Ferredoxin\r
-MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE\r
-VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV\r
-VIETHKEDDLL--\r
+>FER_CAPAA Ferredoxin
+-----------------------------------------------------------ASYKVKLITPDGP
+IEFDCPDDVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV
+TIETHKEAELVG-
+>FER_CAPAN Ferredoxin, chloroplast precursor
+MA------SVSATMISTSFMPRKPAVTSL-KPIPNVGE--ALFGLKS-A--NGGKVTCMASYKVKLITPDGP
+IEFDCPDNVYILDQAEEAGHDLPYSCRAGSCSSCAGKIAGGAVDQTDGNFLDDDQLEEGWVLTCVAYPQSDV
+TIETHKEAELVG-
+>FER1_SOLLC Ferredoxin-1, chloroplast precursor
+MA------SISGTMISTSFLPRKPAVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPEGP
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGSVDQSDGNFLDEDQEAAGFVLTCVAYPKGDV
+TIETHKEEELTA-
+>Q93XJ9_SOLTU Ferredoxin I precursor
+MA------SISGTMISTSFLPRKPVVTSL-KAISNVGE--ALFGLKS-G--RNGRITCMASYKVKLITPDGP
+IEFECPDDVYILDQAEEEGHDLPYSCRAGSCSSCAGKVTAGTVDQSDGKFLDDDQEAAGFVLTCVAYPKCDV
+TIETHKEEELTA-
+>FER1_PEA Ferredoxin-1, chloroplast precursor
+MATT---PALYGTAVSTSFLRTQPMPMSV-TTTKAFSN--GFLGLKT-SLKRGDLAVAMASYKVKLVTPDGT
+QEFECPSDVYILDHAEEVGIDLPYSCRAGSCSSCAGKVVGGEVDQSDGSFLDDEQIEAGFVLTCVAYPTSDV
+VIETHKEEDLTA-
+>Q7XA98_TRIPR Ferredoxin I
+MATT---PALYGTAVSTSFMRRQPVPMSV-ATTTTTKAFPSGFGLKSVSTKRGDLAVAMATYKVKLITPEGP
+QEFDCPDDVYILDHAEEVGIELPYSCRAGSCSSCAGKVVNGNVNQEDGSFLDDEQIEGGWVLTCVAFPTSDV
+TIETHKEEELTA-
+>FER1_MESCR Ferredoxin-1, chloroplast precursor
+MAAT--TAALSGATMSTAFAPK--TPPMTAALPTNVGR--ALFGLKS-SASR-GRVTAMAAYKVTLVTPEGK
+QELECPDDVYILDAAEEAGIDLPYSCRAGSCSSCAGKVTSGSVNQDDGSFLDDDQIKEGWVLTCVAYPTGDV
+TIETHKEEELTA-
+>FER1_SPIOL Ferredoxin-1, chloroplast precursor
+MAAT--TTTMMG--MATTFVPKPQAPPMMAALPSNTGR--SLFGLKT-GSR--GGRMTMAAYKVTLVTPTGN
+VEFQCPDDVYILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDV
+TIETHKEEELTA-
+>FER3_RAPSA Ferredoxin, leaf L-A
+-----------------------------------------------------------ATYKVKFITPEGE
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDDQIAEGFVLTCAAYPTSDV
+TIETHREEDMV--
+>FER1_ARATH Ferredoxin-1, chloroplast precursor
+MAST----ALSSAIVGTSFIRRSPAPISLRSLPSANTQ--SLFGLKS-GTARGGRVTAMATYKVKFITPEGE
+LEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSFLDDEQIGEGFVLTCAAYPTSDV
+TIETHKEEDIV--
+>FER_BRANA Ferredoxin
+-----------------------------------------------------------ATYKVKFITPEGE
+QEVECDDDVYVLDAAEEAGIDLPYSCRAGSCSSCAGKVVSGFVDQSDESFLDDDQIAEGFVLTCAAYPTSDV
+TIETHKEEELV--
+>FER2_ARATH Ferredoxin-2, chloroplast precursor
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDDEQMSEGYVLTCVAYPTSDV
+VIETHKEEAIM--
+>Q93Z60_ARATH At1g10960/T19D16_12
+MAST----ALSSAIVSTSFLRRQQTPISLRSLPFANTQ--SLFGLKS-STARGGRVTAMATYKVKFITPEGE
+QEVECEEDVYVLDAAEEAGLDLPYSCRAGSCSSCAGKVVSGSIDQSDQSFLDD-------------------
+-------------
+>FER1_MAIZE Ferredoxin-1, chloroplast precursor
+MATVLGSPRAPAFFFSSSSLRAAPAPTAV--ALPAAKV--GIMGRSA-SSRR--RLRAQATYNVKLITPEGE
+VELQVPDDVYILDQAEEDGIDLPYSCRAGSCSSCAGKVVSGSVDQSDQSYLDDGQIADGWVLTCHAYPTSDV
+VIETHKEEELTGA
+>O80429_MAIZE Ferredoxin
+MAAT---------ALSMSILR---APPPCFSSPLRLRV--AVAKPLA-APMRRQLLRAQATYNVKLITPEGE
+VELQVPDDVYILDFAEEEGIDLPFSCRAGSCSSCAGKVVSGSVDQSDQSFLNDNQVADGWVLTCAAYPTSDV
+VIETHKEDDLL--
index 064d6bc..eba1dd9 100755 (executable)
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>\r
-<!--\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)\r
- * Copyright (C) 2014 The Jalview Authors\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- * The Jalview Authors are detailed in the 'AUTHORS' file.\r
--->\r
-<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">\r
-<helpset version="1.0">\r
-   <!-- title -->\r
-   <title>Jalview Documentation</title>\r
-   <!-- maps -->\r
-   <maps>\r
-     <homeID>home</homeID>\r
-     <mapref location="help.jhm" />\r
-   </maps>\r
-   <!-- views -->\r
-   <view>\r
-      <name>TOC</name>\r
-      <label>Table Of Contents</label>\r
-      <type>javax.help.TOCView</type>\r
-      <data>helpTOC.xml</data>\r
-   </view>\r
-  <view>\r
-    <name>Search</name>\r
-    <label>Search</label>\r
-    <type>javax.help.SearchView</type>\r
-    <data engine="com.sun.java.help.search.DefaultSearchEngine">\r
-      JavaHelpSearch\r
-    </data>\r
-  </view>\r
-<presentation default="true" displayviews="true" displayviewimages="false">\r
-    <name>TOPALi</name>\r
-    <size width="800" height="700" />\r
-    <location x="200" y="50" />\r
-    <title>Jalview Documentation</title>\r
-    <image>helpIcon</image>\r
-    <toolbar>\r
-               <helpaction image="backIcon">javax.help.BackAction</helpaction>\r
-               <helpaction image="forwardIcon">javax.help.ForwardAction</helpaction>\r
-               <helpaction image="homeIcon">javax.help.HomeAction</helpaction>\r
-               <helpaction>javax.help.SeparatorAction</helpaction>\r
-               <!--<helpaction image="reloadIcon">javax.help.ReloadAction</helpaction>-->\r
-               <!--<helpaction image="addBookmarkIcon">javax.help.FavoritesAction</helpaction>-->\r
-               <helpaction image="printIcon">javax.help.PrintAction</helpaction>\r
-               <helpaction image="printSetupIcon">javax.help.PrintSetupAction</helpaction>\r
-       </toolbar>\r
-  </presentation>\r
-</helpset>\r
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!--
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+-->
+<!DOCTYPE helpset PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">
+<helpset version="1.0">
+   <!-- title -->
+   <title>Jalview Documentation</title>
+   <!-- maps -->
+   <maps>
+     <homeID>home</homeID>
+     <mapref location="help.jhm" />
+   </maps>
+   <!-- views -->
+   <view>
+      <name>TOC</name>
+      <label>Table Of Contents</label>
+      <type>javax.help.TOCView</type>
+      <data>helpTOC.xml</data>
+   </view>
+  <view>
+    <name>Search</name>
+    <label>Search</label>
+    <type>javax.help.SearchView</type>
+    <data engine="com.sun.java.help.search.DefaultSearchEngine">
+      JavaHelpSearch
+    </data>
+  </view>
+<presentation default="true" displayviews="true" displayviewimages="false">
+    <name>TOPALi</name>
+    <size width="800" height="700" />
+    <location x="200" y="50" />
+    <title>Jalview Documentation</title>
+    <image>helpIcon</image>
+    <toolbar>
+               <helpaction image="backIcon">javax.help.BackAction</helpaction>
+               <helpaction image="forwardIcon">javax.help.ForwardAction</helpaction>
+               <helpaction image="homeIcon">javax.help.HomeAction</helpaction>
+               <helpaction>javax.help.SeparatorAction</helpaction>
+               <!--<helpaction image="reloadIcon">javax.help.ReloadAction</helpaction>-->
+               <!--<helpaction image="addBookmarkIcon">javax.help.FavoritesAction</helpaction>-->
+               <helpaction image="printIcon">javax.help.PrintAction</helpaction>
+               <helpaction image="printSetupIcon">javax.help.PrintSetupAction</helpaction>
+       </toolbar>
+  </presentation>
+</helpset>
index 066f919..35d5cbd 100644 (file)
-action.refresh_services = Refrescar servicios\r
-action.reset_services = Reiniciar servicios\r
-action.merge_results = Unificar resultados\r
-action.load_scheme = Cargar esquema\r
-action.save_scheme = Guardar esquema\r
-action.save_image = Guardar imagen\r
-action.paste = Pegar\r
-action.show_html_source = Mostrar código HTML\r
-action.print = Imprimir\r
-action.web_service = Servicio web\r
-action.cancel_job = Cancelar trabajo\r
-action.start_job = Arrancar trabajo\r
-action.revert = Deshacer\r
-action.move_down = Mover hacia abajo\r
-action.move_up = Mover hacia arriba\r
-action.remove_return_datatype = Borrar tipo de datos de retorno\r
-action.add_return_datatype = Añadir tipo de datos de retorno\r
-action.remove_input_parameter = Borrar el parámetro de entrada seleccionado\r
-action.add_input_parameter = Añadir parámetro de entrada seleccionado\r
-action.edit = Editar\r
-action.new = Nuevo\r
-action.open_file = Abrir fichero\r
-action.show_unconserved = Mostrar regiones no conservadas\r
-action.open_new_aligmnent = Abrir nuevo alineamiento\r
-action.raise_associated_windows = Destacar ventanas asociadas\r
-action.minimize_associated_windows = Minimizar ventanas asociadas\r
-action.close_all = Cerrar todo\r
-action.load_project = Cargar proyecto\r
-action.save_project = Guardar proyecto\r
-action.quit = Salir\r
-action.expand_views = Expandir vistas\r
-action.gather_views = Capturar vistas\r
-action.page_setup = Configuración de la página\r
-action.reload = Recargar\r
-action.load = Cargar\r
-action.open = Abrir\r
-action.cancel = Cancelar\r
-action.create = Crear\r
-action.update = Actualizar\r
-action.delete = Borrar\r
-action.snapshot = Imagen\r
-action.clear = Limpiar\r
-action.accept = Aceptar\r
-action.select_ddbb = --- Seleccionar base de datos ---\r
-action.undo = Deshacer\r
-action.redo = Rehacer\r
-action.reset = Reiniciar\r
-action.remove_left = Eliminar parte izquierda\r
-action.remove_right = Eliminar parte derecha\r
-action.remove_empty_columns = Eliminar las columnas vacías\r
-action.remove_all_gaps = Eliminar todos los huecos\r
-action.left_justify_alignment = Ajustar el alineamiento a la izquierda\r
-action.right_justify_alignment = Ajustar el alineamiento a la derecha\r
-action.boxes = Casillas\r
-action.text = Texto\r
-action.by_pairwise_id = Identificar por parejas\r
-action.by_id = Por identificador\r
-action.by_length = Por longitud\r
-action.by_group = Por grupo\r
-action.remove = Eliminar\r
-action.remove_redundancy = Eliminar redundancia...\r
-action.pairwise_alignment = Alineamiento de pares...\r
-action.by_rna_helixes = Por hélices de RNA\r
-action.user_defined = Definido por el usuario...\r
-action.by_conservation = Por conservación\r
-action.wrap = Envolver\r
-action.show_gaps = Mostrar huecos\r
-action.show_hidden_markers = Mostrar marcadores ocultos\r
-action.find = Buscar\r
-action.undefine_groups = Grupos sin definir\r
-action.create_groups = Crear grupos\r
-action.make_groups_selection = Hacer grupos para seleccionar\r
-action.copy = Copiar\r
-action.cut = Cortar\r
-action.font = Fuente...\r
-action.scale_above = Escala superior\r
-action.scale_left = Escala izquierda\r
-action.scale_right = Escala derecha\r
-action.by_tree_order = Por orden del árbol\r
-action.sort = Ordenar\r
-action.calculate_tree = Calcular árbol\r
-action.help = Ayuda\r
-action.by_annotation = Por anotación...\r
-action.invert_sequence_selection = Invertir selección de secuencias\r
-action.invert_column_selection = Invertir selección de columnas\r
-action.show = Mostrar\r
-action.hide = Ocultar\r
-action.ok = OK\r
-action.set_defaults = Defecto\r
-action.create_group = Crear grupo\r
-action.remove_group = Eliminar grupo\r
-action.edit_group = Editar grupo\r
-action.border_colour = Color del borde\r
-action.edit_new_group = Editar nuevo grupo\r
-action.hide_sequences = Ocultar secuencias\r
-action.sequences = Secuencias\r
-action.ids = IDS\r
-action.ids_sequences = IDS y secuencias\r
-action.reveal_all = Revelar todo\r
-action.reveal_sequences = Revelar secuencias\r
-action.find_all = Buscar todo\r
-action.find_next = Buscar siguiente\r
-action.file = Archivo\r
-action.view = Ver \r
-action.change_params = Cambiar parámetros\r
-action.apply = Aplicar\r
-action.apply_threshold_all_groups = Aplicar umbral a todos los grupos\r
-action.apply_all_groups = Aplicar a todos los grupos\r
-action.by_chain = Por cadena\r
-action.by_sequence = Por secuencia\r
-action.paste_annotations = Pegar anotaciones\r
-action.format = Formato\r
-action.select = Seleccionar\r
-action.new_view = Nueva vista\r
-action.close = Cerrar\r
-action.add = Añadir\r
-action.save_as_default = Guardar como por defecto\r
-action.save_as = Guardar como\r
-action.save = Guardar\r
-action.cancel_fetch = Cancelar búsqueda\r
-action.save_omit_hidden_columns = Guardar / Omitir las columnas ocultas\r
-action.change_font = Cambiar Fuente\r
-action.change_font_tree_panel = Cambiar fuente (panel del árbol)\r
-action.colour = Color\r
-action.calculate = Calcular\r
-action.select_all = Seleccionar Todo\r
-action.deselect_all = Deseleccionar Todo\r
-action.invert_selection = Invertir selección\r
-action.using_jmol = Usar Jmol\r
-action.link = Enlazar\r
-action.group_link = Enlazar grupo\r
-action.show_chain = Mostrar cadena\r
-action.show_group = Mostrar grupo\r
-action.fetch_db_references = Recuperar referencias a base de datos\r
-action.view_flanking_regions = Mostrar flancos\r
-label.view_flanking_regions = Mostrar los datos de la secuencia a ambos lados de las subsecuencias implicadas en este alineamiento\r
-label.str = Str: \r
-label.seq = Seq: \r
-label.structures_manager = Administrar estructuras\r
-label.nickname = Sobrenombre:\r
-label.url = URL: \r
-label.input_file_url = Introducir URL en el fichero de entrada\r
-label.select_feature = Seleccionar función:\r
-label.name = Nombre:\r
-label.name_param = Nombre: {0}\r
-label.group = Grupo:\r
-label.group_name = Nombre del grupo\r
-label.group_description = Descripción del grupo\r
-label.edit_group_name_description = Editar nombre/descripción del grupo\r
-label.colour = Color:\r
-label.description = Descripción:\r
-label.start = Comenzar:\r
-label.end = Terminar:\r
-label.current_parameter_set_name = Nombre actual del conjunto de parámetros:\r
-label.service_action = Acción de servicio:\r
-label.post_url = POST URL: \r
-label.url_suffix = URL Sufijo\r
-label.sequence_source = Fuente de la secuencia\r
-label.per_seq = por secuencia\r
-label.result_vertically_separable = Los resultados son separables verticalmente\r
-label.amend = Modificar\r
-label.undo_command = Deshacer {0}\r
-label.redo_command = Rehacer {0}\r
-label.principal_component_analysis = Análisis del Componente Principal\r
-label.average_distance_identity = Distancia Media Usando % de Identidad\r
-label.neighbour_joining_identity = Unir vecinos utilizando % de Identidad\r
-label.treecalc_title = {0} utilizando {1}\r
-label.tree_calc_av = Distancia media\r
-label.tree_calc_nj = Unir vecinos\r
-label.select_score_model = Selecciones modelo de puntuación\r
-label.score_model_pid = % Identidad\r
-label.score_model_blosum62 = BLOSUM62\r
-label.score_model_pam250 = PAM 250\r
-label.score_model_conservation = Conservación de las propiedades físico-químicas\r
-label.score_model_enhconservation = Conservación de las propiedades físico-químicas\r
-label.status_bar = Barra de estado\r
-label.out_to_textbox = Generar cuadro de texto\r
-label.clustalx = Clustalx\r
-label.clustal = Clustal\r
-label.zappo = Zappo\r
-label.taylor = Taylor\r
-label.blc = BLC\r
-label.fasta = Fasta\r
-label.msf = MSF\r
-label.pfam = PFAM\r
-label.pileup = Pileup\r
-label.pir = PIR\r
-label.hydrophobicity = Hidrofobicidad\r
-label.helix_propensity = Tendencia de la hélice\r
-label.strand_propensity = Tendencia de la hebra\r
-label.turn_propensity = Tendencia de giro\r
-label.buried_index = Índice de encubrimiento\r
-label.purine_pyrimidine = Purina/Pirimidina\r
-label.percentage_identity = Porcentaje de identidad\r
-label.blosum62 = BLOSUM62\r
-label.blosum62_score = Puntuación del BLOSUM62 \r
-label.tcoffee_scores = Puntuación del T-Coffee\r
-label.average_distance_bloslum62 = Distancia Media Usando BLOSUM62\r
-label.neighbour_blosum62 = Neighbour Joining usando BLOSUM62\r
-label.show_annotations = Mostrar anotaciones\r
-label.colour_text = Color del texto\r
-label.show_non_conversed = Mostrar no conservadas\r
-label.overview_window = Ventana resumen\r
-label.none = Ninguno\r
-label.above_identity_threshold = Por encima del umbral de identidad\r
-label.show_sequence_features = Mostrar las características de las secuencias\r
-label.nucleotide = Nucleótido\r
-label.to_new_alignment = A nuevo alineamiento\r
-label.to_this_alignment = Añadir a este alineamiento\r
-label.apply_colour_to_all_groups = Aplicar color a todos los grupos\r
-label.modify_identity_thereshold = Modificar el umbral de identidad...\r
-label.modify_conservation_thereshold = Modificar el umbral de conservación...\r
-label.input_from_textbox = Introducir desde el cuadro de texto\r
-label.centre_column_labels = Centrar las etiquetas de las columnas\r
-label.automatic_scrolling = Desplazamiento automático\r
-label.documentation = Documentación\r
-label.about = Acerca de...\r
-label.show_sequence_limits = Mostrar los límites de la secuencia\r
-label.feature_settings = Ajustar funciones...\r
-label.sequence_features = Funciones de la secuencia\r
-label.all_columns = Todas las columnas\r
-label.all_sequences = Todas las secuencias\r
-label.selected_columns = Columnas seleccionadas\r
-label.selected_sequences = Secuencias seleccionadas\r
-label.all_but_selected_region = Todo menos la región seleccionada (Shift+Ctrl+H)\r
-label.selected_region = Región seleccionada\r
-label.all_sequences_columns = Todas las secuencias y columnas\r
-label.group_consensus = Consenso de grupo\r
-label.group_conservation = Conservación de grupo\r
-label.show_consensus_histogram = Mostrar el histograma de consenso\r
-label.show_consensus_logo = Mostrar el logo de consenso\r
-label.norm_consensus_logo = Normalizar el logo de consenso\r
-label.apply_all_groups = Aplicar a todos los grupos\r
-label.autocalculated_annotation = Anotación autocalculada\r
-label.min_colour = Color mínimo\r
-label.max_colour = Color máximo\r
-label.use_original_colours = Usar colores originales\r
-label.threshold_minmax = El umbral es mín/máx\r
-label.represent_group_with = Representar al grupo con\r
-label.selection = Seleccionar\r
-label.group_colour = Color del grupo\r
-label.sequence = Secuencia\r
-label.view_pdb_structure = Ver estructura PDB\r
-label.min = Mín:\r
-label.max = Máx:\r
-label.colour_by_label = Color por etiquetas\r
-label.new_feature = Nueva función\r
-label.match_case = Hacer corresponder mayúsculas y minúsculas\r
-label.view_alignment_editor = Ver en el editor de alineamientos\r
-label.labels = Etiquetas\r
-label.output_values = Valores de salida...\r
-label.output_points = Puntos de salida...\r
-label.output_transformed_points = Puntos de salida transformados\r
-label.input_data = Datos de entrada...\r
-label.nucleotide_matrix = Matriz nucleotídica\r
-label.protein_matrix = Matriz proteica\r
-label.show_bootstrap_values = Mostrar valores de Bootstrap\r
-label.show_distances = Mostrar distancias\r
-label.mark_unassociated_leaves = Marcar hojas no asociadas\r
-label.fit_to_window = Ajustar a la ventana\r
-label.newick_format = Formato Newick\r
-label.select_newick_like_tree_file = Seleccione un fichero de árbol tipo Newick\r
-label.colours = Colores\r
-label.view_mapping = Ver mapeado\r
-label.wireframe = Estructura metálica\r
-label.depthcue = Clave de profundidad\r
-label.z_buffering = Tamponamiento Z\r
-label.charge_cysteine = Carga & Cisteína\r
-label.all_chains_visible = Todas las cadenas visibles\r
-label.successfully_added_features_alignment = Funciones añadidas exitosamente al alineamiento\r
-label.keyboard_editing_mode = El modo de editar teclado es {0}\r
-label.paste_features_annotations_Tcoffee_here = Pegar tus funciones / anotaciones / puntuación del fichero T-coffee aquí.\r
-label.removed_columns = {0} columnas eliminadas.\r
-label.removed_empty_columns = {0} columnas vacías eliminadas.\r
-label.paste_newick_tree_file = Pegar su fichero árbol Newick aquí. \r
-label.order_by_params = Ordenar por {0}\r
-label.html_content = <html>{0}</html>\r
-label.paste_pdb_file= Pegar tu fichero PDB aquí.\r
-label.paste_pdb_file_for_sequence = Pegar fichero PDB para la secuencia {0}\r
-label.could_not_parse_newick_file  = No se pudo analizar el fichero Newick\\\!\\n {0}\r
-label.successfully_pasted_tcoffee_scores_to_alignment= Pegada exitosamente la puntuación T-Coffee al alineamiento.\r
-label.failed_add_tcoffee_scores = Fallo al añadir las puntuaciones T-Coffee: \r
-label.successfully_pasted_annotation_to_alignment = Anotación pegada exitosamente al alineamiento.\r
-label.couldnt_parse_pasted_text_as_valid_annotation_feature_GFF_tcoffee_file = No es posible parsear el texto pegado como una anotación características, GFF, o fichero T-Coffee válidos\r
-label.successfully_pasted_alignment_file = Fichero de alineamiento pegado exitosamente\r
-label.paste_your_alignment_file = Pegar su fichero de alineamiento aquí\r
-label.paste_your = Pegar su\r
-label.finished_searching = Búsqueda finalizada\r
-label.search_results= Buscar Resultados {0} : {1}\r
-label.found_match_for = Buscar coincidencia para {0}\r
-label.font = Fuente:\r
-label.size = Talla:\r
-label.style = Estilo:\r
-label.enter_redundancy_threshold = Introducir el umbral de redundancia\r
-label.calculating = Calculando....\r
-label.modify_conservation_visibility = Modificar la visibilidad de conservación\r
-label.colour_residues_above_occurence = Residuos de color por encima del % de aparición \r
-label.set_this_label_text = fijar como etiqueta \r
-label.sequences_from = Secuencias de {0}\r
-label.successfully_loaded_file  = Fichero cargado exitosamente {0}\r
-label.successfully_saved_to_file_in_format = Guardado exitosamente en el fichero: {0} en formato {1}.\r
-label.copied_sequences_to_clipboard = Copiadas {0} secuencias en el portapapeles.\r
-label.check_file_matches_sequence_ids_alignment = Comprobar que el fichero coincide con el ID de la secuencia en el alineamiento.\r
-label.problem_reading_tcoffee_score_file = Problema de lectura del fichero de puntuaciones T-COFFEE\r
-label.source_to_target = {0} a '{1}'\r
-label.per_sequence_only= Sólo por secuencia\r
-label.to_file = a fichero\r
-label.to_textbox = a cuadro de texto\r
-label.jalview = Jalview\r
-label.csv_spreadsheet = CSV (Hoja de cálculo)\r
-label.status =  [Estado]\r
-label.channels = Canales\r
-label.channel_title_item_count = {0} ({1})\r
-label.blog_item_published_on_date = {0} {1} \r
-label.select_das_service_from_table = Seleccionar servicio DAS de la tabla para leer una descripción completa aquí.\r
-label.session_update = Actualizar sesión\r
-label.new_vamsas_session = Nueva sesión Vamsas\r
-label.load_vamsas_session = Cargar sesión Vamsas\r
-label.save_vamsas_session = Guardar sesión Vamsas\r
-label.select_vamsas_session_opened_as_new_vamsas_session= Selecciones una sesión vamsas para abrirla como una nueva sesión.\r
-label.open_saved_vamsas_session = Abrir una sesión VAMSAS guardada\r
-label.groovy_console = Consola Groovy \r
-label.lineart = lineart\r
-label.dont_ask_me_again = No volver a preguntar\r
-label.select_eps_character_rendering_style = Seleccionar el carácter EPS como estilo de visualización \r
-label.invert_selection = Invertir selección\r
-label.optimise_order = Optimizar orden\r
-label.seq_sort_by_score = Ordenar las secuencias por puntuación\r
-label.load_colours = Cargar colores\r
-label.save_colours = Guardar colores\r
-label.fetch_das_features = Recuperar funciones DAS\r
-label.selected_database_to_fetch_from = Seleccionada {0} Base de datos {1} para buscar de {2} \r
-label.database_param = Base de datos: {0}\r
-label.example = Ejemplo\r
-label.example_param = Ejemplo: {0}\r
-label.select_file_format_before_saving = Debe seleccionar un formato de fichero antes de guardar!\r
-label.file_format_not_specified = Formato de fichero no especificado\r
-label.alignment_contains_hidden_columns = El alineamiento contiene columnas ocultas.\\nQuieres guardar s\u00F3lo el alineamiento visible?\r
-label.couldnt_save_file = No se pudo guardar el fichero: {0}\r
-label.error_saving_file = Error guardando el fichero\r
-label.remove_from_default_list = eliminar de la lista de defectuosos?\r
-label.remove_user_defined_colour = Eliminar el color definido por el usuario\r
-label.you_must_select_least_two_sequences = Debes seleccionar al menos 2 secuencias.\r
-label.invalid_selection = Selección inválida\r
-label.principal_component_analysis_must_take_least_four_input_sequences = El an\u00E1lisis de la componente principal debe tomar\\nal menos 4 secuencias de entrada.\r
-label.sequence_selection_insufficient = Selección de secuencias insuficiente\r
-label.you_need_more_two_sequences_selected_build_tree = necesitas seleccionar más de dos secuencias para construir un árbol!\r
-label.not_enough_sequences = No suficientes secuencias\r
-label.selected_region_to_tree_may_only_contain_residues_or_gaps = La regi\u00F3n seleccionada para construir un \u00E1rbol puede\\ncontener s\u00F3lo residuos o espacios.\\nPrueba usando la funci\u00F3n Pad en el men\u00FA de edici\u00F3n,\\n o uno de los m\u00FAltiples servicios web de alineamiento de secuencias.\r
-label.sequences_selection_not_aligned = Las secuencias seleccionadas no están alineadas\r
-label.sequences_must_be_aligned_before_creating_tree = Las secuencias deben estar alineadas antes de crear el \u00E1rbol.\\nPrueba usando la funci\u00F3n Pad en el men\u00FA de editar,\\n o uno de los m\u00FAltiples servicios web de alineamiento de secuencias.\r
-label.sequences_not_aligned = Secuencias no alineadas\r
-label.problem_reading_tree_file =  Problema al leer el fichero del árbol\r
-label.possible_problem_with_tree_file = Posible problema con el fichero del árbol\r
-label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation = Por favor seleccionar al menos tres bases de al menos una secuencia para poder realizar la traducción de cDNA.\r
-label.translation_failed = Translation Failed\r
-label.error_when_translating_sequences_submit_bug_report = Desafortunadamente, algo fue mal a la hora de traducir tus secuencias.\\nPor favor, revisa la consola Jalview java \\ny presenta un informe de error que incluya el seguimiento.\r
-label.implementation_error  = Error de implementación:\r
-label.automatically_associate_pdb_files_with_sequences_same_name = Quieres asociar automáticamente los {0} ficheros PDB con las secuencias del alineamiento que tengan el mismo nombre?\r
-label.automatically_associate_pdb_files_by_name = Asociar los ficheros PDB por nombre automáticamente\r
-label.ignore_unmatched_dropped_files_info = Quieres <em>ignorar</em> los {0} ficheros cuyos nombres no coincidan con ningún IDs de las secuencias ?\r
-label.ignore_unmatched_dropped_files = Ignorar los ficheros sin coincidencias?\r
-label.enter_view_name = Introducir nombre visible (¿?)\r
-label.enter_label = Introducir etiqueta\r
-label.enter_label_for_the_structure = Introducir una etiqueta para la estructura?\r
-label.pdb_entry_is_already_displayed = {0} Ya est\u00E1 mostrado.\\nQuieres volver a usar este visor?\r
-label.map_sequences_to_visible_window = Mapa de secuencias en ventana visible: {0}\r
-label.add_pdbentry_to_view = Quieres a\u00F1adir {0} a la vista llamada\\n'{1}'\\n\r
-label.align_to_existing_structure_view = Alinear a una estructura ya existente\r
-label.pdb_entries_couldnt_be_retrieved = Las siguientes entradas pdb no pueden ser extra\u00EDdas del PDB\\\:\\n{0}\\nPor favor, prueba descarg\u00E1ndolas manualmente.\r
-label.couldnt_load_file = No se pudo cargar el fichero\r
-label.couldnt_find_pdb_id_in_file = No se pudo encontrar un Id PDB en el fichero suministrado. Por favor, introduzca un Id para identificar esta estructura.\r
-label.no_pdb_id_in_file = No hay un Id PDB en el fichero\r
-label.couldnt_read_pasted_text = No se pudo leer el texto pegado {0}\r
-label.error_parsing_text = Error analizando el texto\r
-label.enter_local_das_source = Intruduzca el Nickname & URL de la fuente DAS local\r
-label.you_can_only_edit_or_remove_local_das_sources = Sólo puedes editar o eliminar fuentes DAS locales!\r
-label.public_das_source = Fuente pública DAS - no editable\r
-label.input_alignment_from_url = Alineamiento de entrada desde URL\r
-label.input_alignment = Alineamiento de entrada\r
-label.couldnt_import_as_vamsas_session = No se pudo importar '{0}' como una nueva sesión Vamsas.\r
-label.vamsas_document_import_failed =  Fallo en la importación del documento Vamsas\r
-label.couldnt_locate = No se pudo localizar {0}\r
-label.url_not_found = URL no encontrada\r
-label.no_link_selected = Enlace no seleccionado\r
-label.new_sequence_url_link = Enlace a una nueva secuencia URL\r
-label.cannot_edit_annotations_in_wrapped_view = No se pueden editar anotaciones en vista envolvente\r
-label.wrapped_view_no_edit = Vista envolvente - no editar\r
-label.error_retrieving_data = Error en la recuperación de datos\r
-label.user_colour_scheme_must_have_name = El esquema de colores del usuario debe tener un nombre\r
-label.no_name_colour_scheme = No hay nombre para el esquema de colores \r
-label.invalid_url = URL Invalido!\r
-label.error_loading_file = Error al cargar el fichero\r
-label.problems_opening_file = Encontrados problemas al abrir el fichero {0}!!\r
-label.file_open_error = Error al abrir el fichero\r
-label.no_das_sources_selected_warn = No han sido seleccionadas fuentes DAS.\\nPor favor, seleccione algunas fuentes y\\npruebe de nuevo.\r
-label.no_das_sources_selected_title = No han sido seleccionadas fuentes DAS\r
-label.colour_scheme_exists_overwrite = El esquema de colores {0} ya existe.\\nContinuar guardando el esquema de colores como {1}?"\r
-label.duplicate_scheme_name = Duplicar nombre de esquema\r
-label.jalview_new_questionnaire = Hay un nuevo cuestionario disponible. Querr\u00EDa completarlo ahora ?\\n\r
-label.jalview_user_survey = Encuesta de usuario Jalview \r
-label.alignment_properties = Propiedades del alineamiento: {0}\r
-label.alignment_props = Propiedades del alineamiento\r
-label.input_cut_paste = Cortar y pegar la entrada\r
-label.input_cut_paste_params = Cortar y pegar la entrada - {0}\r
-label.alignment_output_command = Alineamiento de salida - {0}\r
-label.annotations = Anotaciones\r
-label.features = Funciones\r
-label.overview_params = Visión general {0}\r
-label.paste_newick_file = Pegar nuevo fichero Newick\r
-label.load_tree_from_file = desde fichero - \r
-label.colour_by_annotation = Color por anotación\r
-label.selection_output_command = Seleccionar salida - {0}\r
-label.annotation_for_displayid = <p><h2>Anotación para {0} </h2></p><p>\r
-label.pdb_sequence_mapping = PDB - Mapeado de secuencia\r
-label.pca_details = detalles de la PCA\r
-label.redundancy_threshold_selection = Selección del umbral de redundancia\r
-label.user_defined_colours = Colores definidos del usuario\r
-label.jalviewLite_release = JalviewLite - versión {0}\r
-label.jaview_build_date = Fecha de creación: {0}\r
-label.jalview_authors_1 = Authors:  Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,\r
-label.jalview_authors_2 = Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.\r
-label.jalview_dev_managers = Desarrollo gestionado por The Barton Group, University of Dundee, Scotland, UK.\r
-label.jalview_distribution_lists = Para ayuda, ver el FAQ at www.jalview.org y/o adjuntar la lista de envío jalview-discuss@jalview.org\r
-label.jalview_please_cite = Si usa Jalview incluya la siguiente cita, por favor:\r
-label.jalview_cite_1_authors = Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)\r
-label.jalview_cite_1_title = Jalview Version 2 - un editor de alineamiento múltiple de secuencias y banco de trabajo de análisis\r
-label.jalview_cite_1_ref =  Bioinformaticos doi: 10.1093/bioinformatics/btp033\r
-label.right_click = clic en el botón derecho\r
-label.to_add_annotation = para añadir anotación\r
-label.alignment_has_no_annotations = El alineamiento no tiene anotaciones\r
-label.retrieving_pdb_data = Recuperación de datos PDB...\r
-label.label = Etiqueta\r
-label.no_features_added_to_this_alignment = No hay funciones asociadas a este alineamiento!!\r
-label.features_can_be_added_from_searches_1 = (Las funciones pueden ser añadidas de búsquedas o\r
-label.features_can_be_added_from_searches_2 = de ficheros de funciones Jalview / GFF)\r
-label.calculating_pca= Calculando PCA\r
-label.reveal_columns = Mostrar Columnas\r
-label.jalview_cannot_open_file = Jalview no puede abrir el fichero\r
-label.jalview_applet = Aplicación Jalview  \r
-label.loading_data = Cargando datos\r
-label.memory_stats = Memoria libre total: {0} MB; Memoria máxima: {1} MB; {2} %\r
-label.calculating_tree = Calculando árbol\r
-label.state_queueing = En cola \r
-label.state_running = Procesando\r
-label.state_complete = Completar\r
-label.state_completed = Finalizado\r
-label.state_job_cancelled = ¡Trabajo cancelado!\r
-label.state_job_error = Error del trabajo!\r
-label.server_error_try_later = ¡Error del servidor! (Intentar más tarde)\r
-label.error_loading_pdb_data = ¡Error cargando los datos PDB!\r
-label.fetching_pdb_data = Buscando los datos PDB...\r
-label.structure_type = Estructura_tipo\r
-label.settings_for_type = Ajustes para {0}\r
-label.view_full_application = Ver en la aplicación completa \r
-label.load_associated_tree = Cargar árbol asociado ...\r
-label.load_features_annotations = Cargar características/anotaciones ...\r
-label.export_features = Exportar características...\r
-label.export_annotations = Exportar anotaciones ...\r
-label.jalview_copy = Copiar (sólo Jalview)\r
-label.jalview_cut = Cortar (sólo Jalview)\r
-label.to_upper_case = Pasar a mayúsculas\r
-label.to_lower_case = Pasar a minúsculas\r
-label.toggle_case = Alternar mayúsculas y minúsculas\r
-label.edit_name_description = Editar nombre/descripción\r
-label.create_sequence_feature = Crear función de secuencia\r
-label.edit_sequence = Editar secuencia\r
-label.edit_sequences = Editar secuencias\r
-label.sequence_details = Detalles de la secuencia\r
-label.jmol_help = Ayuda de Jmol \r
-label.all = Todo\r
-label.sort_by = Ordenar por\r
-label.sort_by_score = Ordenar por puntuación\r
-label.sort_by_density = Ordenar por densidad\r
-label.sequence_sort_by_density = Ordenar las secuencias por densidad\r
-label.reveal = Revelar\r
-label.hide_columns = Ocultar columnas\r
-label.load_jalview_annotations = Cargar un fichero de anotación de Jalivew o un fichero de características\r
-label.load_tree_file = Cargar un fichero de árbol\r
-label.retrieve_parse_sequence_database_records_alignment_or_selected_sequences = Recuperar y parsear un registro de secuencia de base de datos para el alineamiento o secuencias actualmente seleccionados\r
-label.standard_databases = Bases de datos estándar\r
-label.fetch_embl_uniprot = Recuperar de EMBL/EMBLCDS o Uniprot/PDB y de cualquier fuente DAS seleccionada\r
-label.reset_min_max_colours_to_defaults = Reiniciar los colores min y max colours a los valores por defecto establecidos en las preferencias de usuario\r
-label.align_structures_using_linked_alignment_views = Alinear las estructuras utlizando las {0} vistas de alineamiento enlazadas\r
-label.connect_to_session = Conectar a la sesión {0}\r
-label.threshold_feature_display_by_score = Filtrar la característica mostrada por puntuación.\r
-label.threshold_feature_no_thereshold = Sin umbral\r
-label.threshold_feature_above_thereshold = Por encima del umbral\r
-label.threshold_feature_below_thereshold = Por debajo del umbral\r
-label.adjust_thereshold = Ajustar umbral\r
-label.toggle_absolute_relative_display_threshold = Cambiar entre mostrar el umbral absoluto y el relativo.\r
-label.display_features_same_type_different_label_using_different_colour = Mostrar las características del mismo tipo con una etiqueta diferente y empleando un color distinto (p.e. características del dominio)\r
-label.select_colour_minimum_value = Seleccionar el color para el valor mínimo\r
-label.select_colour_maximum_value = Seleccionar el color para el valor máximo\r
-label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment = Abrir una nueva vista Jmol con todas las estructuras asociadas con la selección acxtual y superponer las utilizando el alineamiento.\r
-label.open_url_param = Abrir URL {0}\r
-label.open_url_seqs_param = Abrir URL ({0}..) ({1} secuencias)\r
-label.load_pdb_file_associate_with_sequence = Cargar un fichero PDB y asociarlo con la secuencia '{0}'\r
-label.reveal_hidden_columns = Revelar las columnas ocultas con el botón derecho del ratón\r
-label.dark_colour = Oscurecer color\r
-label.light_colour = Aclarar color\r
-label.highlightnode = Pulse el botón izquierdo para seleccionar las hojas.<br>Haga doble clic para invertir las hojas.<br>Pulse el botón derecho para cambiar el color.\r
-label.load_colour_scheme = Cargar esquema cromático\r
-label.toggle_enabled_views = Cuando está habilitado, permite que se seleccionen varias vistas.\r
-label.edit_notes_parameter_set = Haga clic para editar las notas de este conjunto de parámetros.\r
-label.open_local_file = Abrir fichero local\r
-label.enable_automatically_sort_alignment_when_open_new_tree = Habilite esta opción para ordenar automáticamente<br>el alineamiento cuando abra<br> un nuevo árbol.\r
-label.listen_for_selections = Atención a las selecciones\r
-label.selections_mirror_selections_made_same_sequences_other_views = Cuando está habilitado, las selecciones de esta vista serán un reflejo<br>de las selecciones realizadas en las mismas secuencias de otras vistas.\r
-label.toggle_sequence_visibility = Shift+H cambia la visibilidad de la secuencia\r
-label.toggle_columns_visibility = Ctrl+H cambia la visibilidad de la columna\r
-label.toggles_visibility_hidden_selected_regions = H cambiar la visibilidad de las regiones ocultas o seleccionadas\r
-label.rename_tab_eXpand_reGroup=  Haga clic en el botón derecho para renombrar la pestaña<br>Presione X para expandir las tablas y G para reagrupar.\r
-label.right_align_sequence_id = Alinear a la derecha el ID de la secuencia\r
-label.sequence_id_tooltip = Ayuda del ID de la secuencia\r
-label.no_services = <Sin Servicios>\r
-label.select_copy_raw_html = Seleccione esta opción si desea copiar el html en bruto\r
-label.share_data_vamsas_applications = Compartir datos con otras aplicaciones vamsas\r
-label.connect_to = Conectar a\r
-label.join_existing_vamsas_session = Unirse a una sesión vamsas existente\r
-label.from_url = desde una URL\r
-label.any_trees_calculated_or_loaded_alignment_automatically_sort = Cuando está habilitado, cualquier árbol calculado o cargado en el alineamiento lo ordenará\r
-label.sort_with_new_tree = Ordenar con el nuevo árbol\r
-label.from_textbox = desde un área de texto\r
-label.window = Ventana\r
-label.preferences = Preferencias\r
-label.tools = Herramientas\r
-label.fetch_sequences = Recuperar secuencia(s)\r
-label.stop_vamsas_session = Parar sesión vamsas\r
-label.collect_garbage = Recolector de basura\r
-label.show_memory_usage = Mostrar uso de memoria\r
-label.show_java_console = Mostrar consola de Java\r
-label.show_jalview_news = Mostrar las noticias de Jalview\r
-label.take_snapshot = Tomar captura\r
-label.monospaced_fonts_faster_to_render = Las fuentes monoespaciadas son más rápidas de pintar\r
-label.anti_alias_fonts = Fuentes anti-alias (más lentas de pintar)\r
-label.monospaced_font= Monoespaciadas\r
-label.quality = Calidad\r
-label.maximize_window = Maximizar ventana\r
-label.conservation = Conservación\r
-label.consensus = Consenso\r
-label.histogram = Histograma\r
-label.logo = Logo\r
-label.non_positional_features = Características no posicionales\r
-label.database_references = Referencias a base de datos\r
-label.share_selection_across_views = Compartir la selección en todas las vistas\r
-label.scroll_highlighted_regions = Desplazarse hasta las regiones resaltadas\r
-label.gap_symbol = Símbolo del hueco\r
-label.alignment_colour = Color del alineamiento\r
-label.address = Dirección\r
-label.port = Puerto\r
-label.default_browser_unix = Navegador por defecto (Unix)\r
-label.send_usage_statistics = Enviar estadísticas de uso\r
-label.check_for_questionnaires = Comprobar los cuestionarios\r
-label.check_for_latest_version = Comprobar la última versión\r
-label.url_linkfrom_sequence_id = URL del enlace del ID de la secuencia\r
-label.use_proxy_server = Utilizar un servidor proxy\r
-label.eps_rendering_style = Estilo de visualización EPS\r
-label.append_start_end = Añadir /inicio-fin (/15-380)\r
-label.full_sequence_id = ID de la secuencia completo\r
-label.smooth_font = Fuente alargada\r
-label.autocalculate_consensus = Autocalcular consenso\r
-label.pad_gaps = Rellenar huecos\r
-label.pad_gaps_when_editing = Rellenar huecos al editar\r
-label.automatically_set_id_width = Establecer automáticamente al anchura del ID\r
-label.figure_id_column_width = Anchura de la columna del ID de la Figura\r
-label.use_modeller_output = Utilizar la salidad del Modeller\r
-label.wrap_alignment = Envolver alineamiento\r
-label.right_align_ids = Alinear IDs a la derecha\r
-label.sequence_name_italics = Nombre de la secuencia en cursiva\r
-label.open_overview = Abrir resumen\r
-label.default_colour_scheme_for_alignment = Esquema cromático por defecto para el alineamiento\r
-label.annotation_shading_default = Sombreado por defecto de la anotación\r
-label.default_minimum_colour_annotation_shading = Por mínimo por defecto para el sombreado de la anotación\r
-label.default_maximum_colour_annotation_shading = Por máximo por defecto para el sombreado de la anotación\r
-label.visual = Visual\r
-label.connections = Conexiones\r
-label.output = Salida\r
-label.editing = Edición\r
-label.das_settings = Configuración DAS\r
-label.web_services = Servicios web\r
-label.right_click_to_edit_currently_selected_parameter = Haga clic en el botón derecho para editar el parámetro seleccionado actualmente.\r
-label.let_jmol_manage_structure_colours = Permitir que Jmol gestione la estructuras cromáticas\r
-label.marks_leaves_tree_not_associated_with_sequence = Marcar las hojas del árbol que no están asociadas a una secuencia\r
-label.index_web_services_menu_by_host_site = Indizar los servicios web en el menú por el host que los aloja\r
-label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up = Marque esta opción si desea ser informado<br>cuando no se pueda acceder a la URL de un servicio web<br>al arrancar Jalview.\r
-label.new_service_url = Nueva URL del servicio\r
-label.edit_service_url = Editar la URL del servicio\r
-label.delete_service_url = Borrar la URL del servicio\r
-label.details = Detalles\r
-label.options = Opciones\r
-label.parameters = Paramétros\r
-label.available_das_sources = Fuentes DAS disponibles\r
-label.full_details = Detalles completos\r
-label.authority = Autoridad\r
-label.type = Tipo\r
-label.proxy_server = Servidor proxy\r
-label.file_output = Fichero de salida\r
-label.select_input_type = Seleccionar el tipo de entrada\r
-label.set_options_for_type = Establecer opciones para el tipo\r
-label.data_input_parameters = Datos de los parámetros de entrada\r
-label.data_returned_by_service = Datos devueltos por el servicio\r
-label.rsbs_encoded_service = Servicio RSBS codificado\r
-label.parsing_errors = Errores de parseo\r
-label.simple_bioinformatics_rest_services = Simple Bioinformatics Rest Services\r
-label.web_service_discovery_urls = URL de descubrimiento de servicios web\r
-label.input_parameter_name = Nombre del parámetro de entrada\r
-label.short_descriptive_name_for_service = Nombre corto descriptivo del servicio\r
-label.function_service_performs = Tipo de función que realiza el servicio (p.e. alineamiento, análisis, búsqueda, etc).\r
-label.brief_description_service = Descripción breve del servicio\r
-label.url_post_data_service = URL a la que enviar los datos del servicio. Incluya cualquier parámetro especial que se necesite aquí\r
-label.optional_suffix = Sufijo opcional añadido a la URL al recuperar los resultados del servicio\r
-label.preferred_gap_character = ¿Qué caracter para el hueco prefiere el servicio?\r
-label.gap_character = Carácter para hueco\r
-label.move_return_type_up_order= Mover el tipo de returno hacia arriba en el orden\r
-label.move_return_type_down_order= Mover el tipo de returno hacia abajo en el orden\r
-label.update_user_parameter_set = Actualizar el conjunto de parámetros de usuario existente\r
-label.delete_user_parameter_set = Borrar el conjunto de parámetros de usuario existente\r
-label.create_user_parameter_set = Crear un nuevo conjunto de parámetro con la configuración actual.\r
-label.revert_changes_user_parameter_set = Deshacer todos los cambios en el conjunto de parámetros actual\r
-label.start_job_current_settings = Arrancar trabajo con la configuración actual\r
-label.cancel_job_close_dialog = Cerrar este diálogo y cancelar el trabajo\r
-label.input_output = Entrada/Salida\r
-label.cut_paste = Cortar y pegar\r
-label.adjusting_parameters_for_calculation = Ajustar los parámetros para el cálculo existente\r
-label.2d_rna_structure_line = 2D RNA {0}\r
-label.2d_rna_sequence_name = 2D RNA - {0}\r
-label.edit_name_and_description_current_group = Editar el nombre y la descripción del grupo actual.\r
-label.view_structure_for = Visualizar la estructura para {0}\r
-label.view_all_structures = Visualizar todas las {0} estructuras.\r
-label.view_all_representative_structures = Visualizar todas las {0} estructuras representativas.\r
-label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment = Abrir una nueva vista de Jmol con todas las estructuras representativas\nasociadas con la selecci\u00F3n actual\nsuperpuesta con el alineamiento actual.\r
-label.associate_structure_with_sequence = Asociar estructura con la secuencia\r
-label.from_file = desde fichero\r
-label.enter_pdb_id = Introducir PDB Id\r
-label.discover_pdb_ids = Buscar PDB ids\r
-label.text_colour = Color del texto\r
-label.structure = Estructura\r
-label.view_structure = Visualizar estructura\r
-label.clustalx_colours = Colores de Clustalx\r
-label.above_identity_percentage = Sobre % identidad\r
-label.create_sequence_details_report_annotation_for = Anotación para {0}\r
-label.sequece_details_for = Detalles de la secuencia para {0}\r
-label.sequence_name = Nombre de la secuencia\r
-label.sequence_description = Descripción de la secuencia\r
-label.edit_sequence_name_description = Editar el nombre/descripción de la secuencia\r
-label.spaces_converted_to_backslashes = Los espacios se han convertido en _\r
-label.no_spaces_allowed_sequence_name = No se permiten espacios en el nombre de la secuencia\r
-label.select_outline_colour = Seleccionar el color del límite\r
-label.web_browser_not_found_unix = Unixers\: No es posible encontrar el navegador web por defecto.\nA\u00F1ada la ruta completa de su navegador en la pesta\u00F1a de Preferencias.\r
-label.web_browser_not_found = No se encuentra el navegador web\r
-label.select_pdb_file_for = Seleccione un fichero PDB para {0}\r
-label.html = HTML\r
-label.wrap = Envolver\r
-label.show_database_refs = Mostrar las referencias en base de datos\r
-label.show_non_positional_features = Mostrar las características no posicionales\r
-label.save_png_image = Guardar como imagen PNG\r
-label.load_tree_for_sequence_set = Cargar un árbol para este conjunto de secuencias\r
-label.export_image = Exportar imagen\r
-label.vamsas_store = Almacén VAMSAS\r
-label.translate_cDNA = Traducir cDNA\r
-label.extract_scores = Extraer puntuaciones\r
-label.get_cross_refs = Obtener referencias cruzadas\r
-label.sort_alignment_new_tree = Alinear el alineamiento con el nuevo árbol\r
-label.add_sequences = Añadir secuencias\r
-label.new_window = Nueva ventana\r
-label.refresh_available_sources = Refrescar las fuentes disponibles\r
-label.use_registry = Utilizar el registro\r
-label.add_local_source = Añadir fuente local\r
-label.set_as_default = Establecer por defecto\r
-label.show_labels = Mostrar etiquetas\r
-label.background_colour = Color de fondo\r
-label.associate_nodes_with = Asociar nodos con\r
-label.jalview_pca_calculation = Cálculo del PCA por Jalview\r
-label.link_name = Nombre del enalce\r
-label.pdb_file = Fichero PDB\r
-label.colour_with_jmol = Colorear con Jmol\r
-label.align_structures = Alinear estructuras\r
-label.jmol = Jmol\r
-label.sort_alignment_by_tree = Ordenar alineamiento por árbol\r
-label.mark_unlinked_leaves = Marcar las hojas como no enlazadas\r
-label.associate_leaves_with = Asociar hojas con\r
-label.save_colour_scheme_with_unique_name_added_to_colour_menu = Guarde el esquema cromáticos con un nombre único y se añadirá al menú de colores\r
-label.case_sensitive = Sensible a mayúsculas\r
-label.lower_case_colour = Color para las minúsculas\r
-label.index_by_host = Indizar por host\r
-label.index_by_type = Indizar por tipo\r
-label.enable_jabaws_services = Habilitar servicios JABAWS\r
-label.display_warnings = Mostrar advertencias\r
-label.move_url_up = Mover la URL hacia arriba\r
-label.move_url_down = Mover la URL hacia abajo\r
-label.add_sbrs_definition = Añadir una definición SBRS \r
-label.edit_sbrs_definition = Editar una definición SBRS \r
-label.delete_sbrs_definition = Borrar una definición SBRS \r
-label.your_sequences_have_been_verified = Sus secuencias has sido verificadas en una base de datos de secuencias conocidas. Algunos de sus ID se han alterado y\n, probablemente, el residuo de inicio/fin se haya actualizado.\nGuarde su alineamiento para mantener el ID actualizado.\n\n \r
-label.sequence_names_updated = Nombres de secuencia actualizados\r
-label.dbref_search_completed = Búsqueda de DBRef terminada\r
-label.show_all_chains = Mostrar todas las cadenas\r
-label.fetch_all_param = Recuperar todas {0}\r
-label.paste_new_window = Pegar en una nueva ventana\r
-label.settings_for_param = Configuración para {0}\r
-label.view_params = Visualizar {0}\r
-label.select_all_views = Seleccionar todas las vistas\r
-label.align_sequences_to_existing_alignment = Alinear las secuencias con el alineamiento existente\r
-label.realign_with_params = Realinear con {0}\r
-label.calcname_with_default_settings = {0} por defecto\r
-label.action_with_default_settings = {0} con la configuración por defecto\r
-label.edit_settings_and_run = Editar la configuración y ejecutar...\r
-label.view_and_change_parameters_before_alignment = Ver y cambiar los parámetros antes del alineamiento\r
-label.run_with_preset_params = Ejecutar {0} con preconfiguración\r
-label.view_and_change_parameters_before_running_calculation = Ver y cambiar los parámetros antes de lanzar el cálculo\r
-label.view_documentation = Ver documentación\r
-label.select_return_type = Seleccionar el tipo de retorno\r
-label.translation_of_params = Traducción de {0}\r
-label.features_for_params = Características de - {0}\r
-label.annotations_for_params = Anotaciones de - {0}\r
-label.generating_features_for_params = Generando características de - {0}\r
-label.generating_annotations_for_params = Generando anotaciones de - {0}\r
-label.varna_params = VARNA - {0}\r
-label.sequence_feature_settings = Configuración de las características de la secuencia\r
-label.pairwise_aligned_sequences = Secuencias alineadas a pares\r
-label.original_data_for_params = Datos originales de {0}\r
-label.points_for_params = Puntos de {0}\r
-label.transformed_points_for_params = Puntos transformados de {0}\r
-label.graduated_color_for_params = Color graduado para la característica de {0}\r
-label.select_backgroud_colour = Seleccionar color de fondo\r
-label.invalid_font = Fuente no válida\r
-label.separate_multiple_accession_ids = Separar los accession id con un punto y coma ";"\r
-label.replace_commas_semicolons = Cambiar comas por puntos y comas\r
-label.parsing_failed_syntax_errors_shown_below_param = Parseo erróneo. A continuación, se muestras los errores de sintaxis {0}\r
-label.parsing_failed_unrecoverable_exception_thrown_param = \nParseo err\u00F3neo. Se ha lanzado una excepci\u00F3n fatal\:\n {0}\r
-label.example_query_param = Consulta de ejemplo: {0}\r
-label.enter_value_increase_conservation_visibility = Introduzca un valor para incrementar la visibilidad de la conservación\r
-label.enter_percentage_identity_above_which_colour_residues = Introduza un % de identidad por encima del cual se colorearán los residuos\r
-label.wswublast_client_credits = Para mostrar las caracter\u00EDsticas de una secuencia, debe indicarse un id de Uniprot cuya secuencia se corresponda al 100 % con la introducida.\nPara mostrar estas caracter\u00EDsticas, prueba a cambar los nombre de sus secuencia con los ID que se sugieren a continuaci\u00F3n.\n\nRunning WSWUBlast at EBI.\nPlease quote Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez R.\nSOAP-based services provided by the European Bioinformatics Institute.\nNucleic Acids Res. 33(1)\:W25-W28 (2005));\r
-label.blasting_for_unidentified_sequence = Ejecutar BLAST para la secuencias sin identificar\r
-label.select_columns_containing = Seleccione las columnas que contengan\r
-label.select_columns_not_containing = Seleccione las columnas que no contengan\r
-option.trim_retrieved_seqs = Ajustar las secuencias recuperadas\r
-label.trim_retrieved_sequences = Cuando la secuencia de referencia es más larga que la secuencia con la que está trabajando, sólo se mantienen las subsecuencias relevantes.\r
-label.use_sequence_id_1 = Utilice $SEQUENCE_ID$ o $SEQUENCE_ID=/<regex>/=$\r
-label.use_sequence_id_2 = \nto para embeber el id de la secuencia en una URL\r
-label.ws_parameters_for = Parámetros para {0}\r
-label.switch_server = Cambiar servidor\r
-label.open_jabaws_web_page = Abre el página principal del servidor JABAWS en un navegador web\r
-label.choose_jabaws_server = Escoja un servidor para ejecutar este servicio\r
-label.services_at = Servicios en {0}\r
-label.rest_client_submit = {0} utilizando {1}\r
-label.fetch_retrieve_from =Recuperar de {0}\r
-label.fetch_retrieve_from_all_sources = Recuperar de todas las fuentes {0} en {1}<br>La primera es :{2} \r
-label.feature_settings_click_drag = Haga clic o arrastre los tipos de las características hacia arriba o hacia abajo para cambiar el orden de visualización.<br/>Haga doble clic para seleccionar las columnas que contienen las características del alineamiento/selección actual.<br/>Presionando Alt seleccionará las columnas exteriores a las características en lugar de las interiores<br/>Presione Shift para modificar la selección actual (en lugar de borrarla)<br/>Presione CTRL o Command/Meta para cambiar las columans externas o internas a las características<br/>\r
-label.opt_and_params_further_details = ver los detalles adicionales haciendo clic en el botón derecho\r
-label.opt_and_params_show_brief_desc_image_link = Haga clic para ver una descripción breve<br><img src="{0}"/>Haga clic en el botón derecho para obtener información adicional. \r
-label.opt_and_params_show_brief_desc = Haga clic para ver una descripción breve<br>\r
-label.adjusts_width_generated_eps_png = Ajusta la anchura del fichero EPS o PNG generado para asegurar incluso que el ID de la secuencia más larga o las etiquetas de anotación se muestran\r
-label.manually_specify_width_left_column = Especificar manualmente la anchura de la columna izquierda en las etiquetas de los ID de la secuencia y las anotaciones se mostrar en las figuras del alineamiento exportado.Esta configuraicón se ignorará si está marcada la opción 'Establecer automáticamente al anchura del ID'\r
-label.job_created_when_checked = Cuando está habilitado, se crea un trabajo para cada secuencia de la selección actual\r
-label.when_checked_job_visible_region_and_results = Cuando está habilitado, se crea un único trabajo para la región visible y los resultados de mapean en su ubicación dentro del alineamiento. En caso contrario, se creará un trabajo para cada región visible y contigua en el alineamiento o selección actual (p.e. un alineamiento múlitple).\r
-label.flat_file_representation = La representación del fichero plano de este servicio utilizando el formalismo Really Simple Bioinformatics Service\r
-label.result_of_parsing_rsbs = Resultados de parsear la representación RSBS\r
-label.user_preset = Preselección de usuario\r
-label.service_preset = Preselección del servicio\r
-label.run_with_preset = Ejecutar {0} con preselección\r
-label.view_service_doc_url = Visualizar <a href="{0}">{1}</a>\r
-label.submit_sequence = Enviar {0} {1} {2} {3} a<br/>{4}\r
-action.by_title_param = por {0}\r
-label.alignment = Alineamiento\r
-label.secondary_structure_prediction = Predicción de la estructura secundaria\r
-label.sequence_database_search = Búsqueda en base de datos de secuencias\r
-label.analysis = Análisis\r
-label.protein_disorder = Desorden en la proteína \r
-label.source_from_db_source = Fuentes de {0}\r
-label.from_msname = de '{0}'\r
-label.superpose_with = Superponer con...\r
-action.do = Hacer\r
-label.scale_label_to_column = Ajustar la etiqueta a la columna\r
-label.add_new_row = Añadir nuevo fila\r
-label.edit_label_description = Editar etiqueta/descripción\r
-label.hide_row = Ocultar esta fila\r
-label.delete_row = Borrar esta fila\r
-label.show_all_hidden_rows = Mostrar todas las filas ocultas\r
-label.export_annotation = Exportar anotación\r
-label.copy_consensus_sequence = Copiar secuencia de consenso\r
-label.helix = Hélice\r
-label.sheet = Hoja\r
-label.rna_helix = Hélice de ARN\r
-label.remove_annotation = Borrar anotación\r
-label.colour_by = Colorear por...\r
-label.muscle_multiple_protein_sequence_alignment = Alineamiento múltiple de secuencias de proteínas con Muscle\r
-label.mafft_multiple_sequence_alignment = Alineamiento múltiple de secuencias con MAFFT\r
-label.clustalw_multiple_sequence_alignment = Alineamiento múltiple de secuencias con ClustalW\r
-label.jnet_secondary_structure_prediction = Predicción de la estructura secundaria con JNet\r
-label.multiharmony = Multi-Harmony\r
-label.unable_start_web_service_analysis = No es posible iniciar el servicio web de análisis\r
-label.job_couldnt_be_started_check_input = El trabajo no puede arrancarse. Por favor, compruebe los parámetros de entrada y los mensajes de advertencia de la consola de Jalview.\r
-label.prompt_each_time = Preguntar siempre\r
-label.use_source = Fuente\r
-label.couldnt_save_project = No es posible guardar el proyecto\r
-label.error_whilst_saving_current_state_to = Error mientras se guardaba el estado a {0}\r
-label.error_whilst_loading_project_from = Error cargado el proyecto desde  {0}\r
-label.couldnt_load_project = No es posible cargar el proyecto\r
+action.refresh_services = Refrescar servicios
+action.reset_services = Reiniciar servicios
+action.merge_results = Unificar resultados
+action.load_scheme = Cargar esquema
+action.save_scheme = Guardar esquema
+action.save_image = Guardar imagen
+action.paste = Pegar
+action.show_html_source = Mostrar código HTML
+action.print = Imprimir
+action.web_service = Servicio web
+action.cancel_job = Cancelar trabajo
+action.start_job = Arrancar trabajo
+action.revert = Deshacer
+action.move_down = Mover hacia abajo
+action.move_up = Mover hacia arriba
+action.remove_return_datatype = Borrar tipo de datos de retorno
+action.add_return_datatype = Añadir tipo de datos de retorno
+action.remove_input_parameter = Borrar el parámetro de entrada seleccionado
+action.add_input_parameter = Añadir parámetro de entrada seleccionado
+action.edit = Editar
+action.new = Nuevo
+action.open_file = Abrir fichero
+action.show_unconserved = Mostrar regiones no conservadas
+action.open_new_aligmnent = Abrir nuevo alineamiento
+action.raise_associated_windows = Destacar ventanas asociadas
+action.minimize_associated_windows = Minimizar ventanas asociadas
+action.close_all = Cerrar todo
+action.load_project = Cargar proyecto
+action.save_project = Guardar proyecto
+action.quit = Salir
+action.expand_views = Expandir vistas
+action.gather_views = Capturar vistas
+action.page_setup = Configuración de la página
+action.reload = Recargar
+action.load = Cargar
+action.open = Abrir
+action.cancel = Cancelar
+action.create = Crear
+action.update = Actualizar
+action.delete = Borrar
+action.snapshot = Imagen
+action.clear = Limpiar
+action.accept = Aceptar
+action.select_ddbb = --- Seleccionar base de datos ---
+action.undo = Deshacer
+action.redo = Rehacer
+action.reset = Reiniciar
+action.remove_left = Eliminar parte izquierda
+action.remove_right = Eliminar parte derecha
+action.remove_empty_columns = Eliminar las columnas vacías
+action.remove_all_gaps = Eliminar todos los huecos
+action.left_justify_alignment = Ajustar el alineamiento a la izquierda
+action.right_justify_alignment = Ajustar el alineamiento a la derecha
+action.boxes = Casillas
+action.text = Texto
+action.by_pairwise_id = Identificar por parejas
+action.by_id = Por identificador
+action.by_length = Por longitud
+action.by_group = Por grupo
+action.remove = Eliminar
+action.remove_redundancy = Eliminar redundancia...
+action.pairwise_alignment = Alineamiento de pares...
+action.by_rna_helixes = Por hélices de RNA
+action.user_defined = Definido por el usuario...
+action.by_conservation = Por conservación
+action.wrap = Envolver
+action.show_gaps = Mostrar huecos
+action.show_hidden_markers = Mostrar marcadores ocultos
+action.find = Buscar
+action.undefine_groups = Grupos sin definir
+action.create_groups = Crear grupos
+action.make_groups_selection = Hacer grupos para seleccionar
+action.copy = Copiar
+action.cut = Cortar
+action.font = Fuente...
+action.scale_above = Escala superior
+action.scale_left = Escala izquierda
+action.scale_right = Escala derecha
+action.by_tree_order = Por orden del árbol
+action.sort = Ordenar
+action.calculate_tree = Calcular árbol
+action.help = Ayuda
+action.by_annotation = Por anotación...
+action.invert_sequence_selection = Invertir selección de secuencias
+action.invert_column_selection = Invertir selección de columnas
+action.show = Mostrar
+action.hide = Ocultar
+action.ok = OK
+action.set_defaults = Defecto
+action.create_group = Crear grupo
+action.remove_group = Eliminar grupo
+action.edit_group = Editar grupo
+action.border_colour = Color del borde
+action.edit_new_group = Editar nuevo grupo
+action.hide_sequences = Ocultar secuencias
+action.sequences = Secuencias
+action.ids = IDS
+action.ids_sequences = IDS y secuencias
+action.reveal_all = Revelar todo
+action.reveal_sequences = Revelar secuencias
+action.find_all = Buscar todo
+action.find_next = Buscar siguiente
+action.file = Archivo
+action.view = Ver 
+action.change_params = Cambiar parámetros
+action.apply = Aplicar
+action.apply_threshold_all_groups = Aplicar umbral a todos los grupos
+action.apply_all_groups = Aplicar a todos los grupos
+action.by_chain = Por cadena
+action.by_sequence = Por secuencia
+action.paste_annotations = Pegar anotaciones
+action.format = Formato
+action.select = Seleccionar
+action.new_view = Nueva vista
+action.close = Cerrar
+action.add = Añadir
+action.save_as_default = Guardar como por defecto
+action.save_as = Guardar como
+action.save = Guardar
+action.cancel_fetch = Cancelar búsqueda
+action.save_omit_hidden_columns = Guardar / Omitir las columnas ocultas
+action.change_font = Cambiar Fuente
+action.change_font_tree_panel = Cambiar fuente (panel del árbol)
+action.colour = Color
+action.calculate = Calcular
+action.select_all = Seleccionar Todo
+action.deselect_all = Deseleccionar Todo
+action.invert_selection = Invertir selección
+action.using_jmol = Usar Jmol
+action.link = Enlazar
+action.group_link = Enlazar grupo
+action.show_chain = Mostrar cadena
+action.show_group = Mostrar grupo
+action.fetch_db_references = Recuperar referencias a base de datos
+action.view_flanking_regions = Mostrar flancos
+label.view_flanking_regions = Mostrar los datos de la secuencia a ambos lados de las subsecuencias implicadas en este alineamiento
+label.str = Str: 
+label.seq = Seq: 
+label.structures_manager = Administrar estructuras
+label.nickname = Sobrenombre:
+label.url = URL: 
+label.input_file_url = Introducir URL en el fichero de entrada
+label.select_feature = Seleccionar función:
+label.name = Nombre:
+label.name_param = Nombre: {0}
+label.group = Grupo:
+label.group_name = Nombre del grupo
+label.group_description = Descripción del grupo
+label.edit_group_name_description = Editar nombre/descripción del grupo
+label.colour = Color:
+label.description = Descripción:
+label.start = Comenzar:
+label.end = Terminar:
+label.current_parameter_set_name = Nombre actual del conjunto de parámetros:
+label.service_action = Acción de servicio:
+label.post_url = POST URL: 
+label.url_suffix = URL Sufijo
+label.sequence_source = Fuente de la secuencia
+label.per_seq = por secuencia
+label.result_vertically_separable = Los resultados son separables verticalmente
+label.amend = Modificar
+label.undo_command = Deshacer {0}
+label.redo_command = Rehacer {0}
+label.principal_component_analysis = Análisis del Componente Principal
+label.average_distance_identity = Distancia Media Usando % de Identidad
+label.neighbour_joining_identity = Unir vecinos utilizando % de Identidad
+label.treecalc_title = {0} utilizando {1}
+label.tree_calc_av = Distancia media
+label.tree_calc_nj = Unir vecinos
+label.select_score_model = Selecciones modelo de puntuación
+label.score_model_pid = % Identidad
+label.score_model_blosum62 = BLOSUM62
+label.score_model_pam250 = PAM 250
+label.score_model_conservation = Conservación de las propiedades físico-químicas
+label.score_model_enhconservation = Conservación de las propiedades físico-químicas
+label.status_bar = Barra de estado
+label.out_to_textbox = Generar cuadro de texto
+label.clustalx = Clustalx
+label.clustal = Clustal
+label.zappo = Zappo
+label.taylor = Taylor
+label.blc = BLC
+label.fasta = Fasta
+label.msf = MSF
+label.pfam = PFAM
+label.pileup = Pileup
+label.pir = PIR
+label.hydrophobicity = Hidrofobicidad
+label.helix_propensity = Tendencia de la hélice
+label.strand_propensity = Tendencia de la hebra
+label.turn_propensity = Tendencia de giro
+label.buried_index = Índice de encubrimiento
+label.purine_pyrimidine = Purina/Pirimidina
+label.percentage_identity = Porcentaje de identidad
+label.blosum62 = BLOSUM62
+label.blosum62_score = Puntuación del BLOSUM62 
+label.tcoffee_scores = Puntuación del T-Coffee
+label.average_distance_bloslum62 = Distancia Media Usando BLOSUM62
+label.neighbour_blosum62 = Neighbour Joining usando BLOSUM62
+label.show_annotations = Mostrar anotaciones
+label.colour_text = Color del texto
+label.show_non_conversed = Mostrar no conservadas
+label.overview_window = Ventana resumen
+label.none = Ninguno
+label.above_identity_threshold = Por encima del umbral de identidad
+label.show_sequence_features = Mostrar las características de las secuencias
+label.nucleotide = Nucleótido
+label.to_new_alignment = A nuevo alineamiento
+label.to_this_alignment = Añadir a este alineamiento
+label.apply_colour_to_all_groups = Aplicar color a todos los grupos
+label.modify_identity_thereshold = Modificar el umbral de identidad...
+label.modify_conservation_thereshold = Modificar el umbral de conservación...
+label.input_from_textbox = Introducir desde el cuadro de texto
+label.centre_column_labels = Centrar las etiquetas de las columnas
+label.automatic_scrolling = Desplazamiento automático
+label.documentation = Documentación
+label.about = Acerca de...
+label.show_sequence_limits = Mostrar los límites de la secuencia
+label.feature_settings = Ajustar funciones...
+label.sequence_features = Funciones de la secuencia
+label.all_columns = Todas las columnas
+label.all_sequences = Todas las secuencias
+label.selected_columns = Columnas seleccionadas
+label.selected_sequences = Secuencias seleccionadas
+label.all_but_selected_region = Todo menos la región seleccionada (Shift+Ctrl+H)
+label.selected_region = Región seleccionada
+label.all_sequences_columns = Todas las secuencias y columnas
+label.group_consensus = Consenso de grupo
+label.group_conservation = Conservación de grupo
+label.show_consensus_histogram = Mostrar el histograma de consenso
+label.show_consensus_logo = Mostrar el logo de consenso
+label.norm_consensus_logo = Normalizar el logo de consenso
+label.apply_all_groups = Aplicar a todos los grupos
+label.autocalculated_annotation = Anotación autocalculada
+label.min_colour = Color mínimo
+label.max_colour = Color máximo
+label.use_original_colours = Usar colores originales
+label.threshold_minmax = El umbral es mín/máx
+label.represent_group_with = Representar al grupo con
+label.selection = Seleccionar
+label.group_colour = Color del grupo
+label.sequence = Secuencia
+label.view_pdb_structure = Ver estructura PDB
+label.min = Mín:
+label.max = Máx:
+label.colour_by_label = Color por etiquetas
+label.new_feature = Nueva función
+label.match_case = Hacer corresponder mayúsculas y minúsculas
+label.view_alignment_editor = Ver en el editor de alineamientos
+label.labels = Etiquetas
+label.output_values = Valores de salida...
+label.output_points = Puntos de salida...
+label.output_transformed_points = Puntos de salida transformados
+label.input_data = Datos de entrada...
+label.nucleotide_matrix = Matriz nucleotídica
+label.protein_matrix = Matriz proteica
+label.show_bootstrap_values = Mostrar valores de Bootstrap
+label.show_distances = Mostrar distancias
+label.mark_unassociated_leaves = Marcar hojas no asociadas
+label.fit_to_window = Ajustar a la ventana
+label.newick_format = Formato Newick
+label.select_newick_like_tree_file = Seleccione un fichero de árbol tipo Newick
+label.colours = Colores
+label.view_mapping = Ver mapeado
+label.wireframe = Estructura metálica
+label.depthcue = Clave de profundidad
+label.z_buffering = Tamponamiento Z
+label.charge_cysteine = Carga & Cisteína
+label.all_chains_visible = Todas las cadenas visibles
+label.successfully_added_features_alignment = Funciones añadidas exitosamente al alineamiento
+label.keyboard_editing_mode = El modo de editar teclado es {0}
+label.paste_features_annotations_Tcoffee_here = Pegar tus funciones / anotaciones / puntuación del fichero T-coffee aquí.
+label.removed_columns = {0} columnas eliminadas.
+label.removed_empty_columns = {0} columnas vacías eliminadas.
+label.paste_newick_tree_file = Pegar su fichero árbol Newick aquí. 
+label.order_by_params = Ordenar por {0}
+label.html_content = <html>{0}</html>
+label.paste_pdb_file= Pegar tu fichero PDB aquí.
+label.paste_pdb_file_for_sequence = Pegar fichero PDB para la secuencia {0}
+label.could_not_parse_newick_file  = No se pudo analizar el fichero Newick\\\!\\n {0}
+label.successfully_pasted_tcoffee_scores_to_alignment= Pegada exitosamente la puntuación T-Coffee al alineamiento.
+label.failed_add_tcoffee_scores = Fallo al añadir las puntuaciones T-Coffee: 
+label.successfully_pasted_annotation_to_alignment = Anotación pegada exitosamente al alineamiento.
+label.couldnt_parse_pasted_text_as_valid_annotation_feature_GFF_tcoffee_file = No es posible parsear el texto pegado como una anotación características, GFF, o fichero T-Coffee válidos
+label.successfully_pasted_alignment_file = Fichero de alineamiento pegado exitosamente
+label.paste_your_alignment_file = Pegar su fichero de alineamiento aquí
+label.paste_your = Pegar su
+label.finished_searching = Búsqueda finalizada
+label.search_results= Buscar Resultados {0} : {1}
+label.found_match_for = Buscar coincidencia para {0}
+label.font = Fuente:
+label.size = Talla:
+label.style = Estilo:
+label.enter_redundancy_threshold = Introducir el umbral de redundancia
+label.calculating = Calculando....
+label.modify_conservation_visibility = Modificar la visibilidad de conservación
+label.colour_residues_above_occurence = Residuos de color por encima del % de aparición 
+label.set_this_label_text = fijar como etiqueta 
+label.sequences_from = Secuencias de {0}
+label.successfully_loaded_file  = Fichero cargado exitosamente {0}
+label.successfully_saved_to_file_in_format = Guardado exitosamente en el fichero: {0} en formato {1}.
+label.copied_sequences_to_clipboard = Copiadas {0} secuencias en el portapapeles.
+label.check_file_matches_sequence_ids_alignment = Comprobar que el fichero coincide con el ID de la secuencia en el alineamiento.
+label.problem_reading_tcoffee_score_file = Problema de lectura del fichero de puntuaciones T-COFFEE
+label.source_to_target = {0} a '{1}'
+label.per_sequence_only= Sólo por secuencia
+label.to_file = a fichero
+label.to_textbox = a cuadro de texto
+label.jalview = Jalview
+label.csv_spreadsheet = CSV (Hoja de cálculo)
+label.status =  [Estado]
+label.channels = Canales
+label.channel_title_item_count = {0} ({1})
+label.blog_item_published_on_date = {0} {1} 
+label.select_das_service_from_table = Seleccionar servicio DAS de la tabla para leer una descripción completa aquí.
+label.session_update = Actualizar sesión
+label.new_vamsas_session = Nueva sesión Vamsas
+label.load_vamsas_session = Cargar sesión Vamsas
+label.save_vamsas_session = Guardar sesión Vamsas
+label.select_vamsas_session_opened_as_new_vamsas_session= Selecciones una sesión vamsas para abrirla como una nueva sesión.
+label.open_saved_vamsas_session = Abrir una sesión VAMSAS guardada
+label.groovy_console = Consola Groovy 
+label.lineart = lineart
+label.dont_ask_me_again = No volver a preguntar
+label.select_eps_character_rendering_style = Seleccionar el carácter EPS como estilo de visualización 
+label.invert_selection = Invertir selección
+label.optimise_order = Optimizar orden
+label.seq_sort_by_score = Ordenar las secuencias por puntuación
+label.load_colours = Cargar colores
+label.save_colours = Guardar colores
+label.fetch_das_features = Recuperar funciones DAS
+label.selected_database_to_fetch_from = Seleccionada {0} Base de datos {1} para buscar de {2} 
+label.database_param = Base de datos: {0}
+label.example = Ejemplo
+label.example_param = Ejemplo: {0}
+label.select_file_format_before_saving = Debe seleccionar un formato de fichero antes de guardar!
+label.file_format_not_specified = Formato de fichero no especificado
+label.alignment_contains_hidden_columns = El alineamiento contiene columnas ocultas.\\nQuieres guardar s\u00F3lo el alineamiento visible?
+label.couldnt_save_file = No se pudo guardar el fichero: {0}
+label.error_saving_file = Error guardando el fichero
+label.remove_from_default_list = eliminar de la lista de defectuosos?
+label.remove_user_defined_colour = Eliminar el color definido por el usuario
+label.you_must_select_least_two_sequences = Debes seleccionar al menos 2 secuencias.
+label.invalid_selection = Selección inválida
+label.principal_component_analysis_must_take_least_four_input_sequences = El an\u00E1lisis de la componente principal debe tomar\\nal menos 4 secuencias de entrada.
+label.sequence_selection_insufficient = Selección de secuencias insuficiente
+label.you_need_more_two_sequences_selected_build_tree = necesitas seleccionar más de dos secuencias para construir un árbol!
+label.not_enough_sequences = No suficientes secuencias
+label.selected_region_to_tree_may_only_contain_residues_or_gaps = La regi\u00F3n seleccionada para construir un \u00E1rbol puede\\ncontener s\u00F3lo residuos o espacios.\\nPrueba usando la funci\u00F3n Pad en el men\u00FA de edici\u00F3n,\\n o uno de los m\u00FAltiples servicios web de alineamiento de secuencias.
+label.sequences_selection_not_aligned = Las secuencias seleccionadas no están alineadas
+label.sequences_must_be_aligned_before_creating_tree = Las secuencias deben estar alineadas antes de crear el \u00E1rbol.\\nPrueba usando la funci\u00F3n Pad en el men\u00FA de editar,\\n o uno de los m\u00FAltiples servicios web de alineamiento de secuencias.
+label.sequences_not_aligned = Secuencias no alineadas
+label.problem_reading_tree_file =  Problema al leer el fichero del árbol
+label.possible_problem_with_tree_file = Posible problema con el fichero del árbol
+label.select_at_least_three_bases_in_at_least_one_sequence_to_cDNA_translation = Por favor seleccionar al menos tres bases de al menos una secuencia para poder realizar la traducción de cDNA.
+label.translation_failed = Translation Failed
+label.error_when_translating_sequences_submit_bug_report = Desafortunadamente, algo fue mal a la hora de traducir tus secuencias.\\nPor favor, revisa la consola Jalview java \\ny presenta un informe de error que incluya el seguimiento.
+label.implementation_error  = Error de implementación:
+label.automatically_associate_pdb_files_with_sequences_same_name = Quieres asociar automáticamente los {0} ficheros PDB con las secuencias del alineamiento que tengan el mismo nombre?
+label.automatically_associate_pdb_files_by_name = Asociar los ficheros PDB por nombre automáticamente
+label.ignore_unmatched_dropped_files_info = Quieres <em>ignorar</em> los {0} ficheros cuyos nombres no coincidan con ningún IDs de las secuencias ?
+label.ignore_unmatched_dropped_files = Ignorar los ficheros sin coincidencias?
+label.enter_view_name = Introducir nombre visible (¿?)
+label.enter_label = Introducir etiqueta
+label.enter_label_for_the_structure = Introducir una etiqueta para la estructura?
+label.pdb_entry_is_already_displayed = {0} Ya est\u00E1 mostrado.\\nQuieres volver a usar este visor?
+label.map_sequences_to_visible_window = Mapa de secuencias en ventana visible: {0}
+label.add_pdbentry_to_view = Quieres a\u00F1adir {0} a la vista llamada\\n'{1}'\\n
+label.align_to_existing_structure_view = Alinear a una estructura ya existente
+label.pdb_entries_couldnt_be_retrieved = Las siguientes entradas pdb no pueden ser extra\u00EDdas del PDB\\\:\\n{0}\\nPor favor, prueba descarg\u00E1ndolas manualmente.
+label.couldnt_load_file = No se pudo cargar el fichero
+label.couldnt_find_pdb_id_in_file = No se pudo encontrar un Id PDB en el fichero suministrado. Por favor, introduzca un Id para identificar esta estructura.
+label.no_pdb_id_in_file = No hay un Id PDB en el fichero
+label.couldnt_read_pasted_text = No se pudo leer el texto pegado {0}
+label.error_parsing_text = Error analizando el texto
+label.enter_local_das_source = Intruduzca el Nickname & URL de la fuente DAS local
+label.you_can_only_edit_or_remove_local_das_sources = Sólo puedes editar o eliminar fuentes DAS locales!
+label.public_das_source = Fuente pública DAS - no editable
+label.input_alignment_from_url = Alineamiento de entrada desde URL
+label.input_alignment = Alineamiento de entrada
+label.couldnt_import_as_vamsas_session = No se pudo importar '{0}' como una nueva sesión Vamsas.
+label.vamsas_document_import_failed =  Fallo en la importación del documento Vamsas
+label.couldnt_locate = No se pudo localizar {0}
+label.url_not_found = URL no encontrada
+label.no_link_selected = Enlace no seleccionado
+label.new_sequence_url_link = Enlace a una nueva secuencia URL
+label.cannot_edit_annotations_in_wrapped_view = No se pueden editar anotaciones en vista envolvente
+label.wrapped_view_no_edit = Vista envolvente - no editar
+label.error_retrieving_data = Error en la recuperación de datos
+label.user_colour_scheme_must_have_name = El esquema de colores del usuario debe tener un nombre
+label.no_name_colour_scheme = No hay nombre para el esquema de colores 
+label.invalid_url = URL Invalido!
+label.error_loading_file = Error al cargar el fichero
+label.problems_opening_file = Encontrados problemas al abrir el fichero {0}!!
+label.file_open_error = Error al abrir el fichero
+label.no_das_sources_selected_warn = No han sido seleccionadas fuentes DAS.\\nPor favor, seleccione algunas fuentes y\\npruebe de nuevo.
+label.no_das_sources_selected_title = No han sido seleccionadas fuentes DAS
+label.colour_scheme_exists_overwrite = El esquema de colores {0} ya existe.\\nContinuar guardando el esquema de colores como {1}?"
+label.duplicate_scheme_name = Duplicar nombre de esquema
+label.jalview_new_questionnaire = Hay un nuevo cuestionario disponible. Querr\u00EDa completarlo ahora ?\\n
+label.jalview_user_survey = Encuesta de usuario Jalview 
+label.alignment_properties = Propiedades del alineamiento: {0}
+label.alignment_props = Propiedades del alineamiento
+label.input_cut_paste = Cortar y pegar la entrada
+label.input_cut_paste_params = Cortar y pegar la entrada - {0}
+label.alignment_output_command = Alineamiento de salida - {0}
+label.annotations = Anotaciones
+label.features = Funciones
+label.overview_params = Visión general {0}
+label.paste_newick_file = Pegar nuevo fichero Newick
+label.load_tree_from_file = desde fichero - 
+label.colour_by_annotation = Color por anotación
+label.selection_output_command = Seleccionar salida - {0}
+label.annotation_for_displayid = <p><h2>Anotación para {0} </h2></p><p>
+label.pdb_sequence_mapping = PDB - Mapeado de secuencia
+label.pca_details = detalles de la PCA
+label.redundancy_threshold_selection = Selección del umbral de redundancia
+label.user_defined_colours = Colores definidos del usuario
+label.jalviewLite_release = JalviewLite - versión {0}
+label.jaview_build_date = Fecha de creación: {0}
+label.jalview_authors_1 = Authors:  Jim Procter, Andrew Waterhouse, Jan Engelhardt, Lauren Lui,
+label.jalview_authors_2 = Michele Clamp, James Cuff, Steve Searle, David Martin & Geoff Barton.
+label.jalview_dev_managers = Desarrollo gestionado por The Barton Group, University of Dundee, Scotland, UK.
+label.jalview_distribution_lists = Para ayuda, ver el FAQ at www.jalview.org y/o adjuntar la lista de envío jalview-discuss@jalview.org
+label.jalview_please_cite = Si usa Jalview incluya la siguiente cita, por favor:
+label.jalview_cite_1_authors = Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)
+label.jalview_cite_1_title = Jalview Version 2 - un editor de alineamiento múltiple de secuencias y banco de trabajo de análisis
+label.jalview_cite_1_ref =  Bioinformaticos doi: 10.1093/bioinformatics/btp033
+label.right_click = clic en el botón derecho
+label.to_add_annotation = para añadir anotación
+label.alignment_has_no_annotations = El alineamiento no tiene anotaciones
+label.retrieving_pdb_data = Recuperación de datos PDB...
+label.label = Etiqueta
+label.no_features_added_to_this_alignment = No hay funciones asociadas a este alineamiento!!
+label.features_can_be_added_from_searches_1 = (Las funciones pueden ser añadidas de búsquedas o
+label.features_can_be_added_from_searches_2 = de ficheros de funciones Jalview / GFF)
+label.calculating_pca= Calculando PCA
+label.reveal_columns = Mostrar Columnas
+label.jalview_cannot_open_file = Jalview no puede abrir el fichero
+label.jalview_applet = Aplicación Jalview  
+label.loading_data = Cargando datos
+label.memory_stats = Memoria libre total: {0} MB; Memoria máxima: {1} MB; {2} %
+label.calculating_tree = Calculando árbol
+label.state_queueing = En cola 
+label.state_running = Procesando
+label.state_complete = Completar
+label.state_completed = Finalizado
+label.state_job_cancelled = ¡Trabajo cancelado!
+label.state_job_error = Error del trabajo!
+label.server_error_try_later = ¡Error del servidor! (Intentar más tarde)
+label.error_loading_pdb_data = ¡Error cargando los datos PDB!
+label.fetching_pdb_data = Buscando los datos PDB...
+label.structure_type = Estructura_tipo
+label.settings_for_type = Ajustes para {0}
+label.view_full_application = Ver en la aplicación completa 
+label.load_associated_tree = Cargar árbol asociado ...
+label.load_features_annotations = Cargar características/anotaciones ...
+label.export_features = Exportar características...
+label.export_annotations = Exportar anotaciones ...
+label.jalview_copy = Copiar (sólo Jalview)
+label.jalview_cut = Cortar (sólo Jalview)
+label.to_upper_case = Pasar a mayúsculas
+label.to_lower_case = Pasar a minúsculas
+label.toggle_case = Alternar mayúsculas y minúsculas
+label.edit_name_description = Editar nombre/descripción
+label.create_sequence_feature = Crear función de secuencia
+label.edit_sequence = Editar secuencia
+label.edit_sequences = Editar secuencias
+label.sequence_details = Detalles de la secuencia
+label.jmol_help = Ayuda de Jmol 
+label.all = Todo
+label.sort_by = Ordenar por
+label.sort_by_score = Ordenar por puntuación
+label.sort_by_density = Ordenar por densidad
+label.sequence_sort_by_density = Ordenar las secuencias por densidad
+label.reveal = Revelar
+label.hide_columns = Ocultar columnas
+label.load_jalview_annotations = Cargar un fichero de anotación de Jalivew o un fichero de características
+label.load_tree_file = Cargar un fichero de árbol
+label.retrieve_parse_sequence_database_records_alignment_or_selected_sequences = Recuperar y parsear un registro de secuencia de base de datos para el alineamiento o secuencias actualmente seleccionados
+label.standard_databases = Bases de datos estándar
+label.fetch_embl_uniprot = Recuperar de EMBL/EMBLCDS o Uniprot/PDB y de cualquier fuente DAS seleccionada
+label.reset_min_max_colours_to_defaults = Reiniciar los colores min y max colours a los valores por defecto establecidos en las preferencias de usuario
+label.align_structures_using_linked_alignment_views = Alinear las estructuras utlizando las {0} vistas de alineamiento enlazadas
+label.connect_to_session = Conectar a la sesión {0}
+label.threshold_feature_display_by_score = Filtrar la característica mostrada por puntuación.
+label.threshold_feature_no_thereshold = Sin umbral
+label.threshold_feature_above_thereshold = Por encima del umbral
+label.threshold_feature_below_thereshold = Por debajo del umbral
+label.adjust_thereshold = Ajustar umbral
+label.toggle_absolute_relative_display_threshold = Cambiar entre mostrar el umbral absoluto y el relativo.
+label.display_features_same_type_different_label_using_different_colour = Mostrar las características del mismo tipo con una etiqueta diferente y empleando un color distinto (p.e. características del dominio)
+label.select_colour_minimum_value = Seleccionar el color para el valor mínimo
+label.select_colour_maximum_value = Seleccionar el color para el valor máximo
+label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment = Abrir una nueva vista Jmol con todas las estructuras asociadas con la selección acxtual y superponer las utilizando el alineamiento.
+label.open_url_param = Abrir URL {0}
+label.open_url_seqs_param = Abrir URL ({0}..) ({1} secuencias)
+label.load_pdb_file_associate_with_sequence = Cargar un fichero PDB y asociarlo con la secuencia '{0}'
+label.reveal_hidden_columns = Revelar las columnas ocultas con el botón derecho del ratón
+label.dark_colour = Oscurecer color
+label.light_colour = Aclarar color
+label.highlightnode = Pulse el botón izquierdo para seleccionar las hojas.<br>Haga doble clic para invertir las hojas.<br>Pulse el botón derecho para cambiar el color.
+label.load_colour_scheme = Cargar esquema cromático
+label.toggle_enabled_views = Cuando está habilitado, permite que se seleccionen varias vistas.
+label.edit_notes_parameter_set = Haga clic para editar las notas de este conjunto de parámetros.
+label.open_local_file = Abrir fichero local
+label.enable_automatically_sort_alignment_when_open_new_tree = Habilite esta opción para ordenar automáticamente<br>el alineamiento cuando abra<br> un nuevo árbol.
+label.listen_for_selections = Atención a las selecciones
+label.selections_mirror_selections_made_same_sequences_other_views = Cuando está habilitado, las selecciones de esta vista serán un reflejo<br>de las selecciones realizadas en las mismas secuencias de otras vistas.
+label.toggle_sequence_visibility = Shift+H cambia la visibilidad de la secuencia
+label.toggle_columns_visibility = Ctrl+H cambia la visibilidad de la columna
+label.toggles_visibility_hidden_selected_regions = H cambiar la visibilidad de las regiones ocultas o seleccionadas
+label.rename_tab_eXpand_reGroup=  Haga clic en el botón derecho para renombrar la pestaña<br>Presione X para expandir las tablas y G para reagrupar.
+label.right_align_sequence_id = Alinear a la derecha el ID de la secuencia
+label.sequence_id_tooltip = Ayuda del ID de la secuencia
+label.no_services = <Sin Servicios>
+label.select_copy_raw_html = Seleccione esta opción si desea copiar el html en bruto
+label.share_data_vamsas_applications = Compartir datos con otras aplicaciones vamsas
+label.connect_to = Conectar a
+label.join_existing_vamsas_session = Unirse a una sesión vamsas existente
+label.from_url = desde una URL
+label.any_trees_calculated_or_loaded_alignment_automatically_sort = Cuando está habilitado, cualquier árbol calculado o cargado en el alineamiento lo ordenará
+label.sort_with_new_tree = Ordenar con el nuevo árbol
+label.from_textbox = desde un área de texto
+label.window = Ventana
+label.preferences = Preferencias
+label.tools = Herramientas
+label.fetch_sequences = Recuperar secuencia(s)
+label.stop_vamsas_session = Parar sesión vamsas
+label.collect_garbage = Recolector de basura
+label.show_memory_usage = Mostrar uso de memoria
+label.show_java_console = Mostrar consola de Java
+label.show_jalview_news = Mostrar las noticias de Jalview
+label.take_snapshot = Tomar captura
+label.monospaced_fonts_faster_to_render = Las fuentes monoespaciadas son más rápidas de pintar
+label.anti_alias_fonts = Fuentes anti-alias (más lentas de pintar)
+label.monospaced_font= Monoespaciadas
+label.quality = Calidad
+label.maximize_window = Maximizar ventana
+label.conservation = Conservación
+label.consensus = Consenso
+label.histogram = Histograma
+label.logo = Logo
+label.non_positional_features = Características no posicionales
+label.database_references = Referencias a base de datos
+label.share_selection_across_views = Compartir la selección en todas las vistas
+label.scroll_highlighted_regions = Desplazarse hasta las regiones resaltadas
+label.gap_symbol = Símbolo del hueco
+label.alignment_colour = Color del alineamiento
+label.address = Dirección
+label.port = Puerto
+label.default_browser_unix = Navegador por defecto (Unix)
+label.send_usage_statistics = Enviar estadísticas de uso
+label.check_for_questionnaires = Comprobar los cuestionarios
+label.check_for_latest_version = Comprobar la última versión
+label.url_linkfrom_sequence_id = URL del enlace del ID de la secuencia
+label.use_proxy_server = Utilizar un servidor proxy
+label.eps_rendering_style = Estilo de visualización EPS
+label.append_start_end = Añadir /inicio-fin (/15-380)
+label.full_sequence_id = ID de la secuencia completo
+label.smooth_font = Fuente alargada
+label.autocalculate_consensus = Autocalcular consenso
+label.pad_gaps = Rellenar huecos
+label.pad_gaps_when_editing = Rellenar huecos al editar
+label.automatically_set_id_width = Establecer automáticamente al anchura del ID
+label.figure_id_column_width = Anchura de la columna del ID de la Figura
+label.use_modeller_output = Utilizar la salidad del Modeller
+label.wrap_alignment = Envolver alineamiento
+label.right_align_ids = Alinear IDs a la derecha
+label.sequence_name_italics = Nombre de la secuencia en cursiva
+label.open_overview = Abrir resumen
+label.default_colour_scheme_for_alignment = Esquema cromático por defecto para el alineamiento
+label.annotation_shading_default = Sombreado por defecto de la anotación
+label.default_minimum_colour_annotation_shading = Por mínimo por defecto para el sombreado de la anotación
+label.default_maximum_colour_annotation_shading = Por máximo por defecto para el sombreado de la anotación
+label.visual = Visual
+label.connections = Conexiones
+label.output = Salida
+label.editing = Edición
+label.das_settings = Configuración DAS
+label.web_services = Servicios web
+label.right_click_to_edit_currently_selected_parameter = Haga clic en el botón derecho para editar el parámetro seleccionado actualmente.
+label.let_jmol_manage_structure_colours = Permitir que Jmol gestione la estructuras cromáticas
+label.marks_leaves_tree_not_associated_with_sequence = Marcar las hojas del árbol que no están asociadas a una secuencia
+label.index_web_services_menu_by_host_site = Indizar los servicios web en el menú por el host que los aloja
+label.option_want_informed_web_service_URL_cannot_be_accessed_jalview_when_starts_up = Marque esta opción si desea ser informado<br>cuando no se pueda acceder a la URL de un servicio web<br>al arrancar Jalview.
+label.new_service_url = Nueva URL del servicio
+label.edit_service_url = Editar la URL del servicio
+label.delete_service_url = Borrar la URL del servicio
+label.details = Detalles
+label.options = Opciones
+label.parameters = Paramétros
+label.available_das_sources = Fuentes DAS disponibles
+label.full_details = Detalles completos
+label.authority = Autoridad
+label.type = Tipo
+label.proxy_server = Servidor proxy
+label.file_output = Fichero de salida
+label.select_input_type = Seleccionar el tipo de entrada
+label.set_options_for_type = Establecer opciones para el tipo
+label.data_input_parameters = Datos de los parámetros de entrada
+label.data_returned_by_service = Datos devueltos por el servicio
+label.rsbs_encoded_service = Servicio RSBS codificado
+label.parsing_errors = Errores de parseo
+label.simple_bioinformatics_rest_services = Simple Bioinformatics Rest Services
+label.web_service_discovery_urls = URL de descubrimiento de servicios web
+label.input_parameter_name = Nombre del parámetro de entrada
+label.short_descriptive_name_for_service = Nombre corto descriptivo del servicio
+label.function_service_performs = Tipo de función que realiza el servicio (p.e. alineamiento, análisis, búsqueda, etc).
+label.brief_description_service = Descripción breve del servicio
+label.url_post_data_service = URL a la que enviar los datos del servicio. Incluya cualquier parámetro especial que se necesite aquí
+label.optional_suffix = Sufijo opcional añadido a la URL al recuperar los resultados del servicio
+label.preferred_gap_character = ¿Qué caracter para el hueco prefiere el servicio?
+label.gap_character = Carácter para hueco
+label.move_return_type_up_order= Mover el tipo de returno hacia arriba en el orden
+label.move_return_type_down_order= Mover el tipo de returno hacia abajo en el orden
+label.update_user_parameter_set = Actualizar el conjunto de parámetros de usuario existente
+label.delete_user_parameter_set = Borrar el conjunto de parámetros de usuario existente
+label.create_user_parameter_set = Crear un nuevo conjunto de parámetro con la configuración actual.
+label.revert_changes_user_parameter_set = Deshacer todos los cambios en el conjunto de parámetros actual
+label.start_job_current_settings = Arrancar trabajo con la configuración actual
+label.cancel_job_close_dialog = Cerrar este diálogo y cancelar el trabajo
+label.input_output = Entrada/Salida
+label.cut_paste = Cortar y pegar
+label.adjusting_parameters_for_calculation = Ajustar los parámetros para el cálculo existente
+label.2d_rna_structure_line = 2D RNA {0}
+label.2d_rna_sequence_name = 2D RNA - {0}
+label.edit_name_and_description_current_group = Editar el nombre y la descripción del grupo actual.
+label.view_structure_for = Visualizar la estructura para {0}
+label.view_all_structures = Visualizar todas las {0} estructuras.
+label.view_all_representative_structures = Visualizar todas las {0} estructuras representativas.
+label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment = Abrir una nueva vista de Jmol con todas las estructuras representativas\nasociadas con la selecci\u00F3n actual\nsuperpuesta con el alineamiento actual.
+label.associate_structure_with_sequence = Asociar estructura con la secuencia
+label.from_file = desde fichero
+label.enter_pdb_id = Introducir PDB Id
+label.discover_pdb_ids = Buscar PDB ids
+label.text_colour = Color del texto
+label.structure = Estructura
+label.view_structure = Visualizar estructura
+label.clustalx_colours = Colores de Clustalx
+label.above_identity_percentage = Sobre % identidad
+label.create_sequence_details_report_annotation_for = Anotación para {0}
+label.sequece_details_for = Detalles de la secuencia para {0}
+label.sequence_name = Nombre de la secuencia
+label.sequence_description = Descripción de la secuencia
+label.edit_sequence_name_description = Editar el nombre/descripción de la secuencia
+label.spaces_converted_to_backslashes = Los espacios se han convertido en _
+label.no_spaces_allowed_sequence_name = No se permiten espacios en el nombre de la secuencia
+label.select_outline_colour = Seleccionar el color del límite
+label.web_browser_not_found_unix = Unixers\: No es posible encontrar el navegador web por defecto.\nA\u00F1ada la ruta completa de su navegador en la pesta\u00F1a de Preferencias.
+label.web_browser_not_found = No se encuentra el navegador web
+label.select_pdb_file_for = Seleccione un fichero PDB para {0}
+label.html = HTML
+label.wrap = Envolver
+label.show_database_refs = Mostrar las referencias en base de datos
+label.show_non_positional_features = Mostrar las características no posicionales
+label.save_png_image = Guardar como imagen PNG
+label.load_tree_for_sequence_set = Cargar un árbol para este conjunto de secuencias
+label.export_image = Exportar imagen
+label.vamsas_store = Almacén VAMSAS
+label.translate_cDNA = Traducir cDNA
+label.extract_scores = Extraer puntuaciones
+label.get_cross_refs = Obtener referencias cruzadas
+label.sort_alignment_new_tree = Alinear el alineamiento con el nuevo árbol
+label.add_sequences = Añadir secuencias
+label.new_window = Nueva ventana
+label.refresh_available_sources = Refrescar las fuentes disponibles
+label.use_registry = Utilizar el registro
+label.add_local_source = Añadir fuente local
+label.set_as_default = Establecer por defecto
+label.show_labels = Mostrar etiquetas
+label.background_colour = Color de fondo
+label.associate_nodes_with = Asociar nodos con
+label.jalview_pca_calculation = Cálculo del PCA por Jalview
+label.link_name = Nombre del enalce
+label.pdb_file = Fichero PDB
+label.colour_with_jmol = Colorear con Jmol
+label.align_structures = Alinear estructuras
+label.jmol = Jmol
+label.sort_alignment_by_tree = Ordenar alineamiento por árbol
+label.mark_unlinked_leaves = Marcar las hojas como no enlazadas
+label.associate_leaves_with = Asociar hojas con
+label.save_colour_scheme_with_unique_name_added_to_colour_menu = Guarde el esquema cromáticos con un nombre único y se añadirá al menú de colores
+label.case_sensitive = Sensible a mayúsculas
+label.lower_case_colour = Color para las minúsculas
+label.index_by_host = Indizar por host
+label.index_by_type = Indizar por tipo
+label.enable_jabaws_services = Habilitar servicios JABAWS
+label.display_warnings = Mostrar advertencias
+label.move_url_up = Mover la URL hacia arriba
+label.move_url_down = Mover la URL hacia abajo
+label.add_sbrs_definition = Añadir una definición SBRS 
+label.edit_sbrs_definition = Editar una definición SBRS 
+label.delete_sbrs_definition = Borrar una definición SBRS 
+label.your_sequences_have_been_verified = Sus secuencias has sido verificadas en una base de datos de secuencias conocidas. Algunos de sus ID se han alterado y\n, probablemente, el residuo de inicio/fin se haya actualizado.\nGuarde su alineamiento para mantener el ID actualizado.\n\n 
+label.sequence_names_updated = Nombres de secuencia actualizados
+label.dbref_search_completed = Búsqueda de DBRef terminada
+label.show_all_chains = Mostrar todas las cadenas
+label.fetch_all_param = Recuperar todas {0}
+label.paste_new_window = Pegar en una nueva ventana
+label.settings_for_param = Configuración para {0}
+label.view_params = Visualizar {0}
+label.select_all_views = Seleccionar todas las vistas
+label.align_sequences_to_existing_alignment = Alinear las secuencias con el alineamiento existente
+label.realign_with_params = Realinear con {0}
+label.calcname_with_default_settings = {0} por defecto
+label.action_with_default_settings = {0} con la configuración por defecto
+label.edit_settings_and_run = Editar la configuración y ejecutar...
+label.view_and_change_parameters_before_alignment = Ver y cambiar los parámetros antes del alineamiento
+label.run_with_preset_params = Ejecutar {0} con preconfiguración
+label.view_and_change_parameters_before_running_calculation = Ver y cambiar los parámetros antes de lanzar el cálculo
+label.view_documentation = Ver documentación
+label.select_return_type = Seleccionar el tipo de retorno
+label.translation_of_params = Traducción de {0}
+label.features_for_params = Características de - {0}
+label.annotations_for_params = Anotaciones de - {0}
+label.generating_features_for_params = Generando características de - {0}
+label.generating_annotations_for_params = Generando anotaciones de - {0}
+label.varna_params = VARNA - {0}
+label.sequence_feature_settings = Configuración de las características de la secuencia
+label.pairwise_aligned_sequences = Secuencias alineadas a pares
+label.original_data_for_params = Datos originales de {0}
+label.points_for_params = Puntos de {0}
+label.transformed_points_for_params = Puntos transformados de {0}
+label.graduated_color_for_params = Color graduado para la característica de {0}
+label.select_backgroud_colour = Seleccionar color de fondo
+label.invalid_font = Fuente no válida
+label.separate_multiple_accession_ids = Separar los accession id con un punto y coma ";"
+label.replace_commas_semicolons = Cambiar comas por puntos y comas
+label.parsing_failed_syntax_errors_shown_below_param = Parseo erróneo. A continuación, se muestras los errores de sintaxis {0}
+label.parsing_failed_unrecoverable_exception_thrown_param = \nParseo err\u00F3neo. Se ha lanzado una excepci\u00F3n fatal\:\n {0}
+label.example_query_param = Consulta de ejemplo: {0}
+label.enter_value_increase_conservation_visibility = Introduzca un valor para incrementar la visibilidad de la conservación
+label.enter_percentage_identity_above_which_colour_residues = Introduza un % de identidad por encima del cual se colorearán los residuos
+label.wswublast_client_credits = Para mostrar las caracter\u00EDsticas de una secuencia, debe indicarse un id de Uniprot cuya secuencia se corresponda al 100 % con la introducida.\nPara mostrar estas caracter\u00EDsticas, prueba a cambar los nombre de sus secuencia con los ID que se sugieren a continuaci\u00F3n.\n\nRunning WSWUBlast at EBI.\nPlease quote Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez R.\nSOAP-based services provided by the European Bioinformatics Institute.\nNucleic Acids Res. 33(1)\:W25-W28 (2005));
+label.blasting_for_unidentified_sequence = Ejecutar BLAST para la secuencias sin identificar
+label.select_columns_containing = Seleccione las columnas que contengan
+label.select_columns_not_containing = Seleccione las columnas que no contengan
+option.trim_retrieved_seqs = Ajustar las secuencias recuperadas
+label.trim_retrieved_sequences = Cuando la secuencia de referencia es más larga que la secuencia con la que está trabajando, sólo se mantienen las subsecuencias relevantes.
+label.use_sequence_id_1 = Utilice $SEQUENCE_ID$ o $SEQUENCE_ID=/<regex>/=$
+label.use_sequence_id_2 = \nto para embeber el id de la secuencia en una URL
+label.ws_parameters_for = Parámetros para {0}
+label.switch_server = Cambiar servidor
+label.open_jabaws_web_page = Abre el página principal del servidor JABAWS en un navegador web
+label.choose_jabaws_server = Escoja un servidor para ejecutar este servicio
+label.services_at = Servicios en {0}
+label.rest_client_submit = {0} utilizando {1}
+label.fetch_retrieve_from =Recuperar de {0}
+label.fetch_retrieve_from_all_sources = Recuperar de todas las fuentes {0} en {1}<br>La primera es :{2} 
+label.feature_settings_click_drag = Haga clic o arrastre los tipos de las características hacia arriba o hacia abajo para cambiar el orden de visualización.<br/>Haga doble clic para seleccionar las columnas que contienen las características del alineamiento/selección actual.<br/>Presionando Alt seleccionará las columnas exteriores a las características en lugar de las interiores<br/>Presione Shift para modificar la selección actual (en lugar de borrarla)<br/>Presione CTRL o Command/Meta para cambiar las columans externas o internas a las características<br/>
+label.opt_and_params_further_details = ver los detalles adicionales haciendo clic en el botón derecho
+label.opt_and_params_show_brief_desc_image_link = Haga clic para ver una descripción breve<br><img src="{0}"/>Haga clic en el botón derecho para obtener información adicional. 
+label.opt_and_params_show_brief_desc = Haga clic para ver una descripción breve<br>
+label.adjusts_width_generated_eps_png = Ajusta la anchura del fichero EPS o PNG generado para asegurar incluso que el ID de la secuencia más larga o las etiquetas de anotación se muestran
+label.manually_specify_width_left_column = Especificar manualmente la anchura de la columna izquierda en las etiquetas de los ID de la secuencia y las anotaciones se mostrar en las figuras del alineamiento exportado.Esta configuraicón se ignorará si está marcada la opción 'Establecer automáticamente al anchura del ID'
+label.job_created_when_checked = Cuando está habilitado, se crea un trabajo para cada secuencia de la selección actual
+label.when_checked_job_visible_region_and_results = Cuando está habilitado, se crea un único trabajo para la región visible y los resultados de mapean en su ubicación dentro del alineamiento. En caso contrario, se creará un trabajo para cada región visible y contigua en el alineamiento o selección actual (p.e. un alineamiento múlitple).
+label.flat_file_representation = La representación del fichero plano de este servicio utilizando el formalismo Really Simple Bioinformatics Service
+label.result_of_parsing_rsbs = Resultados de parsear la representación RSBS
+label.user_preset = Preselección de usuario
+label.service_preset = Preselección del servicio
+label.run_with_preset = Ejecutar {0} con preselección
+label.view_service_doc_url = Visualizar <a href="{0}">{1}</a>
+label.submit_sequence = Enviar {0} {1} {2} {3} a<br/>{4}
+action.by_title_param = por {0}
+label.alignment = Alineamiento
+label.secondary_structure_prediction = Predicción de la estructura secundaria
+label.sequence_database_search = Búsqueda en base de datos de secuencias
+label.analysis = Análisis
+label.protein_disorder = Desorden en la proteína 
+label.source_from_db_source = Fuentes de {0}
+label.from_msname = de '{0}'
+label.superpose_with = Superponer con...
+action.do = Hacer
+label.scale_label_to_column = Ajustar la etiqueta a la columna
+label.add_new_row = Añadir nuevo fila
+label.edit_label_description = Editar etiqueta/descripción
+label.hide_row = Ocultar esta fila
+label.delete_row = Borrar esta fila
+label.show_all_hidden_rows = Mostrar todas las filas ocultas
+label.export_annotation = Exportar anotación
+label.copy_consensus_sequence = Copiar secuencia de consenso
+label.helix = Hélice
+label.sheet = Hoja
+label.rna_helix = Hélice de ARN
+label.remove_annotation = Borrar anotación
+label.colour_by = Colorear por...
+label.muscle_multiple_protein_sequence_alignment = Alineamiento múltiple de secuencias de proteínas con Muscle
+label.mafft_multiple_sequence_alignment = Alineamiento múltiple de secuencias con MAFFT
+label.clustalw_multiple_sequence_alignment = Alineamiento múltiple de secuencias con ClustalW
+label.jnet_secondary_structure_prediction = Predicción de la estructura secundaria con JNet
+label.multiharmony = Multi-Harmony
+label.unable_start_web_service_analysis = No es posible iniciar el servicio web de análisis
+label.job_couldnt_be_started_check_input = El trabajo no puede arrancarse. Por favor, compruebe los parámetros de entrada y los mensajes de advertencia de la consola de Jalview.
+label.prompt_each_time = Preguntar siempre
+label.use_source = Fuente
+label.couldnt_save_project = No es posible guardar el proyecto
+label.error_whilst_saving_current_state_to = Error mientras se guardaba el estado a {0}
+label.error_whilst_loading_project_from = Error cargado el proyecto desde  {0}
+label.couldnt_load_project = No es posible cargar el proyecto
index 593fd58..c691302 100644 (file)
 # You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
 # The Jalview Authors are detailed in the 'AUTHORS' file.
 ###############################################################################
-# THE CASTOR PROPERTIES FILE\r
-# This file specifies values for Castor run-time which may be configured\r
-# by the user.\r
-# $Id$\r
-\r
-# This section defines Backwards compatibility switches.\r
-#\r
-# Hashtable/Map default mapping.\r
-# For backward compatibility with 0.9.5.2 and earlier.\r
-#\r
-#org.exolab.castor.xml.saveMapKeys=false\r
-\r
-# Defines the default XML parser to be used by Castor.\r
-# The parser must implement org.xml.sax.Parser.\r
-#\r
-org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser\r
-\r
-# Defines the (default) XML serializer factory to use by Castor, which must\r
-# implement org.exolab.castor.xml.SerializerFactory; default is \r
-# org.exolab.castor.xml.XercesXMLSerializerFactory\r
-# \r
-# When using Castor XML with JDK 5.0, you may switch to the XercesJDK5XMLSerializerFactory\r
-# which will use the Xerces instance as shipped with the JDK itself; this avoids\r
-# having to download another Xerces instance and installing it. \r
-org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerializerFactory\r
-#org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesJDK5XMLSerializerFactory\r
-\r
-# Defines the NodeType for use with Java primitive types (int, long, boolean,\r
-# etc). This value is only used by the Introspector.  Valid values are either\r
-# "attribute" or "element". By default, all primitives are marshaled as\r
-# attributes. Uncomment the following line to change the NodeType to element.\r
-#\r
-#org.exolab.castor.xml.introspector.primitive.nodetype=element\r
-\r
-# Defines the Naming "style" or conventions to use when creating XML names\r
-# from Java class or field names.\r
-# Valid values are as follows:\r
-# -----------------------------------------------------------------\r
-# lower (default)  |  All names are lowercase with hyphens\r
-#                  |  separating words.\r
-#                  |\r
-#                  |  Example: personInfo = person-info\r
-# -----------------------------------------------------------------\r
-# mixed            |  All names are mixed case, with Uppercase\r
-#                  |  character as the first letter of a new word.\r
-#                  |\r
-#                  |  Example: personInfo = personInfo\r
-#                  |  Example: FooBar     = fooBar\r
-# -----------------------------------------------------------------\r
-# {Any ClassName}  |  Any Class which implements\r
-#                  |  org.exolab.castor.xml.XMLNaming\r
-# -----------------------------------------------------------------\r
-#\r
-# By default, all names are treated as the "lower" option.  To preserve the\r
-# Java mixed-case conventions, uncomment the following line.\r
-#\r
-#org.exolab.castor.xml.naming=mixed\r
-\r
-###############################\r
-# REGULAR EXPRESSION EVALUATORS\r
-#\r
-# Defines the Regular Expression Evaluator to be used by Castor.\r
-# The evaluator must implement org.exolab.castor.util.RegExpEvaluator.\r
-#\r
-# Uncomment the following to basically suppress Regular expressions evaluation:\r
-#org.exolab.castor.regexp=org.exolab.castor.xml.util.AlwaysTrueRegExpEvaluator\r
-#\r
-# An implementation which uses the Jakarta RegExp library:\r
-#org.exolab.castor.regexp=org.exolab.castor.util.JakartaRegExpEvaluator\r
-#\r
-# An implementation which uses the Jakarta ORO library:\r
-org.exolab.castor.regexp=org.exolab.castor.util.JakartaOroEvaluator\r
-\r
-# True if all documents should be indented on output by default.\r
-# Defaults to false.\r
-#\r
-#org.exolab.castor.indent=true\r
-\r
-# True if xml documents should be validated by the SAX Parser\r
-# Defaults to false.\r
-#\r
-org.exolab.castor.parser.validation=false\r
-\r
-# True for parser to support Namespaces.\r
-# Defaults to false.\r
-#\r
-org.exolab.castor.parser.namespaces=false\r
-\r
-# True if all documents should be validated by the marshaling framework\r
-# Defaults to true.\r
-#\r
-org.exolab.castor.marshalling.validation=true\r
-\r
-# Comma separated list of SAX 2 features that should be enabled for the\r
-# default parser.\r
-#\r
-#org.exolab.castor.sax.features=\r
-\r
-# Comma separated list of SAX 2 features that should be disabled for the\r
-# default parser.\r
-#\r
-#org.exolab.castor.sax.features-to-disable\r
-\r
-# True if debugging output should be generated.\r
-# Defaults to false.\r
-#\r
-org.exolab.castor.debug=false\r
-\r
-# List of collection handlers for Java 1.1 and Java 1.2 run-times:\r
-#\r
-org.exolab.castor.mapping.collections=\\r
-  org.exolab.castor.mapping.loader.J1CollectionHandlers,\\r
-  org.exolab.castor.mapping.loader.J2CollectionHandlers\r
-\r
-# List of persistence factories for the supported database servers:\r
-#\r
-org.exolab.castor.jdo.engines=\\r
-  org.exolab.castor.jdo.drivers.OracleFactory,\\r
-  org.exolab.castor.jdo.drivers.PostgreSQLFactory,\\r
-  org.exolab.castor.jdo.drivers.SybaseFactory,\\r
-  org.exolab.castor.jdo.drivers.SQLServerFactory,\\r
-  org.exolab.castor.jdo.drivers.DB2Factory,\\r
-  org.exolab.castor.jdo.drivers.InformixFactory,\\r
-  org.exolab.castor.jdo.drivers.HsqlFactory,\\r
-  org.exolab.castor.jdo.drivers.InstantDBFactory,\\r
-  org.exolab.castor.jdo.drivers.InterbaseFactory,\\r
-  org.exolab.castor.jdo.drivers.MySQLFactory,\\r
-  org.exolab.castor.jdo.drivers.SapDbFactory,\\r
-  org.exolab.castor.jdo.drivers.GenericFactory,\\r
-  org.exolab.castor.jdo.drivers.DerbyFactory,\\r
-  org.castor.jdo.drivers.PointbaseFactory,\\r
-  org.castor.jdo.drivers.ProgressFactory\r
-\r
-# List of key generator factories:\r
-#\r
-org.exolab.castor.jdo.keyGeneratorFactories=\\r
-  org.exolab.castor.jdo.keygen.MaxKeyGeneratorFactory,\\r
-  org.exolab.castor.jdo.keygen.HighLowKeyGeneratorFactory,\\r
-  org.exolab.castor.jdo.keygen.IdentityKeyGeneratorFactory,\\r
-  org.exolab.castor.jdo.keygen.SequenceKeyGeneratorFactory,\\r
-  org.exolab.castor.jdo.keygen.UUIDKeyGeneratorFactory\r
-\r
-# Collection handlers for the source code generator:\r
-#\r
-org.exolab.castor.builder.type.j2=\\r
-  org.exolab.castor.builder.FieldInfoFactoryJ2\r
-org.exolab.castor.builder.type.j1=\\r
-  org.exolab.castor.builder.FieldInfoFactory\r
-org.exolab.castor.builder.type.odmg=\\r
-  org.exolab.castor.builder.FieldInfoFactoryODMG30\r
-\r
-# Configures the default time zone to apply to dates/times fetched from\r
-# database fields (if not already part of the data).  Specify same format as\r
-# in java.util.TimeZone.getTimeZone, or the empty string to use the computer's\r
-# local time zone. Please see http://de.wikipedia.org/wiki/Zeitzone for\r
-# detailed information about time zones.\r
-#\r
-org.exolab.castor.jdo.defaultTimeZone=\r
-#org.exolab.castor.jdo.defaultTimeZone=GMT-8:00\r
-\r
-# List of TxSynchronizeable implementations:\r
-#\r
-#org.exolab.castor.persist.TxSynchronizable=\r
-\r
-# Sets the buffer size in bytes for fetching LOBs (this is dependent upon\r
-# the JDBC driver implementation).  The value below == 5k.\r
-#\r
-org.exolab.castor.jdo.lobBufferSize=5120\r
-\r
-# True if database configuration should be initalization\r
-# when loading it (default: true).\r
-#\r
-#org.exolab.castor.jdo.DatabaseInitializeAtLoad=true\r
-\r
-# True if proxy classes should be used for JDBC connections and\r
-# prepared statements.\r
-# Defaults to true.\r
-#\r
-org.exolab.castor.persist.useProxies=false\r
-\r
-# MappingLoader implementations:\r
-#\r
-org.castor.mapping.loaderFactories=\\r
-  org.castor.mapping.JDOMappingLoaderFactory,\\r
-  org.castor.mapping.XMLMappingLoaderFactory\r
-\r
-# Cache implementations:\r
-#\r
-org.castor.cache.Factories=\\r
-  org.castor.cache.simple.NoCacheFactory,\\r
-  org.castor.cache.simple.TimeLimitedFactory,\\r
-  org.castor.cache.simple.CountLimitedFactory,\\r
-  org.castor.cache.simple.UnlimitedFactory,\\r
-  org.castor.cache.distributed.FKCacheFactory,\\r
-  org.castor.cache.distributed.JcsCacheFactory,\\r
-  org.castor.cache.distributed.JCacheFactory,\\r
-  org.castor.cache.distributed.CoherenceCacheFactory,\\r
-  org.castor.cache.distributed.OsCacheFactory,\\r
-  org.castor.cache.hashbelt.FIFOHashbeltFactory,\\r
-  org.castor.cache.hashbelt.LRUHashbeltFactory,\\r
-  org.castor.cache.distributed.EHCacheFactory,\\r
-  org.castor.cache.distributed.GigaspacesCacheFactory\r
-\r
-# TransactionManagerFactory implementations:\r
-#\r
-org.castor.transactionmanager.Factories=\\r
-  org.castor.transactionmanager.WebSphereTransactionManagerFactory,\\r
-  org.castor.transactionmanager.WebSphere5TransactionManagerFactory,\\r
-  org.castor.transactionmanager.WebSphere51TransactionManagerFactory,\\r
-  org.castor.transactionmanager.LocalTransactionManagerFactory,\\r
-  org.castor.transactionmanager.JNDIENCTransactionManagerFactory,\\r
-  org.castor.transactionmanager.JOTMTransactionManagerFactory\r
-\r
-# Selects whether the TransactionManager should be initialized at registration,\r
-# or lazily when requested for the first time.\r
-# Defaults to false.\r
-#\r
-org.castor.transactionmanager.InitializeAtRegistration=false\r
-\r
-# Instructs Castor JDO to use the JDBC 3.0-specific features to obtain\r
-# the generated value of an identity column.\r
-# Defaults to false.\r
-#\r
-org.castor.jdo.use.jdbc30=false\r
-\r
-# Specifies whether to use ANSI-compliant SQL for MS SQL Server.\r
-# Defaults to false.\r
-#\r
-org.exolab.castor.jdo.sqlserver.ansi-compliant=false\r
-\r
-# Specifyies whether the ClassDescriptorResolver should (automatically) search\r
-# for and consult with package mapping files (.castor.xml) to retrieve class\r
-# descriptor information; on by default.\r
-# Defaults to true.\r
-#\r
-#org.exolab.castor.xml.loadPackageMappings=false\r
+# THE CASTOR PROPERTIES FILE
+# This file specifies values for Castor run-time which may be configured
+# by the user.
+# $Id$
+
+# This section defines Backwards compatibility switches.
+#
+# Hashtable/Map default mapping.
+# For backward compatibility with 0.9.5.2 and earlier.
+#
+#org.exolab.castor.xml.saveMapKeys=false
+
+# Defines the default XML parser to be used by Castor.
+# The parser must implement org.xml.sax.Parser.
+#
+org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser
+
+# Defines the (default) XML serializer factory to use by Castor, which must
+# implement org.exolab.castor.xml.SerializerFactory; default is 
+# org.exolab.castor.xml.XercesXMLSerializerFactory
+# 
+# When using Castor XML with JDK 5.0, you may switch to the XercesJDK5XMLSerializerFactory
+# which will use the Xerces instance as shipped with the JDK itself; this avoids
+# having to download another Xerces instance and installing it. 
+org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerializerFactory
+#org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesJDK5XMLSerializerFactory
+
+# Defines the NodeType for use with Java primitive types (int, long, boolean,
+# etc). This value is only used by the Introspector.  Valid values are either
+# "attribute" or "element". By default, all primitives are marshaled as
+# attributes. Uncomment the following line to change the NodeType to element.
+#
+#org.exolab.castor.xml.introspector.primitive.nodetype=element
+
+# Defines the Naming "style" or conventions to use when creating XML names
+# from Java class or field names.
+# Valid values are as follows:
+# -----------------------------------------------------------------
+# lower (default)  |  All names are lowercase with hyphens
+#                  |  separating words.
+#                  |
+#                  |  Example: personInfo = person-info
+# -----------------------------------------------------------------
+# mixed            |  All names are mixed case, with Uppercase
+#                  |  character as the first letter of a new word.
+#                  |
+#                  |  Example: personInfo = personInfo
+#                  |  Example: FooBar     = fooBar
+# -----------------------------------------------------------------
+# {Any ClassName}  |  Any Class which implements
+#                  |  org.exolab.castor.xml.XMLNaming
+# -----------------------------------------------------------------
+#
+# By default, all names are treated as the "lower" option.  To preserve the
+# Java mixed-case conventions, uncomment the following line.
+#
+#org.exolab.castor.xml.naming=mixed
+
+###############################
+# REGULAR EXPRESSION EVALUATORS
+#
+# Defines the Regular Expression Evaluator to be used by Castor.
+# The evaluator must implement org.exolab.castor.util.RegExpEvaluator.
+#
+# Uncomment the following to basically suppress Regular expressions evaluation:
+#org.exolab.castor.regexp=org.exolab.castor.xml.util.AlwaysTrueRegExpEvaluator
+#
+# An implementation which uses the Jakarta RegExp library:
+#org.exolab.castor.regexp=org.exolab.castor.util.JakartaRegExpEvaluator
+#
+# An implementation which uses the Jakarta ORO library:
+org.exolab.castor.regexp=org.exolab.castor.util.JakartaOroEvaluator
+
+# True if all documents should be indented on output by default.
+# Defaults to false.
+#
+#org.exolab.castor.indent=true
+
+# True if xml documents should be validated by the SAX Parser
+# Defaults to false.
+#
+org.exolab.castor.parser.validation=false
+
+# True for parser to support Namespaces.
+# Defaults to false.
+#
+org.exolab.castor.parser.namespaces=false
+
+# True if all documents should be validated by the marshaling framework
+# Defaults to true.
+#
+org.exolab.castor.marshalling.validation=true
+
+# Comma separated list of SAX 2 features that should be enabled for the
+# default parser.
+#
+#org.exolab.castor.sax.features=
+
+# Comma separated list of SAX 2 features that should be disabled for the
+# default parser.
+#
+#org.exolab.castor.sax.features-to-disable
+
+# True if debugging output should be generated.
+# Defaults to false.
+#
+org.exolab.castor.debug=false
+
+# List of collection handlers for Java 1.1 and Java 1.2 run-times:
+#
+org.exolab.castor.mapping.collections=\
+  org.exolab.castor.mapping.loader.J1CollectionHandlers,\
+  org.exolab.castor.mapping.loader.J2CollectionHandlers
+
+# List of persistence factories for the supported database servers:
+#
+org.exolab.castor.jdo.engines=\
+  org.exolab.castor.jdo.drivers.OracleFactory,\
+  org.exolab.castor.jdo.drivers.PostgreSQLFactory,\
+  org.exolab.castor.jdo.drivers.SybaseFactory,\
+  org.exolab.castor.jdo.drivers.SQLServerFactory,\
+  org.exolab.castor.jdo.drivers.DB2Factory,\
+  org.exolab.castor.jdo.drivers.InformixFactory,\
+  org.exolab.castor.jdo.drivers.HsqlFactory,\
+  org.exolab.castor.jdo.drivers.InstantDBFactory,\
+  org.exolab.castor.jdo.drivers.InterbaseFactory,\
+  org.exolab.castor.jdo.drivers.MySQLFactory,\
+  org.exolab.castor.jdo.drivers.SapDbFactory,\
+  org.exolab.castor.jdo.drivers.GenericFactory,\
+  org.exolab.castor.jdo.drivers.DerbyFactory,\
+  org.castor.jdo.drivers.PointbaseFactory,\
+  org.castor.jdo.drivers.ProgressFactory
+
+# List of key generator factories:
+#
+org.exolab.castor.jdo.keyGeneratorFactories=\
+  org.exolab.castor.jdo.keygen.MaxKeyGeneratorFactory,\
+  org.exolab.castor.jdo.keygen.HighLowKeyGeneratorFactory,\
+  org.exolab.castor.jdo.keygen.IdentityKeyGeneratorFactory,\
+  org.exolab.castor.jdo.keygen.SequenceKeyGeneratorFactory,\
+  org.exolab.castor.jdo.keygen.UUIDKeyGeneratorFactory
+
+# Collection handlers for the source code generator:
+#
+org.exolab.castor.builder.type.j2=\
+  org.exolab.castor.builder.FieldInfoFactoryJ2
+org.exolab.castor.builder.type.j1=\
+  org.exolab.castor.builder.FieldInfoFactory
+org.exolab.castor.builder.type.odmg=\
+  org.exolab.castor.builder.FieldInfoFactoryODMG30
+
+# Configures the default time zone to apply to dates/times fetched from
+# database fields (if not already part of the data).  Specify same format as
+# in java.util.TimeZone.getTimeZone, or the empty string to use the computer's
+# local time zone. Please see http://de.wikipedia.org/wiki/Zeitzone for
+# detailed information about time zones.
+#
+org.exolab.castor.jdo.defaultTimeZone=
+#org.exolab.castor.jdo.defaultTimeZone=GMT-8:00
+
+# List of TxSynchronizeable implementations:
+#
+#org.exolab.castor.persist.TxSynchronizable=
+
+# Sets the buffer size in bytes for fetching LOBs (this is dependent upon
+# the JDBC driver implementation).  The value below == 5k.
+#
+org.exolab.castor.jdo.lobBufferSize=5120
+
+# True if database configuration should be initalization
+# when loading it (default: true).
+#
+#org.exolab.castor.jdo.DatabaseInitializeAtLoad=true
+
+# True if proxy classes should be used for JDBC connections and
+# prepared statements.
+# Defaults to true.
+#
+org.exolab.castor.persist.useProxies=false
+
+# MappingLoader implementations:
+#
+org.castor.mapping.loaderFactories=\
+  org.castor.mapping.JDOMappingLoaderFactory,\
+  org.castor.mapping.XMLMappingLoaderFactory
+
+# Cache implementations:
+#
+org.castor.cache.Factories=\
+  org.castor.cache.simple.NoCacheFactory,\
+  org.castor.cache.simple.TimeLimitedFactory,\
+  org.castor.cache.simple.CountLimitedFactory,\
+  org.castor.cache.simple.UnlimitedFactory,\
+  org.castor.cache.distributed.FKCacheFactory,\
+  org.castor.cache.distributed.JcsCacheFactory,\
+  org.castor.cache.distributed.JCacheFactory,\
+  org.castor.cache.distributed.CoherenceCacheFactory,\
+  org.castor.cache.distributed.OsCacheFactory,\
+  org.castor.cache.hashbelt.FIFOHashbeltFactory,\
+  org.castor.cache.hashbelt.LRUHashbeltFactory,\
+  org.castor.cache.distributed.EHCacheFactory,\
+  org.castor.cache.distributed.GigaspacesCacheFactory
+
+# TransactionManagerFactory implementations:
+#
+org.castor.transactionmanager.Factories=\
+  org.castor.transactionmanager.WebSphereTransactionManagerFactory,\
+  org.castor.transactionmanager.WebSphere5TransactionManagerFactory,\
+  org.castor.transactionmanager.WebSphere51TransactionManagerFactory,\
+  org.castor.transactionmanager.LocalTransactionManagerFactory,\
+  org.castor.transactionmanager.JNDIENCTransactionManagerFactory,\
+  org.castor.transactionmanager.JOTMTransactionManagerFactory
+
+# Selects whether the TransactionManager should be initialized at registration,
+# or lazily when requested for the first time.
+# Defaults to false.
+#
+org.castor.transactionmanager.InitializeAtRegistration=false
+
+# Instructs Castor JDO to use the JDBC 3.0-specific features to obtain
+# the generated value of an identity column.
+# Defaults to false.
+#
+org.castor.jdo.use.jdbc30=false
+
+# Specifies whether to use ANSI-compliant SQL for MS SQL Server.
+# Defaults to false.
+#
+org.exolab.castor.jdo.sqlserver.ansi-compliant=false
+
+# Specifyies whether the ClassDescriptorResolver should (automatically) search
+# for and consult with package mapping files (.castor.xml) to retrieve class
+# descriptor information; on by default.
+# Defaults to true.
+#
+#org.exolab.castor.xml.loadPackageMappings=false
index 366b776..876db03 100755 (executable)
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)\r
- * Copyright (C) 2014 The Jalview Authors\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3\r
- * of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- * The Jalview Authors are detailed in the 'AUTHORS' file.\r
- */\r
-package jalview.datamodel;\r
-\r
-import java.util.List;\r
-import java.util.Vector;\r
-\r
-import fr.orsay.lri.varna.models.rna.RNA;\r
-\r
-/**\r
- * DOCUMENT ME!\r
- * \r
- * @author $author$\r
- * @version $Revision$\r
- */\r
-public interface SequenceI\r
-{\r
-  /**\r
-   * Set the display name for the sequence\r
-   * \r
-   * @param name\r
-   */\r
-  public void setName(String name);\r
-\r
-  /**\r
-   * Get the display name\r
-   */\r
-  public String getName();\r
-\r
-  /**\r
-   * Set start position of first non-gapped symbol in sequence\r
-   * \r
-   * @param start\r
-   *          new start position\r
-   */\r
-  public void setStart(int start);\r
-\r
-  /**\r
-   * get start position of first non-gapped residue in sequence\r
-   * \r
-   * @return\r
-   */\r
-  public int getStart();\r
-\r
-  /**\r
-   * get the displayed id of the sequence\r
-   * \r
-   * @return true means the id will be returned in the form\r
-   *         DisplayName/Start-End\r
-   */\r
-  public String getDisplayId(boolean jvsuffix);\r
-\r
-  /**\r
-   * set end position for last residue in sequence\r
-   * \r
-   * @param end\r
-   */\r
-  public void setEnd(int end);\r
-\r
-  /**\r
-   * get end position for last residue in sequence getEnd()>getStart() unless\r
-   * sequence only consists of gap characters\r
-   * \r
-   * @return\r
-   */\r
-  public int getEnd();\r
-\r
-  /**\r
-   * @return length of sequence including gaps\r
-   * \r
-   */\r
-  public int getLength();\r
-\r
-  /**\r
-   * Replace the sequence with the given string\r
-   * \r
-   * @param sequence\r
-   *          new sequence string\r
-   */\r
-  public void setSequence(String sequence);\r
-\r
-  /**\r
-   * @return sequence as string\r
-   */\r
-  public String getSequenceAsString();\r
-\r
-  /**\r
-   * get a range on the sequence as a string\r
-   * \r
-   * @param start\r
-   *          position relative to start of sequence including gaps (from 0)\r
-   * @param end\r
-   *          position relative to start of sequence including gaps (from 0)\r
-   * \r
-   * @return String containing all gap and symbols in specified range\r
-   */\r
-  public String getSequenceAsString(int start, int end);\r
-\r
-  /**\r
-   * Get the sequence as a character array\r
-   * \r
-   * @return seqeunce and any gaps\r
-   */\r
-  public char[] getSequence();\r
-\r
-  /**\r
-   * get stretch of sequence characters in an array\r
-   * \r
-   * @param start\r
-   *          absolute index into getSequence()\r
-   * @param end\r
-   *          exclusive index of last position in segment to be returned.\r
-   * \r
-   * @return char[max(0,end-start)];\r
-   */\r
-  public char[] getSequence(int start, int end);\r
-\r
-  /**\r
-   * create a new sequence object from start to end of this sequence\r
-   * \r
-   * @param start\r
-   *          int\r
-   * @param end\r
-   *          int\r
-   * @return SequenceI\r
-   */\r
-  public SequenceI getSubSequence(int start, int end);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param i\r
-   *          DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public char getCharAt(int i);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param desc\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void setDescription(String desc);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public String getDescription();\r
-\r
-  /**\r
-   * Return the alignment column for a sequence position * Return the alignment\r
-   * position for a sequence position\r
-   * \r
-   * @param pos\r
-   *          lying from start to end\r
-   * \r
-   * @return aligned column for residue (0 if residue is upstream from\r
-   *         alignment, -1 if residue is downstream from alignment) note.\r
-   *         Sequence object returns sequence.getEnd() for positions upstream\r
-   *         currently. TODO: change sequence for\r
-   *         assert(findIndex(seq.getEnd()+1)==-1) and fix incremental bugs\r
-   * \r
-   */\r
-  public int findIndex(int pos);\r
-\r
-  /**\r
-   * Returns the sequence position for an alignment position\r
-   * \r
-   * @param i\r
-   *          column index in alignment (from 1)\r
-   * \r
-   * @return residue number for residue (left of and) nearest ith column\r
-   */\r
-  public int findPosition(int i);\r
-\r
-  /**\r
-   * Returns an int array where indices correspond to each residue in the\r
-   * sequence and the element value gives its position in the alignment\r
-   * \r
-   * @return int[SequenceI.getEnd()-SequenceI.getStart()+1] or null if no\r
-   *         residues in SequenceI object\r
-   */\r
-  public int[] gapMap();\r
-\r
-  /**\r
-   * Returns an int array where indices correspond to each position in sequence\r
-   * char array and the element value gives the result of findPosition for that\r
-   * index in the sequence.\r
-   * \r
-   * @return int[SequenceI.getLength()]\r
-   */\r
-  public int[] findPositionMap();\r
-\r
-  /**\r
-   * Delete a range of aligned sequence columns, creating a new dataset sequence\r
-   * if necessary and adjusting start and end positions accordingly.\r
-   * \r
-   * @param i\r
-   *          first column in range to delete\r
-   * @param j\r
-   *          last column in range to delete\r
-   */\r
-  public void deleteChars(int i, int j);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param i\r
-   *          DOCUMENT ME!\r
-   * @param c\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void insertCharAt(int i, char c);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param i\r
-   *          DOCUMENT ME!\r
-   * @param c\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void insertCharAt(int i, int length, char c);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public SequenceFeature[] getSequenceFeatures();\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param v\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void setSequenceFeatures(SequenceFeature[] features);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @param id\r
-   *          DOCUMENT ME!\r
-   */\r
-  public void setPDBId(Vector ids);\r
-\r
-  /**\r
-   * DOCUMENT ME!\r
-   * \r
-   * @return DOCUMENT ME!\r
-   */\r
-  public Vector getPDBId();\r
-\r
-  /**\r
-   * add entry to the vector of PDBIds, if it isn't in the list already\r
-   * \r
-   * @param entry\r
-   */\r
-  public void addPDBId(PDBEntry entry);\r
-\r
-  /**\r
-   * update the list of PDBEntrys to include any DBRefEntrys citing structural\r
-   * databases\r
-   * \r
-   * @return true if PDBEntry list was modified\r
-   */\r
-  public boolean updatePDBIds();\r
-\r
-  public String getVamsasId();\r
-\r
-  public void setVamsasId(String id);\r
-\r
-  public void setDBRef(DBRefEntry[] dbs);\r
-\r
-  public DBRefEntry[] getDBRef();\r
-\r
-  /**\r
-   * add the given entry to the list of DBRefs for this sequence, or replace a\r
-   * similar one if entry contains a map object and the existing one doesnt.\r
-   * \r
-   * @param entry\r
-   */\r
-  public void addDBRef(DBRefEntry entry);\r
-\r
-  public void addSequenceFeature(SequenceFeature sf);\r
-\r
-  public void deleteFeature(SequenceFeature sf);\r
-\r
-  public void setDatasetSequence(SequenceI seq);\r
-\r
-  public SequenceI getDatasetSequence();\r
-\r
-  public AlignmentAnnotation[] getAnnotation();\r
-\r
-  public void addAlignmentAnnotation(AlignmentAnnotation annotation);\r
-\r
-  public void removeAlignmentAnnotation(AlignmentAnnotation annotation);\r
-\r
-  /**\r
-   * Derive a sequence (using this one's dataset or as the dataset)\r
-   * \r
-   * @return duplicate sequence with valid dataset sequence\r
-   */\r
-  public SequenceI deriveSequence();\r
-\r
-  /**\r
-   * set the array of associated AlignmentAnnotation for this sequenceI\r
-   * \r
-   * @param revealed\r
-   */\r
-  public void setAlignmentAnnotation(AlignmentAnnotation[] annotation);\r
-\r
-  /**\r
-   * Get one or more alignment annotations with a particular label.\r
-   * \r
-   * @param label\r
-   *          string which each returned annotation must have as a label.\r
-   * @return null or array of annotations.\r
-   */\r
-  public AlignmentAnnotation[] getAnnotation(String label);\r
-\r
-  /**\r
-   * Return a list of any annotations which match the given calcId (source) and\r
-   * label (type). Null values do not match.\r
-   * \r
-   * @param calcId\r
-   * @param label\r
-   * @return\r
-   */\r
-  public List<AlignmentAnnotation> getAlignmentAnnotations(String calcId,\r
-          String label);\r
-\r
-  /**\r
-   * create a new dataset sequence (if necessary) for this sequence and sets\r
-   * this sequence to refer to it. This call will move any features or\r
-   * references on the sequence onto the dataset. It will also make a duplicate\r
-   * of existing annotation rows for the dataset sequence, rather than relocate\r
-   * them in order to preserve external references (since 2.8.2).\r
-   * \r
-   * @return dataset sequence for this sequence\r
-   */\r
-  public SequenceI createDatasetSequence();\r
-\r
-  /**\r
-   * Transfer any database references or annotation from entry under a sequence\r
-   * mapping. <br/>\r
-   * <strong>Note: DOES NOT transfer sequence associated alignment\r
-   * annotation </strong><br/>\r
-   * \r
-   * @param entry\r
-   * @param mp\r
-   *          null or mapping from entry's numbering to local start/end\r
-   */\r
-  public void transferAnnotation(SequenceI entry, Mapping mp);\r
-\r
-  /**\r
-   * @param index\r
-   *          The sequence index in the MSA\r
-   */\r
-  public void setIndex(int index);\r
-\r
-  /**\r
-   * @return The index of the sequence in the alignment\r
-   */\r
-  public int getIndex();\r
-\r
-  /**\r
-   * @return The RNA of the sequence in the alignment\r
-   */\r
-\r
-  public RNA getRNA();\r
-\r
-  /**\r
-   * @param rna\r
-   *          The RNA.\r
-   */\r
-  public void setRNA(RNA rna);\r
-\r
-}\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.datamodel;
+
+import java.util.List;
+import java.util.Vector;
+
+import fr.orsay.lri.varna.models.rna.RNA;
+
+/**
+ * DOCUMENT ME!
+ * 
+ * @author $author$
+ * @version $Revision$
+ */
+public interface SequenceI
+{
+  /**
+   * Set the display name for the sequence
+   * 
+   * @param name
+   */
+  public void setName(String name);
+
+  /**
+   * Get the display name
+   */
+  public String getName();
+
+  /**
+   * Set start position of first non-gapped symbol in sequence
+   * 
+   * @param start
+   *          new start position
+   */
+  public void setStart(int start);
+
+  /**
+   * get start position of first non-gapped residue in sequence
+   * 
+   * @return
+   */
+  public int getStart();
+
+  /**
+   * get the displayed id of the sequence
+   * 
+   * @return true means the id will be returned in the form
+   *         DisplayName/Start-End
+   */
+  public String getDisplayId(boolean jvsuffix);
+
+  /**
+   * set end position for last residue in sequence
+   * 
+   * @param end
+   */
+  public void setEnd(int end);
+
+  /**
+   * get end position for last residue in sequence getEnd()>getStart() unless
+   * sequence only consists of gap characters
+   * 
+   * @return
+   */
+  public int getEnd();
+
+  /**
+   * @return length of sequence including gaps
+   * 
+   */
+  public int getLength();
+
+  /**
+   * Replace the sequence with the given string
+   * 
+   * @param sequence
+   *          new sequence string
+   */
+  public void setSequence(String sequence);
+
+  /**
+   * @return sequence as string
+   */
+  public String getSequenceAsString();
+
+  /**
+   * get a range on the sequence as a string
+   * 
+   * @param start
+   *          position relative to start of sequence including gaps (from 0)
+   * @param end
+   *          position relative to start of sequence including gaps (from 0)
+   * 
+   * @return String containing all gap and symbols in specified range
+   */
+  public String getSequenceAsString(int start, int end);
+
+  /**
+   * Get the sequence as a character array
+   * 
+   * @return seqeunce and any gaps
+   */
+  public char[] getSequence();
+
+  /**
+   * get stretch of sequence characters in an array
+   * 
+   * @param start
+   *          absolute index into getSequence()
+   * @param end
+   *          exclusive index of last position in segment to be returned.
+   * 
+   * @return char[max(0,end-start)];
+   */
+  public char[] getSequence(int start, int end);
+
+  /**
+   * create a new sequence object from start to end of this sequence
+   * 
+   * @param start
+   *          int
+   * @param end
+   *          int
+   * @return SequenceI
+   */
+  public SequenceI getSubSequence(int start, int end);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param i
+   *          DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public char getCharAt(int i);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param desc
+   *          DOCUMENT ME!
+   */
+  public void setDescription(String desc);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public String getDescription();
+
+  /**
+   * Return the alignment column for a sequence position * Return the alignment
+   * position for a sequence position
+   * 
+   * @param pos
+   *          lying from start to end
+   * 
+   * @return aligned column for residue (0 if residue is upstream from
+   *         alignment, -1 if residue is downstream from alignment) note.
+   *         Sequence object returns sequence.getEnd() for positions upstream
+   *         currently. TODO: change sequence for
+   *         assert(findIndex(seq.getEnd()+1)==-1) and fix incremental bugs
+   * 
+   */
+  public int findIndex(int pos);
+
+  /**
+   * Returns the sequence position for an alignment position
+   * 
+   * @param i
+   *          column index in alignment (from 1)
+   * 
+   * @return residue number for residue (left of and) nearest ith column
+   */
+  public int findPosition(int i);
+
+  /**
+   * Returns an int array where indices correspond to each residue in the
+   * sequence and the element value gives its position in the alignment
+   * 
+   * @return int[SequenceI.getEnd()-SequenceI.getStart()+1] or null if no
+   *         residues in SequenceI object
+   */
+  public int[] gapMap();
+
+  /**
+   * Returns an int array where indices correspond to each position in sequence
+   * char array and the element value gives the result of findPosition for that
+   * index in the sequence.
+   * 
+   * @return int[SequenceI.getLength()]
+   */
+  public int[] findPositionMap();
+
+  /**
+   * Delete a range of aligned sequence columns, creating a new dataset sequence
+   * if necessary and adjusting start and end positions accordingly.
+   * 
+   * @param i
+   *          first column in range to delete
+   * @param j
+   *          last column in range to delete
+   */
+  public void deleteChars(int i, int j);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param i
+   *          DOCUMENT ME!
+   * @param c
+   *          DOCUMENT ME!
+   */
+  public void insertCharAt(int i, char c);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param i
+   *          DOCUMENT ME!
+   * @param c
+   *          DOCUMENT ME!
+   */
+  public void insertCharAt(int i, int length, char c);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public SequenceFeature[] getSequenceFeatures();
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param v
+   *          DOCUMENT ME!
+   */
+  public void setSequenceFeatures(SequenceFeature[] features);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @param id
+   *          DOCUMENT ME!
+   */
+  public void setPDBId(Vector ids);
+
+  /**
+   * DOCUMENT ME!
+   * 
+   * @return DOCUMENT ME!
+   */
+  public Vector getPDBId();
+
+  /**
+   * add entry to the vector of PDBIds, if it isn't in the list already
+   * 
+   * @param entry
+   */
+  public void addPDBId(PDBEntry entry);
+
+  /**
+   * update the list of PDBEntrys to include any DBRefEntrys citing structural
+   * databases
+   * 
+   * @return true if PDBEntry list was modified
+   */
+  public boolean updatePDBIds();
+
+  public String getVamsasId();
+
+  public void setVamsasId(String id);
+
+  public void setDBRef(DBRefEntry[] dbs);
+
+  public DBRefEntry[] getDBRef();
+
+  /**
+   * add the given entry to the list of DBRefs for this sequence, or replace a
+   * similar one if entry contains a map object and the existing one doesnt.
+   * 
+   * @param entry
+   */
+  public void addDBRef(DBRefEntry entry);
+
+  public void addSequenceFeature(SequenceFeature sf);
+
+  public void deleteFeature(SequenceFeature sf);
+
+  public void setDatasetSequence(SequenceI seq);
+
+  public SequenceI getDatasetSequence();
+
+  public AlignmentAnnotation[] getAnnotation();
+
+  public void addAlignmentAnnotation(AlignmentAnnotation annotation);
+
+  public void removeAlignmentAnnotation(AlignmentAnnotation annotation);
+
+  /**
+   * Derive a sequence (using this one's dataset or as the dataset)
+   * 
+   * @return duplicate sequence with valid dataset sequence
+   */
+  public SequenceI deriveSequence();
+
+  /**
+   * set the array of associated AlignmentAnnotation for this sequenceI
+   * 
+   * @param revealed
+   */
+  public void setAlignmentAnnotation(AlignmentAnnotation[] annotation);
+
+  /**
+   * Get one or more alignment annotations with a particular label.
+   * 
+   * @param label
+   *          string which each returned annotation must have as a label.
+   * @return null or array of annotations.
+   */
+  public AlignmentAnnotation[] getAnnotation(String label);
+
+  /**
+   * Return a list of any annotations which match the given calcId (source) and
+   * label (type). Null values do not match.
+   * 
+   * @param calcId
+   * @param label
+   * @return
+   */
+  public List<AlignmentAnnotation> getAlignmentAnnotations(String calcId,
+          String label);
+
+  /**
+   * create a new dataset sequence (if necessary) for this sequence and sets
+   * this sequence to refer to it. This call will move any features or
+   * references on the sequence onto the dataset. It will also make a duplicate
+   * of existing annotation rows for the dataset sequence, rather than relocate
+   * them in order to preserve external references (since 2.8.2).
+   * 
+   * @return dataset sequence for this sequence
+   */
+  public SequenceI createDatasetSequence();
+
+  /**
+   * Transfer any database references or annotation from entry under a sequence
+   * mapping. <br/>
+   * <strong>Note: DOES NOT transfer sequence associated alignment
+   * annotation </strong><br/>
+   * 
+   * @param entry
+   * @param mp
+   *          null or mapping from entry's numbering to local start/end
+   */
+  public void transferAnnotation(SequenceI entry, Mapping mp);
+
+  /**
+   * @param index
+   *          The sequence index in the MSA
+   */
+  public void setIndex(int index);
+
+  /**
+   * @return The index of the sequence in the alignment
+   */
+  public int getIndex();
+
+  /**
+   * @return The RNA of the sequence in the alignment
+   */
+
+  public RNA getRNA();
+
+  /**
+   * @param rna
+   *          The RNA.
+   */
+  public void setRNA(RNA rna);
+
+}
index 6f0bf26..775adf7 100644 (file)
@@ -1,60 +1,60 @@
-/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)\r
- * Copyright (C) 2014 The Jalview Authors\r
- * \r
- * This file is part of Jalview.\r
- * \r
- * Jalview is free software: you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License \r
- * as published by the Free Software Foundation, either version 3\r
- * of the License, or (at your option) any later version.\r
- *  \r
- * Jalview is distributed in the hope that it will be useful, but \r
- * WITHOUT ANY WARRANTY; without even the implied warranty \r
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
- * PURPOSE.  See the GNU General Public License for more details.\r
- * \r
- * You should have received a copy of the GNU General Public License\r
- * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
- * The Jalview Authors are detailed in the 'AUTHORS' file.\r
- */\r
-package jalview.ws;\r
-\r
-import static org.junit.Assert.*;\r
-import jalview.datamodel.AlignmentI;\r
-import jalview.datamodel.SequenceI;\r
-import jalview.ws.seqfetcher.DbSourceProxy;\r
-\r
-import java.util.List;\r
-\r
-import org.junit.Before;\r
-import org.junit.Test;\r
-\r
-public class PDBSequenceFetcherTest\r
-{\r
-\r
-  SequenceFetcher sf;\r
-\r
-  @Before\r
-  public void setUp() throws Exception\r
-  {\r
-    sf = new SequenceFetcher(false);\r
-  }\r
-\r
-  @Test\r
-  public void testRnaSeqRetrieve() throws Exception\r
-  {\r
-    List<DbSourceProxy> sps = sf.getSourceProxy("PDB");\r
-    AlignmentI response = sps.get(0).getSequenceRecords("2GIS");\r
-    assertTrue(response != null);\r
-    assertTrue(response.getHeight() == 1);\r
-    for (SequenceI sq : response.getSequences())\r
-    {\r
-      assertTrue("No annotation transfered to sequence.",\r
-              sq.getAnnotation().length > 0);\r
-      assertTrue("No PDBEntry on sequence.", sq.getPDBId().size() > 0);\r
-      assertTrue("No RNA annotation on sequence.", sq.getRNA() != null);\r
-    }\r
-  }\r
-\r
-}\r
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
+ * Copyright (C) 2014 The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+package jalview.ws;
+
+import static org.junit.Assert.*;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.SequenceI;
+import jalview.ws.seqfetcher.DbSourceProxy;
+
+import java.util.List;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class PDBSequenceFetcherTest
+{
+
+  SequenceFetcher sf;
+
+  @Before
+  public void setUp() throws Exception
+  {
+    sf = new SequenceFetcher(false);
+  }
+
+  @Test
+  public void testRnaSeqRetrieve() throws Exception
+  {
+    List<DbSourceProxy> sps = sf.getSourceProxy("PDB");
+    AlignmentI response = sps.get(0).getSequenceRecords("2GIS");
+    assertTrue(response != null);
+    assertTrue(response.getHeight() == 1);
+    for (SequenceI sq : response.getSequences())
+    {
+      assertTrue("No annotation transfered to sequence.",
+              sq.getAnnotation().length > 0);
+      assertTrue("No PDBEntry on sequence.", sq.getPDBId().size() > 0);
+      assertTrue("No RNA annotation on sequence.", sq.getRNA() != null);
+    }
+  }
+
+}
index d9858e3..823caeb 100644 (file)
@@ -1,2 +1,2 @@
-help2Website.class\r
-getJavaVersion.class\r
+help2Website.class
+getJavaVersion.class
index 65e6644..76ff05b 100644 (file)
 # You should have received a copy of the 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
-# Splits a concatenated set of Stockholm Files into several individual files.\r
-\r
-use strict;\r
-use FileHandle;\r
-my $ac;\r
-my $lns="";\r
-my $fh;\r
-while (<>) {\r
-    if ($_=~m!^//!) {\r
-       $fh->print("//\n");\r
-       $fh->close();\r
-       $ac = undef;\r
-       $lns = "";\r
-    } else {\r
-       if ($_=~/GF\s+AC\s+([0-9.RPF]+)/) { \r
-           $ac=$1; \r
-           ($fh=new FileHandle)->open(">$ac.stk") or die("Couldn't open file '$ac.stk'"); \r
-           $lns=~/^. STOCKHOLM 1.0/ or $fh->print("# STOCKHOLM 1.0\n");\r
-       };\r
-       if (defined($fh)) {\r
-           if (defined $lns) { \r
-               $fh->print($lns); $lns=undef; }\r
-           \r
-           $fh->print($_);\r
-       } else {\r
-           $lns .= $_;\r
-       }\r
-    }\r
-}\r
+# Splits a concatenated set of Stockholm Files into several individual files.
+
+use strict;
+use FileHandle;
+my $ac;
+my $lns="";
+my $fh;
+while (<>) {
+    if ($_=~m!^//!) {
+       $fh->print("//\n");
+       $fh->close();
+       $ac = undef;
+       $lns = "";
+    } else {
+       if ($_=~/GF\s+AC\s+([0-9.RPF]+)/) { 
+           $ac=$1; 
+           ($fh=new FileHandle)->open(">$ac.stk") or die("Couldn't open file '$ac.stk'"); 
+           $lns=~/^. STOCKHOLM 1.0/ or $fh->print("# STOCKHOLM 1.0\n");
+       };
+       if (defined($fh)) {
+           if (defined $lns) { 
+               $fh->print($lns); $lns=undef; }
+           
+           $fh->print($_);
+       } else {
+           $lns .= $_;
+       }
+    }
+}