CHARMM Parameterization Failure?

GROMACS version: 2022
GROMACS modification: No

Hello,

I am trying to parameterize phenylacetic acid to the CHARMM forcefield. I used CGenFF to get the .str file and used their python script to convert to GROMACS format. I made sure to use the exact version of python and NetworkX specified. However, the pdb that it outputs seems to have atoms placed at random positions and the molecuel is broken. I tried using different versions of CGenFF but getting the same result.

mol2 file:
@MOLECULE
Ligand
18 18 1
SMALL
USER_CHARGES
@ATOM
1 C -8.908 30.745 29.358 C.2 1 Ligand 0.000
2 C -7.827 31.335 29.962 C.2 1 Ligand 0.000
3 C -9.194 29.424 29.602 C.2 1 Ligand 0.000
4 C -8.367 28.638 30.400 C.2 1 Ligand 0.000
5 C -7.248 29.284 30.943 C.2 1 Ligand 0.000
6 C -6.922 30.610 30.680 C.2 1 Ligand 0.000
7 C -8.820 27.170 30.667 C.3 1 Ligand 0.000
8 C -7.942 26.219 31.530 C.2 1 Ligand 0.000
9 O -7.332 26.611 32.488 O.co2 1 Ligand 0.000
10 O -7.989 24.988 31.092 O.3 1 Ligand 0.000
11 H -8.018 24.579 31.966 H 1 Ligand 0.000
12 H01 -9.540 31.324 28.685 H 1 Ligand 0.000
13 H02 -7.688 32.412 29.866 H 1 Ligand 0.000
14 H03 -10.087 28.982 29.162 H 1 Ligand 0.000
15 H04 -6.598 28.716 31.608 H 1 Ligand 0.000
16 H05 -5.988 31.049 31.031 H 1 Ligand 0.000
17 H06 -8.775 26.715 29.677 H 1 Ligand 0.000
18 H07 -9.793 27.226 31.155 H 1 Ligand 0.000
@BOND
1 1 2 ar
2 1 3 ar
3 1 12 1
4 2 6 ar
5 2 13 1
6 3 4 ar
7 3 14 1
8 4 5 ar
9 4 7 1
10 5 6 ar
11 5 15 1
12 6 16 1
13 7 8 1
14 7 17 1
15 7 18 1
16 8 9 2
17 8 10 1
18 10 11 1

CGenFF .str

  • Toppar stream file generated by
  • CHARMM General Force Field (CGenFF) program version 2.5
  • For use with CGenFF version 4.6

read rtf card append

  • Topologies generated by
  • CHARMM General Force Field (CGenFF) program version 2.5

36 1

! “penalty” is the highest penalty score of the associated parameters.
! Penalties lower than 10 indicate the analogy is fair; penalties between 10
! and 50 mean some basic validation is recommended; penalties higher than
! 50 indicate poor analogy and mandate extensive validation/optimization.

RESI Ligand 0.000 ! param penalty= 0.000 ; charge penalty= 0.000
GROUP ! CHARGE CH_PENALTY
ATOM C1 CG2R61 -0.107 ! 0.000
ATOM C2 CG2R61 -0.115 ! 0.000
ATOM C3 CG2R61 -0.112 ! 0.000
ATOM C4 CG2R61 -0.001 ! 0.000
ATOM C5 CG2R61 -0.112 ! 0.000
ATOM C6 CG2R61 -0.107 ! 0.000
ATOM C7 CG321 -0.198 ! 0.000
ATOM C8 CG2O2 0.724 ! 0.000
ATOM O1 OG2D1 -0.558 ! 0.000
ATOM O2 OG311 -0.599 ! 0.000
ATOM H HGP1 0.430 ! 0.000
ATOM H01 HGR61 0.115 ! 0.000
ATOM H02 HGR61 0.115 ! 0.000
ATOM H03 HGR61 0.115 ! 0.000
ATOM H04 HGR61 0.115 ! 0.000
ATOM H05 HGR61 0.115 ! 0.000
ATOM H06 HGA2 0.090 ! 0.000
ATOM H07 HGA2 0.090 ! 0.000

BOND C1 C2
BOND C1 C3
BOND C1 H01
BOND C2 C6
BOND C2 H02
BOND C3 C4
BOND C3 H03
BOND C4 C5
BOND C4 C7
BOND C5 C6
BOND C5 H04
BOND C6 H05
BOND C7 C8
BOND C7 H06
BOND C7 H07
BOND C8 O1
BOND C8 O2
BOND O2 H
IMPR C8 C7 O1 O2

END

read param card flex append

  • Parameters generated by analogy by
  • CHARMM General Force Field (CGenFF) program version 2.5

! Penalties lower than 10 indicate the analogy is fair; penalties between 10
! and 50 mean some basic validation is recommended; penalties higher than
! 50 indicate poor analogy and mandate extensive validation/optimization.

BONDS

ANGLES

DIHEDRALS

IMPROPERS

END
RETURN

PDB from CGenFF python script
ATOM 1 C1 Ligand 1 -8.908 30.745 29.358 1.00 0.00
ATOM 2 C2 Ligand 1 -7.827 31.335 29.962 1.00 0.00
ATOM 3 C3 Ligand 1 -9.194 29.424 29.602 1.00 0.00
ATOM 4 C4 Ligand 1 -8.367 28.638 30.400 1.00 0.00
ATOM 5 C5 Ligand 1 -7.248 29.284 30.943 1.00 0.00
ATOM 6 C6 Ligand 1 -6.922 30.610 30.680 1.00 0.00
ATOM 7 C7 Ligand 1 -8.820 27.170 30.667 1.00 0.00
ATOM 8 C8 Ligand 1 -7.942 26.219 31.530 1.00 0.00
ATOM 9 O1 Ligand 1 -7.332 26.611 32.488 1.00 0.00
ATOM 10 O2 Ligand 1 -7.989 24.988 31.092 1.00 0.00
ATOM 11 H Ligand 1 -8.018 24.579 31.966 1.00 0.00
ATOM 12 H01 Ligand 1 -9.540 31.324 28.685 1.00 0.00
ATOM 13 H02 Ligand 1 -7.688 32.412 29.866 1.00 0.00
ATOM 14 H03 Ligand 1 -10.087 28.982 29.162 1.00 0.00
ATOM 15 H04 Ligand 1 -6.598 28.716 31.608 1.00 0.00
ATOM 16 H05 Ligand 1 -5.988 31.049 31.031 1.00 0.00
ATOM 17 H06 Ligand 1 -8.775 26.715 29.677 1.00 0.00
ATOM 18 H07 Ligand 1 -9.793 27.226 31.155 1.00 0.00
END

Found the issue. It seems that I needed to export mol2 from Avogadro instead of pymol

The residue name “Ligand” violates PDB format because it is longer than four characters. Change it in the .str file (RESI name) and convert again.

1 Like