Skip to content

Issues when reading charmm parameters file #32

Description

@dim-99

Hi,

I'm trying to read Charmm parameter file to construct pcbaa polymer. My code is,

`from pysimm import lmps
from pysimm import system
from pysimm import forcefield

from pysimm.apps.random_walk import random_walk, random_walk_tacticity
from pysimm.apps.random_walk import check_tacticity
from pysimm.apps.random_walk import random_walk, random_walk_tacticity, check_tacticity
import matplotlib.pyplot as mplp

s = system.System()
f = forcefield.Charmm()
m = s.molecules.add(system.Molecule())`

then I constructed molecule with,

`gaff_CG2DC3 = s.particle_types.add(f.particle_types.get('CG2DC3')[0].copy())
gaff_CG2DC1 = s.particle_types.add(f.particle_types.get('CG2DC1')[0].copy())
gaff_CG2O1 = s.particle_types.add(f.particle_types.get('CG2O1')[0].copy())
gaff_CG321 = s.particle_types.add(f.particle_types.get('CG321')[0].copy())
gaff_CG324 = s.particle_types.add(f.particle_types.get('CG324')[0].copy())
gaff_CG2O3 = s.particle_types.add(f.particle_types.get('CG2O3')[0].copy())
gaff_HGA5 = s.particle_types.add(f.particle_types.get('HGA5')[0].copy())
gaff_HGA4 = s.particle_types.add(f.particle_types.get('HGA4')[0].copy())
gaff_HGA2 = s.particle_types.add(f.particle_types.get('HGA2')[0].copy())
gaff_HGP2 = s.particle_types.add(f.particle_types.get('HGP2')[0].copy())
gaff_OG2D1 = s.particle_types.add(f.particle_types.get('OG2D1')[0].copy())
gaff_OG2D2 = s.particle_types.add(f.particle_types.get('OG2D2')[0].copy())
gaff_NG3P2 = s.particle_types.add(f.particle_types.get('NG3P2')[0].copy())

C1 = s.particles.add(system.Particle(type=gaff_CG2DC3, x=0, y=0, z=0, charge=-0.417000, molecule=m))
C2 = s.add_particle_bonded_to(system.Particle(type=gaff_CG2DC1, x=0, y=0, z=1.5419, charge=-0.097000, molecule=m), C1, f)
H3 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA5, x=1.0218 , y=0, z=-0.3878, charge=0.210000, molecule=m), C1, f)
H4 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA5, x=-0.4291 , y=-0.9533, z=-0.3291, charge=0.210000, molecule=m), C1, f)
C5 = s.add_particle_bonded_to(system.Particle(type=gaff_CG2O1, x=0.4192, y=1.3138 , z=2.2238, charge=0.479000, molecule=m), C2, f)
H6 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA4, x=-1.0564 , y=-0.1017, z=1.8266, charge=0.150000, molecule=m), C2, f)
O7 = s.add_particle_bonded_to(system.Particle(type=gaff_OG2D1, x=-0.3907, y=1.8257, z=3.0075, charge=-0.531000, molecule=m), C5, f)
N8 = s.add_particle_bonded_to(system.Particle(type=gaff_NG2S1, x= 1.6654, y=1.8812, z=2.0153, charge=-0.32900, molecule=m), C5, f )
C9 = s.add_particle_bonded_to(system.Particle(type=gaff_CG321, x=2.6544, y=1.4433, z=1.0462, charge=-0.083000, molecule=m),N8, f )
H10 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=2.6622, y=0.3620, z=0.9367, charge=0.090000, molecule=m), C9, f )
H11 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=3.6519, y= 1.7467, z=1.3793, charge=0.090000, molecule=m), C9, f)
H12 = s.add_particle_bonded_to(system.Particle(type=gaff_HGP1, x=2.1280, y=1.7515, z=2.8923, charge=0.274000, molecule=m), N8, f)
C13 = s.add_particle_bonded_to(system.Particle(type=gaff_CG321, x=2.3494, y=2.1061, z=-0.3100 charge=-0.153000, molecule=m), C9, f)
H14 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=2.3839, y=1.3676, z=-1.0836, charge=0.090000, molecule=m), C13, f)
H15 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=1.3747, y=2.5465, z=-0.2806, charge=0.090000, molecule=m), C13, f)
C16 = s.add_particle_bonded_to(system.Particle(type=gaff_CG324, x=3.3975, y=3.1976, z=-0.5953 charge=0.129000, molecule=m),C16, f)
H17 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=4.3790, y=2.7784, z=-0.5187, charge=0.090000, molecule=m), C16, f)
H18 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=3.2912, y=3.9890, z=0.1170, charge=0.090000, molecule=m), C16, f)
N19 = s.add_particle_bonded_to(system.Particle(type=gaff_NG3P2, x=3.1958, y=3.7283, z=-1.9512, charge=-0.3910000, molecule=m),C16,f)
H20 = s.add_particle_bonded_to(system.Particle(type=gaff_HGP2, x=3.9652, y=3.4612, z=-2.5315, charge=0.320000, molecule=m),N19,f )
H21 = s.padd_particle_bonded_to(system.Particle(type=gaff_HGP2, x=2.3476, y=3.3589, z=-2.3310, charge=0.320000, molecule=m),N19,f)
C22 = s.add_particle_bonded_to(system.Particle(type=gaff_CG324, x=3.1101, y=5.1948, z=-1.8957 charge=0.173000, molecule=m),N19,f)
H23 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=3.9215, y=5.5777, z=-1.3127, charge=0.090000, molecule=m),C22,f)
H24 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=2.1820, y=5.4811, z=-1.4467 charge=0.090000, molecule=m),C22,f)
C25 = s.add_particle_bonded_to(system.Particle(type=gaff_CG321, x=3.1881, y=5.7679, z=-3.3230 charge=-0.242000, molecule=m),C22,f)
H26 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=4.1187, y=5.4867, z=-3.7699 charge=0.090000, molecule=m),C25,f)
H27 = s.add_particle_bonded_to(system.Particle(type=gaff_HGA2, x=2.3801, y=5.3804, z=-3.9076 charge=0.090000, molecule=m),C25,f)
C28 = s.add_particle_bonded_to(system.Particle(type=gaff_CG2O3 , x=3.0898, y=7.3037, z=-3.2655, charge=0.598000, molecule=m),C25,f)
O29 = s.add_particle_bonded_to(system.Particle(type=gaff_OG2D2, x=2.7764, y=7.9519, z=-2.0299, charge=-0.760000, molecule=m),C28,f)
O30 = s.add_particle_bonded_to(system.Particle(type=gaff_OG2D2, x=3.2842, y=7.9902, z=-4.3021, charge=-0.760000, molecule=m),C28,f)

`
with that I tried,

`s.apply_forcefield(f, charges='none')
lnkr_atoms = {'head': 1, 'tail': 2}

for itm, nm in lnkr_atoms.items():
s.particles[nm].linker = itm

p = forcefield.Charmm()
p.parse_add_file('pcbaa.prm')`

It gave me the error,

KeyError Traceback (most recent call last)
/scratch/local/44140053/ipykernel_189726/397443237.py in
1 p = forcefield.Charmm()
----> 2 p.parse_add_file('pcbaa.prm')

/orange/colina/dkodituwakku/peggox/pysimm/pysimm/forcefield/charmm.py in parse_add_file(self, file)
590 tmp = getattr(self, 'nbfix_types')._dict
591 for t in tmp.keys():
--> 592 outp_obj['nbfix_types'].append(tmp[t].dict)
593
594 DATA_PATH = os.path.join(os.path.dirname(os.path.realpath(file)), os.pardir, 'data', 'forcefields', 'charmm')

KeyError: 'nbfix_types'

Could you let me know what I'm doing wrong?

Thank you

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions