From 6d882bd2c72c5fe9e8d0a8eb9df4de7a86bbc773 Mon Sep 17 00:00:00 2001
From: gmungoc
Date: Fri, 11 May 2018 12:29:53 +0100
Subject: [PATCH] JAL-2629 update spike branch to latest
---
.classpath | 1 +
THIRDPARTYLIBS | 2 +
help/help.jhm | 1 +
help/helpTOC.xml | 2 +
help/html/features/chimera.html | 59 +-
help/html/features/jmol.html | 14 +-
help/html/features/preferences.html | 2 +-
help/html/features/schooser_enter-id.png | Bin 29766 -> 23685 bytes
help/html/features/schooser_main.png | Bin 58895 -> 166751 bytes
help/html/features/structurechooser.html | 30 +-
help/html/features/viewingpdbs.html | 57 +-
help/html/menus/desktopMenu.html | 2 +-
help/html/releases.html | 133 +-
help/html/whatsNew.html | 31 +-
lib/VAqua4.jar | Bin 0 -> 1355141 bytes
resources/lang/Messages.properties | 16 +-
resources/lang/Messages_es.properties | 5 -
schemas/jalview.xsd | 5 +
src/MCview/PDBChain.java | 34 +-
.../api/structures/JalviewStructureDisplayI.java | 56 +
src/jalview/bin/Jalview.java | 16 +
src/jalview/datamodel/HiddenMarkovModel.java | 6 +-
src/jalview/datamodel/SearchResults.java | 5 +-
src/jalview/datamodel/Sequence.java | 18 +-
src/jalview/ext/jmol/JalviewJmolBinding.java | 53 +-
src/jalview/fts/core/FTSRestClient.java | 3 +-
src/jalview/gui/AlignFrame.java | 19 +-
src/jalview/gui/AnnotationColourChooser.java | 7 +
src/jalview/gui/AnnotationRowFilter.java | 15 +-
src/jalview/gui/AppJmol.java | 88 +-
src/jalview/gui/ChimeraViewFrame.java | 118 +-
src/jalview/gui/Desktop.java | 37 +
src/jalview/gui/JDatabaseTree.java | 17 +-
src/jalview/gui/Jalview2XML.java | 257 ++-
src/jalview/gui/OptsAndParamsPage.java | 51 +-
src/jalview/gui/PCAPanel.java | 11 +-
src/jalview/gui/SeqPanel.java | 9 +
src/jalview/gui/SequenceFetcher.java | 14 +-
src/jalview/gui/StructureChooser.java | 204 +-
src/jalview/gui/StructureViewer.java | 93 +-
src/jalview/gui/StructureViewerBase.java | 187 +-
src/jalview/gui/WsParamSetManager.java | 20 +-
src/jalview/hmmer/HMMBuild.java | 12 +
src/jalview/hmmer/HMMERParamStore.java | 101 +-
src/jalview/hmmer/HMMSearch.java | 109 +-
src/jalview/io/HMMFile.java | 1 -
src/jalview/jbgui/GStructureChooser.java | 196 +-
src/jalview/schemabinding/version2/JSeq.java | 2121 ++++++++++----------
.../version2/descriptors/JSeqDescriptor.java | 1246 ++++++------
src/jalview/structure/StructureMapping.java | 116 +-
.../structure/StructureSelectionManager.java | 22 +-
src/jalview/util/MapList.java | 13 +-
src/jalview/workers/InformationThread.java | 4 +
.../ws/params/simple/LogarithmicParameter.java | 15 +-
.../ws/params/simple/StringChoiceParameter.java | 18 +
src/jalview/ws/params/simple/StringParameter.java | 72 +-
test/MCview/PDBChainTest.java | 20 +-
test/jalview/datamodel/SequenceTest.java | 78 +-
.../datamodel/features/FeatureAttributesTest.java | 4 +-
test/jalview/ext/jmol/JmolViewerTest.java | 110 +-
test/jalview/gui/StructureChooserTest.java | 11 +-
test/jalview/io/Jalview2xmlTests.java | 85 +-
test/jalview/structure/StructureMappingTest.java | 81 +-
test/jalview/util/MapListTest.java | 2 +
utils/InstallAnywhere/Jalview.iap_xml | 54 +
65 files changed, 3554 insertions(+), 2635 deletions(-)
create mode 100644 lib/VAqua4.jar
diff --git a/.classpath b/.classpath
index f4b8cf8..0cdc4b9 100644
--- a/.classpath
+++ b/.classpath
@@ -48,6 +48,7 @@
+
diff --git a/THIRDPARTYLIBS b/THIRDPARTYLIBS
index e0be904..e2baa85 100644
--- a/THIRDPARTYLIBS
+++ b/THIRDPARTYLIBS
@@ -49,6 +49,8 @@ jfreesvg-2.1.jar : GPL v3 licensed library from the JFree suite: http://www.jfre
quaqua: v.8.0 (latest stable) by Randel S Hofer. LGPL and BSD Modified license: downloaded from http://www.randelshofer.ch/quaqua/
+vaqua: v4 (latest stable) by Alan Snyder et al. GPLv2 with Classpathe xception, also includes contributions from Quaqua: ownloaded from http://violetlib.org/vaqua/overview.html
+
lib/htsjdk-1.120-SNAPSHOT.jar: (currently not required for 2.10) built from maven master at https://github.com/samtools/htsjdk MIT License to Broad Institute
lib/biojava-core-4.1.0.jar LGPLv2.1 - latest license at https://github.com/biojava/biojava/blob/master/LICENSE
diff --git a/help/help.jhm b/help/help.jhm
index 506b3f3..4ea119c 100755
--- a/help/help.jhm
+++ b/help/help.jhm
@@ -54,6 +54,7 @@
+
diff --git a/help/helpTOC.xml b/help/helpTOC.xml
index 71b7ef9..ca86625 100755
--- a/help/helpTOC.xml
+++ b/help/helpTOC.xml
@@ -24,6 +24,8 @@
+
+
diff --git a/help/html/features/chimera.html b/help/html/features/chimera.html
index 68ac465..e1227de 100644
--- a/help/html/features/chimera.html
+++ b/help/html/features/chimera.html
@@ -211,41 +211,32 @@
structure in the alignment. The regions used to calculate
the superposition will be highlighted using the 'Cartoon'
rendering style, and the remaining data shown as a chain
- trace.
+ trace.
+
- EXPERIMENTAL FEATURES
-
- These are only available if the Tools→Enable
- Experimental Features option is enabled. (Since Jalview 2.10.2)
-
- - Write Jalview features
Selecting
- this option will create new residue attributes for any
- features currently visible in the associated alignment
- views, allowing those positions to be selected and
- analysed with via Chimera's 'Render by Attribute' tool
- (found in the Tools submenu called Structure Analysis).
-
If you use this option, please remember to select
- the Refresh Menus option in Chimera's Render by
- Attribute dialog box in order to see the attributes
- derived from Jalview sequence features.
-
- View
- this function's issue in Jalview's bug tracker
- - Fetch Chimera Attributes
This
- submenu lists available Chimera residue attributes that
- can be imported as Jalview features on associated
- sequences.
This is particularly useful for
- transferring quantitative positional annotation. For
- example, structure similarity for an alignment can be
- visualised by transferring the local RMSD attributes
- generated by Chimera's Match->Align tool onto aligned
- sequences and displayed with a Graduated feature colour
- scheme.
- View
- this function's issue in Jalview's bug tracker
-
- Help
+ Write Jalview
+ features
Selecting this option will create
+ new residue attributes for any features currently visible in
+ the associated alignment views, allowing those positions to
+ be selected and analysed with via Chimera's 'Render by
+ Attribute' tool (found in the Tools submenu called Structure
+ Analysis).
If you use this option, please
+ remember to select the Refresh Menus option in
+ Chimera's Render by Attribute dialog box in order to see the
+ attributes derived from Jalview sequence features.
+
+ Fetch Chimera Attributes
This
+ submenu lists available Chimera residue attributes that can
+ be imported as Jalview features on associated sequences.
This
+ is particularly useful for transferring quantitative
+ positional annotation. For example, structure similarity for
+ an alignment can be visualised by transferring the local
+ RMSD attributes generated by Chimera's Match->Align tool
+ onto aligned sequences and displayed with a Graduated feature colour
+ scheme.
+
+ Help
- Chimera Help
diff --git a/help/html/features/jmol.html b/help/html/features/jmol.html
index 0cd6168..ac2489b 100644
--- a/help/html/features/jmol.html
+++ b/help/html/features/jmol.html
@@ -61,16 +61,10 @@
-->
Superposing structures based on
- their aligned sequences
If several structures are
- available on the alignment, you may add additional structures to an
- existing Jmol view by selecting their entry in the appropriate
- pop-up menu. Jalview will ask you if you wish to add the structure
- to the existing alignment, and if you do, it will import and
- superimpose the new PDB file using the corresponding positions from
- the alignment. If the alignment is subsequently edited, you can use
- the Jmol→Align menu option from
- the menu bar of the structure view window to superpose the
- structures using the updated alignment.
Sequence
+ their aligned sequences
If several structures are shown
+ in a view, you can superimpose them using the corresponding
+ positions from the alignment via the Jmol→Align
+ menu option from the menu bar of the structure view window.
Sequence
based structure superposition was added in Jalview 2.6
diff --git a/help/html/features/preferences.html b/help/html/features/preferences.html
index 533af5c..5bca358 100755
--- a/help/html/features/preferences.html
+++ b/help/html/features/preferences.html
@@ -369,7 +369,7 @@
and PDB file association (if available). The Jalview id/start-end
option is ignored if Modeller output is selected.
- e"Editinge" Preferences tab
+ "Editing" Preferences tab
There are currently three options available which can be
selected / deselected.
diff --git a/help/html/features/schooser_enter-id.png b/help/html/features/schooser_enter-id.png
index f551c500ec9b35a6c7885009da4d8d73bebd556a..4af0d5378fa74fd55dea3c3e52c290f899f29bcc 100644
GIT binary patch
literal 23685
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