On Tue, 12 Feb 2002, Nat wrote:

> 
> Forgive my ignorance, but what would be the best way to add secondary
> structure data to a PDB file, or coerce it into some format that PyMOL can
> read?  I've been fiddling around with STRIDE and DSSP, but the outputs
> from these need to be parsed into the official PDB format for
> secondary structure annotation (which I assume from the manual that PyMol
> can use).  Is there some better (e.g. quicker) way to do this? I've found
> util.ss() works fine, but Warren has repeatedly said not to use it and
> these images will be presented.

You can bypass the requirement for having secondary structure in the PDB
file by explicitly assigning secondary structure using the alter command.

load tst.pdb
alter tst & */ca, ss='L'
alter tst & 5-30/ca, ss='H'
alter tst & 35-40/ca, ss='S'
alter tst & 42-47/ca, ss='S'
cartoon auto
show cartoon

> On a related note, if I do get a script to parse STRIDE data working,
> what's the minimum amount of annotation that PyMOL requires for a sheet?
> PDB seems to use a lot more data which I don't believe I can supply, like
> which sheets are parallel/antiparallel to eachother.

PyMOL just stores one bit of secondary structure information per residue 
(the "ss" property of the CA atom).  Just remember to set cartoon mode to
"auto" after making changes in order to force an update of the graphical 
cartoons.

It should be pretty straighforward to write a Python script which
assigns secondary structure based on any file format.  Of course, from a
Python python script, the above commands would look like

from pymol import cmd
cmd.load("tst.pdb")
cmd.alter("tst & */ca","ss='L'")
cmd.alter("tst & 5-30/ca","ss='H'")
cmd.alter("tst & 35-40/ca","ss='L'")
cmd.alter("tst & 42-37/ca","ss='L'")
cmd.cartoon("auto")
cmd.show("cartoon")

...and you'd replace those fixed strings with string expressions if you
were dynamically parsing a file.

It would be great if someone would volunteer to investigate how
different util.ss is compared to DSSP.  The reason I caution against
using it is that it doesn't conform to any published criterion and
hasn't been adequately tested or validated.   Like nearly every other
feature in PyMOL, it was cooked up on the fly to solve an immediate need,
without much in the way of rigorous follow-up.

Cheers,
Warren



Reply via email to