--- /dev/null
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+import java.awt.Color
+import jalview.schemes.ColourSchemeI
+import jalview.schemes.ColourSchemes
+import jalview.datamodel.AnnotatedCollectionI
+import jalview.datamodel.SequenceI
+import jalview.datamodel.SequenceCollectionI
+import jalview.util.Comparison
+
+/*
+ * Closure that defines a colour scheme where fully conserved residues are red,
+ * partly conserved (match consensus but < 100% consensus) are yellow,
+ * unconserved and gaps are white
+ */
+def conserved
+conserved = { ->
+ [
+ /*
+ * name shown in the colour menu
+ */
+ getSchemeName: { -> 'Conserved' },
+
+ /*
+ * to make a new instance for each alignment view
+ */
+ getInstance: { AnnotatedCollectionI coll, Map<SequenceI, SequenceCollectionI> map -> conserved() },
+
+ /*
+ * method only needed if colour scheme has to recalculate
+ * values when an alignment is modified
+ */
+ alignmentChanged: { AnnotatedCollectionI coll, Map<SequenceI, SequenceCollectionI> map -> },
+
+ /*
+ * determine colour for a residue at an aligned position of a
+ * sequence, given consensus residue(s) for the column and the
+ * consensus percentage identity score for the column
+ */
+ findColour: { char res, int col, SequenceI seq, String consensus, float pid ->
+ if ('a' <= res && res <= 'z')
+ {
+ res -= ('a' - 'A');
+ }
+ if (Comparison.isGap(res) || !consensus.contains(String.valueOf(res)))
+ {
+ Color.white
+ } else if (pid < 100)
+ {
+ Color.yellow
+ } else
+ {
+ Color.red
+ }
+ },
+
+ /*
+ * true means applicable to nucleotide or peptide data
+ */
+ isApplicableTo: {AnnotatedCollectionI coll -> true},
+
+ /*
+ * simple colour schemes are those that depend on the residue
+ * only (these are also available to colour structure viewers)
+ */
+ isSimple: { false }
+ ] as ColourSchemeI
+}
+
+ColourSchemes.instance.registerColourScheme(conserved())
--- /dev/null
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
+import java.awt.Color
+import jalview.schemes.ColourSchemeI
+import jalview.schemes.ColourSchemes
+import jalview.datamodel.AnnotatedCollectionI
+import jalview.datamodel.SequenceI
+import jalview.datamodel.SequenceCollectionI
+import jalview.util.Comparison
+
+/*
+ * Closure that defines a colour scheme where non-consensus residues are pink,
+ * other residues (and gaps) are white
+ */
+def unconserved
+unconserved = { ->
+ [
+ /*
+ * name shown in the colour menu
+ */
+ getSchemeName: { -> 'Unconserved' },
+
+ /*
+ * to make a new instance for each alignment view
+ */
+ getInstance: { AnnotatedCollectionI coll, Map<SequenceI, SequenceCollectionI> map -> unconserved() },
+
+ /*
+ * method only needed if colour scheme has to recalculate
+ * values when an alignment is modified
+ */
+ alignmentChanged: { AnnotatedCollectionI coll, Map<SequenceI, SequenceCollectionI> map -> },
+
+ /*
+ * determine colour for a residue at an aligned position of a
+ * sequence, given consensus residue(s) for the column and the
+ * consensus percentage identity score for the column
+ */
+ findColour: { char res, int col, SequenceI seq, String consensus, float pid ->
+ if ('a' <= res && res <= 'z')
+ {
+ res -= ('a' - 'A');
+ }
+ if (Comparison.isGap(res) || consensus.contains(String.valueOf(res)))
+ {
+ Color.white
+ } else
+ {
+ Color.pink
+ }
+ },
+
+ /*
+ * true means applicable to nucleotide or peptide data
+ */
+ isApplicableTo: {AnnotatedCollectionI coll -> true},
+
+ /*
+ * simple colour schemes are those that depend on the residue
+ * only (these are also available to colour structure viewers)
+ */
+ isSimple: { false }
+ ] as ColourSchemeI
+}
+
+ColourSchemes.instance.registerColourScheme(unconserved())
<mapID target="home" url="html/index.html" />
<mapID target="new" url="html/whatsNew.html"/>
- <mapID target="release" url="html/releases.html#Jalview.2.10.1"/>
+ <mapID target="release" url="html/releases.html#Jalview.2.10.2"/>
<mapID target="alannotation" url="html/features/annotation.html"/>
<mapID target="keys" url="html/keys.html"/>
<mapID target="newkeys" url="html/features/newkeystrokes.html"/>
<mapID target="memory" url="html/memory.html" />
<mapID target="groovy" url="html/features/groovy.html" />
+ <mapID target="groovy.colours" url="html/features/groovy.html#groovyColours" />
<mapID target="groovy.featurescounter" url="html/groovy/featuresCounter.html" />
<mapID target="privacy" url="html/privacy.html" />
<mapID target="vamsas" url="html/vamsas/index.html"/>
<tocitem text="What's new" target="new" expand="true">
<tocitem text="Latest Release Notes" target="release"/>
<tocitem text="Groovy Features Counter example" target="groovy.featurescounter"/>
+ <tocitem text="Custom Colourschemes in Groovy" target="groovy.colours"/>
<tocitem text="Omit hidden regions in Overview" target="overview"/>
- <tocitem text="Split Frame View" target="splitframe.mirrorfonts" />
+ <tocitem text="identifers.org for URL Links" target="linksprefs" />
+ <tocitem text="New features in Split Frame View" target="splitframe.mirrorfonts" />
</tocitem>
<tocitem text="Editing Alignments" target="edit" />
</tocitem>
<tocitem text="Viewing RNA structures" target="varna" expand="false"/>
<tocitem text="Opening URLs from Jalview" target="urllinks" expand="true">
- <tocitem text="Configuring URL Links" target="linkspref" />
+ <tocitem text="Configuring URL Links" target="linksprefs" />
</tocitem>
<tocitem text="VAMSAS Data Exchange" target="vamsas">
<!-- what can Jalview share with other apps -->
href="../groovy/featuresCounter.html">featuresCounter.groovy</a>
example for more information.
</p>
+ <p><a name="groovyColours"/>
+ <em>Creating custom colourschemes</em><br/>
+ You can create your own alignment colourschemes with a groovy script. We've provided two examples:<br/>
+ <ul>
+ <li><a href="http://www.jalview.org/examples/groovy/colourConserved.groovy">colourConserved.groovy</a> creates an 'Conserved' colourscheme - similar to the classic <a href="http://www.nrbsc.org/old/gfx/genedoc/">GeneDOC</a> shading model.</li>
+ <li><a href="http://www.jalview.org/examples/groovy/colourUnconserved.groovy">colourUnconserved.groovy</a> creates an 'Unconserved' colourscheme, where any unconserved residues are coloured pink.</li>
+
+ </ul>
+ </p>
</body>
</html>
The <em>Custom only</em> button limits the entries in the table to
just those you have configured yourself <em>via</em> the <em>Edit
Links</em> buttons. Press <em>Show all</em> to clear any filters.
- <p>
+ </p>
+ <p>The links table is prepoulated with persistent URLs for many common
+ bioinformatics databases (since 2.10.2). These links are downloaded by Jalview from
+ the <em>identifiers.org</em> website, and the names and URLs are not
+ user editable.
<a href="../webServices/urllinks.html#urllinks">Read more about configuring
URL links.</a>
</p>
-->
<head>
<title>Release History</title>
+<style>
+ul {
+ /* remove bullets, narrower indent */
+ list-style-type: none;
+ margin:0;
+ padding-left: 10px;
+ padding-bottom: 4px;
+}
+
+li {
+ /* separate the items from eachother */
+ margin-left: -3px;
+ padding-bottom: 3px;
+ padding-left: 6px;
+}
+li:before {
+ /* doesnt get processed in javahelp */
+ content: '\00b7 ';
+ padding: 3px;
+ margin-left: -14px;
+}
+
+</style>
</head>
<body>
<p>
<tr>
<td width="60" nowrap>
<div align="center">
+ <strong><a name="Jalview.2.10.2">2.10.2</a><br />
+ <em>30/5/2017</em></strong>
+ </div>
+ </td>
+ <td><div align="left">
+ <em>General</em>
+ <ul>
+ <li><!-- JAL-2360,JAL-2371, -->More robust colours and shader model for alignments and groups</li>
+ <li><!-- JAL-384 -->Custom shading schemes created via groovy scripts</li>
+ <li><!-- JAL-2314, -->Test suite expanded and debugged (over 940 functional unit tests, only 3 failing due to ongoing work!)
+ </ul>
+ <em>Application</em>
+ <ul>
+ <li><!-- --></li>
+ <li><!-- JAL-1596 -->Faster Chimera/Jalview communication by file-based command exchange</li>
+ <li><!-- JAL-2316, -->URLs for viewing database cross-references provided by identifiers.org and the EMBL-EBI's MIRIAM DB</li>
+
+ </ul>
+ <em>Applet</em>
+ <ul>
+ <li><!-- --></li>
+ </ul>
+ </div></td><td><div align="left">
+ <em>General</em>
+ <ul>
+ <li>
+ <!-- JAL-2398, -->Fixed incorrect value in BLOSUM 62 score
+ matrix - C->R should be '3'<br />Old matrix restored with
+ this one-line groovy script:<br />jalview.schemes.ResidueProperties.BLOSUM62[4][1]=3
+ </li>
+ <li>
+ <!-- JAL-2397 -->Fixed Jalview's treatment of gaps in PCA
+ and substitution matrix based Tree calculations.<br />In
+ earlier versions of Jalview, gaps matching gaps were
+ penalised, and gaps matching non-gaps penalised even more.
+ In the PCA calculation, gaps were actually treated as
+ non-gaps - so different costs were applied, which mean't
+ Jalview's PCAs were different to those produced by
+ SeqSpace.<br />Jalview now treats gaps in the same way as
+ SeqSpace (ie it scores them as 0). To restore pre-2.10.2
+ behaviour<br />
+ jalview.viewmodel.PCAModel.scoreGapAsAny=true // for
+ 2.10.1 mode<br />
+ jalview.viewmodel.PCAModel.scoreGapAsAny=false // to
+ restore 2.10.2 mode
+ </li>
+ <li><!-- JAL-2346 -->Reopening Colour by annotation dialog doesn't reselect a specific sequence's associated annotation after it was used for colouring a view</li>
+ <li><!-- JAL-2430 -->Hidden regions in alignment views are not coloured in linked structure views</li>
+ <li><!-- JAL-2419 -->Current selection lost if popup menu opened on a region of alignment without groups</li>
+ <li><!-- JAL-2374 -->Popup menu not always shown for regions of an alignment with overlapping groups</li>
+ <li><!-- JAL-2310 -->Finder double counts if both a sequence's name and description match</li>
+ <li><!-- JAL-2370 -->Hiding column selection containing two hidden regions results in incorrect hidden regions</li>
+ <li><!-- JAL-2377 -->PCA calculation could hang when generating output report when working with highly redundant alignments</li>
+ <li><!-- JAL-2365 -->Cannot configure feature colours with lightGray or darkGray via features file</li>
+ <li><!-- JAL-2421 -->Overview window visible region moves erratically when hidden rows or columns are present</li>
+ <li><!-- JAL-2362 -->Per-residue colourschemes applied via the Structure Viewer's colour menu don't correspond to sequence colouring</li>
+ <li><!-- JAL-2405 -->Protein specific colours only offered in colour and group colour menu for protein alignments</li>
+ <li><!-- JAL-2386 -->'Apply to all groups' setting when changing colour does not apply Conservation slider value to all groups</li>
+ <li><!-- JAL-2385 -->Colour threshold slider doesn't update to reflect currently selected view or group's shading thresholds</li>
+ <li><!-- JAL-2373 -->Percentage identity and conservation menu items do not show a tick or allow shading to be disabled</li>
+ <li><!-- JAL-2385 -->Conservation shading or PID threshold lost when base colourscheme changed if slider not visible</li>
+ </ul>
+ <em>Application</em>
+ <ul>
+ <li><!-- JAL-2401 -->Easier creation of colours for all 'Lower case' residues (button in colourscheme editor debugged and new documentation and tooltips added)</li>
+ <li><!-- JAL-2399-->Text colour threshold's 'Cancel' button doesn't restore group-specific text colour thresholds</li>
+ <li><!-- JAL-2243 -->Feature settings panel does not update as new features are added to alignment</li>
+ <li><!-- JAL-2436 -->Structure viewer's View -> Colour By view selection menu changes colours of alignment views</li>
+ <li><!-- JAL-2366 -->Proxy server address and port always appear enabled in Preferences->Connections</li>
+ <li><!-- JAL-2426 -->Spurious exceptions in console raised from alignment calculation workers after alignment has been closed</li>
+ <li><!-- JAL-1608 -->Typo in selection popup menu - Create groups now 'Create Group'</li>
+ <li><!-- JAL-1608 -->CMD/CTRL and G or Shift G for Create/Undefine group doesn't always work</li>
+ <li><!-- JAL-2464 -->Tree Viewer's Print Dialog doesn't get shown again after pressing 'Cancel'</li>
+ <li><!-- JAL-2461 -->DAS registry not found exceptions removed from console output</li>
+ <li><!-- JAL-2383 -->Above PID colour threshold not recovered when alignment view imported from project</li>
+
+ </ul>
+ <em>Applet</em>
+ <ul>
+ <li><!-- JAL-2442 -->Features not rendered as transparent on overview or linked structure view</li>
+ <li><!-- JAL-2372 -->Colour group by conservation doesn't work (since 2.8)</li>
+ </ul>
+ <em>New Known Issues</em>
+ <ul>
+ <li></li>
+ </ul>
+
+ </div>
+ <tr>
+ <td width="60" nowrap>
+ <div align="center">
<strong><a name="Jalview.2.10.1">2.10.1</a><br />
<em>29/11/2016</em></strong>
</div>
<!--JAL-2332 -->Attempting to view structure for Hen
lysozyme results in a PDB Client error dialog box
</li>
+ <li>
+ <!-- JAL-2319 -->Structure View's mapping report switched ranges for PDB and sequence for SIFTS</li>
+ <!-- JAL-2319 -->SIFTS 'Not_Observed' residues mapped to non-existant coordindate data</li>
</ul>
<!-- <em>New Known Issues</em>
<ul>
<em>Adding additional links</em><br /> You can configure your own
links via the Jalview <a href="../features/preferences.html#links"><strong>Preferences</strong></a>
dialog. Jalview also provides persistent URLs for many common
- bioinformatics databases. These links are downloaded by Jalview from
+ bioinformatics databases (since 2.10.2). These links are downloaded by Jalview from
the <em>identifiers.org</em> website, and the names and URLs are not
user editable.
</p>
<p>
- <em>Creating your own URL link</em> URL links are specified as a
+ <em>Creating your own URL link</em> <br/>URL links are specified as a
template containing special tokens that Jalview will replace with
the Sequence ID or Database Accession of the sequence when you
double click on its ID or open it's <strong>Link</strong> submenu.
Swissprot = http://www.expasy.org/uniprot/$SEQUENCE_ID$ <br> </pre>
<p>
Links will also be made for any database cross references associated
- with the sequence where the database name exactly matches a URL link
- name. In this case, the $DB_ACCESSION$ string will be replaced with
+ with the sequence for any link templates whose name begins with the database name.
+ In this case, the $DB_ACCESSION$ string will be replaced with
the accession string for the database cross-reference, rather than
the sequence ID for the sequence (<em>since Jalview 2.10.1</em>).
+ <br /> <em>For example: to create a link for viewing MACiE records
+ from PDB Entries, create a new custom link entry with the name
+ "PDB in MACiE", and link URL template:
+ <pre>https://www.ebi.ac.uk/thornton-srv/databases/cgi-bin/MACiE/index.pl?query_pdb=1&pdb=$DBACCESSION$</pre>
+ <br />The sequence ID popup menu for seuqences with a PDB entry
+ will now show 'PDB in MACiE|1xyz..' links in the <strong>links</strong>
+ submenu.
+ </em>
</p>
<p>
<strong><a name="warning">Warning dialog about updating
</head>
<body>
<p>
- <strong>What's new in Jalview 2.10.1 ?</strong>
+ <strong>What's new in Jalview 2.10.2 ?</strong>
</p>
<p>
- Jalview 2.10.1 was released on 29th November 2016. Full details are
- in the <a href="releases.html#Jalview.2.10.1">Jalview 2.10.1
- Release Notes</a>, but the highlights are below. This is also the
- first release to include contributions from Kira Mourão, who
- joined Jalview's core development team in October 2016.
- </p>
+ Full details about Jalview 2.10.2 are in the <a href="releases.html#Jalview.2.10.2">
+ Release Notes</a>, but the highlights are below.</p>
<ul>
- <li><strong>More memory efficient</strong><br />We've slimmed
- down the consensus analysis data structures used by Jalview so
- even wider alignments can be worked with.</li>
- <li><strong>Select highlighted region</strong><br />Press 'B'
- or use the new menu option in the alignment window's Select menu
- to mark columns containing highlighted regions generated from
- structure selections, mouse-overs, or resulting from a Find
- operation.</li>
- <li><strong>New custom link mechanism for opening URLs
- for database cross references.</strong><br /> If you have customised URL
- links in your Jalview preferences, then you may already have seen
- the <a href="#warning"> warning dialog (see below).</a></li>
- <li><strong>New command line export option for BioJS
- MSAviewer</strong><br />A number of small bugs with the HTML export
- functions from the Jalview desktop were also fixed.</li>
- <li><strong>Small but significant changes to the
- physicochemical properties and consensus calculations</strong><br />Threonine
- is no longer considered a non-hydrophobic residue in the protein
- conservation calculation, and minor bugs addressed in PID and
- consensus colouring.</li>
- <li><strong>Correct display of disulphide bond
- features</strong><br /> In linked structure views, Jalview would
- highlight all residues between in addition to the two linked
- cysteines. The 'select columns by feature' function in the feature
- settings would also select all intermediate columns.
+ <li>
+ <li>New preferences for <a href="webServices/urllinks.html">opening web pages for database cross-references</a> via the UK Elixir's EMBL-EBI's MIRIAM database and identifiers.org services.</li>
</ul>
- <p>
- <strong><a name="warning">Warning dialog about updating
- your configured URL links</a></strong><br /> In the desktop prior to Jalview
- 2.10.1, the only way to configure custom links for a particular
- database cross-reference for a sequence was to give it a name that <em>exactly</em>
- matched the database source, and a regular expression for filtering
- out any spurious matches generated when the custom linked was tested
- against the Sequence's ID string. Since the introduction of the
- $DB_ACCESSION$ token, however, $SEQUENCE_ID$ will not be used for
- database cross-reference accession strings, and if you have custom
- links configured, Jalview will raise a warning message so let you
- know that you may need to update your links to use $DB_ACCESSION$.
- </p>
</body>
</html>