In light of the current discussion, I thought it may be useful the review
the *current* Jmol auto-bonding rules and the auto-bonding algorithm.
Basically:
1. the file gets read
2. atoms and bonds get allocated according to the contents of the file
* in the special case of .pdb files, CONECT records (like most
other record types) are ignored
3. if no bonds were allocated then auto-bonding gets run
The inputs into the auto-bonding algorithm are taken from OpenBabel and
are as follows:
1. each element has a covalent bonding radius
(this table is in the file JmolConstants.java)
2. there is a 'bond tolerance factor' which defaults to 0.45 angstroms
3. There is a 'minimum bonding distance' which defaults to 0.4 angstroms
Effectively, all atom pairs are compared. In order to form a bond, the
distance must be:
1. less than the sum of the two covalent radii + the
bond-tolerance-factor (0.45 angstroms)
2. greater than the minimum-bond-distance (0.4 angstroms)
That's all that Jmol does.
To be clear, OpenBabel does more checks before it will establish a bond. I
think they check bond counts and angles. But that is what OpenBabel was
designed to do.
Jmol's job, on the other hand, is to display molecules. I wish we didn't
have to calculate any bond connectivity. Unfortunately, many popular file
formats do not include connectivity information ... so we are forced to
provide some support for it.
My *personal* thoughts are:
I am not interested in *improving* Jmol's bonding algorithm. I am not a
chemist, I have no interest in it, and more capable people should work on
this task. My stance is that if Jmol is not calculating the bonds
correctly, then one should use the appropriate tool to put the bond
information into the file and Jmol will display what it is given.
(Of course, if someone else wants to add *better/improved/smarter*
bonding, then by all means please do so :-)
Miguel
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Jmol-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jmol-users