Allow pdb2gmx to handle cyclic molecules
authorPaul Bauer <paul.bauer.q@gmail.com>
Thu, 5 Nov 2020 16:18:24 +0000 (16:18 +0000)
committerPaul Bauer <paul.bauer.q@gmail.com>
Thu, 5 Nov 2020 16:18:24 +0000 (16:18 +0000)
commit44aba2358082da9bc125c9f4bbf6e26d228555ec
tree306c8237314659887829d3c45b961866159b201f
parentc946ef0722206315c48fe7924e0e2a01abfd708d
Allow pdb2gmx to handle cyclic molecules

This has been a long outstanding issue with the code not being able to
do this.

Cyclic molecules are detected by checking if chain ends are within bonding
distance from each other. This does not detect cyclic molecules over PBC
boundaries.

Initial patch proposed by Boris Timofeev.

Resolves #3571

Change-Id: Ic25e46a12fef5fb46748dc0497f469b5834d4886
19 files changed:
docs/release-notes/2021/major/features.rst
src/gromacs/gmxpreprocess/gen_ad.cpp
src/gromacs/gmxpreprocess/gen_ad.h
src/gromacs/gmxpreprocess/genhydro.cpp
src/gromacs/gmxpreprocess/genhydro.h
src/gromacs/gmxpreprocess/pdb2gmx.cpp
src/gromacs/gmxpreprocess/pdb2top.cpp
src/gromacs/gmxpreprocess/pdb2top.h
src/gromacs/gmxpreprocess/pgutil.cpp
src/gromacs/gmxpreprocess/pgutil.h
src/gromacs/gmxpreprocess/tests/cyclic-dna.pdb [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/cyclic-protein-small.pdb [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/cyclic-rna.pdb [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/pdb2gmx.cpp
src/gromacs/gmxpreprocess/tests/refdata/ForCharmm27CyclicSystem_Pdb2gmxTest_ProducesMatchingTopology_0.xml [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/refdata/ForCharmm27CyclicSystem_Pdb2gmxTest_ProducesMatchingTopology_1.xml [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/refdata/ForCharmm27CyclicSystem_Pdb2gmxTest_ProducesMatchingTopology_2.xml [new file with mode: 0644]
src/gromacs/gmxpreprocess/tests/refdata/ForCharmm27CyclicSystem_Pdb2gmxTest_ProducesMatchingTopology_3.xml [new file with mode: 0644]
src/gromacs/gmxpreprocess/x2top.cpp