Pymol makes bonds automatically even without CONECT records

So prompted by a tweet today by Kate Stafford (@kastacholamine) about some Pymol weirdness with added bonds to hydrogens and dummy atoms I had a bit of a play this afternoon with Pymol and it’s default behaviour of rendering a bond if atoms are close enough in space, even if it makes no chemical sense. This behaviour is noted in the Wiki page, using the example of PDB files, even where no CONECT records are given. To illustrate I drew acetylene with the build tool in MacPymol 1.6, and deleted the hydrogens and wrote the resulting molecule to a PDB file. Note that Pymol has output 6 CONECT records for a carbon-carbon triple bond, 3 forwards and 3 reverse (these may turn out to be redundant, I need to read the PDB specs again).

HETATM 1 C01 UNK 1 -0.456 -0.380 0.086 0.00 0.00 C
HETATM 2 C02 UNK 1 0.456 0.380 -0.086 0.00 0.00 C
CONECT 1 2
CONECT 1 2
CONECT 1 2
CONECT 2 1
CONECT 2 1
CONECT 2 1
END

I then manually edited the file and deleted the CONECT records and to make matters simpler, edited the XYZ space to make a 1.0 Angstrom C-C bond.

HETATM 1 C1 UNK 1 0.000 0.000 0.000 0.00 0.00 C
HETATM 2 C2 UNK 1 1.000 0.000 0.000 0.00 0.00 C

END

So show does this look when read back into Pymol? Well it opens fine and redraws the bond, despite the absent CONECT records.

modacetylene

If you then edit the PDB files some more, extending the “bond” to 2 Angstroms, it still renders as a bond when re-opened in Pymol, but go out to 2.1 Anstroms and Pymol says nope, they’re too far apart to be bonded.

modacetylene2.1These cutoffs are hard encoded into Pymol (incidentally 2.05 Angstroms still shows a bond) and vary for different atoms. If I then edit the file further to make it a fictitious molecule by replacing the second carbon with hydrogen, Pymol will stop drawing the bond somewhere around 1.7 Angstroms, although as you can see here the Sphere representation still shows overlapping VdW radii:

HETATM 1 C1 UNK 1 0.000 0.000 0.000 0.00 0.00 C
HETATM 2 H1 UNK 1 1.700 0.000 0.000 0.00 0.00 H

END

CH1.7

 

And finally, just for fun, even if you put back in a single CONECT record, and a very long 3.0 Angstrom bond, Pymol will faithfully render it for you.

HETATM 1 C1 UNK 1 0.000 0.000 0.000 0.00 0.00 C
HETATM 2 H1 UNK 1 3.000 0.000 0.000 0.00 0.00 H
CONECT 1 2
END

CH3c

P.S. To get that last image I had to use the “translate” function in Pymol. I had to clone the object and move the clone up 1 Angstrom using the syntax

translate [0,1,0] sele

Advertisements

About martin

almost on holidays
This entry was posted in Chem, mac. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s