Difference between revisions of "Protein Community"

From Jmol
Jump to navigation Jump to search
(Pretty cartoons)
(loading with filter)
(11 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
This subcommunity is for Jmol users that use Jmol for display and analysis of protein structures. Please add on this page your favorite scripts etc. for displaying proteins in Jmol.
 
This subcommunity is for Jmol users that use Jmol for display and analysis of protein structures. Please add on this page your favorite scripts etc. for displaying proteins in Jmol.
 
* [[User:AngelHerraez|Angel Herraez]] page
 
* [[User:AngelHerraez|Angel Herraez]] page
* [[User:EricMartz|Eric Martz]]: [http://bioinformatics.org/firstglance FirstGlance in Jmol] is a simple tool for exploring the structure of any on-line macromolecular model. Protein Explorer exports molecular views into Jmol, see [http://www.molslides.org/ MolSlides.Org]
+
* [[User:EricMartz|Eric Martz]]: [http://bioinformatics.org/firstglance FirstGlance in Jmol] is a simple tool for exploring the structure of any on-line macromolecular model. [http://proteopedia.org Proteopedia.Org] is a Jmol-based wiki with easy Scene-Authoring Tools for creating and sharing customized molecular scenes without learning Jmol language.
 +
 
 +
== Adjusting speed and quality ==
 +
Responsiveness to user interaction and quality of the rendering may be adjusted using several options or parameters in JmolScript. See [[Quality and speed]]
  
 
== Molecular surfaces ==
 
== Molecular surfaces ==
Line 10: Line 13:
 
== Secondary structure ==
 
== Secondary structure ==
 
Starting with versions '''12.0.18 and 12.1.15''', Jmol implements the DSSP algorithm for determination of secondary structure in proteins. This is accompanied by some changes in the defaults and some new commands.
 
Starting with versions '''12.0.18 and 12.1.15''', Jmol implements the DSSP algorithm for determination of secondary structure in proteins. This is accompanied by some changes in the defaults and some new commands.
 +
 +
Starting with Jmol 14.6 the new DSSP 2.0 algorithm is used. This change only affects helices that have bulges, indicating them more appropriately as pi helices rather than alpha helices.
 +
: Rob van der Kant, Gert Vriend (2014) ''Int. J. Mol. Sci.'' '''15''': 7841-7864; doi:10.3390/ijms15057841
 +
: Implemented at http://www.cmbi.ru.nl/dssp.html
 +
: To use DSSP 1.0 instead, you may use <code>calculate structure DSSP 1.0</code>, <code>show DSSP 1.0</code>, <code>load ... filter "DSSP1"</code>
 +
  
 
=== When reading files ===
 
=== When reading files ===
# '''If the {{file|pdb}} or {{file|mmcif}} file contains HELIX/SHEET/TURN information''': that information is respected in '''all''' Jmol versions. In '''new''' Jmol versions, {{file|pdb}} and {{file|mmcif}} readers also read helix types alpha, pi, and 3<sub>10</sub>, and color them slightly differently ([http://jmol.sourceforge.net/jscolors/index.en.html#Secondary%20structure Jmol Colors]).
+
# '''If the {{file|pdb}} or {{file|mmcif}} file contains HELIX/SHEET/TURN information''': that information is respected in '''all''' Jmol versions. In '''new''' Jmol versions, {{file|pdb}} and {{file|mmcif}} readers also read helix types alpha, pi, and 3<sub>10</sub>, and color them slightly differently (see colors below).
 
# '''If the {{file|pdb}} or {{file|mmcif}} file des not contain HELIX/SHEET/TURN information''':  
 
# '''If the {{file|pdb}} or {{file|mmcif}} file des not contain HELIX/SHEET/TURN information''':  
 
#* '''Old''' versions of Jmol used Ramachandran-angle based calculation.  
 
#* '''Old''' versions of Jmol used Ramachandran-angle based calculation.  
Line 25: Line 34:
 
* In '''new''' Jmol versions, calculated using the DSSP method.
 
* In '''new''' Jmol versions, calculated using the DSSP method.
 
Note that, intentionally, Jmol turns off all bioshapes when the <code>calculate structure</code> command is given. So, you will usually want to follow it with <code>cartoons on</code> or something of the sort.
 
Note that, intentionally, Jmol turns off all bioshapes when the <code>calculate structure</code> command is given. So, you will usually want to follow it with <code>cartoons on</code> or something of the sort.
 +
 +
Using the command <code>set structure</code> described [{{ScriptingDoc}}#setstructure here] you can define the minimum and maximum psi values that would be valid for each structure type.
  
 
==== New commands ====
 
==== New commands ====
Line 35: Line 46:
 
* <code>save structure s1</code> (for example) saves in memory the current structure assignment with the internal ID 's1' for later restoring.
 
* <code>save structure s1</code> (for example) saves in memory the current structure assignment with the internal ID 's1' for later restoring.
 
* <code>restore structure s1</code> restores the previously saved assignment.
 
* <code>restore structure s1</code> restores the previously saved assignment.
 +
 +
 +
==== Customization of the Secondary Structure for Regions ====
 +
As described [{{ScriptingDoc}}#structure here], you can can define individual secondary structure elements as well.
 +
Select the portion you want to change first.
 +
For example,
 +
*<code>select 16-31:A; structure HELIX; cartoon on;</code> to define residues 16-31 of chain A as an alpha helix for cartoon style display.
 +
Obviously these adjustments are to be used sparingly as there is often a reason the secondary structure detection methods within Jmol
 +
fail to identify the structure and you don't want to make erroneous assignments.  Often such adjustments may be useful when the structure assignment information
 +
formerly in the file has been removed as result of some processing of the PDB file and the default structure detection results in a secondary structure
 +
that does not perfectly match that defined in the published crystal or NMR structure.
 +
 +
The commands:
 +
* <code>structure HELIX</code>
 +
* <code>structure SHEET</code>
 +
* <code>structure TURN</code>
 +
* <code>structure helix310</code> <---NEED TO VERIFY WORKS.
  
 
=== Selection and coloring ===
 
=== Selection and coloring ===
 +
Atom expressions related to secondary structure:
 +
<table>
 +
<tr>
 +
<th>by name</th>
 +
<th></th>
 +
<th>by index</th>
 +
<th></th>
 +
</tr>
 +
<tr>
 +
<td></td>
 +
<td></td>
 +
<td><code>select structure=-1</code></td>
 +
<td>matches non-protein parts (ligands,...)</td>
 +
</tr>
 +
<tr>
 +
<td></td>
 +
<td></td>
 +
<td><code>select structure=0</code></td>
 +
<td>matches unstructured protein (random coil)</td>
 +
</tr>
 +
<tr>
 +
<td><code>select turn</code></td>
 +
<td>or</td>
 +
<td><code>select structure=1</code></td>
 +
<td>matches turns</td>
 +
</tr>
 +
<tr>
 +
<td><code>select sheet</code></td>
 +
<td>or</td>
 +
<td><code>select structure=2</code></td>
 +
<td>matches beta strands</td>
 +
</tr>
 +
<tr>
 +
<td><code>select helix</code></td>
 +
<td>or</td>
 +
<td><code>select structure=3</code></td>
 +
<td>includes all 3 types of helices</td>
 +
</tr>
 +
<tr>
 +
<td><code>select dna</code></td>
 +
<td>or </td>
 +
<td><code>select structure=4</code></td>
 +
<td>matches DNA</td>
 +
</tr>
 +
<tr>
 +
<td><code>select rna</code></td>
 +
<td>or </td>
 +
<td><code>select structure=5</code></td>
 +
<td>matches RNA</td>
 +
</tr>
 +
<tr>
 +
<td><code>select carbohydrate</code></td>
 +
<td>or</td>
 +
<td><code>select structure=6</code></td>
 +
<td>matches carbohydrates</td>
 +
</tr>
 +
<tr>
 +
<td><code>select helix310</code></td>
 +
<td>or</td>
 +
<td><code>select substructure=7</code></td>
 +
<td>matches 3<sub>10</sub> helices (DSSP code "G"). Example: 2JC9.pdb</td>
 +
</tr>
 +
<tr>
 +
<td><code>select helixAlpha</code></td>
 +
<td>or</td>
 +
<td><code>select substructure=8</code></td>
 +
<td>matches alpha helices (DSSP code "H")</td>
 +
</tr>
 +
<tr>
 +
<td><code>select helixPi</code></td>
 +
<td>or</td>
 +
<td><code>select substructure=9</code></td>
 +
<td>matches pi helices (DSSP code "I").<br>Example: 2JC9.pdb after <code>calculate structure</code></td>
 +
</tr>
 +
</table>
 +
''Note'': it is safe to use <code>substructure</code> for all selection commands. For ex., <code>select substructure=2</code> selects beta strands, but <code>select structure=8</code> selects nothing.
  
* <code>color structure</code> now applies different shades of color to alpha, 3<sub>10</sub> and pi helices ([http://jmol.sourceforge.net/jscolors/index.en.html#Secondary%20structure Jmol Colors]).
+
* <code>color structure</code> now applies different shades of color to alpha, 3<sub>10</sub> and pi helices, in addition to the classic coloring of helices, beta strands, turns and unstructured portions (see colors below).
 
 
* <code>select helix</code> includes all 3 types of helices.
 
* <code>select helixAlpha</code>
 
* <code>select helix310</code> (example: 2JC9.pdb)
 
* <code>select helixPi</code> (example: 2JC9.pdb after <code>calculate structure</code>)
 
* <code>select substructure=7</code> matches DSSP "G", i.e. 3<sub>10</sub> helices, same as <code>select helix310</code>
 
* <code>select substructure=8</code> matches DSSP "H", i.e. alpha helices, same as <code>select helixAlpha</code>
 
* <code>select substructure=9</code> matches DSSP "I", i.e. pi helices, same as <code>select helixPi</code>
 
  
 
* <code>label %[substructure]</code> labels with the texts: helixalpha, helix310, helixpi, sheet, turn, none
 
* <code>label %[substructure]</code> labels with the texts: helixalpha, helix310, helixpi, sheet, turn, none
Line 53: Line 149:
 
* <code>structure helix310</code> ....
 
* <code>structure helix310</code> ....
 
* <code>structure helixPi</code> ....
 
* <code>structure helixPi</code> ....
 +
 +
  
 
=== Reference section ===
 
=== Reference section ===
Line 112: Line 210:
 
  set hermiteLevel 4; set ribbonAspectRatio 12;
 
  set hermiteLevel 4; set ribbonAspectRatio 12;
 
which accelerates rotation (the thickness disappears while manipulating with the mouse)
 
which accelerates rotation (the thickness disappears while manipulating with the mouse)
 +
 +
A new command is equivalent:
 +
  set cartoonFancy on
 +
 +
== Loading part of the model ==
 +
The use of <code>load</code> with the <code>filter</code> option allows that Jmol will only read some atoms from the file. This is useful e.g. to avoid the solvent molecules, to load a single chain, or to accelerate manipulation of large models (trace and cartoon may be rendered with just the Calpha atoms available)
 +
 +
See documentation ([{{ScriptingDoc}}#loadgeneraloptions 1], [{{ScriptingDoc}}#k549 2]) and [[Load/Filter|practical examples]].

Revision as of 14:46, 19 October 2016

Jmol/JSmol Community

This subcommunity is for Jmol users that use Jmol for display and analysis of protein structures. Please add on this page your favorite scripts etc. for displaying proteins in Jmol.

  • Angel Herraez page
  • Eric Martz: FirstGlance in Jmol is a simple tool for exploring the structure of any on-line macromolecular model. Proteopedia.Org is a Jmol-based wiki with easy Scene-Authoring Tools for creating and sharing customized molecular scenes without learning Jmol language.

Adjusting speed and quality

Responsiveness to user interaction and quality of the rendering may be adjusted using several options or parameters in JmolScript. See Quality and speed

Molecular surfaces

documentation and testing page

Secondary structure

Starting with versions 12.0.18 and 12.1.15, Jmol implements the DSSP algorithm for determination of secondary structure in proteins. This is accompanied by some changes in the defaults and some new commands.

Starting with Jmol 14.6 the new DSSP 2.0 algorithm is used. This change only affects helices that have bulges, indicating them more appropriately as pi helices rather than alpha helices.

Rob van der Kant, Gert Vriend (2014) Int. J. Mol. Sci. 15: 7841-7864; doi:10.3390/ijms15057841
Implemented at http://www.cmbi.ru.nl/dssp.html
To use DSSP 1.0 instead, you may use calculate structure DSSP 1.0, show DSSP 1.0, load ... filter "DSSP1"


When reading files

  1. If the File icon.gifpdb or File icon.gifmmcif file contains HELIX/SHEET/TURN information: that information is respected in all Jmol versions. In new Jmol versions, File icon.gifpdb and File icon.gifmmcif readers also read helix types alpha, pi, and 310, and color them slightly differently (see colors below).
  2. If the File icon.gifpdb or File icon.gifmmcif file des not contain HELIX/SHEET/TURN information:
    • Old versions of Jmol used Ramachandran-angle based calculation.
    • New versions of Jmol use DSSP calculation.
  3. In the case of alpha-carbon-only chains, all versions of Jmol use the method of Levitt and Greer (doi).
  4. In new versions of Jmol the calculation based on Ramachandran angles is still available (see below).

Forced recalculation of structure

calculate structure

This command overwrites any secondary structure assignment with a new one:

  • In old Jmol versions, calculated using the Ramachandran method.
  • In new Jmol versions, calculated using the DSSP method.

Note that, intentionally, Jmol turns off all bioshapes when the calculate structure command is given. So, you will usually want to follow it with cartoons on or something of the sort.

Using the command set structure described here you can define the minimum and maximum psi values that would be valid for each structure type.

New commands

  • calculate structure ramachandran is available for forcing the old method of calculation (it may have some advantages in certain contexts). It can be shortened to calculate structure rama.
  • calculate hBonds structure does DSSP determining hydrogen bonds only.
  • set defaultStructureDSSP false will change the defaults of file load and calculate structure to use the Ramachandran method; by default, it is true and uses the DSSP method.
  • set dsspCalculateHydrogenAlways false does DSSP enforcing the use of backbone amide H atoms present in the file; by default, it is true and does standard DSSP, ignoring all backbone amide H atoms present in the file and using rough approximations instead.
  • show dssp displays a report of the DSSP calculation.
  • set debug displays a verbose DSSP calculation.
  • save structure s1 (for example) saves in memory the current structure assignment with the internal ID 's1' for later restoring.
  • restore structure s1 restores the previously saved assignment.


Customization of the Secondary Structure for Regions

As described here, you can can define individual secondary structure elements as well. Select the portion you want to change first. For example,

  • select 16-31:A; structure HELIX; cartoon on; to define residues 16-31 of chain A as an alpha helix for cartoon style display.

Obviously these adjustments are to be used sparingly as there is often a reason the secondary structure detection methods within Jmol fail to identify the structure and you don't want to make erroneous assignments. Often such adjustments may be useful when the structure assignment information formerly in the file has been removed as result of some processing of the PDB file and the default structure detection results in a secondary structure that does not perfectly match that defined in the published crystal or NMR structure.

The commands:

  • structure HELIX
  • structure SHEET
  • structure TURN
  • structure helix310 <---NEED TO VERIFY WORKS.

Selection and coloring

Atom expressions related to secondary structure:

by name by index
select structure=-1 matches non-protein parts (ligands,...)
select structure=0 matches unstructured protein (random coil)
select turn or select structure=1 matches turns
select sheet or select structure=2 matches beta strands
select helix or select structure=3 includes all 3 types of helices
select dna or select structure=4 matches DNA
select rna or select structure=5 matches RNA
select carbohydrate or select structure=6 matches carbohydrates
select helix310 or select substructure=7 matches 310 helices (DSSP code "G"). Example: 2JC9.pdb
select helixAlpha or select substructure=8 matches alpha helices (DSSP code "H")
select helixPi or select substructure=9 matches pi helices (DSSP code "I").
Example: 2JC9.pdb after calculate structure

Note: it is safe to use substructure for all selection commands. For ex., select substructure=2 selects beta strands, but select structure=8 selects nothing.

  • color structure now applies different shades of color to alpha, 310 and pi helices, in addition to the classic coloring of helices, beta strands, turns and unstructured portions (see colors below).
  • label %[substructure] labels with the texts: helixalpha, helix310, helixpi, sheet, turn, none
  • structure helixAlpha ....
  • structure helix310 ....
  • structure helixPi ....


Reference section

  • W. Kabsch, C. Sander (1983) Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers 22: 2577-2637. doi:10.1002/bip.360221211
  • DSSP Home Page: http://swift.cmbi.ru.nl/gv/dssp/
  • M. Levitt, J. Greer (1977) Automatic identification of secondary structure in globular proteins. J. Mol. Biol. 114: 181-239. doi:10.1016/0022-2836(77)90207-8
  • Codes for structure types:
PDB
code
SPSS
code
Jmol codes
substructure and name
right-handed alpha (default) 1 H 8 helixalpha
right-handed omega 2
right-handed pi 3 G 7 helixpi
right-handed gamma 4
right-handed 310 5 I 9 helix310
left-handed alpha 6
left-handed omega 7
left-handed gamma 8
27 ribbon/helix 9
polyproline 10
(beta) strand 0 first
1 parallel
-1 antiparallel
E 2 sheet
turn T 1 turn
isolated beta-bridge residue B
bend S
none (unstructured protein) - 0 none
DNA 4 dna
RNA 5 rna
carbohydrate 6 carbohydrate
other* -1
Helix types in PDB format: columns 39-40 of HELIX record, right-justified.
Strand sense in PDB format: columns 39-40 of SHEET record, right-justified.
(*) Other = not protein, not nucleic, not carbohydrate.

Pretty cartoons

Apply this script to get cartoons with a better-than-default look (it will take some more time to rotate them around):

set hermiteLevel -4; set ribbonAspectRatio 12;

or

set hermiteLevel 4; set ribbonAspectRatio 12;

which accelerates rotation (the thickness disappears while manipulating with the mouse)

A new command is equivalent:

 set cartoonFancy on

Loading part of the model

The use of load with the filter option allows that Jmol will only read some atoms from the file. This is useful e.g. to avoid the solvent molecules, to load a single chain, or to accelerate manipulation of large models (trace and cartoon may be rendered with just the Calpha atoms available)

See documentation (1, 2) and practical examples.