Ah, yes. Forgot to mention that. There's a new atom property called
"substructure" :

print {*.ca}.substructure.all # numbers 0 through 8
select substructure=7         # just the 3/10 helices
select {*.ca}; label %[substructure]  # words "helix", "helix310", "helixpi"

key:

  public final static byte PROTEIN_STRUCTURE_NONE = 0;
  public final static byte PROTEIN_STRUCTURE_TURN = 1;
  public final static byte PROTEIN_STRUCTURE_SHEET = 2;
  public final static byte PROTEIN_STRUCTURE_HELIX = 3;
  public final static byte PROTEIN_STRUCTURE_DNA = 4;
  public final static byte PROTEIN_STRUCTURE_RNA = 5;
  public final static byte PROTEIN_STRUCTURE_CARBOHYDRATE = 6;
  public final static byte PROTEIN_STRUCTURE_HELIX_310 = 7;
  public final static byte PROTEIN_STRUCTURE_HELIX_PI = 8;


**** HOWEVER *** I see a problem there and am changing that to:

  public final static byte PROTEIN_STRUCTURE_HELIX_310 = 7;
  public final static byte PROTEIN_STRUCTURE_HELIX_ALPHA = 8;
  public final static byte PROTEIN_STRUCTURE_HELIX_PI = 9;


(note the happy coincidence of 7 8 9 being the ordinals of the letters G H
I)


HELIX_PI is very rare. I only found one example in that list of 1769
structures. (2jc9). That's primarily because DSSP assigns alpha helices
first, then 3/10, then finallly, only for the remaining residues, pi helix.

more examples, using bioSMARTS reporting:

$ load 1crn.pdb
$ calculate structure
$ print {*}.find("Sequence")

//* chain A protein 1 *// ~p~TTCCPSIVARSNFNVCRLPGTPEAICATYTGCIIIPGATCPGDYAN
//* 46 *//

$ print {substructure=7}.find("Sequence")  # 3/10 helix

//* chain A protein 42 *// ~p~GDY //* 44 *//

$ print {substructure=3}.find("Sequence")  # alpha helix

//* chain A protein 7 *// ~p~IVARSNFNVCR //* 17 *//.
//* chain A protein 23 *// ~p~EAICATYT //* 30 *//

# note -- {structure=3} gives

$ print {structure=3}.find("Sequence") # ANY helix

//* chain A protein 7 *// ~p~IVARSNFNVCR //* 17 *//.
//* chain A protein 23 *// ~p~EAICATYT //* 30 *//.
//* chain A protein 42 *// ~p~GDY //* 44 *//
$

I think I need to update what "helix" means. Right now

select helix

just gives alpha helixes after the calculate structure command is given.

But that's a bug.

I'm just realizing that the HELIX line of the PDB does give a helix subtype,
of which there are several. We're just grouping all those under the
structure "helix" and so that needs to be no change, but perhaps we should
be reading at least some of those as helix subtypes?

Right now:

$ print {helix}.find("Sequence")

//* chain A protein 7 *// ~p~IVARSNFNVCR //* 17 *//.
//* chain A protein 23 *// ~p~EAICATYT //* 30 *//


$ print {structure=3}.find("Sequence")

//* chain A protein 7 *// ~p~IVARSNFNVCR //* 17 *//.
//* chain A protein 23 *// ~p~EAICATYT //* 30 *//.
//* chain A protein 42 *// ~p~GDY //* 44 *//


$ print {substructure=3}.find("Sequence")

//* chain A protein 7 *// ~p~IVARSNFNVCR //* 17 *//.
//* chain A protein 23 *// ~p~EAICATYT //* 30 *//



Jim, are you using 12.1 or 12.0 in jalview? If 12.0, that's a reason I could
give to add this to 12.0. I think it really is a "version-number" changer,
and I think it would be good to have it in "Jmol 12" not just "Jmol 12.1".

Bob


On Tue, Oct 12, 2010 at 5:54 AM, Jim Procter <jproc...@compbio.dundee.ac.uk>
wrote:

     Hi Bob.

    On 10/10/2010 17:22, Robert Hanson wrote:

        Jmol users,

        Jmol now has DSSP.

    {sounds of applause} - this is very nice to hear. Thanks very much all
who have made this happen.

    I'll be updating the Jmol in jalview as soon as I can - I'm sure it will
please a number of our more structure oriented users. Whilst I'm on this
subject, I was wondering - is there a script or api function that allows one
to obtain the DSSP code for the residues in a model ?

    I can think of some messy/fragile ways of doing this (parsing the state
dump is one way that I'd prefer not to go) but I'd prefer to have a direct
means of reading of the assignment so it can be shown on the associated
sequence in jalview. A bit of digging around suggests that the information
is available from Jmol's AlphaMonomer class within the structure returned
from the getProperty(PropertyManager.PROP_MODEL_INFO) - does that sound like
a step in the right direction ?

    Jim.

    --
    -------------------------------------------------------------------
    J. B. Procter  (JALVIEW/ENFIN)  Barton Bioinformatics Research Group
    Phone/Fax:+44(0)1382 388734/345764  http://www.compbio.dundee.ac.uk
    The University of Dundee is a Scottish Registered Charity, No. SC015096.




-- 
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to