Merge branch 'JAL-1139_proguard' into Release_2_8_Branch
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 25 Nov 2013 16:44:17 +0000 (16:44 +0000)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Mon, 25 Nov 2013 16:44:17 +0000 (16:44 +0000)
94 files changed:
build.xml
examples/PF00111_seed.stk [new file with mode: 0644]
examples/appletParameters.html
examples/applets.html
examples/embedded.html
examples/embeddedWJmol.html
examples/formComplete.html
examples/jalviewLiteJs.html
examples/javascriptLaunch.html
examples/linkedapplets_ng.html
examples/testdata/example_annot_file.jva [new file with mode: 0644]
examples/testdata/smad.fa [new file with mode: 0644]
examples/testdata/smad_groups.jva [new file with mode: 0644]
examples/testdata/test_combine_annot.jva [new file with mode: 0644]
examples/testdata/uniref50_iupred.jva [new file with mode: 0644]
help/html/features/annotationsFormat.html
help/html/features/preferences.html
src/jalview/analysis/Dna.java
src/jalview/api/AlignViewportI.java
src/jalview/appletgui/AnnotationLabels.java
src/jalview/appletgui/AnnotationPanel.java
src/jalview/appletgui/SeqPanel.java
src/jalview/bin/Jalview.java
src/jalview/bin/JalviewLite.java
src/jalview/datamodel/AlignedCodonFrame.java
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/AlignmentI.java
src/jalview/datamodel/Annotation.java
src/jalview/datamodel/GraphLine.java
src/jalview/datamodel/SequenceCollectionI.java
src/jalview/datamodel/SequenceGroup.java
src/jalview/datamodel/SequenceI.java
src/jalview/ext/jmol/JalviewJmolBinding.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/AlignmentPanel.java
src/jalview/gui/AnnotationColourChooser.java
src/jalview/gui/AnnotationLabels.java
src/jalview/gui/AnnotationPanel.java
src/jalview/gui/JDatabaseTree.java
src/jalview/gui/OptsAndParamsPage.java
src/jalview/gui/PaintRefresher.java
src/jalview/gui/SeqPanel.java
src/jalview/gui/WsJobParameters.java
src/jalview/io/AnnotationFile.java
src/jalview/io/AppletFormatAdapter.java
src/jalview/io/FileLoader.java
src/jalview/io/FileParse.java
src/jalview/io/NewickFile.java
src/jalview/io/StockholmFile.java
src/jalview/renderer/AnnotationRenderer.java
src/jalview/renderer/AwtRenderPanelI.java
src/jalview/schemes/AnnotationColourGradient.java
src/jalview/schemes/ResidueProperties.java
src/jalview/structure/StructureSelectionManager.java
src/jalview/viewmodel/AlignmentViewport.java
src/jalview/ws/DBRefFetcher.java
src/jalview/ws/dbsources/EmblCdsSouce.java
src/jalview/ws/dbsources/EmblSource.java
src/jalview/ws/dbsources/GeneDbSource.java
src/jalview/ws/dbsources/Pdb.java
src/jalview/ws/dbsources/PfamFull.java
src/jalview/ws/dbsources/PfamSeed.java
src/jalview/ws/dbsources/RfamFull.java
src/jalview/ws/dbsources/RfamSeed.java
src/jalview/ws/dbsources/Uniprot.java
src/jalview/ws/dbsources/das/api/jalviewSourceI.java
src/jalview/ws/dbsources/das/datamodel/DasSequenceSource.java
src/jalview/ws/dbsources/das/datamodel/JalviewSource.java
src/jalview/ws/jws2/AADisorderClient.java
src/jalview/ws/jws2/JabaParamStore.java
src/jalview/ws/jws2/JabawsAlignCalcWorker.java
src/jalview/ws/jws2/Jws2Discoverer.java
src/jalview/ws/jws2/jabaws2/Jws2Instance.java
src/jalview/ws/rest/RestClient.java
src/jalview/ws/rest/RestJob.java
src/jalview/ws/rest/RestServiceDescription.java
src/jalview/ws/rest/params/SeqGroupIndexVector.java
src/jalview/ws/seqfetcher/ASequenceFetcher.java
src/jalview/ws/seqfetcher/DbSourceProxy.java
test/jalview/analysis/DnaTranslation.java [new file with mode: 0644]
test/jalview/bin/CommandLineOperations.java [new file with mode: 0644]
test/jalview/io/AnnotationFileIOTest.java [new file with mode: 0644]
test/jalview/io/FileIOTester.java [new file with mode: 0644]
test/jalview/io/NewickFileTests.java [new file with mode: 0644]
test/jalview/io/StockholmFileTest.java [new file with mode: 0644]
test/jalview/io/test_gz_fasta.gz [new file with mode: 0644]
test/jalview/schemes/DnaCodonTests.java [new file with mode: 0644]
test/jalview/ws/gui/Jws2ParamView.java
test/jalview/ws/jabaws/DisorderAnnotExportImport.java [new file with mode: 0644]
test/jalview/ws/jabaws/JalviewJabawsTestUtils.java [new file with mode: 0644]
test/jalview/ws/rest/ShmmrRSBSService.java [new file with mode: 0644]
test/jalview/ws/seqfetcher/DbRefFetcherTest.java [new file with mode: 0644]
utils/InstallAnywhere/Jalview.iap_xml
utils/InstallAnywhere/jalview_buildinstaller.xml

index e12db95..eae1d94 100755 (executable)
--- a/build.xml
+++ b/build.xml
                                <include name="*.jar"/>
                        </fileset>
                </delete>
-               <jar destfile="${packageDir}/${outputJar}">
+               <jar destfile="${packageDir}/${outputJar}" index="true">
                        <manifest>
                                <attribute name="Main-Class" value="jalview.bin.Jalview" />
+        <attribute name="Permissions" value="all-permissions" />
+        <!--<attribute name="Trusted-Lib" value="true" /> -->
+        <attribute name="Application-Name" value="Jalview Desktop"/>
+        <attribute name="Codebase" value="*"/>
                        </manifest>
                        <fileset dir="${outputDir}/">
                                <exclude name="cache*/**" />
        <target name="packageApplet" depends="compileApplet, buildPropertiesFile">
                <copy file="${resourceDir}/images/idwidth.gif" toFile="${outputDir}/images/idwidth.gif" />
                <copy file="${resourceDir}/images/link.gif" toFile="${outputDir}/images/link.gif" />
-               <jar destfile="in.jar">
+               <jar destfile="in.jar" index="true">
                        <manifest>
                                <attribute name="Main-Class" value="jalview.bin.JalviewLite" />
+                               <attribute name="Permissions" value="sandbox" /> 
+        <!--<attribute name="Trusted-Lib" value="true" /> -->
+                               <attribute name="Application-Name" value="JalviewLite Applet"/>
+                               <attribute name="Codebase" value="www.jalview.org"/>
                        </manifest>
                        <fileset dir="${outputDir}">
                                <include name="com/**" />
                      <include name="**/*"/>
                        </fileset>
          </copy>
-                       
+           <jar update="true" index="true" jarfile="${packageDir}/examples/${jalviewLiteJar}"/>
+           <jar update="true" index="true" jarfile="${packageDir}/examples/$(jmolJar}"/>
+    <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
+
+      <fileset dir="${packageDir}/examples">
+        <include name="*.jar" />
+      </fileset>
+    </signjar>
        </target>
        <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
         <javadoc destdir="${javadocDir}">
diff --git a/examples/PF00111_seed.stk b/examples/PF00111_seed.stk
new file mode 100644 (file)
index 0000000..d98c09f
--- /dev/null
@@ -0,0 +1,523 @@
+# STOCKHOLM 1.0
+#=GF ID   Fer2
+#=GF AC   PF00111.22
+#=GF DE   2Fe-2S iron-sulfur cluster binding domain
+#=GF PI   fer2; 
+#=GF AU   Sonnhammer ELL
+#=GF SE   Prosite
+#=GF GA   20.70 15.00;
+#=GF TC   20.70 15.70;
+#=GF NC   20.60 14.90;
+#=GF BM   hmmbuild HMM.ann SEED.ann
+#=GF SM   hmmsearch -Z 15929002 -E 1000 --cpu 4 HMM pfamseq
+#=GF TP   Domain
+#=GF WK   Ferredoxin
+#=GF DR   INTERPRO; IPR001041;
+#=GF DR   PROSITE; PDOC00175;
+#=GF DR   PROSITE; PDOC00642;
+#=GF DR   SCOP; 3fxc; fa;
+#=GF DR   HOMSTRAD; fer2;
+#=GF DR   HOMSTRAD; Ald_Xan_dh_1;
+#=GF SQ   206
+#=GS FER_GLEJA/8-82        AC P00233.1
+#=GS FER2_RAPSA/9-84       AC P14937.1
+#=GS Q39648_CITSI/61-136   AC Q39648.1
+#=GS FER3_MAIZE/63-138     AC P27788.1
+#=GS FER6_MAIZE/66-141     AC P94044.1
+#=GS FER1_SYNP2/9-83       AC P31965.2
+#=GS FER1_EQUAR/7-81       AC P00235.1
+#=GS FER2_EQUAR/7-80       AC P00237.1
+#=GS FER2_EQUAR/7-80       DR PDB; 1WRI A; 7-80;
+#=GS FER2_PLEBO/10-85      AC P46035.2
+#=GS P95533_PSEPU/253-328  AC P95533.1
+#=GS KSHB_MYCTU/273-348    AC P96853.1
+#=GS Q44253_ACISP/251-326  AC Q44253.1
+#=GS Q59656_PLEBO/573-647  AC Q59656.1
+#=GS P71846_MYCTU/600-675  AC P71846.3
+#=GS O84985_PSEPU/271-347  AC O84985.2
+#=GS PAAE_ECOLI/266-342    AC P76081.1
+#=GS HCR_ECOLI/241-316     AC P75824.3
+#=GS O87803_PSEST/5-82     AC O87803.2
+#=GS TMOF_PSEME/4-81       AC Q03304.1
+#=GS O32476_PSESP/4-81     AC O32476.1
+#=GS Q51944_BURPI/5-82     AC Q51944.1
+#=GS Q53028_RHOCO/4-80     AC Q53028.1
+#=GS Q45344_BURPI/10-88    AC Q45344.1
+#=GS Q9ZNP1_COMTE/9-88     AC Q9ZNP1.1
+#=GS Q9Z418_PSEPU/11-90    AC Q9Z418.1
+#=GS Q9ZAN6_9BURK/12-91    AC Q9ZAN6.1
+#=GS FERN_PSEPU/7-85       AC P23263.1
+#=GS O24827_ACISP/7-85     AC O24827.1
+#=GS FERX_PSEPU/8-86       AC P23103.1
+#=GS Q52061_PSEPU/8-86     AC Q52061.1
+#=GS Q52167_PSEPU/8-86     AC Q52167.1
+#=GS O84964_9RALS/4-82     AC O84964.1
+#=GS Q9Z3W9_9SPHN/8-85     AC Q9Z3W9.1
+#=GS DMPP_PSEUF/5-82       AC P19734.3
+#=GS O84963_9RALS/4-81     AC O84963.1
+#=GS Q52574_PSESP/5-83     AC Q52574.1
+#=GS Q9ZNP2_COMTE/5-82     AC Q9ZNP2.1
+#=GS Q43983_ACICA/5-82     AC Q43983.1
+#=GS O87617_PSEAE/3-78     AC O87617.1
+#=GS O52378_9RALS/3-78     AC O52378.1
+#=GS Q51492_PSEAE/3-78     AC Q51492.1
+#=GS NDOR_PSEPU/3-78       AC Q52126.1
+#=GS Q52140_PSEPU/3-78     AC Q52140.1
+#=GS Q9Z9X8_9GAMM/242-317  AC Q9Z9X8.1
+#=GS VANB_PSEUH/234-309    AC O05617.1
+#=GS VANB_PSES9/231-306    AC P12580.1
+#=GS VANB_PSEPU/231-307    AC O54037.1
+#=GS VANB_ACIAD/234-309    AC O24840.1
+#=GS O88034_STRCO/230-305  AC O88034.1
+#=GS P94680_COMTE/234-309  AC P94680.1
+#=GS CBAB_COMTE/232-307    AC Q44257.2
+#=GS POBB_PSEPS/236-311    AC Q52186.1
+#=GS YEAX_ECOLI/237-313    AC P76254.1
+#=GS Q47914_SPHCR/241-316  AC Q47914.2
+#=GS PDR_BURCE/241-314     AC P33164.3
+#=GS PDR_BURCE/241-314     DR PDB; 2PIA A; 240-313;
+#=GS PHT2_PSEPU/243-316    AC Q05182.1
+#=GS O86347_MYCTU/231-301  AC O86347.3
+#=GS YFAE_ECOLI/4-77       AC P0ABW3.1
+#=GS Y1309_HAEIN/3-75      AC P45154.1
+#=GS O31003_VIBAN/5-73     AC O31003.1
+#=GS RFBI_SALTY/5-76       AC P26395.1
+#=GS P95461_9PSED/17-94    AC P95461.1
+#=GS O85971_SPHAR/13-90    AC O85971.1
+#=GS XYLA_PSEPU/20-97      AC P21394.1
+#=GS YCBX_ECOLI/293-362    AC P75863.1
+#=GS P96096_THIFE/9-86     AC P96096.1
+#=GS MMOC_METTR/7-81       AC Q53563.1
+#=GS O85675_ACIAD/8-85     AC O85675.1
+#=GS BENC_ACIAD/19-98      AC P07771.2
+#=GS BENC_ACIAD/19-98      DR PDB; 1KRH B; 9-88;
+#=GS BENC_ACIAD/19-98      DR PDB; 1KRH A; 9-88;
+#=GS XYLZ_PSEPU/8-86       AC P23101.1
+#=GS CBDC_BURCE/8-85       AC Q51603.1
+#=GS O66892_AQUAE/7-72     AC O66892.1
+#=GS O85226_PSEFL/27-86    AC O85226.1
+#=GS O29575_ARCFU/14-75    AC O29575.1
+#=GS O27878_METTH/21-82    AC O27878.1
+#=GS Y092_METJA/14-73      AC Q57557.1
+#=GS FER5_RHOCA/10-107     AC P37097.2
+#=GS Q44501_AZOVI/10-107   AC Q44501.1
+#=GS Q46508_DESFR/6-74     AC Q46508.1
+#=GS Q9ZBV9_STRCO/15-78    AC Q9ZBV9.1
+#=GS NUOG_MYCTU/19-82      AC P95175.2
+#=GS O87815_CUPNE/22-85    AC O87815.1
+#=GS NQO3_THET8/4-88       AC Q56223.2
+#=GS NQO3_THET8/4-88       DR PDB; 3M9S C; 4-88;
+#=GS NQO3_THET8/4-88       DR PDB; 3M9S 3; 4-88;
+#=GS P74022_SYNY3/6-69     AC P74022.1
+#=GS P94157_SYNP6/6-69     AC P94157.1
+#=GS Q44513_ANAVA/6-69     AC Q44513.1
+#=GS P77908_MOOTH/4-67     AC P77908.3
+#=GS Q9ZJW1_HELPJ/4-65     AC Q9ZJW1.1
+#=GS O05397_BACSU/11-72    AC O05397.1
+#=GS YJGC_BACSU/7-68       AC O34720.1
+#=GS NUOG_SALTI/4-72       AC P0A1Y5.2
+#=GS O66748_AQUAE/6-70     AC O66748.1
+#=GS NDUS1_DICDI/5-71      AC Q34312.1
+#=GS NQO3_PARDE/7-71       AC P29915.4
+#=GS NDUS1_NEUCR/38-101    AC P24918.2
+#=GS NUOG_RICPR/4-67       AC Q9ZCF6.1
+#=GS NDUS1_SOLTU/70-133    AC Q43644.1
+#=GS NDUS1_RECAM/4-67      AC O21241.1
+#=GS NDUS1_BOVIN/34-97     AC P15690.1
+#=GS O52683_THEMA/3-65     AC O52683.1
+#=GS Q46606_DESVU/3-71     AC Q46606.1
+#=GS HOXU_CUPNH/5-66       AC P22318.2
+#=GS P72305_RHOOP/5-66     AC P72305.1
+#=GS Q59261_CLOSA/4-67     AC Q59261.1
+#=GS Q9ZNE4_CLOPE/4-67     AC Q9ZNE4.1
+#=GS PHF1_CLOPA/4-67       AC P29166.1
+#=GS Q59262_CLOAB/4-66     AC Q59262.1
+#=GS P74801_SYNY3/5-63     AC P74801.1
+#=GS XDHE_BACSU/18-77      AC O32143.1
+#=GS HCRC_THAAR/7-66       AC O33818.1
+#=GS HCRC_THAAR/7-66       DR PDB; 1SB3 F; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1RM6 C; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1RM6 F; 7-66;
+#=GS HCRC_THAAR/7-66       DR PDB; 1SB3 C; 7-66;
+#=GS P95635_RHOPA/15-74    AC P95635.1
+#=GS XDHC_ECOLI/11-69      AC Q46801.1
+#=GS YAGT_ECOLI/65-124     AC P77165.1
+#=GS DCMS_HYDPS/8-67       AC P19915.2
+#=GS Q52589_9PSED/8-67     AC Q52589.1
+#=GS O52837_BRAJA/6-65     AC O52837.1
+#=GS O53709_MYCTU/5-64     AC O53709.1
+#=GS O87682_ARTNI/8-67     AC O87682.1
+#=GS Q59128_ARTNI/14-73    AC Q59128.1
+#=GS P72223_PSEPU/14-73    AC P72223.1
+#=GS P72223_PSEPU/14-73    DR PDB; 1T3Q A; 14-73;
+#=GS P72223_PSEPU/14-73    DR PDB; 1T3Q D; 14-73;
+#=GS Q9ZBN8_STRCO/5-65     AC Q9ZBN8.1
+#=GS O54050_RHOCA/5-68     AC O54050.1
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO A; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 E; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3R C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W54 C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W55 G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 2W3S C; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRO G; 5-68;
+#=GS O54050_RHOCA/5-68     DR PDB; 1JRP C; 5-68;
+#=GS O23887_MAIZE/15-85    AC O23887.1
+#=GS ALDO4_ARATH/8-78      AC Q7G191.2
+#=GS ALDO1_ARATH/23-95     AC Q7G193.2
+#=GS O30328_ACEEU/4-63     AC O30328.1
+#=GS IORA_BREDI/4-64       AC Q51697.1
+#=GS XDH_EMENI/39-108      AC Q12553.2
+#=GS O61198_CAEEL/8-78     AC O61198.2
+#=GS O17892_CAEEL/18-86    AC O17892.1
+#=GS XDH_DROSU/13-83       AC P91711.1
+#=GS O17506_BOMMO/19-89    AC O17506.1
+#=GS Q17250_BOMMO/18-88    AC Q17250.2
+#=GS ADO_BOVIN/9-79        AC P48034.2
+#=GS XDH_BOVIN/8-78        AC P80457.4
+#=GS XDH_BOVIN/8-78        DR PDB; 1V97 B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVY A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVY J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NRZ J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVV A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NRZ A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1N5X A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1N5X B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1V97 A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1VDV A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NVV J; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 1VDV B; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NS1 A; 8-78;
+#=GS XDH_BOVIN/8-78        DR PDB; 3NS1 J; 8-78;
+#=GS MOP_DESGI/6-65        AC Q46509.1
+#=GS MOP_DESGI/6-65        DR PDB; 1VLB A; 6-65;
+#=GS MOP_DESGI/6-65        DR PDB; 1SIJ A; 6-65;
+#=GS O53669_MYCTU/13-78    AC O53669.1
+#=GS O29566_ARCFU/5-80     AC O29566.1
+#=GS O30225_ARCFU/5-84     AC O30225.1
+#=GS NQRF_CHLTR/46-122     AC O84745.1
+#=GS NQRF_HAEIN/43-119     AC O05012.1
+#=GS NQRF_VIBAL/39-115     AC Q56584.1
+#=GS O84062_CHLTR/8-83     AC O84062.1
+#=GS Q9Z8H9_CHLPN/8-83     AC Q9Z8H9.1
+#=GS CSMJ_CHLTE/5-82       AC O68983.1
+#=GS CSMI_CHLTE/5-82       AC O68988.1
+#=GS FER_TRIVA/13-90       AC P21149.1
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P A; 5-83;
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P C; 5-83;
+#=GS FER_TRIVA/13-90       DR PDB; 1L5P B; 5-83;
+#=GS P73774_SYNY3/7-88     AC P73774.1
+#=GS FER_BUCAP/10-92       AC O51882.1
+#=GS O69222_AZOVI/11-93    AC O69222.1
+#=GS FER_HAEIN/10-92       AC P44428.2
+#=GS FER_PSEAE/10-92       AC Q51383.2
+#=GS ADRX_YEAST/67-149     AC Q12184.1
+#=GS ADX_PIG/71-155        AC P00258.2
+#=GS FER2_RICPR/11-93      AC Q9ZDW6.1
+#=GS O49551_ARATH/44-127   AC O49551.1
+#=GS ETP1_SCHPO/525-592    AC Q10361.2
+#=GS ETP1_SCHPO/525-592    DR PDB; 2WLB A; 525-607;
+#=GS ETP1_SCHPO/525-592    DR PDB; 2WLB B; 525-607;
+#=GS O07876_SPHSX/8-91     AC O07876.1
+#=GS Q9ZAM5_SPHSX/8-91     AC Q9ZAM5.1
+#=GS FER2_CAUCR/8-91       AC P37098.1
+#=GS FER6_RHOCA/7-91       AC P80306.1
+#=GS FER6_RHOCA/7-91       DR PDB; 1UWM A; 7-91;
+#=GS P74447_SYNY3/31-113   AC P74447.1
+#=GS P73171_SYNY3/7-85     AC P73171.1
+#=GS FER1_AQUAE/3-83       AC O67065.1
+#=GS FER4_RHOCA/7-86       AC P16022.1
+#=GS P74283_SYNY3/5-88     AC P74283.1
+#=GS PUTX_PSEPU/8-92       AC P00259.3
+#=GS PUTX_PSEPU/8-92       DR PDB; 1PDX A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQR A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1YJJ A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S C; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQQ B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLP B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1R7S B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1OQQ A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLN B; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1YJI A; 7-91;
+#=GS PUTX_PSEPU/8-92       DR PDB; 1XLN A; 7-91;
+#=GS TERPB_PSESP/8-92      AC P33007.2
+#=GS P95277_MYCTU/9-84     AC P95277.1
+#=GS O05933_PSEPU/11-88    AC O05933.1
+#=GS DESET_MYCTU/303-373   AC O05875.1
+#=GS O23344_ARATH/57-131   AC O23344.1
+#=GS P74159_SYNY3/11-86    AC P74159.1
+#=GS FER2_SYNP6/8-83       AC P08451.2
+#=GS P73388_SYNY3/9-84     AC P73388.1
+#=GS FER1_HALMA/35-108     AC P00217.2
+#=GS P74449_SYNY3/11-88    AC P74449.1
+#=GS FER2_NOSMU/10-85      AC P00249.2
+#=GS FER2_APHSA/10-86      AC P00251.2
+#=GS FER1_CYAPA/10-85      AC P17007.3
+#=GS FER_PORPU/10-85       AC P51320.2
+#=GS FER_ODOSI/10-85       AC P49522.2
+#=GS FER_BUMFI/9-84        AC P13106.1
+#=GS FER3_CYACA/9-84       AC P00241.1
+#=GS FER2_CYACA/8-83       AC P15789.1
+#=GS FER_BRYMA/8-83        AC P07838.1
+#=GS FER_APHSA/9-83        AC P00250.2
+#=GS FER_THEVL/9-84        AC P0A3D1.2
+#=GS FER_PERBI/6-80        AC P10770.1
+#=GS FER3_RAPSA/8-82       AC P14938.1
+#=GS FER1_SPIOL/58-132     AC P00221.2
+#=GS FER_SILPR/57-131      AC P04669.1
+#=GS FER_WHEAT/54-128      AC P00228.2
+#=GS FER_SAMNI/8-82        AC P00226.1
+#=GS FERA_ALOMA/8-82       AC P81372.1
+#=GS FER_ARCLA/8-82        AC P00223.1
+#=GS FER_DATST/8-82        AC P68165.1
+#=GS FER_PALPL/9-83        AC P07484.1
+#=GS FER_EUGVI/8-82        AC P22341.1
+#=GS FER_CHLFU/6-80        AC P56408.1
+#=GS FER_SYNY4/9-83        AC P00243.2
+#=GS FER1_PHYAM/8-82       AC P00229.1
+#=GS FER2_PHYAM/9-83       AC P00231.1
+#=GS FER2_SPIOL/8-82       AC P00224.1
+#=GS FER_PHYPA/57-132      AC O04166.1
+#=GS FER_MARPO/7-81        AC P09735.1
+FER_GLEJA/8-82                   LTPDGE...RTIEVPDDKF.ILDAGE...E.A.GLDLPYSCRA.......GA....CSSCTGKLLDGRV.....DQSE...QSFLDDDQMAEGFV.....................LTCVAYPA
+FER2_RAPSA/9-84                  IGPEGE..ENEFEVQDDQF.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGQIVKGQV.....DQSE...GSFLEDDHFEKGFV.....................LTCVAYPQ
+Q39648_CITSI/61-136              IGPMGE..EHEFEAQEDQY.ILDAAE...E.A.GVDLPYSCRA.......GA....CSTCAGKLVSGSV.....DQSD...GSFLDDNQMEAGYL.....................LTCISYPT
+FER3_MAIZE/63-138                VGPEGE..EHEFDAPDDAY.ILDAAE...T.A.GVELPYSCRA.......GA....CSTCAGKIESGSV.....DQSD...GSFLDDGQQEEGYV.....................LTCVSYPK
+FER6_MAIZE/66-141                VGPDGT..EHEFEAPDDTY.ILEAAE...T.A.GVELPFSCRA.......GS....CSTCAGRMSAGEV.....DQSE...GSFLDDGQMAEGYL.....................LTCISYPK
+FER1_SYNP2/9-83                  ITPDGE...VSYDAPDDEY.ILDSAG...D.A.GYDLPASCRA.......GA....CSTCAGKIVSGTV.....DQSE...QSFLDDDQIEAGYV.....................LTCIAYPQ
+FER1_EQUAR/7-81                  KTPSGE...FTLDVPEGTT.ILDAAE...E.A.GYDLPFSCRA.......GA....CSSCLGKVVSGSV.....DESE...GSFLDDGQMEEGFV.....................LTCIAIPE
+FER2_EQUAR/7-80                  KTPDGD...ITFDVEPGER.LIDIGS...E.K..ADLPLSCQA.......GA....CSTCLGKIVSGTV.....DQSE...GSFLDDEQIEQGYV.....................LTCIAIPE
+#=GR FER2_EQUAR/7-80       SS    E-----...EEEEE-----.TT----...-.S..S----SS--.......--....-STT---EEE-EE.....E---...-----HHHHH----.....................-TTT-EEE
+FER2_PLEBO/10-85                 NKKRNL..DITLPVDEDTT.VLEAAE...E.A.ELDLPFSCHS.......GA....CSSCVGKVVEGEI.....NQDD...QTFLDEEQVAKGFV.....................LLCVTYPR
+P95533_PSEPU/253-328             VLMKGQ..THAVPVRAGEL.LLSAML...R.A.GLPAPHACRV.......GE....CASCMCRLQAGEVQ....RLDS....SVLDEDDVAAG.W...................L.LACRTRAA
+KSHB_MYCTU/273-348               VELDGQ..THTVSWPRTAK.LLDVLL...A.A.GLDAPFSCRE.......GH....CGACACTLRAGKVN....MGVN....DVLEQQDLDEG.L...................I.LACQSRPE
+Q44253_ACISP/251-326             FMLNGI..KNSVMCSEDDFILNEIIK......AGINVPSSCCA.......GN....CGSCMCLLVSGDVI....LESN....TVLDASDEEDGWI.....................LACRSKPR
+Q59656_PLEBO/573-647             FAQSGK....EITCTQDDL.ILDIAD.....QAEVAIESSCRS.......GT....CGSCKCTLLEGEV.....SYDS..EPDVLDEHDRASGQI.....................LTCIARPV
+P71846_MYCTU/600-675             FTLSGQ..RAIFDLVPGDS.ILEGAL...G..LRSDAPYACMG.......GA....CGTCRAKLIEGNVE....MD....HNFALRKAELDAGYI.....................LTCQSHPT
+O84985_PSEPU/271-347             VISDGR..ALTFDLPRNTQNVLDAGN...A.I.GAELPYSCKA.......GV....CSTCKCRVIEGEV.....EMDS...NHALEDYEVAAGYV.....................LSCQTYPV
+PAAE_ECOLI/266-342               VRQDGR..DREIVLNADDESILDAAL...R.Q.GADLPYACKG.......GV....CATCKCKVLRGKV.....AMET...NYSLEPDELAAGYV.....................LSCQALPL
+HCR_ECOLI/241-316                FTKLQP..AREFYAPVGTT.LLEALE.....SNNVPVVAACRA.......GV....CGCCKTKVVSGEY.....TVSS...TMTLTDAEIAEGYV.....................LACSCHPQ
+O87803_PSEST/5-82                IKIADT..DVEFTISDRDT.ILRAAL...R.D.GIPISYECNS.......GG....CGSCKIDVVEGQVE...TLWGE...APGLSPRDKRK.SR...................K.LACQCLAS
+TMOF_PSEME/4-81                  IQSDDL..LHHFEADSNDT.LLSAAL...R.A.ELVFPYECNS.......GG....CGACKIELLEGEVS...NLWPD...APGLAARELRK.NR...................F.LACQCKPL
+O32476_PSESP/4-81                LKIEGQ..APGTCG.SGKS.LLVSAL...A.N.GIGFPYECAS.......GG....CGVCKFELLEGNVQ...SMWPD...APGLSSRDREKGNR...................H.LACQCVAL
+Q51944_BURPI/5-82                ITIEGG..SAFSVAADEDT.LLRGAL...R.G.GIALPHECSV.......GG....CGACRFDLLSGLVE...SIWPE...APGLSERDRKR.GK...................H.LACQSRPL
+Q53028_RHOCO/4-80                INVQPF..SHEYSCEDGES.LLDGAL..RN...SLLLKYGCKH.......GG....CGTCKVRLLDGDV.....EEPG..SSFALTPEDRENDVI.....................LACASVPL
+Q45344_BURPI/10-88               YAWNRP..RSTTHARPPKA.SLTGML...R.LGRKGIPVGCVN.......GG....CGVCKVRVLDGST......RLGR.RQPCPRQRRRRSAGL...................T.LACREAPL
+Q9ZNP1_COMTE/9-88                VSVEQT..GDTYACGTHES.LLSGML...R.LGRKGIPVGCVN.......GG....CGVCKVQVLEGAV.....RHLGP.VSCAHVSDLERDQGY...................T.LACRVAPL
+Q9Z418_PSEPU/11-90               VHVMQT..GETFPCATDES.LLQGML...R.LGRKGIPVGCVN.......GG....CGVCKVHVIEGQC.....RPLGP.VSRAHVSAAEEARGF...................T.LACRVAPV
+Q9ZAN6_9BURK/12-91               VHVAQT..DETFPCAGNES.LLTGMV...R.LGRKGIPVGCVN.......GG....CGVCKVRIVEGQI.....KALGP.ISRAHVTLDEENQGY...................T.LACRVAPQ
+FERN_PSEPU/7-85                  ITVQPG..GERFVCQPQQS.ALHAME...T.QGKRCLPVGCRG.......GG....CGLCKVRVLAGDY......ESGR.VSCKHLPVEAREQGY...................A.LACRLFAR
+O24827_ACISP/7-85                ITEQCS..GQRFPCKAGQS.VLKAME...Q.QGLECAPVGCRG.......GG....CGLCKVTVREGDY......ECGK.MSRVHAPPEALAQGE...................V.LACRIYPL
+FERX_PSEPU/8-86                  VFEVLS..GQSFRCAEGQS.VLRAME...A.QGKRCIPVGCRG.......GG....CGLCRVRVLSGAY......RSGR.MSRGHVPAKAAAEAL...................A.LACQVFPQ
+Q52061_PSEPU/8-86                IRETVS..GQTFRCLPDQS.VLSAME...Q.QGKRCVPVGCRG.......GG....CGLCKVRVLSGTY......QCHK.MSCNHVPPEAAKQGL...................A.LACQLFPQ
+Q52167_PSEPU/8-86                VHETNS..GQSFTCRPDQS.VLRAME...E.QGKRCVPVGCRG.......GG....CGLCKVRVLSGDY......QCGR.MSCSQVPPEAAQQGL...................A.LACQLYPR
+O84964_9RALS/4-82                VEIADS..GQRYPCDPGQN.LLRAME...V.LGQRGIPAGCRG.......GG....CGVCKVRIESGRY......RTGK.MSRACLSEAEQGQGL...................V.LACKAFPD
+Q9Z3W9_9SPHN/8-85                IRILGG..GQ.FACPEGER.VLIAME...Q.FGSSDIGVGCRG.......GG....CGFCLVRVVEGEY......RTGK.MSTAKVSVADQAKGY...................A.LACRIYPM
+DMPP_PSEUF/5-82                  VTIEPT..GEVIEVEDGQT.ILQAAL...R.Q.GVWLPFACGH.......GT....CATCKVQVVEGEVD...IGEAS...PFALMDIERDERKV.....................LACCAIPL
+O84963_9RALS/4-81                LTIEPI..GQTIPIAPGQT.VLDACL...R.S.GVWLPHACCH.......GL....CATCKVQVVEGEVD...QGEAS..SFALMDFER.DNGQC.....................LACCATAQ
+Q52574_PSESP/5-83                LTIEPL..GRTLDVAEGQT.LLDAAL...R.S.GVYIPHACGH.......GL....CGTCKVQVTSGEVD...HGAAN..PLRRSWISSGEEGKT.....................LACCATAL
+Q9ZNP2_COMTE/5-82                LTLEPL..GASIEVEEGQT.LLDAAL...R.Q.GIYIPHACGH.......GL....CGTCKIQVCDGDVD...HGAAN..PFALMDMER.EDGMT.....................LACCATLQ
+Q43983_ACICA/5-82                VTIEPA..GTIIQVEEDQT.ILDAAL...R.Q.GVWLPFACGH.......GT....CGTCKVQVTDGFYD...VGEAS..PFALMDIER.EENKV.....................LACCCKPE
+O87617_PSEAE/3-78                LHIQPL..GQTLSVDSGAN.LLEALR...A.AE.VPISYSCMA.......GR....CGTCRCKVLKGQV......L..E.SGREATLTNPHADDY...................V.LACMSAIT
+O52378_9RALS/3-78                LVVEPL..NLHLNAETGST.LLDVLR...S.NE.VPISYSCMS.......GR....CGTCRCRVIAGHL......R..D.NGPETGRPQAGKGTY...................V.LACQAVLT
+Q51492_PSEAE/3-78                LLVLPN..NRRLPFDSGAN.LLEVLR...E.HR.VGISYSCMS.......GR....CGTCRCRVIDGSV......I..S.SAAKSGDSNRIEEHY...................V.LACQSVLT
+NDOR_PSEPU/3-78                  LLIQPN..NRIIPFSAGAN.LLEVLR...E.NG.VAISYSCLS.......GR....CGTCRCRVIDGSV......I..D.SGAENGQSNLTDKQY...................V.LACQSVLT
+Q52140_PSEPU/3-78                LLIQPN..NRLISFSPGAN.LLEVLR...E.NG.VAISYSCMS.......GR....CGTCRCRVTDGSV......I..D.SGTGSGLPHLVDEHY...................V.LACRSVLT
+Q9Z9X8_9GAMM/242-317             VRIASS..GATVHVDKHTT.IVAALA...S.I.GIEVDTSCGE.......GV....CGTCMVDVVSGTP.....EHRD....HCLSKAERASGKV...................I.CCCVSRAR
+VANB_PSEUH/234-309               VRIHST..GQVLQVPADQT.VSQVLD...A.A.GIIVPVSCEQ.......GI....CGTCITRVVDGEP.....DHRD....FFLTDAEKAKNDQ...................F.TPCCSRAK
+VANB_PSES9/231-306               GRLARS..GLTLQVPAERS.VAQVLD...D.A.GVCIPLACEQ.......GI....CGTCLTRVLDGEP.....EHRD....SFLTDAERARNDQ...................F.TPCCSRAR
+VANB_PSEPU/231-307               VQLNST..GQVFEVPADQS.VVHVLE...Q.H.GIAIAMSCEQ.......GI....CGTCLTRVLSGTPE....ASRP....VFLTEQEQALNDQ...................F.TPCCSRSK
+VANB_ACIAD/234-309               IEVLGS..DRKIEVSAHQT.ATQALL...E.H.GFDVPVSCEQ.......GI....CGTCITRVVSGTP.....DHRD....VFMTDEEHALNDQ...................F.TPCCSRAK
+O88034_STRCO/230-305             VVLARS..GRTVAVPPGTS.VLDAVR...E.T.GVEVLYSCTE.......GT....CGTCETEVVEGEP.....DHRD....SVLTEEERAAGET...................M.LICVSRCR
+P94680_COMTE/234-309             LVLQRA..GLSTTVDAHES.VLDAME...R.V.GVDFPWSCRE.......GI....CGTCEAPVLEGEV.....QHLD....YVLSPEERAEQRR...................M.MVCVSRCG
+CBAB_COMTE/232-307               VNLARS..GAQYVVREGET.ILDVLR...N.A.GHHVTSSCRQ.......GI....CGMCETTLISGVP.....DHRD....RLLTDSEKASGRT...................M.LICCSRAL
+POBB_PSEPS/236-311               VHLARS..GRTIPIAAGCT.ILDALQ...A.G.GVAVPSSCQQ.......GV....CGICETAVLAGVP.....DHRD....LVLSDQERAAGRT...................M.MICCSGSK
+YEAX_ECOLI/237-313               LVLARS..GKEFVVPEEMT.ILQVIE...N.NKAAKVECLCRE.......GV....CGTCETAILEGEA.....DHRD....QYFSDEERASQQS...................M.LICCSRAK
+Q47914_SPHCR/241-316             VLARRS..GQEFTVEPGMT.ILETLL...Q.N.GISRNYSCTQ.......GV....CGTCETKVLEGEP.....DHRD....WVLSDEKKASNST...................M.LICCSLSK
+PDR_BURCE/241-314                VRLSRS..GTSFEIPANRS.ILEVLR...D.A.NVRVPSSCES.......GT....CGSCKTALCSGEA.....DHRD....MVLRDD..EKGTQ...................I.MVCVSRAK
+#=GR PDR_BURCE/241-314     SS    EEES--..--EEEE-TTS-.HHHHHH...H.T.T-----S---.......--....----EEEEEE--E.....E---....SS--TT..T---E...................E.ETTT-EES
+PHT2_PSEPU/243-316               VTLGRS..GIDLEIPVDRS.ILEVLR...D.N.GIRAPSSCES.......GT....CGSCRTRLIEGDV.....EHRD....MVLREDEQH..DQ...................I.MICVSRAR
+O86347_MYCTU/231-301             LELARS..RRVLRVPANRS.ALDVML.....DWDPTTAYSCQQ.......GF....CGTCKVRVLAGQV.....DRRG....RIIEGDN.....E...................M.LVCVSRAV
+YFAE_ECOLI/4-77                  VTLRIT..GTQLLCQDEHP.SLLAAL...E.SHNVAVEYQCRE.......GY....CGSCRTRLVAGQV......D......WIAEPLAFIQPGE...................I.LPCCCRAK
+Y1309_HAEIN/3-75                 IHLIRH..NTTLEFNNET..SLLDHL...E.KNNIHHEYQCRS.......GY....CGSCRVKIKKGKV......S......YKEMPLAFIQPDE...................I.LLCCCHVE
+O31003_VIBAN/5-73                VIVKPS..GVEYQSG..RN.ILDDAF...A.S.SISLEHSCKT.......GD....CGVCCAEVISGLV.....ENEN........GELVTQG.H...................I.LTCQSKAK
+RFBI_SALTY/5-76                  IKIFPS..NIEFSGREDES.ILDAAL...S.A.GIHLEHSCKA.......GD....CGICESDLLAGEVV....DSKG.........NIFGQGDK...................I.LTCCCKPK
+P95461_9PSED/17-94               VQILPQ..DVTIVLEPGQT.LLEAAL...A.N.GIAYPHDCTV.......GT....CASCKTRLKQGRVR...EATPF...GYTLSKAELDA.GY...................I.LACQAFPR
+O85971_SPHAR/13-90               VTVEGS..PTTLDIPAGKT.LLEAML...D.A.GLAMPHDCKV.......GS....CGTCKFKLVSGKIG...ELSPS...ALALEGDELRS.GF...................R.LACQAIPR
+XYLA_PSEPU/20-97                 VSVRGQ..GFQFKVPRGQT.ILESAL...H.Q.GIAFPHDCKV.......GS....CGTCKYKLISGRVN...ELTSS...AMGLSGDLYQS.GY...................R.LGCQCIPK
+YCBX_ECOLI/293-362               IDWQGQ....AFRGNNQQV.LLEQLE.....NQGIRIPYSCRA.......GI....CGSCRVQLLEGEV......T.P......LKKSAMGDDGT....................ILCCSCVPK
+P96096_THIFE/9-86                HTRDKQ..QVSFVCSEAED.LLSAAD...R.G.SILLPSQCRK.......GT....CGACVATVTAGTYH...LGEVS..MEALPEKAQ.ARGDV.....................LLCRTYPR
+MMOC_METTR/7-81                  ETEDGE..TCRRMR.PSED.WISR.A...E.A.ERNLLASCRA.......G.....CATCKADCTDGDYE...LIDVK..VQAVPPDEE.EDGKV.....................LLCRTFPR
+O85675_ACIAD/8-85                NFADGK..TFFIAVQEDEL.LLDAAV...R.Q.GINLPLDCRE.......GV....CGTCQGTCETGIYE...QEYVD..EDALSERDL.AKRKM.....................LACQTRVK
+BENC_ACIAD/19-98                 QFEDGV..TRFIRIAQGET.LSDAAY...R.Q.QINIPMDCRE.......GA....CGTCRAFCESGNYD...MPEDNY.IEDALTPEEAQQGYV.....................LACQCRPT
+#=GR BENC_ACIAD/19-98      SS    E-----..EEEEEE-----.HHHHHH...H.T.T---S-S---.......--....----EEEEEE-EEE...--GGGS.-TTT--HHHHH---E.....................ETTT-EEE
+XYLZ_PSEPU/8-86                  DFEDGV..TRFIDANTGET.VADAAY...R.Q.GINLPLDCRD.......GA....CGACKCFAESGRYS...LGEE.YIEDALSEAEA.EQGYV.....................LTCQMRAE
+CBDC_BURCE/8-85                  RFEDDV..TYFITSSEHET.VADAAY...Q.H.GIRIPLDCRN.......GV....CGTCKGFCEHGEYD...GGDY.I.EDALSADEA.REGFV.....................LPCQMQAR
+O66892_AQUAE/7-72                RYSDGDFRWEEYEVDGEGKTVLEILQNIKEIDPTLSFRAMCRA.......GI....CGTCVVKVN.....................GEHK..........................LACNTRVY
+O85226_PSEFL/27-86               VTA.AL..GETVLSVIQATGLRQVAR...N.DHGQLVGAYCGM.......GV....CHCCLVQIDG...................RHKR...........................RACQTLVK
+O29575_ARCFU/14-75               AYWQSFEVPAKR.GMTVLEALYYIKE...NLDSSLAFRASCRM.......GI....CGSCAMKIN.....................DKP..........................RLACETQVL
+O27878_METTH/21-82               PHLESYEIPSKE.KMKVLDALQLINK...IHGANIAFRSSCRA.......GQ....CGSCAVKMN.....................GEV..........................VLACRAEVE
+Y092_METJA/14-73                 EYLESYEVP..E.NITVLEALEYINK...HYEANILFRASCRN.......AQ....CGSCAVTIN.....................GEP..........................RLACETKVE
+FER5_RHOCA/10-107                IMKKDK..TIYAVAGNTATILALAKE...H.AIPIPF..ECG........DG...DCASCLIEVTHLDN.....KPAMAMMLTEKEKARLKELQMITAEEIEAA..EVSDLPPRFRLACQFIPR
+Q44501_AZOVI/10-107              LMPHNK..KVQAVAGKRSTLLGVAQE...N.GVKIPF..ECQ........DG...NCGSCLVKITHLDG.....ERIKGMLLTDKERNVLKSVGKLPKSEEERA..AVRDLPPTYRLACQTIVT
+Q46508_DESFR/6-74                ITIDGK..TTSVPE...GSTILDAAK...T.L.DIDIPTLCYLNLEALSINNKAASCRVCVVE.....................VEGRRN....L....................APSCATPVT
+Q9ZBV9_STRCO/15-78               FTLDGQ..EARVPE...GSTILDACR...A.A.GKDVPTLCEGDT..LAPKN...ACRVCVVD.....................VEGART....L....................APACSRKAE
+NUOG_MYCTU/19-82                 LTIDGV..EISVPK...GTLVIRAAE...L.M.GIQIPRFCDHPL..LEPVG...ACRQCLV.....................EVEGQR....KP....................LASCTTVAT
+O87815_CUPNE/22-85               LEVDGV..SVTVPA...GTSVMRAAM...E.A.QIAVPKLCATDS..LRNFG...SCRLCLV.....................EIEGRR....GY....................PASCTTPVE
+NQO3_THET8/4-88                  VKVNDR..IVEVPP...GTSVMDAVF...H.A.GYDVPLFCSEKH..LSPIG...ACRMCLVRIGLPKKGPDGKPLLNEKGEPEIQWQP....KL....................AASCVTAVA
+#=GR NQO3_THET8/4-88       SS    EE-SS-..EEEE--...--BHHHHHH...H.-.------SS--TT..S----...----SEEB-------------------------S....S-....................EETTT-B--
+P74022_SYNY3/6-69                LTIDDK..AIAIEE...GASILQAAK...E.A.GVPIPTLCHLEG..ISEAA...ACRLCMVE.....................VEGTNK....L....................MPACVTAVS
+P94157_SYNP6/6-69                LQIDDQ..ELAANV...GQTVLQVAR...E.A.SIPIPTLCHLQG..VSDVG...ACRLCVVE.....................VAGSPK....L....................QPACLLTVS
+Q44513_ANAVA/6-69                LTINDQ..LISAQE...EETLLQAAQ...E.A.GIHIPTLCHLEG..VGDVG...ACRLCLVE.....................VAGSNK....L....................LPACVTKVA
+P77908_MOOTH/4-67                LTIDGQ..RVTAPE...GMTILEVAR...E.N.GIHIPTLCHHPK..LRPLG...YCRLCLVD.....................IEGAAK....P....................MTACNTPVA
+Q9ZJW1_HELPJ/4-65                MNINGK..TIECQE...GQSVLEAAR...S.A.GIYIPTICYLSG..CSPTV...ACKMCMV........................EMDG...KR....................IYSCNTKAK
+O05397_BACSU/11-72               VRVDGT..EIQARA...GATILDILN...E.N.GIEYPQICHVPE..VDPIQ...TCDTCIV........................EANG...KL....................VRSCATVAE
+YJGC_BACSU/7-68                  ITINGV..EMEASE...EQTVLQLLN...N.S.SIEVPQVCYHPS..LGPIE...TCDTCIV........................SING...EL....................KRSCSAELK
+NUOG_SALTI/4-72                  IHVDGK....EYEVNGADN.LLQACL...S.L.GLDIPYFCWHPAL.GSVGA....CRQCAVK..................QYQNAEDTR...GR...................LVMSCMTPAT
+O66748_AQUAE/6-70                KIYIDD...VEIEAEKGKTVLQVALE..N....GIDIPYFCYHPR..LSIAG...ACRMCVVY.......................WEDINR......................LVISCNLPVQ
+NDUS1_DICDI/5-71                 FKINEI..ECEVNEEKEDITILQACT...A.N.GIEIPRFCYHEK..LTIAG...NCRMCLV.....................YVTNEE....KL....................LAACGIPLD
+NQO3_PARDE/7-71                  IKIDDT....IIEVDPNMT.LIQACE...M.A.GIEVPRFCYHER..LSIAG...NCRMCLVEVVGG........PPK........PA............................ASCAMQVK
+NDUS1_NEUCR/38-101               LTIDGK..KVSIEA...GSALIQACE...K.A.GVTIPRYCYHEK..LMIAG...NCRMCLV.....................EVEKVP....KP....................VASCAWPVQ
+NUOG_RICPR/4-67                  LIIDGS..EIEISE...GSTVYQACI...Q.A.GKEIPHFCYHAR..LKIAG...NCRMCLV.....................EIEKSQ....KP....................VASCAMPVS
+NDUS1_SOLTU/70-133               VFVDGY..PVKIPK...GMTVLQACE...I.A.GVDIPRFCYHSR..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPAL
+NDUS1_RECAM/4-67                 VFVDGL..SVEVKK...GATILQACA...Q.V.GIEIPRFCYHER..LSIAG...NCRMCLV.....................EVEKSP....KP....................VASCAMPVM
+NDUS1_BOVIN/34-97                VFVDGQ..SVMVEP...GTTVLQACE...K.V.GMQIPRFCYHER..LSVAG...NCRMCLV.....................EIEKAP....KV....................VAACAMPVM
+O52683_THEMA/3-65                IYVDGR..EVIIN..DNERNLLEALK.....NVGIEIPNLCYLS.....EASIYGACRMCLVEIN.......................GQIT........................TSCTLKPY
+Q46606_DESVU/3-71                AFINGK..EVRCEP...GRTILEAAR...E.N.GHFIPTLCELADIGHAPGT....CRVCLVE.....................IWRDKEAGPQI....................VTSCTTPVE
+HOXU_CUPNH/5-66                  ITIDGK..TLTTEE...GRTLVDVAA...E.N.GVYIPTLCYLKDK.PCLGT....CRVCSVKVN.....................GN......V....................AAACTVRVS
+P72305_RHOOP/5-66                IEIDGV..TVTTEE...SRTLVDVAA...E.A.GVYIPTLCYLKGK.PSLGT....CRVCSVK.....................LNGTV..........................VAACTIRVA
+Q59261_CLOSA/4-67                IVIDEK..TIQVQE...NTTVIQAAL...A.N.GIDIPSLCYLNEC.GNVGK....CGVCAVE.....................IEGKNN....L....................ALACITKVE
+Q9ZNE4_CLOPE/4-67                IIINDK..TIEFDG...DKTILDLAR...E.N.GFDIPVLCELKNC.GNKGQ....CGVCLVE.....................QEGNDR....L....................LRSCAIKAK
+PHF1_CLOPA/4-67                  IIINGV..QFNTDE...DTTILKFAR...D.N.NIDISALCFLNNCNNDINK....CEICTVE.....................VEGTG.....L....................VTACDTLIE
+Q59262_CLOAB/4-66                IILNGN..EVHTDK...DITILELAR...E.N.NVDIPTLCFLKDC.GNFGK....CGVCMVE.....................VEGKG.....F....................RAACVAKVE
+P74801_SYNY3/5-63                IHFLPD..DVTVAARVGEPILDVAER......AGVFIPTGCLM.......GS....CHACEVELG.......................DGTP.......................ICACISAVP
+XDHE_BACSU/18-77                 MTVNGQ..AWEV.AAVPTTHLSDLLR...KEFQLTGTKVSCGI.......GR....CGACSILID.....................GK......L....................ANACMTMAY
+HCRC_THAAR/7-66                  LTLNGR..ARED.LVPDNMLLLDYLR...ETVGLTGTKQGCDG.......GE....CGACTVLVD.....................DR......P....................RLACSTLAH
+#=GR HCRC_THAAR/7-66       SS    EEE---..EEEE.EEETT-BHHHHHH...HT------------.......--....----EEEET.....................TE......E....................EEGGGSBGG
+P95635_RHOPA/15-74               LNVNGR..WRED.AVTDDMLLVDYLR...DIAGLTGVKTGCDG.......GE....CGACTVLID.....................GE......A....................APSCLVLAV
+XDHC_ECOLI/11-69                 CTINGM..PFQLHAAPGTP.LSELLR...E.QGLLSVKQGCCV.......GE....CGACTVLVD....................G..TAID.........................SCLYLAA
+YAGT_ECOLI/65-124                LKVNGK..TEQL.EVDTRTTLLDTLR...ENLHLIGTKKGCDH.......GQ....CGACTVLVN.....................GR......R....................LNACLTLAV
+DCMS_HYDPS/8-67                  VNVNGK..AQEK.AVEPRTLLIHFLR...EELNLTGAHIGCET.......SH....CGACTVDID.....................GR......S....................VKSCTHLAV
+Q52589_9PSED/8-67                MTVNGR..KVEE.AVEARTLLVHFLR...EKLNLTGTHIGCDT.......SH....CGACTVDVD.....................GK......S....................IKSCTHLAV
+O52837_BRAJA/6-65                LIVNGN..PVTA.NVDPRTLLVQFLR...ENLRLTGTHVGCDT.......SQ....CGACVVHLD.....................GK......A....................VKSCTTLAV
+O53709_MYCTU/5-64                MTVNGE..PVTA.EVEPRMLLVHFLR...DQLRLTGTHWGCDT.......SN....CGTCVVEVD.....................GV......P....................VKSCTMLAV
+O87682_ARTNI/8-67                VEVNGV..THAT.DVEPRRLLADFLR...DDLHLRGTRVGCEH.......GV....CGSCTVLLD.....................GQ......P....................VRSCTVLAV
+Q59128_ARTNI/14-73               VEVNGR..RRTV.AVDARETLADHLR...NDQKLTGIKLGCEH.......GV....CGACTILMD.....................GA......A....................VRSCLTLAA
+P72223_PSEPU/14-73               ATINGK..PRVF.YVEPRMHLADALR...EVVGLTGTKIGCEQ.......GV....CGSCTILID.....................GA......P....................MRSCLTLAV
+#=GR P72223_PSEPU/14-73    SS    EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGGSBGG
+Q9ZBN8_STRCO/5-65                LTVNGR..PQEADDVWEGESLLYVLR...ERMGLPGSKNACEQ.......GE....CGSCTVRLD.....................GVP..........................VCSCLVAAG
+O54050_RHOCA/5-68                FLLNGE..TRRVRIEDPTQSLLELLR...A.EGLTGTKEGCNE.......GD....CGACTVMIRD.................AAGSR......A....................VNACLMMLP
+#=GR O54050_RHOCA/5-68     SS    EEE---..EEEEE-S-TT-BHHHHHH...H.------------.......--....----EEEEES.................----E......E....................EETTTSBGG
+O23887_MAIZE/15-85               LAVNGK..RYEAAGVAPSTSLLEFLR...TQTPVRGPKLGCGE.......GG....CGACVVLVSK.................YDPATDEVTEFS....................ASSCLTLLH
+ALDO4_ARATH/8-78                 FAVNGE..KFEVLSVNPSTTLLEFLR...SNTCFKSVKLSCGE.......GG....CGACIVILSK.................YDPVLDQVEEYS....................INSCLTLLC
+ALDO1_ARATH/23-95                FAINGQRFELELSSIDPSTTLVDFLR...NKTPFKSVKLGCGE.......GG....CGACVVLLSK.................YDPLLEKVDEFT....................ISSCLTLLC
+O30328_ACEEU/4-63                FRLNGR..EVTV.DVPGDTPLLWVIR...DEVGLTGTKFGCGI.......GM....CGACTIHIG.....................GR......A....................TRSCVTPVS
+IORA_BREDI/4-64                  FILNGQ..PVRVTEVPEDAPLLWVVR...EHLKLSGTKFGCGL.......GL....CGACTVHIN.....................GE......A....................ARSCITPLS
+XDH_EMENI/39-108                 FYLNGT..KVILDSVDPEITLLEYLR...G.IGLTGTKLGCAE.......GG....CGACTVVVS..........QIN.....PTTKKL....YHA..................SINACIAPLV
+O61198_CAEEL/8-78                FNVNGK..DIKEENVDPELTLAYYLR...NKLGLRGTKLGCEE.......GV....CGSCTVVLGT.................WDDSLNKAVYSA....................VNACLVPLF
+O17892_CAEEL/18-86               FYVNGK..RVEEKDVDPKMTLATYLR...DKLKLTGTKIGCNE.......GG....CGACTIMISH.................IENGE..IKHFS....................ANSCLMPVC
+XDH_DROSU/13-83                  FFVNGK..KVTDTNPDPECTLLTYLR...DKLRLCGTKLGCAE.......GG....CGACTVMISR.................MDRGQHKIRHLA....................VNACLTPVC
+O17506_BOMMO/19-89               FYVNGK..KVIESSPDPEWTLLWYLR...KKLRLTGTKLGCAE.......GG....CGACTVMVSK.................YNRQENKIIHLA....................VNACLAPVC
+Q17250_BOMMO/18-88               FFVNGK..KVLESNPDPEWTLLFYLR...KKLKLTGTKYGCGE.......GG....CGACTVMVSK.................YLKNEDRINHIA....................VNACLISVC
+ADO_BOVIN/9-79                   FYVNGR..KVTEKNVDPETMLLPYLR...KKLRLTGTKYGCGG.......GG....CGACTVMISR.................YNPITKKIRHYP....................ANACLTPIC
+XDH_BOVIN/8-78                   FFVNGK..KVVEKNADPETTLLAYLR...RKLGLRGTKLGCGE.......GG....CGACTVM............LSK.....YDRLQDKIIHFS....................ANACLAPIC
+#=GR XDH_BOVIN/8-78        SS    EEE---..EEEETT--TT-BHHHHHH...HT------------.......--....----EEE............EEE.....EETTTTEEEEEE....................EETTT-BGG
+MOP_DESGI/6-65                   ITVNGI..EQNL.FVDAEALLSDVLR...QQLGLTGVKVGCEQ.......GQ....CGACSVILD.....................GK......V....................VRACVTKMK
+#=GR MOP_DESGI/6-65        SS    EEE---..EEEE.EE-TTSBHHHHHH...HT------------.......--....----EEEE-.....................--......E....................EEGGG-BGG
+O53669_MYCTU/13-78               DESCGELREFTVEVNEGEVVLDVILRLQQTQTPDLAVRWNCKA.......GK....CGSCSAEIN.....................GKPR..........................LMCMTRMS
+O29566_ARCFU/5-80                TFL.PS..GKRAEVDEGKTILSAAQE...I.GEGIRS..LCGG.......KG...SCGKCL..VVVR........KGDVEILSEEAHEKFVRE..K.................GYYLACQTAVK
+O30225_ARCFU/5-84                TFE.PV..GKKVE.DEPDTILEIARR...N.GVLIRS..DCGG.......KG...VCGKCK..VVVVDY......RGSLSDITDHERKHLIEEEISK................GYRLACQARVE
+NQRF_CHLTR/46-122                NND.DS..LTKTV.DSGKTLLSSLLD...S.GIAIPS..PCGG.......KA...ACKQCK..VRIT.........KNADEPLETDRSTFSKQQLEQ................GWRLSCQTKVQ
+NQRF_HAEIN/43-119                NDD.PE..KAITL.PAGGKLLGALAS...K.GIFVSS..ACGG.......GG...SCGQCI..VKVK.........NGGGEILPTELSHINKREAKE................GYRLACQVNVK
+NQRF_VIBAL/39-115                NDD.PS..LAIVT.QPGGKLLSALAG...A.GVFVSS..ACGG.......GG...SCGQCR..VKVK.........SGGGDILPTELDHITKGEARE................GERLACQVAMK
+O84062_CHLTR/8-83                ADD......ENQEFHLEDGSSIAEV......CEHSGVPLACT........EG...VCGTCVIEVLEGA........DNLSDFSEAEYDFLGDPEDS.................NERLACQCCIK
+Q9Z8H9_CHLPN/8-83                SDD......EQQEFELEDNSEIAEP......CESMGIPFACT........EG...VCGTCVIEVLEGR........ENLSEFTEPEYDFLGEPEDS.................NERLACQCRIK
+CSMJ_CHLTE/5-82                  IND......KPCNAKVGDLLLNTAK......LNKAHIGYICGG.......NG...ICQSCFVYVLEGA........ECLSEPGEDEKAFISDKLFAE................GGRLACRTTIV
+CSMI_CHLTE/5-82                  IND......KTASSSVGQTIGKAAR......LNHAHVGYVCGG.......HG...LCQACYITVQEGA........DCLAPLTDVEKAFLSPRQIAA................GGRIACQATIA
+FER_TRIVA/13-90                  AVKGGVKKQLKFEDDQTLFTVLTEAG.......LMSADDTCQG.......NK...ACGKCICKHVSGKV......A.A..E..DDEKEFLEDQPAN..................ARLACAITLS
+#=GR FER_TRIVA/13-90       SS    EE----EEEE---TTEEHHHHHHT--.......----TTS---.......--...-----EEEEEE---......-.-..-..HHHHHHCTTS-TT..................EEEGGG-EE-
+P73774_SYNY3/7-88                LICLPD..NRLLEIDSNETILDALLK..G....DIAHISVCGG.......KA...NCSTCRIMVLDGIK.....NCSPPTSIEQALAKKLDFPFHV..................R.LACQTKLS
+FER_BUCAP/10-92                  KLLLPK..GGCFECKEGETILNVALK...N.NIKLEHA..CEK.......SC...ACSTCH..CIIRKG......FLSLSGWSEKEEDVLDKAWGLE...............STSRLSCQAIIG
+O69222_AZOVI/11-93               EVHCPE..GRVVEAETGESILEAALR...N.DIEIEHA..CEM.......SC...ACTTCH..VIVRDG......FDSLEPSDELEDDMLDKAWGLE...............PESRLSCQARVG
+FER_HAEIN/10-92                  EDFCPE..GMVVDAATGDN.LLEVAH...N.A.GVEIHHACDG.......SC...ACTTCHVIVREG........FDSLNETSDQEEDMLDKAWGLE...............MDSRLSCQCVVG
+FER_PSEAE/10-92                  ADHCPE..GAVFEAKPGET.ILDAAL...R.N.GIEIEHACEK.......SC...ACTTCHVIVREG........LDSMEPSDELEDDMLDKAWGLE...............PDSRLSCQAVVA
+ADRX_YEAST/67-149                LKD.GS..QKTYEVCEGETILDIAQG...H.NLDMEG..ACGG.......SC...ACSTCH.VIVDPDY......YDALPEPEDDENDMLDLAYGLT...............ETSRLGCQIKMS
+ADX_PIG/71-155                   NRD.GK..TLTTQGKVGDSLLDVVIE...N.NLDIDGFGACEG.......TL...ACSTCH.LIFEDHI......FEKLEAITDEENDMLDLAYGLT...............DRSRLGCQICLT
+FER2_RICPR/11-93                 IND.EE..ERTVEAPIGLSILEIAHS...N.DLDLEG..ACEG.......SL...ACATCH.VMLEEEF......YNKLKKPTEAEEDMLDLAFGLT...............DTSRLGCQIILT
+O49551_ARATH/44-127              DKD.GE..EIHIKVPVGMNILEAAHE...N.DIELEG..ACEG.......SL...ACSTCHVIVMDTKY......YNKLEEPTDEENDMLDLAFGLT...............ATSRLGCQVIAK
+ETP1_SCHPO/525-592               TPE.GR..EIMIE....GN......E...E.G.......ACEG.......SV...ACSTCHVIVDPEHY.....ELLD..PPEEDEEDMLDLAFGLE...............ETSRLGCQVLLR
+#=GR ETP1_SCHPO/525-592    SS    ---.--..EEEE-....--......-...-.-.......----.......--...--STT-EEE-HHHH.....HHS-..---HHHHHHHCTB----...............TTEE-----B--
+O07876_SPHSX/8-91                AAD.GR..EIETNVDIGTDLMHAGLY...N.SVPGLLG.ECSG.......GL...ACATCR.VHVPAEW......QGVLPAALPAEAELLGFCEESP...............PEARLSCQIKMT
+Q9ZAM5_SPHSX/8-91                SED.GS..ELETTVDVGVDLMHAGLY...N.SIPGILG.ECSG.......GL...ACATCR.VRVPVEW......QSILPPAFPSEAELLGFCDEAP...............PEARLSCQIKMT
+FER2_CAUCR/8-91                  QHD.GA..EQVIDVKPGLTVMEGAVK...N.NVPGIDA.DCGG.......AC...ACATCH.VYVDEAW......LDKTGDKSAMEESMLDFAENVE...............PNSRLSCQIKVS
+FER6_RHOCA/7-91                  EHN.GT..RHEVEAKPGLTVMEAARD...N.GVPGIDA.DCGG.......AC...ACSTCH.AYVDPAW......VDKLPKALPTETDMIDFAYEPNP..............ATSRLTCQIKVT
+#=GR FER6_RHOCA/7-91       SS    ---.--..EEEEE-----BHHHHHHT...-.-------.----.......--...SS-TTE.EEE-HHH......HTTS----HHHHHHHTTSSS--T..............TTEEEGGG-B--
+P74447_SYNY3/31-113              IKLDPIDLKVAIETNDNLLSGLLGQD........LRIMKECGG.......RG...MCATCHVYITAGMES...LSPLNRREQRTLEVITTHNRYS...................R.LACQARVL
+P73171_SYNY3/7-85                SFPQTKFLPLSLEFNACLAEYLTPDN........SPILFGCRT.......GL....CGTCLVKVVGEIL......SPEAEEREILAILAPDDVQA...................R.LACQIKLT
+FER1_AQUAE/3-83                  VIINGK....EFDIPKGVRFGELSHE.....IEKAGIEFGCTD.......GQ....CGVCVARVIKGMECL..NEPSEEEEETLWRVGAVDEDQR.....................LTCQLVIE
+FER4_RHOCA/7-86                  TFTDVS...ITVNVPTGTRIIEMSEK......VGSGITYGCRE.......GE....CGTCMTHILEGSE.....NLSEPTALEMRVLEENLGGKD...................DRLACQCRVL
+P74283_SYNY3/5-88                FVKEQK....DIVVAQGANLREKALQNGVDIYTLKGKLMNCGG......YGQ....CGTCIVEITAGME.....NLSPKTDFENRVLRKKPDNFR.....................LACQTLVN
+PUTX_PSEPU/8-92                  SHD.GT..RRELDVADGVS.LMQAAV...S.NGIYDIVGDCGG.......SA...SCATCHVYVN................EAFTDKVP.....AANEREIGMLECVTAELKPNSRLCCQIIMT
+#=GR PUTX_PSEPU/8-92       SS    E--.--..EEEEE-----B.HHHHHH...H.---TTG------.......--...SSSTTEEEE-................TTTGTTS-.....---TTT---GGGSSS---TTEEEGGG-B--
+TERPB_PSESP/8-92                 DEQSGE...YAVDAQDGQS.LMEVAT...Q.NGVPGIVAECGG.......SC...VCATCRIEIEDAWV......E.......IVGEANPDENDLLQSTGE........PMTAGTRLSCQVFID
+P95277_MYCTU/9-84                GYSDGT..HKTMPVRCDQT.VLDAAE.....EHGVAIVNECQS.......GI....CGTCVATCTAGRYQ....MG.R...TEGLSDVERAARKI.....................LTCQTFVT
+O05933_PSEPU/11-88               NFSDGV..SRSFDVEAGTS.ILDAAI.....ESEIPLLYQCRS.......GS....CSTCIAQLTEGEAH....TRAG..ASSTLLASEYASGQR.....................LLCLCQAQ
+DESET_MYCTU/303-373              FARSGK....SVAADAATS.LMDAGE.....GAGVQLPFGCRM.......GI....CQSCVVDLVEGHV......R.D.....LRTGQRHEPGTR....................VQTCVSAAS
+O23344_ARATH/57-131              VEHDGK..TTELEVEPDETILSKALD...S...GLDVPYDCNL.......GV....CMTCPAKLVTGTV.....DQSG....GMLSDDVVERGYT.....................LLCASYPT
+P74159_SYNY3/11-86               DRQNEK..DYSVIVSDDRYILHQAED...Q...GFELPFSCRN.......GA....CTACAVRVISGQIH....QP....EAMGLSPDLQRQGYA.....................LLCVSYAQ
+FER2_SYNP6/8-83                  VIYQGQ..SQTFTADSDQS.VLDSAQ...A.A.GVDLPASCLT.......GV....CTTCAARILSGEV.....DQPD...AMGVGPEPAKQGYT.....................LLCVAYPR
+P73388_SYNY3/9-84                IQHQGQ..TYTISVPEDKT.VLQAAD...D.E.GIQLPTSCGA.......GV....CTTCAALITEGTA.....EQAD...GMGVSAELQAEGYA.....................LLCVAYPR
+FER1_HALMA/35-108                DEDYGS.....LEVNEGEY.ILEAAE...A.Q.GYDWPFSCRA.......GA....CANCAAIVLEGDI.....DM..D.MQQILSDEEVEDKNV....................RLTCIGSPD
+P74449_SYNY3/11-88               NPATGS..DVTIEVAEDEL.ILEAAE...N.Q.GLDLPYSCRA.......AS....CVACAGRLLEGTVE...HTDKG...SDFLKPEELAAGCV.....................LLCAAYAT
+FER2_NOSMU/10-85                 NAAEGL..DETIEVPDDEY.ILDAAE...E.A.GLDLPFSCRS.......GS....CSSCNGILKKGTV.....DQSD...QNFLDDDQIAAGNV.....................LTCVAYPT
+FER2_APHSA/10-86                 NEEEGI..NAILEVADDQT.ILDAGE...E.A.GLDLPSSCRA.......GS....CSTCAGKLVSGAA.......PNQDDQAFLDDDQLAAGWV.....................MTCVAYPT
+FER1_CYAPA/10-85                 CEEQGL..DTTIECPDDEY.ILDAAE...E.Q.GIDLPYSCRA.......GA....CSTCAGKVVEGTV.....DQSD...QSFLDDAQLAAGYV.....................LTCVAYPS
+FER_PORPU/10-85                  SEDEGI..DVTFDCSEDTY.ILDAAE...E.A.GIELPYSCRA.......GA....CSTCAGKVTEGSV.....DQSD...QSFLDDEQLLKGYV.....................LTCIAYPE
+FER_ODOSI/10-85                  SEEHDI..DATIDCNDDVF.LLDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVTEGDI.....DQSE...QTFLDDDQVGAGFV.....................LTCIAYPK
+FER_BUMFI/9-84                   NEEKNI..NAVIKCPDDQF.ILDAAE...E.Q.GIELPYSCRA.......GA....CSTCAGKVLSGTI.....DQSE...QSFLDDDQMGAGFL.....................LTCVAYPT
+FER3_CYACA/9-84                  NKDQGI..DETIECPDDQY.ILDAAE...E.Q.GLDLPYSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQVKAGFV.....................LTCVAYPT
+FER2_CYACA/8-83                  NQKEGV..DVTINCPGDQY.ILDAAE...E.Q.GVDLPYSCRA.......GA....CSTCAGKLVKGSV.....DQSD...QSFLDEEQINNGFI.....................LTCVAYPT
+FER_BRYMA/8-83                   KLDDGS..EAVIDCDEDSF.ILDVAE...E.E.GIDIPFSCRS.......GS....CSTCAGKIEGGTV.....DQSE...QTFLDDDQMEEGYV.....................LTCVAYPT
+FER_APHSA/9-83                   KTPDGD..NVIT.VPDDEY.ILDVAE...E.E.GLDLPYSCRA.......GA....CSTCAGKLVSG........PAPDEDQSFLDDDQIQAGYI.....................LTCVAYPT
+FER_THEVL/9-84                   VRPDGS..ETTIDVPEDEY.ILDVAE...E.Q.GLDLPFSCRA.......GA....CSTCAGKLLEGEV.....DQSD...QSFLDDDQIEKGFV.....................LTCVAYPR
+FER_PERBI/6-80                   DTPDGK...KSFECPGDSY.ILDKAE...E.E.GLELPYSCRA.......GS....CSSCAGKVLTGSI.....DQSD...QAFLDDDQGGDGYC.....................LTCVTYPT
+FER3_RAPSA/8-82                  ITPEGE...QEVECDDDVY.VLDAAE...E.A.GIDLPYSCRA.......GS....CSSCAGKVVSGSV.....DQSD...QSFLDDDQIAEGFV.....................LTCAAYPT
+FER1_SPIOL/58-132                VTPTGN...VEFQCPDDVY.ILDAAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLKTGSL.....NQDD...QSFLDDDQIDEGWV.....................LTCAAYPV
+FER_SILPR/57-131                 TKESGT...VTFDCPDDVY.VLDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVVAGSV.....DQSD...QSFLDDDQIEAGWV.....................LTCAAYPS
+FER_WHEAT/54-128                 VTPEGE...VELEVPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKLVSGEI.....DQSD...QSFLDDDQMEAGWV.....................LTCHAYPK
+FER_SAMNI/8-82                   ITPDGP...QEFECPDDVY.ILEHAE...E.L.GIDIPYSCRA.......GS....CSSCAGKLVAGSV.....DQSD...QSFLDDEQIEEGWV.....................LTCVAYPK
+FERA_ALOMA/8-82                  VTPQGQ...QEFDCPDDVY.ILDQAE...E.E.GIDLPYSCRA.......GS....CSSCAGKVKQGEV.....DQSD...GSFLDDEQMEQGWV.....................LTCVAFPT
+FER_ARCLA/8-82                   ITPEGK...QEFEVPDDVY.ILDHAA...E.E.VGDLPYSCRA.......GS....CSSCAGKVTAGSV.....DQSD...GSYLDDDQMEAGWV.....................LTCVAYPT
+FER_DATST/8-82                   VTPDGP...VEFNCPDDVY.ILDQAE...E.E.GHDLPYSCRA.......GS....CSSCAGKVTAGTV.....DQSD...GNYLDDDQMADGFV.....................LTCVAYPQ
+FER_PALPL/9-83                   STPGGV...EEIEGDETTY.VLDSAE...D.Q.GIDLPYSCRA.......GA....CSTCAGIVELGTV.....DQSD...QSFLDDDQLNDSFV.....................LTCVAYPT
+FER_EUGVI/8-82                   INPDGE..VTI.ECGEDQY.ILDAAE...D.A.GIDLPYSCRA.......GA....CSSCTGIVKEGTV.....DQSD...QSFLDDDQMAKGFC.....................LTCTTYPT
+FER_CHLFU/6-80                   KTPSGE...ETIECPEDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSSCAGKVESGEV.....DQSD...QSFLDDAQMGKGFV.....................LTCVAYPT
+FER_SYNY4/9-83                   ITPDGE...NSIECSDDTY.ILDAAE...E.A.GLDLPYSCRA.......GA....CSTCAGKITAGSV.....DQSD...QSFLDDDQIEAGYV.....................LTCVAYPT
+FER1_PHYAM/8-82                  VTPSGT...QTIDCPDDTY.VLDAAE...E.A.GLDLPYSCRA.......GS....CSSCTGKVTAGTV.....DQED...QSFLDDDQIEAGFV.....................LTCVAFPK
+FER2_PHYAM/9-83                  VTPSGT...NTITCPADTY.VLDAAE...E.S.GLDLPYSCRA.......GA....CSSCAGKVTAGAV.....NQED...GSFLEEEQMEAGWV.....................LTCVAYPT
+FER2_SPIOL/8-82                  VTPSGS...QVIECGDDEY.ILDAAE...E.K.GMDLPYSCRA.......GA....CSSCAGKVTSGSV.....DQSD...QSFLEDGQMEEGWV.....................LTCIAYPT
+FER_PHYPA/57-132                 DGETGA..ENVXECSDEEY.XLDAAE...R.A.GMDLPYSCRA.......GA....CSSCAGIIKAGEV.....DQSD...QSFLDDSQIDDGFV.....................LTCVAYPA
+FER_MARPO/7-81                   NTPTGQ...SVIDVEDDEY.ILDAAE...E.A.GLSLPYSCRA.......GA....CSSCAGKVTAGEV.....DQSD...ESFLDDDQMDEGYV.....................LTCIAYPT
+#=GC SS_cons                     EEESS-EEEEEEEEEETTCBHHHHHH...HTT-TTTGTTSS--TT..S..--...SSSTTEEEEEEHCEE....EHCCS..TTHHHHHHHTTSSET-TTT---GGGSSS---TTEEECCCSBGG
+#=GC seq_cons                    hphsup..thphpsssspp.lLcshc...p.t.slslshuCps.......Gs....CusCtsplhtu.................hpspphttt.h.....................LuCtshsp
+//
index 427c8b7..3b10c14 100644 (file)
@@ -80,7 +80,11 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script> 
 </head>
 
 
@@ -88,10 +92,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -100,39 +104,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -546,7 +549,7 @@ document.onclick = mclose;
           </li>
           <li>Note parameter &quot;PDBSeq&quot; is no longer required.<br>
           </li>
-          <li>Jalview 2.3 was updated to work with Jmol 11. See the <a href="../versions.html">versions archive if you want to download the old Jmol applet</a>.</li> 
+          <li>Jalview 2.3 was updated to work with Jmol 11. See the <a href="/development">versions archive if you want to download the old Jmol applet</a>.</li> 
             <p>&nbsp;</p>
           </li>
         </ul>
@@ -599,18 +602,5 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script>
 </body>
 </html>
index e3e1d3c..255f104 100755 (executable)
@@ -79,7 +79,11 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script>
 </head>
 
 
@@ -87,10 +91,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -99,39 +103,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -175,6 +178,7 @@ document.onclick = mclose;
       <td width="10%" valign="center"><applet
         code="jalview.bin.JalviewLite" width="140" height="35"
         archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox">
        <param name="file" value="uniref50.fa">
         <param name="treeFile" value="ferredoxin.nw">
          <param name="userDefinedColour"
@@ -200,6 +204,7 @@ document.onclick = mclose;
       <td width="10%" valign="center"><applet
         code="jalview.bin.JalviewLite" width="140" height="35"
         archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox">
        <param name="file" value="uniref50.fa">
         <param name="features" value="exampleFeatures.txt">
          <param name="showFeatureSettings" value="true">
@@ -223,6 +228,7 @@ document.onclick = mclose;
       <td width="10%" valign="center"><applet
         code="jalview.bin.JalviewLite" width="140" height="35"
         archive="jalviewApplet.jar,JmolApplet-12.2.4.jar">
+<param name="permissions" value="sandbox">
        <param name="file" value="uniref50.fa">
         <!-- <param name="debug" value="true">
                         -->
@@ -249,6 +255,7 @@ document.onclick = mclose;
       <td width="10%" valign="middle"><applet
         code="jalview.bin.JalviewLite" width="140" height="35"
         archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox">
        <param name="file" value="jpred_msa.fasta">
         <param name="jnetfile" value="jpred_msa.seq.concise">
          <param name="defaultColour" value="Clustal">
@@ -281,6 +288,7 @@ document.onclick = mclose;
       <td width="10%" valign="center"><applet
         code="jalview.bin.JalviewLite" width="140" height="35"
         archive="jalviewApplet.jar">
+<param name="permissions" value="sandbox">
        <param name="file" value="RF00031_folded.stk">
         <param name="defaultColour" value="Purine/Pyrimidine">
          <param name="showAnnotation" value="true">
@@ -319,4 +327,4 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </body>
 </html>
-          
\ No newline at end of file
+          
index 2f74116..2384737 100644 (file)
@@ -79,7 +79,11 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script>
 </head>
 
 
@@ -87,10 +91,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -99,39 +103,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
index 86dceea..5a65953 100644 (file)
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <TITLE>Embedded JalviewLite talking to externally managed Jmol</TITLE>
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script>
 <script src="javascript/deployJava.js"></script>
 <script src="jmol/Jmol.js"></script>
 <script src="javascript/jquery-1.4.4.min.js"></script>
@@ -177,10 +182,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -189,39 +194,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -269,18 +273,5 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script>
 </body>
 </html>
index 71a904a..91b0670 100644 (file)
@@ -79,7 +79,11 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script>
 </head>
 
 
@@ -87,10 +91,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -99,39 +103,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -218,18 +221,6 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script></body>
+</body>
 </html>
-  
\ No newline at end of file
+  
index 5d0af5d..0e8b78a 100644 (file)
@@ -80,7 +80,9 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
 </head>
 
 
@@ -88,10 +90,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -100,39 +102,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
-       <li><a href="#">Home</a></li>
-       <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
-               <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-               <a href="#">Documentation</a>
-               <a href="#">Publications</a>
-               <a href="#">Credits</a>
-               <a href="#">Screenshots</a>
-               </div>
-       </li>
-       <li><a href="#">FAQ</a></li>
-       <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
-               <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-               <a href="#">News Mailing List</a>
-               <a href="#">Discussion Mailing List</a>
-               <a href="#">Links</a>
-               <a href="#">Community News</a>
-               </div>
-       </li>
-       <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
-               <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-               <a href="#">Release History</a>
-               <a href="#">Jalview Bug Tracker</a>
-               <a href="#">Jalview Git Web</a>
-               <a href="#">Development News</a>
-               </div>
-       </li>
-       <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
-               <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-               <a href="#">Training Courses</a>
-               <a href="#">Training News</a>
-               </div>
-       </li>
-       <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+  <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
+  </div>
+ </li>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+  <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
+  </div>
+ </li>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+  <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
+  </div>
+ </li>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+  <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
+  </div>
+ </li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -422,17 +423,5 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script></body>
+</body>
 </html>
index 7dbf8e0..f555265 100644 (file)
@@ -79,7 +79,9 @@ function mcancelclosetime()
 document.onclick = mclose; 
 // -->
 </script>
-
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
 </head>
 
 
@@ -87,10 +89,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -99,39 +101,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -267,19 +268,6 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script>
 </body>
 </head>
-</html>
\ No newline at end of file
+</html>
index 4296146..86f4bc0 100644 (file)
   
  <link href="css/reset.css" rel="stylesheet" type="text/css" />
  <link href="css/style.css" rel="stylesheet" type="text/css" />
+<script>
+<!--//--><![CDATA[//><!--
+var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-9060947-1"]);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
+//--><!]]>
+</script>
 <script src="http://www.java.com/js/deployJava.js"></script>
 <script src="javascript/jalview.js" language="javascript"></script>
 <script>  //deployJava.debug="true";
@@ -106,10 +111,10 @@ document.onclick = mclose;
 
 
 <div id="header">
-<div id="logo"><a href="/" title="Home"></a></div>
+<div id="logo"><a href="http://www.jalview.org" title="Home"></a></div>
 <ul id="buttons">
 <li id="applet"><a href="applets.html" title="applet"></a></li>
-<li id="desktop"><a href="/webstart/jalview.jnlp" title="desktop"></a></li>
+<li id="desktop"><a href="../webstart/jalview.jnlp" title="desktop"></a></li>
 </ul>
 </div>
 
@@ -118,39 +123,38 @@ document.onclick = mclose;
 <div id="navInner">
 
 <ul id="sddm">
- <li><a href="#">Home</a></li>
- <li><a href="#" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
+ <li><a href="http://www.jalview.org">Home</a></li>
+ <li><a href="http://www.jalview.org/about" onmouseover="mopen('m1')" onmouseout="mclosetime()">About</a>
   <div id="m1" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Documentation</a>
-  <a href="#">Publications</a>
-  <a href="#">Credits</a>
-  <a href="#">Screenshots</a>
+  <a href="http://www.jalview.org/about/documentation">Documentation</a>
+  <a href="http://www.jalview.org/about/citation">Publications</a>
+  <a href="http://www.jalview.org/about/credits">Credits</a>
   </div>
  </li>
- <li><a href="#">FAQ</a></li>
- <li><a href="#" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
+ <li><a href="http://www.jalview.org/faq">FAQ</a></li>
+ <li><a href="http://www.jalview.org/community" onmouseover="mopen('m3')" onmouseout="mclosetime()" class="community">Community</a>
   <div id="m3" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">News Mailing List</a>
-  <a href="#">Discussion Mailing List</a>
-  <a href="#">Links</a>
-  <a href="#">Community News</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-announce">News Mailing List</a>
+  <a href="http://www.jalview.org/mailman/listinfo/jalview-discuss">Discussion Mailing List</a>
+  <a href="http://www.jalview.org/community/links">Links</a>
+  <a href="http://www.jalview.org/community/community-news">Community News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
+ <li><a href="http://www.jalview.org/development" onmouseover="mopen('m4')" onmouseout="mclosetime()" class="development">Development</a>
   <div id="m4" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Release History</a>
-  <a href="#">Jalview Bug Tracker</a>
-  <a href="#">Jalview Git Web</a>
-  <a href="#">Development News</a>
+  <a href="http://www.jalview.org/development/release-history">Release History</a>
+  <a href="http://issues.jalview.org">Jalview Bug Tracker</a>
+  <a href="http://source.jalview.org/gitweb/">Jalview Git Web</a>
+  <a href="http://www.jalview.org/development/development-news">Development News</a>
   </div>
  </li>
- <li><a href="#" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
+ <li><a href="http://www.jalview.org/training" onmouseover="mopen('m5')" onmouseout="mclosetime()" class="training">Training</a>
   <div id="m5" onmouseover="mcancelclosetime()" onmouseout="mclosetime()">
-  <a href="#">Training Courses</a>
-  <a href="#">Training News</a>
+  <a href="http://www.jalview.org/training/training-courses">Training Courses</a>
+  <a href="http://www.jalview.org/training/training-news">Training News</a>
   </div>
  </li>
- <li><a href="#" class="download-right">Download</a></li>
+ <li><a href="http://www.jalview.org/download" class="download-right">Download</a></li>
 </ul>
 <div style="clear:both"></div>
 </div>
@@ -267,18 +271,5 @@ Bioinformatics 25 (9) 1189-1191 <a href="http://dx.doi.org/10.1093/bioinformatic
 </div>
 </div>
 </div>
-
-<script type="text/javascript">
-    var gaJsHost = (("https:" == document.location.protocol) ?
- "https://ssl." : "http://www.");
-    document.write(unescape("%3Cscript src=\'" + gaJsHost +
- "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));
-</script>
-<script type="text/javascript">
-try{
-    var pageTracker = _gat._getTracker("'UA-9060947-1'");
-    pageTracker._trackPageview();
-} catch(err) {}
-</script>
 </body>
 </html>
diff --git a/examples/testdata/example_annot_file.jva b/examples/testdata/example_annot_file.jva
new file mode 100644 (file)
index 0000000..794f42b
--- /dev/null
@@ -0,0 +1,22 @@
+#Comment lines follow the hash symbol
+JALVIEW_ANNOTATION
+SEQUENCE_REF   FER1_MESCR      5
+BAR_GRAPH      Bar Graph 1     <html>an <em>html tooltip</em> for Bar graph 1.</html>  ||-100,-|-200,-|-300,-|-400,-|200,+|300,+|150,+
+LINE_GRAPH     Green Values    1.1|2.2|1.3|3.4|0.7|1.4|3.3|2.2|2.1|-1.1|3.2
+LINE_GRAPH     Red Values      2.1|3.2|1.3|-1.4|5.5|1.4|1.3|4.2|-1.1|1.1|3.2
+BAR_GRAPH      Bar Graph       2 1,.|2,*|3,:|4,.|5,*|4,:|3,.|2|1|1|2|3|4|5|4
+NO_GRAPH       Icons   ||||E,Sheet1|E|E||||H,Sheet 2|H|H|H||||||
+NO_GRAPH       Purple Letters  m|y|p|r|o|t|e|i|n
+COLOUR Bar Graph 2     blue
+COLOUR Red Values      255,0,0
+COLOUR Green Values    green
+COLOUR Purple Letters  151,52,228
+COMBINE        Green Values    Red Values
+GRAPHLINE      Red Values      2.6     threshold       black
+
+SEQUENCE_GROUP Group_A 30      50      *
+SEQUENCE_GROUP Group_B 1       351     2-5
+SEQUENCE_GROUP Group_C 12      14      -1      seq1    seq2    seq3
+PROPERTIES     Group_A description=This is the description     colour=Helix Propensity pidThreshold=0  outlineColour=red       displayBoxes=true       displayText=false       colourText=false        textCol1=black  textCol2=black  textColThreshold=0
+PROPERTIES     Group_B outlineColour=red
+PROPERTIES     Group_C colour=Clustal
diff --git a/examples/testdata/smad.fa b/examples/testdata/smad.fa
new file mode 100644 (file)
index 0000000..6a3b27b
--- /dev/null
@@ -0,0 +1,132 @@
+>gi|7160686|emb|CAB76819.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSILVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTLRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|61967924|gb|AAX56944.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSILVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTLRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|11464653|gb|AAG35265.1|/1-455
+TMHPVNYQEPKYWCSIVYYELNNRVGEAFNASQLSIIIDGFTDPSNNSDRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHNFHPTTVCKIPPGCSLKIFSNQEF----AHLLSRTVHH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWVEIHLNGPLQWLDRVLTQMGTPRNPISSVS
+>gi|6273783|gb|AAF06361.1|/1-472
+DVHPVAYQEPKHWCSIVYYELNNRVGEAFLASSTSVLVDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSRCSLKIFNNQEF----AELLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAKYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|11907945|gb|AAG41407.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|29725652|gb|AAO88909.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|1654323|gb|AAC50790.1|/1-465
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|3192871|gb|AAC19116.1|/1-468
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|55926152|ref|NP_001007481.1|/1-464
+DVQAVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFETVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|61967926|gb|AAX56945.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|2360958|gb|AAB92396.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|5706366|dbj|BAA83093.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPANNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|3982649|gb|AAC83580.1|/1-465
+DVQPVAYEEPKHWCSIVYYELNNRVGEAFHASSTSVLVDGFTDPSNNKSRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDSSIFVQSRNCNFHHGFHPTTVCKIPSSCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|6288777|gb|AAF06738.1|/1-464
+DVQPVEYQEPSHWCSIVYYELNNRVGEAYHASSTSVLVDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECLSDTSIFVQSRNCNYHHGFHPTTVCKIPSGCSLKIFNNQEF----AQLLAQSVNH
+GFEAVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEVHLHGPLQWLDKVLTQMGSPLNPISSVS
+>gi|61967928|gb|AAX56946.1|/1-476
+NFRPVCYEEPQHWCSVAYYELNNRVGETFQASSRSILIDGFTDPSNNKNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKIFNNQLF----AQPLAQSVNH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|2689629|gb|AAC53515.1|/1-434
+DFRPVCYEEPLHWCSVAYYELNNRVGETFQASSRSVLIDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKVFNNQLFAQLLAQLLAQSVHH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|22532988|gb|AAF77079.2|/1-428
+DFRPVCYEEPQHWCSVAYYELNNRVGETFQASSRSVLIDGFTDPSNNRNRFCLGLLSNVNRNSTIENTRRHI
+GKGVHLYYVGGEVYAECVSDSSIFVQSRNCNYQHGFHPATVCKIPSGCSLKVFNNQLF----AQLLAQSVHH
+GFEVVYELTKMCTIRMSFVKGWGAEYHRQDVTSTPCWIEIHLHGPLQWLDKVLTQMGSPHNPISSVS
+>gi|2967646|gb|AAC39657.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|45331050|gb|AAS57861.1|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYDWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|5360217|dbj|BAA81909.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|6288775|gb|AAF06737.1|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLCLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|58047721|gb|AAH89184.1|/1-467
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|4009524|gb|AAD11458.1|/1-486
+DAAPVMYHEPAFWCSISYYELNTRVGETFHASQPSITVDGFTDPSNS-ERFCLGLLSNVNRNEVVEQTRRHI
+GKGVRLYYIGGEVFAECLSDSSIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLSQSVSQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDRVLTQMGSPRLPCSSMS
+>gi|40254710|ref|NP_571441.2|/1-468
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|18655485|pdb|1KHX|A|/22-227
+DLQPVTYSEPAFWCSIAYYELNQRVGETFHASQPSLTVDGFTDPSNS-ERFCLGLLSNVNRNATVEMTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSVRCSSMS
+>gi|13992583|emb|CAC38118.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDNAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|11875329|dbj|BAB19634.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|45331052|gb|AAS57862.1|/1-422
+DLQPVTYCESAFWCSISYYELNQRVGETFHASQPSLTVDGFTDPSNA-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYRLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPNLRCSSVS
+>gi|18418623|gb|AAL68976.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|2564493|gb|AAB81755.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERLCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|6981174|ref|NP_037227.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|45383213|ref|NP_989806.1|/1-426
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
+>gi|47523074|ref|NP_999302.1|/1-425
+DLQPVTYCEPAFWCSISYYELNQRVGETFHASQPSMTVDGFTDPSNS-ERFCLGLLSNVNRNAAVELTRRHI
+GRGVRLYYIGGEVFAECLSDSAIFVQSPNCNQRYGWHPATVCKIPPGCNLKIFNNQEF----AALLAQSVNQ
+GFEAVYQLTRMCTIRMSFVKGWGAEYRRQTVTSTPCWIELHLNGPLQWLDKVLTQMGSPSIRCSSVS
diff --git a/examples/testdata/smad_groups.jva b/examples/testdata/smad_groups.jva
new file mode 100644 (file)
index 0000000..ca5f507
--- /dev/null
@@ -0,0 +1,19 @@
+JALVIEW_ANNOTATION
+# Created: Tue Jun 04 16:56:03 BST 2013
+
+
+SEQUENCE_GROUP group1  1       211     -1      gi|7160686|emb|CAB76819.1|      gi|61967924|gb|AAX56944.1|      gi|11464653|gb|AAG35265.1|      gi|6273783|gb|AAF06361.1|       gi|11907945|gb|AAG41407.1|      gi|29725652|gb|AAO88909.1|      gi|1654323|gb|AAC50790.1|       gi|3192871|gb|AAC19116.1|       gi|55926152|ref|NP_001007481.1| 
+PROPERTIES     group1  outlineColour=000000    displayBoxes=true       displayText=true        colourText=false        showUnconserved=false   textCol1=000000 textCol2=ffffff 
+
+SEQUENCE_GROUP group2  1       211     -1      gi|61967926|gb|AAX56945.1|      gi|2360958|gb|AAB92396.1|       gi|5706366|dbj|BAA83093.1|      gi|3982649|gb|AAC83580.1|       gi|6288777|gb|AAF06738.1|       
+PROPERTIES     group2  outlineColour=000000    displayBoxes=true       displayText=true        colourText=false        showUnconserved=false   textCol1=000000 textCol2=ffffff 
+
+SEQUENCE_GROUP group3  1       211     -1      gi|61967928|gb|AAX56946.1|      gi|2689629|gb|AAC53515.1|       gi|22532988|gb|AAF77079.2|      
+PROPERTIES     group3  outlineColour=000000    displayBoxes=true       displayText=true        colourText=false        showUnconserved=false   textCol1=000000 textCol2=ffffff 
+
+SEQUENCE_GROUP group4  1       211     -1      gi|2967646|gb|AAC39657.1|       gi|45331050|gb|AAS57861.1|      gi|5360217|dbj|BAA81909.1|      gi|6288775|gb|AAF06737.1|       gi|58047721|gb|AAH89184.1|      gi|4009524|gb|AAD11458.1|       gi|40254710|ref|NP_571441.2|    gi|18655485|pdb|1KHX|A| 
+PROPERTIES     group4  outlineColour=000000    displayBoxes=true       displayText=true        colourText=false        showUnconserved=false   textCol1=000000 textCol2=ffffff 
+
+SEQUENCE_GROUP group5  1       211     -1      gi|13992583|emb|CAC38118.1|     gi|11875329|dbj|BAB19634.1|     gi|45331052|gb|AAS57862.1|      gi|18418623|gb|AAL68976.1|      gi|2564493|gb|AAB81755.1|       gi|6981174|ref|NP_037227.1|     gi|45383213|ref|NP_989806.1|    gi|47523074|ref|NP_999302.1|    
+PROPERTIES     group5  outlineColour=000000    displayBoxes=true       displayText=true        colourText=false        showUnconserved=false   textCol1=000000 textCol2=ffffff 
+
diff --git a/examples/testdata/test_combine_annot.jva b/examples/testdata/test_combine_annot.jva
new file mode 100644 (file)
index 0000000..e1ee9e0
--- /dev/null
@@ -0,0 +1,31 @@
+#Comment lines follow the hash symbol
+JALVIEW_ANNOTATION
+SEQUENCE_REF   FER1_MESCR      5
+BAR_GRAPH      Bar Graph 1     <html>an <em>html tooltip</em> for Bar graph 1.</html>  ||-100,-|-200,-|-300,-|-400,-|200,+|300,+|150,+
+LINE_GRAPH     Green Values    1.1|2.2|1.3|3.4|0.7|1.4|3.3|2.2|2.1|-1.1|3.2
+LINE_GRAPH     Red Values      2.1|3.2|1.3|-1.4|5.5|1.4|1.3|4.2|-1.1|1.1|3.2
+LINE_GRAPH     Blue Values     0|0|0|1.1|2.2|1.3|3.4|0.7|1.4|3.3|2.2
+LINE_GRAPH     Yellow Values   3.0|3.0|3.0|2.1|3.2|1.3|-1.4|5.5|1.4|1.3|4.2
+
+BAR_GRAPH      Bar Graph       2 1,.|2,*|3,:|4,.|5,*|4,:|3,.|2|1|1|2|3|4|5|4
+
+NO_GRAPH       Icons   ||||E,Sheet1|E|E||||H,Sheet 2|H|H|H||||||
+NO_GRAPH       Purple Letters  m|y|p|r|o|t|e|i|n
+COLOUR Bar Graph 2     blue
+COLOUR Red Values      255,0,0
+COLOUR Green Values    green
+COLOUR Blue Values     blue
+COLOUR Yellow Values   yellow
+COLOUR Purple Letters  151,52,228
+
+COMBINE        Green Values    Red Values
+COMBINE        Blue Values     Yellow Values
+
+GRAPHLINE      Red Values      2.6     threshold       black
+
+SEQUENCE_GROUP Group_A 30      50      *
+SEQUENCE_GROUP Group_B 1       351     2-5
+SEQUENCE_GROUP Group_C 12      14      -1      seq1    seq2    seq3
+PROPERTIES     Group_A description=This is the description     colour=Helix Propensity pidThreshold=0  outlineColour=red       displayBoxes=true       displayText=false       colourText=false        textCol1=black  textCol2=black  textColThreshold=0
+PROPERTIES     Group_B outlineColour=red
+PROPERTIES     Group_C colour=Clustal
diff --git a/examples/testdata/uniref50_iupred.jva b/examples/testdata/uniref50_iupred.jva
new file mode 100644 (file)
index 0000000..cc7f4de
--- /dev/null
@@ -0,0 +1,172 @@
+JALVIEW_ANNOTATION
+# Created: Fri Jun 21 13:44:50 BST 2013
+
+BAR_GRAPH      Conservation    Conservation of total alignment less than 25% gaps      1.0,1,1.0,[5d1500]|3.0,3,3.0,[7d3f00]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|1.0,1,1.0,[5d1500]|2.0,2,2.0,[6d2a00]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|2.0,2,2.0,[6d2a00]|1.0,1,1.0,[5d1500]|1.0,1,1.0,[5d1500]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,-,0.0,[4d0000]|2.0,2,2.0,[6d2a00]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|11.0,*,11.0,[ffe600]|7.0,7,7.0,[be9200]|11.0,*,11.0,[ffe600]|6.0,6,6.0,[ae7d00]|11.0,*,11.0,[ffe600]|6.0,6,6.0,[ae7d00]|8.0,8,8.0,[cea700]|9.0,9,9.0,[dfbc00]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|7.0,7,7.0,[be9200]|11.0,*,11.0,[ffe600]|3.0,3,3.0,[7d3f00]|6.0,6,6.0,[ae7d00]|11.0,*,11.0,[ffe600]|7.0,7,7.0,[be9200]|7.0,7,7.0,[be9200]|9.0,9,9.0,[dfbc00]|5.0,5,5.0,[9e6800]|6.0,6,6.0,[ae7d00]|8.0,8,8.0,[cea700]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|9.0,9,9.0,[dfbc00]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|3.0,3,3.0,[7d3f00]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|3.0,3,3.0,[7d3f00]|11.0,*,11.0,[ffe600]|5.0,5,5.0,[9e6800]|9.0,9,9.0,[dfbc00]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|9.0,9,9.0,[dfbc00]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|11.0,*,11.0,[ffe600]|9.0,9,9.0,[dfbc00]|3.0,3,3.0,[7d3f00]|7.0,7,7.0,[be9200]|11.0,*,11.0,[ffe600]|3.0,3,3.0,[7d3f00]|9.0,9,9.0,[dfbc00]|8.0,8,8.0,[cea700]|11.0,*,11.0,[ffe600]|6.0,6,6.0,[ae7d00]|11.0,*,11.0,[ffe600]|4.0,4,4.0,[8d5300]|5.0,5,5.0,[9e6800]|9.0,9,9.0,[dfbc00]|11.0,*,11.0,[ffe600]|8.0,8,8.0,[cea700]|9.0,9,9.0,[dfbc00]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|3.0,3,3.0,[7d3f00]|2.0,2,2.0,[6d2a00]|3.0,3,3.0,[7d3f00]|2.0,2,2.0,[6d2a00]|2.0,2,2.0,[6d2a00]|2.0,2,2.0,[6d2a00]|1.0,1,1.0,[5d1500]|3.0,3,3.0,[7d3f00]|2.0,2,2.0,[6d2a00]|2.0,2,2.0,[6d2a00]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|4.0,4,4.0,[8d5300]|3.0,3,3.0,[7d3f00]|1.0,1,1.0,[5d1500]|2.0,2,2.0,[6d2a00]|3.0,3,3.0,[7d3f00]|2.0,2,2.0,[6d2a00]|5.0,5,5.0,[9e6800]|3.0,3,3.0,[7d3f00]|3.0,3,3.0,[7d3f00]|0.0,0,0.0,[4d0000]|0.0,0,0.0,[4d0000]|1.0,1,1.0,[5d1500]|0.0,0,0.0,[4d0000]|0.0,-,0.0,[4d0000]|0.0,-,0.0,[4d0000]|
+BAR_GRAPH      Quality Alignment Quality based on Blosum62 scores      29.151815,29.151815,[cba200]|30.574812,30.574812,[d1aa00]|14.400199,14.400199,[8b5000]|16.93248,16.93248,[965e00]|2.1220763,2.1220763,[560c00]|2.2049963,2.2049963,[560c00]|3.647952,3.647952,[5c1400]|4.814642,4.814642,[611b00]|18.351393,18.351393,[9c6600]|17.532412,17.532412,[996200]|7.5054855,7.5054855,[6d2a00]|15.490477,15.490477,[905600]|14.241707,14.241707,[8a4f00]|9.905579,9.905579,[773700]|20.354017,20.354017,[a57100]|26.870352,26.870352,[c19600]|24.969187,24.969187,[b98b00]|27.419409,27.419409,[c39900]|15.350427,15.350427,[8f5600]|21.116522,21.116522,[a87600]|9.34032,9.34032,[753400]|14.1895275,14.1895275,[8a4f00]|10.104505,10.104505,[783800]|8.587312,8.587312,[723000]|18.694708,18.694708,[9e6800]|11.420612,11.420612,[7e4000]|6.8467255,6.8467255,[6a2600]|17.449827,17.449827,[986100]|16.825909,16.825909,[955e00]|2.4334474,2.4334474,[570e00]|15.685622,15.685622,[915700]|9.836516,9.836516,[773700]|3.4712791,3.4712791,[5c1300]|4.531816,4.531816,[601900]|7.8744216,7.8744216,[6f2c00]|0.0,0.0,[4d0000]|9.01113,9.01113,[743200]|3.174218,3.174218,[5a1200]|2.0395048,2.0395048,[550b00]|2.1654668,2.1654668,[560c00]|21.517344,21.517344,[aa7800]|15.738462,15.738462,[915800]|14.844854,14.844854,[8d5300]|22.159096,22.159096,[ad7c00]|13.956608,13.956608,[894e00]|20.147892,20.147892,[a47000]|25.067545,25.067545,[b98c00]|2.0943506,2.0943506,[560c00]|20.30842,20.30842,[a57100]|10.254437,10.254437,[793900]|6.5836596,6.5836596,[692500]|19.446732,19.446732,[a16c00]|6.2202287,6.2202287,[672300]|9.796006,9.796006,[773700]|6.0385494,6.0385494,[672200]|13.963727,13.963727,[894e00]|13.838549,13.838549,[884d00]|18.48424,18.48424,[9d6700]|18.302633,18.302633,[9c6600]|41.172745,41.172745,[ffe600]|32.59908,32.59908,[dab600]|41.172745,41.172745,[ffe600]|34.495945,34.495945,[e2c000]|41.172745,41.172745,[ffe600]|33.501804,33.501804,[debb00]|27.034466,27.034466,[c29700]|40.020737,40.020737,[fadf00]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|29.252739,29.252739,[cba300]|41.172745,41.172745,[ffe600]|14.935498,14.935498,[8d5300]|0.88449144,0.88449144,[500500]|41.172745,41.172745,[ffe600]|20.81991,20.81991,[a77400]|31.73346,31.73346,[d6b100]|29.757969,29.757969,[cea600]|16.279755,16.279755,[935b00]|32.647984,32.647984,[dab600]|38.352337,38.352337,[f3d600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|39.6125,39.6125,[f8dd00]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|9.671661,9.671661,[763600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|11.17141,11.17141,[7d3e00]|41.172745,41.172745,[ffe600]|3.2054348,3.2054348,[5a1200]|38.569283,38.569283,[f4d700]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|39.707684,39.707684,[f9dd00]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|41.172745,41.172745,[ffe600]|39.447525,39.447525,[f8dc00]|21.229778,21.229778,[a97600]|27.779364,27.779364,[c59b00]|41.172745,41.172745,[ffe600]|24.149143,24.149143,[b58700]|39.447525,39.447525,[f8dc00]|33.857655,33.857655,[dfbd00]|41.172745,41.172745,[ffe600]|28.69976,28.69976,[c9a000]|41.172745,41.172745,[ffe600]|14.611241,14.611241,[8c5100]|32.346375,32.346375,[d9b400]|39.24055,39.24055,[f7db00]|41.172745,41.172745,[ffe600]|38.352337,38.352337,[f3d600]|38.569283,38.569283,[f4d700]|22.374107,22.374107,[ae7d00]|36.98438,36.98438,[edce00]|12.34415,12.34415,[824500]|11.811655,11.811655,[804200]|14.798897,14.798897,[8d5200]|36.60138,36.60138,[ebcc00]|14.0762415,14.0762415,[8a4e00]|36.817875,36.817875,[eccd00]|36.53897,36.53897,[ebcc00]|37.583706,37.583706,[efd100]|35.536423,35.536423,[e7c600]|18.004925,18.004925,[9b6400]|37.633095,37.633095,[f0d200]|34.738743,34.738743,[e3c200]|36.451622,36.451622,[ebcb00]|19.948801,19.948801,[a36f00]|28.285,28.285,[c79e00]|35.93151,35.93151,[e8c800]|36.817875,36.817875,[eccd00]|26.762383,26.762383,[c19500]|36.37101,36.37101,[eacb00]|36.413998,36.413998,[eacb00]|37.583706,37.583706,[efd100]|36.282784,36.282784,[eaca00]|34.729824,34.729824,[e3c200]|36.413998,36.413998,[eacb00]|24.348654,24.348654,[b68800]|24.349539,24.349539,[b68800]|34.091675,34.091675,[e0be00]|21.114677,21.114677,[a87600]|13.676696,13.676696,[884c00]|2.1107035,2.1107035,[560c00]|
+BAR_GRAPH      Consensus       PID     80.0,M,M 80%|80.0,A,A 80%|20.0,+,[AST] 20%|53.333332,T,T 53%|0.0,-,- 0%|0.0,-,- 0%|13.333333,T,T 13%|20.0,P,P 20%|40.0,A,A 40%|40.0,L,L 40%|46.666668,S,S 46%|40.0,G,G 40%|33.333332,T,T 33%|20.0,+,[AIM] 20%|33.333332,V,V 33%|66.666664,S,S 66%|66.666664,T,T 66%|66.666664,S,S 66%|66.666664,F,F 66%|46.666668,L,L 46%|46.666668,R,R 46%|46.666668,R,R 46%|26.666666,Q,Q 26%|46.666668,P,P 46%|40.0,A,A 40%|60.0,P,P 60%|26.666666,T,T 26%|53.333332,S,S 53%|40.0,L,L 40%|20.0,R,R 20%|26.666666,S,S 26%|33.333332,L,L 33%|40.0,P,P 40%|26.666666,S,S 26%|33.333332,+,[AN] 33%|26.666666,V,V 26%|33.333332,G,G 33%|20.0,+,[EQ] 20%|0.0,-,- 0%|0.0,-,- 0%|33.333332,+,[AS] 33%|53.333332,L,L 53%|60.0,F,F 60%|73.333336,G,G 73%|66.666664,L,L 66%|66.666664,K,K 66%|53.333332,S,S 53%|0.0,-,- 0%|40.0,S,S 40%|26.666666,T,T 26%|20.0,A,A 20%|66.666664,R,R 66%|40.0,G,G 40%|53.333332,G,G 53%|46.666668,R,R 46%|33.333332,V,V 33%|46.666668,T,T 46%|53.333332,A,A 53%|66.666664,M,M 66%|100.0,A,A 100%|53.333332,T,T 53%|100.0,Y,Y 100%|86.666664,K,K 86%|100.0,V,V 100%|86.666664,K,K 86%|66.666664,L,L 66%|80.0,I,I 80%|100.0,T,T 100%|100.0,P,P 100%|66.666664,E,E 66%|100.0,G,G 100%|46.666668,E,E 46%|46.666668,Q,Q 46%|100.0,E,E 100%|46.666668,F,F 46%|60.0,E,E 60%|86.666664,C,C 86%|66.666664,P,P 66%|80.0,D,D 80%|93.333336,D,D 93%|100.0,V,V 100%|100.0,Y,Y 100%|66.666664,I,I 66%|100.0,L,L 100%|100.0,D,D 100%|46.666668,A,A 46%|100.0,A,A 100%|100.0,E,E 100%|100.0,E,E 100%|53.333332,A,A 53%|100.0,G,G 100%|60.0,I,I 60%|93.333336,D,D 93%|100.0,L,L 100%|100.0,P,P 100%|93.333336,Y,Y 93%|100.0,S,S 100%|100.0,C,C 100%|100.0,R,R 100%|100.0,A,A 100%|100.0,G,G 100%|100.0,S,S 100%|100.0,C,C 100%|100.0,S,S 100%|100.0,S,S 100%|100.0,C,C 100%|100.0,A,A 100%|100.0,G,G 100%|100.0,K,K 100%|80.0,V,V 80%|60.0,V,V 60%|53.333332,S,S 53%|100.0,G,G 100%|60.0,S,S 60%|80.0,V,V 80%|80.0,D,D 80%|100.0,Q,Q 100%|66.666664,S,S 66%|100.0,D,D 100%|46.666668,+,[GQ] 46%|73.333336,S,S 73%|93.333336,F,F 93%|100.0,L,L 100%|93.333336,D,D 93%|93.333336,D,D 93%|53.333332,D,D 53%|93.333336,Q,Q 93%|53.333332,I,I 53%|40.0,A,A 40%|53.333332,E,E 53%|93.333336,G,G 93%|46.666668,W,W 46%|93.333336,V,V 93%|93.333336,L,L 93%|93.333336,T,T 93%|93.333336,C,C 93%|53.333332,V,V 53%|93.333336,A,A 93%|86.666664,Y,Y 86%|93.333336,P,P 93%|60.0,T,T 60%|73.333336,S,S 73%|93.333336,D,D 93%|93.333336,V,V 93%|66.666664,T,T 66%|93.333336,I,I 93%|93.333336,E,E 93%|93.333336,T,T 93%|93.333336,H,H 93%|86.666664,K,K 86%|93.333336,E,E 93%|73.333336,E,E 73%|60.0,E,E 60%|73.333336,L,L 73%|46.666668,T,T 46%|40.0,A,A 40%|0.0,-,- 0%|
+
+SEQUENCE_REF   FER2_ARATH
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1671,0.1671,[72144e]|0.2129,0.2129,[72144e]|0.247,0.247,[72144e]|0.1554,0.1554,[72144e]|0.1162,0.1162,[72144e]|0.1449,0.1449,[72144e]|0.1731,0.1731,[72144e]|0.2064,0.2064,[72144e]|0.2436,0.2436,[72144e]|0.2715,0.2715,[72144e]|0.3249,0.3249,[72144e]|0.2783,0.2783,[72144e]|0.3019,0.3019,[72144e]|0.2399,0.2399,[72144e]|0.2364,0.2364,[72144e]|0.2645,0.2645,[72144e]|0.2609,0.2609,[72144e]|0.2988,0.2988,[72144e]|0.2064,0.2064,[72144e]|0.2094,0.2094,[72144e]|0.2849,0.2849,[72144e]|0.3426,0.3426,[72144e]|0.3529,0.3529,[72144e]|0.3426,0.3426,[72144e]|0.2817,0.2817,[72144e]|0.2783,0.2783,[72144e]|0.3426,0.3426,[72144e]|0.2715,0.2715,[72144e]|0.2609,0.2609,[72144e]|0.2503,0.2503,[72144e]|0.2364,0.2364,[72144e]|0.2364,0.2364,[72144e]|0.1791,0.1791,[72144e]|0.247,0.247,[72144e]|0.2503,0.2503,[72144e]|0.3149,0.3149,[72144e]|0.3149,0.3149,[72144e]|0.2645,0.2645,[72144e]|0.3356,0.3356,[72144e]|0.2752,0.2752,[72144e]|0.346,0.346,[72144e]|0.346,0.346,[72144e]|0.3426,0.3426,[72144e]|0.2645,0.2645,[72144e]|0.247,0.247,[72144e]|0.1969,0.1969,[72144e]|0.2503,0.2503,[72144e]|0.2503,0.2503,[72144e]|0.1852,0.1852,[72144e]|0.2541,0.2541,[72144e]|0.2951,0.2951,[72144e]|0.3182,0.3182,[72144e]|0.3215,0.3215,[72144e]|0.3392,0.3392,[72144e]|0.374,0.374,[72144e]|0.3948,0.3948,[72144e]|0.3392,0.3392,[72144e]|0.3599,0.3599,[72144e]|0.268,0.268,[72144e]|0.3426,0.3426,[72144e]|0.3599,0.3599,[72144e]|0.4051,0.4051,[72144e]|0.374,0.374,[72144e]|0.3249,0.3249,[72144e]|0.268,0.268,[72144e]|0.2783,0.2783,[72144e]|0.3019,0.3019,[72144e]|0.3286,0.3286,[72144e]|0.3117,0.3117,[72144e]|0.4292,0.4292,[72144e]|0.5296,0.5296,[72144e]|0.4901,0.4901,[72144e]|0.4582,0.4582,[72144e]|0.3667,0.3667,[72144e]|0.384,0.384,[72144e]|0.2918,0.2918,[72144e]|0.3182,0.3182,[72144e]|0.2193,0.2193,[72144e]|0.2752,0.2752,[72144e]|0.1643,0.1643,[72144e]|0.2541,0.2541,[72144e]|0.2034,0.2034,[72144e]|0.1852,0.1852,[72144e]|0.1702,0.1702,[72144e]|0.1399,0.1399,[72144e]|0.2034,0.2034,[72144e]|0.2541,0.2541,[72144e]|0.2292,0.2292,[72144e]|0.1881,0.1881,[72144e]|0.2129,0.2129,[72144e]|0.2292,0.2292,[72144e]|0.1643,0.1643,[72144e]|0.107,0.107,[72144e]|0.1251,0.1251,[72144e]|0.1251,0.1251,[72144e]|0.1759,0.1759,[72144e]|0.1115,0.1115,[72144e]|0.1731,0.1731,[72144e]|0.1501,0.1501,[72144e]|0.2164,0.2164,[72144e]|0.2328,0.2328,[72144e]|0.3286,0.3286,[72144e]|0.3286,0.3286,[72144e]|0.2645,0.2645,[72144e]|0.2034,0.2034,[72144e]|0.2193,0.2193,[72144e]|0.3286,0.3286,[72144e]|0.3529,0.3529,[72144e]|0.3631,0.3631,[72144e]|0.4292,0.4292,[72144e]|0.4541,0.4541,[72144e]|0.4766,0.4766,[72144e]|0.4864,0.4864,[72144e]|0.4652,0.4652,[72144e]|0.4685,0.4685,[72144e]|0.4051,0.4051,[72144e]|0.4087,0.4087,[72144e]|0.3117,0.3117,[72144e]|0.3321,0.3321,[72144e]|0.2918,0.2918,[72144e]|0.2164,0.2164,[72144e]|0.2503,0.2503,[72144e]|0.2364,0.2364,[72144e]|0.2292,0.2292,[72144e]|0.2503,0.2503,[72144e]|0.2918,0.2918,[72144e]|0.3053,0.3053,[72144e]|0.2258,0.2258,[72144e]|0.2292,0.2292,[72144e]|0.2129,0.2129,[72144e]|0.2064,0.2064,[72144e]|0.2164,0.2164,[72144e]|0.2436,0.2436,[72144e]|0.2436,0.2436,[72144e]|0.2193,0.2193,[72144e]|0.2258,0.2258,[72144e]|0.2503,0.2503,[72144e]|0.3117,0.3117,[72144e]|0.2884,0.2884,[72144e]|0.374,0.374,[72144e]|0.4149,0.4149,[72144e]|0.4292,0.4292,[72144e]|0.5098,0.5098,[72144e]|0.4476,0.4476,[72144e]|0.422,0.422,[72144e]|0.4017,0.4017,[72144e]|0.3494,0.3494,[72144e]|0.4087,0.4087,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.82,0.82,[329440]|0.7147,0.7147,[329440]|0.6715,0.6715,[329440]|0.6334,0.6334,[329440]|0.59,0.59,[329440]|0.4513,0.4513,[329440]|0.3263,0.3263,[329440]|0.2963,0.2963,[329440]|0.2657,0.2657,[329440]|0.2292,0.2292,[329440]|0.1998,0.1998,[329440]|0.2209,0.2209,[329440]|0.2865,0.2865,[329440]|0.2122,0.2122,[329440]|0.2041,0.2041,[329440]|0.1667,0.1667,[329440]|0.2602,0.2602,[329440]|0.2558,0.2558,[329440]|0.1844,0.1844,[329440]|0.2483,0.2483,[329440]|0.2292,0.2292,[329440]|0.2657,0.2657,[329440]|0.2748,0.2748,[329440]|0.2748,0.2748,[329440]|0.2865,0.2865,[329440]|0.3762,0.3762,[329440]|0.3847,0.3847,[329440]|0.2786,0.2786,[329440]|0.27,0.27,[329440]|0.1878,0.1878,[329440]|0.1805,0.1805,[329440]|0.1805,0.1805,[329440]|0.1532,0.1532,[329440]|0.2255,0.2255,[329440]|0.1958,0.1958,[329440]|0.2786,0.2786,[329440]|0.2657,0.2657,[329440]|0.2748,0.2748,[329440]|0.3491,0.3491,[329440]|0.2531,0.2531,[329440]|0.3456,0.3456,[329440]|0.3491,0.3491,[329440]|0.3146,0.3146,[329440]|0.282,0.282,[329440]|0.27,0.27,[329440]|0.1998,0.1998,[329440]|0.2558,0.2558,[329440]|0.282,0.282,[329440]|0.2602,0.2602,[329440]|0.2602,0.2602,[329440]|0.1878,0.1878,[329440]|0.1844,0.1844,[329440]|0.2122,0.2122,[329440]|0.2292,0.2292,[329440]|0.2602,0.2602,[329440]|0.2786,0.2786,[329440]|0.282,0.282,[329440]|0.3005,0.3005,[329440]|0.2385,0.2385,[329440]|0.3184,0.3184,[329440]|0.2255,0.2255,[329440]|0.2748,0.2748,[329440]|0.3225,0.3225,[329440]|0.3762,0.3762,[329440]|0.3225,0.3225,[329440]|0.3225,0.3225,[329440]|0.2865,0.2865,[329440]|0.2865,0.2865,[329440]|0.3263,0.3263,[329440]|0.3717,0.3717,[329440]|0.4037,0.4037,[329440]|0.4245,0.4245,[329440]|0.4116,0.4116,[329440]|0.3578,0.3578,[329440]|0.3535,0.3535,[329440]|0.2748,0.2748,[329440]|0.2963,0.2963,[329440]|0.2167,0.2167,[329440]|0.3096,0.3096,[329440]|0.2255,0.2255,[329440]|0.3225,0.3225,[329440]|0.1732,0.1732,[329440]|0.1495,0.1495,[329440]|0.1088,0.1088,[329440]|0.1456,0.1456,[329440]|0.2041,0.2041,[329440]|0.1532,0.1532,[329440]|0.2041,0.2041,[329440]|0.1878,0.1878,[329440]|0.1322,0.1322,[329440]|0.1349,0.1349,[329440]|0.1205,0.1205,[329440]|0.0965,0.0965,[329440]|0.0884,0.0884,[329440]|0.0643,0.0643,[329440]|0.0935,0.0935,[329440]|0.0771,0.0771,[329440]|0.1088,0.1088,[329440]|0.0587,0.0587,[329440]|0.0991,0.0991,[329440]|0.0991,0.0991,[329440]|0.1958,0.1958,[329440]|0.2255,0.2255,[329440]|0.2602,0.2602,[329440]|0.2657,0.2657,[329440]|0.1844,0.1844,[329440]|0.2292,0.2292,[329440]|0.2483,0.2483,[329440]|0.2657,0.2657,[329440]|0.3939,0.3939,[329440]|0.4245,0.4245,[329440]|0.4037,0.4037,[329440]|0.4203,0.4203,[329440]|0.4967,0.4967,[329440]|0.5473,0.5473,[329440]|0.4781,0.4781,[329440]|0.4282,0.4282,[329440]|0.3578,0.3578,[329440]|0.4203,0.4203,[329440]|0.3491,0.3491,[329440]|0.2913,0.2913,[329440]|0.2657,0.2657,[329440]|0.1805,0.1805,[329440]|0.2167,0.2167,[329440]|0.208,0.208,[329440]|0.2963,0.2963,[329440]|0.3806,0.3806,[329440]|0.2963,0.2963,[329440]|0.2255,0.2255,[329440]|0.1456,0.1456,[329440]|0.1635,0.1635,[329440]|0.1766,0.1766,[329440]|0.1698,0.1698,[329440]|0.1349,0.1349,[329440]|0.1532,0.1532,[329440]|0.2292,0.2292,[329440]|0.2483,0.2483,[329440]|0.2432,0.2432,[329440]|0.2041,0.2041,[329440]|0.3005,0.3005,[329440]|0.4037,0.4037,[329440]|0.4749,0.4749,[329440]|0.59,0.59,[329440]|0.5941,0.5941,[329440]|0.6442,0.6442,[329440]|0.6827,0.6827,[329440]|0.7034,0.7034,[329440]|0.8001,0.8001,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   Q93Z60_ARATH
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1671,0.1671,[72144e]|0.2129,0.2129,[72144e]|0.247,0.247,[72144e]|0.1554,0.1554,[72144e]|0.1162,0.1162,[72144e]|0.1449,0.1449,[72144e]|0.1731,0.1731,[72144e]|0.2064,0.2064,[72144e]|0.2436,0.2436,[72144e]|0.2715,0.2715,[72144e]|0.3215,0.3215,[72144e]|0.2752,0.2752,[72144e]|0.2988,0.2988,[72144e]|0.2364,0.2364,[72144e]|0.2328,0.2328,[72144e]|0.2575,0.2575,[72144e]|0.2575,0.2575,[72144e]|0.2918,0.2918,[72144e]|0.2034,0.2034,[72144e]|0.2034,0.2034,[72144e]|0.2817,0.2817,[72144e]|0.3392,0.3392,[72144e]|0.3494,0.3494,[72144e]|0.3426,0.3426,[72144e]|0.2783,0.2783,[72144e]|0.2752,0.2752,[72144e]|0.3426,0.3426,[72144e]|0.2715,0.2715,[72144e]|0.2609,0.2609,[72144e]|0.247,0.247,[72144e]|0.2364,0.2364,[72144e]|0.2364,0.2364,[72144e]|0.1791,0.1791,[72144e]|0.247,0.247,[72144e]|0.2503,0.2503,[72144e]|0.3215,0.3215,[72144e]|0.3215,0.3215,[72144e]|0.2715,0.2715,[72144e]|0.3426,0.3426,[72144e]|0.2817,0.2817,[72144e]|0.3566,0.3566,[72144e]|0.3566,0.3566,[72144e]|0.3529,0.3529,[72144e]|0.2715,0.2715,[72144e]|0.2575,0.2575,[72144e]|0.2064,0.2064,[72144e]|0.2645,0.2645,[72144e]|0.2645,0.2645,[72144e]|0.1942,0.1942,[72144e]|0.2645,0.2645,[72144e]|0.3053,0.3053,[72144e]|0.3286,0.3286,[72144e]|0.3321,0.3321,[72144e]|0.3494,0.3494,[72144e]|0.384,0.384,[72144e]|0.4051,0.4051,[72144e]|0.3494,0.3494,[72144e]|0.3667,0.3667,[72144e]|0.2752,0.2752,[72144e]|0.346,0.346,[72144e]|0.3631,0.3631,[72144e]|0.4051,0.4051,[72144e]|0.3704,0.3704,[72144e]|0.3215,0.3215,[72144e]|0.268,0.268,[72144e]|0.2783,0.2783,[72144e]|0.2988,0.2988,[72144e]|0.3249,0.3249,[72144e]|0.3053,0.3053,[72144e]|0.422,0.422,[72144e]|0.5139,0.5139,[72144e]|0.4801,0.4801,[72144e]|0.4476,0.4476,[72144e]|0.3566,0.3566,[72144e]|0.374,0.374,[72144e]|0.2849,0.2849,[72144e]|0.3087,0.3087,[72144e]|0.2129,0.2129,[72144e]|0.2645,0.2645,[72144e]|0.1583,0.1583,[72144e]|0.247,0.247,[72144e]|0.2002,0.2002,[72144e]|0.1852,0.1852,[72144e]|0.1702,0.1702,[72144e]|0.1399,0.1399,[72144e]|0.2002,0.2002,[72144e]|0.247,0.247,[72144e]|0.2224,0.2224,[72144e]|0.1852,0.1852,[72144e]|0.2094,0.2094,[72144e]|0.2258,0.2258,[72144e]|0.1611,0.1611,[72144e]|0.1092,0.1092,[72144e]|0.1251,0.1251,[72144e]|0.1251,0.1251,[72144e]|0.1759,0.1759,[72144e]|0.1115,0.1115,[72144e]|0.1731,0.1731,[72144e]|0.1501,0.1501,[72144e]|0.2129,0.2129,[72144e]|0.2292,0.2292,[72144e]|0.3249,0.3249,[72144e]|0.3215,0.3215,[72144e]|0.2645,0.2645,[72144e]|0.2002,0.2002,[72144e]|0.2193,0.2193,[72144e]|0.3286,0.3286,[72144e]|0.3249,0.3249,[72144e]|0.3117,0.3117,[72144e]|0.391,0.391,[72144e]|0.4051,0.4051,[72144e]|0.384,0.384,[72144e]|0.3774,0.3774,[72144e]|0.4292,0.4292,[72144e]|0.4901,0.4901,[72144e]|0.4801,0.4801,[72144e]|0.4582,0.4582,[72144e]|0.4409,0.4409,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.82,0.82,[329440]|0.7147,0.7147,[329440]|0.6715,0.6715,[329440]|0.6334,0.6334,[329440]|0.59,0.59,[329440]|0.4513,0.4513,[329440]|0.3263,0.3263,[329440]|0.2963,0.2963,[329440]|0.2657,0.2657,[329440]|0.2292,0.2292,[329440]|0.1998,0.1998,[329440]|0.2209,0.2209,[329440]|0.2865,0.2865,[329440]|0.2122,0.2122,[329440]|0.2041,0.2041,[329440]|0.1667,0.1667,[329440]|0.2602,0.2602,[329440]|0.2558,0.2558,[329440]|0.1844,0.1844,[329440]|0.2483,0.2483,[329440]|0.2292,0.2292,[329440]|0.2657,0.2657,[329440]|0.2748,0.2748,[329440]|0.2748,0.2748,[329440]|0.2865,0.2865,[329440]|0.3762,0.3762,[329440]|0.3847,0.3847,[329440]|0.2786,0.2786,[329440]|0.27,0.27,[329440]|0.1878,0.1878,[329440]|0.1805,0.1805,[329440]|0.1805,0.1805,[329440]|0.1532,0.1532,[329440]|0.2255,0.2255,[329440]|0.1958,0.1958,[329440]|0.2786,0.2786,[329440]|0.2657,0.2657,[329440]|0.2748,0.2748,[329440]|0.3491,0.3491,[329440]|0.2531,0.2531,[329440]|0.3456,0.3456,[329440]|0.3491,0.3491,[329440]|0.3146,0.3146,[329440]|0.282,0.282,[329440]|0.27,0.27,[329440]|0.1998,0.1998,[329440]|0.2558,0.2558,[329440]|0.282,0.282,[329440]|0.2602,0.2602,[329440]|0.2602,0.2602,[329440]|0.1878,0.1878,[329440]|0.1844,0.1844,[329440]|0.2122,0.2122,[329440]|0.2292,0.2292,[329440]|0.2602,0.2602,[329440]|0.2786,0.2786,[329440]|0.282,0.282,[329440]|0.3005,0.3005,[329440]|0.2385,0.2385,[329440]|0.3184,0.3184,[329440]|0.2255,0.2255,[329440]|0.2748,0.2748,[329440]|0.3225,0.3225,[329440]|0.3762,0.3762,[329440]|0.3225,0.3225,[329440]|0.3225,0.3225,[329440]|0.2865,0.2865,[329440]|0.2865,0.2865,[329440]|0.3263,0.3263,[329440]|0.3717,0.3717,[329440]|0.4037,0.4037,[329440]|0.4245,0.4245,[329440]|0.4116,0.4116,[329440]|0.3578,0.3578,[329440]|0.3535,0.3535,[329440]|0.2748,0.2748,[329440]|0.2963,0.2963,[329440]|0.2167,0.2167,[329440]|0.3096,0.3096,[329440]|0.2255,0.2255,[329440]|0.3225,0.3225,[329440]|0.1732,0.1732,[329440]|0.1495,0.1495,[329440]|0.1088,0.1088,[329440]|0.1456,0.1456,[329440]|0.2041,0.2041,[329440]|0.1532,0.1532,[329440]|0.1998,0.1998,[329440]|0.1844,0.1844,[329440]|0.1205,0.1205,[329440]|0.124,0.124,[329440]|0.1088,0.1088,[329440]|0.0858,0.0858,[329440]|0.0789,0.0789,[329440]|0.0607,0.0607,[329440]|0.0858,0.0858,[329440]|0.0701,0.0701,[329440]|0.1018,0.1018,[329440]|0.0567,0.0567,[329440]|0.0935,0.0935,[329440]|0.0965,0.0965,[329440]|0.1921,0.1921,[329440]|0.2167,0.2167,[329440]|0.2558,0.2558,[329440]|0.2602,0.2602,[329440]|0.1921,0.1921,[329440]|0.2602,0.2602,[329440]|0.2786,0.2786,[329440]|0.2913,0.2913,[329440]|0.4556,0.4556,[329440]|0.5331,0.5331,[329440]|0.5802,0.5802,[329440]|0.6412,0.6412,[329440]|0.7232,0.7232,[329440]|0.8074,0.8074,[329440]|0.8457,0.8457,[329440]|0.8823,0.8823,[329440]|0.9141,0.9141,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_ARATH
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1583,0.1583,[72144e]|0.2034,0.2034,[72144e]|0.2364,0.2364,[72144e]|0.1476,0.1476,[72144e]|0.1048,0.1048,[72144e]|0.1349,0.1349,[72144e]|0.1643,0.1643,[72144e]|0.1881,0.1881,[72144e]|0.247,0.247,[72144e]|0.2399,0.2399,[72144e]|0.2951,0.2951,[72144e]|0.2503,0.2503,[72144e]|0.2783,0.2783,[72144e]|0.2129,0.2129,[72144e]|0.2094,0.2094,[72144e]|0.2364,0.2364,[72144e]|0.2328,0.2328,[72144e]|0.2715,0.2715,[72144e]|0.2715,0.2715,[72144e]|0.2715,0.2715,[72144e]|0.346,0.346,[72144e]|0.4051,0.4051,[72144e]|0.4149,0.4149,[72144e]|0.4087,0.4087,[72144e]|0.3392,0.3392,[72144e]|0.3392,0.3392,[72144e]|0.4087,0.4087,[72144e]|0.3321,0.3321,[72144e]|0.3215,0.3215,[72144e]|0.3215,0.3215,[72144e]|0.2884,0.2884,[72144e]|0.3215,0.3215,[72144e]|0.2609,0.2609,[72144e]|0.3321,0.3321,[72144e]|0.3356,0.3356,[72144e]|0.4051,0.4051,[72144e]|0.4017,0.4017,[72144e]|0.3494,0.3494,[72144e]|0.4292,0.4292,[72144e]|0.3667,0.3667,[72144e]|0.346,0.346,[72144e]|0.3494,0.3494,[72144e]|0.346,0.346,[72144e]|0.268,0.268,[72144e]|0.247,0.247,[72144e]|0.1969,0.1969,[72144e]|0.2541,0.2541,[72144e]|0.2541,0.2541,[72144e]|0.1881,0.1881,[72144e]|0.2609,0.2609,[72144e]|0.3019,0.3019,[72144e]|0.3249,0.3249,[72144e]|0.3249,0.3249,[72144e]|0.346,0.346,[72144e]|0.3053,0.3053,[72144e]|0.3249,0.3249,[72144e]|0.2715,0.2715,[72144e]|0.2951,0.2951,[72144e]|0.2034,0.2034,[72144e]|0.2715,0.2715,[72144e]|0.2817,0.2817,[72144e]|0.3249,0.3249,[72144e]|0.2951,0.2951,[72144e]|0.247,0.247,[72144e]|0.1942,0.1942,[72144e]|0.2002,0.2002,[72144e]|0.2224,0.2224,[72144e]|0.2503,0.2503,[72144e]|0.2328,0.2328,[72144e]|0.346,0.346,[72144e]|0.4409,0.4409,[72144e]|0.4087,0.4087,[72144e]|0.3774,0.3774,[72144e]|0.2849,0.2849,[72144e]|0.2988,0.2988,[72144e]|0.2064,0.2064,[72144e]|0.3087,0.3087,[72144e]|0.2094,0.2094,[72144e]|0.2645,0.2645,[72144e]|0.1554,0.1554,[72144e]|0.2399,0.2399,[72144e]|0.1969,0.1969,[72144e]|0.1852,0.1852,[72144e]|0.1702,0.1702,[72144e]|0.1399,0.1399,[72144e]|0.2002,0.2002,[72144e]|0.2503,0.2503,[72144e]|0.2258,0.2258,[72144e]|0.1881,0.1881,[72144e]|0.2129,0.2129,[72144e]|0.2292,0.2292,[72144e]|0.1611,0.1611,[72144e]|0.107,0.107,[72144e]|0.1251,0.1251,[72144e]|0.1229,0.1229,[72144e]|0.1759,0.1759,[72144e]|0.1229,0.1229,[72144e]|0.1914,0.1914,[72144e]|0.1702,0.1702,[72144e]|0.2364,0.2364,[72144e]|0.2503,0.2503,[72144e]|0.3529,0.3529,[72144e]|0.3494,0.3494,[72144e]|0.2884,0.2884,[72144e]|0.2258,0.2258,[72144e]|0.2436,0.2436,[72144e]|0.3529,0.3529,[72144e]|0.3774,0.3774,[72144e]|0.3872,0.3872,[72144e]|0.4119,0.4119,[72144e]|0.4369,0.4369,[72144e]|0.4619,0.4619,[72144e]|0.4725,0.4725,[72144e]|0.433,0.433,[72144e]|0.4369,0.4369,[72144e]|0.374,0.374,[72144e]|0.3774,0.3774,[72144e]|0.2817,0.2817,[72144e]|0.3087,0.3087,[72144e]|0.2715,0.2715,[72144e]|0.1942,0.1942,[72144e]|0.2292,0.2292,[72144e]|0.2164,0.2164,[72144e]|0.2064,0.2064,[72144e]|0.2224,0.2224,[72144e]|0.2609,0.2609,[72144e]|0.3249,0.3249,[72144e]|0.2436,0.2436,[72144e]|0.2503,0.2503,[72144e]|0.2328,0.2328,[72144e]|0.2193,0.2193,[72144e]|0.2715,0.2715,[72144e]|0.2951,0.2951,[72144e]|0.2988,0.2988,[72144e]|0.3149,0.3149,[72144e]|0.3392,0.3392,[72144e]|0.3356,0.3356,[72144e]|0.3948,0.3948,[72144e]|0.3774,0.3774,[72144e]|0.4725,0.4725,[72144e]|0.4864,0.4864,[72144e]|0.5055,0.5055,[72144e]|0.6043,0.6043,[72144e]|0.5296,0.5296,[72144e]|0.5098,0.5098,[72144e]|0.4979,0.4979,[72144e]|0.4507,0.4507,[72144e]|0.5296,0.5296,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8242,0.8242,[329440]|0.7275,0.7275,[329440]|0.6906,0.6906,[329440]|0.6516,0.6516,[329440]|0.6124,0.6124,[329440]|0.4781,0.4781,[329440]|0.3535,0.3535,[329440]|0.3225,0.3225,[329440]|0.2913,0.2913,[329440]|0.2432,0.2432,[329440]|0.2292,0.2292,[329440]|0.2209,0.2209,[329440]|0.2913,0.2913,[329440]|0.2167,0.2167,[329440]|0.208,0.208,[329440]|0.1766,0.1766,[329440]|0.2657,0.2657,[329440]|0.2657,0.2657,[329440]|0.1958,0.1958,[329440]|0.2558,0.2558,[329440]|0.3184,0.3184,[329440]|0.3456,0.3456,[329440]|0.3456,0.3456,[329440]|0.3399,0.3399,[329440]|0.3578,0.3578,[329440]|0.4458,0.4458,[329440]|0.46,0.46,[329440]|0.3578,0.3578,[329440]|0.3456,0.3456,[329440]|0.2786,0.2786,[329440]|0.2558,0.2558,[329440]|0.2913,0.2913,[329440]|0.2602,0.2602,[329440]|0.3399,0.3399,[329440]|0.3096,0.3096,[329440]|0.3885,0.3885,[329440]|0.3717,0.3717,[329440]|0.3762,0.3762,[329440]|0.4556,0.4556,[329440]|0.363,0.363,[329440]|0.3668,0.3668,[329440]|0.3668,0.3668,[329440]|0.3359,0.3359,[329440]|0.3005,0.3005,[329440]|0.282,0.282,[329440]|0.208,0.208,[329440]|0.2602,0.2602,[329440]|0.282,0.282,[329440]|0.2602,0.2602,[329440]|0.2483,0.2483,[329440]|0.1732,0.1732,[329440]|0.1698,0.1698,[329440]|0.1998,0.1998,[329440]|0.2122,0.2122,[329440]|0.2432,0.2432,[329440]|0.2602,0.2602,[329440]|0.1878,0.1878,[329440]|0.208,0.208,[329440]|0.1532,0.1532,[329440]|0.2209,0.2209,[329440]|0.1456,0.1456,[329440]|0.1844,0.1844,[329440]|0.2255,0.2255,[329440]|0.2748,0.2748,[329440]|0.2209,0.2209,[329440]|0.2255,0.2255,[329440]|0.1878,0.1878,[329440]|0.1844,0.1844,[329440]|0.2167,0.2167,[329440]|0.2657,0.2657,[329440]|0.3005,0.3005,[329440]|0.3225,0.3225,[329440]|0.3096,0.3096,[329440]|0.2483,0.2483,[329440]|0.2483,0.2483,[329440]|0.1698,0.1698,[329440]|0.2602,0.2602,[329440]|0.1805,0.1805,[329440]|0.27,0.27,[329440]|0.1878,0.1878,[329440]|0.2786,0.2786,[329440]|0.138,0.138,[329440]|0.1205,0.1205,[329440]|0.0884,0.0884,[329440]|0.1178,0.1178,[329440]|0.1732,0.1732,[329440]|0.1292,0.1292,[329440]|0.1805,0.1805,[329440]|0.1698,0.1698,[329440]|0.1178,0.1178,[329440]|0.124,0.124,[329440]|0.1088,0.1088,[329440]|0.0858,0.0858,[329440]|0.0771,0.0771,[329440]|0.0554,0.0554,[329440]|0.0832,0.0832,[329440]|0.0677,0.0677,[329440]|0.1018,0.1018,[329440]|0.0554,0.0554,[329440]|0.0965,0.0965,[329440]|0.0965,0.0965,[329440]|0.1921,0.1921,[329440]|0.2167,0.2167,[329440]|0.2558,0.2558,[329440]|0.2602,0.2602,[329440]|0.1844,0.1844,[329440]|0.2333,0.2333,[329440]|0.2531,0.2531,[329440]|0.2657,0.2657,[329440]|0.3992,0.3992,[329440]|0.4333,0.4333,[329440]|0.3762,0.3762,[329440]|0.3992,0.3992,[329440]|0.4781,0.4781,[329440]|0.5374,0.5374,[329440]|0.4651,0.4651,[329440]|0.4203,0.4203,[329440]|0.3535,0.3535,[329440]|0.4078,0.4078,[329440]|0.3311,0.3311,[329440]|0.3096,0.3096,[329440]|0.2865,0.2865,[329440]|0.208,0.208,[329440]|0.2531,0.2531,[329440]|0.2483,0.2483,[329440]|0.3263,0.3263,[329440]|0.4078,0.4078,[329440]|0.3225,0.3225,[329440]|0.3005,0.3005,[329440]|0.2041,0.2041,[329440]|0.2255,0.2255,[329440]|0.2748,0.2748,[329440]|0.2602,0.2602,[329440]|0.208,0.208,[329440]|0.2292,0.2292,[329440]|0.3263,0.3263,[329440]|0.3885,0.3885,[329440]|0.3939,0.3939,[329440]|0.3456,0.3456,[329440]|0.4458,0.4458,[329440]|0.5173,0.5173,[329440]|0.5802,0.5802,[329440]|0.6789,0.6789,[329440]|0.6789,0.6789,[329440]|0.7275,0.7275,[329440]|0.7644,0.7644,[329440]|0.7912,0.7912,[329440]|0.8823,0.8823,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER_BRANA
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1969,0.1969,[72144e]|0.2783,0.2783,[72144e]|0.3182,0.3182,[72144e]|0.384,0.384,[72144e]|0.3321,0.3321,[72144e]|0.3872,0.3872,[72144e]|0.2752,0.2752,[72144e]|0.3182,0.3182,[72144e]|0.3599,0.3599,[72144e]|0.3948,0.3948,[72144e]|0.3566,0.3566,[72144e]|0.3149,0.3149,[72144e]|0.2609,0.2609,[72144e]|0.268,0.268,[72144e]|0.3053,0.3053,[72144e]|0.3321,0.3321,[72144e]|0.3249,0.3249,[72144e]|0.4476,0.4476,[72144e]|0.5456,0.5456,[72144e]|0.5098,0.5098,[72144e]|0.4766,0.4766,[72144e]|0.384,0.384,[72144e]|0.4017,0.4017,[72144e]|0.3087,0.3087,[72144e]|0.3321,0.3321,[72144e]|0.2399,0.2399,[72144e]|0.2918,0.2918,[72144e]|0.1643,0.1643,[72144e]|0.2541,0.2541,[72144e]|0.2094,0.2094,[72144e]|0.1942,0.1942,[72144e]|0.1759,0.1759,[72144e]|0.1323,0.1323,[72144e]|0.1852,0.1852,[72144e]|0.2292,0.2292,[72144e]|0.1914,0.1914,[72144e]|0.1528,0.1528,[72144e]|0.1759,0.1759,[72144e]|0.1791,0.1791,[72144e]|0.1206,0.1206,[72144e]|0.0765,0.0765,[72144e]|0.0888,0.0888,[72144e]|0.0888,0.0888,[72144e]|0.0749,0.0749,[72144e]|0.0473,0.0473,[72144e]|0.0817,0.0817,[72144e]|0.0704,0.0704,[72144e]|0.1048,0.1048,[72144e]|0.1162,0.1162,[72144e]|0.2258,0.2258,[72144e]|0.2364,0.2364,[72144e]|0.1731,0.1731,[72144e]|0.1251,0.1251,[72144e]|0.1399,0.1399,[72144e]|0.2503,0.2503,[72144e]|0.2715,0.2715,[72144e]|0.2783,0.2783,[72144e]|0.3215,0.3215,[72144e]|0.3215,0.3215,[72144e]|0.346,0.346,[72144e]|0.3667,0.3667,[72144e]|0.3249,0.3249,[72144e]|0.3249,0.3249,[72144e]|0.2645,0.2645,[72144e]|0.268,0.268,[72144e]|0.2541,0.2541,[72144e]|0.2817,0.2817,[72144e]|0.2399,0.2399,[72144e]|0.1702,0.1702,[72144e]|0.2034,0.2034,[72144e]|0.1914,0.1914,[72144e]|0.1643,0.1643,[72144e]|0.1823,0.1823,[72144e]|0.2164,0.2164,[72144e]|0.2849,0.2849,[72144e]|0.2002,0.2002,[72144e]|0.2064,0.2064,[72144e]|0.1942,0.1942,[72144e]|0.1823,0.1823,[72144e]|0.2224,0.2224,[72144e]|0.2752,0.2752,[72144e]|0.2752,0.2752,[72144e]|0.2988,0.2988,[72144e]|0.3249,0.3249,[72144e]|0.3249,0.3249,[72144e]|0.3872,0.3872,[72144e]|0.3667,0.3667,[72144e]|0.4685,0.4685,[72144e]|0.4864,0.4864,[72144e]|0.5017,0.5017,[72144e]|0.5951,0.5951,[72144e]|0.5296,0.5296,[72144e]|0.5055,0.5055,[72144e]|0.494,0.494,[72144e]|0.4441,0.4441,[72144e]|0.5254,0.5254,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.7605,0.7605,[329440]|0.7458,0.7458,[329440]|0.7079,0.7079,[329440]|0.6906,0.6906,[329440]|0.6557,0.6557,[329440]|0.6412,0.6412,[329440]|0.5374,0.5374,[329440]|0.5173,0.5173,[329440]|0.3806,0.3806,[329440]|0.3578,0.3578,[329440]|0.3311,0.3311,[329440]|0.3885,0.3885,[329440]|0.3456,0.3456,[329440]|0.3456,0.3456,[329440]|0.3225,0.3225,[329440]|0.3225,0.3225,[329440]|0.3806,0.3806,[329440]|0.4116,0.4116,[329440]|0.4379,0.4379,[329440]|0.4651,0.4651,[329440]|0.4458,0.4458,[329440]|0.3806,0.3806,[329440]|0.3762,0.3762,[329440]|0.2913,0.2913,[329440]|0.3096,0.3096,[329440]|0.2167,0.2167,[329440]|0.3146,0.3146,[329440]|0.2255,0.2255,[329440]|0.3184,0.3184,[329440]|0.1698,0.1698,[329440]|0.138,0.138,[329440]|0.1018,0.1018,[329440]|0.1322,0.1322,[329440]|0.1805,0.1805,[329440]|0.1322,0.1322,[329440]|0.1805,0.1805,[329440]|0.1667,0.1667,[329440]|0.1117,0.1117,[329440]|0.115,0.115,[329440]|0.1018,0.1018,[329440]|0.0771,0.0771,[329440]|0.066,0.066,[329440]|0.0478,0.0478,[329440]|0.0677,0.0677,[329440]|0.0554,0.0554,[329440]|0.0478,0.0478,[329440]|0.0268,0.0268,[329440]|0.0441,0.0441,[329440]|0.0455,0.0455,[329440]|0.1018,0.1018,[329440]|0.124,0.124,[329440]|0.1667,0.1667,[329440]|0.1698,0.1698,[329440]|0.1088,0.1088,[329440]|0.138,0.138,[329440]|0.1532,0.1532,[329440]|0.1667,0.1667,[329440]|0.2786,0.2786,[329440]|0.3184,0.3184,[329440]|0.2602,0.2602,[329440]|0.2558,0.2558,[329440]|0.3399,0.3399,[329440]|0.4078,0.4078,[329440]|0.3263,0.3263,[329440]|0.2786,0.2786,[329440]|0.2913,0.2913,[329440]|0.3491,0.3491,[329440]|0.27,0.27,[329440]|0.2432,0.2432,[329440]|0.2209,0.2209,[329440]|0.1532,0.1532,[329440]|0.1732,0.1732,[329440]|0.1698,0.1698,[329440]|0.2483,0.2483,[329440]|0.3311,0.3311,[329440]|0.2483,0.2483,[329440]|0.2292,0.2292,[329440]|0.1495,0.1495,[329440]|0.1698,0.1698,[329440]|0.2122,0.2122,[329440]|0.2292,0.2292,[329440]|0.1805,0.1805,[329440]|0.1998,0.1998,[329440]|0.3053,0.3053,[329440]|0.3806,0.3806,[329440]|0.3939,0.3939,[329440]|0.3399,0.3399,[329440]|0.4513,0.4513,[329440]|0.5173,0.5173,[329440]|0.5846,0.5846,[329440]|0.6827,0.6827,[329440]|0.6827,0.6827,[329440]|0.7317,0.7317,[329440]|0.7688,0.7688,[329440]|0.7951,0.7951,[329440]|0.8857,0.8857,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER3_RAPSA
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.2224,0.2224,[72144e]|0.3053,0.3053,[72144e]|0.346,0.346,[72144e]|0.4087,0.4087,[72144e]|0.3599,0.3599,[72144e]|0.4149,0.4149,[72144e]|0.2988,0.2988,[72144e]|0.3426,0.3426,[72144e]|0.384,0.384,[72144e]|0.4186,0.4186,[72144e]|0.384,0.384,[72144e]|0.3426,0.3426,[72144e]|0.2918,0.2918,[72144e]|0.2988,0.2988,[72144e]|0.3356,0.3356,[72144e]|0.3599,0.3599,[72144e]|0.3529,0.3529,[72144e]|0.4685,0.4685,[72144e]|0.5665,0.5665,[72144e]|0.5342,0.5342,[72144e]|0.4979,0.4979,[72144e]|0.4087,0.4087,[72144e]|0.4256,0.4256,[72144e]|0.3356,0.3356,[72144e]|0.3599,0.3599,[72144e]|0.268,0.268,[72144e]|0.3182,0.3182,[72144e]|0.1881,0.1881,[72144e]|0.2849,0.2849,[72144e]|0.2399,0.2399,[72144e]|0.2224,0.2224,[72144e]|0.2034,0.2034,[72144e]|0.1528,0.1528,[72144e]|0.2094,0.2094,[72144e]|0.2575,0.2575,[72144e]|0.2129,0.2129,[72144e]|0.1759,0.1759,[72144e]|0.1969,0.1969,[72144e]|0.2034,0.2034,[72144e]|0.1424,0.1424,[72144e]|0.0929,0.0929,[72144e]|0.107,0.107,[72144e]|0.107,0.107,[72144e]|0.1501,0.1501,[72144e]|0.1028,0.1028,[72144e]|0.1611,0.1611,[72144e]|0.1399,0.1399,[72144e]|0.1942,0.1942,[72144e]|0.2129,0.2129,[72144e]|0.3249,0.3249,[72144e]|0.3321,0.3321,[72144e]|0.2715,0.2715,[72144e]|0.2094,0.2094,[72144e]|0.2258,0.2258,[72144e]|0.3529,0.3529,[72144e]|0.374,0.374,[72144e]|0.3807,0.3807,[72144e]|0.4256,0.4256,[72144e]|0.4256,0.4256,[72144e]|0.4507,0.4507,[72144e]|0.4685,0.4685,[72144e]|0.4256,0.4256,[72144e]|0.4292,0.4292,[72144e]|0.3667,0.3667,[72144e]|0.3704,0.3704,[72144e]|0.2645,0.2645,[72144e]|0.2918,0.2918,[72144e]|0.2503,0.2503,[72144e]|0.1823,0.1823,[72144e]|0.2129,0.2129,[72144e]|0.2002,0.2002,[72144e]|0.1914,0.1914,[72144e]|0.2094,0.2094,[72144e]|0.247,0.247,[72144e]|0.3117,0.3117,[72144e]|0.2292,0.2292,[72144e]|0.2328,0.2328,[72144e]|0.2193,0.2193,[72144e]|0.2064,0.2064,[72144e]|0.2609,0.2609,[72144e]|0.3087,0.3087,[72144e]|0.3087,0.3087,[72144e]|0.3286,0.3286,[72144e]|0.3983,0.3983,[72144e]|0.3948,0.3948,[72144e]|0.4541,0.4541,[72144e]|0.4369,0.4369,[72144e]|0.5533,0.5533,[72144e]|0.5758,0.5758,[72144e]|0.5992,0.5992,[72144e]|0.708,0.708,[72144e]|0.6375,0.6375,[72144e]|0.6227,0.6227,[72144e]|0.6136,0.6136,[72144e]|0.5577,0.5577,[72144e]|0.6661,0.6661,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.7605,0.7605,[329440]|0.7458,0.7458,[329440]|0.7079,0.7079,[329440]|0.6906,0.6906,[329440]|0.6557,0.6557,[329440]|0.6412,0.6412,[329440]|0.5374,0.5374,[329440]|0.5173,0.5173,[329440]|0.3806,0.3806,[329440]|0.3578,0.3578,[329440]|0.3311,0.3311,[329440]|0.3885,0.3885,[329440]|0.3456,0.3456,[329440]|0.3456,0.3456,[329440]|0.3225,0.3225,[329440]|0.3225,0.3225,[329440]|0.3806,0.3806,[329440]|0.4116,0.4116,[329440]|0.4379,0.4379,[329440]|0.4651,0.4651,[329440]|0.4458,0.4458,[329440]|0.3806,0.3806,[329440]|0.3806,0.3806,[329440]|0.2963,0.2963,[329440]|0.3184,0.3184,[329440]|0.2292,0.2292,[329440]|0.3225,0.3225,[329440]|0.2385,0.2385,[329440]|0.3359,0.3359,[329440]|0.1844,0.1844,[329440]|0.1566,0.1566,[329440]|0.115,0.115,[329440]|0.1495,0.1495,[329440]|0.2041,0.2041,[329440]|0.1532,0.1532,[329440]|0.2041,0.2041,[329440]|0.1878,0.1878,[329440]|0.1322,0.1322,[329440]|0.1349,0.1349,[329440]|0.1205,0.1205,[329440]|0.0965,0.0965,[329440]|0.0832,0.0832,[329440]|0.0607,0.0607,[329440]|0.0858,0.0858,[329440]|0.0701,0.0701,[329440]|0.1018,0.1018,[329440]|0.0554,0.0554,[329440]|0.0909,0.0909,[329440]|0.0909,0.0909,[329440]|0.1844,0.1844,[329440]|0.208,0.208,[329440]|0.2483,0.2483,[329440]|0.2531,0.2531,[329440]|0.1732,0.1732,[329440]|0.2167,0.2167,[329440]|0.2333,0.2333,[329440]|0.2483,0.2483,[329440]|0.3717,0.3717,[329440]|0.4078,0.4078,[329440]|0.3535,0.3535,[329440]|0.3456,0.3456,[329440]|0.4282,0.4282,[329440]|0.4879,0.4879,[329440]|0.4116,0.4116,[329440]|0.3668,0.3668,[329440]|0.3005,0.3005,[329440]|0.3578,0.3578,[329440]|0.282,0.282,[329440]|0.2558,0.2558,[329440]|0.2385,0.2385,[329440]|0.1667,0.1667,[329440]|0.2041,0.2041,[329440]|0.1998,0.1998,[329440]|0.282,0.282,[329440]|0.363,0.363,[329440]|0.282,0.282,[329440]|0.2602,0.2602,[329440]|0.1766,0.1766,[329440]|0.1998,0.1998,[329440]|0.2483,0.2483,[329440]|0.2657,0.2657,[329440]|0.2255,0.2255,[329440]|0.2531,0.2531,[329440]|0.3491,0.3491,[329440]|0.4116,0.4116,[329440]|0.4458,0.4458,[329440]|0.3992,0.3992,[329440]|0.5008,0.5008,[329440]|0.5623,0.5623,[329440]|0.6293,0.6293,[329440]|0.7275,0.7275,[329440]|0.7275,0.7275,[329440]|0.7724,0.7724,[329440]|0.8118,0.8118,[329440]|0.8391,0.8391,[329440]|0.9141,0.9141,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_MAIZE
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.422,0.422,[72144e]|0.2918,0.2918,[72144e]|0.1852,0.1852,[72144e]|0.1115,0.1115,[72144e]|0.1373,0.1373,[72144e]|0.1643,0.1643,[72144e]|0.1914,0.1914,[72144e]|0.2193,0.2193,[72144e]|0.1731,0.1731,[72144e]|0.2002,0.2002,[72144e]|0.1969,0.1969,[72144e]|0.1969,0.1969,[72144e]|0.2575,0.2575,[72144e]|0.2193,0.2193,[72144e]|0.3087,0.3087,[72144e]|0.384,0.384,[72144e]|0.3566,0.3566,[72144e]|0.3019,0.3019,[72144e]|0.2436,0.2436,[72144e]|0.1731,0.1731,[72144e]|0.2292,0.2292,[72144e]|0.1759,0.1759,[72144e]|0.1759,0.1759,[72144e]|0.2575,0.2575,[72144e]|0.2918,0.2918,[72144e]|0.384,0.384,[72144e]|0.3117,0.3117,[72144e]|0.2817,0.2817,[72144e]|0.2849,0.2849,[72144e]|0.2849,0.2849,[72144e]|0.3529,0.3529,[72144e]|0.3215,0.3215,[72144e]|0.3494,0.3494,[72144e]|0.374,0.374,[72144e]|0.3426,0.3426,[72144e]|0.374,0.374,[72144e]|0.3426,0.3426,[72144e]|0.268,0.268,[72144e]|0.2951,0.2951,[72144e]|0.3249,0.3249,[72144e]|0.3631,0.3631,[72144e]|0.4087,0.4087,[72144e]|0.384,0.384,[72144e]|0.3321,0.3321,[72144e]|0.3704,0.3704,[72144e]|0.3215,0.3215,[72144e]|0.3704,0.3704,[72144e]|0.3019,0.3019,[72144e]|0.3053,0.3053,[72144e]|0.3392,0.3392,[72144e]|0.3704,0.3704,[72144e]|0.3872,0.3872,[72144e]|0.391,0.391,[72144e]|0.4409,0.4409,[72144e]|0.3872,0.3872,[72144e]|0.4087,0.4087,[72144e]|0.3392,0.3392,[72144e]|0.3494,0.3494,[72144e]|0.2951,0.2951,[72144e]|0.3948,0.3948,[72144e]|0.4119,0.4119,[72144e]|0.4582,0.4582,[72144e]|0.391,0.391,[72144e]|0.3426,0.3426,[72144e]|0.2645,0.2645,[72144e]|0.2783,0.2783,[72144e]|0.2849,0.2849,[72144e]|0.3494,0.3494,[72144e]|0.3286,0.3286,[72144e]|0.4149,0.4149,[72144e]|0.5139,0.5139,[72144e]|0.5296,0.5296,[72144e]|0.494,0.494,[72144e]|0.3983,0.3983,[72144e]|0.4119,0.4119,[72144e]|0.3215,0.3215,[72144e]|0.4087,0.4087,[72144e]|0.3087,0.3087,[72144e]|0.3774,0.3774,[72144e]|0.2817,0.2817,[72144e]|0.3356,0.3356,[72144e]|0.2817,0.2817,[72144e]|0.2645,0.2645,[72144e]|0.247,0.247,[72144e]|0.2164,0.2164,[72144e]|0.2918,0.2918,[72144e]|0.3631,0.3631,[72144e]|0.346,0.346,[72144e]|0.3019,0.3019,[72144e]|0.2951,0.2951,[72144e]|0.3117,0.3117,[72144e]|0.2399,0.2399,[72144e]|0.1702,0.1702,[72144e]|0.1554,0.1554,[72144e]|0.1554,0.1554,[72144e]|0.2193,0.2193,[72144e]|0.1554,0.1554,[72144e]|0.2364,0.2364,[72144e]|0.2129,0.2129,[72144e]|0.2918,0.2918,[72144e]|0.3087,0.3087,[72144e]|0.4017,0.4017,[72144e]|0.4017,0.4017,[72144e]|0.3566,0.3566,[72144e]|0.2884,0.2884,[72144e]|0.3087,0.3087,[72144e]|0.4119,0.4119,[72144e]|0.4119,0.4119,[72144e]|0.422,0.422,[72144e]|0.4369,0.4369,[72144e]|0.4409,0.4409,[72144e]|0.4541,0.4541,[72144e]|0.4619,0.4619,[72144e]|0.4409,0.4409,[72144e]|0.4441,0.4441,[72144e]|0.374,0.374,[72144e]|0.3774,0.3774,[72144e]|0.2918,0.2918,[72144e]|0.3494,0.3494,[72144e]|0.3087,0.3087,[72144e]|0.2328,0.2328,[72144e]|0.268,0.268,[72144e]|0.2541,0.2541,[72144e]|0.247,0.247,[72144e]|0.2645,0.2645,[72144e]|0.2849,0.2849,[72144e]|0.3053,0.3053,[72144e]|0.2193,0.2193,[72144e]|0.2224,0.2224,[72144e]|0.2224,0.2224,[72144e]|0.2164,0.2164,[72144e]|0.2752,0.2752,[72144e]|0.3149,0.3149,[72144e]|0.3149,0.3149,[72144e]|0.3356,0.3356,[72144e]|0.346,0.346,[72144e]|0.4017,0.4017,[72144e]|0.4685,0.4685,[72144e]|0.4409,0.4409,[72144e]|0.5296,0.5296,[72144e]|0.5139,0.5139,[72144e]|0.5296,0.5296,[72144e]|0.6136,0.6136,[72144e]|0.5493,0.5493,[72144e]|0.5296,0.5296,[72144e]|0.5139,0.5139,[72144e]|0.4685,0.4685,[72144e]|0.5342,0.5342,[72144e]|0.6136,0.6136,[72144e]|0.7547,0.7547,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.865,0.865,[329440]|0.8488,0.8488,[329440]|0.7724,0.7724,[329440]|0.6557,0.6557,[329440]|0.5253,0.5253,[329440]|0.3847,0.3847,[329440]|0.3399,0.3399,[329440]|0.2913,0.2913,[329440]|0.2432,0.2432,[329440]|0.1958,0.1958,[329440]|0.106,0.106,[329440]|0.1456,0.1456,[329440]|0.1456,0.1456,[329440]|0.115,0.115,[329440]|0.1844,0.1844,[329440]|0.2122,0.2122,[329440]|0.2333,0.2333,[329440]|0.2531,0.2531,[329440]|0.1998,0.1998,[329440]|0.1322,0.1322,[329440]|0.1456,0.1456,[329440]|0.0858,0.0858,[329440]|0.1266,0.1266,[329440]|0.1667,0.1667,[329440]|0.2122,0.2122,[329440]|0.3225,0.3225,[329440]|0.2483,0.2483,[329440]|0.2483,0.2483,[329440]|0.1766,0.1766,[329440]|0.1602,0.1602,[329440]|0.2255,0.2255,[329440]|0.2209,0.2209,[329440]|0.2558,0.2558,[329440]|0.2657,0.2657,[329440]|0.2432,0.2432,[329440]|0.2865,0.2865,[329440]|0.27,0.27,[329440]|0.2748,0.2748,[329440]|0.3146,0.3146,[329440]|0.3184,0.3184,[329440]|0.3491,0.3491,[329440]|0.3847,0.3847,[329440]|0.3668,0.3668,[329440]|0.363,0.363,[329440]|0.4037,0.4037,[329440]|0.3184,0.3184,[329440]|0.4037,0.4037,[329440]|0.3359,0.3359,[329440]|0.4116,0.4116,[329440]|0.3717,0.3717,[329440]|0.3005,0.3005,[329440]|0.2865,0.2865,[329440]|0.3263,0.3263,[329440]|0.3668,0.3668,[329440]|0.3717,0.3717,[329440]|0.3806,0.3806,[329440]|0.3053,0.3053,[329440]|0.3146,0.3146,[329440]|0.2292,0.2292,[329440]|0.3096,0.3096,[329440]|0.2432,0.2432,[329440]|0.3146,0.3146,[329440]|0.3225,0.3225,[329440]|0.3806,0.3806,[329440]|0.3184,0.3184,[329440]|0.3311,0.3311,[329440]|0.2657,0.2657,[329440]|0.2657,0.2657,[329440]|0.2913,0.2913,[329440]|0.3578,0.3578,[329440]|0.3939,0.3939,[329440]|0.4116,0.4116,[329440]|0.3885,0.3885,[329440]|0.4037,0.4037,[329440]|0.3939,0.3939,[329440]|0.3184,0.3184,[329440]|0.4116,0.4116,[329440]|0.3263,0.3263,[329440]|0.4379,0.4379,[329440]|0.363,0.363,[329440]|0.4282,0.4282,[329440]|0.2865,0.2865,[329440]|0.2602,0.2602,[329440]|0.2041,0.2041,[329440]|0.2558,0.2558,[329440]|0.3225,0.3225,[329440]|0.2748,0.2748,[329440]|0.3399,0.3399,[329440]|0.3225,0.3225,[329440]|0.2122,0.2122,[329440]|0.2209,0.2209,[329440]|0.1998,0.1998,[329440]|0.1698,0.1698,[329440]|0.1178,0.1178,[329440]|0.0909,0.0909,[329440]|0.1292,0.1292,[329440]|0.106,0.106,[329440]|0.1532,0.1532,[329440]|0.0935,0.0935,[329440]|0.138,0.138,[329440]|0.138,0.138,[329440]|0.2292,0.2292,[329440]|0.2531,0.2531,[329440]|0.2865,0.2865,[329440]|0.2865,0.2865,[329440]|0.2122,0.2122,[329440]|0.2558,0.2558,[329440]|0.27,0.27,[329440]|0.2786,0.2786,[329440]|0.3847,0.3847,[329440]|0.4203,0.4203,[329440]|0.363,0.363,[329440]|0.3535,0.3535,[329440]|0.4149,0.4149,[329440]|0.4703,0.4703,[329440]|0.3939,0.3939,[329440]|0.3535,0.3535,[329440]|0.2865,0.2865,[329440]|0.3359,0.3359,[329440]|0.2602,0.2602,[329440]|0.2558,0.2558,[329440]|0.2333,0.2333,[329440]|0.1635,0.1635,[329440]|0.1958,0.1958,[329440]|0.1878,0.1878,[329440]|0.2657,0.2657,[329440]|0.3456,0.3456,[329440]|0.2748,0.2748,[329440]|0.2167,0.2167,[329440]|0.1602,0.1602,[329440]|0.1766,0.1766,[329440]|0.2255,0.2255,[329440]|0.2333,0.2333,[329440]|0.1998,0.1998,[329440]|0.2209,0.2209,[329440]|0.3184,0.3184,[329440]|0.3847,0.3847,[329440]|0.3847,0.3847,[329440]|0.3847,0.3847,[329440]|0.4513,0.4513,[329440]|0.4282,0.4282,[329440]|0.4967,0.4967,[329440]|0.6079,0.6079,[329440]|0.6124,0.6124,[329440]|0.6604,0.6604,[329440]|0.6944,0.6944,[329440]|0.7232,0.7232,[329440]|0.8118,0.8118,[329440]|0.8857,0.8857,[329440]|0.9491,0.9491,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   O80429_MAIZE
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1007,0.1007,[72144e]|0.1028,0.1028,[72144e]|0.1731,0.1731,[72144e]|0.2503,0.2503,[72144e]|0.3249,0.3249,[72144e]|0.2292,0.2292,[72144e]|0.1476,0.1476,[72144e]|0.1731,0.1731,[72144e]|0.1942,0.1942,[72144e]|0.2503,0.2503,[72144e]|0.1969,0.1969,[72144e]|0.2258,0.2258,[72144e]|0.1823,0.1823,[72144e]|0.2094,0.2094,[72144e]|0.1501,0.1501,[72144e]|0.1501,0.1501,[72144e]|0.1611,0.1611,[72144e]|0.1399,0.1399,[72144e]|0.1554,0.1554,[72144e]|0.1823,0.1823,[72144e]|0.1881,0.1881,[72144e]|0.2258,0.2258,[72144e]|0.1969,0.1969,[72144e]|0.2541,0.2541,[72144e]|0.1942,0.1942,[72144e]|0.1671,0.1671,[72144e]|0.1399,0.1399,[72144e]|0.2292,0.2292,[72144e]|0.2575,0.2575,[72144e]|0.1881,0.1881,[72144e]|0.1881,0.1881,[72144e]|0.1399,0.1399,[72144e]|0.2129,0.2129,[72144e]|0.1852,0.1852,[72144e]|0.2645,0.2645,[72144e]|0.1852,0.1852,[72144e]|0.2503,0.2503,[72144e]|0.2193,0.2193,[72144e]|0.2752,0.2752,[72144e]|0.2292,0.2292,[72144e]|0.1611,0.1611,[72144e]|0.1424,0.1424,[72144e]|0.2364,0.2364,[72144e]|0.2884,0.2884,[72144e]|0.3182,0.3182,[72144e]|0.3087,0.3087,[72144e]|0.2783,0.2783,[72144e]|0.2988,0.2988,[72144e]|0.2224,0.2224,[72144e]|0.2224,0.2224,[72144e]|0.2364,0.2364,[72144e]|0.3392,0.3392,[72144e]|0.3566,0.3566,[72144e]|0.4051,0.4051,[72144e]|0.3356,0.3356,[72144e]|0.2817,0.2817,[72144e]|0.1969,0.1969,[72144e]|0.2094,0.2094,[72144e]|0.2164,0.2164,[72144e]|0.1791,0.1791,[72144e]|0.1583,0.1583,[72144e]|0.2436,0.2436,[72144e]|0.3426,0.3426,[72144e]|0.3566,0.3566,[72144e]|0.3286,0.3286,[72144e]|0.2258,0.2258,[72144e]|0.2436,0.2436,[72144e]|0.1554,0.1554,[72144e]|0.2364,0.2364,[72144e]|0.1298,0.1298,[72144e]|0.1914,0.1914,[72144e]|0.1115,0.1115,[72144e]|0.1528,0.1528,[72144e]|0.1115,0.1115,[72144e]|0.1007,0.1007,[72144e]|0.0909,0.0909,[72144e]|0.0734,0.0734,[72144e]|0.1206,0.1206,[72144e]|0.1823,0.1823,[72144e]|0.1643,0.1643,[72144e]|0.1298,0.1298,[72144e]|0.2164,0.2164,[72144e]|0.2399,0.2399,[72144e]|0.1671,0.1671,[72144e]|0.1092,0.1092,[72144e]|0.0948,0.0948,[72144e]|0.0948,0.0948,[72144e]|0.1501,0.1501,[72144e]|0.0967,0.0967,[72144e]|0.1611,0.1611,[72144e]|0.1424,0.1424,[72144e]|0.2328,0.2328,[72144e]|0.2503,0.2503,[72144e]|0.3529,0.3529,[72144e]|0.3494,0.3494,[72144e]|0.2817,0.2817,[72144e]|0.2064,0.2064,[72144e]|0.2193,0.2193,[72144e]|0.3286,0.3286,[72144e]|0.3392,0.3392,[72144e]|0.3494,0.3494,[72144e]|0.384,0.384,[72144e]|0.3872,0.3872,[72144e]|0.4017,0.4017,[72144e]|0.4087,0.4087,[72144e]|0.3807,0.3807,[72144e]|0.384,0.384,[72144e]|0.3117,0.3117,[72144e]|0.3182,0.3182,[72144e]|0.2328,0.2328,[72144e]|0.268,0.268,[72144e]|0.2258,0.2258,[72144e]|0.1501,0.1501,[72144e]|0.1791,0.1791,[72144e]|0.1702,0.1702,[72144e]|0.1611,0.1611,[72144e]|0.1791,0.1791,[72144e]|0.2164,0.2164,[72144e]|0.2328,0.2328,[72144e]|0.1554,0.1554,[72144e]|0.1583,0.1583,[72144e]|0.1528,0.1528,[72144e]|0.1424,0.1424,[72144e]|0.1823,0.1823,[72144e]|0.2224,0.2224,[72144e]|0.2224,0.2224,[72144e]|0.2436,0.2436,[72144e]|0.2541,0.2541,[72144e]|0.2399,0.2399,[72144e]|0.3087,0.3087,[72144e]|0.2817,0.2817,[72144e]|0.3566,0.3566,[72144e]|0.3667,0.3667,[72144e]|0.3774,0.3774,[72144e]|0.4541,0.4541,[72144e]|0.391,0.391,[72144e]|0.3599,0.3599,[72144e]|0.3356,0.3356,[72144e]|0.2783,0.2783,[72144e]|0.3426,0.3426,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.7573,0.7573,[329440]|0.6516,0.6516,[329440]|0.6293,0.6293,[329440]|0.5412,0.5412,[329440]|0.5229,0.5229,[329440]|0.5008,0.5008,[329440]|0.4825,0.4825,[329440]|0.3806,0.3806,[329440]|0.2292,0.2292,[329440]|0.1921,0.1921,[329440]|0.1602,0.1602,[329440]|0.208,0.208,[329440]|0.1667,0.1667,[329440]|0.2167,0.2167,[329440]|0.1416,0.1416,[329440]|0.1878,0.1878,[329440]|0.1921,0.1921,[329440]|0.1635,0.1635,[329440]|0.1322,0.1322,[329440]|0.1088,0.1088,[329440]|0.1805,0.1805,[329440]|0.2748,0.2748,[329440]|0.1805,0.1805,[329440]|0.1921,0.1921,[329440]|0.1495,0.1495,[329440]|0.1495,0.1495,[329440]|0.1088,0.1088,[329440]|0.1532,0.1532,[329440]|0.2531,0.2531,[329440]|0.2531,0.2531,[329440]|0.1805,0.1805,[329440]|0.106,0.106,[329440]|0.1667,0.1667,[329440]|0.1292,0.1292,[329440]|0.1998,0.1998,[329440]|0.1566,0.1566,[329440]|0.2292,0.2292,[329440]|0.1844,0.1844,[329440]|0.27,0.27,[329440]|0.2255,0.2255,[329440]|0.2041,0.2041,[329440]|0.124,0.124,[329440]|0.1205,0.1205,[329440]|0.1416,0.1416,[329440]|0.1998,0.1998,[329440]|0.1958,0.1958,[329440]|0.2292,0.2292,[329440]|0.2483,0.2483,[329440]|0.1732,0.1732,[329440]|0.1805,0.1805,[329440]|0.1667,0.1667,[329440]|0.2432,0.2432,[329440]|0.1732,0.1732,[329440]|0.2385,0.2385,[329440]|0.2531,0.2531,[329440]|0.3096,0.3096,[329440]|0.2385,0.2385,[329440]|0.2531,0.2531,[329440]|0.1844,0.1844,[329440]|0.1921,0.1921,[329440]|0.2167,0.2167,[329440]|0.208,0.208,[329440]|0.2558,0.2558,[329440]|0.27,0.27,[329440]|0.2558,0.2558,[329440]|0.2558,0.2558,[329440]|0.2531,0.2531,[329440]|0.1732,0.1732,[329440]|0.27,0.27,[329440]|0.1844,0.1844,[329440]|0.3005,0.3005,[329440]|0.208,0.208,[329440]|0.282,0.282,[329440]|0.1456,0.1456,[329440]|0.124,0.124,[329440]|0.0884,0.0884,[329440]|0.1292,0.1292,[329440]|0.1805,0.1805,[329440]|0.1416,0.1416,[329440]|0.1998,0.1998,[329440]|0.1844,0.1844,[329440]|0.1635,0.1635,[329440]|0.1667,0.1667,[329440]|0.1532,0.1532,[329440]|0.124,0.124,[329440]|0.0789,0.0789,[329440]|0.0554,0.0554,[329440]|0.0858,0.0858,[329440]|0.0701,0.0701,[329440]|0.106,0.106,[329440]|0.0587,0.0587,[329440]|0.1088,0.1088,[329440]|0.1088,0.1088,[329440]|0.1878,0.1878,[329440]|0.2122,0.2122,[329440]|0.2483,0.2483,[329440]|0.2432,0.2432,[329440]|0.1667,0.1667,[329440]|0.208,0.208,[329440]|0.2041,0.2041,[329440]|0.2209,0.2209,[329440]|0.3311,0.3311,[329440]|0.3668,0.3668,[329440]|0.3184,0.3184,[329440]|0.3096,0.3096,[329440]|0.3762,0.3762,[329440]|0.4282,0.4282,[329440]|0.3578,0.3578,[329440]|0.3096,0.3096,[329440]|0.2385,0.2385,[329440]|0.2865,0.2865,[329440]|0.2167,0.2167,[329440]|0.1878,0.1878,[329440]|0.1732,0.1732,[329440]|0.115,0.115,[329440]|0.1416,0.1416,[329440]|0.1349,0.1349,[329440]|0.208,0.208,[329440]|0.2865,0.2865,[329440]|0.2255,0.2255,[329440]|0.1667,0.1667,[329440]|0.106,0.106,[329440]|0.1205,0.1205,[329440]|0.1456,0.1456,[329440]|0.1495,0.1495,[329440]|0.1266,0.1266,[329440]|0.1416,0.1416,[329440]|0.208,0.208,[329440]|0.27,0.27,[329440]|0.27,0.27,[329440]|0.208,0.208,[329440]|0.3146,0.3146,[329440]|0.3806,0.3806,[329440]|0.4513,0.4513,[329440]|0.5623,0.5623,[329440]|0.5623,0.5623,[329440]|0.6219,0.6219,[329440]|0.6604,0.6604,[329440]|0.6906,0.6906,[329440]|0.7817,0.7817,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   Q7XA98_TRIPR
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.2292,0.2292,[72144e]|0.2645,0.2645,[72144e]|0.3019,0.3019,[72144e]|0.3286,0.3286,[72144e]|0.2328,0.2328,[72144e]|0.2258,0.2258,[72144e]|0.2645,0.2645,[72144e]|0.2988,0.2988,[72144e]|0.3286,0.3286,[72144e]|0.3774,0.3774,[72144e]|0.346,0.346,[72144e]|0.4051,0.4051,[72144e]|0.4051,0.4051,[72144e]|0.4017,0.4017,[72144e]|0.3494,0.3494,[72144e]|0.2988,0.2988,[72144e]|0.3286,0.3286,[72144e]|0.3948,0.3948,[72144e]|0.4864,0.4864,[72144e]|0.494,0.494,[72144e]|0.494,0.494,[72144e]|0.5139,0.5139,[72144e]|0.5419,0.5419,[72144e]|0.4441,0.4441,[72144e]|0.4685,0.4685,[72144e]|0.4685,0.4685,[72144e]|0.5707,0.5707,[72144e]|0.4901,0.4901,[72144e]|0.4831,0.4831,[72144e]|0.4087,0.4087,[72144e]|0.3872,0.3872,[72144e]|0.3566,0.3566,[72144e]|0.3566,0.3566,[72144e]|0.3215,0.3215,[72144e]|0.3566,0.3566,[72144e]|0.346,0.346,[72144e]|0.3983,0.3983,[72144e]|0.4256,0.4256,[72144e]|0.4369,0.4369,[72144e]|0.3667,0.3667,[72144e]|0.3392,0.3392,[72144e]|0.2884,0.2884,[72144e]|0.2609,0.2609,[72144e]|0.2436,0.2436,[72144e]|0.2436,0.2436,[72144e]|0.3392,0.3392,[72144e]|0.2328,0.2328,[72144e]|0.2258,0.2258,[72144e]|0.1791,0.1791,[72144e]|0.2575,0.2575,[72144e]|0.1969,0.1969,[72144e]|0.1969,0.1969,[72144e]|0.2094,0.2094,[72144e]|0.2399,0.2399,[72144e]|0.3149,0.3149,[72144e]|0.3182,0.3182,[72144e]|0.3426,0.3426,[72144e]|0.3599,0.3599,[72144e]|0.3807,0.3807,[72144e]|0.2884,0.2884,[72144e]|0.2884,0.2884,[72144e]|0.2609,0.2609,[72144e]|0.3149,0.3149,[72144e]|0.3774,0.3774,[72144e]|0.4119,0.4119,[72144e]|0.391,0.391,[72144e]|0.3356,0.3356,[72144e]|0.268,0.268,[72144e]|0.2849,0.2849,[72144e]|0.3117,0.3117,[72144e]|0.3599,0.3599,[72144e]|0.346,0.346,[72144e]|0.4292,0.4292,[72144e]|0.5254,0.5254,[72144e]|0.4652,0.4652,[72144e]|0.4369,0.4369,[72144e]|0.346,0.346,[72144e]|0.3704,0.3704,[72144e]|0.2783,0.2783,[72144e]|0.2988,0.2988,[72144e]|0.1969,0.1969,[72144e]|0.2849,0.2849,[72144e]|0.1852,0.1852,[72144e]|0.2752,0.2752,[72144e]|0.2193,0.2193,[72144e]|0.2064,0.2064,[72144e]|0.1942,0.1942,[72144e]|0.1583,0.1583,[72144e]|0.2258,0.2258,[72144e]|0.2918,0.2918,[72144e]|0.2609,0.2609,[72144e]|0.2224,0.2224,[72144e]|0.2258,0.2258,[72144e]|0.2399,0.2399,[72144e]|0.1731,0.1731,[72144e]|0.1184,0.1184,[72144e]|0.1611,0.1611,[72144e]|0.1611,0.1611,[72144e]|0.2292,0.2292,[72144e]|0.1643,0.1643,[72144e]|0.2292,0.2292,[72144e]|0.2064,0.2064,[72144e]|0.3053,0.3053,[72144e]|0.3215,0.3215,[72144e]|0.4149,0.4149,[72144e]|0.4119,0.4119,[72144e]|0.3494,0.3494,[72144e]|0.2884,0.2884,[72144e]|0.3053,0.3053,[72144e]|0.4087,0.4087,[72144e]|0.433,0.433,[72144e]|0.4409,0.4409,[72144e]|0.4685,0.4685,[72144e]|0.5176,0.5176,[72144e]|0.5139,0.5139,[72144e]|0.5296,0.5296,[72144e]|0.5098,0.5098,[72144e]|0.5098,0.5098,[72144e]|0.433,0.433,[72144e]|0.4369,0.4369,[72144e]|0.3249,0.3249,[72144e]|0.3249,0.3249,[72144e]|0.2951,0.2951,[72144e]|0.1969,0.1969,[72144e]|0.2064,0.2064,[72144e]|0.2002,0.2002,[72144e]|0.1942,0.1942,[72144e]|0.2094,0.2094,[72144e]|0.2436,0.2436,[72144e]|0.3087,0.3087,[72144e]|0.2258,0.2258,[72144e]|0.2328,0.2328,[72144e]|0.2164,0.2164,[72144e]|0.2034,0.2034,[72144e]|0.2541,0.2541,[72144e]|0.2575,0.2575,[72144e]|0.2783,0.2783,[72144e]|0.3019,0.3019,[72144e]|0.3019,0.3019,[72144e]|0.3529,0.3529,[72144e]|0.3948,0.3948,[72144e]|0.384,0.384,[72144e]|0.4766,0.4766,[72144e]|0.5254,0.5254,[72144e]|0.5419,0.5419,[72144e]|0.6755,0.6755,[72144e]|0.6136,0.6136,[72144e]|0.5901,0.5901,[72144e]|0.5807,0.5807,[72144e]|0.5382,0.5382,[72144e]|0.6322,0.6322,[72144e]|0.6089,0.6089,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.892,0.892,[329440]|0.835,0.835,[329440]|0.7388,0.7388,[329440]|0.6944,0.6944,[329440]|0.6557,0.6557,[329440]|0.6124,0.6124,[329440]|0.4967,0.4967,[329440]|0.4149,0.4149,[329440]|0.3939,0.3939,[329440]|0.3717,0.3717,[329440]|0.3359,0.3359,[329440]|0.3939,0.3939,[329440]|0.363,0.363,[329440]|0.3847,0.3847,[329440]|0.3535,0.3535,[329440]|0.3311,0.3311,[329440]|0.3053,0.3053,[329440]|0.3225,0.3225,[329440]|0.3992,0.3992,[329440]|0.3939,0.3939,[329440]|0.3939,0.3939,[329440]|0.4203,0.4203,[329440]|0.4781,0.4781,[329440]|0.4825,0.4825,[329440]|0.4513,0.4513,[329440]|0.363,0.363,[329440]|0.4651,0.4651,[329440]|0.4967,0.4967,[329440]|0.4749,0.4749,[329440]|0.3535,0.3535,[329440]|0.3456,0.3456,[329440]|0.2558,0.2558,[329440]|0.3225,0.3225,[329440]|0.2963,0.2963,[329440]|0.2602,0.2602,[329440]|0.2657,0.2657,[329440]|0.3184,0.3184,[329440]|0.3359,0.3359,[329440]|0.3491,0.3491,[329440]|0.3491,0.3491,[329440]|0.3578,0.3578,[329440]|0.3096,0.3096,[329440]|0.2865,0.2865,[329440]|0.2292,0.2292,[329440]|0.2292,0.2292,[329440]|0.2865,0.2865,[329440]|0.2292,0.2292,[329440]|0.2255,0.2255,[329440]|0.1566,0.1566,[329440]|0.2333,0.2333,[329440]|0.1766,0.1766,[329440]|0.2209,0.2209,[329440]|0.1602,0.1602,[329440]|0.1088,0.1088,[329440]|0.1495,0.1495,[329440]|0.1766,0.1766,[329440]|0.1921,0.1921,[329440]|0.1998,0.1998,[329440]|0.2122,0.2122,[329440]|0.2255,0.2255,[329440]|0.2385,0.2385,[329440]|0.2041,0.2041,[329440]|0.2483,0.2483,[329440]|0.2122,0.2122,[329440]|0.27,0.27,[329440]|0.3225,0.3225,[329440]|0.3762,0.3762,[329440]|0.3225,0.3225,[329440]|0.3311,0.3311,[329440]|0.2865,0.2865,[329440]|0.282,0.282,[329440]|0.3184,0.3184,[329440]|0.3668,0.3668,[329440]|0.4037,0.4037,[329440]|0.4245,0.4245,[329440]|0.4116,0.4116,[329440]|0.3359,0.3359,[329440]|0.3311,0.3311,[329440]|0.2483,0.2483,[329440]|0.2558,0.2558,[329440]|0.1766,0.1766,[329440]|0.2913,0.2913,[329440]|0.2041,0.2041,[329440]|0.3005,0.3005,[329440]|0.1416,0.1416,[329440]|0.1205,0.1205,[329440]|0.0884,0.0884,[329440]|0.1205,0.1205,[329440]|0.1766,0.1766,[329440]|0.1266,0.1266,[329440]|0.1766,0.1766,[329440]|0.1667,0.1667,[329440]|0.0991,0.0991,[329440]|0.1041,0.1041,[329440]|0.0935,0.0935,[329440]|0.0723,0.0723,[329440]|0.0771,0.0771,[329440]|0.0554,0.0554,[329440]|0.0771,0.0771,[329440]|0.066,0.066,[329440]|0.0935,0.0935,[329440]|0.0526,0.0526,[329440]|0.0771,0.0771,[329440]|0.0744,0.0744,[329440]|0.1805,0.1805,[329440]|0.2041,0.2041,[329440]|0.2333,0.2333,[329440]|0.2385,0.2385,[329440]|0.1667,0.1667,[329440]|0.2167,0.2167,[329440]|0.2255,0.2255,[329440]|0.2333,0.2333,[329440]|0.3717,0.3717,[329440]|0.4037,0.4037,[329440]|0.3399,0.3399,[329440]|0.3806,0.3806,[329440]|0.4333,0.4333,[329440]|0.4918,0.4918,[329440]|0.442,0.442,[329440]|0.3992,0.3992,[329440]|0.3399,0.3399,[329440]|0.4037,0.4037,[329440]|0.3456,0.3456,[329440]|0.2963,0.2963,[329440]|0.2602,0.2602,[329440]|0.1805,0.1805,[329440]|0.2209,0.2209,[329440]|0.2167,0.2167,[329440]|0.2963,0.2963,[329440]|0.3717,0.3717,[329440]|0.2913,0.2913,[329440]|0.2786,0.2786,[329440]|0.1921,0.1921,[329440]|0.2122,0.2122,[329440]|0.27,0.27,[329440]|0.2292,0.2292,[329440]|0.1998,0.1998,[329440]|0.2209,0.2209,[329440]|0.2963,0.2963,[329440]|0.3717,0.3717,[329440]|0.363,0.363,[329440]|0.3578,0.3578,[329440]|0.3992,0.3992,[329440]|0.4967,0.4967,[329440]|0.5549,0.5549,[329440]|0.665,0.665,[329440]|0.6681,0.6681,[329440]|0.7111,0.7111,[329440]|0.7501,0.7501,[329440]|0.7772,0.7772,[329440]|0.8677,0.8677,[329440]|0.904,0.904,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_PEA
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.1914,0.1914,[72144e]|0.2258,0.2258,[72144e]|0.268,0.268,[72144e]|0.2951,0.2951,[72144e]|0.1914,0.1914,[72144e]|0.1476,0.1476,[72144e]|0.1823,0.1823,[72144e]|0.2094,0.2094,[72144e]|0.247,0.247,[72144e]|0.3019,0.3019,[72144e]|0.2918,0.2918,[72144e]|0.3566,0.3566,[72144e]|0.3566,0.3566,[72144e]|0.3529,0.3529,[72144e]|0.2988,0.2988,[72144e]|0.2752,0.2752,[72144e]|0.3087,0.3087,[72144e]|0.3774,0.3774,[72144e]|0.4541,0.4541,[72144e]|0.4256,0.4256,[72144e]|0.3215,0.3215,[72144e]|0.346,0.346,[72144e]|0.4087,0.4087,[72144e]|0.4087,0.4087,[72144e]|0.3087,0.3087,[72144e]|0.2436,0.2436,[72144e]|0.3392,0.3392,[72144e]|0.3321,0.3321,[72144e]|0.3182,0.3182,[72144e]|0.3182,0.3182,[72144e]|0.3053,0.3053,[72144e]|0.2064,0.2064,[72144e]|0.2258,0.2258,[72144e]|0.1969,0.1969,[72144e]|0.2258,0.2258,[72144e]|0.2399,0.2399,[72144e]|0.2292,0.2292,[72144e]|0.2002,0.2002,[72144e]|0.1501,0.1501,[72144e]|0.1275,0.1275,[72144e]|0.1162,0.1162,[72144e]|0.1162,0.1162,[72144e]|0.1942,0.1942,[72144e]|0.1298,0.1298,[72144e]|0.1162,0.1162,[72144e]|0.0851,0.0851,[72144e]|0.1424,0.1424,[72144e]|0.1424,0.1424,[72144e]|0.1048,0.1048,[72144e]|0.1554,0.1554,[72144e]|0.1914,0.1914,[72144e]|0.2002,0.2002,[72144e]|0.2034,0.2034,[72144e]|0.2752,0.2752,[72144e]|0.2918,0.2918,[72144e]|0.3117,0.3117,[72144e]|0.2164,0.2164,[72144e]|0.2258,0.2258,[72144e]|0.2002,0.2002,[72144e]|0.2575,0.2575,[72144e]|0.3087,0.3087,[72144e]|0.3494,0.3494,[72144e]|0.3249,0.3249,[72144e]|0.2752,0.2752,[72144e]|0.2064,0.2064,[72144e]|0.2193,0.2193,[72144e]|0.247,0.247,[72144e]|0.2988,0.2988,[72144e]|0.2817,0.2817,[72144e]|0.3704,0.3704,[72144e]|0.4476,0.4476,[72144e]|0.391,0.391,[72144e]|0.3599,0.3599,[72144e]|0.2752,0.2752,[72144e]|0.2884,0.2884,[72144e]|0.2164,0.2164,[72144e]|0.2399,0.2399,[72144e]|0.1476,0.1476,[72144e]|0.2328,0.2328,[72144e]|0.1323,0.1323,[72144e]|0.2129,0.2129,[72144e]|0.1583,0.1583,[72144e]|0.1611,0.1611,[72144e]|0.1476,0.1476,[72144e]|0.1206,0.1206,[72144e]|0.1791,0.1791,[72144e]|0.2436,0.2436,[72144e]|0.2164,0.2164,[72144e]|0.1791,0.1791,[72144e]|0.1823,0.1823,[72144e]|0.1969,0.1969,[72144e]|0.1349,0.1349,[72144e]|0.0851,0.0851,[72144e]|0.1184,0.1184,[72144e]|0.1162,0.1162,[72144e]|0.1914,0.1914,[72144e]|0.1373,0.1373,[72144e]|0.2034,0.2034,[72144e]|0.1823,0.1823,[72144e]|0.2575,0.2575,[72144e]|0.2715,0.2715,[72144e]|0.3631,0.3631,[72144e]|0.3599,0.3599,[72144e]|0.2918,0.2918,[72144e]|0.2258,0.2258,[72144e]|0.2436,0.2436,[72144e]|0.3494,0.3494,[72144e]|0.374,0.374,[72144e]|0.384,0.384,[72144e]|0.4051,0.4051,[72144e]|0.4541,0.4541,[72144e]|0.4256,0.4256,[72144e]|0.4369,0.4369,[72144e]|0.391,0.391,[72144e]|0.3948,0.3948,[72144e]|0.3249,0.3249,[72144e]|0.3286,0.3286,[72144e]|0.2064,0.2064,[72144e]|0.2034,0.2034,[72144e]|0.1702,0.1702,[72144e]|0.1092,0.1092,[72144e]|0.1323,0.1323,[72144e]|0.1251,0.1251,[72144e]|0.1251,0.1251,[72144e]|0.1373,0.1373,[72144e]|0.1702,0.1702,[72144e]|0.1852,0.1852,[72144e]|0.1184,0.1184,[72144e]|0.1251,0.1251,[72144e]|0.1115,0.1115,[72144e]|0.1028,0.1028,[72144e]|0.1424,0.1424,[72144e]|0.1449,0.1449,[72144e]|0.1881,0.1881,[72144e]|0.2064,0.2064,[72144e]|0.2328,0.2328,[72144e]|0.2849,0.2849,[72144e]|0.3249,0.3249,[72144e]|0.3182,0.3182,[72144e]|0.4051,0.4051,[72144e]|0.4541,0.4541,[72144e]|0.4725,0.4725,[72144e]|0.5577,0.5577,[72144e]|0.494,0.494,[72144e]|0.4766,0.4766,[72144e]|0.4619,0.4619,[72144e]|0.4149,0.4149,[72144e]|0.4831,0.4831,[72144e]|0.5665,0.5665,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8781,0.8781,[329440]|0.82,0.82,[329440]|0.7192,0.7192,[329440]|0.6756,0.6756,[329440]|0.6374,0.6374,[329440]|0.59,0.59,[329440]|0.4651,0.4651,[329440]|0.3578,0.3578,[329440]|0.3359,0.3359,[329440]|0.2913,0.2913,[329440]|0.2531,0.2531,[329440]|0.3184,0.3184,[329440]|0.3184,0.3184,[329440]|0.3491,0.3491,[329440]|0.3184,0.3184,[329440]|0.2913,0.2913,[329440]|0.2531,0.2531,[329440]|0.2963,0.2963,[329440]|0.3806,0.3806,[329440]|0.3762,0.3762,[329440]|0.3806,0.3806,[329440]|0.3717,0.3717,[329440]|0.3399,0.3399,[329440]|0.3456,0.3456,[329440]|0.3535,0.3535,[329440]|0.3535,0.3535,[329440]|0.3359,0.3359,[329440]|0.3263,0.3263,[329440]|0.3053,0.3053,[329440]|0.2333,0.2333,[329440]|0.2255,0.2255,[329440]|0.1958,0.1958,[329440]|0.2292,0.2292,[329440]|0.1456,0.1456,[329440]|0.1698,0.1698,[329440]|0.1805,0.1805,[329440]|0.2385,0.2385,[329440]|0.2483,0.2483,[329440]|0.1878,0.1878,[329440]|0.1635,0.1635,[329440]|0.1178,0.1178,[329440]|0.1205,0.1205,[329440]|0.1667,0.1667,[329440]|0.138,0.138,[329440]|0.1322,0.1322,[329440]|0.0813,0.0813,[329440]|0.1416,0.1416,[329440]|0.1456,0.1456,[329440]|0.1349,0.1349,[329440]|0.1322,0.1322,[329440]|0.0909,0.0909,[329440]|0.0884,0.0884,[329440]|0.1088,0.1088,[329440]|0.1602,0.1602,[329440]|0.1635,0.1635,[329440]|0.1495,0.1495,[329440]|0.1635,0.1635,[329440]|0.1698,0.1698,[329440]|0.1456,0.1456,[329440]|0.1844,0.1844,[329440]|0.1602,0.1602,[329440]|0.2167,0.2167,[329440]|0.2483,0.2483,[329440]|0.3053,0.3053,[329440]|0.2483,0.2483,[329440]|0.2602,0.2602,[329440]|0.2122,0.2122,[329440]|0.2167,0.2167,[329440]|0.2432,0.2432,[329440]|0.3053,0.3053,[329440]|0.3263,0.3263,[329440]|0.3491,0.3491,[329440]|0.3359,0.3359,[329440]|0.2748,0.2748,[329440]|0.27,0.27,[329440]|0.2209,0.2209,[329440]|0.2292,0.2292,[329440]|0.1602,0.1602,[329440]|0.2748,0.2748,[329440]|0.1921,0.1921,[329440]|0.282,0.282,[329440]|0.1322,0.1322,[329440]|0.124,0.124,[329440]|0.0909,0.0909,[329440]|0.124,0.124,[329440]|0.1805,0.1805,[329440]|0.1322,0.1322,[329440]|0.1844,0.1844,[329440]|0.1732,0.1732,[329440]|0.1041,0.1041,[329440]|0.1088,0.1088,[329440]|0.0991,0.0991,[329440]|0.0771,0.0771,[329440]|0.0771,0.0771,[329440]|0.0554,0.0554,[329440]|0.0771,0.0771,[329440]|0.0643,0.0643,[329440]|0.1088,0.1088,[329440]|0.0607,0.0607,[329440]|0.1041,0.1041,[329440]|0.1041,0.1041,[329440]|0.208,0.208,[329440]|0.2385,0.2385,[329440]|0.2657,0.2657,[329440]|0.2748,0.2748,[329440]|0.1878,0.1878,[329440]|0.2292,0.2292,[329440]|0.2483,0.2483,[329440]|0.2602,0.2602,[329440]|0.3992,0.3992,[329440]|0.4282,0.4282,[329440]|0.363,0.363,[329440]|0.4116,0.4116,[329440]|0.4333,0.4333,[329440]|0.4967,0.4967,[329440]|0.4203,0.4203,[329440]|0.3762,0.3762,[329440]|0.282,0.282,[329440]|0.3399,0.3399,[329440]|0.2558,0.2558,[329440]|0.1998,0.1998,[329440]|0.1844,0.1844,[329440]|0.1178,0.1178,[329440]|0.1566,0.1566,[329440]|0.1495,0.1495,[329440]|0.2209,0.2209,[329440]|0.3053,0.3053,[329440]|0.2209,0.2209,[329440]|0.1566,0.1566,[329440]|0.0884,0.0884,[329440]|0.1041,0.1041,[329440]|0.1416,0.1416,[329440]|0.1178,0.1178,[329440]|0.1205,0.1205,[329440]|0.1349,0.1349,[329440]|0.2209,0.2209,[329440]|0.282,0.282,[329440]|0.2748,0.2748,[329440]|0.27,0.27,[329440]|0.3005,0.3005,[329440]|0.3992,0.3992,[329440]|0.4703,0.4703,[329440]|0.5762,0.5762,[329440]|0.5762,0.5762,[329440]|0.6293,0.6293,[329440]|0.6715,0.6715,[329440]|0.6944,0.6944,[329440]|0.7951,0.7951,[329440]|0.8781,0.8781,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_SPIOL
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.3704,0.3704,[72144e]|0.4017,0.4017,[72144e]|0.4292,0.4292,[72144e]|0.3215,0.3215,[72144e]|0.2884,0.2884,[72144e]|0.3566,0.3566,[72144e]|0.3704,0.3704,[72144e]|0.4292,0.4292,[72144e]|0.4619,0.4619,[72144e]|0.4476,0.4476,[72144e]|0.4979,0.4979,[72144e]|0.5807,0.5807,[72144e]|0.5758,0.5758,[72144e]|0.5758,0.5758,[72144e]|0.5382,0.5382,[72144e]|0.5055,0.5055,[72144e]|0.4409,0.4409,[72144e]|0.4685,0.4685,[72144e]|0.5055,0.5055,[72144e]|0.5493,0.5493,[72144e]|0.5533,0.5533,[72144e]|0.5951,0.5951,[72144e]|0.6375,0.6375,[72144e]|0.6322,0.6322,[72144e]|0.5493,0.5493,[72144e]|0.5456,0.5456,[72144e]|0.6043,0.6043,[72144e]|0.4864,0.4864,[72144e]|0.4864,0.4864,[72144e]|0.4507,0.4507,[72144e]|0.4369,0.4369,[72144e]|0.4652,0.4652,[72144e]|0.433,0.433,[72144e]|0.3983,0.3983,[72144e]|0.4292,0.4292,[72144e]|0.4619,0.4619,[72144e]|0.4541,0.4541,[72144e]|0.4831,0.4831,[72144e]|0.5176,0.5176,[72144e]|0.4541,0.4541,[72144e]|0.433,0.433,[72144e]|0.3392,0.3392,[72144e]|0.3286,0.3286,[72144e]|0.2849,0.2849,[72144e]|0.2817,0.2817,[72144e]|0.2224,0.2224,[72144e]|0.2364,0.2364,[72144e]|0.3249,0.3249,[72144e]|0.3599,0.3599,[72144e]|0.422,0.422,[72144e]|0.433,0.433,[72144e]|0.4409,0.4409,[72144e]|0.391,0.391,[72144e]|0.4186,0.4186,[72144e]|0.3249,0.3249,[72144e]|0.3392,0.3392,[72144e]|0.247,0.247,[72144e]|0.2783,0.2783,[72144e]|0.3215,0.3215,[72144e]|0.3321,0.3321,[72144e]|0.3182,0.3182,[72144e]|0.2609,0.2609,[72144e]|0.2193,0.2193,[72144e]|0.247,0.247,[72144e]|0.268,0.268,[72144e]|0.2918,0.2918,[72144e]|0.2645,0.2645,[72144e]|0.3494,0.3494,[72144e]|0.422,0.422,[72144e]|0.4476,0.4476,[72144e]|0.4119,0.4119,[72144e]|0.346,0.346,[72144e]|0.3599,0.3599,[72144e]|0.2918,0.2918,[72144e]|0.3704,0.3704,[72144e]|0.2609,0.2609,[72144e]|0.3494,0.3494,[72144e]|0.2436,0.2436,[72144e]|0.3392,0.3392,[72144e]|0.2817,0.2817,[72144e]|0.268,0.268,[72144e]|0.2541,0.2541,[72144e]|0.2094,0.2094,[72144e]|0.2951,0.2951,[72144e]|0.3566,0.3566,[72144e]|0.3215,0.3215,[72144e]|0.2849,0.2849,[72144e]|0.3117,0.3117,[72144e]|0.3249,0.3249,[72144e]|0.2399,0.2399,[72144e]|0.2064,0.2064,[72144e]|0.1852,0.1852,[72144e]|0.1852,0.1852,[72144e]|0.247,0.247,[72144e]|0.1759,0.1759,[72144e]|0.2399,0.2399,[72144e]|0.2193,0.2193,[72144e]|0.3182,0.3182,[72144e]|0.3321,0.3321,[72144e]|0.4369,0.4369,[72144e]|0.433,0.433,[72144e]|0.3704,0.3704,[72144e]|0.3087,0.3087,[72144e]|0.3249,0.3249,[72144e]|0.433,0.433,[72144e]|0.4476,0.4476,[72144e]|0.4582,0.4582,[72144e]|0.4864,0.4864,[72144e]|0.5296,0.5296,[72144e]|0.5533,0.5533,[72144e]|0.5665,0.5665,[72144e]|0.5456,0.5456,[72144e]|0.5017,0.5017,[72144e]|0.4369,0.4369,[72144e]|0.4369,0.4369,[72144e]|0.3356,0.3356,[72144e]|0.374,0.374,[72144e]|0.3426,0.3426,[72144e]|0.2609,0.2609,[72144e]|0.2817,0.2817,[72144e]|0.2164,0.2164,[72144e]|0.2034,0.2034,[72144e]|0.2164,0.2164,[72144e]|0.2541,0.2541,[72144e]|0.3117,0.3117,[72144e]|0.2328,0.2328,[72144e]|0.2399,0.2399,[72144e]|0.2224,0.2224,[72144e]|0.2064,0.2064,[72144e]|0.2575,0.2575,[72144e]|0.268,0.268,[72144e]|0.268,0.268,[72144e]|0.2918,0.2918,[72144e]|0.3019,0.3019,[72144e]|0.3494,0.3494,[72144e]|0.3872,0.3872,[72144e]|0.3807,0.3807,[72144e]|0.4685,0.4685,[72144e]|0.4831,0.4831,[72144e]|0.494,0.494,[72144e]|0.5854,0.5854,[72144e]|0.5176,0.5176,[72144e]|0.5807,0.5807,[72144e]|0.5707,0.5707,[72144e]|0.5296,0.5296,[72144e]|0.6183,0.6183,[72144e]|0.5992,0.5992,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.928,0.928,[329440]|0.8823,0.8823,[329440]|0.8283,0.8283,[329440]|0.7912,0.7912,[329440]|0.754,0.754,[329440]|0.6474,0.6474,[329440]|0.5473,0.5473,[329440]|0.5296,0.5296,[329440]|0.4918,0.4918,[329440]|0.4703,0.4703,[329440]|0.4379,0.4379,[329440]|0.442,0.442,[329440]|0.4967,0.4967,[329440]|0.5514,0.5514,[329440]|0.5229,0.5229,[329440]|0.4879,0.4879,[329440]|0.4556,0.4556,[329440]|0.4245,0.4245,[329440]|0.4116,0.4116,[329440]|0.4651,0.4651,[329440]|0.4703,0.4703,[329440]|0.5008,0.5008,[329440]|0.5296,0.5296,[329440]|0.5229,0.5229,[329440]|0.5374,0.5374,[329440]|0.6174,0.6174,[329440]|0.6255,0.6255,[329440]|0.5253,0.5253,[329440]|0.5229,0.5229,[329440]|0.4458,0.4458,[329440]|0.442,0.442,[329440]|0.4781,0.4781,[329440]|0.4513,0.4513,[329440]|0.4282,0.4282,[329440]|0.4749,0.4749,[329440]|0.4967,0.4967,[329440]|0.5173,0.5173,[329440]|0.5549,0.5549,[329440]|0.5667,0.5667,[329440]|0.5412,0.5412,[329440]|0.5043,0.5043,[329440]|0.4703,0.4703,[329440]|0.4333,0.4333,[329440]|0.3578,0.3578,[329440]|0.3311,0.3311,[329440]|0.2657,0.2657,[329440]|0.3146,0.3146,[329440]|0.3263,0.3263,[329440]|0.27,0.27,[329440]|0.3184,0.3184,[329440]|0.3456,0.3456,[329440]|0.3311,0.3311,[329440]|0.3311,0.3311,[329440]|0.3311,0.3311,[329440]|0.2531,0.2531,[329440]|0.2748,0.2748,[329440]|0.1921,0.1921,[329440]|0.1921,0.1921,[329440]|0.1456,0.1456,[329440]|0.1698,0.1698,[329440]|0.2122,0.2122,[329440]|0.2657,0.2657,[329440]|0.2333,0.2333,[329440]|0.2385,0.2385,[329440]|0.1844,0.1844,[329440]|0.1844,0.1844,[329440]|0.1998,0.1998,[329440]|0.2209,0.2209,[329440]|0.2432,0.2432,[329440]|0.2657,0.2657,[329440]|0.2483,0.2483,[329440]|0.27,0.27,[329440]|0.2657,0.2657,[329440]|0.208,0.208,[329440]|0.282,0.282,[329440]|0.1998,0.1998,[329440]|0.3184,0.3184,[329440]|0.2432,0.2432,[329440]|0.3359,0.3359,[329440]|0.1732,0.1732,[329440]|0.1566,0.1566,[329440]|0.1205,0.1205,[329440]|0.1602,0.1602,[329440]|0.2255,0.2255,[329440]|0.1766,0.1766,[329440]|0.2385,0.2385,[329440]|0.2255,0.2255,[329440]|0.1635,0.1635,[329440]|0.1732,0.1732,[329440]|0.1602,0.1602,[329440]|0.1292,0.1292,[329440]|0.0771,0.0771,[329440]|0.0701,0.0701,[329440]|0.0965,0.0965,[329440]|0.0858,0.0858,[329440]|0.124,0.124,[329440]|0.0643,0.0643,[329440]|0.0935,0.0935,[329440]|0.0935,0.0935,[329440]|0.2041,0.2041,[329440]|0.2209,0.2209,[329440]|0.2602,0.2602,[329440]|0.2657,0.2657,[329440]|0.1878,0.1878,[329440]|0.2333,0.2333,[329440]|0.2432,0.2432,[329440]|0.2531,0.2531,[329440]|0.3668,0.3668,[329440]|0.3992,0.3992,[329440]|0.3359,0.3359,[329440]|0.3717,0.3717,[329440]|0.4556,0.4556,[329440]|0.4825,0.4825,[329440]|0.4245,0.4245,[329440]|0.3806,0.3806,[329440]|0.3146,0.3146,[329440]|0.3762,0.3762,[329440]|0.3263,0.3263,[329440]|0.3005,0.3005,[329440]|0.2748,0.2748,[329440]|0.1998,0.1998,[329440]|0.2432,0.2432,[329440]|0.1878,0.1878,[329440]|0.2657,0.2657,[329440]|0.3456,0.3456,[329440]|0.2748,0.2748,[329440]|0.2558,0.2558,[329440]|0.1766,0.1766,[329440]|0.1998,0.1998,[329440]|0.2483,0.2483,[329440]|0.2209,0.2209,[329440]|0.1732,0.1732,[329440]|0.1921,0.1921,[329440]|0.282,0.282,[329440]|0.3535,0.3535,[329440]|0.3456,0.3456,[329440]|0.3491,0.3491,[329440]|0.3806,0.3806,[329440]|0.4458,0.4458,[329440]|0.5084,0.5084,[329440]|0.6174,0.6174,[329440]|0.6174,0.6174,[329440]|0.7034,0.7034,[329440]|0.7418,0.7418,[329440]|0.7644,0.7644,[329440]|0.8595,0.8595,[329440]|0.8945,0.8945,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_MESCR
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.3117,0.3117,[72144e]|0.2951,0.2951,[72144e]|0.3249,0.3249,[72144e]|0.3566,0.3566,[72144e]|0.3426,0.3426,[72144e]|0.2503,0.2503,[72144e]|0.2436,0.2436,[72144e]|0.3053,0.3053,[72144e]|0.3182,0.3182,[72144e]|0.3426,0.3426,[72144e]|0.3948,0.3948,[72144e]|0.4619,0.4619,[72144e]|0.4619,0.4619,[72144e]|0.4979,0.4979,[72144e]|0.4652,0.4652,[72144e]|0.433,0.433,[72144e]|0.3983,0.3983,[72144e]|0.4619,0.4619,[72144e]|0.5296,0.5296,[72144e]|0.5419,0.5419,[72144e]|0.4864,0.4864,[72144e]|0.5176,0.5176,[72144e]|0.5176,0.5176,[72144e]|0.5176,0.5176,[72144e]|0.4541,0.4541,[72144e]|0.3599,0.3599,[72144e]|0.3872,0.3872,[72144e]|0.4119,0.4119,[72144e]|0.4292,0.4292,[72144e]|0.3948,0.3948,[72144e]|0.4017,0.4017,[72144e]|0.3704,0.3704,[72144e]|0.3356,0.3356,[72144e]|0.3053,0.3053,[72144e]|0.3286,0.3286,[72144e]|0.3286,0.3286,[72144e]|0.3087,0.3087,[72144e]|0.3392,0.3392,[72144e]|0.3774,0.3774,[72144e]|0.3182,0.3182,[72144e]|0.2918,0.2918,[72144e]|0.2609,0.2609,[72144e]|0.2292,0.2292,[72144e]|0.2224,0.2224,[72144e]|0.1731,0.1731,[72144e]|0.2002,0.2002,[72144e]|0.2002,0.2002,[72144e]|0.2436,0.2436,[72144e]|0.247,0.247,[72144e]|0.3426,0.3426,[72144e]|0.3774,0.3774,[72144e]|0.3774,0.3774,[72144e]|0.3704,0.3704,[72144e]|0.4087,0.4087,[72144e]|0.4369,0.4369,[72144e]|0.3704,0.3704,[72144e]|0.3948,0.3948,[72144e]|0.2988,0.2988,[72144e]|0.3807,0.3807,[72144e]|0.391,0.391,[72144e]|0.4292,0.4292,[72144e]|0.4087,0.4087,[72144e]|0.3529,0.3529,[72144e]|0.3149,0.3149,[72144e]|0.3356,0.3356,[72144e]|0.3566,0.3566,[72144e]|0.3807,0.3807,[72144e]|0.3529,0.3529,[72144e]|0.4369,0.4369,[72144e]|0.5139,0.5139,[72144e]|0.4831,0.4831,[72144e]|0.4507,0.4507,[72144e]|0.3566,0.3566,[72144e]|0.3704,0.3704,[72144e]|0.3182,0.3182,[72144e]|0.3392,0.3392,[72144e]|0.2328,0.2328,[72144e]|0.2951,0.2951,[72144e]|0.1791,0.1791,[72144e]|0.2715,0.2715,[72144e]|0.2164,0.2164,[72144e]|0.2002,0.2002,[72144e]|0.1881,0.1881,[72144e]|0.1501,0.1501,[72144e]|0.2164,0.2164,[72144e]|0.2817,0.2817,[72144e]|0.247,0.247,[72144e]|0.2094,0.2094,[72144e]|0.2328,0.2328,[72144e]|0.2503,0.2503,[72144e]|0.1823,0.1823,[72144e]|0.1643,0.1643,[72144e]|0.1852,0.1852,[72144e]|0.1852,0.1852,[72144e]|0.247,0.247,[72144e]|0.1881,0.1881,[72144e]|0.2541,0.2541,[72144e]|0.2328,0.2328,[72144e]|0.3249,0.3249,[72144e]|0.3426,0.3426,[72144e]|0.4369,0.4369,[72144e]|0.4292,0.4292,[72144e]|0.3704,0.3704,[72144e]|0.3117,0.3117,[72144e]|0.3249,0.3249,[72144e]|0.4369,0.4369,[72144e]|0.4507,0.4507,[72144e]|0.4619,0.4619,[72144e]|0.4901,0.4901,[72144e]|0.5055,0.5055,[72144e]|0.5342,0.5342,[72144e]|0.5419,0.5419,[72144e]|0.5176,0.5176,[72144e]|0.4619,0.4619,[72144e]|0.4017,0.4017,[72144e]|0.4051,0.4051,[72144e]|0.3053,0.3053,[72144e]|0.3053,0.3053,[72144e]|0.2783,0.2783,[72144e]|0.1942,0.1942,[72144e]|0.2129,0.2129,[72144e]|0.2002,0.2002,[72144e]|0.2002,0.2002,[72144e]|0.2129,0.2129,[72144e]|0.2503,0.2503,[72144e]|0.3117,0.3117,[72144e]|0.2328,0.2328,[72144e]|0.2399,0.2399,[72144e]|0.2258,0.2258,[72144e]|0.2129,0.2129,[72144e]|0.268,0.268,[72144e]|0.2988,0.2988,[72144e]|0.2988,0.2988,[72144e]|0.3215,0.3215,[72144e]|0.3249,0.3249,[72144e]|0.3774,0.3774,[72144e]|0.4149,0.4149,[72144e]|0.4051,0.4051,[72144e]|0.4979,0.4979,[72144e]|0.5456,0.5456,[72144e]|0.5665,0.5665,[72144e]|0.6755,0.6755,[72144e]|0.6089,0.6089,[72144e]|0.5901,0.5901,[72144e]|0.5807,0.5807,[72144e]|0.5382,0.5382,[72144e]|0.6227,0.6227,[72144e]|0.6043,0.6043,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8857,0.8857,[329440]|0.8283,0.8283,[329440]|0.7912,0.7912,[329440]|0.7111,0.7111,[329440]|0.6681,0.6681,[329440]|0.6334,0.6334,[329440]|0.5549,0.5549,[329440]|0.4282,0.4282,[329440]|0.3491,0.3491,[329440]|0.3311,0.3311,[329440]|0.2913,0.2913,[329440]|0.3225,0.3225,[329440]|0.3806,0.3806,[329440]|0.442,0.442,[329440]|0.4078,0.4078,[329440]|0.4078,0.4078,[329440]|0.4078,0.4078,[329440]|0.4037,0.4037,[329440]|0.3939,0.3939,[329440]|0.4203,0.4203,[329440]|0.4245,0.4245,[329440]|0.46,0.46,[329440]|0.3885,0.3885,[329440]|0.4282,0.4282,[329440]|0.4556,0.4556,[329440]|0.4149,0.4149,[329440]|0.3885,0.3885,[329440]|0.3847,0.3847,[329440]|0.4203,0.4203,[329440]|0.3263,0.3263,[329440]|0.3311,0.3311,[329440]|0.3263,0.3263,[329440]|0.3005,0.3005,[329440]|0.2432,0.2432,[329440]|0.2786,0.2786,[329440]|0.2865,0.2865,[329440]|0.3146,0.3146,[329440]|0.3578,0.3578,[329440]|0.3535,0.3535,[329440]|0.3263,0.3263,[329440]|0.2913,0.2913,[329440]|0.2558,0.2558,[329440]|0.2913,0.2913,[329440]|0.2657,0.2657,[329440]|0.1698,0.1698,[329440]|0.1958,0.1958,[329440]|0.1878,0.1878,[329440]|0.2748,0.2748,[329440]|0.2041,0.2041,[329440]|0.208,0.208,[329440]|0.1998,0.1998,[329440]|0.2333,0.2333,[329440]|0.2483,0.2483,[329440]|0.2748,0.2748,[329440]|0.2602,0.2602,[329440]|0.2602,0.2602,[329440]|0.2786,0.2786,[329440]|0.1998,0.1998,[329440]|0.2748,0.2748,[329440]|0.1844,0.1844,[329440]|0.2483,0.2483,[329440]|0.2913,0.2913,[329440]|0.3456,0.3456,[329440]|0.3184,0.3184,[329440]|0.3225,0.3225,[329440]|0.27,0.27,[329440]|0.2748,0.2748,[329440]|0.2913,0.2913,[329440]|0.3225,0.3225,[329440]|0.3491,0.3491,[329440]|0.3717,0.3717,[329440]|0.3578,0.3578,[329440]|0.3053,0.3053,[329440]|0.3005,0.3005,[329440]|0.2602,0.2602,[329440]|0.2748,0.2748,[329440]|0.1958,0.1958,[329440]|0.3005,0.3005,[329440]|0.2209,0.2209,[329440]|0.3146,0.3146,[329440]|0.1602,0.1602,[329440]|0.138,0.138,[329440]|0.1041,0.1041,[329440]|0.1349,0.1349,[329440]|0.1958,0.1958,[329440]|0.1532,0.1532,[329440]|0.2041,0.2041,[329440]|0.1878,0.1878,[329440]|0.1322,0.1322,[329440]|0.1349,0.1349,[329440]|0.124,0.124,[329440]|0.0991,0.0991,[329440]|0.0884,0.0884,[329440]|0.0858,0.0858,[329440]|0.1205,0.1205,[329440]|0.1018,0.1018,[329440]|0.138,0.138,[329440]|0.0832,0.0832,[329440]|0.1178,0.1178,[329440]|0.1178,0.1178,[329440]|0.2385,0.2385,[329440]|0.2602,0.2602,[329440]|0.2865,0.2865,[329440]|0.2963,0.2963,[329440]|0.2209,0.2209,[329440]|0.2748,0.2748,[329440]|0.2865,0.2865,[329440]|0.2963,0.2963,[329440]|0.4116,0.4116,[329440]|0.442,0.442,[329440]|0.3885,0.3885,[329440]|0.3885,0.3885,[329440]|0.4651,0.4651,[329440]|0.4749,0.4749,[329440]|0.4149,0.4149,[329440]|0.3762,0.3762,[329440]|0.3184,0.3184,[329440]|0.3668,0.3668,[329440]|0.3146,0.3146,[329440]|0.2657,0.2657,[329440]|0.2333,0.2333,[329440]|0.1667,0.1667,[329440]|0.208,0.208,[329440]|0.1998,0.1998,[329440]|0.2786,0.2786,[329440]|0.3456,0.3456,[329440]|0.2786,0.2786,[329440]|0.2602,0.2602,[329440]|0.1844,0.1844,[329440]|0.1998,0.1998,[329440]|0.2483,0.2483,[329440]|0.2531,0.2531,[329440]|0.2041,0.2041,[329440]|0.2209,0.2209,[329440]|0.2963,0.2963,[329440]|0.3578,0.3578,[329440]|0.3491,0.3491,[329440]|0.3491,0.3491,[329440]|0.3847,0.3847,[329440]|0.4781,0.4781,[329440]|0.5374,0.5374,[329440]|0.6442,0.6442,[329440]|0.6474,0.6474,[329440]|0.6944,0.6944,[329440]|0.7317,0.7317,[329440]|0.7605,0.7605,[329440]|0.8521,0.8521,[329440]|0.892,0.892,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER_CAPAN
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.2817,0.2817,[72144e]|0.1671,0.1671,[72144e]|0.1611,0.1611,[72144e]|0.2364,0.2364,[72144e]|0.2783,0.2783,[72144e]|0.2951,0.2951,[72144e]|0.3566,0.3566,[72144e]|0.3426,0.3426,[72144e]|0.3053,0.3053,[72144e]|0.3286,0.3286,[72144e]|0.346,0.346,[72144e]|0.3087,0.3087,[72144e]|0.3321,0.3321,[72144e]|0.3631,0.3631,[72144e]|0.346,0.346,[72144e]|0.3774,0.3774,[72144e]|0.4119,0.4119,[72144e]|0.3566,0.3566,[72144e]|0.384,0.384,[72144e]|0.4766,0.4766,[72144e]|0.4507,0.4507,[72144e]|0.3807,0.3807,[72144e]|0.2884,0.2884,[72144e]|0.3774,0.3774,[72144e]|0.3392,0.3392,[72144e]|0.3019,0.3019,[72144e]|0.2918,0.2918,[72144e]|0.2752,0.2752,[72144e]|0.2503,0.2503,[72144e]|0.2752,0.2752,[72144e]|0.3249,0.3249,[72144e]|0.3149,0.3149,[72144e]|0.2645,0.2645,[72144e]|0.3356,0.3356,[72144e]|0.2399,0.2399,[72144e]|0.1852,0.1852,[72144e]|0.2258,0.2258,[72144e]|0.1969,0.1969,[72144e]|0.1251,0.1251,[72144e]|0.1583,0.1583,[72144e]|0.1229,0.1229,[72144e]|0.1028,0.1028,[72144e]|0.0817,0.0817,[72144e]|0.0799,0.0799,[72144e]|0.1399,0.1399,[72144e]|0.1611,0.1611,[72144e]|0.2399,0.2399,[72144e]|0.247,0.247,[72144e]|0.2783,0.2783,[72144e]|0.2328,0.2328,[72144e]|0.2503,0.2503,[72144e]|0.1643,0.1643,[72144e]|0.1791,0.1791,[72144e]|0.1092,0.1092,[72144e]|0.1702,0.1702,[72144e]|0.1791,0.1791,[72144e]|0.2849,0.2849,[72144e]|0.2645,0.2645,[72144e]|0.2094,0.2094,[72144e]|0.1501,0.1501,[72144e]|0.1643,0.1643,[72144e]|0.1852,0.1852,[72144e]|0.247,0.247,[72144e]|0.2258,0.2258,[72144e]|0.3149,0.3149,[72144e]|0.4087,0.4087,[72144e]|0.3774,0.3774,[72144e]|0.346,0.346,[72144e]|0.3286,0.3286,[72144e]|0.3494,0.3494,[72144e]|0.2541,0.2541,[72144e]|0.3529,0.3529,[72144e]|0.247,0.247,[72144e]|0.3392,0.3392,[72144e]|0.2224,0.2224,[72144e]|0.3249,0.3249,[72144e]|0.268,0.268,[72144e]|0.2541,0.2541,[72144e]|0.2436,0.2436,[72144e]|0.1969,0.1969,[72144e]|0.2752,0.2752,[72144e]|0.3426,0.3426,[72144e]|0.3053,0.3053,[72144e]|0.2645,0.2645,[72144e]|0.2503,0.2503,[72144e]|0.2715,0.2715,[72144e]|0.1823,0.1823,[72144e]|0.1424,0.1424,[72144e]|0.1611,0.1611,[72144e]|0.1611,0.1611,[72144e]|0.1424,0.1424,[72144e]|0.0967,0.0967,[72144e]|0.1528,0.1528,[72144e]|0.1399,0.1399,[72144e]|0.2129,0.2129,[72144e]|0.2292,0.2292,[72144e]|0.3286,0.3286,[72144e]|0.3356,0.3356,[72144e]|0.2752,0.2752,[72144e]|0.2094,0.2094,[72144e]|0.2292,0.2292,[72144e]|0.346,0.346,[72144e]|0.3631,0.3631,[72144e]|0.374,0.374,[72144e]|0.4119,0.4119,[72144e]|0.4619,0.4619,[72144e]|0.4864,0.4864,[72144e]|0.4901,0.4901,[72144e]|0.4979,0.4979,[72144e]|0.4725,0.4725,[72144e]|0.4051,0.4051,[72144e]|0.4087,0.4087,[72144e]|0.3182,0.3182,[72144e]|0.3215,0.3215,[72144e]|0.2817,0.2817,[72144e]|0.1969,0.1969,[72144e]|0.2224,0.2224,[72144e]|0.2164,0.2164,[72144e]|0.2129,0.2129,[72144e]|0.2193,0.2193,[72144e]|0.2575,0.2575,[72144e]|0.3215,0.3215,[72144e]|0.2399,0.2399,[72144e]|0.2436,0.2436,[72144e]|0.2292,0.2292,[72144e]|0.2164,0.2164,[72144e]|0.268,0.268,[72144e]|0.268,0.268,[72144e]|0.2193,0.2193,[72144e]|0.2436,0.2436,[72144e]|0.2436,0.2436,[72144e]|0.247,0.247,[72144e]|0.3087,0.3087,[72144e]|0.3019,0.3019,[72144e]|0.4017,0.4017,[72144e]|0.4441,0.4441,[72144e]|0.4541,0.4541,[72144e]|0.5419,0.5419,[72144e]|0.4831,0.4831,[72144e]|0.4507,0.4507,[72144e]|0.4369,0.4369,[72144e]|0.391,0.391,[72144e]|0.4541,0.4541,[72144e]|0.4292,0.4292,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8424,0.8424,[329440]|0.8074,0.8074,[329440]|0.7644,0.7644,[329440]|0.6442,0.6442,[329440]|0.5762,0.5762,[329440]|0.5549,0.5549,[329440]|0.5253,0.5253,[329440]|0.4879,0.4879,[329440]|0.4651,0.4651,[329440]|0.3847,0.3847,[329440]|0.2748,0.2748,[329440]|0.2963,0.2963,[329440]|0.3311,0.3311,[329440]|0.2657,0.2657,[329440]|0.3311,0.3311,[329440]|0.3535,0.3535,[329440]|0.3146,0.3146,[329440]|0.3311,0.3311,[329440]|0.3578,0.3578,[329440]|0.363,0.363,[329440]|0.3578,0.3578,[329440]|0.363,0.363,[329440]|0.3225,0.3225,[329440]|0.3491,0.3491,[329440]|0.2913,0.2913,[329440]|0.2657,0.2657,[329440]|0.1878,0.1878,[329440]|0.1878,0.1878,[329440]|0.1732,0.1732,[329440]|0.1732,0.1732,[329440]|0.2292,0.2292,[329440]|0.2255,0.2255,[329440]|0.2255,0.2255,[329440]|0.282,0.282,[329440]|0.2209,0.2209,[329440]|0.1958,0.1958,[329440]|0.1844,0.1844,[329440]|0.138,0.138,[329440]|0.1088,0.1088,[329440]|0.1602,0.1602,[329440]|0.1041,0.1041,[329440]|0.0965,0.0965,[329440]|0.0813,0.0813,[329440]|0.1088,0.1088,[329440]|0.1205,0.1205,[329440]|0.0789,0.0789,[329440]|0.1117,0.1117,[329440]|0.1322,0.1322,[329440]|0.1349,0.1349,[329440]|0.1602,0.1602,[329440]|0.1805,0.1805,[329440]|0.1322,0.1322,[329440]|0.1495,0.1495,[329440]|0.0965,0.0965,[329440]|0.1495,0.1495,[329440]|0.0771,0.0771,[329440]|0.1495,0.1495,[329440]|0.1921,0.1921,[329440]|0.2209,0.2209,[329440]|0.1698,0.1698,[329440]|0.1805,0.1805,[329440]|0.1456,0.1456,[329440]|0.1495,0.1495,[329440]|0.1732,0.1732,[329440]|0.2432,0.2432,[329440]|0.2786,0.2786,[329440]|0.3053,0.3053,[329440]|0.2913,0.2913,[329440]|0.2432,0.2432,[329440]|0.2432,0.2432,[329440]|0.1958,0.1958,[329440]|0.2865,0.2865,[329440]|0.2041,0.2041,[329440]|0.3225,0.3225,[329440]|0.2385,0.2385,[329440]|0.3578,0.3578,[329440]|0.1844,0.1844,[329440]|0.1698,0.1698,[329440]|0.1495,0.1495,[329440]|0.1844,0.1844,[329440]|0.2558,0.2558,[329440]|0.1844,0.1844,[329440]|0.2483,0.2483,[329440]|0.2385,0.2385,[329440]|0.1266,0.1266,[329440]|0.1322,0.1322,[329440]|0.1205,0.1205,[329440]|0.0965,0.0965,[329440]|0.0832,0.0832,[329440]|0.0744,0.0744,[329440]|0.0813,0.0813,[329440]|0.0677,0.0677,[329440]|0.0832,0.0832,[329440]|0.0478,0.0478,[329440]|0.0813,0.0813,[329440]|0.0813,0.0813,[329440]|0.1766,0.1766,[329440]|0.1958,0.1958,[329440]|0.2209,0.2209,[329440]|0.2255,0.2255,[329440]|0.1566,0.1566,[329440]|0.208,0.208,[329440]|0.2209,0.2209,[329440]|0.2292,0.2292,[329440]|0.3668,0.3668,[329440]|0.3939,0.3939,[329440]|0.3263,0.3263,[329440]|0.3717,0.3717,[329440]|0.4513,0.4513,[329440]|0.4825,0.4825,[329440]|0.4245,0.4245,[329440]|0.3762,0.3762,[329440]|0.3399,0.3399,[329440]|0.3885,0.3885,[329440]|0.3053,0.3053,[329440]|0.2531,0.2531,[329440]|0.2385,0.2385,[329440]|0.1635,0.1635,[329440]|0.2041,0.2041,[329440]|0.208,0.208,[329440]|0.2865,0.2865,[329440]|0.3668,0.3668,[329440]|0.2865,0.2865,[329440]|0.27,0.27,[329440]|0.1805,0.1805,[329440]|0.1998,0.1998,[329440]|0.2602,0.2602,[329440]|0.2209,0.2209,[329440]|0.1766,0.1766,[329440]|0.1958,0.1958,[329440]|0.2209,0.2209,[329440]|0.2913,0.2913,[329440]|0.2913,0.2913,[329440]|0.2385,0.2385,[329440]|0.3096,0.3096,[329440]|0.4078,0.4078,[329440]|0.4749,0.4749,[329440]|0.5846,0.5846,[329440]|0.59,0.59,[329440]|0.6334,0.6334,[329440]|0.6681,0.6681,[329440]|0.6906,0.6906,[329440]|0.7869,0.7869,[329440]|0.835,0.835,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER_CAPAA
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.247,0.247,[72144e]|0.3392,0.3392,[72144e]|0.2609,0.2609,[72144e]|0.3249,0.3249,[72144e]|0.2258,0.2258,[72144e]|0.2817,0.2817,[72144e]|0.1759,0.1759,[72144e]|0.2364,0.2364,[72144e]|0.2817,0.2817,[72144e]|0.3215,0.3215,[72144e]|0.2918,0.2918,[72144e]|0.2436,0.2436,[72144e]|0.1852,0.1852,[72144e]|0.1942,0.1942,[72144e]|0.2258,0.2258,[72144e]|0.2884,0.2884,[72144e]|0.2783,0.2783,[72144e]|0.3667,0.3667,[72144e]|0.4541,0.4541,[72144e]|0.4292,0.4292,[72144e]|0.3948,0.3948,[72144e]|0.3704,0.3704,[72144e]|0.391,0.391,[72144e]|0.2918,0.2918,[72144e]|0.3948,0.3948,[72144e]|0.2951,0.2951,[72144e]|0.3872,0.3872,[72144e]|0.2575,0.2575,[72144e]|0.3599,0.3599,[72144e]|0.3019,0.3019,[72144e]|0.2849,0.2849,[72144e]|0.2645,0.2645,[72144e]|0.2034,0.2034,[72144e]|0.2752,0.2752,[72144e]|0.3356,0.3356,[72144e]|0.2918,0.2918,[72144e]|0.247,0.247,[72144e]|0.2364,0.2364,[72144e]|0.247,0.247,[72144e]|0.1643,0.1643,[72144e]|0.1275,0.1275,[72144e]|0.1449,0.1449,[72144e]|0.1449,0.1449,[72144e]|0.1323,0.1323,[72144e]|0.0888,0.0888,[72144e]|0.1449,0.1449,[72144e]|0.1275,0.1275,[72144e]|0.1881,0.1881,[72144e]|0.2064,0.2064,[72144e]|0.3149,0.3149,[72144e]|0.3286,0.3286,[72144e]|0.268,0.268,[72144e]|0.2034,0.2034,[72144e]|0.2224,0.2224,[72144e]|0.3494,0.3494,[72144e]|0.3704,0.3704,[72144e]|0.3807,0.3807,[72144e]|0.422,0.422,[72144e]|0.4725,0.4725,[72144e]|0.5017,0.5017,[72144e]|0.5176,0.5176,[72144e]|0.5176,0.5176,[72144e]|0.4901,0.4901,[72144e]|0.422,0.422,[72144e]|0.422,0.422,[72144e]|0.3356,0.3356,[72144e]|0.3356,0.3356,[72144e]|0.2951,0.2951,[72144e]|0.2129,0.2129,[72144e]|0.2436,0.2436,[72144e]|0.2328,0.2328,[72144e]|0.2328,0.2328,[72144e]|0.247,0.247,[72144e]|0.2849,0.2849,[72144e]|0.3494,0.3494,[72144e]|0.2609,0.2609,[72144e]|0.268,0.268,[72144e]|0.2541,0.2541,[72144e]|0.2328,0.2328,[72144e]|0.2849,0.2849,[72144e]|0.2884,0.2884,[72144e]|0.2364,0.2364,[72144e]|0.2609,0.2609,[72144e]|0.2645,0.2645,[72144e]|0.2645,0.2645,[72144e]|0.3286,0.3286,[72144e]|0.3215,0.3215,[72144e]|0.4186,0.4186,[72144e]|0.4582,0.4582,[72144e]|0.4725,0.4725,[72144e]|0.5533,0.5533,[72144e]|0.494,0.494,[72144e]|0.4652,0.4652,[72144e]|0.4476,0.4476,[72144e]|0.3983,0.3983,[72144e]|0.4619,0.4619,[72144e]|0.433,0.433,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.7724,0.7724,[329440]|0.7501,0.7501,[329440]|0.7111,0.7111,[329440]|0.6984,0.6984,[329440]|0.59,0.59,[329440]|0.5711,0.5711,[329440]|0.442,0.442,[329440]|0.4203,0.4203,[329440]|0.2786,0.2786,[329440]|0.27,0.27,[329440]|0.2385,0.2385,[329440]|0.3005,0.3005,[329440]|0.2385,0.2385,[329440]|0.2483,0.2483,[329440]|0.2167,0.2167,[329440]|0.2255,0.2255,[329440]|0.2657,0.2657,[329440]|0.3456,0.3456,[329440]|0.3717,0.3717,[329440]|0.3992,0.3992,[329440]|0.3847,0.3847,[329440]|0.3311,0.3311,[329440]|0.3225,0.3225,[329440]|0.27,0.27,[329440]|0.3668,0.3668,[329440]|0.2786,0.2786,[329440]|0.4037,0.4037,[329440]|0.3096,0.3096,[329440]|0.4116,0.4116,[329440]|0.2255,0.2255,[329440]|0.2041,0.2041,[329440]|0.1602,0.1602,[329440]|0.1998,0.1998,[329440]|0.2657,0.2657,[329440]|0.1921,0.1921,[329440]|0.2558,0.2558,[329440]|0.2483,0.2483,[329440]|0.1322,0.1322,[329440]|0.138,0.138,[329440]|0.124,0.124,[329440]|0.0991,0.0991,[329440]|0.0884,0.0884,[329440]|0.0771,0.0771,[329440]|0.0858,0.0858,[329440]|0.0701,0.0701,[329440]|0.0858,0.0858,[329440]|0.049,0.049,[329440]|0.0813,0.0813,[329440]|0.0813,0.0813,[329440]|0.1766,0.1766,[329440]|0.1998,0.1998,[329440]|0.2255,0.2255,[329440]|0.2255,0.2255,[329440]|0.1566,0.1566,[329440]|0.208,0.208,[329440]|0.2209,0.2209,[329440]|0.2292,0.2292,[329440]|0.3668,0.3668,[329440]|0.3939,0.3939,[329440]|0.3263,0.3263,[329440]|0.3717,0.3717,[329440]|0.4513,0.4513,[329440]|0.4825,0.4825,[329440]|0.4245,0.4245,[329440]|0.3762,0.3762,[329440]|0.3399,0.3399,[329440]|0.3885,0.3885,[329440]|0.3053,0.3053,[329440]|0.2531,0.2531,[329440]|0.2385,0.2385,[329440]|0.1635,0.1635,[329440]|0.2041,0.2041,[329440]|0.208,0.208,[329440]|0.2865,0.2865,[329440]|0.3668,0.3668,[329440]|0.2865,0.2865,[329440]|0.27,0.27,[329440]|0.1805,0.1805,[329440]|0.1998,0.1998,[329440]|0.2602,0.2602,[329440]|0.2209,0.2209,[329440]|0.1766,0.1766,[329440]|0.1958,0.1958,[329440]|0.2209,0.2209,[329440]|0.2913,0.2913,[329440]|0.2913,0.2913,[329440]|0.2385,0.2385,[329440]|0.3096,0.3096,[329440]|0.4078,0.4078,[329440]|0.4749,0.4749,[329440]|0.5846,0.5846,[329440]|0.59,0.59,[329440]|0.6334,0.6334,[329440]|0.6681,0.6681,[329440]|0.6906,0.6906,[329440]|0.7869,0.7869,[329440]|0.835,0.835,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   Q93XJ9_SOLTU
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.3182,0.3182,[72144e]|0.2002,0.2002,[72144e]|0.1449,0.1449,[72144e]|0.2164,0.2164,[72144e]|0.2503,0.2503,[72144e]|0.268,0.268,[72144e]|0.3286,0.3286,[72144e]|0.2951,0.2951,[72144e]|0.2609,0.2609,[72144e]|0.2849,0.2849,[72144e]|0.3053,0.3053,[72144e]|0.2609,0.2609,[72144e]|0.2817,0.2817,[72144e]|0.2541,0.2541,[72144e]|0.2575,0.2575,[72144e]|0.2575,0.2575,[72144e]|0.2645,0.2645,[72144e]|0.2064,0.2064,[72144e]|0.2292,0.2292,[72144e]|0.3149,0.3149,[72144e]|0.2884,0.2884,[72144e]|0.2164,0.2164,[72144e]|0.1399,0.1399,[72144e]|0.2129,0.2129,[72144e]|0.2094,0.2094,[72144e]|0.1731,0.1731,[72144e]|0.1702,0.1702,[72144e]|0.1759,0.1759,[72144e]|0.1501,0.1501,[72144e]|0.2002,0.2002,[72144e]|0.247,0.247,[72144e]|0.2436,0.2436,[72144e]|0.1823,0.1823,[72144e]|0.2503,0.2503,[72144e]|0.1583,0.1583,[72144e]|0.1611,0.1611,[72144e]|0.2002,0.2002,[72144e]|0.2002,0.2002,[72144e]|0.1298,0.1298,[72144e]|0.1643,0.1643,[72144e]|0.1275,0.1275,[72144e]|0.107,0.107,[72144e]|0.087,0.087,[72144e]|0.087,0.087,[72144e]|0.1501,0.1501,[72144e]|0.1759,0.1759,[72144e]|0.2503,0.2503,[72144e]|0.2609,0.2609,[72144e]|0.2918,0.2918,[72144e]|0.2258,0.2258,[72144e]|0.2436,0.2436,[72144e]|0.1554,0.1554,[72144e]|0.1731,0.1731,[72144e]|0.0948,0.0948,[72144e]|0.1611,0.1611,[72144e]|0.1702,0.1702,[72144e]|0.2849,0.2849,[72144e]|0.2609,0.2609,[72144e]|0.2094,0.2094,[72144e]|0.1554,0.1554,[72144e]|0.1671,0.1671,[72144e]|0.1852,0.1852,[72144e]|0.2436,0.2436,[72144e]|0.2258,0.2258,[72144e]|0.3117,0.3117,[72144e]|0.3983,0.3983,[72144e]|0.4186,0.4186,[72144e]|0.3872,0.3872,[72144e]|0.374,0.374,[72144e]|0.3872,0.3872,[72144e]|0.2918,0.2918,[72144e]|0.391,0.391,[72144e]|0.2918,0.2918,[72144e]|0.384,0.384,[72144e]|0.2541,0.2541,[72144e]|0.3631,0.3631,[72144e]|0.3053,0.3053,[72144e]|0.2918,0.2918,[72144e]|0.2783,0.2783,[72144e]|0.2193,0.2193,[72144e]|0.2951,0.2951,[72144e]|0.3599,0.3599,[72144e]|0.3149,0.3149,[72144e]|0.2752,0.2752,[72144e]|0.2645,0.2645,[72144e]|0.2817,0.2817,[72144e]|0.2094,0.2094,[72144e]|0.1942,0.1942,[72144e]|0.1528,0.1528,[72144e]|0.1528,0.1528,[72144e]|0.1554,0.1554,[72144e]|0.1092,0.1092,[72144e]|0.1671,0.1671,[72144e]|0.1501,0.1501,[72144e]|0.2164,0.2164,[72144e]|0.2292,0.2292,[72144e]|0.3392,0.3392,[72144e]|0.3249,0.3249,[72144e]|0.2645,0.2645,[72144e]|0.2034,0.2034,[72144e]|0.2164,0.2164,[72144e]|0.3356,0.3356,[72144e]|0.3494,0.3494,[72144e]|0.3599,0.3599,[72144e]|0.494,0.494,[72144e]|0.494,0.494,[72144e]|0.4652,0.4652,[72144e]|0.4766,0.4766,[72144e]|0.4369,0.4369,[72144e]|0.3872,0.3872,[72144e]|0.3494,0.3494,[72144e]|0.3529,0.3529,[72144e]|0.2292,0.2292,[72144e]|0.2328,0.2328,[72144e]|0.2002,0.2002,[72144e]|0.1349,0.1349,[72144e]|0.1611,0.1611,[72144e]|0.1399,0.1399,[72144e]|0.0676,0.0676,[72144e]|0.078,0.078,[72144e]|0.1007,0.1007,[72144e]|0.1424,0.1424,[72144e]|0.0948,0.0948,[72144e]|0.0985,0.0985,[72144e]|0.0929,0.0929,[72144e]|0.0851,0.0851,[72144e]|0.0676,0.0676,[72144e]|0.0909,0.0909,[72144e]|0.1229,0.1229,[72144e]|0.1399,0.1399,[72144e]|0.1583,0.1583,[72144e]|0.1969,0.1969,[72144e]|0.2364,0.2364,[72144e]|0.2292,0.2292,[72144e]|0.3321,0.3321,[72144e]|0.3667,0.3667,[72144e]|0.3774,0.3774,[72144e]|0.4441,0.4441,[72144e]|0.3872,0.3872,[72144e]|0.384,0.384,[72144e]|0.5577,0.5577,[72144e]|0.5176,0.5176,[72144e]|0.6043,0.6043,[72144e]|0.5854,0.5854,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8311,0.8311,[329440]|0.7912,0.7912,[329440]|0.7501,0.7501,[329440]|0.6255,0.6255,[329440]|0.5008,0.5008,[329440]|0.4825,0.4825,[329440]|0.4513,0.4513,[329440]|0.4078,0.4078,[329440]|0.3885,0.3885,[329440]|0.2786,0.2786,[329440]|0.1732,0.1732,[329440]|0.1921,0.1921,[329440]|0.2292,0.2292,[329440]|0.1635,0.1635,[329440]|0.2385,0.2385,[329440]|0.2041,0.2041,[329440]|0.138,0.138,[329440]|0.138,0.138,[329440]|0.1566,0.1566,[329440]|0.1698,0.1698,[329440]|0.1698,0.1698,[329440]|0.1698,0.1698,[329440]|0.138,0.138,[329440]|0.1566,0.1566,[329440]|0.1456,0.1456,[329440]|0.1266,0.1266,[329440]|0.0744,0.0744,[329440]|0.0744,0.0744,[329440]|0.0621,0.0621,[329440]|0.0965,0.0965,[329440]|0.1416,0.1416,[329440]|0.138,0.138,[329440]|0.1349,0.1349,[329440]|0.2041,0.2041,[329440]|0.138,0.138,[329440]|0.1667,0.1667,[329440]|0.1635,0.1635,[329440]|0.138,0.138,[329440]|0.1117,0.1117,[329440]|0.1635,0.1635,[329440]|0.1088,0.1088,[329440]|0.1041,0.1041,[329440]|0.0884,0.0884,[329440]|0.1266,0.1266,[329440]|0.1416,0.1416,[329440]|0.1018,0.1018,[329440]|0.1495,0.1495,[329440]|0.1732,0.1732,[329440]|0.1805,0.1805,[329440]|0.1805,0.1805,[329440]|0.2041,0.2041,[329440]|0.1566,0.1566,[329440]|0.1732,0.1732,[329440]|0.1117,0.1117,[329440]|0.1766,0.1766,[329440]|0.0991,0.0991,[329440]|0.1805,0.1805,[329440]|0.2292,0.2292,[329440]|0.2865,0.2865,[329440]|0.2292,0.2292,[329440]|0.2432,0.2432,[329440]|0.2041,0.2041,[329440]|0.2122,0.2122,[329440]|0.2432,0.2432,[329440]|0.3184,0.3184,[329440]|0.3535,0.3535,[329440]|0.3762,0.3762,[329440]|0.363,0.363,[329440]|0.3762,0.3762,[329440]|0.3717,0.3717,[329440]|0.3225,0.3225,[329440]|0.4078,0.4078,[329440]|0.3359,0.3359,[329440]|0.4458,0.4458,[329440]|0.3668,0.3668,[329440]|0.4879,0.4879,[329440]|0.3096,0.3096,[329440]|0.2865,0.2865,[329440]|0.2385,0.2385,[329440]|0.2865,0.2865,[329440]|0.3578,0.3578,[329440]|0.2865,0.2865,[329440]|0.3491,0.3491,[329440]|0.3359,0.3359,[329440]|0.208,0.208,[329440]|0.2167,0.2167,[329440]|0.1958,0.1958,[329440]|0.1635,0.1635,[329440]|0.1117,0.1117,[329440]|0.1088,0.1088,[329440]|0.1041,0.1041,[329440]|0.0858,0.0858,[329440]|0.1117,0.1117,[329440]|0.0643,0.0643,[329440]|0.1041,0.1041,[329440]|0.1041,0.1041,[329440]|0.2122,0.2122,[329440]|0.2292,0.2292,[329440]|0.2483,0.2483,[329440]|0.2333,0.2333,[329440]|0.1602,0.1602,[329440]|0.208,0.208,[329440]|0.2167,0.2167,[329440]|0.2209,0.2209,[329440]|0.3491,0.3491,[329440]|0.3717,0.3717,[329440]|0.3885,0.3885,[329440]|0.3806,0.3806,[329440]|0.3992,0.3992,[329440]|0.4116,0.4116,[329440]|0.3668,0.3668,[329440]|0.3263,0.3263,[329440]|0.2748,0.2748,[329440]|0.3225,0.3225,[329440]|0.2122,0.2122,[329440]|0.1635,0.1635,[329440]|0.1495,0.1495,[329440]|0.0991,0.0991,[329440]|0.1322,0.1322,[329440]|0.1292,0.1292,[329440]|0.1117,0.1117,[329440]|0.1667,0.1667,[329440]|0.1117,0.1117,[329440]|0.1018,0.1018,[329440]|0.0607,0.0607,[329440]|0.0723,0.0723,[329440]|0.0587,0.0587,[329440]|0.0643,0.0643,[329440]|0.0643,0.0643,[329440]|0.0771,0.0771,[329440]|0.1292,0.1292,[329440]|0.1766,0.1766,[329440]|0.1667,0.1667,[329440]|0.1667,0.1667,[329440]|0.2255,0.2255,[329440]|0.3225,0.3225,[329440]|0.3885,0.3885,[329440]|0.5008,0.5008,[329440]|0.5008,0.5008,[329440]|0.5667,0.5667,[329440]|0.7079,0.7079,[329440]|0.7342,0.7342,[329440]|0.835,0.835,[329440]|0.8746,0.8746,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+SEQUENCE_REF   FER1_SOLLC
+LINE_GRAPH     IUPredWS (Long) <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.3286,0.3286,[72144e]|0.2094,0.2094,[72144e]|0.1528,0.1528,[72144e]|0.2258,0.2258,[72144e]|0.2609,0.2609,[72144e]|0.2752,0.2752,[72144e]|0.3356,0.3356,[72144e]|0.3249,0.3249,[72144e]|0.2918,0.2918,[72144e]|0.3149,0.3149,[72144e]|0.3321,0.3321,[72144e]|0.2884,0.2884,[72144e]|0.3087,0.3087,[72144e]|0.2849,0.2849,[72144e]|0.2849,0.2849,[72144e]|0.2849,0.2849,[72144e]|0.2951,0.2951,[72144e]|0.2364,0.2364,[72144e]|0.2575,0.2575,[72144e]|0.3426,0.3426,[72144e]|0.3149,0.3149,[72144e]|0.247,0.247,[72144e]|0.1643,0.1643,[72144e]|0.2436,0.2436,[72144e]|0.2399,0.2399,[72144e]|0.2034,0.2034,[72144e]|0.2002,0.2002,[72144e]|0.2064,0.2064,[72144e]|0.1823,0.1823,[72144e]|0.2094,0.2094,[72144e]|0.2609,0.2609,[72144e]|0.2575,0.2575,[72144e]|0.1942,0.1942,[72144e]|0.2645,0.2645,[72144e]|0.1759,0.1759,[72144e]|0.1791,0.1791,[72144e]|0.2193,0.2193,[72144e]|0.2193,0.2193,[72144e]|0.1476,0.1476,[72144e]|0.1852,0.1852,[72144e]|0.1424,0.1424,[72144e]|0.1206,0.1206,[72144e]|0.0985,0.0985,[72144e]|0.0985,0.0985,[72144e]|0.1671,0.1671,[72144e]|0.1942,0.1942,[72144e]|0.2817,0.2817,[72144e]|0.2918,0.2918,[72144e]|0.3215,0.3215,[72144e]|0.2575,0.2575,[72144e]|0.2752,0.2752,[72144e]|0.1823,0.1823,[72144e]|0.2034,0.2034,[72144e]|0.1206,0.1206,[72144e]|0.1969,0.1969,[72144e]|0.2034,0.2034,[72144e]|0.3182,0.3182,[72144e]|0.2951,0.2951,[72144e]|0.2436,0.2436,[72144e]|0.1852,0.1852,[72144e]|0.1969,0.1969,[72144e]|0.2193,0.2193,[72144e]|0.2817,0.2817,[72144e]|0.2645,0.2645,[72144e]|0.3494,0.3494,[72144e]|0.4369,0.4369,[72144e]|0.4541,0.4541,[72144e]|0.422,0.422,[72144e]|0.4017,0.4017,[72144e]|0.4186,0.4186,[72144e]|0.3215,0.3215,[72144e]|0.422,0.422,[72144e]|0.3215,0.3215,[72144e]|0.4119,0.4119,[72144e]|0.2884,0.2884,[72144e]|0.391,0.391,[72144e]|0.3321,0.3321,[72144e]|0.3182,0.3182,[72144e]|0.3053,0.3053,[72144e]|0.2541,0.2541,[72144e]|0.3286,0.3286,[72144e]|0.391,0.391,[72144e]|0.3529,0.3529,[72144e]|0.3117,0.3117,[72144e]|0.3019,0.3019,[72144e]|0.3182,0.3182,[72144e]|0.247,0.247,[72144e]|0.2292,0.2292,[72144e]|0.1852,0.1852,[72144e]|0.1852,0.1852,[72144e]|0.1823,0.1823,[72144e]|0.1298,0.1298,[72144e]|0.1942,0.1942,[72144e]|0.1759,0.1759,[72144e]|0.2436,0.2436,[72144e]|0.2609,0.2609,[72144e]|0.3631,0.3631,[72144e]|0.3667,0.3667,[72144e]|0.3087,0.3087,[72144e]|0.247,0.247,[72144e]|0.2609,0.2609,[72144e]|0.384,0.384,[72144e]|0.3983,0.3983,[72144e]|0.4087,0.4087,[72144e]|0.5419,0.5419,[72144e]|0.5419,0.5419,[72144e]|0.5139,0.5139,[72144e]|0.5211,0.5211,[72144e]|0.4831,0.4831,[72144e]|0.4292,0.4292,[72144e]|0.3948,0.3948,[72144e]|0.3983,0.3983,[72144e]|0.2884,0.2884,[72144e]|0.2884,0.2884,[72144e]|0.2541,0.2541,[72144e]|0.1791,0.1791,[72144e]|0.2094,0.2094,[72144e]|0.1823,0.1823,[72144e]|0.1823,0.1823,[72144e]|0.1881,0.1881,[72144e]|0.2224,0.2224,[72144e]|0.2884,0.2884,[72144e]|0.2164,0.2164,[72144e]|0.2164,0.2164,[72144e]|0.2064,0.2064,[72144e]|0.1942,0.1942,[72144e]|0.1643,0.1643,[72144e]|0.2064,0.2064,[72144e]|0.2541,0.2541,[72144e]|0.2783,0.2783,[72144e]|0.3019,0.3019,[72144e]|0.3494,0.3494,[72144e]|0.391,0.391,[72144e]|0.3807,0.3807,[72144e]|0.4864,0.4864,[72144e]|0.5342,0.5342,[72144e]|0.5533,0.5533,[72144e]|0.6576,0.6576,[72144e]|0.5901,0.5901,[72144e]|0.6043,0.6043,[72144e]|0.5951,0.5951,[72144e]|0.5493,0.5493,[72144e]|0.6427,0.6427,[72144e]|0.6227,0.6227,[72144e]|
+GRAPHLINE      IUPredWS (Long) 0.5     Above 0.5 indicates disorder    ff0000
+LINE_GRAPH     IUPredWS (Short)        <html>Protein Disorder with IUPredWS - raw scores<br/>Above 0.5 indicates disorder</html>       0.8391,0.8391,[329440]|0.8001,0.8001,[329440]|0.7573,0.7573,[329440]|0.6334,0.6334,[329440]|0.5173,0.5173,[329440]|0.5008,0.5008,[329440]|0.4703,0.4703,[329440]|0.4245,0.4245,[329440]|0.4116,0.4116,[329440]|0.3263,0.3263,[329440]|0.2167,0.2167,[329440]|0.2385,0.2385,[329440]|0.2786,0.2786,[329440]|0.2041,0.2041,[329440]|0.2865,0.2865,[329440]|0.2531,0.2531,[329440]|0.1805,0.1805,[329440]|0.1766,0.1766,[329440]|0.1958,0.1958,[329440]|0.2122,0.2122,[329440]|0.208,0.208,[329440]|0.2122,0.2122,[329440]|0.1766,0.1766,[329440]|0.1921,0.1921,[329440]|0.1844,0.1844,[329440]|0.1602,0.1602,[329440]|0.0991,0.0991,[329440]|0.1018,0.1018,[329440]|0.0858,0.0858,[329440]|0.1041,0.1041,[329440]|0.1566,0.1566,[329440]|0.1495,0.1495,[329440]|0.1495,0.1495,[329440]|0.2167,0.2167,[329440]|0.1495,0.1495,[329440]|0.1766,0.1766,[329440]|0.1732,0.1732,[329440]|0.1456,0.1456,[329440]|0.1205,0.1205,[329440]|0.1732,0.1732,[329440]|0.115,0.115,[329440]|0.1088,0.1088,[329440]|0.0935,0.0935,[329440]|0.1292,0.1292,[329440]|0.1456,0.1456,[329440]|0.1018,0.1018,[329440]|0.1532,0.1532,[329440]|0.1732,0.1732,[329440]|0.1878,0.1878,[329440]|0.1878,0.1878,[329440]|0.2122,0.2122,[329440]|0.1602,0.1602,[329440]|0.1766,0.1766,[329440]|0.1178,0.1178,[329440]|0.1844,0.1844,[329440]|0.1018,0.1018,[329440]|0.1844,0.1844,[329440]|0.2333,0.2333,[329440]|0.2913,0.2913,[329440]|0.2333,0.2333,[329440]|0.2483,0.2483,[329440]|0.208,0.208,[329440]|0.2167,0.2167,[329440]|0.2531,0.2531,[329440]|0.3263,0.3263,[329440]|0.3578,0.3578,[329440]|0.3806,0.3806,[329440]|0.3668,0.3668,[329440]|0.3762,0.3762,[329440]|0.3717,0.3717,[329440]|0.3225,0.3225,[329440]|0.4116,0.4116,[329440]|0.3399,0.3399,[329440]|0.4513,0.4513,[329440]|0.3717,0.3717,[329440]|0.4879,0.4879,[329440]|0.3146,0.3146,[329440]|0.2865,0.2865,[329440]|0.2385,0.2385,[329440]|0.2865,0.2865,[329440]|0.363,0.363,[329440]|0.2913,0.2913,[329440]|0.3535,0.3535,[329440]|0.3359,0.3359,[329440]|0.2122,0.2122,[329440]|0.2209,0.2209,[329440]|0.1998,0.1998,[329440]|0.1667,0.1667,[329440]|0.115,0.115,[329440]|0.115,0.115,[329440]|0.106,0.106,[329440]|0.0884,0.0884,[329440]|0.1205,0.1205,[329440]|0.0723,0.0723,[329440]|0.115,0.115,[329440]|0.115,0.115,[329440]|0.2292,0.2292,[329440]|0.2558,0.2558,[329440]|0.2786,0.2786,[329440]|0.2786,0.2786,[329440]|0.1958,0.1958,[329440]|0.2558,0.2558,[329440]|0.27,0.27,[329440]|0.2865,0.2865,[329440]|0.4149,0.4149,[329440]|0.442,0.442,[329440]|0.4651,0.4651,[329440]|0.46,0.46,[329440]|0.4781,0.4781,[329440]|0.4879,0.4879,[329440]|0.4513,0.4513,[329440]|0.4078,0.4078,[329440]|0.3491,0.3491,[329440]|0.3992,0.3992,[329440]|0.3146,0.3146,[329440]|0.2602,0.2602,[329440]|0.2385,0.2385,[329440]|0.1698,0.1698,[329440]|0.2167,0.2167,[329440]|0.1921,0.1921,[329440]|0.2748,0.2748,[329440]|0.3456,0.3456,[329440]|0.27,0.27,[329440]|0.2432,0.2432,[329440]|0.1667,0.1667,[329440]|0.1844,0.1844,[329440]|0.1635,0.1635,[329440]|0.1805,0.1805,[329440]|0.1844,0.1844,[329440]|0.2041,0.2041,[329440]|0.2913,0.2913,[329440]|0.3535,0.3535,[329440]|0.3399,0.3399,[329440]|0.3399,0.3399,[329440]|0.3806,0.3806,[329440]|0.4781,0.4781,[329440]|0.5374,0.5374,[329440]|0.6442,0.6442,[329440]|0.6442,0.6442,[329440]|0.7111,0.7111,[329440]|0.7458,0.7458,[329440]|0.7724,0.7724,[329440]|0.865,0.865,[329440]|0.9009,0.9009,[329440]|
+GRAPHLINE      IUPredWS (Short)        0.5     Above 0.5 indicates disorder    ff0000
+
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COLOUR IUPredWS (Long) 72144e
+COLOUR IUPredWS (Short)        329440
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   Q93XJ9_SOLTU
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER_CAPAA
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER_CAPAN
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_MESCR
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_SPIOL
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_PEA
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   Q7XA98_TRIPR
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   O80429_MAIZE
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_MAIZE
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER3_RAPSA
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER_BRANA
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_ARATH
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   Q93Z60_ARATH
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER2_ARATH
+COMBINE        IUPredWS (Long) IUPredWS (Short)
+
+SEQUENCE_REF   FER1_SOLLC
index fa6d3dd..665fb3f 100755 (executable)
@@ -132,13 +132,13 @@ GRAPHLINE&#9;<em>graph_name</em>&#9;<em>value</em>&#9;<em>label</em>&#9;<em>colo
 </ul></p>
 <h3><font face="Arial, Helvetica, sans-serif">(Since Jalview 2.2.1) SEQUENCE_GROUP</font></h3>
 <p>Groups of sequences can be defined using the tab delimited line</p>
-<pre>SEQUENCE_GROUP    Group_Name      Group_Start     Group_End       Sequences</pre>
+<pre>SEQUENCE_GROUP    Group_Name      Group_Start     Group_End       <em>Sequences</em></pre>
 <p>The sequences can be defined by alignment index and a range of sequences can 
   be defined in a comma delimited field such as</p>
 <p>2-5,8-15,20,22</p>
 <p>Enter * to select all groups. </p>
-<p>If the alignment indices are not known, enter -1 then a tab delimited list 
-  of sequence ids. </p>
+<p><strong>Note:</strong> If the alignment indices are not known, enter -1, followed by a tab and then a tab delimited list 
+specifying the sequence ids. </p>
 <p>If the SEQUENCE_REF has been defined, the group_start and group_end will be 
   relative to the sequence residue numbering, otherwise the group_start and group_end 
   will be the alignment column indices. </p>
@@ -178,6 +178,9 @@ property, then the idColour will also be used to colour the sequence.</li>
  <em>SEQUENCE_REF</em> sequence reference statement, the sequence representative
  for the group will be set to the referenced sequence.<!-- <br><strong>Note:</strong> if the <em>hide</em> 
  property is set then only the representative sequence for the group will be shown in the alignment.--></li>
+ <li>The interpretation of the COMBINE statement in <em>Version 2.8.1</em> was refined
+ so that only annotation line graphs with the given names ands the same 
+ <strong>SEQUENCE_REF</strong> and <strong>GROUP_REF</strong> scope are grouped.</li>
 </ul>
 <p> </p>
 <p>An example Annotation file is given below:
@@ -197,13 +200,14 @@ COLOUR&#9;Purple Letters&#9;151,52,228
 COMBINE&#9;Green Values&#9;Red Values
 GRAPHLINE&#9;Red Values&#9;2.6&#9;threshold&#9;black
 
-SEQUENCE_GROUP Group_A 30 50 *
-SEQUENCE_GROUP Group_B 1 351 2-5
-SEQUENCE_GROUP Group_C 12 14 -1 seq1   seq2    seq3
-PROPERTIES Group_A description=This is the description colour=Helix Propensity pidThreshold=0 outlineColour=red displayBoxes=true displayText=false    colourText=false textCol1=black textCol2=black textColThreshold=0
-PROPERTIES Group_B outlineColour=red
-PROPERTIES Group_C colour=Clustal
+SEQUENCE_GROUP&#9;Group_A&#9;30&#9;50&#9;*
+SEQUENCE_GROUP&#9;Group_B&#9;1&#9;351&#9;2-5
+SEQUENCE_GROUP&#9;Group_C&#9;12&#9;14&#9;-1&#9;seq1&#9;seq2&#9;seq3
+PROPERTIES&#9;Group_A&#9;description=This is the description&#9;colour=Helix Propensity&#9;pidThreshold=0&#9;outlineColour=red&#9;displayBoxes=true&#9;displayText=false&#9;colourText=false&#9;textCol1=black&#9;textCol2=black&#9;textColThreshold=0
+PROPERTIES&#9;Group_B&#9;outlineColour=red
+PROPERTIES&#9;Group_C&#9;colour=Clustal
 </pre>
 </p>
+<p><em>Last updated for version 2.8.1</em></p>
 </body>
 </html>
index ca3b32e..9651f78 100755 (executable)
@@ -22,6 +22,7 @@
 
 <body>
 <p><strong>Preferences</strong></p>
+<p>The preferences panel is opened from the Jalview Desktop&rsquo;s <strong><em>Tools</em></strong> menu.</p>
 <p>There are six tabs in the Preferences dialog box:
 <ul>
        <li>The <a href="#visual"><strong>&quot;Visual&quot;</strong>
@@ -87,7 +88,7 @@ be sorted by Id or pairwise identity.</p>
 <p><em>Open file</em> - If this is selected then the default
 alignment file will be opened when Jalview is started. You can change
 the default file by clicking on file name and either typing in the file
-path or selecting it from the file chooser window.</p>
+path or selecting it from the file chooser window.<br/><em>Note: The default example alignment is updated periodically to demonstrate new features in Jalview.</em></p>
 <p><a name="colours"><strong>&quot;Colours&quot; Preferences tab</strong></p>
 <p><em>Alignment Colour</em> - The default colour scheme for a new alignment
 window. If the chosen option is &quot;User Defined&quot; then the last
index a3a0fe1..f610d08 100644 (file)
@@ -17,6 +17,7 @@
  */
 package jalview.analysis;
 
+import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.Vector;
 
@@ -124,17 +125,20 @@ public class Dna
     {
       SequenceI newseq = translateCodingRegion(selection[s], seqstring[s],
               viscontigs, codons, gapCharacter,
-              (product != null) ? product[s] : null); // possibly anonymous
+              (product != null) ? product[s] : null, false); // possibly anonymous
       // product
       if (newseq != null)
       {
         pepseqs.addElement(newseq);
         SequenceI ds = newseq;
-        while (ds.getDatasetSequence() != null)
+        if (dataset != null)
         {
-          ds = ds.getDatasetSequence();
+          while (ds.getDatasetSequence() != null)
+          {
+            ds = ds.getDatasetSequence();
+          }
+          dataset.addSequence(ds);
         }
-        dataset.addSequence(ds);
       }
     }
     if (codons.aaWidth == 0)
@@ -416,14 +420,37 @@ public class Dna
    * @param codons
    *          Definition of global ORF alignment reference frame
    * @param gapCharacter
-   * @param newSeq
    * @return sequence ready to be added to alignment.
+   * @deprecated Use {@link #translateCodingRegion(SequenceI,String,int[],AlignedCodonFrame,char,DBRefEntry,boolean)} instead
    */
   public static SequenceI translateCodingRegion(SequenceI selection,
           String seqstring, int[] viscontigs, AlignedCodonFrame codons,
           char gapCharacter, DBRefEntry product)
   {
-    Vector skip = new Vector();
+    return translateCodingRegion(selection, seqstring, viscontigs, codons,
+            gapCharacter, product, false);
+  }
+
+  /**
+   * Translate a na sequence
+   * 
+   * @param selection
+   *          sequence displayed under viscontigs visible columns
+   * @param seqstring
+   *          ORF read in some global alignment reference frame
+   * @param viscontigs
+   *          mapping from global reference frame to visible seqstring ORF read
+   * @param codons
+   *          Definition of global ORF alignment reference frame
+   * @param gapCharacter
+   * @param starForStop when true stop codons will translate as '*', otherwise as 'X'  
+   * @return sequence ready to be added to alignment.
+   */
+  public static SequenceI translateCodingRegion(SequenceI selection,
+          String seqstring, int[] viscontigs, AlignedCodonFrame codons,
+          char gapCharacter, DBRefEntry product, final boolean starForStop)
+  {
+    java.util.List skip = new ArrayList();
     int skipint[] = null;
     ShiftList vismapping = new ShiftList(); // map from viscontigs to seqstring
     // intervals
@@ -479,32 +506,84 @@ public class Dna
             // edit scontigs
             skipint[0] = vismapping.shift(skipint[0]);
             skipint[1] = vismapping.shift(skipint[1]);
-            for (vc = 0; vc < scontigs.length; vc += 2)
+            for (vc = 0; vc < scontigs.length; )
             {
               if (scontigs[vc + 1] < skipint[0])
               {
+                // before skipint starts
+                vc += 2;
                 continue;
               }
+              if (scontigs[vc]>skipint[1])
+              {
+                // finished editing so
+                break;
+              }
+              // Edit the contig list to include the skipped region which did not translate
+              int[] t;
+              // from : s1 e1 s2 e2 s3 e3
+              // to s:  s1 e1 s2 k0 k1 e2 s3 e3
+              // list increases by one unless one boundary (s2==k0 or e2==k1) matches, and decreases by one if skipint intersects whole visible contig 
               if (scontigs[vc] <= skipint[0])
               {
                 if (skipint[0] == scontigs[vc])
                 {
-
+                  // skipint at start of contig
+                  // shift the start of this contig
+                  if (scontigs[vc + 1] > skipint[1])
+                  {
+                    scontigs[vc] = skipint[1];
+                    vc+=2;
+                  }
+                  else
+                  {
+                    if (scontigs[vc+1]==skipint[1])
+                    {
+                      // remove the contig
+                      t = new int[scontigs.length - 2];
+                      if (vc > 0)
+                      {
+                        System.arraycopy(scontigs, 0, t, 0, vc - 1);
+                      }
+                      if (vc + 2 < t.length)
+                      {
+                        System.arraycopy(scontigs, vc + 2, t, vc, t.length
+                              - vc + 2);
+                      }
+                      scontigs=t;
+                    } else {
+                      // truncate contig to before the skipint region
+                      scontigs[vc+1] = skipint[0]-1;
+                      vc+=2;
+                    }
+                  }
                 }
                 else
                 {
-                  int[] t = new int[scontigs.length + 2];
-                  System.arraycopy(scontigs, 0, t, 0, vc - 1);
-                  // scontigs[vc]; //
+                  // scontig starts before start of skipint
+                  if (scontigs[vc+1]<skipint[1]) {
+                    // skipint truncates end of scontig
+                    scontigs[vc+1] = skipint[0]-1; 
+                    vc+=2;
+                  } else {
+                    // divide region to new contigs
+                    t = new int[scontigs.length + 2];
+                    System.arraycopy(scontigs, 0, t, 0, vc +1);
+                    t[vc+1] = skipint[0];
+                    t[vc+2] = skipint[1];
+                    System.arraycopy(scontigs, vc + 1, t, vc+3, scontigs.length-(vc+1));
+                    scontigs=t;
+                    vc+=4;
+                  }
                 }
               }
             }
-            skip.addElement(skipint);
+            skip.add(skipint);
             skipint = null;
           }
           if (aa.equals("STOP"))
           {
-            aa = "X";
+            aa = starForStop ? "*" : "X";
           }
           resSize++;
         }
@@ -561,8 +640,11 @@ public class Dna
               protein.toString());
       if (rf != 0)
       {
-        jalview.bin.Cache.log
-                .debug("trimming contigs for incomplete terminal codon.");
+        if (jalview.bin.Cache.log!=null) {
+          jalview.bin.Cache.log.debug("trimming contigs for incomplete terminal codon.");
+        } else {
+          System.err.println("trimming contigs for incomplete terminal codon.");
+        }
         // map and trim contigs to ORF region
         vc = scontigs.length - 1;
         lastnpos = vismapping.shift(lastnpos); // place npos in context of
@@ -675,7 +757,7 @@ public class Dna
   private static void transferCodedFeatures(SequenceI dna, SequenceI pep,
           MapList map, Hashtable featureTypes, Hashtable featureGroups)
   {
-    SequenceFeature[] sf = dna.getDatasetSequence().getSequenceFeatures();
+    SequenceFeature[] sf = (dna.getDatasetSequence()!=null ? dna.getDatasetSequence() : dna).getSequenceFeatures();
     Boolean fgstate;
     jalview.datamodel.DBRefEntry[] dnarefs = jalview.util.DBRefUtils
             .selectRefs(dna.getDBRef(),
index f42293d..15e5f1d 100644 (file)
  */
 package jalview.api;
 
+import java.awt.Color;
 import java.util.Hashtable;
 import java.util.Map;
 
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentView;
+import jalview.datamodel.CigarArray;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.SequenceCollectionI;
+import jalview.datamodel.SequenceGroup;
 import jalview.datamodel.SequenceI;
 import jalview.schemes.ColourSchemeI;
 
@@ -155,4 +159,23 @@ public interface AlignViewportI
   void updateGroupAnnotationSettings(boolean applyGlobalSettings,
           boolean preserveNewGroupSettings);
 
+
+  SequenceGroup getSelectionGroup();
+
+  SequenceI[] getSequenceSelection();
+
+
+  CigarArray getViewAsCigars(boolean selectedRegionOnly);
+
+  AlignmentView getAlignmentView(boolean selectedOnly);
+
+  AlignmentView getAlignmentView(boolean selectedOnly, boolean markGroups);
+
+  String[] getViewAsString(boolean selectedRegionOnly);
+
+  void setSelectionGroup(SequenceGroup sg);
+
+  char getGapCharacter();
+
+
 }
index c85de33..3d54ae1 100755 (executable)
@@ -762,7 +762,7 @@ public class AnnotationLabels extends Panel implements ActionListener,
               dragEvent.getY());
     }
 
-    if ((aa == null) || (aa.length < 1))
+    if (!av.wrapAlignment && ((aa == null) || (aa.length < 1)))
     {
       g.setColor(Color.black);
       g.drawString("Right click", 2, 8);
index 540a0e0..154652d 100755 (executable)
@@ -253,10 +253,10 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
       }
     }
 
-    aa[activeRow].validateRangeAndDisplay();
+    av.getAlignment().validateAnnotation(aa[activeRow]);
 
-    adjustPanelHeight();
     ap.alignmentChanged();
+    adjustPanelHeight();
     repaint();
 
     return;
@@ -653,4 +653,16 @@ public class AnnotationPanel extends Panel implements AwtRenderPanelI,
   {
     return imgWidth;
   }
+  private int[] bounds = new int[2];
+  @Override
+  public int[] getVisibleVRange()
+  {
+    if (ap!=null && ap.alabels!=null)
+    {
+    int sOffset=-ap.alabels.scrollOffset;
+    int visHeight = sOffset+ap.annotationPanelHolder.getHeight();
+    bounds[0] = sOffset; bounds[1]=visHeight;
+    return bounds;
+    } else return null;
+  }
 }
index 5238750..89289c0 100644 (file)
@@ -146,7 +146,7 @@ public class SeqPanel extends Panel implements MouseMotionListener,
     SequenceI sequence = (Sequence) av.getAlignment().getSequenceAt(
             seqCanvas.cursorY);
 
-    seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1() - 1);
+    seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1()) - 1;
     scrollToVisible();
   }
 
@@ -342,31 +342,35 @@ public class SeqPanel extends Panel implements MouseMotionListener,
       keyboardNo1.append(value);
     }
   }
-
   int getKeyboardNo1()
   {
-    if (keyboardNo1 == null)
-      return 1;
-    else
+    try {
+    if (keyboardNo1 != null) 
     {
       int value = Integer.parseInt(keyboardNo1.toString());
       keyboardNo1 = null;
       return value;
     }
+    } catch (Exception x)
+    {}
+    keyboardNo1 = null;
+    return 1;
   }
 
   int getKeyboardNo2()
   {
-    if (keyboardNo2 == null)
-      return 1;
-    else
-    {
+    try {
+    if (keyboardNo2!=null){
       int value = Integer.parseInt(keyboardNo2.toString());
       keyboardNo2 = null;
       return value;
     }
+    } catch (Exception x)
+    {}
+    keyboardNo2 = null;
+    return 1;
   }
-
+  
   void setStatusMessage(SequenceI sequence, int res, int seq)
   {
     StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: "
index 5e4569a..142b4c3 100755 (executable)
@@ -128,6 +128,11 @@ public class Jalview
                       + "\n~Read documentation in Application or visit http://www.jalview.org for description of Features and Annotations file~\n\n");
       System.exit(0);
     }
+    if (aparser.contains("nodisplay") || aparser.contains("nogui") || aparser.contains("headless"))
+    {
+      System.setProperty("java.awt.headless", "true");
+      headless=true;
+    }
     Cache.loadProperties(aparser.getValue("props")); // must do this before
     // anything else!
     String defs = aparser.getValue("setprop");
@@ -147,10 +152,6 @@ public class Jalview
       }
       defs = aparser.getValue("setprop");
     }
-    if (aparser.contains("nodisplay"))
-    {
-      System.setProperty("java.awt.headless", "true");
-    }
     if (System.getProperty("java.awt.headless") != null
             && System.getProperty("java.awt.headless").equals("true"))
     {
index 438bd7d..8fe90f5 100644 (file)
@@ -1474,7 +1474,7 @@ public class JalviewLite extends Applet implements
       // still be called to open new alignments.
       file = "NO FILE";
       fileFound = false;
-      // callInitCallback();
+      callInitCallback();
     }
   }
 
index 48b3346..6215a93 100644 (file)
@@ -120,7 +120,7 @@ public class AlignedCodonFrame
     if (aspos < aaWidth)
     {
       aaWidth++;
-      System.arraycopy(codons, aspos, codons, aspos + 1, aaWidth - aspos);
+      System.arraycopy(codons, aspos, codons, aspos + 1, codons.length - aspos - 1);
       codons[aspos] = null; // clear so new codon position can be marked.
     }
   }
index 83aab4e..70663aa 100755 (executable)
@@ -1385,13 +1385,17 @@ public class Alignment implements AlignmentI
           SequenceGroup groupRef)
   {
     assert (name != null);
-    for (AlignmentAnnotation annot : getAlignmentAnnotation())
+    if (annotations != null)
     {
-      if (annot.autoCalculated == autoCalc && (name.equals(annot.label))
-              && (calcId == null || annot.getCalcId().equals(calcId))
-              && annot.sequenceRef == seqRef && annot.groupRef == groupRef)
+      for (AlignmentAnnotation annot : getAlignmentAnnotation())
       {
-        return annot;
+        if (annot.autoCalculated == autoCalc && (name.equals(annot.label))
+                && (calcId == null || annot.getCalcId().equals(calcId))
+                && annot.sequenceRef == seqRef
+                && annot.groupRef == groupRef)
+        {
+          return annot;
+        }
       }
     }
     AlignmentAnnotation annot = new AlignmentAnnotation(name, name,
@@ -1475,5 +1479,22 @@ public class Alignment implements AlignmentI
 
     }
   }
-
+ @Override
+ public void validateAnnotation(AlignmentAnnotation alignmentAnnotation)
+ {
+   alignmentAnnotation.validateRangeAndDisplay();
+   if (isNucleotide() && alignmentAnnotation.isValidStruc())
+   {
+     hasRNAStructure = true;
+   }
+ }
+ @Override
+public int getEndRes()
+{
+  return getWidth()-1;
+}@Override
+public int getStartRes()
+{
+  return 0;
+}
 }
index 06026ef..64dcabb 100755 (executable)
@@ -469,4 +469,10 @@ public interface AlignmentI extends AnnotatedCollectionI
    */
   public void moveSelectedSequencesByOne(SequenceGroup sg,
           Map<SequenceI, SequenceCollectionI> map, boolean up);
+
+  /**
+   * validate annotation after an edit and update any alignment state flags accordingly
+   * @param alignmentAnnotation
+   */
+  public void validateAnnotation(AlignmentAnnotation alignmentAnnotation);
 }
index 73611bd..f692234 100755 (executable)
  */
 package jalview.datamodel;
 
-import java.awt.*;
+import java.awt.Color;
 
 /**
- * DOCUMENT ME!
+ * Holds all annotation values for a position in an AlignmentAnnotation row
  * 
  * @author $author$
  * @version $Revision$
  */
 public class Annotation
 {
-  /** DOCUMENT ME!! */
+  /** Character label - also shown below histogram */
   public String displayCharacter = "";
 
-  /** DOCUMENT ME!! */
-  public String description = ""; // currently used as mouse over
+  /**
+   * Text label for position: shown in mouse over and displayed on secondary
+   * structure glyphs
+   */
+  public String description = "";
 
-  /** DOCUMENT ME!! */
-  public char secondaryStructure = ' '; // recognises H, E and S(?)
+  /**
+   * Secondary structure symbol: Protein symbols are H, E and S(?), RNA are
+   * WUSS/Vienna plus extended pseudoknot symbols
+   */
+  public char secondaryStructure = ' ';
 
-  /** DOCUMENT ME!! */
+  /** Score for the position - used in histograms, line graphs and for shading */
   public float value;
 
-  // add visual cues here
-
-  /** DOCUMENT ME!! */
+  /** Colour for position */
   public Color colour;
 
   /**
@@ -117,4 +121,66 @@ public class Annotation
   {
     this(null, null, ' ', val);
   }
+
+  /**
+   * human readable representation of an annotation row element.
+   *
+   * Format is 'display Char','secondary Structure
+   * Char',"description",score,[colourstring]
+   *
+   * fields may be missing if they are null, whitespace, or equivalent to
+   * Float.NaN
+   */
+  @Override
+  public String toString()
+  {
+    StringBuffer sb = new StringBuffer();
+    if (displayCharacter != null)
+    {
+      sb.append("\'");
+      sb.append(displayCharacter);
+      sb.append("\'");
+    }
+    {
+      sb.append(",");
+    }
+    if (secondaryStructure != 0
+            && !("" + displayCharacter).equals("" + secondaryStructure))
+    {
+      sb.append("\'");
+      sb.append(secondaryStructure);
+      sb.append("\'");
+    }
+    {
+      sb.append(",");
+    }
+    if (description != null && description.length() > 0)
+    {
+      sb.append("\"");
+      sb.append(description);
+      sb.append("\"");
+    }
+    {
+      sb.append(",");
+    }
+    if (value != Float.NaN)
+    {
+      sb.append(value);
+    }
+    if (colour != null)
+    {
+      if (sb.length() > 0)
+      {
+        sb.append(",");
+      }
+      sb.append("[");
+      sb.append(colour.getRed());
+      sb.append(",");
+      sb.append(colour.getGreen());
+      sb.append(",");
+      sb.append(colour.getBlue());
+      sb.append("]");
+    }
+    return sb.toString();
+  }
 }
index 494ffae..001f6b2 100755 (executable)
@@ -51,4 +51,19 @@ public class GraphLine
       displayed = from.displayed;
     }
   }
+  @Override
+  public boolean equals(Object obj)
+  {
+    if (obj!=null && obj instanceof GraphLine)
+    {
+      GraphLine other = (GraphLine) obj;
+      return displayed == other.displayed
+              && value == other.value
+              && (colour != null ? (other.colour != null && other.colour
+                      .equals(colour)) : other.colour == null)
+              && (label != null ? (other.label != null && other.label
+                      .equals(label)) : other.label == null);
+    }
+    return false;
+  }
 }
index c5cee01..f0d7284 100644 (file)
@@ -29,4 +29,16 @@ public interface SequenceCollectionI
 
   int getWidth();
 
+  /** 
+  * @return the first column included in this collection. Runs from 0<=i<N_cols
+  */
+  int getStartRes();
+  
+
+  /**
+   * 
+   * @return the last column in this collection. Runs from 0<=i<N_cols
+   */
+  int getEndRes();
+
 }
index c42a955..0bd7266 100755 (executable)
@@ -612,9 +612,9 @@ public class SequenceGroup implements AnnotatedCollectionI
   }
 
   /**
-   * DOCUMENT ME!
    * 
-   * @return DOCUMENT ME!
+   * 
+   * @return the first column selected by this group. Runs from 0<=i<N_cols
    */
   public int getStartRes()
   {
@@ -622,9 +622,8 @@ public class SequenceGroup implements AnnotatedCollectionI
   }
 
   /**
-   * DOCUMENT ME!
    * 
-   * @return DOCUMENT ME!
+   * @return the groups last selected column. Runs from 0<=i<N_cols
    */
   public int getEndRes()
   {
@@ -1034,12 +1033,12 @@ public class SequenceGroup implements AnnotatedCollectionI
     {
       consensus = new AlignmentAnnotation("", "", new Annotation[1], 0f,
               100f, AlignmentAnnotation.BAR_GRAPH);
+      consensus.hasText = true;
+      consensus.autoCalculated = true;
+      consensus.groupRef = this;
+      consensus.label = "Consensus for " + getName();
+      consensus.description = "Percent Identity";
     }
-    consensus.hasText = true;
-    consensus.autoCalculated = true;
-    consensus.groupRef = this;
-    consensus.label = "Consensus for " + getName();
-    consensus.description = "Percent Identity";
     return consensus;
   }
 
index aded6e8..5f9b049 100755 (executable)
@@ -97,21 +97,21 @@ public interface SequenceI
   public String getSequenceAsString();
 
   /**
-   * get a range on the seuqence as a string
+   * get a range on the sequence as a string
    * 
    * @param start
-   *          DOCUMENT ME!
+   *          position relative to start of sequence including gaps (from 0)
    * @param end
-   *          DOCUMENT ME!
+   *          position relative to start of sequence including gaps (from 0)
    * 
-   * @return DOCUMENT ME!
+   * @return String containing all gap and symbols in specified range
    */
   public String getSequenceAsString(int start, int end);
 
   /**
-   * DOCUMENT ME!
+   * Get the sequence as a character array
    * 
-   * @return DOCUMENT ME!
+   * @return seqeunce and any gaps
    */
   public char[] getSequence();
 
index 257ca8c..f31272a 100644 (file)
@@ -323,9 +323,55 @@ public abstract class JalviewJmolBinding implements StructureListener,
   public void superposeStructures(AlignmentI[] _alignment,
           int[] _refStructure, ColumnSelection[] _hiddenCols)
   {
+    assert (_alignment.length == _refStructure.length && _alignment.length != _hiddenCols.length);
+
     String[] files = getPdbFile();
+    // check to see if we are still waiting for Jmol files
+    long starttime=System.currentTimeMillis();
+    boolean waiting=true;
+    do {
+      waiting=false;
+      for (String file:files)
+      {
+        try {
+          // HACK - in Jalview 2.8 this call may not be threadsafe so we catch
+          // every possible exception
+          StructureMapping[] sm = ssm.getMapping(file);
+          if (sm == null || sm.length == 0)
+          {
+            waiting = true;
+          }
+        } catch (Exception x)
+        {
+          waiting = true;
+        } catch (Error q)
+        {
+          waiting = true;
+        }
+      }
+      // we wait around for a reasonable time before we give up
+    } while (waiting && System.currentTimeMillis()<(10000+1000*files.length+starttime));
+    if (waiting)
+    {
+      System.err.println("RUNTIME PROBLEM: Jmol seems to be taking a long time to process all the structures.");
+      return;
+    }
     StringBuffer selectioncom = new StringBuffer();
-    assert (_alignment.length == _refStructure.length && _alignment.length != _hiddenCols.length);
+    // In principle - nSeconds specifies the speed of animation for each
+    // superposition - but is seems to behave weirdly, so we don't specify it.
+    String nSeconds = " ";
+    if (files.length > 10)
+    {
+      nSeconds = " 0.00001 ";
+    }
+    else
+    {
+      nSeconds = " " + (2.0 / files.length) + " ";
+      // if (nSeconds).substring(0,5)+" ";
+    }
+    // see JAL-1345 - should really automatically turn off the animation for
+    // large numbers of structures, but Jmol doesn't seem to allow that.
+    nSeconds = " ";
     // union of all aligned positions are collected together.
     for (int a = 0; a < _alignment.length; a++)
     {
@@ -370,8 +416,9 @@ public abstract class JalviewJmolBinding implements StructureListener,
         // RACE CONDITION - getMapping only returns Jmol loaded filenames once
         // Jmol callback has completed.
         if (mapping == null || mapping.length < 1)
-          continue;
-
+        {
+          throw new Error("Implementation error - Jmol seems to be still working on getting its data - report at http://issues.jalview.org/browse/JAL-1016");
+        }
         int lastPos = -1;
         for (int s = 0; s < sequence[pdbfnum].length; s++)
         {
@@ -436,6 +483,13 @@ public abstract class JalviewJmolBinding implements StructureListener,
           }
         }
       }
+      
+      // TODO: consider bailing if nmatched less than 4 because superposition
+      // not
+      // well defined.
+      // TODO: refactor superposable position search (above) from jmol selection
+      // construction (below)
+
       String[] selcom = new String[files.length];
       int nmatched = 0;
       // generate select statements to select regions to superimpose structures
@@ -501,11 +555,6 @@ public abstract class JalviewJmolBinding implements StructureListener,
           }
         }
       }
-      // TODO: consider bailing if nmatched less than 4 because superposition
-      // not
-      // well defined.
-      // TODO: refactor superposable position search (above) from jmol selection
-      // construction (below)
       for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
       {
         if (pdbfnum == refStructure)
@@ -517,7 +566,7 @@ public abstract class JalviewJmolBinding implements StructureListener,
         command.append(chainNames[pdbfnum]);
         command.append(") against reference (");
         command.append(chainNames[refStructure]);
-        command.append(")\";\ncompare ");
+        command.append(")\";\ncompare "+nSeconds);
         command.append("{");
         command.append(1 + pdbfnum);
         command.append(".1} {");
index 77c3b6a..ceb08ee 100755 (executable)
@@ -4603,7 +4603,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
     } catch (Exception ex)
     {
       al = null;
-      jalview.bin.Cache.log.debug("Exception during translation.", ex);
+      jalview.bin.Cache.log.error("Exception during translation. Please report this !", ex);
+      JOptionPane
+      .showMessageDialog(
+              Desktop.desktop,
+              "Unfortunately, something went wrong when translating your sequences.\nPlease take a look in the Jalview java console\nand submit a bug report including the stacktrace.",
+              "Implementation error: Translation Failed", JOptionPane.ERROR_MESSAGE);
+      return;
     }
     if (al == null)
     {
index f8a2543..4a679b6 100644 (file)
@@ -688,7 +688,7 @@ public class AlignmentPanel extends GAlignmentPanel implements
         seqPanel.seqCanvas.fastPaint(scrollX, scrollY);
         scalePanel.repaint();
 
-        if (av.getShowAnnotation())
+        if (av.getShowAnnotation() && scrollX!=0)
         {
           annotationPanel.fastPaint(scrollX);
         }
@@ -1094,7 +1094,9 @@ public class AlignmentPanel extends GAlignmentPanel implements
   void makeAlignmentImage(int type, File file)
   {
     long progress = System.currentTimeMillis();
-    if (alignFrame != null)
+    boolean headless = (System.getProperty("java.awt.headless") != null
+            && System.getProperty("java.awt.headless").equals("true"));
+    if (alignFrame != null && !headless)
     {
       alignFrame.setProgressBar("Saving "
               + (type == jalview.util.ImageMaker.PNG ? "PNG image"
@@ -1115,8 +1117,7 @@ public class AlignmentPanel extends GAlignmentPanel implements
       if (av.getWrapAlignment())
       {
         height = getWrappedHeight();
-        if (System.getProperty("java.awt.headless") != null
-                && System.getProperty("java.awt.headless").equals("true"))
+        if (headless)
         {
           // need to obtain default alignment width and then add in any
           // additional allowance for id margin
@@ -1184,7 +1185,7 @@ public class AlignmentPanel extends GAlignmentPanel implements
       }
     } finally
     {
-      if (alignFrame != null)
+      if (alignFrame != null && !headless)
       {
         alignFrame.setProgressBar("Export complete.", progress);
       }
index 599cf0b..f2036de 100755 (executable)
@@ -47,6 +47,10 @@ public class AnnotationColourChooser extends JPanel
   jalview.datamodel.AlignmentAnnotation currentAnnotation;
 
   boolean adjusting = false;
+  /**
+   * enabled if the user is dragging the slider - try to keep updates to a minimun
+   */
+  boolean sliderDragging = false;
 
   public AnnotationColourChooser(AlignViewport av, final AlignmentPanel ap)
   {
@@ -76,14 +80,32 @@ public class AnnotationColourChooser extends JPanel
         if (!adjusting)
         {
           thresholdValue.setText(((float) slider.getValue() / 1000f) + "");
-          valueChanged();
+          valueChanged(!sliderDragging);
         }
       }
     });
     slider.addMouseListener(new MouseAdapter()
     {
+      @Override
+      public void mousePressed(MouseEvent e)
+      {
+        sliderDragging=true;
+        super.mousePressed(e);
+      }
+
+      @Override
+      public void mouseDragged(MouseEvent e)
+      {
+        sliderDragging=true;
+        super.mouseDragged(e);
+      }
       public void mouseReleased(MouseEvent evt)
       {
+        if (sliderDragging)
+        {
+          sliderDragging=false;
+          valueChanged(true);
+        }
         ap.paintAlignment(true);
       }
     });
@@ -193,7 +215,6 @@ public class AnnotationColourChooser extends JPanel
     System.arraycopy(anmap, 0, annmap, 0, annmap.length);
     return list;
   }
-
   private void setDefaultMinMax()
   {
     minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN",
@@ -632,18 +653,38 @@ public class AnnotationColourChooser extends JPanel
     }
   }
 
-  public void valueChanged()
+  public void valueChanged(boolean updateAllAnnotation)
   {
     if (currentColours.isSelected()
             && !(av.getGlobalColourScheme() instanceof AnnotationColourGradient))
     {
       changeColour();
     }
-
     currentAnnotation.threshold.value = (float) slider.getValue() / 1000f;
+    propagateSeqAssociatedThreshold(updateAllAnnotation);
     ap.paintAlignment(false);
   }
 
+  private void propagateSeqAssociatedThreshold(boolean allAnnotation)
+  {
+    if (currentAnnotation.sequenceRef == null
+            || currentAnnotation.threshold == null)
+    {
+      return;
+    }
+    // TODO: JAL-1327 only update visible annotation thresholds if allAnnotation is false, since we only need to provide a quick visual indicator
+
+    float thr = currentAnnotation.threshold.value;
+    for (int i = 0; i < av.getAlignment().getAlignmentAnnotation().length; i++)
+    {
+      AlignmentAnnotation aa = av.getAlignment().getAlignmentAnnotation()[i];
+      if (aa.label.equals(currentAnnotation.label))
+      {
+        aa.threshold.value = thr;
+      }
+    }
+  }
+
   public void currentColours_actionPerformed(ActionEvent e)
   {
     if (currentColours.isSelected())
index 1577477..8566e57 100755 (executable)
@@ -816,18 +816,32 @@ public class AnnotationLabels extends JPanel implements MouseListener,
               RenderingHints.VALUE_ANTIALIAS_ON);
     }
 
-    drawComponent(g2, width);
+    drawComponent(g2, true, width);
 
   }
 
   /**
-   * DOCUMENT ME!
+   * Draw the full set of annotation Labels for the alignment at the given cursor
    * 
-   * @param g
-   *          DOCUMENT ME!
+   * @param g Graphics2D instance (needed for font scaling)
+   * @param width Width for scaling labels
+   *          
    */
   public void drawComponent(Graphics g, int width)
   {
+    drawComponent(g, false, width);
+  }
+
+  private final boolean debugRedraw = false;
+  /**
+   * Draw the full set of annotation Labels for the alignment at the given cursor
+   * 
+   * @param g Graphics2D instance (needed for font scaling)
+   * @param clip - true indicates that only current visible area needs to be rendered
+   * @param width Width for scaling labels         
+   */
+  public void drawComponent(Graphics g, boolean clip, int width)
+  {
     if (av.getFont().getSize() < 10)
     {
       g.setFont(font);
@@ -843,7 +857,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
 
     g.translate(0, scrollOffset);
     g.setColor(Color.black);
-
+    
     AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
     int fontHeight = g.getFont().getSize();
     int y = 0;
@@ -853,22 +867,54 @@ public class AnnotationLabels extends JPanel implements MouseListener,
     Font baseFont = g.getFont();
     FontMetrics baseMetrics = fm;
     int ofontH = fontHeight;
-    boolean visible = true;
+    int sOffset=0;
+    int visHeight = 0;
+    int[] visr = (ap!=null && ap.annotationPanel!=null) ? ap.annotationPanel.getVisibleVRange() : null;
+    if (clip && visr!=null){ 
+      sOffset = visr[0]; 
+      visHeight = visr[1];
+    }
+    boolean visible = true,before=false,after=false;
     if (aa != null)
     {
       hasHiddenRows = false;
+      int olY=0;
       for (int i = 0; i < aa.length; i++)
       {
         visible = true;
-        g.setColor(Color.black);
-
         if (!aa[i].visible)
         {
           hasHiddenRows = true;
           continue;
         }
-
+        olY=y;
         y += aa[i].height;
+        if (clip) {if (y<sOffset)
+        {
+          if (!before)
+          {
+            if (debugRedraw) {
+              System.out.println("before vis: "+i);
+            }
+          before=true;
+          }
+          // don't draw what isn't visible
+          continue;
+        }
+        if (olY>visHeight)
+        {
+
+          if (!after)
+          {
+            if (debugRedraw) {
+              System.out.println("Scroll offset: "+sOffset+" after vis: "+i);
+            }
+          after=true;
+          }
+          // don't draw what isn't visible
+          continue;
+        }}
+        g.setColor(Color.black);
 
         offset = -aa[i].height / 2;
 
@@ -885,6 +931,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
         if (aa[i].graphGroup > -1)
         {
           int groupSize = 0;
+          // TODO: JAL-1291 revise rendering model so the graphGroup map is computed efficiently for all visible labels
           for (int gg = 0; gg < aa.length; gg++)
           {
             if (aa[gg].graphGroup == aa[i].graphGroup)
@@ -960,7 +1007,7 @@ public class AnnotationLabels extends JPanel implements MouseListener,
               dragEvent.getY() - scrollOffset);
     }
 
-    if ((aa == null) || (aa.length < 1))
+    if (!av.wrapAlignment && ((aa == null) || (aa.length < 1)))
     {
       g.drawString("Right click", 2, 8);
       g.drawString("to add annotation", 2, 18);
index d0af0a5..ed899b1 100755 (executable)
@@ -376,10 +376,10 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
         anot[index].displayCharacter = label;
       }
     }
-    aa[activeRow].validateRangeAndDisplay();
-
-    adjustPanelHeight();
+    av.getAlignment().validateAnnotation(aa[activeRow]);
     ap.alignmentChanged();
+    
+    adjustPanelHeight();
     repaint();
 
     return;
@@ -699,16 +699,11 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
   @Override
   public void mouseClicked(MouseEvent evt)
   {
-    if (activeRow != -1)
-    {
-      AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
-      AlignmentAnnotation anot = aa[activeRow];
-
-      if (anot.description.equals("secondary structure"))
-      {
-        // System.out.println(anot.description+" "+anot.getRNAStruc());
-      }
-    }
+//    if (activeRow != -1)
+//    {
+//      AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
+//      AlignmentAnnotation anot = aa[activeRow];
+//    }
   }
 
   // TODO mouseClicked-content and drawCursor are quite experimental!
@@ -760,7 +755,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
     imgWidth = (av.endRes - av.startRes + 1) * av.charWidth;
     if (imgWidth < 1)
       return;
-    if (image == null || imgWidth != image.getWidth()
+    if (image == null || imgWidth != image.getWidth(this)
             || image.getHeight(this) != getHeight())
     {
       try
@@ -800,7 +795,10 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
     imageFresh = false;
     g.drawImage(image, 0, 0, this);
   }
-
+  /**
+   * set true to enable redraw timing debug output on stderr
+   */
+  private final boolean debugRedraw = false;
   /**
    * non-Thread safe repaint
    * 
@@ -809,7 +807,6 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
    */
   public void fastPaint(int horizontal)
   {
-
     if ((horizontal == 0) || gg == null
             || av.getAlignment().getAlignmentAnnotation() == null
             || av.getAlignment().getAlignmentAnnotation().length < 1
@@ -818,8 +815,9 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
       repaint();
       return;
     }
+    long stime=System.currentTimeMillis();
     gg.copyArea(0, 0, imgWidth, getHeight(), -horizontal * av.charWidth, 0);
-
+    long mtime=System.currentTimeMillis();
     int sr = av.startRes;
     int er = av.endRes + 1;
     int transX = 0;
@@ -839,9 +837,13 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
     drawComponent(gg, sr, er);
 
     gg.translate(-transX, 0);
-
+    long dtime=System.currentTimeMillis();
     fastPaint = true;
     repaint();
+    long rtime=System.currentTimeMillis();
+    if (debugRedraw) {
+      System.err.println("Scroll:\t"+horizontal+"\tCopyArea:\t"+(mtime-stime)+"\tDraw component:\t"+(dtime-mtime)+"\tRepaint call:\t"+(rtime-dtime));
+    }
 
   }
 
@@ -902,7 +904,7 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
       }
       fadedImage = null;
     }
-
+    
     g.setColor(Color.white);
     g.fillRect(0, 0, (endRes - startRes) * av.charWidth, getHeight());
 
@@ -950,4 +952,16 @@ public class AnnotationPanel extends JPanel implements AwtRenderPanelI,
   {
     return imgWidth;
   }
+  private int[] bounds = new int[2];
+  @Override
+  public int[] getVisibleVRange()
+  {
+    if (ap!=null && ap.alabels!=null)
+    {
+    int sOffset=-ap.alabels.scrollOffset;
+    int visHeight = sOffset+ap.annotationSpaceFillerHolder.getHeight();
+    bounds[0] = sOffset; bounds[1]=visHeight;
+    return bounds;
+    } else return null;
+  }
 }
index 69f0fef..d954b76 100644 (file)
@@ -361,21 +361,9 @@ public class JDatabaseTree extends JalviewDialog implements KeyListener
             }
             else
             {
-              if ((admt = dmt.getFirstLeaf()) != null
-                      && admt.getUserObject() != null)
-              {
-                // modify db selection to just first leaf.
-                if (admt.getUserObject() instanceof DbSourceProxy)
-                {
-                  srcs.add((DbSourceProxy) admt.getUserObject());
-                }
-                else
-                {
-                  srcs.add(sfetcher.getSourceProxy(
-                          (String) admt.getUserObject()).get(0));
-                }
-                forcedFirstChild = true;
-              }
+              srcs.add(sfetcher.getSourceProxy((String) dmt
+                      .getUserObject()).get(0));
+              forcedFirstChild = true;
             }
           }
         }
index eab240f..eb55994 100644 (file)
@@ -109,7 +109,7 @@ public class OptsAndParamsPage
 
         enabled.setToolTipText("<html>"
                 + JvSwingUtils
-                        .wrapTooltip(((desc == null) ? "see further details by right-clicking"
+                        .wrapTooltip(((desc == null || desc.trim().length()==0) ? "see further details by right-clicking"
                                 : desc)
                                 + "<br><img src=\"" + linkImageURL + "\"/>")
                 + "</html>");
@@ -117,7 +117,7 @@ public class OptsAndParamsPage
       }
       else
       {
-        if (desc != null)
+        if (desc != null && desc.trim().length()>0)
         {
           enabled.setToolTipText("<html>"
                   + JvSwingUtils.wrapTooltip(opt.getDescription())
@@ -235,10 +235,11 @@ public class OptsAndParamsPage
 
     }
 
-    public void resetToDefault()
+
+    public void resetToDefault(boolean setDefaultParams)
     {
       enabled.setSelected(false);
-      if (option.isRequired())
+      if (option.isRequired() || (setDefaultParams && option.getValue()!=null))
       {
         // Apply default value
         selectOption(option, option.getValue());
@@ -258,7 +259,7 @@ public class OptsAndParamsPage
         initVal = (initEnabled) ? (String) val.getSelectedItem() : null;
       }
     }
-
+    
   }
 
   public class ParamBox extends JPanel implements ChangeListener,
@@ -783,9 +784,9 @@ public class OptsAndParamsPage
 
   URL linkImageURL = getClass().getResource("/images/link.gif");
 
-  Map<String, OptionBox> optSet = new Hashtable<String, OptionBox>();
+  Map<String, OptionBox> optSet = new java.util.LinkedHashMap<String, OptionBox>();
 
-  Map<String, ParamBox> paramSet = new Hashtable<String, ParamBox>();
+  Map<String, ParamBox> paramSet = new java.util.LinkedHashMap<String, ParamBox>();
 
   public Map<String, OptionBox> getOptSet()
   {
index 014f076..21a2224 100755 (executable)
@@ -25,7 +25,8 @@ import java.awt.*;
 import jalview.datamodel.*;
 
 /**
- * DOCUMENT ME!
+ * Route datamodel/view update events for a sequence set to any display components involved
+ * TODO: JV3 refactor to abstract gui/view package
  * 
  * @author $author$
  * @version $Revision$
index 3095c47..86c52b3 100644 (file)
@@ -307,7 +307,7 @@ public class SeqPanel extends JPanel implements MouseListener,
   {
     SequenceI sequence = av.getAlignment().getSequenceAt(seqCanvas.cursorY);
 
-    seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1() - 1);
+    seqCanvas.cursorX = sequence.findIndex(getKeyboardNo1()) - 1;
     scrollToVisible();
   }
 
@@ -518,26 +518,31 @@ public class SeqPanel extends JPanel implements MouseListener,
 
   int getKeyboardNo1()
   {
-    if (keyboardNo1 == null)
-      return 1;
-    else
+    try {
+    if (keyboardNo1 != null) 
     {
       int value = Integer.parseInt(keyboardNo1.toString());
       keyboardNo1 = null;
       return value;
     }
+    } catch (Exception x)
+    {}
+    keyboardNo1 = null;
+    return 1;
   }
 
   int getKeyboardNo2()
   {
-    if (keyboardNo2 == null)
-      return 1;
-    else
-    {
+    try {
+    if (keyboardNo2!=null){
       int value = Integer.parseInt(keyboardNo2.toString());
       keyboardNo2 = null;
       return value;
     }
+    } catch (Exception x)
+    {}
+    keyboardNo2 = null;
+    return 1;
   }
 
   /**
index 8abbcee..77f3155 100644 (file)
@@ -566,14 +566,27 @@ public class WsJobParameters extends JPanel implements ItemListener,
   @SuppressWarnings("unchecked")
   private void updateTable(WsParamSetI p, List<ArgumentI> jobArgset)
   {
+    boolean setDefaultParams=false;
+    if (lastParmSet == null)
+    {
+      isUserPreset = false;
+      // First call - so provide Service default settings
+      setName.setSelectedItem(lastSetName = SVC_DEF);
+    }
+    if (p==null && SVC_DEF.equals(""+setName.getSelectedItem()))
+    {
+      // indicate that service defaults should be set if available
+      setDefaultParams=true;
+    }
     // populate table from default parameter set.
     List<ArgumentI> args = paramStore.getServiceParameters();
 
     // split to params and required arguments
     {
       int cw = 0;
+      boolean optset=false;
       for (ArgumentI myarg : args)
-      {
+      { 
         // Ideally, Argument would implement isRequired !
         if (myarg instanceof ParameterI)
         {
@@ -586,7 +599,7 @@ public class WsJobParameters extends JPanel implements ItemListener,
           {
             OptionI opt = (OptionI) myarg;
             OptionBox ob = opanp.addOption(opt);
-            ob.resetToDefault();
+            ob.resetToDefault(setDefaultParams);
             if (MAX_OPTWIDTH < ob.getPreferredSize().width)
             {
               MAX_OPTWIDTH = ob.getPreferredSize().width;
@@ -620,16 +633,6 @@ public class WsJobParameters extends JPanel implements ItemListener,
       // TODO: check if args should be unselected prior to resetting using the
       // preset
     }
-    else
-    {
-      if (lastParmSet == null)
-      {
-        isUserPreset = false;
-        // first call - so create a dummy name
-
-        setName.setSelectedItem(lastSetName = SVC_DEF);
-      }
-    }
 
     if (jobArgset != null)
     {
index 45e6c47..4abd768 100755 (executable)
@@ -131,7 +131,9 @@ public class AnnotationFile
       StringBuffer colours = new StringBuffer();
       StringBuffer graphLine = new StringBuffer();
       StringBuffer rowprops = new StringBuffer();
-      Hashtable graphGroup = new Hashtable();
+      Hashtable<Integer,String> graphGroup = new Hashtable<Integer,String>();
+      Hashtable<Integer, Object[]> graphGroup_refs = new Hashtable<Integer,Object[]>();
+      BitSet graphGroupSeen = new BitSet();
 
       java.awt.Color color;
 
@@ -139,61 +141,20 @@ public class AnnotationFile
       {
         row = annotations[i];
 
-        if (!row.visible && !row.hasScore())
+        if (!row.visible && !row.hasScore() && !(row.graphGroup>-1 && graphGroupSeen.get(row.graphGroup)))
         {
           continue;
         }
 
         color = null;
         oneColour = true;
-
-        if (row.sequenceRef == null)
-        {
-          if (refSeq != null)
-          {
-            text.append(newline);
-            text.append("SEQUENCE_REF\tALIGNMENT");
-            text.append(newline);
-          }
-
-          refSeq = null;
-        }
-
-        else
-        {
-          if (refSeq == null || refSeq != row.sequenceRef)
-          {
-            refSeq = row.sequenceRef;
-            text.append(newline);
-            text.append("SEQUENCE_REF\t");
-            text.append(refSeq.getName());
-            text.append(newline);
-          }
-        }
+        
+        // mark any sequence references for the row
+        writeSequence_Ref(refSeq ,row.sequenceRef);
+        refSeq = row.sequenceRef;
         // mark any group references for the row
-        if (row.groupRef == null)
-        {
-
-          if (refGroup != null)
-          {
-            text.append(newline);
-            text.append("GROUP_REF\tALIGNMENT");
-            text.append(newline);
-          }
-
-          refGroup = null;
-        }
-        else
-        {
-          if (refGroup == null || refGroup != row.groupRef)
-          {
-            refGroup = row.groupRef;
-            text.append(newline);
-            text.append("GROUP_REF\t");
-            text.append(refGroup.getName());
-            text.append(newline);
-          }
-        }
+        writeGroup_Ref(refGroup, row.groupRef);
+        refGroup = row.groupRef;
 
         boolean hasGlyphs = row.hasIcons, hasLabels = row.hasText, hasValues = row.hasScore, hasText = false;
         // lookahead to check what the annotation row object actually contains.
@@ -251,13 +212,16 @@ public class AnnotationFile
 
           if (row.graphGroup > -1)
           {
-            String key = String.valueOf(row.graphGroup);
+            graphGroupSeen.set(row.graphGroup);
+            Integer key = new Integer(row.graphGroup);
             if (graphGroup.containsKey(key))
             {
               graphGroup.put(key, graphGroup.get(key) + "\t" + row.label);
+              
             }
             else
             {
+              graphGroup_refs.put(key, new Object[] { refSeq, refGroup});
               graphGroup.put(key, row.label);
             }
           }
@@ -374,21 +338,37 @@ public class AnnotationFile
           rowprops.append(row.centreColLabels);
           rowprops.append(newline);
         }
+        if (graphLine.length()>0) {
+          text.append(graphLine.toString());
+          graphLine.setLength(0);
+        }
       }
 
       text.append(newline);
 
       text.append(colours.toString());
-      text.append(graphLine.toString());
       if (graphGroup.size() > 0)
       {
-        text.append("COMBINE\t");
-        Enumeration en = graphGroup.elements();
-        while (en.hasMoreElements())
-        {
-          text.append(en.nextElement());
+        SequenceI oldRefSeq = refSeq;
+        SequenceGroup oldRefGroup = refGroup;
+        for (Map.Entry<Integer, String> combine_statement:graphGroup.entrySet())
+        {
+          Object[] seqRefAndGroup=graphGroup_refs.get(combine_statement.getKey());
+          
+          writeSequence_Ref(refSeq, (SequenceI)seqRefAndGroup[0]);
+          refSeq = (SequenceI)seqRefAndGroup[0];
+          
+          writeGroup_Ref(refGroup, (SequenceGroup)seqRefAndGroup[1]);
+          refGroup = (SequenceGroup)seqRefAndGroup[1];
+          text.append("COMBINE\t");
+          text.append(combine_statement.getValue());
           text.append(newline);
         }
+        writeSequence_Ref(refSeq, oldRefSeq);
+        refSeq = oldRefSeq;
+        
+        writeGroup_Ref(refGroup, oldRefGroup);
+        refGroup = oldRefGroup;
       }
       text.append(rowprops.toString());
     }
@@ -419,6 +399,62 @@ public class AnnotationFile
     return text.toString();
   }
 
+  private Object writeGroup_Ref(SequenceGroup refGroup, SequenceGroup next_refGroup)
+  {
+    if (next_refGroup == null)
+    {
+
+      if (refGroup != null)
+      {
+        text.append(newline);
+        text.append("GROUP_REF\t");
+        text.append("ALIGNMENT");
+        text.append(newline);
+      }
+      return true;
+    }
+    else
+    {
+      if (refGroup == null || refGroup != next_refGroup)
+      {
+        text.append(newline);
+        text.append("GROUP_REF\t");
+        text.append(next_refGroup.getName());
+        text.append(newline);
+        return true;
+      }
+    }
+    return false;  
+  }
+  
+  private boolean writeSequence_Ref(SequenceI refSeq, SequenceI next_refSeq)
+  {
+
+    if (next_refSeq==null)
+    {
+      if (refSeq != null)
+      {
+        text.append(newline);
+        text.append("SEQUENCE_REF\t");
+        text.append("ALIGNMENT");
+        text.append(newline);
+        return true;
+      }
+    }
+    else
+    {
+      if (refSeq == null || refSeq != next_refSeq)
+      {
+        text.append(newline);
+        text.append("SEQUENCE_REF\t");
+        text.append(next_refSeq.getName());
+        text.append(newline);
+        return true;
+      }
+    }
+    return false;
+  }
+
   public void printGroups(List<SequenceGroup> list)
   {
     SequenceI seqrep = null;
@@ -579,14 +615,22 @@ public class AnnotationFile
     {
       ex.printStackTrace();
       System.out.println("Problem reading annotation file: " + ex);
+      if (nlinesread>0) {
+        System.out.println("Last read line "+nlinesread+": '"+lastread+"' (first 80 chars) ...");
+      }
       return false;
     }
     return false;
   }
-
+  long nlinesread=0;
+  String lastread="";
+  private static String GRAPHLINE="GRAPHLINE", COMBINE="COMBINE"; 
   public boolean parseAnnotationFrom(AlignmentI al, BufferedReader in)
           throws Exception
   {
+    nlinesread = 0;
+    ArrayList<Object[]> combineAnnotation_calls = new ArrayList<Object[]>();
+    ArrayList<Object[]> deferredAnnotation_calls = new ArrayList<Object[]>();
     boolean modified = false;
     String groupRef = null;
     Hashtable groupRefRows = new Hashtable();
@@ -631,6 +675,7 @@ public class AnnotationFile
       boolean jvAnnotationFile = false;
       while ((line = in.readLine()) != null)
       {
+        nlinesread++;lastread = new String(line);
         if (line.indexOf("#") == 0)
         {
           continue;
@@ -651,6 +696,7 @@ public class AnnotationFile
 
       while ((line = in.readLine()) != null)
       {
+        nlinesread++;lastread = new String(line);
         if (line.indexOf("#") == 0
                 || line.indexOf("JALVIEW_ANNOTATION") > -1
                 || line.length() == 0)
@@ -668,9 +714,10 @@ public class AnnotationFile
           continue;
         }
 
-        else if (token.equalsIgnoreCase("COMBINE"))
+        else if (token.equalsIgnoreCase(COMBINE))
         {
-          combineAnnotations(al, st);
+          // keep a record of current state and resolve groupRef at end
+          combineAnnotation_calls.add(new Object[] { st, refSeq, groupRef});
           modified = true;
           continue;
         }
@@ -680,9 +727,10 @@ public class AnnotationFile
           modified = true;
           continue;
         }
-        else if (token.equalsIgnoreCase("GRAPHLINE"))
+        else if (token.equalsIgnoreCase(GRAPHLINE))
         {
-          addLine(al, st);
+          // resolve at end
+          deferredAnnotation_calls.add(new Object[] { GRAPHLINE, st, refSeq, groupRef});
           modified = true;
           continue;
         }
@@ -885,7 +933,8 @@ public class AnnotationFile
         // and set modification flag
         modified = true;
       }
-      // Finally, resolve the groupRefs
+      // Resolve the groupRefs
+      Hashtable <String,SequenceGroup> groupRefLookup=new Hashtable<String,SequenceGroup>();
       Enumeration en = groupRefRows.keys();
 
       while (en.hasMoreElements())
@@ -909,6 +958,7 @@ public class AnnotationFile
             {
               matched = true;
               Vector rowset = (Vector) groupRefRows.get(groupRef);
+              groupRefLookup.put(groupRef,  theGroup);
               if (rowset != null && rowset.size() > 0)
               {
                 AlignmentAnnotation alan = null;
@@ -923,6 +973,34 @@ public class AnnotationFile
         }
         ((Vector) groupRefRows.get(groupRef)).removeAllElements();
       }
+      // process any deferred attribute settings for each context
+      for (Object[] _deferred_args : deferredAnnotation_calls)
+      {
+        if (_deferred_args[0] == GRAPHLINE)
+        {
+          addLine(al,
+                  (StringTokenizer) _deferred_args[1], // st
+                  (SequenceI) _deferred_args[2], // refSeq
+                  (_deferred_args[3] == null) ? null : groupRefLookup
+                          .get((String) _deferred_args[3]) // the reference
+                                                           // group, or null
+          );
+        }
+      }      
+
+      // finally, combine all the annotation rows within each context.
+      /**
+       * number of combine statements in this annotation file. Used to create new groups for combined annotation graphs without disturbing existing ones
+       */
+      int combinecount = 0;
+      for (Object[] _combine_args:combineAnnotation_calls) {
+        combineAnnotations(al, 
+                ++combinecount,
+                (StringTokenizer) _combine_args[0], // st
+                (SequenceI) _combine_args[1], // refSeq
+                (_combine_args[2]==null) ? null : groupRefLookup.get((String)_combine_args[2]) // the reference group, or null
+                );
+      }
     }
     return modified;
   }
@@ -1079,19 +1157,34 @@ public class AnnotationFile
     }
   }
 
-  void combineAnnotations(AlignmentI al, StringTokenizer st)
+  void combineAnnotations(AlignmentI al, int combineCount, StringTokenizer st, SequenceI seqRef, SequenceGroup groupRef)
   {
-    int graphGroup = -1;
     String group = st.nextToken();
     // First make sure we are not overwriting the graphIndex
+    int graphGroup=0;
     if (al.getAlignmentAnnotation() != null)
     {
       for (int i = 0; i < al.getAlignmentAnnotation().length; i++)
       {
-        if (al.getAlignmentAnnotation()[i].label.equalsIgnoreCase(group))
+        AlignmentAnnotation aa = al.getAlignmentAnnotation()[i];
+        
+        if (aa.graphGroup>graphGroup)
+        {
+          // try to number graphGroups in order of occurence.
+          graphGroup=aa.graphGroup+1;
+        }
+        if (aa.sequenceRef==seqRef && aa.groupRef==groupRef && aa.label.equalsIgnoreCase(group))
         {
-          graphGroup = al.getAlignmentAnnotation()[i].graphGroup + 1;
-          al.getAlignmentAnnotation()[i].graphGroup = graphGroup;
+          if (aa.graphGroup>-1)
+          {
+            graphGroup = aa.graphGroup;
+          } else {
+            if (graphGroup <= combineCount)
+            {
+              graphGroup=combineCount+1;
+            }
+            aa.graphGroup = graphGroup;
+          }
           break;
         }
       }
@@ -1102,9 +1195,10 @@ public class AnnotationFile
         group = st.nextToken();
         for (int i = 0; i < al.getAlignmentAnnotation().length; i++)
         {
-          if (al.getAlignmentAnnotation()[i].label.equalsIgnoreCase(group))
+          AlignmentAnnotation aa = al.getAlignmentAnnotation()[i];
+          if (aa.sequenceRef==seqRef && aa.groupRef==groupRef && aa.label.equalsIgnoreCase(group))
           {
-            al.getAlignmentAnnotation()[i].graphGroup = graphGroup;
+            aa.graphGroup = graphGroup;
             break;
           }
         }
@@ -1117,19 +1211,26 @@ public class AnnotationFile
     }
   }
 
-  void addLine(AlignmentI al, StringTokenizer st)
+  void addLine(AlignmentI al, StringTokenizer st, SequenceI seqRef, SequenceGroup groupRef)
   {
     String group = st.nextToken();
     AlignmentAnnotation annotation = null, alannot[] = al
             .getAlignmentAnnotation();
+    float value = new Float(st.nextToken()).floatValue();
+    String label = st.hasMoreTokens() ? st.nextToken() : null;
+    java.awt.Color colour = null;
+    if (st.hasMoreTokens())
+    {
+      UserColourScheme ucs = new UserColourScheme(st.nextToken());
+      colour = ucs.findColour('A');
+    }
     if (alannot != null)
     {
       for (int i = 0; i < alannot.length; i++)
       {
-        if (alannot[i].label.equalsIgnoreCase(group))
+        if (alannot[i].label.equalsIgnoreCase(group) && (seqRef==null || alannot[i].sequenceRef==seqRef) && (groupRef==null || alannot[i].groupRef==groupRef))
         {
-          annotation = alannot[i];
-          break;
+          alannot[i].setThreshold(new GraphLine(value, label, colour));
         }
       }
     }
@@ -1137,16 +1238,6 @@ public class AnnotationFile
     {
       return;
     }
-    float value = new Float(st.nextToken()).floatValue();
-    String label = st.hasMoreTokens() ? st.nextToken() : null;
-    java.awt.Color colour = null;
-    if (st.hasMoreTokens())
-    {
-      UserColourScheme ucs = new UserColourScheme(st.nextToken());
-      colour = ucs.findColour('A');
-    }
-
-    annotation.setThreshold(new GraphLine(value, label, colour));
   }
 
   void addGroup(AlignmentI al, StringTokenizer st)
index 11f5adb..67d50ee 100755 (executable)
@@ -45,21 +45,24 @@ public class AppletFormatAdapter
    * method
    */
   public static final String[] WRITEABLE_FORMATS = new String[]
-  { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "AMSA" };
+  { "BLC", "CLUSTAL", "FASTA", "MSF", "PileUp", "PIR", "PFAM", "STH",
+      "AMSA" };
 
   /**
    * List of extensions corresponding to file format types in WRITABLE_FNAMES
    * that are writable by the application.
    */
   public static final String[] WRITABLE_EXTENSIONS = new String[]
-  { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar" };
+  { "fa, fasta, fastq", "aln", "pfam", "msf", "pir", "blc", "amsa", "jar",
+      "sto,stk" };
 
   /**
    * List of writable formats by the application. Order must correspond with the
    * WRITABLE_EXTENSIONS list of formats.
    */
   public static final String[] WRITABLE_FNAMES = new String[]
-  { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview" };
+  { "Fasta", "Clustal", "PFAM", "MSF", "PIR", "BLC", "AMSA", "Jalview",
+      "STH" };
 
   /**
    * List of readable format file extensions by application in order
@@ -445,7 +448,7 @@ public class AppletFormatAdapter
       }
       else if (format.equalsIgnoreCase("STH"))
       {
-        afile = new StockholmFile();
+        afile = new StockholmFile(alignment);
       }
       else if (format.equalsIgnoreCase("AMSA"))
       {
@@ -502,44 +505,47 @@ public class AppletFormatAdapter
         {
           System.out.println("Reading file: " + f);
           AppletFormatAdapter afa = new AppletFormatAdapter();
-          Runtime r = Runtime.getRuntime();
-          System.gc();
-          long memf = -r.totalMemory() + r.freeMemory();
-          long t1 = -System.currentTimeMillis();
-          Alignment al = afa.readFile(args[i], FILE,
-                  new IdentifyFile().Identify(args[i], FILE));
-          t1 += System.currentTimeMillis();
-          System.gc();
-          memf += r.totalMemory() - r.freeMemory();
-          if (al != null)
+          String fName = f.getName();
           {
-            System.out.println("Alignment contains " + al.getHeight()
-                    + " sequences and " + al.getWidth() + " columns.");
-            try
+            Runtime r = Runtime.getRuntime();
+            System.gc();
+            long memf = -r.totalMemory() + r.freeMemory();
+            long t1 = -System.currentTimeMillis();
+            Alignment al = afa.readFile(args[i], FILE,
+                    new IdentifyFile().Identify(args[i], FILE));
+            t1 += System.currentTimeMillis();
+            System.gc();
+            memf += r.totalMemory() - r.freeMemory();
+            if (al != null)
             {
-              System.out.println(new AppletFormatAdapter().formatSequences(
-                      "FASTA", al, true));
-            } catch (Exception e)
+              System.out.println("Alignment contains " + al.getHeight()
+                      + " sequences and " + al.getWidth() + " columns.");
+              try
+              {
+                System.out.println(new AppletFormatAdapter()
+                        .formatSequences("FASTA", al, true));
+              } catch (Exception e)
+              {
+                System.err
+                        .println("Couln't format the alignment for output as a FASTA file.");
+                e.printStackTrace(System.err);
+              }
+            }
+            else
             {
-              System.err
-                      .println("Couln't format the alignment for output as a FASTA file.");
-              e.printStackTrace(System.err);
+              System.out.println("Couldn't read alignment");
             }
+            System.out.println("Read took " + (t1 / 1000.0) + " seconds.");
+            System.out
+                    .println("Difference between free memory now and before is "
+                            + (memf / (1024.0 * 1024.0) * 1.0) + " MB");
           }
-          else
-          {
-            System.out.println("Couldn't read alignment");
-          }
-          System.out.println("Read took " + (t1 / 1000.0) + " seconds.");
-          System.out
-                  .println("Difference between free memory now and before is "
-                          + (memf / (1024.0 * 1024.0) * 1.0) + " MB");
-
         } catch (Exception e)
         {
           System.err.println("Exception when dealing with " + i
                   + "'th argument: " + args[i] + "\n" + e);
         }
+
       }
       else
       {
@@ -720,4 +726,5 @@ public class AppletFormatAdapter
     }
     return null;
   }
+
 }
index 975a1a3..6f07b69 100755 (executable)
@@ -322,9 +322,14 @@ public class FileLoader implements Runnable
 
             if (!protocol.equals(AppletFormatAdapter.PASTE))
               alignFrame.setFileName(file, format);
-
-            Desktop.addInternalFrame(alignFrame, title,
-                    AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
+            if (raiseGUI)
+            {
+              // add the window to the GUI
+              // note - this actually should happen regardless of raiseGUI status in Jalview 3
+              // TODO: define 'virtual desktop' for benefit of headless scripts that perform queries to find the 'current working alignment'
+              Desktop.addInternalFrame(alignFrame, title,
+                      AlignFrame.DEFAULT_WIDTH, AlignFrame.DEFAULT_HEIGHT);
+            }
 
             try
             {
index 62237d9..bb52ec2 100755 (executable)
@@ -19,6 +19,7 @@ package jalview.io;
 
 import java.io.*;
 import java.net.*;
+import java.util.zip.GZIPInputStream;
 
 /**
  * implements a random access wrapper around a particular datasource, for
@@ -141,18 +142,63 @@ public class FileParse
     }
     if (!error)
     {
+      if (fileStr.toLowerCase().endsWith(".gz"))
+      {
+        try
+        {
+          dataIn = tryAsGzipSource(new FileInputStream(fileStr));
+          dataName = fileStr;
+          return error;
+        } catch (Exception x)
+        {
+          warningMessage = "Failed  to resolve as a GZ stream ("
+                  + x.getMessage() + ")";
+          x.printStackTrace();
+        }
+        ;
+      }
+      
       dataIn = new BufferedReader(new FileReader(fileStr));
       dataName = fileStr;
     }
     return error;
   }
-
+  private BufferedReader tryAsGzipSource(InputStream inputStream) throws Exception
+  {
+    BufferedReader inData = new BufferedReader(new InputStreamReader(new GZIPInputStream(inputStream)));
+    inData.mark(2048);
+    inData.read();
+    inData.reset();
+    return inData;
+  }
   private boolean checkURLSource(String fileStr) throws IOException,
           MalformedURLException
   {
     errormessage = "URL NOT FOUND";
     URL url = new URL(fileStr);
-    dataIn = new BufferedReader(new InputStreamReader(url.openStream()));
+    //
+    // GZIPInputStream code borrowed from Aquaria (soon to be open sourced) via Kenny Sabir
+    Exception e=null;
+    if (fileStr.toLowerCase().endsWith(".gz")) {
+      try {
+          InputStream inputStream = url.openStream();
+          dataIn = tryAsGzipSource(inputStream);
+          dataName = fileStr;
+          return false;
+      } catch (Exception ex) {
+        e=ex;
+      }
+    }
+
+    try {
+      dataIn = new BufferedReader(new InputStreamReader(url.openStream()));
+    } catch (IOException q) {
+      if (e!=null)
+      {
+        throw new IOException("Failed to resolve GZIP stream", e);
+      }
+      throw q;
+    }
     // record URL as name of datasource.
     dataName = fileStr;
     return false;
index d664dcf..9ed1491 100755 (executable)
@@ -292,6 +292,7 @@ public class NewickFile extends FileParse
 
     int nextcp = 0;
     int ncp = cp;
+    boolean parsednodename=false;
     while (majorsyms.searchFrom(nf, cp) && (Error == null))
     {
       int fcp = majorsyms.matchedFrom();
@@ -349,14 +350,20 @@ public class NewickFile extends FileParse
       case '\'':
 
         com.stevesoft.pat.Regex qnodename = new com.stevesoft.pat.Regex(
-                "([^']|'')+'");
+                "'([^']|'')+'");
 
         if (qnodename.searchFrom(nf, fcp))
         {
           int nl = qnodename.stringMatched().length();
-          nodename = new String(qnodename.stringMatched().substring(0,
+          nodename = new String(qnodename.stringMatched().substring(1,
                   nl - 1));
-          cp = fcp + nl + 1;
+          // unpack any escaped colons
+          com.stevesoft.pat.Regex xpandquotes = com.stevesoft.pat.Regex.perlCode("s/''/'/");
+          String widernodename = xpandquotes.replaceAll(nodename);
+          nodename=widernodename;
+          // jump to after end of quoted nodename
+          nextcp = fcp + nl + 1;
+          parsednodename=true;
         }
         else
         {
@@ -425,7 +432,7 @@ public class NewickFile extends FileParse
         com.stevesoft.pat.Regex ndist = new com.stevesoft.pat.Regex(
                 ":([-0-9Ee.+]+)");
 
-        if (uqnodename.search(fstring)
+        if (!parsednodename && uqnodename.search(fstring)
                 && ((uqnodename.matchedFrom(1) == 0) || (fstring
                         .charAt(uqnodename.matchedFrom(1) - 1) != ':'))) // JBPNote
         // HACK!
@@ -584,6 +591,7 @@ public class NewickFile extends FileParse
         distance = DefDistance;
         bootstrap = DefBootstrap;
         commentString2 = null;
+        parsednodename=false;
       }
       if (nextcp == 0)
       {
index 669181a..02ab5c1 100644 (file)
@@ -25,6 +25,7 @@ import java.util.*;
 
 import com.stevesoft.pat.*;
 import jalview.datamodel.*;
+import jalview.util.Format;
 
 // import org.apache.log4j.*;
 
@@ -43,11 +44,22 @@ import jalview.datamodel.*;
 public class StockholmFile extends AlignFile
 {
   // static Logger logger = Logger.getLogger("jalview.io.StockholmFile");
+  StringBuffer out; // output buffer
+
+  AlignmentI al;
 
   public StockholmFile()
   {
   }
 
+  /**
+   * Creates a new StockholmFile object for output.
+   */
+  public StockholmFile(AlignmentI al)
+  {
+    this.al = al;
+  }
+
   public StockholmFile(String inFile, String type) throws IOException
   {
     super(inFile, type);
@@ -132,8 +144,24 @@ public class StockholmFile extends AlignFile
       if (rend.search(line))
       {
         // End of the alignment, pass stuff back
-
         this.noSeqs = seqs.size();
+
+        String seqdb,dbsource = null;
+        Regex pf = new Regex("PF[0-9]{5}(.*)"); // Finds AC for Pfam
+        Regex rf = new Regex("RF[0-9]{5}(.*)"); // Finds AC for Rfam
+        if (getAlignmentProperty("AC") != null)
+        {
+          String dbType = getAlignmentProperty("AC").toString();
+          if (pf.search(dbType))
+          {
+            // PFAM Alignment - so references are typically from Uniprot
+            dbsource = "PFAM";
+          }
+          else if (rf.search(dbType))
+          {
+            dbsource = "RFAM";
+          }
+        }
         // logger.debug("Number of sequences: " + this.noSeqs);
         Enumeration accs = seqs.keys();
         while (accs.hasMoreElements())
@@ -176,6 +204,7 @@ public class StockholmFile extends AlignFile
             String desc = (String) accAnnotations.get("DE");
             seqO.setDescription((desc == null) ? "" : desc);
           }
+
           // Add DB References (if any)
           if (accAnnotations != null && accAnnotations.containsKey("DR"))
           {
@@ -185,19 +214,22 @@ public class StockholmFile extends AlignFile
               String src = dbr.substring(0, dbr.indexOf(";"));
               String acn = dbr.substring(dbr.indexOf(";") + 1);
               jalview.util.DBRefUtils.parseToDbRef(seqO, src, "0", acn);
-              // seqO.addDBRef(dbref);
             }
           }
-          if (accAnnotations != null && accAnnotations.containsKey("SS"))
-          {
-            Vector v = (Vector) accAnnotations.get("SS");
 
-            for (int i = 0; i < v.size(); i++)
+          if (accAnnotations != null && accAnnotations.containsKey("AC"))
+          {
+            if (dbsource != null)
             {
-              AlignmentAnnotation an = (AlignmentAnnotation) v.elementAt(i);
-              seqO.addAlignmentAnnotation(an);
-              // annotations.add(an);
-            }
+              String dbr = (String) accAnnotations.get("AC");
+              if (dbr != null)
+              {
+                // we could get very clever here - but for now - just try to guess accession type from source of alignment plus structure of accession
+                guessDatabaseFor(seqO, dbr, dbsource);
+                
+              }
+            } 
+            // else - do what ?  add the data anyway and prompt the user to specify what references these are ?
           }
 
           Hashtable features = null;
@@ -224,6 +256,24 @@ public class StockholmFile extends AlignFile
               // TODO: map coding region to core jalview feature types
               String type = i.nextElement().toString();
               Hashtable content = (Hashtable) features.remove(type);
+
+              // add alignment annotation for this feature
+              String key = type2id(type);
+              if (key != null)
+              {
+                if (accAnnotations != null
+                        && accAnnotations.containsKey(key))
+                {
+                  Vector vv = (Vector) accAnnotations.get(key);
+                  for (int ii = 0; ii < vv.size(); ii++)
+                  {
+                    AlignmentAnnotation an = (AlignmentAnnotation) vv
+                            .elementAt(ii);
+                    seqO.addAlignmentAnnotation(an);
+                  }
+                }
+              }
+
               Enumeration j = content.keys();
               while (j.hasMoreElements())
               {
@@ -477,25 +527,20 @@ public class StockholmFile extends AlignFile
             }
             ns += seq;
             content.put(description, ns);
-
-            if (type.equals("SS"))
+            Hashtable strucAnn;
+            if (seqAnn.containsKey(acc))
             {
-              Hashtable strucAnn;
-              if (seqAnn.containsKey(acc))
-              {
-                strucAnn = (Hashtable) seqAnn.get(acc);
-              }
-              else
-              {
-                strucAnn = new Hashtable();
-              }
-
-              Vector newStruc = new Vector();
-              parseAnnotationRow(newStruc, type, ns);
-
-              strucAnn.put(type, newStruc);
-              seqAnn.put(acc, strucAnn);
+              strucAnn = (Hashtable) seqAnn.get(acc);
             }
+            else
+            {
+              strucAnn = new Hashtable();
+            }
+
+            Vector newStruc = new Vector();
+            parseAnnotationRow(newStruc, type, ns);
+            strucAnn.put(type, newStruc);
+            seqAnn.put(acc, strucAnn);
           }
           else
           {
@@ -522,6 +567,95 @@ public class StockholmFile extends AlignFile
     }
   }
 
+  /**
+   * Demangle an accession string and guess the originating sequence database for a given sequence
+   * @param seqO sequence to be annotated
+   * @param dbr Accession string for sequence
+   * @param dbsource source database for alignment (PFAM or RFAM)
+   */
+  private void guessDatabaseFor(Sequence seqO, String dbr, String dbsource)
+  {
+    DBRefEntry dbrf=null;
+    List<DBRefEntry> dbrs=new ArrayList<DBRefEntry>();
+    String seqdb="Unknown",sdbac=""+dbr;
+    int st=-1,en=-1,p;
+    if ((st=sdbac.indexOf("/"))>-1)
+    {
+      String num,range=sdbac.substring(st+1);
+      sdbac = sdbac.substring(0,st);
+      if ((p=range.indexOf("-"))>-1)
+      {
+        p++;
+        if (p<range.length())
+        {
+        num = range.substring(p).trim();
+        try {
+          en = Integer.parseInt(num);
+        } catch (NumberFormatException x)
+        {
+          // could warn here that index is invalid
+          en = -1;
+        }
+        }
+      } else {
+        p=range.length();
+      }
+      num=range.substring(0,p).trim();
+      try {
+        st = Integer.parseInt(num);
+      } catch (NumberFormatException x)
+      {
+        // could warn here that index is invalid
+        st = -1;
+      }
+    }
+    if (dbsource.equals("PFAM")) {
+      seqdb = "UNIPROT";
+      if (sdbac.indexOf(".")>-1)
+      {
+        // strip of last subdomain
+        sdbac = sdbac.substring(0,sdbac.indexOf("."));
+        dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);
+        if (dbrf!=null)
+        {
+          dbrs.add(dbrf);
+        }
+      }
+      dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);
+      if (dbr!=null)
+      {
+        dbrs.add(dbrf);
+      }
+    } else {
+      seqdb = "EMBL"; // total guess - could be ENA, or something else these days
+      if (sdbac.indexOf(".")>-1)
+      {
+        // strip off last subdomain
+        sdbac = sdbac.substring(0,sdbac.indexOf("."));
+        dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, seqdb, dbsource, sdbac);
+        if (dbrf!=null)
+        {
+          dbrs.add(dbrf);
+        }
+      }
+      
+      dbrf = jalview.util.DBRefUtils.parseToDbRef(seqO, dbsource, dbsource, dbr);
+      if (dbrf!=null)
+      {
+        dbrs.add(dbrf);
+      }
+    }
+    if (st!=-1 && en!=-1)
+    {
+      for (DBRefEntry d:dbrs)
+      {
+        jalview.util.MapList mp = new jalview.util.MapList(new int[] { seqO.getStart(),seqO.getEnd()},new int[] { st,en},1,1);
+        jalview.datamodel.Mapping mping = new Mapping(mp);
+        d.setMap(mping);
+      }
+    }
+  }
+
   protected static AlignmentAnnotation parseAnnotationRow(
           Vector annotation, String label, String annots)
   {
@@ -538,8 +672,12 @@ public class StockholmFile extends AlignFile
     convert2 = closeparen.replaceAll(convert1);
     annots = convert2;
 
-    String type = (label.indexOf("_cons") == label.length() - 5) ? label
-            .substring(0, label.length() - 5) : label;
+    String type = label;
+    if (label.contains("_cons"))
+    {
+      type = (label.indexOf("_cons") == label.length() - 5) ? label
+              .substring(0, label.length() - 5) : label;
+    }
     boolean ss = false;
     type = id2type(type);
     if (type.equals("secondary structure"))
@@ -606,14 +744,211 @@ public class StockholmFile extends AlignFile
     return annot;
   }
 
-  public static String print(SequenceI[] s)
+  public String print(SequenceI[] s)
   {
-    return "not yet implemented";
+    // find max length of id
+    int max = 0;
+    int maxid = 0;
+    int in = 0;
+    Hashtable dataRef = null;
+    while ((in < s.length) && (s[in] != null))
+    {
+      String tmp = printId(s[in]);
+      if (s[in].getSequence().length > max)
+      {
+        max = s[in].getSequence().length;
+      }
+
+      if (tmp.length() > maxid)
+      {
+        maxid = tmp.length();
+      }
+      if (s[in].getDBRef() != null)
+      {
+        for (int idb = 0; idb < s[in].getDBRef().length; idb++)
+        {
+          if (dataRef == null)
+            dataRef = new Hashtable();
+
+          String datAs1 = s[in].getDBRef()[idb].getSource().toString()
+                  + " ; "
+                  + s[in].getDBRef()[idb].getAccessionId().toString();
+          dataRef.put(tmp, datAs1);
+        }
+      }
+      in++;
+    }
+    maxid += 9;
+    int i = 0;
+
+    // output database type
+    if (al.getProperties() != null)
+    {
+      if (!al.getProperties().isEmpty())
+      {
+        Enumeration key = al.getProperties().keys();
+        Enumeration val = al.getProperties().elements();
+        while (key.hasMoreElements())
+        {
+          out.append("#=GF " + key.nextElement() + " " + val.nextElement());
+          out.append(newline);
+        }
+      }
+    }
+
+    // output database accessions
+    if (dataRef != null)
+    {
+      Enumeration en = dataRef.keys();
+      while (en.hasMoreElements())
+      {
+        Object idd = en.nextElement();
+        String type = (String) dataRef.remove(idd);
+        out.append(new Format("%-" + (maxid - 2) + "s").form("#=GS "
+                + idd.toString() + " "));
+        if (type.contains("PFAM") || type.contains("RFAM"))
+        {
+
+          out.append(" AC " + type.substring(type.indexOf(";") + 1));
+        }
+        else
+        {
+          out.append(" DR " + type + " ");
+        }
+        out.append(newline);
+      }
+    }
+
+    // output annotations
+    while (i < s.length && s[i] != null)
+    {
+      if (s[i].getDatasetSequence() != null)
+      {
+        SequenceI ds = s[i].getDatasetSequence();
+        AlignmentAnnotation[] alAnot;
+        Annotation[] ann;
+        Annotation annot;
+        alAnot = s[i].getAnnotation();
+        String feature = "";
+        if (alAnot != null)
+        {
+          for (int j = 0; j < alAnot.length; j++)
+          {
+            if (ds.getSequenceFeatures() != null)
+            {
+              feature = ds.getSequenceFeatures()[0].type;
+            }
+            String key = type2id(feature);
+
+            if (key == null)
+              continue;
+
+            // out.append("#=GR ");
+            out.append(new Format("%-" + maxid + "s").form("#=GR "
+                    + printId(s[i]) + " " + key + " "));
+            ann = alAnot[j].annotations;
+            String seq = "";
+            for (int k = 0; k < ann.length; k++)
+            {
+              annot = ann[k];
+              String ch = (annot == null) ? Character.toString(s[i]
+                      .getCharAt(k)) : annot.displayCharacter;
+              if (ch.length() == 0)
+              {
+                if (key.equals("SS"))
+                {
+                  char ll = annot.secondaryStructure;
+                  seq = (Character.toString(ll).equals(" ")) ? seq + "C"
+                          : seq + ll;
+                }
+                else
+                {
+                  seq += ".";
+                }
+              }
+              else if (ch.length() == 1)
+              {
+                seq += ch;
+              }
+              else if (ch.length() > 1)
+              {
+                seq += ch.charAt(1);
+              }
+            }
+            out.append(seq);
+            out.append(newline);
+          }
+        }
+      }
+
+      out.append(new Format("%-" + maxid + "s").form(printId(s[i]) + " "));
+      out.append(s[i].getSequenceAsString());
+      out.append(newline);
+      i++;
+    }
+
+    // alignment annotation
+    AlignmentAnnotation aa;
+    if (al.getAlignmentAnnotation() != null)
+    {
+      for (int ia = 0; ia < al.getAlignmentAnnotation().length; ia++)
+      {
+        aa = al.getAlignmentAnnotation()[ia];
+        if (aa.autoCalculated || !aa.visible)
+        {
+          continue;
+        }
+        String seq = "";
+        String label;
+
+        if (aa.label.equals("seq"))
+          label = "seq_cons";
+        else
+          label = type2id(aa.label.toLowerCase()) + "_cons";
+
+        if (label == null)
+          label = aa.label;
+
+        out.append(new Format("%-" + maxid + "s").form("#=GC " + label
+                + " "));
+        for (int j = 0; j < aa.annotations.length; j++)
+        {
+          String ch = (aa.annotations[j] == null) ? "-"
+                  : aa.annotations[j].displayCharacter;
+          if (ch.length() == 0)
+          {
+            char ll = aa.annotations[j].secondaryStructure;
+            if (Character.toString(ll).equals(" "))
+              seq += "C";
+            else
+              seq += ll;
+          }
+          else if (ch.length() == 1)
+          {
+            seq += ch;
+          }
+          else if (ch.length() > 1)
+          {
+            seq += ch.charAt(1);
+          }
+        }
+        out.append(seq);
+        out.append(newline);
+      }
+    }
+    return out.toString();
   }
 
   public String print()
   {
-    return print(getSeqsAsArray());
+    out = new StringBuffer();
+    out.append("# STOCKHOLM 1.0");
+    out.append(newline);
+    print(getSeqsAsArray());
+
+    out.append("//");
+    out.append(newline);
+    return out.toString();
   }
 
   private static Hashtable typeIds = null;
@@ -651,6 +986,28 @@ public class StockholmFile extends AlignFile
             + id);
     return id;
   }
+
+  protected static String type2id(String type)
+  {
+    String key = null;
+    Enumeration e = typeIds.keys();
+    while (e.hasMoreElements())
+    {
+      Object ll = e.nextElement();
+      if (typeIds.get(ll).toString().equals(type))
+      {
+        key = (String) ll;
+        break;
+      }
+    }
+    if (key != null)
+    {
+      return (String) key;
+    }
+    System.err.println("Warning : Unknown Stockholm annotation type: "
+            + type);
+    return key;
+  }
   /**
    * //ssline is complete secondary structure line private AlignmentAnnotation
    * addHelices(Vector annotation, String label, String ssline) {
index 7ab7fda..09152d6 100644 (file)
@@ -35,16 +35,29 @@ import java.awt.Image;
 import java.awt.font.LineMetrics;
 import java.awt.geom.AffineTransform;
 import java.awt.image.ImageObserver;
+import java.util.BitSet;
 import java.util.Hashtable;
 
 import com.stevesoft.pat.Regex;
 
 public class AnnotationRenderer
 {
+  /**
+   * flag indicating if timing and redraw parameter info should be output
+   */
+  private final boolean debugRedraw;
 
   public AnnotationRenderer()
   {
-    // TODO Auto-generated constructor stub
+    this(false);
+  }
+  /**
+   * Create a new annotation Renderer
+   * @param debugRedraw flag indicating if timing and redraw parameter info should be output
+   */
+  public AnnotationRenderer(boolean debugRedraw)
+  {
+    this.debugRedraw=debugRedraw;
   }
 
   public void drawStemAnnot(Graphics g, Annotation[] row_annotations,
@@ -141,7 +154,23 @@ public class AnnotationRenderer
    * width of image to render in panel
    */
   private int imgWidth;
-
+  /**
+   * offset to beginning of visible area
+   */
+  private int sOffset;
+  /**
+   * offset to end of visible area
+   */
+  private int visHeight;
+  /**
+   * indicate if the renderer should only render the visible portion of the annotation given the current view settings
+   */
+  private boolean useClip=true;
+  /**
+   * master flag indicating if renderer should ever try to clip. not enabled for jalview 2.8.1 
+   */
+  private boolean canClip=false;
+  
   // public void updateFromAnnotationPanel(FontMetrics annotFM, AlignViewportI
   // av)
   public void updateFromAwtRenderPanel(AwtRenderPanelI annotPanel,
@@ -151,6 +180,22 @@ public class AnnotationRenderer
     annotationPanel = annotPanel;
     fadedImage = annotPanel.getFadedImage();
     imgWidth = annotPanel.getFadedImageWidth();
+    // visible area for rendering
+    int[] bounds=annotPanel.getVisibleVRange();
+    if (bounds!=null)
+    {
+      sOffset = bounds[0];
+      visHeight = bounds[1];
+      if (visHeight==0)
+      {
+        useClip=false;
+      } else {
+        useClip=canClip;
+      }
+    } else {
+      useClip=false;
+    }
+
     updateFromAlignViewport(av);
   }
 
@@ -195,7 +240,7 @@ public class AnnotationRenderer
       }
       // TODO extend annotation row to enable dynamic and static profile data to
       // be stored
-      if (aa.groupRef == null && aa.sequenceRef == null && av_renderProfile)
+      if (aa.groupRef == null && aa.sequenceRef == null)
       {
         return AAFrequency.extractProfile(hconsensus[column],
                 av_ignoreGapsConsensus);
@@ -217,7 +262,7 @@ public class AnnotationRenderer
         // to
         // be stored
         if (aa.groupRef == null && aa.sequenceRef == null
-                && av_renderProfile && hStrucConsensus != null
+                && hStrucConsensus != null
                 && hStrucConsensus.length > column)
         {
           return StructureFrequency.extractProfile(hStrucConsensus[column],
@@ -250,6 +295,7 @@ public class AnnotationRenderer
           AlignViewportI av, Graphics g, int activeRow, int startRes,
           int endRes)
   {
+    long stime=System.currentTimeMillis();
     boolean usedFaded = false;
     // NOTES:
     // AnnotationPanel needs to implement: ImageObserver, access to
@@ -257,7 +303,10 @@ public class AnnotationRenderer
     updateFromAwtRenderPanel(annotPanel, av);
     fm = g.getFontMetrics();
     AlignmentAnnotation[] aa = av.getAlignment().getAlignmentAnnotation();
-
+    if (aa==null)
+    {
+      return false;
+    }
     int x = 0, y = 0;
     int column = 0;
     char lastSS;
@@ -269,15 +318,41 @@ public class AnnotationRenderer
     boolean centreColLabels, centreColLabelsDef = av
             .getCentreColumnLabels();
     boolean scaleColLabel = false;
-    boolean[] graphGroupDrawn = new boolean[aa.length];
+    AlignmentAnnotation consensusAnnot=av.getAlignmentConsensusAnnotation(),structConsensusAnnot=av.getAlignmentStrucConsensusAnnotation();
+    boolean renderHistogram = true, renderProfile = true, normaliseProfile = false;
+
+    BitSet graphGroupDrawn = new BitSet();
     int charOffset = 0; // offset for a label
     float fmWidth, fmScaling = 1f; // scaling for a label to fit it into a
     // column.
     Font ofont = g.getFont();
     // \u03B2 \u03B1
+    // debug ints
+    int yfrom=0,f_i=0,yto=0,f_to=0;
+    boolean clipst=false,clipend=false;
     for (int i = 0; i < aa.length; i++)
     {
       AlignmentAnnotation row = aa[i];
+      {
+        // check if this is a consensus annotation row and set the display settings appropriately
+        // TODO: generalise this to have render styles for consensus/profile
+        // data
+        if (row.groupRef != null && row == row.groupRef.getConsensus())
+        {
+          renderHistogram = row.groupRef.isShowConsensusHistogram();
+          renderProfile = row.groupRef.isShowSequenceLogo();
+          normaliseProfile = row.groupRef.isNormaliseSequenceLogo();
+        }
+        else if (row == consensusAnnot || row == structConsensusAnnot)
+        {
+          renderHistogram = av_renderHistogram;
+          renderProfile = av_renderProfile;
+          normaliseProfile = av_normaliseProfile;
+        } else {
+          renderHistogram = true;
+          // don't need to set render/normaliseProfile since they are not currently used in any other annotation track renderer
+        }
+      }
       Annotation[] row_annotations = row.annotations;
       if (!row.visible)
       {
@@ -288,10 +363,20 @@ public class AnnotationRenderer
       scaleColLabel = row.scaleColLabel;
       lastSS = ' ';
       lastSSX = 0;
+      
+      if (!useClip || ((y-charHeight)<visHeight && (y+row.height+charHeight*2)>=sOffset)) 
+      {// if_in_visible_region
+        if (!clipst)
+        {
+          clipst=true;
+          yfrom=y;
+          f_i=i;
+        }
+        yto = y;
+        f_to=i;
       if (row.graph > 0)
       {
-        if (row.graphGroup > -1 && graphGroupDrawn[row.graphGroup])
-        {
+        if (row.graphGroup > -1 && graphGroupDrawn.get(row.graphGroup)) {
           continue;
         }
 
@@ -566,8 +651,9 @@ public class AnnotationRenderer
       {
         if (row.graph == AlignmentAnnotation.LINE_GRAPH)
         {
-          if (row.graphGroup > -1 && !graphGroupDrawn[row.graphGroup])
+          if (row.graphGroup > -1 && !graphGroupDrawn.get(row.graphGroup))
           {
+            // TODO: JAL-1291 revise rendering model so the graphGroup map is computed efficiently for all visible labels
             float groupmax = -999999, groupmin = 9999999;
             for (int gg = 0; gg < aa.length; gg++)
             {
@@ -599,7 +685,7 @@ public class AnnotationRenderer
               }
             }
 
-            graphGroupDrawn[row.graphGroup] = true;
+            graphGroupDrawn.set(row.graphGroup);
           }
           else
           {
@@ -610,10 +696,15 @@ public class AnnotationRenderer
         else if (row.graph == AlignmentAnnotation.BAR_GRAPH)
         {
           drawBarGraph(g, row, row_annotations, startRes, endRes,
-                  row.graphMin, row.graphMax, y);
+                  row.graphMin, row.graphMax, y, renderHistogram,renderProfile,normaliseProfile);
         }
       }
-
+    } else {
+      if (clipst && !clipend)
+      {
+        clipend = true;
+      }
+    }// end if_in_visible_region
       if (row.graph > 0 && row.hasText)
       {
         y += charHeight;
@@ -624,6 +715,27 @@ public class AnnotationRenderer
         y += aa[i].height;
       }
     }
+    if (debugRedraw)
+    {
+      if (canClip)
+      {
+        if (clipst)
+        {
+          System.err.println("Start clip at : " + yfrom + " (index " + f_i
+                  + ")");
+        }
+        if (clipend)
+        {
+          System.err.println("End clip at : " + yto + " (index " + f_to
+                  + ")");
+        }
+      }
+      ;
+      System.err.println("Annotation Rendering time:"
+              + (System.currentTimeMillis() - stime));
+    }
+    ;
+
     return !usedFaded;
   }
 
@@ -820,7 +932,7 @@ public class AnnotationRenderer
 
   public void drawBarGraph(Graphics g, AlignmentAnnotation _aa,
           Annotation[] aa_annotations, int sRes, int eRes, float min,
-          float max, int y)
+          float max, int y, boolean renderHistogram,boolean renderProfile,boolean normaliseProfile)
   {
     if (sRes > aa_annotations.length)
     {
@@ -844,23 +956,6 @@ public class AnnotationRenderer
 
     int column;
     int aaMax = aa_annotations.length - 1;
-    boolean renderHistogram = true, renderProfile = true, normaliseProfile = false;
-    // if (aa.autoCalculated && aa.label.startsWith("Consensus"))
-    {
-      // TODO: generalise this to have render styles for consensus/profile data
-      if (_aa.groupRef != null)
-      {
-        renderHistogram = _aa.groupRef.isShowConsensusHistogram();
-        renderProfile = _aa.groupRef.isShowSequenceLogo();
-        normaliseProfile = _aa.groupRef.isNormaliseSequenceLogo();
-      }
-      else
-      {
-        renderHistogram = av_renderHistogram;
-        renderProfile = av_renderProfile;
-        normaliseProfile = av_normaliseProfile;
-      }
-    }
     while (x < eRes - sRes)
     {
       column = sRes + x;
index 70bbc7b..e73a673 100644 (file)
@@ -41,4 +41,10 @@ public interface AwtRenderPanelI extends ImageObserver
    */
   int getFadedImageWidth();
 
+  /**
+   * height of visible area on to the image - used to draw only what is visible.
+   * @return [start, end of visible region]
+   */
+  int[] getVisibleVRange();
+
 }
index 218b5fa..729065c 100755 (executable)
@@ -228,14 +228,14 @@ public class AnnotationColourGradient extends ResidueColourScheme
           if (thresholdIsMinMax
                   && annotation.threshold != null
                   && aboveAnnotationThreshold == ABOVE_THRESHOLD
-                  && annotation.annotations[j].value > annotation.threshold.value)
+                  && annotation.annotations[j].value >= annotation.threshold.value)
           {
             range = (annotation.annotations[j].value - annotation.threshold.value)
                     / (annotation.graphMax - annotation.threshold.value);
           }
           else if (thresholdIsMinMax && annotation.threshold != null
                   && aboveAnnotationThreshold == BELOW_THRESHOLD
-                  && annotation.annotations[j].value > annotation.graphMin)
+                  && annotation.annotations[j].value >= annotation.graphMin)
           {
             range = (annotation.annotations[j].value - annotation.graphMin)
                     / (annotation.threshold.value - annotation.graphMin);
@@ -250,7 +250,7 @@ public class AnnotationColourGradient extends ResidueColourScheme
           {
             currentColour = colourScheme.findColour(c, j, seq);
           }
-          else if (range != 0)
+          else 
           {
             dr = rr * range + r1;
             dg = gg * range + g1;
index fa4260f..bfff972 100755 (executable)
@@ -18,6 +18,7 @@
 package jalview.schemes;
 
 import java.util.*;
+import java.util.List;
 
 import java.awt.*;
 
@@ -690,22 +691,135 @@ public class ResidueProperties
     codonHash.put("STOP", STOP);
   }
 
-  public static Hashtable codonHash2 = new Hashtable();
+  /**
+   * Nucleotide Ambiguity Codes 
+   */
+  public static final Hashtable<String,String[]> ambiguityCodes=new Hashtable<String,String[]>();
+  /**
+   * Codon triplets with additional symbols for unambiguous codons that include ambiguity codes
+   */
+  public static final Hashtable<String,String> codonHash2 = new Hashtable<String,String>();
+  
+  /**
+   * all ambiguity codes for a given base
+   */
+  public final static Hashtable<String,List<String>> _ambiguityCodes = new Hashtable<String,List<String>>();
+
 
   static
   {
+    /**
+     * 3.2. Purine (adenine or guanine): R
+     * 
+     * R is the symbol previously recommended [1].
+     */
+    ambiguityCodes.put("R", new String[]
+    { "A", "G" });
+
+    /**
+     * 3.3. Pyrimidine (thymine or cytosine): Y
+     * 
+     * Y is the symbol previously recommended [1].
+     */
+    ambiguityCodes.put("Y", new String[]
+    { "T", "C" });
+    /**
+     * 3.4. Adenine or thymine: W
+     * 
+     * Although several diverse symbols have been used for this pair, (and for
+     * the reciprocal pair G+C), only two symbols have a rational basis, L and
+     * W: L derives from DNA density (light; G+C - heavy - would thus be H); W
+     * derives from the strength of the hydrogen bonding interaction between the
+     * base pairs (weak for A+T: G +C - strong - would thus be S). However, the
+     * system recommended for the three-base series (not-A = B, etc., see below,
+     * section 3.8) rules out H as this would be not-G. W is thus recommended.
+     */
+    ambiguityCodes.put("W", new String[]
+    { "A", "T" });
+    /**
+     * 3.5. Guanine or cytosine: S
+     * 
+     * The choice of this symbol is discussed above in section 3.4.
+     */
+    ambiguityCodes.put("S", new String[]
+    { "G", "C" });
+    /**
+     * 3.6. Adenine or cytosine: M
+     * 
+     * There are few common features between A and C. The presence of an NH2
+     * group in similar positions on both bases (Fig. 1) makes possible a
+     * logically derived symbol. A and N being ruled out, M (from aMino) is
+     * recommended.
+     * 
+     * 
+     * Fig. 1. Origin of the symbols M and K The four bases are drawn so as to
+     * show the relationship between adenine and cytosine on the one hand, which
+     * both have aMino groups at the ring position most distant from the point
+     * of attachment to the sugar, and between guanine and thymine on the other,
+     * which both have Keto groups at the corresponding position. The ring atoms
+     * are numbered as recommended [24-26], although for the present purpose
+     * this has the disadvantage of giving discordant numbers to the
+     * corresponding positions.
+     */
+    ambiguityCodes.put("M", new String[]
+    { "A", "C" });
+    /**
+     * 3.7. Guanine or thymine: K By analogy with A and C (section 3.6), both G
+     * and T have Keto groups in similar positions (Fig. 1).
+     */
+    ambiguityCodes.put("K", new String[]
+    { "G", "T" });
+    /**
+     * 3.8. Adenine or thymine or cytosine: H
+     * 
+     * Not-G is the most simple means of memorising this combination and symbols
+     * logically related to G were examined. F and H would both be suitable, as
+     * the letters before and after G in the alphabet, but A would have no
+     * equivalent to F. The use of H has historical precedence [2].
+     */
+    ambiguityCodes.put("H", new String[]
+    { "A", "T", "C" });
+    /**
+     * 3.9. Guanine or cytosine or thymine: B
+     * 
+     * Not-A as above (section 3.8).
+     */
+    ambiguityCodes.put("B", new String[]
+    { "G", "T", "C" });
+    /**
+     * 3.10. Guanine or adenine or cytosine: V
+     * 
+     * Not-T by analogy with not-G (section 3.8) would be U but this is ruled
+     * out to eliminate confusion with uracil. V is the next logical choice.
+     * Note that T and U may in some cases be considered to be synonyms.
+     */
+    ambiguityCodes.put("V", new String[]
+    { "G", "A", "C" });
+    /**
+     * 3.11. Guanine or adenine or thymine: D
+     * 
+     * Not-C as above (section 3.8).
+     */
+    ambiguityCodes.put("D", new String[]
+    { "G", "A", "T" });
+    /**
+     * 3.12. Guanine or adenine or thymine or cytosine: N
+     */
+    ambiguityCodes.put("R", new String[]
+    { "G", "A", "T", "C" });
+    // Now build codon translation table
     codonHash2.put("AAA", "K");
     codonHash2.put("AAG", "K");
     codonHash2.put("AAC", "N");
     codonHash2.put("AAT", "N");
 
-    codonHash2.put("CAA", "E");
-    codonHash2.put("CAG", "E");
+    codonHash2.put("CAA", "Q");
+    codonHash2.put("CAG", "Q");
     codonHash2.put("CAC", "H");
     codonHash2.put("CAT", "H");
 
-    codonHash2.put("GAA", "Q");
-    codonHash2.put("GAG", "Q");
+    codonHash2.put("GAA", "E");
+    codonHash2.put("GAG", "E");
     codonHash2.put("GAC", "D");
     codonHash2.put("GAT", "D");
 
@@ -713,9 +827,9 @@ public class ResidueProperties
     codonHash2.put("TAT", "Y");
 
     codonHash2.put("ACA", "T");
-    codonHash2.put("AAG", "T");
     codonHash2.put("ACC", "T");
     codonHash2.put("ACT", "T");
+    codonHash2.put("ACG", "T");
 
     codonHash2.put("CCA", "P");
     codonHash2.put("CCG", "P");
@@ -775,6 +889,145 @@ public class ResidueProperties
 
     codonHash2.put("TTC", "F");
     codonHash2.put("TTT", "F");
+    
+    buildAmbiguityCodonSet();
+  }
+  
+  /**
+   * programmatic generation of codons including ambiguity codes
+   */
+  public static void buildAmbiguityCodonSet()
+  {
+    if (_ambiguityCodes.size() > 0)
+    {
+      System.err
+              .println("Ignoring multiple calls to buildAmbiguityCodonSet");
+      return;
+    }
+    // Invert the ambiguity code set
+    for (Map.Entry<String, String[]> acode : ambiguityCodes.entrySet())
+    {
+      for (String r : acode.getValue())
+      {
+        List<String> codesfor = _ambiguityCodes.get(r);
+        if (codesfor == null)
+        {
+          _ambiguityCodes.put(r, codesfor = new ArrayList<String>());
+        }
+        if (!codesfor.contains(acode.getKey()))
+        {
+          codesfor.add(acode.getKey());
+        }
+        else
+        {
+          System.err
+                  .println("Inconsistency in the IUBMB ambiguity code nomenclature table: collision for "
+                          + acode.getKey() + " in residue " + r);
+        }
+      }
+    }
+    // and programmatically add in the ambiguity codes that yield the same amino
+    // acid
+    String[] unambcodons = codonHash2.keySet().toArray(new String[codonHash2.size()]);
+    for (String codon : unambcodons)
+    {
+      String residue = codonHash2.get(codon);
+      String acodon[][] = new String[codon.length()][];
+      for (int i = 0, iSize = codon.length(); i < iSize; i++)
+      {
+        String _ac = "" + codon.charAt(i);
+        List<String> acodes = _ambiguityCodes.get(_ac);
+        if (acodes != null)
+        {
+          acodon[i] = acodes.toArray(new String[acodes.size()]);
+        }
+        else
+        {
+          acodon[i] = new String[]
+          {};
+        }
+      }
+      // enumerate all combinations and test for veracity of translation
+      int tpos[] = new int[codon.length()], cpos[] = new int[codon.length()];
+      for (int i = 0; i < tpos.length; i++)
+      {
+        tpos[i] = -1;
+      }
+      tpos[acodon.length - 1] = 0;
+      int ipos, j;
+      while (tpos[0] < acodon[0].length)
+      {
+        // make all codons for this combination
+        char allres[][] = new char[tpos.length][];
+        String _acodon = "";
+        char _anuc;
+        for (ipos = 0; ipos < tpos.length; ipos++)
+        {
+          if (acodon[ipos].length==0 || tpos[ipos] < 0)
+          {
+            _acodon += codon.charAt(ipos);
+            allres[ipos] = new char[]
+            { codon.charAt(ipos) };
+          }
+          else
+          {
+            _acodon += acodon[ipos][tpos[ipos]];
+            String[] altbase = ambiguityCodes.get(acodon[ipos][tpos[ipos]]);
+            allres[ipos] = new char[altbase.length];
+            j = 0;
+            for (String ab : altbase)
+            {
+              allres[ipos][j++] = ab.charAt(0);
+            }
+          }
+        }
+        // test all codons for this combination
+        for (ipos = 0; ipos < cpos.length; ipos++)
+        {
+          cpos[ipos] = 0;
+        }
+        boolean valid = true;
+        do
+        {
+          String _codon = "";
+          for (j = 0; j < cpos.length; j++)
+          {
+            _codon += allres[j][cpos[j]];
+          }
+          String tr = codonHash2.get(_codon);
+          if (valid = (tr!=null && tr.equals(residue)))
+          {
+            // advance to next combination
+            ipos = acodon.length - 1;
+            while (++cpos[ipos] >= allres[ipos].length && ipos > 0)
+            {
+              cpos[ipos] = 0;
+              ipos--;
+            }
+          }
+        } while (valid && cpos[0] < allres[0].length);
+        if (valid)
+        {
+          // Add this to the set of codons we will translate
+//          System.out.println("Adding ambiguity codon: " + _acodon + " for "
+//                  + residue);
+          codonHash2.put(_acodon, residue);
+        }
+        else
+        {
+//          System.err.println("Rejecting ambiguity codon: " + _acodon
+//                  + " for " + residue);
+        }
+        // next combination
+        ipos = acodon.length - 1;
+        while (++tpos[ipos] >= acodon[ipos].length && ipos > 0)
+        {
+          tpos[ipos] = -1;
+          ipos--;
+        }
+      }
+    }
+
   }
 
   static
@@ -1232,6 +1485,19 @@ public class ResidueProperties
 
   public static String codonTranslate(String lccodon)
   {
+    if (false)
+    {
+      return _codonTranslate(lccodon);
+    }
+    String cdn = codonHash2.get(lccodon.toUpperCase());
+    if (cdn!=null && cdn.equals("*"))
+    {
+      return "STOP";
+    }
+    return cdn;
+  }
+  public static String _codonTranslate(String lccodon)
+  {
     String codon = lccodon.toUpperCase();
     // all base ambiguity codes yield an 'X' amino acid residue
     if (codon.indexOf('X') > -1 || codon.indexOf('N') > -1)
index e598120..7415712 100644 (file)
@@ -57,6 +57,10 @@ public class StructureSelectionManager
   public static StructureSelectionManager getStructureSelectionManager(
           StructureSelectionManagerProvider context)
   {
+    if (context==null)
+    {
+      throw new Error("Implementation error. Structure selection manager's context is 'null'", new NullPointerException("SSM context is null"));
+    }
     if (instances == null)
     {
       instances = new java.util.IdentityHashMap<StructureSelectionManagerProvider, StructureSelectionManager>();
index 029280b..dca968e 100644 (file)
@@ -41,6 +41,7 @@ import jalview.workers.ConsensusThread;
 import jalview.workers.StrucConsensusThread;
 
 import java.util.ArrayList;
+import java.util.BitSet;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.Map;
@@ -402,7 +403,8 @@ public abstract class AlignmentViewport implements AlignViewportI
     if (autoCalculateStrucConsensus && strucConsensus == null
             && alignment.isNucleotide() && alignment.hasRNAStructure())
     {
-
+      // secondary structure has been added - so init the consensus line
+      initRNAStructure();
     }
 
     // see note in mantis : issue number 8585
@@ -593,6 +595,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    * 
    * @return null or the currently selected sequence region
    */
+  @Override
   public SequenceGroup getSelectionGroup()
   {
     return selectionGroup;
@@ -605,6 +608,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    *          - group holding references to sequences in this alignment view
    * 
    */
+  @Override
   public void setSelectionGroup(SequenceGroup sg)
   {
     selectionGroup = sg;
@@ -1053,6 +1057,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    * 
    * @return array of references to sequence objects
    */
+  @Override
   public SequenceI[] getSequenceSelection()
   {
     SequenceI[] sequences = null;
@@ -1075,6 +1080,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    * 
    * @return String[]
    */
+  @Override
   public jalview.datamodel.CigarArray getViewAsCigars(
           boolean selectedRegionOnly)
   {
@@ -1091,6 +1097,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    *          boolean true to just return the selected view
    * @return AlignmentView
    */
+  @Override
   public jalview.datamodel.AlignmentView getAlignmentView(
           boolean selectedOnly)
   {
@@ -1109,6 +1116,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    *          is true)
    * @return AlignmentView
    */
+  @Override
   public jalview.datamodel.AlignmentView getAlignmentView(
           boolean selectedOnly, boolean markGroups)
   {
@@ -1124,6 +1132,7 @@ public abstract class AlignmentViewport implements AlignViewportI
    * 
    * @return String[]
    */
+  @Override
   public String[] getViewAsString(boolean selectedRegionOnly)
   {
     String[] selection = null;
@@ -1318,62 +1327,80 @@ public abstract class AlignmentViewport implements AlignViewportI
     {
       if (!alignment.isNucleotide())
       {
-        if (showConservation)
-        {
-          if (conservation == null)
-          {
-            conservation = new AlignmentAnnotation("Conservation",
-                    "Conservation of total alignment less than "
-                            + getConsPercGaps() + "% gaps",
-                    new Annotation[1], 0f, 11f,
-                    AlignmentAnnotation.BAR_GRAPH);
-            conservation.hasText = true;
-            conservation.autoCalculated = true;
-            alignment.addAnnotation(conservation);
-          }
-        }
-        if (showQuality)
-        {
-          if (quality == null)
-          {
-            quality = new AlignmentAnnotation("Quality",
-                    "Alignment Quality based on Blosum62 scores",
-                    new Annotation[1], 0f, 11f,
-                    AlignmentAnnotation.BAR_GRAPH);
-            quality.hasText = true;
-            quality.autoCalculated = true;
-            alignment.addAnnotation(quality);
-          }
-        }
+        initConservation();
+        initQuality();
       }
       else
       {
-        if (alignment.hasRNAStructure())
-        {
-          strucConsensus = new AlignmentAnnotation("StrucConsensus", "PID",
-                  new Annotation[1], 0f, 100f,
-                  AlignmentAnnotation.BAR_GRAPH);
-          strucConsensus.hasText = true;
-          strucConsensus.autoCalculated = true;
-        }
+        initRNAStructure();
       }
+      initConsensus();
+    }
+  }
 
-      consensus = new AlignmentAnnotation("Consensus", "PID",
-              new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH);
-      consensus.hasText = true;
-      consensus.autoCalculated = true;
+  private void initConsensus()
+  {
 
-      if (showConsensus)
+    consensus = new AlignmentAnnotation("Consensus", "PID",
+            new Annotation[1], 0f, 100f, AlignmentAnnotation.BAR_GRAPH);
+    consensus.hasText = true;
+    consensus.autoCalculated = true;
+
+    if (showConsensus)
+    {
+      alignment.addAnnotation(consensus);
+    }
+  }
+
+  private void initConservation()
+  {
+    if (showConservation)
+    {
+      if (conservation == null)
       {
-        alignment.addAnnotation(consensus);
-        if (strucConsensus != null)
-        {
-          alignment.addAnnotation(strucConsensus);
-        }
+        conservation = new AlignmentAnnotation("Conservation",
+                "Conservation of total alignment less than "
+                        + getConsPercGaps() + "% gaps",
+                new Annotation[1], 0f, 11f,
+                AlignmentAnnotation.BAR_GRAPH);
+        conservation.hasText = true;
+        conservation.autoCalculated = true;
+        alignment.addAnnotation(conservation);
       }
     }
   }
+  private void initQuality()
+  {
+    if (showQuality)
+    {
+      if (quality == null)
+      {
+        quality = new AlignmentAnnotation("Quality",
+                "Alignment Quality based on Blosum62 scores",
+                new Annotation[1], 0f, 11f,
+                AlignmentAnnotation.BAR_GRAPH);
+        quality.hasText = true;
+        quality.autoCalculated = true;
+        alignment.addAnnotation(quality);
+      }
+    }
+  }
+  private void initRNAStructure()
+  {
+    if (alignment.hasRNAStructure() && strucConsensus==null)
+    {
+      strucConsensus = new AlignmentAnnotation("StrucConsensus", "PID",
+              new Annotation[1], 0f, 100f,
+              AlignmentAnnotation.BAR_GRAPH);
+      strucConsensus.hasText = true;
+      strucConsensus.autoCalculated = true;
 
+      if (showConsensus)
+      {
+        alignment.addAnnotation(strucConsensus);
+      }
+    }
+  }
   /*
    * (non-Javadoc)
    * 
@@ -1387,7 +1414,7 @@ public abstract class AlignmentViewport implements AlignViewportI
     int charHeight = getCharHeight();
     if (aa != null)
     {
-      boolean graphgrp[] = null;
+      BitSet graphgrp = new BitSet();
       for (int i = 0; i < aa.length; i++)
       {
         if (aa[i] == null)
@@ -1401,17 +1428,13 @@ public abstract class AlignmentViewport implements AlignViewportI
         }
         if (aa[i].graphGroup > -1)
         {
-          if (graphgrp == null)
-          {
-            graphgrp = new boolean[aa.length];
-          }
-          if (graphgrp[aa[i].graphGroup])
+          if (graphgrp.get(aa[i].graphGroup))
           {
             continue;
           }
           else
           {
-            graphgrp[aa[i].graphGroup] = true;
+            graphgrp.set(aa[i].graphGroup);
           }
         }
         aa[i].height = 0;
index a55658b..17c1bc9 100644 (file)
@@ -136,10 +136,13 @@ public class DBRefFetcher implements Runnable
       {
         jalviewSourceI src = en.nextElement();
         List<DbSourceProxy> sp = src.getSequenceSourceProxies();
-        selsources.addAll(sp);
-        if (sp.size() > 1)
+        if (sp != null)
         {
-          Cache.log.debug("Added many Db Sources for :" + src.getTitle());
+          selsources.addAll(sp);
+          if (sp.size() > 1)
+          {
+            Cache.log.debug("Added many Db Sources for :" + src.getTitle());
+          }
         }
       }
       // select appropriate databases based on alignFrame context.
index 78f2477..0940f40 100644 (file)
@@ -83,4 +83,10 @@ public class EmblCdsSouce extends EmblXmlSource implements DbSourceProxy
     return "EMBL (CDS)";
   }
 
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
+
 }
index 4495be1..c7be59a 100644 (file)
@@ -114,4 +114,10 @@ public class EmblSource extends EmblXmlSource implements DbSourceProxy
   {
     return "EMBL"; // getDbSource();
   }
+
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index 125a295..81c8ea3 100644 (file)
@@ -118,4 +118,9 @@ public class GeneDbSource extends EmblXmlSource implements DbSourceProxy
   {
     return "GeneDB"; // getDbSource();
   }
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index b432dff..b96a65c 100644 (file)
@@ -209,4 +209,9 @@ public class Pdb extends EbiFileRetrievedProxy implements DbSourceProxy
     return "PDB"; // getDbSource();
   }
 
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index 75d4559..077b929 100644 (file)
@@ -65,4 +65,9 @@ public class PfamFull extends Pfam implements DbSourceProxy
     return null;
   }
 
+   @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index cab4999..cb00a1d 100644 (file)
@@ -62,4 +62,9 @@ public class PfamSeed extends Pfam implements DbSourceProxy
     return "PF03760";
   }
 
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index 3703e41..e20527a 100644 (file)
@@ -70,4 +70,9 @@ public class RfamFull extends Rfam implements DbSourceProxy
     return null;
   }
 
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index eb3c2c3..75fa62b 100644 (file)
@@ -69,4 +69,9 @@ public class RfamSeed extends Rfam implements DbSourceProxy
     return null;
   }
 
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index 48f8649..1b967c4 100644 (file)
@@ -294,4 +294,10 @@ public class Uniprot extends DbSourceProxyImpl implements DbSourceProxy
   {
     return "Uniprot"; // getDbSource();
   }
+
+  @Override
+  public int getTier()
+  {
+    return 0;
+  }
 }
index 1511e6b..308bc21 100644 (file)
@@ -74,4 +74,10 @@ public interface jalviewSourceI
    */
   boolean isNewerThan(jalviewSourceI jalviewSourceI);
 
+  /**
+   * test if the source is a reference source for the authority
+   * @return
+   */
+  boolean isReferenceSource();
+
 }
index 95ff7d0..9650b8c 100644 (file)
@@ -70,6 +70,11 @@ public class DasSequenceSource extends DbSourceProxyImpl implements
   protected MultipleConnectionPropertyProviderI connprops = null;
 
   /**
+   * DAS sources are tier 1 - if we have a direct DB connection then we should prefer it
+   */
+  private int tier=1;
+
+  /**
    * create a new DbSource proxy for a DAS 1 source
    * 
    * @param dbnbame
@@ -94,6 +99,7 @@ public class DasSequenceSource extends DbSourceProxyImpl implements
       throw new Exception("Source " + source.getTitle()
               + " does not support the sequence command.");
     }
+    this.tier = 1+((jsrc.isLocal() || jsrc.isReferenceSource()) ? 0 : 1);
     this.source = source;
     this.dbname = dbname;
     this.dbrefname = dbrefname.toUpperCase();
@@ -334,4 +340,10 @@ public class DasSequenceSource extends DbSourceProxyImpl implements
   {
     return coordsys;
   }
+
+  @Override
+  public int getTier()
+  {
+    return tier;
+  }
 }
index eb9d807..f68a005 100644 (file)
@@ -366,4 +366,11 @@ public class JalviewSource implements jalviewSourceI
     return isLaterThan(getVersion().getCreated(), other.getVersion()
             .getCreated());
   }
+
+  @Override
+  public boolean isReferenceSource()
+  {
+    // TODO check source object for indication that we are the primary for a DAS coordinate system
+    return false;
+  }
 }
index d64a956..96635c9 100644 (file)
@@ -181,7 +181,7 @@ public class AADisorderClient extends JabawsAlignCalcWorker implements
       {
         boolean sameGroup = false;
         SequenceI dseq, aseq, seq = seqNames.get(seqId);
-        int base = seq.getStart() - 1;
+        int base = seq.findPosition(start)-1;
         aseq = seq;
         while ((dseq = seq).getDatasetSequence() != null)
         {
@@ -191,99 +191,102 @@ public class AADisorderClient extends JabawsAlignCalcWorker implements
         ScoreHolder scores = scoremanager.getAnnotationForSequence(seqId);
         float last = Float.NaN, val = Float.NaN;
         int lastAnnot = ourAnnot.size();
-        for (Score scr : scores.scores)
-        {
-
-          if (scr.getRanges() != null && scr.getRanges().size() > 0)
+        if (scores!=null && scores.scores!=null) {
+          for (Score scr : scores.scores)
           {
-            Iterator<Float> vals = scr.getScores().iterator();
-            // make features on sequence
-            for (Range rn : scr.getRanges())
-            {
 
-              SequenceFeature sf;
-              String[] type = featureTypeMap.get(scr.getMethod());
-              if (type == null)
+            if (scr.getRanges() != null && scr.getRanges().size() > 0)
+            {
+              Iterator<Float> vals = scr.getScores().iterator();
+              // make features on sequence
+              for (Range rn : scr.getRanges())
               {
-                // create a default type for this feature
-                type = new String[]
-                { typeName + " (" + scr.getMethod() + ")",
-                    service.getActionText() };
+
+                SequenceFeature sf;
+                String[] type = featureTypeMap.get(scr.getMethod());
+                if (type == null)
+                {
+                  // create a default type for this feature
+                  type = new String[]
+                  { typeName + " (" + scr.getMethod() + ")",
+                      service.getActionText() };
+                }
+                if (vals.hasNext())
+                {
+                  sf = new SequenceFeature(type[0], type[1],
+                          base + rn.from, base + rn.to, val = vals.next()
+                                  .floatValue(), methodName);
+                }
+                else
+                {
+                  sf = new SequenceFeature(type[0], type[1], null, base
+                          + rn.from, base + rn.to, methodName);
+                }
+                dseq.addSequenceFeature(sf);
+                if (last != val && last != Float.NaN)
+                {
+                  fc.put(sf.getType(), sf);
+                }
+                last = val;
+                dispFeatures = true;
               }
-              if (vals.hasNext())
+            }
+            else
+            {
+              if (scr.getScores().size() == 0)
               {
-                sf = new SequenceFeature(type[0], type[1], base + rn.from,
-                        base + rn.to, val = vals.next().floatValue(),
-                        methodName);
+                continue;
               }
-              else
+              AlignmentAnnotation annot = createAnnotationRowsForScores(
+                      ourAnnot,
+                      service.serviceType + " (" + scr.getMethod() + ")",
+                      service.getServiceTypeURI() + "/" + scr.getMethod(),
+                      aseq, base + 1, scr);
+              annot.graph = AlignmentAnnotation.LINE_GRAPH;
+              annot.visible = (annotTypeMap == null
+                      || annotTypeMap.get(scr.getMethod()) == null || annotTypeMap
+                      .get(scr.getMethod()).get(INVISIBLE) == null);
+              double[] thrsh = (annotTypeMap == null || annotTypeMap
+                      .get(scr.getMethod()) == null) ? null
+                      : (double[]) annotTypeMap.get(scr.getMethod()).get(
+                              THRESHOLD);
+              if (annotTypeMap == null
+                      || annotTypeMap.get(scr.getMethod()) == null
+                      || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null)
               {
-                sf = new SequenceFeature(type[0], type[1], null, base
-                        + rn.from, base + rn.to, methodName);
+                {
+                  if (!sameGroup)
+                  {
+                    graphGroup++;
+                    sameGroup = true;
+                  }
+
+                  annot.graphGroup = graphGroup;
+                }
               }
-              dseq.addSequenceFeature(sf);
-              if (last != val && last != Float.NaN)
+
+              annot.description = "<html>" + service.getActionText()
+                      + " - raw scores";
+              if (thrsh != null)
               {
-                fc.put(sf.getType(), sf);
+                String threshNote = (thrsh[0] > 0 ? "Above " : "Below ")
+                        + thrsh[1] + " indicates disorder";
+                annot.threshold = new GraphLine((float) thrsh[1],
+                        threshNote, Color.red);
+                annot.description += "<br/>" + threshNote;
               }
-              last = val;
-              dispFeatures = true;
-            }
-          }
-          else
-          {
-            if (scr.getScores().size() == 0)
-            {
-              continue;
-            }
-            AlignmentAnnotation annot = createAnnotationRowsForScores(
-                    ourAnnot, service.serviceType + " (" + scr.getMethod()
-                            + ")",
-                    service.getServiceTypeURI() + "/" + scr.getMethod(),
-                    aseq, base + 1, scr);
-            annot.graph = AlignmentAnnotation.LINE_GRAPH;
-            annot.visible = (annotTypeMap == null
-                    || annotTypeMap.get(scr.getMethod()) == null || annotTypeMap
-                    .get(scr.getMethod()).get(INVISIBLE) == null);
-            double[] thrsh = (annotTypeMap == null || annotTypeMap.get(scr
-                    .getMethod()) == null) ? null : (double[]) annotTypeMap
-                    .get(scr.getMethod()).get(THRESHOLD);
-            if (annotTypeMap == null
-                    || annotTypeMap.get(scr.getMethod()) == null
-                    || annotTypeMap.get(scr.getMethod()).get(DONTCOMBINE) == null)
-            {
+              annot.description += "</html>";
+              Color col = new UserColourScheme(typeName)
+                      .createColourFromName(typeName + scr.getMethod());
+              for (int p = 0, ps = annot.annotations.length; p < ps; p++)
               {
-                if (!sameGroup)
+                if (annot.annotations[p] != null)
                 {
-                  graphGroup++;
-                  sameGroup = true;
+                  annot.annotations[p].colour = col;
                 }
-
-                annot.graphGroup = graphGroup;
-              }
-            }
-
-            annot.description = "<html>" + service.getActionText()
-                    + " - raw scores";
-            if (thrsh != null)
-            {
-              String threshNote = (thrsh[0] > 0 ? "Above " : "Below ")
-                      + thrsh[1] + " indicates disorder";
-              annot.threshold = new GraphLine((float) thrsh[1], threshNote,
-                      Color.red);
-              annot.description += "<br/>" + threshNote;
-            }
-            annot.description += "</html>";
-            Color col = new UserColourScheme(typeName)
-                    .createColourFromName(typeName + scr.getMethod());
-            for (int p = 0, ps = annot.annotations.length; p < ps; p++)
-            {
-              if (annot.annotations[p] != null)
-              {
-                annot.annotations[p].colour = col;
               }
+              annot._linecolour = col;
             }
-            annot._linecolour = col;
           }
         }
         if (lastAnnot + 1 == ourAnnot.size())
index 204e0df..285777a 100644 (file)
@@ -19,10 +19,12 @@ package jalview.ws.jws2;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Hashtable;
 import java.util.List;
 import java.util.StringTokenizer;
 
+import org.jmol.util.ArrayUtil;
 import compbio.metadata.Argument;
 import compbio.metadata.Option;
 import compbio.metadata.Parameter;
@@ -137,12 +139,28 @@ public class JabaParamStore implements ParamDatastoreI
 
   public static List<ArgumentI> getJwsArgsfromJaba(List jabargs)
   {
+    return getJwsArgsfromJaba(jabargs, true);
+  }
+
+  public static List<ArgumentI> getJwsArgsfromJaba(List jabargs,
+          boolean sortByOpt)
+  {
     List<ArgumentI> rgs = new ArrayList<ArgumentI>();
+    List<String> rgnames = new ArrayList<String>();
     for (Object rg : jabargs)
     {
-      ArgumentI narg = (rg instanceof Parameter) ? new JabaParameter(
-              (Parameter) rg) : (rg instanceof Option) ? new JabaOption(
-              (Option) rg) : null;
+      ArgumentI narg = null;
+      String nargstring = null;
+      if (rg instanceof Parameter)
+      {
+        narg = new JabaParameter((Parameter) rg);
+        nargstring = narg.getName(); // just sort by name for this
+      }
+      else if (rg instanceof Option)
+      {
+        narg = new JabaOption((Option) rg);
+        nargstring = (String) ((Option) rg).getOptionNames().get(0);
+      }
       if (narg == null)
       {
         throw new Error(
@@ -152,9 +170,25 @@ public class JabaParamStore implements ParamDatastoreI
       else
       {
         rgs.add(narg);
+        rgnames.add(nargstring);
       }
     }
-    return rgs;
+    if (!sortByOpt)
+    {
+      return rgs;
+    }
+    ArgumentI[] rgssort = rgs.toArray(new ArgumentI[rgs.size()]);
+    String[] rgssorton = rgnames.toArray(new String[rgs.size()]);
+    jalview.util.QuickSort.sort(rgssorton, rgssort);
+    ArgumentI tmp1;
+    int i=0;
+    while (rgssort.length-i>i)
+    {
+      tmp1=rgssort[rgssort.length-i-1];
+      rgssort[rgssort.length-i-1] = rgssort[i];
+      rgssort[i++]=tmp1;
+    }
+    return Arrays.asList(rgssort);
   }
 
   public static List getJabafromJwsArgs(List<ArgumentI> jwsargs)
index 55d32f5..926256d 100644 (file)
@@ -23,6 +23,7 @@ import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.datamodel.AlignmentAnnotation;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AnnotatedCollectionI;
 import jalview.datamodel.Annotation;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
@@ -149,7 +150,7 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
         return;
       }
       List<compbio.data.sequence.FastaSequence> seqs = getInputSequences(alignViewport
-              .getAlignment());
+              .getAlignment(), bySequence ? alignViewport.getSelectionGroup() : null);
 
       if (seqs == null)
       {
@@ -176,7 +177,7 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
         } catch (WrongParameterException x)
         {
           throw new JobSubmissionException(
-                  "Invalid paremeter set. Check Jalview implementation.", x);
+                  "Invalid parameter set. Check Jalview implementation.", x);
 
         }
       }
@@ -201,7 +202,7 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
             }
             else
             {
-              System.err.println("FAILED TO CANCELL AACon job: " + rslt);
+              System.err.println("FAILED TO CANCEL AACon job: " + rslt);
             }
 
           } catch (Exception x)
@@ -379,8 +380,10 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
   boolean[] gapMap;
 
   int realw;
+  
+  int start,end;
 
-  public List<FastaSequence> getInputSequences(AlignmentI alignment)
+  public List<FastaSequence> getInputSequences(AlignmentI alignment, AnnotatedCollectionI inputSeqs)
   {
     if (alignment == null || alignment.getWidth() <= 0
             || alignment.getSequences() == null
@@ -390,6 +393,11 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
     {
       return null;
     }
+    if (inputSeqs==null || inputSeqs.getWidth()<=0 || inputSeqs.getSequences()==null || inputSeqs.getSequences().size()<1)
+    {
+      inputSeqs = alignment;
+    }
+    
     List<compbio.data.sequence.FastaSequence> seqs = new ArrayList<compbio.data.sequence.FastaSequence>();
 
     int minlen = 10;
@@ -399,9 +407,12 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
       seqNames = new HashMap<String, SequenceI>();
     }
     gapMap = new boolean[0];
-    for (SequenceI sq : ((List<SequenceI>) alignment.getSequences()))
+    start=inputSeqs.getStartRes();
+    end=inputSeqs.getEndRes();
+    
+    for (SequenceI sq : (List<SequenceI>) inputSeqs.getSequences())
     {
-      if (sq.getEnd() - sq.getStart() > minlen - 1)
+      if (sq.findPosition(end+1) -sq.findPosition(start+1) > minlen - 1)
       {
         String newname = SeqsetUtils.unique_name(seqs.size() + 1);
         // make new input sequence with or without gaps
@@ -433,7 +444,7 @@ public abstract class JabawsAlignCalcWorker extends AlignCalcWorker
         {
           seqs.add(seq = new compbio.data.sequence.FastaSequence(newname,
                   AlignSeq.extractGaps(jalview.util.Comparison.GapChars,
-                          sq.getSequenceAsString())));
+                          sq.getSequenceAsString(start,end+1))));
         }
         if (seq.getSequence().length() > ln)
         {
index 1a21fea..8ad14e0 100644 (file)
@@ -23,6 +23,7 @@ import jalview.gui.Desktop;
 import jalview.gui.JvSwingUtils;
 import jalview.ws.WSMenuEntryProviderI;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
+import jalview.ws.params.ParamDatastoreI;
 
 import java.awt.Color;
 import java.awt.event.ActionEvent;
@@ -250,7 +251,11 @@ public class Jws2Discoverer implements Runnable, WSMenuEntryProviderI
 
     services.add(service);
     // retrieve the presets and parameter set and cache now
-    service.getParamStore().getPresets();
+    ParamDatastoreI pds = service.getParamStore();
+    if (pds != null)
+    {
+      pds.getPresets();
+    }
     service.hasParameters();
     if (validServiceUrls == null)
     {
index 09f4a48..aa42ff7 100644 (file)
@@ -173,6 +173,8 @@ public class Jws2Instance
                         : null));
       } catch (Exception ex)
       {
+        System.err.println("Unexpected exception creating JabaParamStore.");
+        ex.printStackTrace();
       }
 
     }
index ba6dbeb..437d3b4 100644 (file)
@@ -76,9 +76,15 @@ public class RestClient extends WSClient implements WSClientI,
 
   public RestClient(RestServiceDescription service2, AlignFrame alignFrame)
   {
+    this(service2, alignFrame, false);
+  }
+  boolean headless = false;
+  public RestClient(RestServiceDescription service2, AlignFrame alignFrame, boolean nogui)
+  {
     service = service2;
     af = alignFrame;
     av = alignFrame.getViewport();
+    headless = nogui;
     constructJob();
   }
 
@@ -219,7 +225,6 @@ public class RestClient extends WSClient implements WSClientI,
    * informative name for results
    */
   public String viewTitle;
-
   protected void constructJob()
   {
     service.setInvolvesFlags();
@@ -285,9 +290,11 @@ public class RestClient extends WSClient implements WSClientI,
 
     if (jobsthread.isValid())
     {
-      setWebserviceInfo(false);
-      wsInfo.setthisService(this);
-      jobsthread.setWebServiceInfo(wsInfo);
+      setWebserviceInfo(headless);
+      if (!headless) {
+        wsInfo.setthisService(this);
+        jobsthread.setWebServiceInfo(wsInfo);
+      }
       jobsthread.start();
     }
     else
index d2a0a05..c89f241 100644 (file)
@@ -87,12 +87,13 @@ public class RestJob extends AWsJob
     // get sequences for the alignmentI
     // get groups trimmed to alignment columns
     // get any annotation trimmed to start/end columns, too.
-
+    squniq = jalview.analysis.SeqsetUtils.uniquify(_input.getSequencesArray(), true);
     // prepare input
     // form alignment+groups+annotation,preprocess and then record references
     // for formatters
     ArrayList<InputType> alinp = new ArrayList<InputType>();
     int paramsWithData = 0;
+    // TODO: JAL-715 - generalise the following validation logic for all parameter types
     // we cheat for moment - since we know a-priori what data is available and
     // what inputs we have implemented so far
     for (Map.Entry<String, InputType> prm : rsd.inputParams.entrySet())
@@ -105,11 +106,11 @@ public class RestJob extends AWsJob
         }
         else
         {
-          // TODO: move validation of input data to SeqGroupIndexVector
-          if ((prm.getValue() instanceof SeqGroupIndexVector)
-                  && (_input.getGroups() != null && _input.getGroups()
-                          .size() >= prm.getValue().min))
+          if (prm.getValue() instanceof SeqGroupIndexVector
+                  && _input.getGroups() != null
+                  && _input.getGroups().size() >= -1 + prm.getValue().min)
           {
+            // the test above is not rigorous but fixes JAL-1298, since submission will fail if the partition set doesn't contain at least one partition
             alinp.add(prm.getValue());
           }
           else
index 6828f2d..fd9e3b4 100644 (file)
@@ -873,100 +873,6 @@ public class RestServiceDescription
     return valid;
   }
 
-  public static void main(String argv[])
-  {
-    // test separator list
-    try
-    {
-      assert (separatorListToArray("foo=',',min='foo',max='1,2,3',fa=','",
-              ",").length == 4);
-      if (separatorListToArray("minsize='2', sep=','", ",").length == 2)
-      {
-        assert (false);
-      }
-
-    } catch (AssertionError x)
-    {
-      System.err.println("separatorListToArray is faulty.");
-    }
-    if (argv.length == 0)
-    {
-      if (!testRsdExchange("Test using default Shmmr service",
-              RestClient.makeShmmrRestClient().service))
-      {
-        System.err.println("default test failed.");
-      }
-      else
-      {
-        System.err.println("default test passed.");
-      }
-    }
-    else
-    {
-      int i = 0, p = 0;
-      for (String svc : argv)
-      {
-        p += testRsdExchange("Test " + (++i), svc) ? 1 : 0;
-      }
-      System.err.println("" + p + " out of " + i + " tests passed.");
-
-    }
-  }
-
-  private static boolean testRsdExchange(String desc, String servicestring)
-  {
-    try
-    {
-      RestServiceDescription newService = new RestServiceDescription(
-              servicestring);
-      if (!newService.isValid())
-      {
-        throw new Error("Failed to create service from '" + servicestring
-                + "'.\n" + newService.getInvalidMessage());
-      }
-      return testRsdExchange(desc, newService);
-    } catch (Throwable x)
-    {
-      System.err.println("Failed for service (" + desc + "): "
-              + servicestring);
-      x.printStackTrace();
-      return false;
-    }
-  }
-
-  private static boolean testRsdExchange(String desc,
-          RestServiceDescription service)
-  {
-    try
-    {
-      String fromservicetostring = service.toString();
-      RestServiceDescription newService = new RestServiceDescription(
-              fromservicetostring);
-      if (!newService.isValid())
-      {
-        throw new Error("Failed to create service from '"
-                + fromservicetostring + "'.\n"
-                + newService.getInvalidMessage());
-      }
-
-      if (!service.equals(newService))
-      {
-        System.err.println("Failed for service (" + desc + ").");
-        System.err.println("Original service and parsed service differ.");
-        System.err.println("Original: " + fromservicetostring);
-        System.err.println("Parsed  : " + newService.toString());
-        return false;
-      }
-    } catch (Throwable x)
-    {
-      System.err.println("Failed for service (" + desc + "): "
-              + service.toString());
-      x.printStackTrace();
-      return false;
-    }
-    return true;
-  }
-
   /**
    * covenience method to generate the id and sequence string vector from a set
    * of seuqences using each sequence's getName() and getSequenceAsString()
index 766720b..0532035 100644 (file)
@@ -88,7 +88,7 @@ public class SeqGroupIndexVector extends InputType implements
     // assume that alignment is properly ordered so groups form consecutive
     // blocks
     ArrayList<int[]> gl = new ArrayList<int[]>();
-    int p = 0;
+    int p = 0,lowest=al.getHeight(), highest=0;
     List<SequenceGroup> sgs;
     synchronized (sgs = al.getGroups())
     {
@@ -105,6 +105,14 @@ public class SeqGroupIndexVector extends InputType implements
         for (SequenceI sq : sg.getSequencesInOrder(al))
         {
           p = al.findIndex(sq);
+          if (lowest>p)
+          {
+            lowest=p;
+          }
+          if (highest<p)
+          {
+            highest=p;
+          }
           if (se == null)
           {
             se = new int[]
@@ -128,40 +136,14 @@ public class SeqGroupIndexVector extends InputType implements
     // remaining group ? - these might be at the start or the end
     if (gl.size() > 0)
     {
-      int[] tail = gl.get(0);
-      if (tail[0] > 0)
+      if (lowest-1>minsize)
       {
-        if (1 + tail[0] > minsize)
-        {
-          gl.add(0, new int[]
-          { 0, tail[0] - 1 });
-        }
-        else
-        {
-          // lets be intelligent here - if the remaining sequences aren't enough
-          // to make a final group, then don't make one.
-          // throw new
-          // NoValidInputDataException("Group from remaining ungrouped sequences in input contains less than "+minsize+" sequences.");
-        }
+        gl.add(0, new int[]
+          { 0, lowest-2});
       }
-      else
+      if ((al.getHeight()-1-highest)>minsize)
       {
-        tail = gl.get(gl.size() - 1);
-        if (1 + tail[1] < al.getHeight())
-        {
-          if (al.getHeight() - (1 + tail[1]) > minsize)
-          {
-            gl.add(new int[]
-            { tail[1] + 1, al.getHeight() - 1 });
-          }
-          else
-          {
-            // lets be intelligent here - if the remaining sequences aren't
-            // enough to make a final group, then don't make one.
-            // throw new
-            // NoValidInputDataException("Group from remaining ungrouped sequences in input contains less than "+minsize+" sequences.");
-          }
-        }
+        gl.add(new int[] { highest+1, al.getHeight()-1});
       }
     }
     else
index 45b866e..e475915 100644 (file)
@@ -272,9 +272,10 @@ public class ASequenceFetcher
       DbSourceProxy[] l = dblist.values().toArray(new DbSourceProxy[0]);
       int i = 0;
       String[] nm = new String[l.length];
+      // make sure standard dbs appear first, followed by reference das sources, followed by anything else.
       for (DbSourceProxy s : l)
       {
-        nm[i++] = s.getDbName().toLowerCase();
+        nm[i++] = ""+s.getTier()+s.getDbName().toLowerCase();
       }
       jalview.util.QuickSort.sort(nm, l);
       dbs = new ArrayList<DbSourceProxy>();
index cc9997f..e4b76b9 100644 (file)
@@ -134,4 +134,11 @@ public interface DbSourceProxy
    * @return true if the source has this property
    */
   public boolean isA(Object dbsourceproperty);
+
+  /**
+   * Tier for this data source
+   *  
+   * @return 0 - primary datasource, 1 - das primary source, 2 - secondary
+   */
+  public int getTier();
 }
diff --git a/test/jalview/analysis/DnaTranslation.java b/test/jalview/analysis/DnaTranslation.java
new file mode 100644 (file)
index 0000000..d29ee15
--- /dev/null
@@ -0,0 +1,126 @@
+package jalview.analysis;
+
+import static org.junit.Assert.*;
+import jalview.datamodel.ColumnSelection;
+
+import java.io.IOException;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+public class DnaTranslation
+{
+
+  private static String JAL_1312_example_align_fasta = ">B.FR.83.HXB2_LAI_IIIB_BRU_K03455/45-306\n"
+          + "ATGGGAAAAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAATTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATACTGGGACA\n"
+          + "GCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAGATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGAC\n"
+          + ">gi|27804621|gb|AY178912.1|/1-259\n"
+          + "-TGGGAGAA-ATTCGGTT-CGGCCAGGGGGAAAGAAAAAATATCAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "AGAGCTAGAACGATTCGCAGTTAACCCTGGCCTTTTAGAGACATCACAAGGCTGTAGACAAATACTGGGACA\n"
+          + "GCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTTCATCAAAGGATAGATATAAAAGACACCAAGGAAGCTTTAGAT\n"
+          + ">gi|27804623|gb|AY178913.1|/1-259\n"
+          + "-TGGGAGAA-ATTCGGTT-CGGCCAGGGGGAAAGAAAAAATATCAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "AGAGCTAGAACGATTCGCAGTTAACCCTGGCCTTTTAGAGACATCACAAGGCTGTAGACAAATACTGGAACA\n"
+          + "GCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTTCATCAAAGGATAGATGTAAAAGACACCAAGGAAGCTTTAGAT\n"
+          + ">gi|27804627|gb|AY178915.1|/1-260\n"
+          + "-TGGGAAAA-ATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTCGCAGTTAACCCTGGCCTGTTAGAAACATCAGAAGGTTGTAGACAAATATTGGGACA\n"
+          + "GCTACAACCATCCCTTGAGACAGGATCAGAAGAACTTAAATCATTATWTAATACCATAGCAGTCCTCTATTG\n"
+          + "TGTACATCAAAGGATAGATATAAAAGACACCAAGGAAGCTTTAGAG\n"
+          + ">gi|27804631|gb|AY178917.1|/1-261\n"
+          + "-TGGGAAAAAATTCGGTTGAGGCCAGGGGGAAAGAAAAAATATAAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTCGCAGTCAACCCTGGCCTGTTAGAAACACCAGAAGGCTGTAGACAAATACTGGGACA\n"
+          + "GCTACAACCGTCCCTTCAGACAGGATCGGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTGCATCAAAGGATAGATGTAAAAGACACCAAGGAGGCTTTAGAC\n"
+          + ">gi|27804635|gb|AY178919.1|/1-261\n"
+          + "-TGGGAGAGAATTCGGTTACGGCCAGGAGGAAAGAAAAAATATAAATTGAAACATATAGTATGGGCAGGCAG\n"
+          + "AGAGCTAGATCGATTCGCAGTCAATCCTGGCCTGTTAGAAACATCAGAAGGCTGCAGACAGATATTGGGACA\n"
+          + "GCTACAACCGTCCCTTAAGACAGGATCAGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTACATCAAAGGATAGATGTAAAAGACACCAAGGAAGCTTTAGAT\n"
+          + ">gi|27804641|gb|AY178922.1|/1-261\n"
+          + "-TGGGAGAAAATTCGGTTACGGCCAGGGGGAAAGAAAAGATATAAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTCGCAGTCAACCCTGGCCTGTTAGAAACATCAGAAGGCTGCAGACAAATACTGGGACA\n"
+          + "GTTACACCCATCCCTTCATACAGGATCAGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTGCATCAAAGGATAGAAGTAAAAGACACCAAGGAAGCTTTAGAC\n"
+          + ">gi|27804647|gb|AY178925.1|/1-261\n"
+          + "-TGGGAAAAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATCAATTAAAACATGTAGTATGGGCAAGCAG\n"
+          + "GGAACTAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATATTGGGACA\n"
+          + "GCTACAACCATCCCTTCAGACAGGATCAGAGGAACTTAAATCATTATTTAATACAGTAGCAGTCCTCTATTG\n"
+          + "TGTACATCAAAGAATAGATGTAAAAGACACCAAGGAAGCTCTAGAA\n"
+          + ">gi|27804649|gb|AY178926.1|/1-261\n"
+          + "-TGGGAAAAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAGTTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTCGCGGTCAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAACTACTGGGACA\n"
+          + "GTTACAACCATCCCTTCAGACAGGATCAGAAGAACTCAAATCATTATATAATACAATAGCAACCCTCTATTG\n"
+          + "TGTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCCTTAGAT\n"
+          + ">gi|27804653|gb|AY178928.1|/1-261\n"
+          + "-TGGGAAAGAATTCGGTTAAGGCCAGGGGGAAAGAAACAATATAAATTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGACCGATTCGCACTTAACCCCGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATATTGGGACA\n"
+          + "GCTACAATCGTCCCTTCAGACAGGATCAGAAGAACTTAGATCACTATATAATACAGTAGCAGTCCTCTATTG\n"
+          + "TGTGCATCAAAAGATAGATGTAAAAGACACCAAGGAAGCCTTAGAC\n"
+          + ">gi|27804659|gb|AY178931.1|/1-261\n"
+          + "-TGGGAAAAAATTCGGTTACGGCCAGGAGGAAAGAAAAGATATAAATTAAAACATATAGTATGGGCAAGCAG\n"
+          + "GGAGCTAGAACGATTYGCAGTTAATCCTGGCCTTTTAGAAACAGCAGAAGGCTGTAGACAAATACTGGGACA\n"
+          + "GCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAAATCATTATATAATACAGTAGCAACCCTCTATTG\n"
+          + "TGTACATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGAA\n";
+
+  
+  @Test
+  public void translationWithUntranslatableCodonsTest()
+  {
+    // Corner case for this test is the presence of codons after codons that
+    // were not translated.
+    jalview.datamodel.AlignmentI alf = null;
+    try
+    {
+      alf = new jalview.io.FormatAdapter().readFile(JAL_1312_example_align_fasta,
+              jalview.io.FormatAdapter.PASTE, "FASTA");
+    } catch (IOException x)
+    {
+      x.printStackTrace();
+      fail("Unexpected IOException (" + x.getMessage()
+              + ") - check test environment");
+    }
+    {
+      // full translation
+      ColumnSelection cs = new jalview.datamodel.ColumnSelection();
+      assertNotNull("Couldn't do a full width translation of test data.",
+              jalview.analysis.Dna.CdnaTranslate(
+                      alf.getSequencesArray(),
+                      cs.getVisibleSequenceStrings(0, alf.getWidth(),
+                              alf.getSequencesArray()), new int[]
+                      { 0, alf.getWidth() - 1 }, alf.getGapCharacter(),
+                      null, alf.getWidth(), null));
+    }
+    int vwidth = 15; // translate in 15 base stretches
+    for (int ipos = 0; ipos + vwidth < alf.getWidth(); ipos += vwidth)
+    {
+      ColumnSelection cs = new jalview.datamodel.ColumnSelection();
+      if (ipos > 0)
+      {
+        cs.hideColumns(0, ipos - 1);
+      }
+      cs.hideColumns(ipos + vwidth, alf.getWidth());
+      int[] vcontigs = cs.getVisibleContigs(0, alf.getWidth());
+      String[] sel = cs.getVisibleSequenceStrings(0, alf.getWidth(),
+              alf.getSequencesArray());
+      jalview.datamodel.AlignmentI transAlf = jalview.analysis.Dna
+              .CdnaTranslate(alf.getSequencesArray(), sel, vcontigs,
+                      alf.getGapCharacter(), null, alf.getWidth(), null);
+
+      assertTrue("Translation failed (ipos=" + ipos
+              + ") No alignment data.", transAlf != null);
+      assertTrue("Translation failed (ipos=" + ipos + ") Empty algnment.",
+              transAlf.getHeight() > 0);
+      assertTrue("Translation failed (ipos=" + ipos + ") Translated "
+              + transAlf.getHeight() + " sequences from " + alf.getHeight()
+              + " sequences", alf.getHeight() == transAlf.getHeight());
+    }
+
+  }
+}
diff --git a/test/jalview/bin/CommandLineOperations.java b/test/jalview/bin/CommandLineOperations.java
new file mode 100644 (file)
index 0000000..c6c82c9
--- /dev/null
@@ -0,0 +1,91 @@
+package jalview.bin;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStreamReader;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class CommandLineOperations
+{
+
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+/***
+ * from http://stackoverflow.com/questions/808276/how-to-add-a-timeout-value-when-using-javas-runtime-exec
+ * @author jimp
+ *
+ */
+private static class Worker extends Thread {
+  private final Process process;
+  private Integer exit;
+  private Worker(Process process) {
+    this.process = process;
+  }
+  public void run() {
+    try { 
+      exit = process.waitFor();
+    } catch (InterruptedException ignore) {
+      return;
+    }
+  }
+}
+  @Test
+  public void testHeadlessModeEPS() throws Exception
+  {
+    String[] headlessArgs=new String[] { "nodisplay","headless","nogui"};
+    for (String _harg:headlessArgs)
+    {
+      boolean _switch=false,withAwt=false;
+      do {
+        if (_switch)
+        {
+          withAwt=true;
+        }
+        _switch=true;
+    String jalview_input = "examples/uniref50.fa";
+    String jalview_output = "test_uniref50_out.eps";
+    String cmd = "java "+(withAwt ? "-Djava.awt.headless=true":"")+" -Djava.ext.dirs=./lib -classpath ./classes jalview.bin.Jalview -"+_harg+" -open "+ jalview_input + " -eps " + jalview_output;
+    String harg = _harg+(withAwt ? "-Djava.awt.headless=true":" NO AWT.HEADLESS");
+    System.out.println("Testing with Headless argument: '"+harg+"'\n###############Jalview CMD: " + cmd);
+    Process ls2_proc = Runtime.getRuntime().exec(cmd);
+    BufferedReader outputReader = new BufferedReader(new InputStreamReader(ls2_proc.getInputStream()));
+        
+    BufferedReader errorReader = new BufferedReader(new InputStreamReader(ls2_proc.getErrorStream()));
+    Worker worker = new Worker(ls2_proc);
+    worker.start();
+    worker.join(9000);
+    System.out.println("Output:  ");
+    String ln=null;
+    while ((ln=outputReader.readLine())!=null) {
+      System.out.println(ln);
+    }
+    
+    System.out.println("Error:  " );
+    while ((ln=errorReader.readLine())!=null) {
+      System.out.println(ln);
+    }
+    assertTrue("Didn't create an output EPS file.["+harg+"]", new File("test_uniref50_out.eps").exists());
+    assertTrue("Didn't create an EPS file with any content["+harg+"]", new File("test_uniref50_out.eps").length()>4096);
+    if (worker.exit == null){
+      worker.interrupt();
+      Thread.currentThread().interrupt();
+      ls2_proc.destroy();
+      fail("Jalview did not exit after EPS generation (try running test again to verify - timeout at 9000ms). ["+harg+"]");
+    }
+    } while (!withAwt);
+    } 
+  }
+
+}
diff --git a/test/jalview/io/AnnotationFileIOTest.java b/test/jalview/io/AnnotationFileIOTest.java
new file mode 100644 (file)
index 0000000..30f61d7
--- /dev/null
@@ -0,0 +1,91 @@
+package jalview.io;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import jalview.datamodel.AlignmentI;
+
+import java.io.File;
+
+import org.junit.Test;
+
+public class AnnotationFileIOTest
+{
+
+  static String TestFiles[][] = {{ "Test example annotation import/export","examples/uniref50.fa", "examples/testdata/example_annot_file.jva" }
+          ,{"Test multiple combine annotation statements import/export","examples/uniref50.fa", "examples/testdata/test_combine_annot.jva"}
+          ,{"Test multiple combine annotation statements with sequence_ref import/export","examples/uniref50.fa", "examples/testdata/uniref50_iupred.jva"}};
+
+  @Test
+  public void exampleAnnotationFileIO() throws Exception
+  {
+    for (String[] testPair:TestFiles)
+    {
+      testAnnotationFileIO(testPair[0], new File(testPair[1]), new File(testPair[2]));
+    }
+  }
+
+  public static AlignmentI readAlignmentFile(File f)
+  {
+    System.out.println("Reading file: " + f);
+    String ff = f.getPath();
+    try
+    {
+      FormatAdapter rf = new FormatAdapter();
+
+      AlignmentI al = rf.readFile(ff, AppletFormatAdapter.FILE,
+              new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE));
+      
+      // make sure dataset is initialised ? not sure about this
+      for (int i = 0; i < al.getSequencesArray().length; ++i)
+      {
+        al.getSequenceAt(i).setDatasetSequence(al.getSequenceAt(i).createDatasetSequence());
+      }
+      assertNotNull("Couldn't read supplied alignment data.", al);
+      return al;
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    fail("Couln't read the alignment in file '"+f.toString()+"'");
+    return null;
+  }
+  /**
+   * test alignment data in given file can be imported, exported and reimported
+   * with no dataloss
+   * 
+   * @param f
+   *          - source datafile (IdentifyFile.identify() should work with it)
+   * @param ioformat
+   *          - label for IO class used to write and read back in the data from
+   *          f
+   */
+  public static void testAnnotationFileIO(String testname, File f, File annotFile)
+  {
+    System.out.println("Test: "+testname+"\nReading annotation file '"+annotFile+"' onto : " + f);
+    String af = annotFile.getPath();
+    try
+    {
+      AlignmentI al = readAlignmentFile(f);
+      
+      assertTrue("Test "+testname+"\nAlignment was not annotated - annotation file not imported.",new AnnotationFile().readAnnotationFile(al, af, FormatAdapter.FILE));
+      
+      String anfileout = new AnnotationFile().printAnnotations(al.getAlignmentAnnotation(), al.getGroups(), al.getProperties());
+      assertTrue("Test "+testname+"\nAlignment annotation file was not regenerated. Null string",anfileout!=null);
+      assertTrue("Test "+testname+"\nAlignment annotation file was not regenerated. Empty string",anfileout.length()>"JALVIEW_ANNOTATION".length());
+
+      System.out.println("Output annotation file:\n"+anfileout+"\n<<EOF\n");
+      
+      AlignmentI al_new = readAlignmentFile(f);
+      assertTrue("Test "+testname+"\nregenerated annotation file did not annotate alignment.",new AnnotationFile().readAnnotationFile(al_new, anfileout, FormatAdapter.PASTE));
+      
+      // test for consistency in io
+      StockholmFileTest.testAlignmentEquivalence(al, al_new);
+      return;
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    fail("Test "+testname+"\nCouldn't complete Annotation file roundtrip input/output/input test for '"+annotFile+"'.");
+  }
+}
diff --git a/test/jalview/io/FileIOTester.java b/test/jalview/io/FileIOTester.java
new file mode 100644 (file)
index 0000000..a2aa5da
--- /dev/null
@@ -0,0 +1,75 @@
+/**
+ * 
+ */
+package jalview.io;
+
+import static org.junit.Assert.*;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author jimp
+ *
+ */
+public class FileIOTester
+{
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+  final static File ALIGN_FILE = new File("test/jalview/io/test_gz_fasta.gz");
+  final static File NOTGZALIGN_FILE = new File("test/jalview/io/test_gz_fasta_notgz.gz");
+
+  private void assertValidFasta(String src, FileParse fp)
+  {
+    assertTrue("Couldn't resolve "+src+" as a valid file",fp.isValid());
+    String type = new IdentifyFile().Identify(fp);
+    assertTrue("Gzipped data from '"+src+"' identified as '"+type+"'",type.equalsIgnoreCase("FASTA"));
+  }
+  @Test
+  public void testGzipIo() throws IOException
+  {     
+    String uri;
+    FileParse fp = new FileParse(uri=ALIGN_FILE.getAbsoluteFile().toURI().toString(),AppletFormatAdapter.URL);
+    assertValidFasta(uri, fp);
+  }
+
+  @Test
+  public void testGziplocalFileIO() throws IOException
+  {
+    String filepath;
+    FileParse fp = new FileParse(filepath=ALIGN_FILE.getAbsoluteFile().toString(), AppletFormatAdapter.FILE);
+    assertValidFasta(filepath, fp);
+  }
+  @Test
+  public void testNonGzipURLIO() throws IOException
+  {
+    String uri;
+    FileParse fp = new FileParse(uri=NOTGZALIGN_FILE.getAbsoluteFile().toURI().toString(),AppletFormatAdapter.URL);
+    assertValidFasta(uri, fp);
+  }
+  @Test
+  public void testNonGziplocalFileIO() throws IOException
+  {
+    String filepath;
+    FileParse fp = new FileParse(filepath=NOTGZALIGN_FILE.getAbsoluteFile().toString(), AppletFormatAdapter.FILE);
+    assertValidFasta(filepath, fp);
+  }
+}
diff --git a/test/jalview/io/NewickFileTests.java b/test/jalview/io/NewickFileTests.java
new file mode 100644 (file)
index 0000000..2ee3623
--- /dev/null
@@ -0,0 +1,159 @@
+/**
+ * 
+ */
+package jalview.io;
+
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Vector;
+
+import jalview.analysis.NJTree;
+import jalview.analysis.SequenceIdMatcher;
+import jalview.datamodel.SequenceI;
+import jalview.datamodel.SequenceNode;
+
+import org.jmol.util.ArrayUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameters;
+
+/**
+ * @author jimp
+ * 
+ */
+@RunWith(Parameterized.class)
+public class NewickFileTests
+{
+
+  @Parameters
+  public static Collection data()
+  {
+    return Arrays
+            .asList(new Object[][]
+            {
+                    
+                new String[]
+                {
+                    "Simple uniref50 newick",
+                    "(((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);" },
+                new String[]
+                {
+                    "Tree with quotes",
+                    "('Syn_PROSU-1_IIh_3d(CA4)|CK_Syn_PROSU-1_1907':1.0638313,'Syn_MINOS11_5.3_3d(CA4)|CK_Syn_MINOS11_750':1.063831);" },
+                new String[]
+                {
+                    "Tree with double escaped comma in node",
+                    "('Syn_PROSU-1_IIh_3d(CA4)|CK_Syn_PROSU-1_1907':1.0638313,'Syn_MINOS11_5.3_3d(CA4)''|CK_Syn_MINOS11_750':1.063831);" } });
+  };
+
+  String name, testTree;
+
+  public NewickFileTests(String _name, String _testTree)
+  {
+    this.name = _name;
+    this.testTree = _testTree;
+  }
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  @Test
+  public void testTreeIO() throws Exception
+  {
+    String stage = "Init", treename = " '" + name + "' :";
+    try
+    {
+      stage = "Parsing testTree " + treename;
+      System.out.println(treename + "\n" + testTree);
+      NewickFile nf = new NewickFile(testTree, FormatAdapter.PASTE);
+      nf.parse();
+      assertTrue(stage + "Invalid Tree '" + nf.getWarningMessage() + "'",
+              nf.isValid());
+      SequenceNode tree = nf.getTree();
+      assertTrue(stage + "Null Tree", tree != null);
+      stage = "Creating newick file from testTree " + treename;
+      String gentree = new NewickFile(tree).print(nf.HasBootstrap(),
+              nf.HasDistances());
+      assertTrue(stage + "Empty string generated", gentree != null
+              && gentree.trim().length() > 0);
+      stage = "Parsing regenerated testTree " + treename;
+      NewickFile nf_regen = new NewickFile(gentree, FormatAdapter.PASTE);
+      nf_regen.parse();
+      assertTrue(
+              stage + "Newick file is invalid ('"
+                      + nf_regen.getWarningMessage() + "')",
+              nf_regen.isValid());
+      SequenceNode tree_regen = nf.getTree();
+      assertTrue(stage + "Null Tree", tree_regen != null);
+      stage = "Compare original and generated tree" + treename;
+
+      Vector oseqs, nseqs;
+      oseqs = new NJTree(new SequenceI[0], nf).findLeaves(nf.getTree(),
+              new Vector());
+      assertTrue(stage + "No nodes in original tree.", oseqs.size() > 0);
+      SequenceI[] olsqs = new SequenceI[oseqs.size()];
+      for (int i = 0, iSize = oseqs.size(); i < iSize; i++)
+      {
+        olsqs[i] = (SequenceI) ((SequenceNode) oseqs.get(i)).element();
+      }
+      nseqs = (Vector) new NJTree(new SequenceI[0], nf_regen).findLeaves(
+              nf_regen.getTree(), new Vector());
+      assertTrue(stage + "No nodes in regerated tree.", nseqs.size() > 0);
+      SequenceI[] nsqs = new SequenceI[nseqs.size()];
+      for (int i = 0, iSize = nseqs.size(); i < iSize; i++)
+      {
+        nsqs[i] = (SequenceI) ((SequenceNode) nseqs.get(i)).element();
+      }
+      assertTrue(stage + " Different number of leaves (original "
+              + olsqs.length + " and regen " + nsqs.length + ")",
+              olsqs.length == nsqs.length);
+      SequenceIdMatcher omatcher = new SequenceIdMatcher(olsqs), nmatcher = new SequenceIdMatcher(
+              nsqs);
+
+      SequenceI[] osmatches = omatcher.findIdMatch(nsqs);
+      SequenceI[] nsmatches = nmatcher.findIdMatch(olsqs);
+      String warns = "";
+      for (int i = 0, iSize = nseqs.size(); i < iSize; i++)
+      {
+        if (nsmatches[i] == null)
+        {
+          warns += "\noriginal sequence ID '" + olsqs[i].getName()
+                  + "' wasn't found in regenerated set.";
+        }
+        if (osmatches[i] == null)
+        {
+          warns += "\nregenerated sequence ID '" + nsqs[i].getName()
+                  + "' wasn't found in original set.";
+        }
+      }
+
+      if (warns.length() > 0)
+      {
+        fail(stage + warns);
+      }
+    } catch (Exception x)
+    {
+      throw (new Exception(stage + "Exception raised", x));
+    }
+  }
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+
+}
diff --git a/test/jalview/io/StockholmFileTest.java b/test/jalview/io/StockholmFileTest.java
new file mode 100644 (file)
index 0000000..4505f16
--- /dev/null
@@ -0,0 +1,309 @@
+package jalview.io;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import jalview.datamodel.Alignment;
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
+import jalview.datamodel.SequenceFeature;
+import jalview.datamodel.SequenceI;
+
+import java.io.File;
+import java.util.BitSet;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Test;
+
+public class StockholmFileTest
+{
+
+  static String PfamFile = "examples/PF00111_seed.stk",
+          RfamFile = "examples/RF00031_folded.stk";
+
+  @Test
+  public void pfamFileIO() throws Exception
+  {
+    testFileIOwithFormat(new File(PfamFile), "STH");
+  }
+  @Test
+  public void pfamFileDataExtraction() throws Exception
+  {  AppletFormatAdapter af = new AppletFormatAdapter();
+    AlignmentI al = af.readFile(PfamFile, af.FILE,
+            new IdentifyFile().Identify(PfamFile, af.FILE));
+    int numpdb = 0;
+    for (SequenceI sq : al.getSequences())
+    {
+      if (sq.getPDBId() != null)
+      {
+        numpdb += sq.getPDBId().size();
+      }
+    }
+    assertTrue(
+            "PF00111 seed alignment has at least 1 PDB file, but the reader found none.",
+            numpdb > 0);
+  }
+
+  @Test
+  public void rfamFileIO() throws Exception
+  {
+    testFileIOwithFormat(new File(RfamFile), "STH");
+  }
+
+  /**
+   * test alignment data in given file can be imported, exported and reimported
+   * with no dataloss
+   * 
+   * @param f
+   *          - source datafile (IdentifyFile.identify() should work with it)
+   * @param ioformat
+   *          - label for IO class used to write and read back in the data from
+   *          f
+   */
+  public static void testFileIOwithFormat(File f, String ioformat)
+  {
+    System.out.println("Reading file: " + f);
+    String ff = f.getPath();
+    try
+    {
+      AppletFormatAdapter rf = new AppletFormatAdapter();
+
+      Alignment al = rf.readFile(ff, AppletFormatAdapter.FILE,
+              new IdentifyFile().Identify(ff, AppletFormatAdapter.FILE));
+
+      assertNotNull("Couldn't read supplied alignment data.", al);
+
+      // make sure dataset is initialised ? not sure about this
+      for (int i = 0; i < al.getSequencesArray().length; ++i)
+      {
+        al.getSequenceAt(i).setDatasetSequence(al.getSequenceAt(i));
+      }
+      String outputfile = rf.formatSequences(ioformat, al, true);
+      System.out.println("Output file in '"+ioformat+"':\n"+outputfile+"\n<<EOF\n");
+      // test for consistency in io
+      Alignment al_input = new AppletFormatAdapter().readFile(outputfile,
+              AppletFormatAdapter.PASTE, ioformat);
+      assertNotNull("Couldn't parse reimported alignment data.", al_input);
+
+      String identifyoutput = new IdentifyFile().Identify(outputfile,
+              AppletFormatAdapter.PASTE);
+      assertNotNull("Identify routine failed for outputformat " + ioformat,
+              identifyoutput);
+      assertTrue(
+              "Identify routine could not recognise output generated by '"
+                      + ioformat + "' writer",
+              ioformat.equals(identifyoutput));
+      testAlignmentEquivalence(al, al_input);
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+      assertTrue("Couln't format the alignment for output file.", false);
+    }
+  }
+
+  /**
+   * assert alignment equivalence
+   * 
+   * @param al
+   *          'original'
+   * @param al_input
+   *          'secondary' or generated alignment from some datapreserving
+   *          transformation
+   */
+  public static void testAlignmentEquivalence(AlignmentI al,
+          AlignmentI al_input)
+  {
+    assertNotNull("Original alignment was null", al);
+    assertNotNull("Generated alignment was null", al_input);
+
+    assertTrue(
+            "Alignment dimension mismatch: originl contains "
+                    + al.getHeight() + " and generated has "
+                    + al_input.getHeight() + " sequences; original has "
+                    + al.getWidth() + " and generated has "
+                    + al_input.getWidth() + " columns.",
+            al.getHeight() == al_input.getHeight()
+                    && al.getWidth() == al_input.getWidth());
+
+    // check Alignment annotation
+    AlignmentAnnotation[] aa_new = al_input.getAlignmentAnnotation();
+    AlignmentAnnotation[] aa_original = al.getAlignmentAnnotation();
+
+    // note - at moment we do not distinguish between alignment without any
+    // annotation rows and alignment with no annotation row vector
+    // we might want to revise this in future
+    int aa_new_size = (aa_new == null ? 0 : aa_new.length), aa_original_size = (aa_original == null ? 0
+            : aa_original.length);
+    Map<Integer,java.util.BitSet> orig_groups=new HashMap<Integer,java.util.BitSet>(),new_groups=new HashMap<Integer,java.util.BitSet>();
+
+    if (aa_new != null && aa_original != null)
+    {
+      for (int i = 0; i < aa_original.length; i++)
+      {
+        if (aa_new.length>i) {
+          assertTrue("Different alignment annotation at position "+i,
+                equalss(aa_original[i], aa_new[i]));
+          // compare graphGroup or graph properties - needed to verify JAL-1299
+          assertTrue("Graph type not identical.",aa_original[i].graph==aa_new[i].graph);
+          assertTrue("Visibility not identical.", aa_original[i].visible==aa_new[i].visible);
+          assertTrue(
+                  "Threshold line not identical.",
+                  aa_original[i].threshold == null ? aa_new[i].threshold == null
+                          : aa_original[i].threshold
+                                  .equals(aa_new[i].threshold));
+          // graphGroup may differ, but pattern should be the same
+          Integer o_ggrp=new Integer(aa_original[i].graphGroup+2),n_ggrp=new Integer(aa_new[i].graphGroup+2);
+          BitSet orig_g=orig_groups.get(o_ggrp),new_g=new_groups.get(n_ggrp);
+          if (orig_g==null) {
+            orig_groups.put(o_ggrp,orig_g= new BitSet());
+          }
+          if (new_g==null) {
+            new_groups.put(n_ggrp, new_g=new BitSet());
+          }
+          assertTrue("Graph Group pattern differs at annotation "+i, orig_g.equals(new_g));
+          orig_g.set(i); new_g.set(i);
+        } else {
+          System.err.println("No matching annotation row for "+aa_original[i].toString());
+        }
+      }
+    }
+    assertTrue(
+            "Generated and imported alignment have different annotation sets ("
+                    + aa_new_size + " != " + aa_original_size + ")",
+            aa_new_size == aa_original_size);
+
+    // check sequences, annotation and features
+    SequenceI[] seq_original = new SequenceI[al.getSequencesArray().length];
+    seq_original = al.getSequencesArray();
+    SequenceI[] seq_new = new SequenceI[al_input.getSequencesArray().length];
+    seq_new = al_input.getSequencesArray();
+    SequenceFeature[] sequenceFeatures_original, sequenceFeatures_new;
+    AlignmentAnnotation annot_original, annot_new;
+    //
+    for (int i = 0; i < al.getSequencesArray().length; i++)
+    {
+      String name = seq_original[i].getName();
+      int start = seq_original[i].getStart();
+      int end = seq_original[i].getEnd();
+      System.out.println("Check sequence: " + name + "/" + start + "-"
+              + end);
+
+      // search equal sequence
+      for (int in = 0; in < al_input.getSequencesArray().length; in++)
+      {
+        if (name.equals(seq_new[in].getName())
+                && start == seq_new[in].getStart()
+                && end == seq_new[in].getEnd())
+        {
+          String ss_original = seq_original[i].getSequenceAsString();
+          String ss_new = seq_new[in].getSequenceAsString();
+          assertTrue("The sequences " + name + "/" + start + "-" + end
+                  + " are not equal", ss_original.equals(ss_new));
+
+          assertTrue(
+                  "Sequence Features were not equivalent",
+                  (seq_original[i].getSequenceFeatures() == null && seq_new[in]
+                          .getSequenceFeatures() == null)
+                          || (seq_original[i].getSequenceFeatures() != null && seq_new[in]
+                                  .getSequenceFeatures() != null));
+          // compare sequence features
+          if (seq_original[i].getSequenceFeatures() != null
+                  && seq_new[in].getSequenceFeatures() != null)
+          {
+            System.out.println("There are feature!!!");
+            sequenceFeatures_original = new SequenceFeature[seq_original[i]
+                    .getSequenceFeatures().length];
+            sequenceFeatures_original = seq_original[i]
+                    .getSequenceFeatures();
+            sequenceFeatures_new = new SequenceFeature[seq_new[in]
+                    .getSequenceFeatures().length];
+            sequenceFeatures_new = seq_new[in].getSequenceFeatures();
+
+            assertTrue("different number of features", seq_original[i]
+                    .getSequenceFeatures().length == seq_new[in]
+                    .getSequenceFeatures().length);
+
+            for (int feat = 0; feat < seq_original[i].getSequenceFeatures().length; feat++)
+            {
+              assertTrue("Different features",
+                      sequenceFeatures_original[feat]
+                              .equals(sequenceFeatures_new[feat]));
+            }
+          }
+          // compare alignment annotation
+          if (al.getSequenceAt(i).getAnnotation() != null
+                  && al_input.getSequenceAt(in).getAnnotation() != null)
+          {
+            for (int j = 0; j < al.getSequenceAt(i).getAnnotation().length; j++)
+            {
+              if (al.getSequenceAt(i).getAnnotation()[j] != null
+                      && al_input.getSequenceAt(in).getAnnotation()[j] != null)
+              {
+                annot_original = al.getSequenceAt(i).getAnnotation()[j];
+                annot_new = al_input.getSequenceAt(in).getAnnotation()[j];
+                assertTrue("Different annotation elements",
+                        equalss(annot_original, annot_new));
+              }
+            }
+          }
+          else if (al.getSequenceAt(i).getAnnotation() == null
+                  && al_input.getSequenceAt(in).getAnnotation() == null)
+          {
+            System.out.println("No annotations");
+          }
+          else if (al.getSequenceAt(i).getAnnotation() != null
+                  && al_input.getSequenceAt(in).getAnnotation() == null)
+          {
+            assertTrue("Annotations differed between sequences ("
+                    + al.getSequenceAt(i).getName() + ") and ("
+                    + al_input.getSequenceAt(i).getName() + ")", false);
+          }
+          break;
+        }
+      }
+    }
+  }
+
+  /*
+   * compare annotations
+   */
+  private static boolean equalss(AlignmentAnnotation annot_or,
+          AlignmentAnnotation annot_new)
+  {
+    if (annot_or.annotations.length != annot_new.annotations.length)
+    {
+      System.err.println("Different lengths for annotation row elements: "+annot_or.annotations.length +"!="+ annot_new.annotations.length);
+      return false;
+    }
+    for (int i = 0; i < annot_or.annotations.length; i++)
+    {
+      Annotation an_or=annot_or.annotations[i],an_new=annot_new.annotations[i];
+      if (an_or != null
+              && an_new!= null)
+      {
+        if (!an_or.displayCharacter.trim()
+                .equals(an_new.displayCharacter.trim())
+                || !(""+an_or.secondaryStructure).trim().equals((""+an_new.secondaryStructure).trim())
+                || (an_or.description != an_new.description && (an_or.description == null
+                        || an_new.description == null || !an_or.description
+                          .equals(an_new.description))))
+        {
+          System.err.println("Annotation Element Mismatch\nElement "+i+" in original: "+annot_or.annotations[i].toString()+"\nElement "+i+" in new: "+annot_new.annotations[i].toString());
+          return false;
+        }
+      }
+      else if (annot_or.annotations[i] == null
+              && annot_new.annotations[i] == null)
+      {
+        continue;
+      }
+      else
+      {
+        System.err.println("Annotation Element Mismatch\nElement "+i+" in original: "+(annot_or.annotations[i]==null ? "is null" : annot_or.annotations[i].toString())+"\nElement "+i+" in new: "+(annot_new.annotations[i] == null ? "is null" : annot_new.annotations[i].toString()));
+        return false;
+      }
+    }
+    return true;
+  }
+}
diff --git a/test/jalview/io/test_gz_fasta.gz b/test/jalview/io/test_gz_fasta.gz
new file mode 100644 (file)
index 0000000..f2850cf
Binary files /dev/null and b/test/jalview/io/test_gz_fasta.gz differ
diff --git a/test/jalview/schemes/DnaCodonTests.java b/test/jalview/schemes/DnaCodonTests.java
new file mode 100644 (file)
index 0000000..3d025a8
--- /dev/null
@@ -0,0 +1,66 @@
+package jalview.schemes;
+
+import static org.junit.Assert.*;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
+import jalview.datamodel.Sequence;
+import jalview.datamodel.SequenceI;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Vector;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class DnaCodonTests
+{
+
+  @Test
+  public void testAmbiguityCodeGeneration()
+  {
+    assertTrue(ResidueProperties.ambiguityCodes.size()>0);
+  }
+  @Test
+  public void testAmbiguityCodon() {
+    for (String ac:ResidueProperties.ambiguityCodes.keySet())
+    {
+      assertTrue("Couldn't resolve GGN as glycine codon",ResidueProperties.codonHash2.get("GG"+ac).equals("G"));
+    }
+  }
+  @Test
+  public void regenerateCodonTable() {
+    for (Map.Entry<String, String> codon:ResidueProperties.codonHash2.entrySet())
+    {
+      System.out.println("ResidueProperties.codonHash2.set(\""+codon.getKey()+"\", \""+codon.getValue()+"\");");
+    }
+  }
+  @Test
+  public void checkOldCodonagainstNewCodonTable() {
+    // note - this test will be removed once the old codon table (including Vectors) is removed
+    String additional="",failtrans="",differentTr="";
+    for (Object aa:ResidueProperties.codonHash.keySet())
+    {
+      String amacid=(String) aa;
+      for (Object codons:((Vector)ResidueProperties.codonHash.get(amacid)))
+      {
+        String codon = (String) codons;
+        String trans = ResidueProperties.codonTranslate(codon);
+        String oldtrans = ResidueProperties._codonTranslate(codon);
+        if (trans==null) {
+          additional+="\nOld translation table includes additional codons for "+amacid+" : "+codon;
+        }
+        if (oldtrans==null) {
+          failtrans+=("\nold translation routine failed for old translation entry (aa was "+amacid+" codon was "+codon+")");
+        }
+        if (!oldtrans.equals(trans))
+        {
+          differentTr+=("\nDifferent translation for old and new routines: "+amacid+" "+codon+" => expected "+oldtrans+" and got "+trans);
+        }
+      }
+    }
+    assertTrue(""+additional+"\n"+failtrans+"\n"+differentTr,additional.length()==0 && failtrans.length()==0 && differentTr.length()==0);
+  }
+}
index b43ada2..2d40dd4 100644 (file)
@@ -17,8 +17,9 @@
  */
 package jalview.ws.gui;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.*;
 import jalview.gui.WsJobParameters;
+import jalview.ws.jabaws.JalviewJabawsTestUtils;
 import jalview.ws.jws2.JabaPreset;
 import jalview.ws.jws2.Jws2Discoverer;
 import jalview.ws.jws2.jabaws2.Jws2Instance;
@@ -29,11 +30,11 @@ import java.awt.event.WindowListener;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Vector;
 
 import javax.swing.JFrame;
 import javax.swing.JPanel;
 
+import org.junit.BeforeClass;
 import org.junit.Test;
 
 import compbio.metadata.Option;
@@ -44,12 +45,6 @@ import compbio.metadata.PresetManager;
 public class Jws2ParamView
 {
   /**
-   * test servers
-   */
-  public static String[] serviceUrls = new String[]
-  { "http://localhost:8080/jabaws" };
-
-  /**
    * which services to test
    */
   public static List<String> serviceTests = new ArrayList<String>();
@@ -63,33 +58,16 @@ public class Jws2ParamView
     serviceTests.add("AAConWS".toLowerCase());
   }
 
+  public static Jws2Discoverer disc=null;
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+    disc = JalviewJabawsTestUtils.getJabawsDiscoverer();
+    
+  }
   @Test
   public void testJws2Gui()
   {
-    jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer
-            .getDiscoverer();
-    int p = 0;
-    String svcurls="";
-    Vector<String> services = new Vector<String>();
-    for (String url : serviceUrls)
-    {
-      svcurls+=url+"; ";
-      services.add(url);
-    }
-    ;
-    Jws2Discoverer.setServiceUrls(services);
-
-    try
-    {
-      disc.run();
-    } catch (Exception e)
-    {
-      System.err.println("Aborting. Problem discovering services. Tried "+svcurls);
-      e.printStackTrace();
-      return;
-    }
-    assertTrue("Failed to discover any services at ",
-            disc.getServices().size() > 0);
     Jws2Instance lastserv = null;
     Iterator<String> presetEnum = presetTests.iterator();
     for (Jws2Instance service : disc.getServices())
diff --git a/test/jalview/ws/jabaws/DisorderAnnotExportImport.java b/test/jalview/ws/jabaws/DisorderAnnotExportImport.java
new file mode 100644 (file)
index 0000000..fa19d00
--- /dev/null
@@ -0,0 +1,144 @@
+package jalview.ws.jabaws;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
+import jalview.io.AnnotationFile;
+import jalview.io.FormatAdapter;
+import jalview.io.StockholmFileTest;
+import jalview.ws.jws2.AADisorderClient;
+import jalview.ws.jws2.Jws2Discoverer;
+import jalview.ws.jws2.jabaws2.Jws2Instance;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class DisorderAnnotExportImport
+{
+  public static String testseqs = "examples/uniref50.fa";
+
+  public static Jws2Discoverer disc;
+
+  public static List<Jws2Instance> iupreds;
+
+  jalview.ws.jws2.AADisorderClient disorderClient;
+
+  public static jalview.gui.AlignFrame af = null;
+
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+
+    jalview.bin.Cache.initLogger();
+    disc = JalviewJabawsTestUtils.getJabawsDiscoverer();
+    iupreds = new ArrayList<Jws2Instance>();
+    for (Jws2Instance svc : disc.getServices())
+    {
+      if (svc.getServiceTypeURI().toLowerCase().contains("iupredws"))
+      {
+        iupreds.add(svc);
+      }
+    }
+    assertTrue("Couldn't discover any IUPred services to use to test.",
+            iupreds.size() > 0);
+    jalview.io.FileLoader fl = new jalview.io.FileLoader(false);
+    af = fl.LoadFileWaitTillLoaded(testseqs, jalview.io.FormatAdapter.FILE);
+    assertNotNull("Couldn't load test data ('" + testseqs + "')", af);
+  }
+
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+    if (af != null)
+    {
+      af.setVisible(false);
+      af.dispose();
+    }
+  }
+
+  /**
+   * test for patches to JAL-1294
+   */
+  @Test
+  public void testDisorderAnnotExport()
+  {
+    disorderClient = new AADisorderClient(iupreds.get(0), af, null, null);
+    af.getViewport().getCalcManager().startWorker(disorderClient);
+    do
+    {
+      try
+      {
+        Thread.sleep(50);
+      } catch (InterruptedException x)
+      {
+      }
+      ;
+    } while (af.getViewport().getCalcManager().isWorking());
+    AlignmentI orig_alig = af.getViewport().getAlignment();
+    // NOTE: Consensus annotation row cannot be exported and reimported faithfully - so we remove them
+    List<AlignmentAnnotation> toremove = new ArrayList<AlignmentAnnotation>();
+    for (AlignmentAnnotation aa:orig_alig.getAlignmentAnnotation())
+    {
+      if (aa.autoCalculated)
+      {
+        toremove.add(aa);
+      }
+    }
+    for (AlignmentAnnotation aa:toremove)
+    {
+      orig_alig.deleteAnnotation(aa);
+    }
+    testAnnotationFileIO("Testing IUPred Annotation IO", orig_alig);
+
+  }
+
+  public static void testAnnotationFileIO(String testname, AlignmentI al)
+  {
+    try
+    {
+      String aligfileout = new FormatAdapter().formatSequences("PFAM",
+              al.getSequencesArray());
+      String anfileout = new AnnotationFile().printAnnotations(
+              al.getAlignmentAnnotation(), al.getGroups(),
+              al.getProperties());
+      assertTrue(
+              "Test "
+                      + testname
+                      + "\nAlignment annotation file was not regenerated. Null string",
+              anfileout != null);
+      assertTrue(
+              "Test "
+                      + testname
+                      + "\nAlignment annotation file was not regenerated. Empty string",
+              anfileout.length() > "JALVIEW_ANNOTATION".length());
+
+      System.out.println("Output annotation file:\n" + anfileout
+              + "\n<<EOF\n");
+
+      AlignmentI al_new = new FormatAdapter().readFile(aligfileout,
+              FormatAdapter.PASTE, "PFAM");
+      assertTrue(
+              "Test "
+                      + testname
+                      + "\nregenerated annotation file did not annotate alignment.",
+              new AnnotationFile().readAnnotationFile(al_new, anfileout,
+                      FormatAdapter.PASTE));
+
+      // test for consistency in io
+      StockholmFileTest.testAlignmentEquivalence(al, al_new);
+      return;
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+    }
+    fail("Test "
+            + testname
+            + "\nCouldn't complete Annotation file roundtrip input/output/input test.");
+  }
+
+}
diff --git a/test/jalview/ws/jabaws/JalviewJabawsTestUtils.java b/test/jalview/ws/jabaws/JalviewJabawsTestUtils.java
new file mode 100644 (file)
index 0000000..f7d0e48
--- /dev/null
@@ -0,0 +1,64 @@
+package jalview.ws.jabaws;
+
+import static org.junit.Assert.*;
+import jalview.ws.jws2.Jws2Discoverer;
+
+import java.util.Vector;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class JalviewJabawsTestUtils
+{
+  
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+
+  /**
+   * test servers
+   */
+  public static String[] serviceUrls = new String[]
+  { "http://localhost:8080/jabaws" };
+
+  @Test
+  public void testAnnotExport()
+  {
+    fail("Not yet implemented");
+  }
+
+  public static jalview.ws.jws2.Jws2Discoverer getJabawsDiscoverer() {
+    jalview.ws.jws2.Jws2Discoverer disc = jalview.ws.jws2.Jws2Discoverer
+            .getDiscoverer();
+    int p = 0;
+    String svcurls="";
+    Vector<String> services = new Vector<String>();
+    for (String url : JalviewJabawsTestUtils.serviceUrls)
+    {
+      svcurls+=url+"; ";
+      services.add(url);
+    }
+    ;
+    Jws2Discoverer.setServiceUrls(services);
+  
+    try
+    {
+      disc.run();
+    } catch (Exception e)
+    {
+      e.printStackTrace();
+      fail("Aborting. Problem discovering services. Tried "+svcurls);
+    }
+    assertTrue("Failed to discover any services at ",
+            disc.getServices().size() > 0);
+    return disc;
+  }
+
+}
diff --git a/test/jalview/ws/rest/ShmmrRSBSService.java b/test/jalview/ws/rest/ShmmrRSBSService.java
new file mode 100644 (file)
index 0000000..05f7cd0
--- /dev/null
@@ -0,0 +1,132 @@
+/**
+ * 
+ */
+package jalview.ws.rest;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+
+import jalview.datamodel.AlignmentI;
+import jalview.datamodel.AlignmentView;
+import jalview.gui.AlignFrame;
+import jalview.io.FileParse;
+import jalview.ws.rest.InputType;
+import jalview.ws.rest.params.SeqGroupIndexVector;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author jimp
+ * 
+ */
+public class ShmmrRSBSService
+{
+
+  @Test
+  public void testSeparatorListToArrayForRestServiceDescriptions()
+  {
+    assertTrue(
+            "separatorListToArray is faulty.",
+            RestServiceDescription.separatorListToArray(
+                    "foo=',',min='foo',max='1,2,3',fa=','", ",").length == 4);
+    assertTrue("separatorListToArray is faulty.",
+            RestServiceDescription.separatorListToArray(
+                    "minsize='2', sep=','", ",").length != 2); // probably should come as 2
+  }
+
+  @Test
+  public void testShmmrService()
+  {
+
+    assertTrue(
+            "Test Rsd Exchange using using default Shmmr service failed.",
+            testRsdExchange("Test using default Shmmr service",
+                    RestClient.makeShmmrRestClient().service));
+  }
+  @Test
+  public void testShmmrServiceDataprep() throws Exception
+  {
+    RestClient _rc = RestClient.makeShmmrRestClient();
+    assertNotNull(_rc);
+    AlignFrame alf = new jalview.io.FileLoader(false).LoadFileWaitTillLoaded("examples/testdata/smad.fa", jalview.io.FormatAdapter.FILE);
+    assertNotNull("Couldn't find test data.",alf);
+    alf.loadJalviewDataFile("examples/testdata/smad_groups.jva",
+            jalview.io.FormatAdapter.FILE, null, null);
+    assertTrue("Couldn't load the test data's annotation file (should be 5 groups but found "+alf.getViewport().getAlignment().getGroups().size()+").", alf.getViewport().getAlignment().getGroups().size()==5);
+    
+    RestClient rc = new RestClient(_rc.service, alf, true);
+    
+    
+    
+    assertNotNull("Couldn't creat RestClient job.",rc);
+    jalview.bin.Cache.initLogger();
+    RestJob rjb = new RestJob(0, new RestJobThread(rc),rc.av.getAlignment(),null);
+    rjb.setAlignmentForInputs(rc.service.getInputParams().values(), rc.av.getAlignment());
+    for (Map.Entry<String,InputType> e:rc.service.getInputParams().entrySet()) {
+      System.out.println("For Input '"+e.getKey()+":\n"+e.getValue().formatForInput(rjb).getContentLength());
+    }
+  }
+
+  private static boolean testRsdExchange(String desc, String servicestring)
+  {
+    try
+    {
+      RestServiceDescription newService = new RestServiceDescription(
+              servicestring);
+      if (!newService.isValid())
+      {
+        throw new Error("Failed to create service from '" + servicestring
+                + "'.\n" + newService.getInvalidMessage());
+      }
+      return testRsdExchange(desc, newService);
+    } catch (Throwable x)
+    {
+      System.err.println("Failed for service (" + desc + "): "
+              + servicestring);
+      x.printStackTrace();
+      return false;
+    }
+  }
+
+  private static boolean testRsdExchange(String desc,
+          RestServiceDescription service)
+  {
+    try
+    {
+      String fromservicetostring = service.toString();
+      RestServiceDescription newService = new RestServiceDescription(
+              fromservicetostring);
+      if (!newService.isValid())
+      {
+        throw new Error("Failed to create service from '"
+                + fromservicetostring + "'.\n"
+                + newService.getInvalidMessage());
+      }
+
+      if (!service.equals(newService))
+      {
+        System.err.println("Failed for service (" + desc + ").");
+        System.err.println("Original service and parsed service differ.");
+        System.err.println("Original: " + fromservicetostring);
+        System.err.println("Parsed  : " + newService.toString());
+        return false;
+      }
+    } catch (Throwable x)
+    {
+      System.err.println("Failed for service (" + desc + "): "
+              + service.toString());
+      x.printStackTrace();
+      return false;
+    }
+    return true;
+  }
+
+}
diff --git a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java
new file mode 100644 (file)
index 0000000..2f826b3
--- /dev/null
@@ -0,0 +1,78 @@
+/**
+ * 
+ */
+package jalview.ws.seqfetcher;
+
+import static org.junit.Assert.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import jalview.datamodel.DBRefSource;
+import jalview.ws.DBRefFetcher;
+import jalview.ws.SequenceFetcher;
+import jalview.ws.dbsources.das.api.jalviewSourceI;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author jimp
+ *
+ */
+public class DbRefFetcherTest
+{
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @BeforeClass
+  public static void setUpBeforeClass() throws Exception
+  {
+  }
+
+  /**
+   * @throws java.lang.Exception
+   */
+  @AfterClass
+  public static void tearDownAfterClass() throws Exception
+  {
+  }
+
+  @Test
+  public void testStandardProtDbs()
+  {
+    String[] defdb = DBRefSource.PROTEINDBS;
+  List<DbSourceProxy> srces = new ArrayList<DbSourceProxy>();
+  for (String ddb : defdb)
+  {
+    SequenceFetcher sfetcher= new SequenceFetcher();
+    List<DbSourceProxy> srcesfordb = sfetcher.getSourceProxy(ddb);
+    
+    if (srcesfordb != null)
+    {
+      srces.addAll(srcesfordb);
+    }
+  }
+  DbSourceProxy uniprot=null;
+  int i=0;
+  // append the selected sequence sources to the default dbs
+  for (DbSourceProxy s:srces)
+  {
+    if (s.getDbSource().equalsIgnoreCase(DBRefSource.UNIPROT))
+    {
+      i++;
+    }
+    
+    if (s instanceof jalview.ws.dbsources.Uniprot)
+    {
+      uniprot = s;
+      break;
+    }
+  }
+          
+  assertTrue("Failed to find Uniprot source as first source amongst "+srces.size()+" sources (source was at position "+i+")", uniprot!=null && i<2);
+  }
+
+}
index 1fc49fc..25a990c 100755 (executable)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- This script was automatically generated using InstallAnywhere 2012 Standard, Build 4349
+<!-- This script was automatically generated using InstallAnywhere 2013 Professional, Build 4538
      STATUS: Fully Functional LICENSED Edition
-     DATE:   Thu Nov 08 16:49:06 GMT 2012 -->
-<InstallAnywhere_Deployment_Project increments="4992">
+     DATE:   Fri Nov 01 13:57:32 GMT 2013 -->
+<InstallAnywhere_Deployment_Project increments="5103">
        <!-- ** DO NOT EDIT ** Essential authorization and configuration data ** DO NOT EDIT ** -->
        <essentialScriptInfo>
-               <versionID major="14" minor="0" revision="0"/>
-               <editionID>49,52,46,48,32,83,116,97,110,100,97,114,100,32,66,117,105,108,100,32,52,51,52,57</editionID>
+               <versionID major="15" minor="0" revision="0"/>
+               <editionID>49,53,46,48,32,80,114,111,102,101,115,115,105,111,110,97,108,32,66,117,105,108,100,32,52,53,51,56</editionID>
                <scriptID>12,42,11,85,78,76,73,67,69,78,83,69,68</scriptID>
-               <buildID>3,13,71,76,105,110,117,120,44,32,50,46,54,46,51,50,45,50,55,57,46,49,49,46,49,46,101,108,54,46,120,56,54,95,54,52,44,32,97,109,100,54,52,59,32,74,97,118,97,32,49,46,55,46,48,95,48,51,44,32,79,114,97,99,108,101,32,67,111,114,112,111,114,97,116,105,111,110,44,32,104,116,116,112,58,47,47,106,97,118,97,46,111,114,97,99,108,101,46,99,111,109,47,59,32,101,110,44,32,85,110,107,110,111,119,110,59,32,73,83,79,45,56,56,53,57,45,49</buildID>
+               <buildID>3,13,71,76,105,110,117,120,44,32,50,46,54,46,51,50,45,50,55,57,46,50,50,46,49,46,101,108,54,46,120,56,54,95,54,52,44,32,97,109,100,54,52,59,32,74,97,118,97,32,49,46,55,46,48,95,50,53,44,32,79,114,97,99,108,101,32,67,111,114,112,111,114,97,116,105,111,110,44,32,104,116,116,112,58,47,47,106,97,118,97,46,111,114,97,99,108,101,46,99,111,109,47,59,32,101,110,44,32,85,110,107,110,111,119,110,59,32,73,83,79,45,56,56,53,57,45,49</buildID>
                <!-- The authorizationID may change between project saves and builds.  This does not effect the integrity of the project, nor do changes in this value represent changes in the actual InstallAnywhere project. -->
-               <authorizationID>1,0,0,48,-19,-20,-64,32,80,127,118,101,93,105,116,96,121,48,48,49,56,52,67,98,113,112,112,37,82,101,96,63,55,-11,2,9,13,92,16,10,1,0,0</authorizationID>
+               <authorizationID>1,0,0,64,29,-4,96,96,80,127,118,101,93,105,116,96,121,48,48,49,56,52,67,98,113,112,112,37,82,101,96,63,55,-11,2,0,1,84,19,2,1,0,0</authorizationID>
        </essentialScriptInfo>
-       <installationObjects uniqueObjects="211">
+       <installationObjects uniqueObjects="217">
                <object class="com.zerog.ia.installer.Installer" objectID="fe7d63eda660">
                        <property name="belongsToUninstallPhase">
                                <boolean>false</boolean>
@@ -223,28 +223,28 @@ it will search for ones in this list]]></string>
                                                                </object>
                                                        </method>
                                                        <method name="addElement">
-                                                               <object class="com.zerog.ia.installer.util.LAXPropertyData" objectID="97f991ffa6f7">
+                                                               <object class="com.zerog.ia.installer.util.LAXPropertyData" objectID="bbb5f73fa453">
                                                                        <property name="propertyValue">
-                                                                               <string><![CDATA[33554432]]></string>
+                                                                               <string><![CDATA[jalview.bin.Jalview]]></string>
                                                                        </property>
                                                                        <property name="propertyName">
-                                                                               <string><![CDATA[lax.nl.java.option.java.heap.size.initial]]></string>
+                                                                               <string><![CDATA[lax.main.class]]></string>
                                                                        </property>
                                                                        <property name="propertyComment">
-                                                                               <string><![CDATA[Initial heap size for Jalview]]></string>
+                                                                               <string><![CDATA[the class that contains the main method for the application]]></string>
                                                                        </property>
                                                                </object>
                                                        </method>
                                                        <method name="addElement">
-                                                               <object class="com.zerog.ia.installer.util.LAXPropertyData" objectID="bbb5f73fa453">
+                                                               <object class="com.zerog.ia.installer.util.LAXPropertyData" objectID="97f991ffa6f7">
                                                                        <property name="propertyValue">
-                                                                               <string><![CDATA[jalview.bin.Jalview]]></string>
+                                                                               <string><![CDATA[33554432]]></string>
                                                                        </property>
                                                                        <property name="propertyName">
-                                                                               <string><![CDATA[lax.main.class]]></string>
+                                                                               <string><![CDATA[lax.nl.java.option.java.heap.size.initial]]></string>
                                                                        </property>
                                                                        <property name="propertyComment">
-                                                                               <string><![CDATA[the class that contains the main method for the application]]></string>
+                                                                               <string><![CDATA[Initial heap size for Jalview]]></string>
                                                                        </property>
                                                                </object>
                                                        </method>
@@ -1742,7 +1742,7 @@ and any path to a file to save to the file]]></string>
                                                                <boolean>false</boolean>
                                                        </property>
                                                        <property name="sourcePath">
-                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/lib/]]></string>
+                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib/]]></string>
                                                        </property>
                                                        <property name="shouldUninstall">
                                                                <boolean>true</boolean>
@@ -1757,7 +1757,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[spring-web-3.0.5.RELEASE.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>-1</long>
+                                                               <long>395587</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1794,7 +1794,7 @@ and any path to a file to save to the file]]></string>
                                                                <boolean>false</boolean>
                                                        </property>
                                                        <property name="sourcePath">
-                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/lib/]]></string>
+                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib/]]></string>
                                                        </property>
                                                        <property name="shouldUninstall">
                                                                <boolean>true</boolean>
@@ -1809,7 +1809,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[jdas-1.0.4.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>-1</long>
+                                                               <long>249906</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1846,7 +1846,7 @@ and any path to a file to save to the file]]></string>
                                                                <boolean>false</boolean>
                                                        </property>
                                                        <property name="sourcePath">
-                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/lib/]]></string>
+                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib/]]></string>
                                                        </property>
                                                        <property name="shouldUninstall">
                                                                <boolean>true</boolean>
@@ -1861,7 +1861,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[groovy-all-1.8.2.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>-1</long>
+                                                               <long>6149494</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -1898,7 +1898,7 @@ and any path to a file to save to the file]]></string>
                                                                <boolean>false</boolean>
                                                        </property>
                                                        <property name="sourcePath">
-                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/lib/]]></string>
+                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib/]]></string>
                                                        </property>
                                                        <property name="shouldUninstall">
                                                                <boolean>true</boolean>
@@ -1913,7 +1913,7 @@ and any path to a file to save to the file]]></string>
                                                                <string><![CDATA[spring-core-3.0.5.RELEASE.jar]]></string>
                                                        </property>
                                                        <property name="fileSize">
-                                                               <long>-1</long>
+                                                               <long>382442</long>
                                                        </property>
                                                        <property name="macBinary">
                                                                <boolean>false</boolean>
@@ -2634,11 +2634,27 @@ Press "Done" to quit the installer.]]></string>
                                        </property>
                                </object>
                        </property>
+                       <property name="winCodeSign">
+                               <object class="com.flexera.ia.designer.windows.codesign.WindowsCodeSign" objectID="ee9b87d69f5d">
+                                       <property name="certificationFileLoc">
+                                               <string><![CDATA[]]></string>
+                                       </property>
+                                       <property name="url">
+                                               <string><![CDATA[]]></string>
+                                       </property>
+                                       <property name="timestampServer">
+                                               <string><![CDATA[]]></string>
+                                       </property>
+                                       <property name="password">
+                                               <string><![CDATA[]]></string>
+                                       </property>
+                               </object>
+                       </property>
                        <property name="bundledJREInstall">
                                <int>2</int>
                        </property>
                        <property name="onlyInstallBundledVMIfOneNotFoundInSystem">
-                               <boolean>false</boolean>
+                               <boolean>true</boolean>
                        </property>
                        <property name="uninstallJRE">
                                <boolean>true</boolean>
@@ -2725,7 +2741,7 @@ Press "Done" to quit the installer.]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="withoutVmSearchOption">
-                                                                                               <short>10</short>
+                                                                                               <short>13</short>
                                                                                        </property>
                                                                                        <property name="withVMSearchOption">
                                                                                                <short>21</short>
@@ -3034,6 +3050,40 @@ Press "Done" to quit the installer.]]></string>
                                                                                        </property>
                                                                                </object>
                                                                        </method>
+                                                                       <method name="addElement">
+                                                                               <object class="com.zerog.ia.designer.build.BuildTarget" objectID="ee9b974a9f75">
+                                                                                       <property name="type">
+                                                                                               <int>9</int>
+                                                                                       </property>
+                                                                                       <property name="outputDir">
+                                                                                               <string><![CDATA[Windows_Pure_64_Bit]]></string>
+                                                                                       </property>
+                                                                                       <property name="buildNoVM">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="buildWithVM">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="withoutVmSearchOption">
+                                                                                               <short>10</short>
+                                                                                       </property>
+                                                                                       <property name="withVMSearchOption">
+                                                                                               <short>21</short>
+                                                                                       </property>
+                                                                                       <property name="win32InstallerLauncherType">
+                                                                                               <short>90</short>
+                                                                                       </property>
+                                                                                       <property name="jvmResolutionFileSpecs">
+                                                                                               <object class="java.util.Vector"/>
+                                                                                       </property>
+                                                                                       <property name="md5CheckApplicable_search_notFound_download">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                                       <property name="md5CheckApplicable_dontSearch_download">
+                                                                                               <boolean>false</boolean>
+                                                                                       </property>
+                                                                               </object>
+                                                                       </method>
                                                                </object>
                                                        </property>
                                                        <property name="name">
@@ -3081,7 +3131,7 @@ Press "Done" to quit the installer.]]></string>
                                                                <boolean>true</boolean>
                                                        </property>
                                                        <property name="buildOutputLocation">
-                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/utils/InstallAnywhere/Jalview_Build_Output]]></string>
+                                                               <string><![CDATA[/home/cruisecontrol/checkout/release-jalview/utils/InstallAnywhere/Jalview_Build_Output]]></string>
                                                        </property>
                                                        <property name="relatedProjectSettings">
                                                                <object class="com.zerog.ia.installer.RelatedProjectSettings" objectID="97f2363da6ac">
@@ -3151,629 +3201,747 @@ Press "Done" to quit the installer.]]></string>
                                                                        <property name="children">
                                                                                <object class="java.util.ArrayList" list="true">
                                                                                        <method name="add">
-                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualMachine" objectID="c5bca1b1ab87">
+                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualMachineCollection" objectID="ee9b974d9f75">
                                                                                                        <property name="parent">
                                                                                                                <object refID="c5bca16bab87"/>
                                                                                                        </property>
                                                                                                        <property name="productInformationList">
+                                                                                                               <object class="java.util.ArrayList" list="true"/>
+                                                                                                       </property>
+                                                                                                       <property name="id">
+                                                                                                               <int>0</int>
+                                                                                                       </property>
+                                                                                                       <property name="name">
+                                                                                                               <string><![CDATA[Default VM Tier]]></string>
+                                                                                                       </property>
+                                                                                                       <property name="UUID">
+                                                                                                               <string><![CDATA[ee9b974b-1f13-11b2-9f76-e3eb37649f93]]></string>
+                                                                                                       </property>
+                                                                                                       <property name="info">
+                                                                                                               <string><![CDATA[]]></string>
+                                                                                                       </property>
+                                                                                                       <property name="children">
                                                                                                                <object class="java.util.ArrayList" list="true">
                                                                                                                        <method name="add">
-                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformation" objectID="c5bca17eab87">
-                                                                                                                                       <property name="productName">
-                                                                                                                                               <string><![CDATA[Jalview]]></string>
+                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualMachine" objectID="c5bca1b1ab87">
+                                                                                                                                       <property name="parent">
+                                                                                                                                               <object refID="c5bca16bab87"/>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="productInformationList">
+                                                                                                                                               <object class="java.util.ArrayList" list="true">
+                                                                                                                                                       <method name="add">
+                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformation" objectID="c5bca17eab87">
+                                                                                                                                                                       <property name="productName">
+                                                                                                                                                                               <string><![CDATA[Jalview]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="productInformation">
+                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="productVersion">
+                                                                                                                                                                               <string><![CDATA[2.5.1.0]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="productVendor">
+                                                                                                                                                                               <string><![CDATA[The Barton Group]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="productProperties">
+                                                                                                                                                                               <object class="java.util.ArrayList" list="true">
+                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformationProperty" objectID="c5bca185ab87">
+                                                                                                                                                                                                       <property name="propertyKey">
+                                                                                                                                                                                                               <string><![CDATA[USER_INSTALL_DIR]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyType">
+                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.ProductPropertyType]]></string>
+                                                                                                                                                                                                                               <string><![CDATA[string]]></string>
+                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyDescription">
+                                                                                                                                                                                                               <string><![CDATA[Choose Install Folder]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyValue">
+                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                               </object>
+                                                                                                                                                                                       </method>
+                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformationProperty" objectID="c5bca187ab87">
+                                                                                                                                                                                                       <property name="propertyKey">
+                                                                                                                                                                                                               <string><![CDATA[USER_SHORTCUTS]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyType">
+                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.ProductPropertyType]]></string>
+                                                                                                                                                                                                                               <string><![CDATA[string]]></string>
+                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyDescription">
+                                                                                                                                                                                                               <string><![CDATA[Choose Link Folder]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                       <property name="propertyValue">
+                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                       </property>
+                                                                                                                                                                                               </object>
+                                                                                                                                                                                       </method>
+                                                                                                                                                                               </object>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="internalUID">
+                                                                                                                                                                               <string><![CDATA[c5bca188-1f0c-11b2-ab87-e722731676a6]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                               </object>
+                                                                                                                                                       </method>
+                                                                                                                                               </object>
                                                                                                                                        </property>
-                                                                                                                                       <property name="productInformation">
+                                                                                                                                       <property name="UUID">
+                                                                                                                                               <string><![CDATA[c5bca1ba-1f0c-11b2-ab88-e722731676a6]]></string>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="id">
+                                                                                                                                               <int>0</int>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="name">
+                                                                                                                                               <string><![CDATA[install_VM1]]></string>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="info">
                                                                                                                                                <string><![CDATA[]]></string>
                                                                                                                                        </property>
-                                                                                                                                       <property name="productVersion">
-                                                                                                                                               <string><![CDATA[2.5.1.0]]></string>
+                                                                                                                                       <property name="virtualMachineVersion">
+                                                                                                                                               <string><![CDATA[1.0]]></string>
                                                                                                                                        </property>
-                                                                                                                                       <property name="productVendor">
-                                                                                                                                               <string><![CDATA[The Barton Group]]></string>
+                                                                                                                                       <property name="osInformation">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemInformation" objectID="c5bca18fab87">
+                                                                                                                                                       <property name="jeosType">
+                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                       <method name="add">
+                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
+                                                                                                                                                                               <string><![CDATA[LINUX_UBUNTU_JEOS]]></string>
+                                                                                                                                                                       </method>
+                                                                                                                                                               </object>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="osFullName">
+                                                                                                                                                               <string><![CDATA[Ubuntu Oneric Omelot]]></string>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="version">
+                                                                                                                                                               <string><![CDATA[12.0]]></string>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="osVendor">
+                                                                                                                                                               <string><![CDATA[Ubuntu]]></string>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="fetchPackagesFromLocalRepository">
+                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                       </property>
+                                                                                                                                               </object>
                                                                                                                                        </property>
-                                                                                                                                       <property name="productProperties">
+                                                                                                                                       <property name="operatingSystemPackageInformation">
                                                                                                                                                <object class="java.util.ArrayList" list="true">
                                                                                                                                                        <method name="add">
-                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformationProperty" objectID="c5bca185ab87">
-                                                                                                                                                                       <property name="propertyKey">
-                                                                                                                                                                               <string><![CDATA[USER_INSTALL_DIR]]></string>
+                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemPackage" objectID="c5bca192ab87">
+                                                                                                                                                                       <property name="displayName">
+                                                                                                                                                                               <string><![CDATA[openssh-server]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="version">
+                                                                                                                                                                               <string><![CDATA[1.0.1-4ubuntu3]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="internalName">
+                                                                                                                                                                               <string><![CDATA[openssh-server]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="description">
+                                                                                                                                                                               <string><![CDATA[secure shell (SSH) server, for secure access from remote machines]]></string>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyType">
+                                                                                                                                                                       <property name="targetedJeOS">
                                                                                                                                                                                <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                                                                        <method name="add">
-                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.ProductPropertyType]]></string>
-                                                                                                                                                                                               <string><![CDATA[string]]></string>
+                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
+                                                                                                                                                                                               <string><![CDATA[LINUX_UBUNTU_JEOS]]></string>
                                                                                                                                                                                        </method>
                                                                                                                                                                                </object>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyDescription">
-                                                                                                                                                                               <string><![CDATA[Choose Install Folder]]></string>
+                                                                                                                                                                       <property name="osPkgType">
+                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.OperatingSystemPackageType]]></string>
+                                                                                                                                                                                               <string><![CDATA[DEBIAN]]></string>
+                                                                                                                                                                                       </method>
+                                                                                                                                                                               </object>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyValue">
+                                                                                                                                                                       <property name="pacakgeLocationType">
+                                                                                                                                                                               <string><![CDATA[internet]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="pacakgeFileLocation">
                                                                                                                                                                                <string><![CDATA[]]></string>
                                                                                                                                                                        </property>
                                                                                                                                                                </object>
                                                                                                                                                        </method>
                                                                                                                                                        <method name="add">
-                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ProductInformationProperty" objectID="c5bca187ab87">
-                                                                                                                                                                       <property name="propertyKey">
-                                                                                                                                                                               <string><![CDATA[USER_SHORTCUTS]]></string>
+                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemPackage" objectID="c5bca193ab87">
+                                                                                                                                                                       <property name="displayName">
+                                                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="version">
+                                                                                                                                                                               <string><![CDATA[5.3p1-81.el6]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="internalName">
+                                                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="description">
+                                                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyType">
+                                                                                                                                                                       <property name="targetedJeOS">
                                                                                                                                                                                <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                                                                        <method name="add">
-                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.ProductPropertyType]]></string>
-                                                                                                                                                                                               <string><![CDATA[string]]></string>
+                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
+                                                                                                                                                                                               <string><![CDATA[LINUX_CENTOS_JEOS]]></string>
                                                                                                                                                                                        </method>
                                                                                                                                                                                </object>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyDescription">
-                                                                                                                                                                               <string><![CDATA[Choose Link Folder]]></string>
+                                                                                                                                                                       <property name="osPkgType">
+                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.OperatingSystemPackageType]]></string>
+                                                                                                                                                                                               <string><![CDATA[RPM]]></string>
+                                                                                                                                                                                       </method>
+                                                                                                                                                                               </object>
                                                                                                                                                                        </property>
-                                                                                                                                                                       <property name="propertyValue">
+                                                                                                                                                                       <property name="pacakgeLocationType">
+                                                                                                                                                                               <string><![CDATA[internet]]></string>
+                                                                                                                                                                       </property>
+                                                                                                                                                                       <property name="pacakgeFileLocation">
                                                                                                                                                                                <string><![CDATA[]]></string>
                                                                                                                                                                        </property>
                                                                                                                                                                </object>
                                                                                                                                                        </method>
                                                                                                                                                </object>
                                                                                                                                        </property>
-                                                                                                                                       <property name="internalUID">
-                                                                                                                                               <string><![CDATA[c5bca188-1f0c-11b2-ab87-e722731676a6]]></string>
-                                                                                                                                       </property>
-                                                                                                                               </object>
-                                                                                                                       </method>
-                                                                                                               </object>
-                                                                                                       </property>
-                                                                                                       <property name="UUID">
-                                                                                                               <string><![CDATA[c5bca1ba-1f0c-11b2-ab88-e722731676a6]]></string>
-                                                                                                       </property>
-                                                                                                       <property name="id">
-                                                                                                               <int>0</int>
-                                                                                                       </property>
-                                                                                                       <property name="name">
-                                                                                                               <string><![CDATA[install_VM1]]></string>
-                                                                                                       </property>
-                                                                                                       <property name="info">
-                                                                                                               <string><![CDATA[]]></string>
-                                                                                                       </property>
-                                                                                                       <property name="virtualMachineVersion">
-                                                                                                               <string><![CDATA[1.0]]></string>
-                                                                                                       </property>
-                                                                                                       <property name="osInformation">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemInformation" objectID="c5bca18fab87">
-                                                                                                                       <property name="jeosType">
-                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                       <method name="add">
-                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
-                                                                                                                                               <string><![CDATA[LINUX_UBUNTU_JEOS]]></string>
-                                                                                                                                       </method>
-                                                                                                                               </object>
-                                                                                                                       </property>
-                                                                                                                       <property name="osFullName">
-                                                                                                                               <string><![CDATA[Ubuntu Oneric Omelot]]></string>
-                                                                                                                       </property>
-                                                                                                                       <property name="version">
-                                                                                                                               <string><![CDATA[12.0]]></string>
-                                                                                                                       </property>
-                                                                                                                       <property name="osVendor">
-                                                                                                                               <string><![CDATA[Ubuntu]]></string>
-                                                                                                                       </property>
-                                                                                                                       <property name="fetchPackagesFromLocalRepository">
-                                                                                                                               <boolean>false</boolean>
-                                                                                                                       </property>
-                                                                                                               </object>
-                                                                                                       </property>
-                                                                                                       <property name="operatingSystemPackageInformation">
-                                                                                                               <object class="java.util.ArrayList" list="true">
-                                                                                                                       <method name="add">
-                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemPackage" objectID="c5bca192ab87">
-                                                                                                                                       <property name="displayName">
-                                                                                                                                               <string><![CDATA[openssh-server]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="version">
-                                                                                                                                               <string><![CDATA[1.0.1-4ubuntu3]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="internalName">
-                                                                                                                                               <string><![CDATA[openssh-server]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="description">
-                                                                                                                                               <string><![CDATA[secure shell (SSH) server, for secure access from remote machines]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="targetedJeOS">
-                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                       <method name="add">
-                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
-                                                                                                                                                               <string><![CDATA[LINUX_UBUNTU_JEOS]]></string>
-                                                                                                                                                       </method>
-                                                                                                                                               </object>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="osPkgType">
-                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                       <method name="add">
-                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.OperatingSystemPackageType]]></string>
-                                                                                                                                                               <string><![CDATA[DEBIAN]]></string>
-                                                                                                                                                       </method>
-                                                                                                                                               </object>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="pacakgeLocationType">
-                                                                                                                                               <string><![CDATA[internet]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="pacakgeFileLocation">
-                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                       </property>
-                                                                                                                               </object>
-                                                                                                                       </method>
-                                                                                                                       <method name="add">
-                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.OperatingSystemPackage" objectID="c5bca193ab87">
-                                                                                                                                       <property name="displayName">
-                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="version">
-                                                                                                                                               <string><![CDATA[5.3p1-81.el6]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="internalName">
-                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="description">
-                                                                                                                                               <string><![CDATA[openssh-server.i686]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="targetedJeOS">
-                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                       <method name="add">
-                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.JeOS]]></string>
-                                                                                                                                                               <string><![CDATA[LINUX_CENTOS_JEOS]]></string>
-                                                                                                                                                       </method>
-                                                                                                                                               </object>
+                                                                                                                                       <property name="scriptsInformation">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ScriptsInformation" objectID="c5bca1b4ab88"/>
                                                                                                                                        </property>
-                                                                                                                                       <property name="osPkgType">
-                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                       <method name="add">
-                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.OperatingSystemPackageType]]></string>
-                                                                                                                                                               <string><![CDATA[RPM]]></string>
-                                                                                                                                                       </method>
+                                                                                                                                       <property name="buildTimeApplicationInstallationInformation">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstallationInformation" objectID="c5bca1b4ab87">
+                                                                                                                                                       <property name="installers">
+                                                                                                                                                               <object class="java.util.ArrayList" list="true"/>
+                                                                                                                                                       </property>
                                                                                                                                                </object>
                                                                                                                                        </property>
-                                                                                                                                       <property name="pacakgeLocationType">
-                                                                                                                                               <string><![CDATA[internet]]></string>
-                                                                                                                                       </property>
-                                                                                                                                       <property name="pacakgeFileLocation">
-                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                       </property>
-                                                                                                                               </object>
-                                                                                                                       </method>
-                                                                                                               </object>
-                                                                                                       </property>
-                                                                                                       <property name="scriptsInformation">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ScriptsInformation" objectID="c5bca1b4ab88"/>
-                                                                                                       </property>
-                                                                                                       <property name="buildTimeApplicationInstallationInformation">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstallationInformation" objectID="c5bca1b4ab87">
-                                                                                                                       <property name="installers">
-                                                                                                                               <object class="java.util.ArrayList" list="true"/>
-                                                                                                                       </property>
-                                                                                                               </object>
-                                                                                                       </property>
-                                                                                                       <property name="virtualHardwareInformation">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardwareInformation" objectID="c5bca195ab87">
-                                                                                                                       <property name="virtualHardwareProfileList">
-                                                                                                                               <object class="java.util.ArrayList" list="true">
-                                                                                                                                       <method name="add">
-                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardwareProfile" objectID="c5bca19bab87">
-                                                                                                                                                       <property name="profileId">
-                                                                                                                                                               <string><![CDATA[A Virtual Machine]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="profileDescription">
-                                                                                                                                                               <string><![CDATA[Ubuntu 12.0 Linux]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="hardwareItems">
+                                                                                                                                       <property name="virtualHardwareInformation">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardwareInformation" objectID="c5bca195ab87">
+                                                                                                                                                       <property name="virtualHardwareProfileList">
                                                                                                                                                                <object class="java.util.ArrayList" list="true">
                                                                                                                                                                        <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualCPU" objectID="c5bca1a0ab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>30</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[Virtual CPU(s)]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[Number of virtual CPUs]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="connection">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="address">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardwareProfile" objectID="c5bca19bab87">
+                                                                                                                                                                                       <property name="profileId">
+                                                                                                                                                                                               <string><![CDATA[A Virtual Machine]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                       <property name="profileDescription">
+                                                                                                                                                                                               <string><![CDATA[Ubuntu 12.0 Linux]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                       <property name="hardwareItems">
+                                                                                                                                                                                               <object class="java.util.ArrayList" list="true">
+                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualCPU" objectID="c5bca1a0ab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>30</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[Virtual CPU(s)]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[Number of virtual CPUs]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[hertz * 10^6]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Processor]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualSCSIController" objectID="c5bca1a5ab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>92</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[SCSI Controller 0 - LSI Logic]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[SCSI Controller]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[lsilogic]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Parallel_SCSI_HBA]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualIDEController" objectID="c5bca1a6ab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>99</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[IDE]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[IDE Controller]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[lsilogic]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[IDE_Controller]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardDisk" objectID="c5bca1a8ab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>3</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[disk1]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>92</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>4</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>4</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>4</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[ovf:/disk/vmdisk1]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[byte * 2^30]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Disk_Drive]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="fileReferenceIDOfHardDisk">
+                                                                                                                                                                                                                               <string><![CDATA[file1]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="locationOfDiskFile">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualNetworkAdapter" objectID="c5bca1aaab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>9</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[Flexible]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[The bridged network]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[VM Network]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>2</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Flexible]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>true</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Ethernet_Adapter]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                       </method>
                                                                                                                                                                                                        <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
+                                                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualRAM" objectID="c5bca1abab87">
+                                                                                                                                                                                                                       <property name="id">
+                                                                                                                                                                                                                               <int>87</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="name">
+                                                                                                                                                                                                                               <string><![CDATA[MB of Memory]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="info">
+                                                                                                                                                                                                                               <string><![CDATA[Memory size]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="parent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="addressOnParent">
+                                                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualQuantity">
+                                                                                                                                                                                                                               <long>1024</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="reservation">
+                                                                                                                                                                                                                               <long>1024</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="limit">
+                                                                                                                                                                                                                               <long>1024</long>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="weight">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="hostResource">
+                                                                                                                                                                                                                               <string><![CDATA[]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="automaticAllocation">
+                                                                                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="allocationUnit">
+                                                                                                                                                                                                                               <string><![CDATA[byte * 2^20]]></string>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                                                                                       <method name="add">
+                                                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
+                                                                                                                                                                                                                                               <string><![CDATA[Memory]]></string>
+                                                                                                                                                                                                                                       </method>
+                                                                                                                                                                                                                               </object>
+                                                                                                                                                                                                                       </property>
+                                                                                                                                                                                                               </object>
                                                                                                                                                                                                        </method>
                                                                                                                                                                                                </object>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>false</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[hertz * 10^6]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
+                                                                                                                                                                                       <property name="amazonInstanceType">
                                                                                                                                                                                                <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                                                                                        <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Processor]]></string>
+                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.AmazonInstanceType]]></string>
+                                                                                                                                                                                                               <string><![CDATA[SMALL]]></string>
                                                                                                                                                                                                        </method>
                                                                                                                                                                                                </object>
                                                                                                                                                                                        </property>
                                                                                                                                                                                </object>
                                                                                                                                                                        </method>
+                                                                                                                                                               </object>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="systemType">
+                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                       <method name="add">
+                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualSystemType]]></string>
+                                                                                                                                                                               <string><![CDATA[vmx07]]></string>
+                                                                                                                                                                       </method>
+                                                                                                                                                               </object>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="instanceId">
+                                                                                                                                                               <int>97</int>
+                                                                                                                                                       </property>
+                                                                                                                                               </object>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="startupInfo">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualSystemEntityStartupInfo" objectID="c5bca1b5ab88">
+                                                                                                                                                       <property name="startupDelaySeconds">
+                                                                                                                                                               <long>10</long>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="stopDelaySeconds">
+                                                                                                                                                               <long>10</long>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="startAction">
+                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                                                        <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualSCSIController" objectID="c5bca1a5ab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>92</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[SCSI Controller 0 - LSI Logic]]></string>
+                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.StartAction]]></string>
+                                                                                                                                                                               <string><![CDATA[powerOn]]></string>
+                                                                                                                                                                       </method>
+                                                                                                                                                               </object>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="stopAction">
+                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
+                                                                                                                                                                       <method name="add">
+                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.StopAction]]></string>
+                                                                                                                                                                               <string><![CDATA[guestShutdown]]></string>
+                                                                                                                                                                       </method>
+                                                                                                                                                               </object>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="startOrder">
+                                                                                                                                                               <int>0</int>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="stopOrder">
+                                                                                                                                                               <int>0</int>
+                                                                                                                                                       </property>
+                                                                                                                                               </object>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="firstBootTimeApplicationInstallationInformation">
+                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstallationInformation" objectID="c5bca189ab87">
+                                                                                                                                                       <property name="installers">
+                                                                                                                                                               <object class="java.util.ArrayList" list="true">
+                                                                                                                                                                       <method name="add">
+                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstaller" objectID="c5bca18cab87">
+                                                                                                                                                                                       <property name="iaInstaller">
+                                                                                                                                                                                               <boolean>true</boolean>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[SCSI Controller]]></string>
+                                                                                                                                                                                       <property name="thisInstaller">
+                                                                                                                                                                                               <boolean>true</boolean>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                       <property name="buildConfiguration">
+                                                                                                                                                                                               <object refID="cc2227a996cd"/>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="connection">
+                                                                                                                                                                                       <property name="locationOfInstaller">
                                                                                                                                                                                                <string><![CDATA[]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="address">
+                                                                                                                                                                                       <property name="locationOfResponseFile">
                                                                                                                                                                                                <string><![CDATA[]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>0</int>
+                                                                                                                                                                                       <property name="installationCommand">
+                                                                                                                                                                                               <string><![CDATA[]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                       <property name="executable">
+                                                                                                                                                                                               <string><![CDATA[]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>1</long>
+                                                                                                                                                                                       <property name="buildTarget">
+                                                                                                                                                                                               <string><![CDATA[Linux]]></string>
                                                                                                                                                                                        </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[lsilogic]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>false</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Parallel_SCSI_HBA]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                               </object>
-                                                                                                                                                                       </method>
-                                                                                                                                                                       <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualIDEController" objectID="c5bca1a6ab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>99</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[IDE]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[IDE Controller]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="connection">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="address">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[lsilogic]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>false</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[IDE_Controller]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                               </object>
-                                                                                                                                                                       </method>
-                                                                                                                                                                       <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualHardDisk" objectID="c5bca1a8ab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>3</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[disk1]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>92</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="connection">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="address">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>4</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>4</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>4</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[ovf:/disk/vmdisk1]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>false</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[byte * 2^30]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Disk_Drive]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="fileReferenceIDOfHardDisk">
-                                                                                                                                                                                               <string><![CDATA[file1]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="locationOfDiskFile">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                               </object>
-                                                                                                                                                                       </method>
-                                                                                                                                                                       <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualNetworkAdapter" objectID="c5bca1aaab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>9</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[Flexible]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[The bridged network]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="connection">
-                                                                                                                                                                                               <string><![CDATA[VM Network]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="address">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>2</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>1</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Flexible]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>true</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Ethernet_Adapter]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                               </object>
-                                                                                                                                                                       </method>
-                                                                                                                                                                       <method name="add">
-                                                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.hardware.VirtualRAM" objectID="c5bca1abab87">
-                                                                                                                                                                                       <property name="id">
-                                                                                                                                                                                               <int>87</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="name">
-                                                                                                                                                                                               <string><![CDATA[MB of Memory]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="info">
-                                                                                                                                                                                               <string><![CDATA[Memory size]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="parent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="connection">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="address">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="addressOnParent">
-                                                                                                                                                                                               <int>0</int>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualQuantity">
-                                                                                                                                                                                               <long>1024</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="reservation">
-                                                                                                                                                                                               <long>1024</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="limit">
-                                                                                                                                                                                               <long>1024</long>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="weight">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="hostResource">
-                                                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceSubtype">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceSubtype]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Others]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="automaticAllocation">
-                                                                                                                                                                                               <boolean>false</boolean>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="allocationUnit">
-                                                                                                                                                                                               <string><![CDATA[byte * 2^20]]></string>
-                                                                                                                                                                                       </property>
-                                                                                                                                                                                       <property name="virtualHardwareResourceType">
-                                                                                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                                                                                       <method name="add">
-                                                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualHardwareResourceType]]></string>
-                                                                                                                                                                                                               <string><![CDATA[Memory]]></string>
-                                                                                                                                                                                                       </method>
-                                                                                                                                                                                               </object>
+                                                                                                                                                                                       <property name="internalUID">
+                                                                                                                                                                                               <string><![CDATA[c5bca188-1f0c-11b2-ab87-e722731676a6]]></string>
                                                                                                                                                                                        </property>
                                                                                                                                                                                </object>
                                                                                                                                                                        </method>
                                                                                                                                                                </object>
                                                                                                                                                        </property>
-                                                                                                                                                       <property name="amazonInstanceType">
+                                                                                                                                               </object>
+                                                                                                                                       </property>
+                                                                                                                                       <property name="choosenVMInfo">
+                                                                                                                                               <object class="com.flexera.ia.vapp.chooseavm.ChoosenVMInfo" objectID="ee9b975b9f76">
+                                                                                                                                                       <property name="templateTypeOption">
                                                                                                                                                                <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                                                        <method name="add">
-                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.AmazonInstanceType]]></string>
-                                                                                                                                                                               <string><![CDATA[SMALL]]></string>
+                                                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.chooseavm.VMTemplateTypeOption]]></string>
+                                                                                                                                                                               <string><![CDATA[IA_VM_TEMPLATE]]></string>
                                                                                                                                                                        </method>
                                                                                                                                                                </object>
                                                                                                                                                        </property>
+                                                                                                                                                       <property name="vmTemplateName">
+                                                                                                                                                               <string><![CDATA[No VM Templates available]]></string>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="powerOnVmIfNotRunning">
+                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                       </property>
+                                                                                                                                                       <property name="vmPartOfVapp">
+                                                                                                                                                               <boolean>false</boolean>
+                                                                                                                                                       </property>
                                                                                                                                                </object>
-                                                                                                                                       </method>
-                                                                                                                               </object>
-                                                                                                                       </property>
-                                                                                                                       <property name="systemType">
-                                                                                                                               <object class="java.lang.Enum" javaEnum="true">
-                                                                                                                                       <method name="add">
-                                                                                                                                               <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.VirtualSystemType]]></string>
-                                                                                                                                               <string><![CDATA[vmx07]]></string>
-                                                                                                                                       </method>
+                                                                                                                                       </property>
                                                                                                                                </object>
-                                                                                                                       </property>
-                                                                                                                       <property name="instanceId">
-                                                                                                                               <int>97</int>
-                                                                                                                       </property>
+                                                                                                                       </method>
                                                                                                                </object>
                                                                                                        </property>
-                                                                                                       <property name="startupInfo">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualSystemEntityStartupInfo" objectID="c5bca1b5ab88">
+                                                                                                       <property name="vseStartupInfo">
+                                                                                                               <object class="com.flexera.ia.vapp.datastructures.VirtualSystemEntityStartupInfo" objectID="ee9b974b9f75">
                                                                                                                        <property name="startupDelaySeconds">
                                                                                                                                <long>10</long>
                                                                                                                        </property>
@@ -3792,48 +3960,15 @@ Press "Done" to quit the installer.]]></string>
                                                                                                                                <object class="java.lang.Enum" javaEnum="true">
                                                                                                                                        <method name="add">
                                                                                                                                                <string><![CDATA[com.flexera.ia.vapp.datastructures.enums.StopAction]]></string>
-                                                                                                                                               <string><![CDATA[guestShutdown]]></string>
+                                                                                                                                               <string><![CDATA[powerOff]]></string>
                                                                                                                                        </method>
                                                                                                                                </object>
                                                                                                                        </property>
-                                                                                                               </object>
-                                                                                                       </property>
-                                                                                                       <property name="firstBootTimeApplicationInstallationInformation">
-                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstallationInformation" objectID="c5bca189ab87">
-                                                                                                                       <property name="installers">
-                                                                                                                               <object class="java.util.ArrayList" list="true">
-                                                                                                                                       <method name="add">
-                                                                                                                                               <object class="com.flexera.ia.vapp.datastructures.ApplicationInstaller" objectID="c5bca18cab87">
-                                                                                                                                                       <property name="iaInstaller">
-                                                                                                                                                               <boolean>true</boolean>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="thisInstaller">
-                                                                                                                                                               <boolean>true</boolean>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="buildConfiguration">
-                                                                                                                                                               <object refID="cc2227a996cd"/>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="locationOfInstaller">
-                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="locationOfResponseFile">
-                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="installationCommand">
-                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="executable">
-                                                                                                                                                               <string><![CDATA[]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="buildTarget">
-                                                                                                                                                               <string><![CDATA[Linux]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                                       <property name="internalUID">
-                                                                                                                                                               <string><![CDATA[c5bca188-1f0c-11b2-ab87-e722731676a6]]></string>
-                                                                                                                                                       </property>
-                                                                                                                                               </object>
-                                                                                                                                       </method>
-                                                                                                                               </object>
+                                                                                                                       <property name="startOrder">
+                                                                                                                               <int>0</int>
+                                                                                                                       </property>
+                                                                                                                       <property name="stopOrder">
+                                                                                                                               <int>0</int>
                                                                                                                        </property>
                                                                                                                </object>
                                                                                                        </property>
@@ -3880,6 +4015,9 @@ Press "Done" to quit the installer.]]></string>
                                                                                        </method>
                                                                                </object>
                                                                        </property>
+                                                                       <property name="useSameBuildCredentialsForDeployment">
+                                                                               <boolean>true</boolean>
+                                                                       </property>
                                                                </object>
                                                        </property>
                                                        <property name="supportedHypervisorType">
@@ -3899,7 +4037,7 @@ Press "Done" to quit the installer.]]></string>
                                                                <boolean>true</boolean>
                                                        </property>
                                                        <property name="credentialInformation">
-                                                               <object class="com.flexera.ia.vapp.datastructures.VMWareCredentialInformationImpl" objectID="f46e0c60ac1e">
+                                                               <object class="com.flexera.ia.vapp.datastructures.VMWareCredentialInformationImpl" objectID="27759feba050">
                                                                        <property name="hostName">
                                                                                <string><![CDATA[]]></string>
                                                                        </property>
@@ -4021,11 +4159,11 @@ Press "Done" to quit the installer.]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.installer.options.valid.vm.list]]></string>
-                                               <string><![CDATA[1.5+]]></string>
+                                               <string><![CDATA[1.6,1.7,1.8+]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.project.build.last.date]]></string>
-                                               <string><![CDATA[30 October 2012 17:05:05 o'clock GMT]]></string>
+                                               <string><![CDATA[21 October 2013 14:27:40 o'clock BST]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.build.platform.windows.vm]]></string>
@@ -4093,7 +4231,7 @@ Press "Done" to quit the installer.]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.project.save.last.date]]></string>
-                                               <string><![CDATA[08 November 2012 16:49:06 o'clock GMT]]></string>
+                                               <string><![CDATA[01 November 2013 13:57:31 o'clock GMT]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.build.options.optimization.platform.cdrom]]></string>
@@ -4113,11 +4251,11 @@ Press "Done" to quit the installer.]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.installer.options.platform.macosx.authentication.gui]]></string>
-                                               <string><![CDATA[true]]></string>
+                                               <string><![CDATA[false]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.installer.options.platform.macosx.vm.version]]></string>
-                                               <string><![CDATA[1.5+]]></string>
+                                               <string><![CDATA[1.6+]]></string>
                                        </method>
                                        <method name="put">
                                                <string><![CDATA[com.zerog.ia.build.platform.java.novm]]></string>
@@ -4281,6 +4419,25 @@ Press "Done" to quit the installer.]]></string>
                        <property name="fileModificationTimestampBehavior">
                                <int>1</int>
                        </property>
+                       <property name="RAIRSpec">
+                               <object class="com.zerog.ia.installer.iseries.RAIRSpec" objectID="ee9b98899f7a">
+                                       <property name="belongsToUninstallPhase">
+                                               <boolean>false</boolean>
+                                       </property>
+                                       <property name="rollbackEnabledCancel">
+                                               <boolean>true</boolean>
+                                       </property>
+                                       <property name="rollbackEnabledError">
+                                               <boolean>true</boolean>
+                                       </property>
+                                       <property name="ruleExpression">
+                                               <string><![CDATA[]]></string>
+                                       </property>
+                                       <property name="enabled">
+                                               <boolean>false</boolean>
+                                       </property>
+                               </object>
+                       </property>
                        <property name="fileModificationTimestamp">
                                <long>-1</long>
                        </property>
@@ -4328,7 +4485,7 @@ Press "Done" to quit the installer.]]></string>
                                                <string><![CDATA[Jalview]]></string>
                                        </property>
                                        <property name="installerName">
-                                               <string><![CDATA[install]]></string>
+                                               <string><![CDATA[install-jalview]]></string>
                                        </property>
                                        <property name="productName">
                                                <string><![CDATA[Jalview]]></string>
@@ -4382,7 +4539,7 @@ Press "Done" to quit the installer.]]></string>
                                                <string><![CDATA[jalview-discuss@jalview.org]]></string>
                                        </property>
                                        <property name="copyright">
-                                               <string><![CDATA[2012]]></string>
+                                               <string><![CDATA[2013]]></string>
                                        </property>
                                        <property name="license">
                                                <string><![CDATA[Commercial]]></string>
@@ -5246,6 +5403,12 @@ This will remove features installed by InstallAnywhere.  It will not remove file
                                        <property name="defaultWinUninstallerUIMode">
                                                <string><![CDATA[SAME_AS_INSTALLER]]></string>
                                        </property>
+                                       <property name="defaultWin64InstallerUIMode">
+                                               <string><![CDATA[GUI]]></string>
+                                       </property>
+                                       <property name="defaultWin64UninstallerUIMode">
+                                               <string><![CDATA[SAME_AS_INSTALLER]]></string>
+                                       </property>
                                        <property name="defaultUnixInstallerUIMode">
                                                <string><![CDATA[GUI]]></string>
                                        </property>
@@ -5281,6 +5444,12 @@ This will remove features installed by InstallAnywhere.  It will not remove file
                        <property name="installerIconName">
                                <string><![CDATA[Icon1.ico]]></string>
                        </property>
+                       <property name="installerIconImagePath">
+                               <string><![CDATA[com/zerog/ia/installer/images/]]></string>
+                       </property>
+                       <property name="installerIconImageName">
+                               <string><![CDATA[iaIcon.png]]></string>
+                       </property>
                        <property name="billboardTimerEnabled">
                                <boolean>false</boolean>
                        </property>
@@ -5357,6 +5526,12 @@ This will remove features installed by InstallAnywhere.  It will not remove file
                        <property name="swidTagIncluded">
                                <boolean>true</boolean>
                        </property>
+                       <property name="codeSignOnMacEnabled">
+                               <boolean>false</boolean>
+                       </property>
+                       <property name="oldStyleInstallersEnabled">
+                               <boolean>false</boolean>
+                       </property>
                        <visualChildren>
                                <object class="com.zerog.ia.installer.InstallSet" objectID="fe7d6493a66a">
                                        <property name="belongsToUninstallPhase">
@@ -6060,7 +6235,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6069,7 +6244,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[jpred_msa.seq.concise]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>7882</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6101,7 +6276,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6110,7 +6285,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[jpred_msa.fasta]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>2079</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6142,7 +6317,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6151,7 +6326,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[plantfdx.annotations]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>547</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6183,7 +6358,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6192,7 +6367,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[plantfdx.fa]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>2655</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6224,7 +6399,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6239,7 +6414,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[exampleFile_2_7.jar]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>107135</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6274,7 +6449,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6283,7 +6458,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[1gaq.txt]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>56649</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6315,7 +6490,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6324,7 +6499,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[uniref50.fa]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>3039</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6356,7 +6531,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6365,7 +6540,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[plantfdx.features]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>6129</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6397,7 +6572,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6406,7 +6581,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[exampleFeatures.txt]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>31397</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6438,7 +6613,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6447,7 +6622,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[uniref50_mz.fa]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>1683</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6479,7 +6654,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6488,7 +6663,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[ferredoxin.nw]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>392</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6520,7 +6695,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
@@ -6529,7 +6704,7 @@ and any path to a file to read from that file]]></string>
                                                                                                <string><![CDATA[RF00031_folded.stk]]></string>
                                                                                        </property>
                                                                                        <property name="fileSize">
-                                                                                               <long>-1</long>
+                                                                                               <long>19118</long>
                                                                                        </property>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
@@ -6538,7 +6713,8 @@ and any path to a file to read from that file]]></string>
                                                                                                <int>0</int>
                                                                                        </property>
                                                                                </object>
-                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="f44fc5d5aba1">
+                                                                               <object refID="f46c2f42ab93"/>
+                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="24485f85a670">
                                                                                        <property name="belongsToUninstallPhase">
                                                                                                <boolean>false</boolean>
                                                                                        </property>
@@ -6561,13 +6737,13 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples/groovy]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
                                                                                                <boolean>true</boolean>
                                                                                        </property>
                                                                                        <property name="destinationName">
-                                                                                               <string><![CDATA[groovy]]></string>
+                                                                                               <string><![CDATA[lib]]></string>
                                                                                        </property>
                                                                                        <property name="removeRecursively">
                                                                                                <boolean>false</boolean>
@@ -6578,8 +6754,40 @@ and any path to a file to read from that file]]></string>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
                                                                                        </property>
+                                                                                       <visualChildren>
+                                                                                               <object refID="24485f87a670"/>
+                                                                                               <object refID="88d4aff3b0c6"/>
+                                                                                               <object refID="24485f88a670"/>
+                                                                                               <object refID="24485f88a671"/>
+                                                                                               <object refID="24485f89a671"/>
+                                                                                               <object refID="24485f8aa671"/>
+                                                                                               <object refID="24485f89a672"/>
+                                                                                               <object refID="24485f8aa672"/>
+                                                                                               <object refID="24485f8ba672"/>
+                                                                                               <object refID="24485f8aa673"/>
+                                                                                               <object refID="24485f8ba673"/>
+                                                                                               <object refID="24485f8ca673"/>
+                                                                                               <object refID="24485f8ba674"/>
+                                                                                               <object refID="24485f8ca674"/>
+                                                                                               <object refID="b1a16838a449"/>
+                                                                                               <object refID="b1a16839a449"/>
+                                                                                               <object refID="495aeddb8b3d"/>
+                                                                                               <object refID="4996716cba8e"/>
+                                                                                               <object refID="8fbb17519b9c"/>
+                                                                                               <object refID="8fbb17529b9c"/>
+                                                                                               <object refID="8fbb17539b9c"/>
+                                                                                               <object refID="8fbb17529b9d"/>
+                                                                                               <object refID="aa3a521fb6bc"/>
+                                                                                               <object refID="aa3a5220b6bc"/>
+                                                                                               <object refID="df3a5220b6bc"/>
+                                                                                               <object refID="aa3a5220b6bc1"/>
+                                                                                               <object refID="f44ca391ab9f"/>
+                                                                                               <object refID="f44ca392ab9f"/>
+                                                                                               <object refID="f44ca393ab9f"/>
+                                                                                               <object refID="f46c2f42ab93"/>
+                                                                                       </visualChildren>
                                                                                </object>
-                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="f44fc598aba0">
+                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="f44fc5d5aba1">
                                                                                        <property name="belongsToUninstallPhase">
                                                                                                <boolean>false</boolean>
                                                                                        </property>
@@ -6602,13 +6810,13 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/opt/homes/cruisecontrol/jalview/examples]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples/groovy]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
-                                                                                               <boolean>false</boolean>
+                                                                                               <boolean>true</boolean>
                                                                                        </property>
                                                                                        <property name="destinationName">
-                                                                                               <string><![CDATA[examples]]></string>
+                                                                                               <string><![CDATA[groovy]]></string>
                                                                                        </property>
                                                                                        <property name="removeRecursively">
                                                                                                <boolean>false</boolean>
@@ -6619,24 +6827,8 @@ and any path to a file to read from that file]]></string>
                                                                                        <property name="macBinary">
                                                                                                <boolean>false</boolean>
                                                                                        </property>
-                                                                                       <visualChildren>
-                                                                                               <object refID="f44fc5b2aba1"/>
-                                                                                               <object refID="f44fc5d5aba1"/>
-                                                                                               <object refID="f44fc608aba1"/>
-                                                                                               <object refID="f44fc63caba2"/>
-                                                                                               <object refID="f44fc640aba2"/>
-                                                                                               <object refID="f44fc645aba2"/>
-                                                                                               <object refID="f44fc648aba2"/>
-                                                                                               <object refID="f44fc64caba2"/>
-                                                                                               <object refID="f44fc654aba2"/>
-                                                                                               <object refID="f44fc67baba3"/>
-                                                                                               <object refID="f44fc683aba3"/>
-                                                                                               <object refID="f44fc687aba3"/>
-                                                                                               <object refID="f44fc68baba3"/>
-                                                                                       </visualChildren>
                                                                                </object>
-                                                                               <object refID="f46c2f42ab93"/>
-                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="24485f85a670">
+                                                                               <object class="com.zerog.ia.installer.actions.InstallDirectory" objectID="f44fc598aba0">
                                                                                        <property name="belongsToUninstallPhase">
                                                                                                <boolean>false</boolean>
                                                                                        </property>
@@ -6659,13 +6851,13 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="sourcePath">
-                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/lib]]></string>
+                                                                                               <string><![CDATA[/home/cruisecontrol/jalview/examples]]></string>
                                                                                        </property>
                                                                                        <property name="shouldUninstall">
-                                                                                               <boolean>true</boolean>
+                                                                                               <boolean>false</boolean>
                                                                                        </property>
                                                                                        <property name="destinationName">
-                                                                                               <string><![CDATA[lib]]></string>
+                                                                                               <string><![CDATA[examples]]></string>
                                                                                        </property>
                                                                                        <property name="removeRecursively">
                                                                                                <boolean>false</boolean>
@@ -6677,36 +6869,19 @@ and any path to a file to read from that file]]></string>
                                                                                                <boolean>false</boolean>
                                                                                        </property>
                                                                                        <visualChildren>
-                                                                                               <object refID="24485f87a670"/>
-                                                                                               <object refID="88d4aff3b0c6"/>
-                                                                                               <object refID="24485f88a670"/>
-                                                                                               <object refID="24485f88a671"/>
-                                                                                               <object refID="24485f89a671"/>
-                                                                                               <object refID="24485f8aa671"/>
-                                                                                               <object refID="24485f89a672"/>
-                                                                                               <object refID="24485f8aa672"/>
-                                                                                               <object refID="24485f8ba672"/>
-                                                                                               <object refID="24485f8aa673"/>
-                                                                                               <object refID="24485f8ba673"/>
-                                                                                               <object refID="24485f8ca673"/>
-                                                                                               <object refID="24485f8ba674"/>
-                                                                                               <object refID="24485f8ca674"/>
-                                                                                               <object refID="b1a16838a449"/>
-                                                                                               <object refID="b1a16839a449"/>
-                                                                                               <object refID="495aeddb8b3d"/>
-                                                                                               <object refID="4996716cba8e"/>
-                                                                                               <object refID="8fbb17519b9c"/>
-                                                                                               <object refID="8fbb17529b9c"/>
-                                                                                               <object refID="8fbb17539b9c"/>
-                                                                                               <object refID="8fbb17529b9d"/>
-                                                                                               <object refID="aa3a521fb6bc"/>
-                                                                                               <object refID="aa3a5220b6bc"/>
-                                                                                               <object refID="df3a5220b6bc"/>
-                                                                                               <object refID="aa3a5220b6bc1"/>
-                                                                                               <object refID="f44ca391ab9f"/>
-                                                                                               <object refID="f44ca392ab9f"/>
-                                                                                               <object refID="f44ca393ab9f"/>
-                                                                                               <object refID="f46c2f42ab93"/>
+                                                                                               <object refID="f44fc5b2aba1"/>
+                                                                                               <object refID="f44fc5d5aba1"/>
+                                                                                               <object refID="f44fc608aba1"/>
+                                                                                               <object refID="f44fc63caba2"/>
+                                                                                               <object refID="f44fc640aba2"/>
+                                                                                               <object refID="f44fc645aba2"/>
+                                                                                               <object refID="f44fc648aba2"/>
+                                                                                               <object refID="f44fc64caba2"/>
+                                                                                               <object refID="f44fc654aba2"/>
+                                                                                               <object refID="f44fc67baba3"/>
+                                                                                               <object refID="f44fc683aba3"/>
+                                                                                               <object refID="f44fc687aba3"/>
+                                                                                               <object refID="f44fc68baba3"/>
                                                                                        </visualChildren>
                                                                                </object>
                                                                        </installChildren>
index d44e95c..0749d9a 100644 (file)
@@ -17,7 +17,7 @@
   You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
 -->
 <project name="jalviewInstallAnywhere" default="build" basedir=".">
-  <property name="IA_LOCATION" value="/home/cruisecontrol/Flexera/IA_2012"/>
+  <property name="IA_LOCATION" value="/home/cruisecontrol/InstallAnywhere 2013/"/>
   <property name="IA_PROJECT" location="Jalview.iap_xml"/>
   <property name="ABS_PATH" value="/home/cruisecontrol/jalview"/> <!-- \/utils\/InstallAnywhere"/> --> <!--/home/cruisecontrol/jalview"/> -->
   <!-- location of top level of jalview distribution directory -->
@@ -42,9 +42,9 @@
   <buildinstaller 
      IAlocation="${IA_LOCATION}"
      IAProjectFile="${IA_PROJECT}_reloc.iap_xml"
-     BuildOutputLocation="${DEST_IADIR}"
-     
-/>
+     BuildOutputLocation="${DEST_IADIR}" >
+     <arg value="-nupd"/>
+     </buildinstaller>
  <delete>
        <fileset dir="${CUR_PATH}">
                <include name="mac_logo.icns"/>