From: Paweł Kędzierski (pawel.kedzierski_at_pwr.edu.pl)
Date: Thu Aug 31 2023 - 08:34:35 CDT

Dear Maxim,
You should be aware how VMD knows where are the bonds. If you read the
molecule from a file which does not provide bond information (most
formats don't), the bonds are guessed based on distances which is rather
simplistic and may produce incorrect bonding. However, the distance
based guess will rarely produce bonds which are much longer than
expected, unless VMD incorrectly recognizes the elements. For example,
common are misformatted PDB files which are missing the element
information, and then the elements are recognized by atom names, which
due to the traditional organic chemistry and biochemistry naming scheme
may introduce severe errors. For example the carbon alpha name CA is
read as a calcium atom, hydrogen gamma HG as mercury etc. and this may
be one reason for wrong bonding.

There is also another very common problem in VMD usage, manifesting with
long bonds (actually connecting wrong atoms). As VMD is mainly used for
analysis of molecular dynamics simulations, most people start with
preparing the system using a program called psfgen which produces a pair
of files PDB and PSF, the first with coordinates and the latter with
bonding. This is what dr Sarkar referred to as using a "psfgen script".
The problem with PSF files is that they define the bonds as pairs of
numbers related to the order of atoms in the matching PDB file. If you
mismatch the PSF and PDB files when reading them into VMD, then the
bonding will be spoiled and you may observe bonds several tens of A long.
Same error could be introduced by yourself or by some software which
does not preserve the order of atoms on save (it happened to me with
MOLDEN). If you change the order of atoms in the PDB but still use the
same PSF to read bonding, the bonds will be wrong.

If the topology of the bonds is correct in your case but your molecule
geometry is distorted, then you need to optimize it first (which would
"adjust" the bond lengths). In principle you could request the
optimization with Gaussian from within Gaussview but if the distortion
is significant ("bonds much longer than normal") this is useless as
quantum chemistry will "see" separate atoms and your system will decay.
The problem may be solved using force field optimization, often even a
primitive FF like UFF will suffice. VMD is not suitable for this
purpose; you may use for example Avogadro (https://urldefense.com/v3/__https://avogadro.cc__;!!DZ3fjg!5Pv415LhY68JrRYJcWIxR5BL6dHxzqLLL5ytrB3oxBuwLZYUn4tvaZhPJudG5eh8ECaPsfzvtkKAGCeoielZmSrDV3ngW-5K$ ).
HTH,
Pawel

W dniu 31.08.2023 o 11:16, maxim todoru pisze:
> Dear Pr. Sarkar,
> No no, the situation isn't like that, i'm not looking for simulation,
> the whole matter is i perform a topological analysis of an organic
> molecule, and the results i get is like what i explained before (some
> bonds are much longer than the normal), i need to adjusted for nicer
> visualisation, and i think VMD is the only program i know can help me
> (instead of Gaussview).
>
> Le jeudi 31 août 2023, Daipayan Sarkar <sdaipayan_at_gmail.com> a écrit :
>
> Hi,
>
> Are you sure the molecule is built correctly? Said differently,
> this could easily be due to your psfgen script where I assume you
> have topology files for the molecule you are working with. For
> that more specific information about the molecule would be
> necessary. This is of course if you are planning to simulate the
> molecule.
>
> “i need the reduce their length to a specific value”  - I
> personally do not recommend, even if you are using VMD only for
> visualization purposes.
>
> -Daipayan
>
> *From: *"owner-vmd-l_at_ks.uiuc.edu" <owner-vmd-l_at_ks.uiuc.edu> on
> behalf of maxim todoru <mtodoru_at_gmail.com>
> *Date: *Thursday, August 31, 2023 at 3:35 AM
> *To: *"vmd-l_at_ks.uiuc.edu" <vmd-l_at_ks.uiuc.edu>
> *Subject: *vmd-l: How to shortening bonds length in a molecule ?
>
> Hi VMD community,
>
> I used VMD to perform the visualisation of some organic molecules,
> but it appears that some bonds length are little tall from normal,
> and i need the reduce their length to a specific value. I failed
> to figure out a solution, and i need some help.
>