#492 Bug in secondary prediction

Applet (71)

Jmol seems to have a problem with some secondary structure prediction.
Some amino acids represented in turn in some molecular graphic software (Pymol, Chimera, Rasmol, VMD...) are represented in beta sheet in Jmol.
You can see it in attachment.
I think it is a bug. How can I fix it ?


  • Bob Hanson

    Bob Hanson - 2010-09-15

    please upload the PDB file.

  • lili35

    lili35 - 2010-09-15
  • lili35

    lili35 - 2010-09-15

    It's done !

  • Bob Hanson

    Bob Hanson - 2010-09-16

    This is not a bug. Usually Jmol uses the HELIX and SHEET designations in the PDB file, but this file has no header, so Jmol is doing the calculation itself. That calculation is simply:

    private static boolean isSheet(float psi, float phi) {
    ( (phi >= -180) && (phi <= -10) && (psi >= 70) && (psi <= 180) ) ||
    ( (phi >= -180) && (phi <= -45) && (psi >= -180) && (psi <= -130) ) ||
    ( (phi >= 140) && (phi <= 180) && (psi >= 90) && (psi <= 180) );

    In this case we have for phi/psi:

    GLU29 -75.46 -41.95
    ASN30 -111.74 70.29 *
    ILE31 -94.93 109.93 *
    PRO32 -52.12 166.21 *

    so 30-32 are being tagged as sheet. I'm sure the other programs are using hydrogen bonding.

    If you don't like it, use in this case

    structure none {30-32}
    cartoons on


  • Nobody/Anonymous

    It may not be a bug - as you point out, the torsions are 'strand like' - but isolated segments like this are definitely not sheets. A sheet has at least two strands, hbonded to each other. In fact, this stretch of chain is something like a poly-proline helix conformation, I think.

  • lili35

    lili35 - 2010-09-17

    Thanks for your help.
    On my website, I will use Jmol to visualize hundred of models like this. So manually disable structure is not easier.
    I prefer reduce phi / psi angle allowed in the function 'isSheet' and create my own JmolApplet. I do this, it works but I can't build the Applet with build.xml. I work on a Mac OS 10.6.4 and Eclipse Helios (3.6).
    I have this error message :

    Buildfile: ~/Documents/workspace/Jmol/build.xml
    [taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.

    ~/Documents/workspace/Jmol/build.xml:54: Cannot find tools/build-i18n.xml imported from ~/Documents/workspace/Jmol/build.xml

    Can you help me again ? ;-)

  • Bob Hanson

    Bob Hanson - 2010-09-17

    I do hate to see you create an all new applet just for this. Why don't we make it adjustable?

  • Bob Hanson

    Bob Hanson - 2010-09-17

    12.1.15 -- I've added

    structure SHEET set [-180,-40, 50, 80, -160, -30, 60, 90] # nonsense numbers here.

    meaning "define SHEET to be phi>=-180 and phi <=-40 and psi >= 50 and psi < 80 OR phi >=-160 and phi <=-30 and psi >=60 and psi <= 90"

    similar --- structure HELIX... structure TURN....

    I realize this does not solve the issue that strands are not sheets, but it is what I propose for now. Ages ago Jmol did attempt to use hydrogen bonding to identify sheets, but this was only for intra-strand sheets, which was not very satisfactory. We could still do something along those lines, but really it is so rarely the issue -- mostly we use PDB files that have all this defined already -- and the calculation is fairly involved to get all the hydrogen bonds.



  • Bob Hanson

    Bob Hanson - 2010-09-17

    should be "<= 80" there....

  • Bob Hanson

    Bob Hanson - 2010-09-19

    OK, this is available now on SVN. Jmol 12.1.13. It came out "set structure" not "structure set" Really we weren't intending anything too complicated here, but if you think this would be useful, that would be fine; if not, that's fine, too. Nice to have it out there and customizable anyway. -- Bob

    set structure HELIX|SHEET|TURN [phi-psi ranges]

    Ideally, PDB files will contain header information relating to helix, sheet, or turn locations. When this information is not present, or when the calculate structure command is given, Jmol uses an admittedly crude Ramachandran angle range check to determine structure type. The set STRUCTURE command allows setting those Ramachandran angle ranges for helix, sheet, and turn. [phi-psi range] is a set of angles in groups of four. Each group of four numbers includes the minimum and maximum phi values followed by the minimum and maximum psi values that would be valid for this structure type. For example, set structure HELIX [-160, 0, -100, 45] sets "helix" to be defined as phi >= -160 and phi <= 0 and psi >= -100 and psi <= 45 (the Jmol default). The default setting for sheet (really just a strand, since we are not requiring cross-strand hydrogen bonding) and turn are set SHEET [-180, -10, 70, 180, -180, -45, -180, -130, 140, 180, 90, 180]; set TURN [30, 90, -15, 95]. It is recommended that this command be followed immediately with calculate structure;cartoons only. (Jmol 12.1.13)

  • lili35

    lili35 - 2010-09-20

    I download last version available : 12.1.12 not 12.1.13.
    When I try 'set structure SHEET[-180, -10, 70, 180]', it don't recognize command :
    Script compiler ERROR: unrecognised SET parameter: : structure
    I also try 'set SHEET [-180, -10, 70, 180]', same error.

  • Bob Hanson

    Bob Hanson - 2010-10-10

    Jmol 12.1.16 has a full implementation of DSSP. You can pick up a copy at http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol-12.zip

    calculate structure

    now uses legitimate, official DSSP.

    There are a few nuances with alternative locations, but they can all be worked around, and you can use

    configuration 1
    configuration 2

    to run DSSP analysis on different alt-loc configurations.

    The analysis has been tested against the 1769 models in the first data set at http://dunbrack.fccc.edu/Guoli/pisces_download.php and found to be identical to the CMBI DSSP results.

    Thanks go to Gert Vriend for this wonderful contribution to Jmol.

  • Nicolas

    Nicolas - 2010-11-22
    • assigned_to: migueljmol --> hansonr
  • Bob Hanson

    Bob Hanson - 2010-11-22
    • status: open --> closed-fixed

Log in to post a comment.