From: Axel Kohlmeyer (
Date: Wed Jan 05 2005 - 02:29:52 CST

On Tue, 4 Jan 2005, Uday Chippada wrote:

UC> Hello everybody,

hello uday,

UC> I am trying to represent (show in graphics window) the hydrogen bonds
UC> formed between two chains using VMD, which means an atom of chain A
UC> has to form a hydrogen bond with an atom of chain B. I dont want to
UC> show the hydrogen bonds formed between atoms of the same chain.

UC> Please tell me how this can be done.

as far as i can tell, this cannot be done with the HBonds
representation directly. i have been asking to have something
similar for DynamicBonds as well for quite some time. but of
course somebody has to program it, and it is a bit tricky to
get it right.

you should be able to do it manually, if you are familiar
with the VMD scripting capabilities.

- you can use 'measure hbonds' to get a list of the hydrogen bonds.
  in fact you'll get three lists with the indices of the donor,
  acceptor, and hydrogen atoms.

- now you loop through the list and weed out all entries, where
  acceptor and donor are from the same chain.

- from the remaining lists you retrieve the coordinates
  of the hydrogens and acceptors and then use the graphics
  (or draw) command to draw lines between those atoms.

- of course if you want to animate this, you can put it in a subroutine
  which can be called via tracing vmd_frame() and then deletes and
  redraws everything.

hmmm.... come to think of it, this could be a useful addition to
the collection of vmd scripting on my homepage.
if you can send me (an) example file(s), i may give it a try
since i now have an idea for how to work around my similar
problems with the dynamic bonds as well. ;-)


UC> Sincerely
UC> Uday Chippada.

Dr. Axel Kohlmeyer   e-mail:
Lehrstuhl fuer Theoretische Chemie          Phone: ++49 (0)234/32-26673
Ruhr-Universitaet Bochum - NC 03/53         Fax:   ++49 (0)234/32-14045
D-44780 Bochum
If you make something idiot-proof, the universe creates a better idiot.