On Fri, 20 Sep 2002, Kaushik Raha wrote:
Warren,
Thanks for the h-bond tip. A related question, I was wondering if PyMOL
can protonate ligands on its own. In other words can it perceive the
atom-type. I have been trying to integrate a perception algorithm
If your ligands come in with valid valencies and formal charges, PyMOL's
h_add command can protonate ligands. (NOTE that there is a minor
technical hiccup with SD-files which are loaded by default as immutable
discrete objects.) Suffice it to say that in order to make changes to
the chemical structure, an object must be loaded with the discrete flag
set to zero.
similar to babel with other programs and would like to do it with PyMOL
as well. However I could not find details/examples on the attach
command in the manual (I did not look through the code yet, I am a new
user). So can you please give an example of attach command.
Unfortunately, much of the molecular editing stuff remains to be
documented. Here's an example sequence, but I'm not sure it will help to
much...as indicated in the manual, this is immature functionality with
some major gaps. Attach in particular is very limited...
# show valences
set valence=0.05
# load cysteine fragment
fragment cys
# remove hydrogens
remove (hydro)
# edit gamma S
edit cyssg
# add hydrogen
attach H,1,1
# add planer, trivalent nitrogen onto C terminus
edit cysC
attach N,3,3
# edit that nitrogen
edit (elem N and neighbor cysC)
# attach a tetrahedral methyl (note random position)
attach C,4,4
# here's an example of adding a whole residue from the library
edit cysN
editor.attach_amino_acid(pk1,ace)
# now restore missing hydrogens (note that the names are off...)
h_add
Well, the reason I wanted the parser was some programs like AMBER
(leap) requires different names for linked cysteines. It would be
helpful to get this information from the PDB file since it has it. Also
there is other information in the PDB file which can be useful if
displayed somewhere on the viewer like sequence etc. In other words a
hierarchy window similar to the web-lab viewer. Maybe it does and just
have not figured out how to make it work it.
Hmm...I can't think of any smart way to use the selection language to get
it off the top of my head. You can use the alter command to change the
residue names as follows:
alter cys/,name='CYX'
or for specific residues
alter 146+167+156/,name='CYX'
save modified.pdb
but that's not general...
In any case I think this is a terrific program and although I have just
started using it I am realizing its potential.
It will take a few years, but I'm hoping that the open-source version
of PyMOL will become a useful and ubiquitous tool for a variety of common
molecular tasks like setting up molecules for Amber, tweaking hydrogens,
or fixing atom names, etc.
Cheers,
Warren
Kaushik.
On Friday, September 20, 2002, at 05:24 PM, DeLano, Warren wrote:
Regarding H-bonds. Funny you should ask -- Hans and I just worked out
how to do this here at Sunesis...
There isn't a built-in function yet (it is coming), but you can show
H-bonds between two objects using atom selections so long as hydrogens
are present in both molecules. If you don't have hydrogens, you can
use h_add on the proteins or provide ligands with valence information
and then use h_add.
Two examples are below. For clarity, they draw dashes between the
heavy atoms and hide the hydrogens.
# EXAMPLE 1: Show hydrogen bonds between protein
# and docked ligands (which must have hydrogens)
load target.pdb,prot
load docked_ligs.sdf,lig
# add hydrogens to protein
h_add prot
select don, (elem n,o and (neighbor hydro))
select acc, (elem o or (elem n and not (neighbor hydro)))
dist HBA, (lig and acc),(prot and don), 3.2
dist HBD, (lig and don),(prot and acc), 3.2
delete don
delete acc
hide (hydro)
hide labels,HBA
hide labels,HBD
# EXAMPLE 2
# Show hydrogen bonds between two proteins
load prot1.pdb
load prot2.pdb
h_add prot1
h_add prot2
select don, (elem n,o and (neighbor hydro))
select acc, (elem o or (elem n and not (neighbor hydro)))
dist HBA, (prot1 and acc),(prot2 and don), 3.2
dist HBD, (prot1 and don),(prot2 and acc), 3.2
delete don
delete acc
hide (hydro)
hide labels,HBA
hide labels,HBD
# NOTE: that you could also use this approach between two
# non-overlapping selections within a single object.
As far as SSBOND records go, no PyMOL doesn't currently parse
these...does it need to?
Warren
--
mailto:war...@sunesis.com
Warren L. DeLano, Ph.D.
-Original Message-
From: Kaushik Raha [mailto:kxr...@psu.edu]
Sent: Friday, September 20, 2002 1:36 PM
To: pymol-users@lists.sourceforge.net
Subject: Re: [PyMOL] Disulfide Bonds
A similar question: Does PyMOL have a PDB file parser that can read
disulphide linkages from the file and connect the atoms or