Improve argument handling and clean up unecessary files
This commit is contained in:
@@ -1,28 +0,0 @@
|
|||||||
import os
|
|
||||||
import re
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
# Natural sort
|
|
||||||
def natural_key(string_):
|
|
||||||
return [int(s) if s.isdigit() else s for s in re.split(r'(\d+)', string_)]
|
|
||||||
|
|
||||||
# Return absolute path from relative or absolute path
|
|
||||||
def abs_path(path):
|
|
||||||
abs_path = os.path.abspath(path)
|
|
||||||
return abs_path
|
|
||||||
|
|
||||||
# Input argument parser
|
|
||||||
def parser():
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument('--steps', type=int,
|
|
||||||
help='Number of timesteps to run the simulation')
|
|
||||||
parser.add_argument('--jobs_path', type=str, nargs='+', action='append',
|
|
||||||
help='Directory path containing the jobs to be run')
|
|
||||||
parser.add_argument('--namd_params', type=str,
|
|
||||||
help='Optional parameters to send to namd')
|
|
||||||
parser.add_argument('--ffs_path', type=str,
|
|
||||||
help='Location of the forcefield files')
|
|
||||||
parser.add_argument('--namd2_bin', type=str,
|
|
||||||
help='Location of the namd2 executable')
|
|
||||||
args = parser.parse_args()
|
|
||||||
return args
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
import os
|
|
||||||
import sys
|
|
||||||
import glob
|
|
||||||
|
|
||||||
from auto_namd_python.functions import natural_key, abs_path
|
|
||||||
|
|
||||||
class Job:
|
|
||||||
"""
|
|
||||||
A class that represents a job/system residing in a unique directory path
|
|
||||||
|
|
||||||
Attributes:
|
|
||||||
self.path = absolute job directory path
|
|
||||||
self.name = name of the job, derived from parent directory
|
|
||||||
self.prefix = self.path + self.name
|
|
||||||
self.pdb = latest .pdb file
|
|
||||||
self.psf = latest .psf file
|
|
||||||
self.coor = latest .coor file
|
|
||||||
self.stage = current simulation stage
|
|
||||||
self.step = current simulation steps
|
|
||||||
|
|
||||||
Calling prepare_sim() assigns the additional instance variables:
|
|
||||||
|
|
||||||
self.steps = number of steps to run the simulation
|
|
||||||
self.ffs = a list of forcefield files for the simulation
|
|
||||||
self.next_stage = next simulation stage to be run
|
|
||||||
self.next_step = final simulation steps after simulation cycle
|
|
||||||
self.conf, self.out = the configuration file and the simulation output filenames
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, path):
|
|
||||||
self.set_empty_vars()
|
|
||||||
self.path = path
|
|
||||||
self.name = self.get_job_name()
|
|
||||||
self.prefix = os.path.join(self.path, self.name)
|
|
||||||
self.pdb, self.psf = self.get_pdb_and_psf()
|
|
||||||
self.stage, self.step, self.coor = self.get_stage()
|
|
||||||
|
|
||||||
|
|
||||||
def set_empty_vars(self):
|
|
||||||
self.pdb, self.psf = '', ''
|
|
||||||
self.steps = ''
|
|
||||||
self.ffs_path, self.ffs = '', ''
|
|
||||||
self.next_stage, self.next_step = '', ''
|
|
||||||
self.conf, self.out = '', ''
|
|
||||||
|
|
||||||
|
|
||||||
def get_job_name(self):
|
|
||||||
'''Get job name from path'''
|
|
||||||
name = os.path.basename(self.path)
|
|
||||||
return name
|
|
||||||
|
|
||||||
|
|
||||||
def get_pdb_and_psf(self):
|
|
||||||
pdb = glob.glob(f'{self.prefix}*_solv_ion.pdb')
|
|
||||||
psf = glob.glob(f'{self.prefix}*_solv_ion.psf')
|
|
||||||
if len(pdb) == 1 and len(psf) == 1:
|
|
||||||
return pdb[0], psf[0]
|
|
||||||
pdb = glob.glob(f'{self.prefix}.pdb')
|
|
||||||
psf = glob.glob(f'{self.prefix}.psf')
|
|
||||||
if len(pdb) == 1 and len(psf) == 1:
|
|
||||||
return pdb[0], psf[0]
|
|
||||||
else:
|
|
||||||
print('No PDB or PSF files found, exiting...')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
def get_stage(self):
|
|
||||||
coors_path = self.prefix + '*.coor'
|
|
||||||
coors = glob.glob(coors_path)
|
|
||||||
coors.sort(key=natural_key)
|
|
||||||
if len(coors) >= 1:
|
|
||||||
coor = coors[-1]
|
|
||||||
stage = coor.split('_')[-2].split('.')[0]
|
|
||||||
step = int(coor.split('_')[-1].split('.')[0])
|
|
||||||
else:
|
|
||||||
coor = ''
|
|
||||||
stage = ''
|
|
||||||
step = 0
|
|
||||||
return stage, int(step), coor
|
|
||||||
|
|
||||||
|
|
||||||
def prepare_sim(self, ffs_path, steps):
|
|
||||||
self.steps = steps
|
|
||||||
self.ffs_path = abs_path(ffs_path)
|
|
||||||
self.ffs = self.get_ffs()
|
|
||||||
self.next_stage, self.next_step = self.get_next_stage()
|
|
||||||
self.conf, self.out = self.conf_out_file()
|
|
||||||
|
|
||||||
|
|
||||||
def get_next_stage(self):
|
|
||||||
if self.stage == '4-sim':
|
|
||||||
next_stage = '4-sim'
|
|
||||||
next_step = self.step + self.steps
|
|
||||||
elif self.stage == '3-heat':
|
|
||||||
next_stage = '4-sim'
|
|
||||||
next_step = steps
|
|
||||||
elif self.stage == '2-min':
|
|
||||||
next_stage = '3-heat'
|
|
||||||
next_step = 0
|
|
||||||
elif self.stage == '1-min':
|
|
||||||
next_stage = '2-min'
|
|
||||||
next_step = 0
|
|
||||||
elif self.stage == '':
|
|
||||||
next_stage = '1-min'
|
|
||||||
next_step = 0
|
|
||||||
return next_stage, int(next_step)
|
|
||||||
|
|
||||||
|
|
||||||
def get_ffs(self):
|
|
||||||
ffs = glob.glob(os.path.join(self.ffs_path, '*'))
|
|
||||||
return ffs
|
|
||||||
|
|
||||||
|
|
||||||
def conf_out_file(self):
|
|
||||||
if self.next_stage == '4-sim':
|
|
||||||
conf = f'{self.prefix}_{self.next_stage}' \
|
|
||||||
f'_{str(self.next_step)}.conf'
|
|
||||||
out = f'{self.prefix}_{self.next_stage}' \
|
|
||||||
f'_{str(self.next_step)}.out'
|
|
||||||
else:
|
|
||||||
conf = f'{self.prefix}_{self.next_stage}.conf'
|
|
||||||
out = f'{self.prefix}_{self.next_stage}.out'
|
|
||||||
|
|
||||||
return conf, out
|
|
||||||
|
|
||||||
|
|
||||||
def info(self):
|
|
||||||
print(f'Job Path: {self.path}\n'
|
|
||||||
f'Name: {self.name}\n'
|
|
||||||
f'Working PDB: {self.pdb}\n'
|
|
||||||
f'Working PSF: {self.psf}\n'
|
|
||||||
f'Previous Step: {self.stage}\n'
|
|
||||||
f'Previous Step Number: {str(self.step)}\n'
|
|
||||||
f'Next Stage: {self.next_stage}\n'
|
|
||||||
f'Next Step Number: {str(self.next_step)}\n'
|
|
||||||
f'FF Path: {self.ffs_path}\n'
|
|
||||||
f'FFs: {self.ffs}\n'
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_jobs_from_path(jobs_path):
|
|
||||||
jobs_path += '/**/*.pdb'
|
|
||||||
job_dirs = glob.glob(jobs_path, recursive=True)
|
|
||||||
job_dirs_l = []
|
|
||||||
for job_dir in job_dirs:
|
|
||||||
job_dirs_l.append(os.path.dirname(job_dir))
|
|
||||||
if len(job_dirs_l) < 1:
|
|
||||||
print('No valid jobs found in jobs path!')
|
|
||||||
sys.exit(1)
|
|
||||||
return job_dirs_l
|
|
||||||
|
|
||||||
|
|
||||||
def get_next_job(jobs):
|
|
||||||
jobs.sort(key=lambda x: (x.stage, x.step))
|
|
||||||
return jobs[0]
|
|
||||||
|
|
||||||
|
|
||||||
def create_job_instances(job_paths):
|
|
||||||
job_instances = []
|
|
||||||
for job_path in job_paths:
|
|
||||||
job_instances.append(Job(job_path))
|
|
||||||
return job_instances
|
|
||||||
@@ -1,285 +0,0 @@
|
|||||||
import subprocess as sp
|
|
||||||
import vmd
|
|
||||||
|
|
||||||
class Simulate:
|
|
||||||
|
|
||||||
def __init__(self, job, namdbin, params):
|
|
||||||
self.prepare(job)
|
|
||||||
self.run_namd(job, namdbin, params)
|
|
||||||
|
|
||||||
def prepare(self, job):
|
|
||||||
if job.next_stage == '1-min':
|
|
||||||
self.min1(job)
|
|
||||||
if job.next_stage == '2-min':
|
|
||||||
self.min2(job)
|
|
||||||
if job.next_stage == '3-heat':
|
|
||||||
self.heat(job)
|
|
||||||
if job.next_stage == '4-sim':
|
|
||||||
self.sim(job)
|
|
||||||
|
|
||||||
def run_namd(self, job, namdbin, params):
|
|
||||||
cmd = f'{namdbin} {params} {job.conf} > {job.out}'
|
|
||||||
print(f'Running: {cmd}')
|
|
||||||
p1 = sp.run(cmd, shell=True)
|
|
||||||
|
|
||||||
def monitor_namd(self):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def min1(self, job):
|
|
||||||
steps = 15000
|
|
||||||
with open(job.conf, 'w') as conf:
|
|
||||||
conf.write('# Input\n')
|
|
||||||
conf.write(f'structure {job.psf}\n')
|
|
||||||
conf.write(f'coordinates {job.pdb}\n')
|
|
||||||
conf.write('paraTypeCharmm on\n')
|
|
||||||
for ff in job.ffs:
|
|
||||||
conf.write(f'parameters {ff}\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Temperature\n')
|
|
||||||
conf.write('temperature 0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Force-Field Parameters\n')
|
|
||||||
conf.write('exclude scaled1-4\n')
|
|
||||||
conf.write('1-4scaling 1.0\n')
|
|
||||||
conf.write('cutoff 12.\n')
|
|
||||||
conf.write('switching on\n')
|
|
||||||
conf.write('switchdist 10.\n')
|
|
||||||
conf.write('pairlistdist 14\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Integrator Parameters\n')
|
|
||||||
conf.write('timestep 1.0 ;# 1fs/step\n')
|
|
||||||
conf.write('nonbondedFreq 1\n')
|
|
||||||
conf.write('fullElectFrequency 2\n')
|
|
||||||
conf.write('stepspercycle 10\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Output\n')
|
|
||||||
conf.write(f'outputName {job.name}_{job.next_stage}_{steps}\n')
|
|
||||||
conf.write('outputEnergies 100\n')
|
|
||||||
conf.write('outputPressure 100\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Run\n')
|
|
||||||
conf.write(f'minimize {steps}')
|
|
||||||
|
|
||||||
def min2(self, job):
|
|
||||||
solv_ion(job)
|
|
||||||
cbvx, cbvy, cbvz, corx, cory, corz = calc_pcell(job)
|
|
||||||
steps = 15000
|
|
||||||
with open(job.conf, 'w') as conf:
|
|
||||||
conf.write('# Input\n')
|
|
||||||
conf.write(f'structure {job.psf}\n')
|
|
||||||
conf.write(f'coordinates {job.pdb}\n')
|
|
||||||
conf.write('paraTypeCharmm on\n')
|
|
||||||
for ff in job.ffs:
|
|
||||||
conf.write(f'parameters {ff}\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Temperature\n')
|
|
||||||
conf.write('temperature 0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Periodic Boundary Conditions\n')
|
|
||||||
conf.write('wrapWater on\n')
|
|
||||||
conf.write('wrapAll on\n')
|
|
||||||
conf.write(f'cellOrigin\t{corx}\t{cory}\t{corz}\n')
|
|
||||||
conf.write(f'cellBasisVector1\t{cbvx}\t0.0\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector2\t0.0\t{cbvy}\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector3\t0.0\t0.0\t{cbvz}\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Force-Field Parameters\n')
|
|
||||||
conf.write('exclude scaled1-4\n')
|
|
||||||
conf.write('1-4scaling 1.0\n')
|
|
||||||
conf.write('cutoff 12.\n')
|
|
||||||
conf.write('switching on\n')
|
|
||||||
conf.write('switchdist 10.\n')
|
|
||||||
conf.write('pairlistdist 14\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Integrator Parameters\n')
|
|
||||||
conf.write('timestep 1.0 ;# 1fs/step\n')
|
|
||||||
conf.write('nonbondedFreq 1\n')
|
|
||||||
conf.write('fullElectFrequency 2\n')
|
|
||||||
conf.write('stepspercycle 10\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Output\n')
|
|
||||||
conf.write(f'outputName {job.name}_{job.next_stage}_{steps}\n')
|
|
||||||
conf.write('outputEnergies 100\n')
|
|
||||||
conf.write('outputPressure 100\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Run\n')
|
|
||||||
conf.write(f'minimize {steps}')
|
|
||||||
|
|
||||||
def heat(self, job):
|
|
||||||
temp_reinit_steps = 100
|
|
||||||
steps = 10000
|
|
||||||
final_steps = 30 * temp_reinit_steps + steps
|
|
||||||
cbvx, cbvy, cbvz, corx, cory, corz = calc_pcell(job)
|
|
||||||
with open(job.conf, 'w') as conf:
|
|
||||||
conf.write('# Input\n')
|
|
||||||
conf.write(f'structure {job.psf}\n')
|
|
||||||
conf.write(f'coordinates {job.pdb}\n')
|
|
||||||
conf.write(f'bincoordinates {job.coor}\n')
|
|
||||||
conf.write('paraTypeCharmm on\n')
|
|
||||||
for ff in job.ffs:
|
|
||||||
conf.write(f'parameters {ff}\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Temperature\n')
|
|
||||||
conf.write('temperature 0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Periodic Boundary Conditions\n')
|
|
||||||
conf.write('wrapWater on\n')
|
|
||||||
conf.write('wrapAll on\n')
|
|
||||||
conf.write(f'cellOrigin\t{corx}\t{cory}\t{corz}\n')
|
|
||||||
conf.write(f'cellBasisVector1\t{cbvx}\t0.0\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector2\t0.0\t{cbvy}\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector3\t0.0\t0.0\t{cbvz}\n')
|
|
||||||
conf.write('# Force-Field Parameters\n')
|
|
||||||
conf.write('exclude scaled1-4\n')
|
|
||||||
conf.write('1-4scaling 1.0\n')
|
|
||||||
conf.write('cutoff 12.\n')
|
|
||||||
conf.write('switching on\n')
|
|
||||||
conf.write('switchdist 10.\n')
|
|
||||||
conf.write('pairlistdist 14\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Full Electrostatics\n')
|
|
||||||
conf.write('PME on\n')
|
|
||||||
conf.write('PMEGridSpacing 1.0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Integrator Parameters\n')
|
|
||||||
conf.write('timestep 1.0 ;# 1fs/step\n')
|
|
||||||
conf.write('nonbondedFreq 1\n')
|
|
||||||
conf.write('fullElectFrequency 2\n')
|
|
||||||
conf.write('stepspercycle 10\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Output\n')
|
|
||||||
conf.write(f'outputName {job.name}_{job.next_stage}_{final_steps}\n')
|
|
||||||
conf.write('outputEnergies 100\n')
|
|
||||||
conf.write('outputPressure 100\n')
|
|
||||||
conf.write('dcdfreq 1000\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Constant Temperature Control\n')
|
|
||||||
conf.write('langevin on ;# do langevin dynamics\n')
|
|
||||||
conf.write('langevinDamping 0.5 ;# damping coefficient (gamma) of 0.5/ps\n')
|
|
||||||
conf.write('langevinTemp 310\n')
|
|
||||||
conf.write('langevinHydrogen yes ;# couple langevin bath to hydrogens\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Constant Pressure Control\n')
|
|
||||||
conf.write('useGroupPressure no ;# needed for 2fs steps\n')
|
|
||||||
conf.write('useFlexibleCell yes ;# no for water box, yes for membrane\n')
|
|
||||||
conf.write('useConstantRatio yes ;# no for water box, yes for membrane\n')
|
|
||||||
conf.write('langevinPiston on\n')
|
|
||||||
conf.write('langevinPistonTarget 1.01325 ;# in bar -> 1 atm\n')
|
|
||||||
conf.write('langevinPistonPeriod 100.\n')
|
|
||||||
conf.write('langevinPistonDecay 50.\n')
|
|
||||||
conf.write('langevinPistonTemp 310\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Run equilibration\n')
|
|
||||||
conf.write(f'set freq {temp_reinit_steps}\n')
|
|
||||||
conf.write('for {set i 10} {$i <= 310} {incr i 10} {\n')
|
|
||||||
conf.write('reinitvels $i\n')
|
|
||||||
conf.write('langevinTemp $i\n')
|
|
||||||
conf.write('run $freq\n')
|
|
||||||
conf.write('}\n')
|
|
||||||
conf.write('# Run stabilization\n')
|
|
||||||
conf.write(f'run {steps}')
|
|
||||||
|
|
||||||
|
|
||||||
def sim(self, job):
|
|
||||||
cbvx, cbvy, cbvz, corx, cory, corz = calc_pcell(job)
|
|
||||||
with open(job.conf, 'w') as conf:
|
|
||||||
conf.write('# Input\n')
|
|
||||||
conf.write(f'structure {job.psf}\n')
|
|
||||||
conf.write(f'coordinates {job.pdb}\n')
|
|
||||||
conf.write(f'bincoordinates {job.coor}\n')
|
|
||||||
conf.write('paraTypeCharmm on\n')
|
|
||||||
for ff in job.ffs:
|
|
||||||
conf.write(f'parameters {ff}\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Temperature\n')
|
|
||||||
conf.write('temperature 0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Periodic Boundary Conditions\n')
|
|
||||||
conf.write('wrapWater on\n')
|
|
||||||
conf.write('wrapAll on\n')
|
|
||||||
conf.write(f'cellOrigin\t{corx}\t{cory}\t{corz}\n')
|
|
||||||
conf.write(f'cellBasisVector1\t{cbvx}\t0.0\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector2\t0.0\t{cbvy}\t0.0\n')
|
|
||||||
conf.write(f'cellBasisVector3\t0.0\t0.0\t{cbvz}\n')
|
|
||||||
conf.write('# Force-Field Parameters\n')
|
|
||||||
conf.write('exclude scaled1-4\n')
|
|
||||||
conf.write('1-4scaling 1.0\n')
|
|
||||||
conf.write('cutoff 12.\n')
|
|
||||||
conf.write('switching on\n')
|
|
||||||
conf.write('switchdist 10.\n')
|
|
||||||
conf.write('pairlistdist 14\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Full Electrostatics\n')
|
|
||||||
conf.write('PME on\n')
|
|
||||||
conf.write('PMEGridSpacing 1.0\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Integrator Parameters\n')
|
|
||||||
conf.write('timestep 2.0 ;# 2fs/step\n')
|
|
||||||
conf.write('rigidBonds all ;# needed for 2fs steps\n')
|
|
||||||
conf.write('nonbondedFreq 1\n')
|
|
||||||
conf.write('fullElectFrequency 2\n')
|
|
||||||
conf.write('stepspercycle 10\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Output\n')
|
|
||||||
conf.write(f'outputName {job.name}_{job.next_stage}_{job.next_step}\n')
|
|
||||||
conf.write('outputEnergies 10000\n')
|
|
||||||
conf.write('outputPressure 10000\n')
|
|
||||||
conf.write('dcdfreq 10000\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Constant Temperature Control\n')
|
|
||||||
conf.write('langevin on ;# do langevin dynamics\n')
|
|
||||||
conf.write('langevinDamping 0.5 ;# damping coefficient (gamma) of 0.5/ps\n')
|
|
||||||
conf.write('langevinTemp 310\n')
|
|
||||||
conf.write('langevinHydrogen no ;# couple langevin bath to hydrogens\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Constant Pressure Control\n')
|
|
||||||
conf.write('useGroupPressure yes ;# needed for 2fs steps\n')
|
|
||||||
conf.write('useFlexibleCell yes ;# no for water box, yes for membrane\n')
|
|
||||||
conf.write('useConstantRatio yes ;# no for water box, yes for membrane\n')
|
|
||||||
conf.write('langevinPiston on\n')
|
|
||||||
conf.write('langevinPistonTarget 1.01325 ;# in bar -> 1 atm\n')
|
|
||||||
conf.write('langevinPistonPeriod 100.\n')
|
|
||||||
conf.write('langevinPistonDecay 50.\n')
|
|
||||||
conf.write('langevinPistonTemp 310\n')
|
|
||||||
conf.write('\n')
|
|
||||||
conf.write('# Run\n')
|
|
||||||
conf.write(f'run {job.steps}')
|
|
||||||
|
|
||||||
|
|
||||||
def del_all_mols():
|
|
||||||
for mol in vmd.molecule.listall():
|
|
||||||
vmd.molecule.delete(mol)
|
|
||||||
|
|
||||||
|
|
||||||
def solv_ion(job):
|
|
||||||
pdb_f = f'{job.prefix}_{job.stage}.pdb'
|
|
||||||
psf_f = f'{job.prefix}.psf'
|
|
||||||
solv_f = f'{job.prefix}_{job.stage}_solv'
|
|
||||||
solv_ion_f = f'{job.prefix}_{job.stage}_solv_ion'
|
|
||||||
molid = vmd.molecule.load('psf', psf_f, 'namdbin', job.coor)
|
|
||||||
vmd.molecule.write(molid, 'pdb', pdb_f)
|
|
||||||
vmd.evaltcl('package require solvate')
|
|
||||||
vmd.evaltcl(f'solvate {job.psf} {pdb_f} -o {solv_f} '
|
|
||||||
f'-s WT -x 13 -y 13 -z 13 +x 13 +y 13 +z 13 -b 2.4')
|
|
||||||
vmd.evaltcl('package require autoionize')
|
|
||||||
vmd.evaltcl(f'autoionize -psf {solv_f}.psf -pdb {solv_f}.pdb -o {solv_ion_f} '
|
|
||||||
f'-sc 0.15')
|
|
||||||
del_all_mols()
|
|
||||||
|
|
||||||
|
|
||||||
def calc_pcell(job):
|
|
||||||
if job.next_stage == '2-min' or job.next_stage == '3-min':
|
|
||||||
molid = vmd.molecule.load('psf', job.psf, 'pdb', job.pdb)
|
|
||||||
else:
|
|
||||||
molid = vmd.molecule.load('psf', job.psf, 'namdbin', job.coor)
|
|
||||||
all = vmd.atomsel("all", molid=molid)
|
|
||||||
minmax = all.minmax()
|
|
||||||
center = all.center()
|
|
||||||
cbvx = minmax[1][0] - minmax[0][0]
|
|
||||||
cbvy = minmax[1][1] - minmax[0][1]
|
|
||||||
cbvz = minmax[1][2] - minmax[0][2]
|
|
||||||
corx = center[0]
|
|
||||||
cory = center[1]
|
|
||||||
corz = center[2]
|
|
||||||
del_all_mols()
|
|
||||||
return cbvx, cbvy, cbvz, corx, cory, corz
|
|
||||||
40
run.py
40
run.py
@@ -1,40 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import glob
|
|
||||||
import os
|
|
||||||
|
|
||||||
from auto_namd_python.job import get_next_job, get_jobs_from_path, create_job_instances
|
|
||||||
from auto_namd_python.simulate import Simulate
|
|
||||||
from auto_namd_python.functions import abs_path, parser
|
|
||||||
|
|
||||||
|
|
||||||
def main(jobs_path, ffs_path, steps, namdbin, params):
|
|
||||||
|
|
||||||
jobs_path = abs_path(jobs_path)
|
|
||||||
job_dirs_l = get_jobs_from_path(jobs_path)
|
|
||||||
jobs = create_job_instances(job_dirs_l)
|
|
||||||
job = get_next_job(jobs)
|
|
||||||
job.prepare_sim(ffs_path, steps)
|
|
||||||
job.info()
|
|
||||||
Simulate(job, namdbin, params)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
|
||||||
args = parser()
|
|
||||||
|
|
||||||
if args.jobs_path is not None and os.path.isdir(args.jobs_path):
|
|
||||||
jobs_path = args.jobs_path
|
|
||||||
else:
|
|
||||||
jobs_path = '/home/bryan/MD/CFTR/4-jobs'
|
|
||||||
|
|
||||||
if args.namd_params is not None:
|
|
||||||
params = args.namd_params
|
|
||||||
else:
|
|
||||||
params = '+p7'
|
|
||||||
|
|
||||||
main(jobs_path=jobs_path,
|
|
||||||
ffs_path='/home/bryan/MD/CFTR/0-forcefields',
|
|
||||||
steps=1000000,
|
|
||||||
namdbin='/home/bryan/bin/namd2',
|
|
||||||
params=params)
|
|
||||||
16
run_analysis.py
Normal file
16
run_analysis.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from auto_namd.functions import analysis_parser
|
||||||
|
from auto_namd.job import get_next_job, get_jobs_from_path, create_job_instances
|
||||||
|
|
||||||
|
|
||||||
|
def main(jobs_path, ffs_path, steps, namdbin, params):
|
||||||
|
|
||||||
|
jobs_path = abs_path(jobs_path)
|
||||||
|
job_dirs_l = get_jobs_from_path(jobs_path)
|
||||||
|
jobs = create_job_instances(job_dirs_l)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
27
run_simulation.py
Executable file
27
run_simulation.py
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from auto_namd.functions import *
|
||||||
|
from auto_namd.job import get_next_job
|
||||||
|
|
||||||
|
|
||||||
|
def main(**kwargs):
|
||||||
|
|
||||||
|
while True:
|
||||||
|
job = get_next_job(kwargs['jobs_path'])
|
||||||
|
job.simulate(kwargs['ffs_path'], kwargs['steps'], kwargs['namdbin'], kwargs['params'])
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
args = {
|
||||||
|
'jobs_path': ['/home/bryan/MD/CFTR/4-jobs', 'Number of timesteps to run'],
|
||||||
|
'ffs_path': ['/home/bryan/MD/CFTR/0-forcefields', 'Location of the forcefield files'],
|
||||||
|
'steps': [1000000, 'Number of timesteps to run the simulation'],
|
||||||
|
'namdbin': ['namd2', 'Location of the namd2 executable'],
|
||||||
|
'params': [f'+p{os.cpu_count() - 1}', 'Optional namd parameters']
|
||||||
|
}
|
||||||
|
|
||||||
|
# Override defaults with user input
|
||||||
|
args = sim_parser(args)
|
||||||
|
main(**args)
|
||||||
532
tests/0-forcefields/par_all36_lipid.prm
Normal file
532
tests/0-forcefields/par_all36_lipid.prm
Normal file
@@ -0,0 +1,532 @@
|
|||||||
|
* \\\\\\\ CHARMM36 All-Hydrogen Lipid Parameter File ///////
|
||||||
|
* All comments and questions should be submitted to the
|
||||||
|
* parameter forum at the CHARMM website: www.charmm.org
|
||||||
|
*
|
||||||
|
|
||||||
|
!references
|
||||||
|
!
|
||||||
|
!Jeffery B. Klauda, Richard M. Venable, J. Alfredo Freites, Joseph
|
||||||
|
!W. O'Connor, Douglas J. Tobias, Carlos Mondragon-Ramirez, Igor
|
||||||
|
!Vorobyov, Alexander D. MacKerell, Jr. and Richard W. Pastor "Update of
|
||||||
|
!the CHARMM All-Atom Additive Force Field for Lipids: Validation on Six
|
||||||
|
!Lipid Types" J. Phys. Chem. B 2010, 114, 7830-7843
|
||||||
|
!
|
||||||
|
! PUFA Modifications
|
||||||
|
!Jeffery B. Klauda, Viviana Monje, Taehoon Kim, and Wonpil Im. "Improving
|
||||||
|
!the CHARMM Force Field for Polyunsaturated Fatty Acid Chains" J. Phys. Chem. B.
|
||||||
|
!2012 ASAP http://dx.doi.org/10.1021/jp304056p
|
||||||
|
|
||||||
|
ATOMS
|
||||||
|
MASS -1 HL 1.00800 ! polar H (equivalent to protein H)
|
||||||
|
MASS -1 HCL 1.00800 ! charged H for PE (equivalent to protein HC)
|
||||||
|
MASS -1 HOL 1.00800 ! Nucleic acid phosphate hydroxyl proton
|
||||||
|
MASS -1 HAL1 1.00800 ! alphatic proton
|
||||||
|
MASS -1 HAL2 1.00800 ! alphatic proton
|
||||||
|
MASS -1 HAL3 1.00800 ! alphatic proton
|
||||||
|
MASS -1 HEL1 1.00800 ! for alkene; RHC=CR
|
||||||
|
MASS -1 HEL2 1.00800 ! for alkene; H2C=CR
|
||||||
|
MASS -1 HBL 1.00800 ! POPS SER backbone H
|
||||||
|
MASS -1 CL 12.01100 ! carbonyl C (acetic acid/methyl acetate)
|
||||||
|
MASS -1 CTL1 12.01100 ! sp3 carbon with 1 H (-CH1-)
|
||||||
|
MASS -1 CTL2 12.01100 ! carbon of methylene group (-CH2-)
|
||||||
|
MASS -1 CTL3 12.01100 ! carbon of methyl group (-CH3)
|
||||||
|
MASS -1 CTL5 12.01100 ! carbon of methyl group (-CH3) for tetramethylammonium
|
||||||
|
MASS -1 CEL1 12.01100 ! for alkene; RHC=CR
|
||||||
|
MASS -1 CEL2 12.01100 ! for alkene; H2C=CR
|
||||||
|
MASS -1 CCL 12.01100 ! for POPS
|
||||||
|
MASS -1 NTL 14.00700 ! ammonium nitrogen
|
||||||
|
MASS -1 NH3L 14.00700 ! nitrogen phosphatidylethanolamine
|
||||||
|
MASS -1 OBL 15.99940 ! acetic acid carboxyl oxygen (e. to protein OB)
|
||||||
|
MASS -1 OCL 15.99940 ! acetate oxygen
|
||||||
|
MASS -1 OSL 15.99940 ! ester oxygen
|
||||||
|
MASS -1 O2L 15.99940 ! Nucleic acid =O in phosphate or sulfate
|
||||||
|
MASS -1 OHL 15.99940 ! Nucleic acid phosphate hydroxyl oxygen
|
||||||
|
MASS -1 OSLP 15.99940 ! Phosphate oxygen, to avoid conflict with methylacetate type O
|
||||||
|
MASS -1 PL 30.97400 ! phosphorus
|
||||||
|
MASS -1 SL 32.06000 ! Sulfate sulfur
|
||||||
|
MASS -1 CRL1 12.01100 ! sp3 carbon with 1 H on a ring (-CH1-) for sterols
|
||||||
|
MASS -1 CRL2 12.01100 ! carbon of methylene group on a ring (-CH2-) for sterols
|
||||||
|
|
||||||
|
BONDS
|
||||||
|
!
|
||||||
|
!V(bond) = Kb(b - b0)**2
|
||||||
|
!
|
||||||
|
!Kb: kcal/mole/A**2
|
||||||
|
!b0: A
|
||||||
|
!
|
||||||
|
!atom type Kb b0
|
||||||
|
!
|
||||||
|
CTL3 CL 200.0 1.522 ! methyl acetate
|
||||||
|
CTL2 CL 200.0 1.522 ! methyl acetate
|
||||||
|
CTL1 CL 200.0 1.522 ! methyl acetate
|
||||||
|
CTL1 CCL 200.0 1.522 ! for POPS
|
||||||
|
OBL CL 750.0 1.220 ! methyl acetate
|
||||||
|
OCL CL 525.0 1.260 ! acetate, protein
|
||||||
|
OCL CCL 525.0 1.260 ! for POPS
|
||||||
|
OSL CL 150.0 1.334 ! methyl acetate
|
||||||
|
OSLP CL 150.0 1.334 ! methyl acetate
|
||||||
|
OHL CL 230.0 1.40 ! methyl acetate
|
||||||
|
HOL OHL 545.0 0.960 ! acetic acid
|
||||||
|
CTL1 HAL1 309.00 1.111 ! alkanes, 3/92
|
||||||
|
CTL1 HBL 330.00 1.080 ! for POPS
|
||||||
|
CTL2 HAL2 309.00 1.111 ! alkanes, 4/98
|
||||||
|
CTL3 HAL3 322.00 1.111 ! alkanes, 4/98
|
||||||
|
CTL3 OSL 340.0 1.43 ! phosphate
|
||||||
|
CTL2 OSL 340.0 1.43 ! phosphate
|
||||||
|
CTL1 OSL 340.0 1.43 ! phosphate
|
||||||
|
CTL3 OSLP 340.0 1.43 !
|
||||||
|
CTL2 OSLP 340.0 1.43 !
|
||||||
|
CTL1 OSLP 340.0 1.43 !
|
||||||
|
OSL PL 270.0 1.60 ! phosphate
|
||||||
|
OSLP PL 270.0 1.60 !
|
||||||
|
O2L PL 580.0 1.48 ! phosphate
|
||||||
|
OHL PL 237.0 1.59 ! phosphate
|
||||||
|
NH3L HCL 410.0 1.04 ! ethanolamine
|
||||||
|
NH3L CTL1 200.0 1.48 ! for POPS
|
||||||
|
NH3L CTL2 261.0 1.51 ! ethanolamine
|
||||||
|
NTL CTL2 215.00 1.51 ! tetramethylammonium
|
||||||
|
NTL CTL5 215.00 1.51 ! tetramethylammonium
|
||||||
|
CTL5 HL 300.00 1.08 ! tetramethylammonium
|
||||||
|
CTL2 HL 300.00 1.08 ! tetramethylammonium
|
||||||
|
CTL1 CTL1 222.500 1.500 ! alkanes, 3/92
|
||||||
|
CTL1 CTL2 222.500 1.538 ! alkanes, 3/92
|
||||||
|
CTL1 CTL3 222.500 1.538 ! alkanes, 3/92
|
||||||
|
CTL2 CTL2 222.500 1.530 ! alkanes, 3/92
|
||||||
|
CTL2 CTL3 222.500 1.528 ! alkanes, 3/92
|
||||||
|
CTL3 CTL3 222.500 1.530 ! alkanes, 3/92
|
||||||
|
OHL CTL1 428.0 1.420 ! glycerol
|
||||||
|
OHL CTL2 428.0 1.420 ! glycerol
|
||||||
|
OHL CTL3 428.0 1.420 ! glycerol
|
||||||
|
SL O2L 540.0 1.448 ! methylsulfate
|
||||||
|
SL OSL 250.0 1.575 ! methylsulfate
|
||||||
|
CEL2 CEL2 510.000 1.330 ! ethene yin,adm jr., 12/95
|
||||||
|
HEL2 CEL2 365.000 1.100 ! propene; from ethene, yin,adm jr., 12/95
|
||||||
|
CEL1 CTL3 383.000 1.504 ! butene, yin,adm jr., 12/95
|
||||||
|
CEL1 CEL2 500.000 1.342 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 360.500 1.100 ! propene, yin,adm jr., 12/95
|
||||||
|
CEL1 CTL2 365.000 1.502 ! butene; from propene, yin,adm jr., 12/95
|
||||||
|
CEL1 CEL1 440.000 1.340 ! butene, yin,adm jr., 12/95
|
||||||
|
|
||||||
|
ANGLES
|
||||||
|
!
|
||||||
|
!V(angle) = Ktheta(Theta - Theta0)**2
|
||||||
|
!
|
||||||
|
!V(Urey-Bradley) = Kub(S - S0)**2
|
||||||
|
!
|
||||||
|
!Ktheta: kcal/mole/rad**2
|
||||||
|
!Theta0: degrees
|
||||||
|
!Kub: kcal/mole/A**2 (Urey-Bradley)
|
||||||
|
!S0: A
|
||||||
|
!
|
||||||
|
!atom types Ktheta Theta0 Kub S0
|
||||||
|
!
|
||||||
|
!
|
||||||
|
OBL CL CTL3 70.0 125.0 20.0 2.442 ! methyl acetate
|
||||||
|
OBL CL CTL2 70.0 125.0 20.0 2.442 ! methyl acetate
|
||||||
|
OBL CL CTL1 70.0 125.0 20.0 2.442 ! methyl acetate
|
||||||
|
OSL CL OBL 90.0 125.9 160.0 2.2576 ! acetic acid
|
||||||
|
CL OSL CTL1 40.0 109.6 30.0 2.2651 ! methyl acetate
|
||||||
|
CL OSL CTL2 40.0 109.6 30.0 2.2651 ! methyl acetate
|
||||||
|
CL OSL CTL3 40.0 109.6 30.0 2.2651 ! methyl acetate
|
||||||
|
HAL2 CTL2 CL 33.00 109.50 30.00 2.163 ! methyl acetate
|
||||||
|
HAL3 CTL3 CL 33.00 109.50 30.00 2.163 ! methyl acetate
|
||||||
|
CTL2 CTL2 CL 52.0 108.00 ! alkane
|
||||||
|
CTL2 CTL1 CCL 52.0 108.00 ! for POPS
|
||||||
|
CTL3 CTL2 CL 52.0 108.00 ! alkane
|
||||||
|
OSL CL CTL3 55.0 109.0 20.00 2.3260 ! methyl acetate
|
||||||
|
OSL CL CTL2 55.0 109.0 20.00 2.3260 ! methyl acetate
|
||||||
|
OSL CL CTL1 55.0 109.0 20.00 2.3260 ! methyl acetate
|
||||||
|
OHL CL OBL 50.0 123.0 210.0 2.2620 ! acetic acid
|
||||||
|
OCL CL CTL2 40.0 118.0 50.0 2.3880 ! acetate
|
||||||
|
OCL CL CTL3 40.0 118.0 50.0 2.3880 ! acetate
|
||||||
|
OCL CL OCL 100.0 124.0 70.0 2.2250 ! acetate
|
||||||
|
OCL CCL OCL 100.0 124.0 70.0 2.2250 ! for POPS
|
||||||
|
OCL CCL CTL1 40.0 118.0 50.0 2.3880 ! for POPS
|
||||||
|
OHL CL CTL3 55.0 110.50 ! acetic acid
|
||||||
|
OHL CL CTL2 55.0 110.50 ! acetic acid
|
||||||
|
HOL OHL CL 55.0 115.0 ! acetic acid
|
||||||
|
OSL CTL1 CTL1 75.700 110.10 ! acetic acid, PIP
|
||||||
|
OSL CTL1 CTL2 75.700 110.10 ! acetic acid
|
||||||
|
OSL CTL1 CTL3 75.700 110.10 ! acetic acid
|
||||||
|
OSL CTL2 CTL1 75.700 110.10 ! acetic acid
|
||||||
|
OSL CTL2 CTL2 75.700 110.10 ! acetic acid
|
||||||
|
OSL CTL2 CTL3 75.700 110.10 ! acetic acid
|
||||||
|
OSLP CTL1 CTL1 75.700 110.10 ! acetic acid, PIP
|
||||||
|
OSLP CTL1 CTL2 75.700 110.10 ! acetic acid
|
||||||
|
OSLP CTL1 CTL3 75.700 110.10 ! acetic acid
|
||||||
|
OSLP CTL2 CTL1 75.700 110.10 ! acetic acid
|
||||||
|
OSLP CTL2 CTL2 75.700 110.10 ! acetic acid
|
||||||
|
OSLP CTL2 CTL3 75.700 110.10 ! acetic acid
|
||||||
|
HAL2 CTL2 HAL2 35.500 109.00 5.40 1.80200 ! alkane, 3/92
|
||||||
|
HAL3 CTL3 HAL3 35.500 108.40 5.40 1.80200 ! alkane, 3/92
|
||||||
|
HAL1 CTL1 OSL 60.0 109.5 ! phosphate
|
||||||
|
HAL2 CTL2 OSL 60.0 109.5 ! phosphate
|
||||||
|
HAL3 CTL3 OSL 60.0 109.5 ! phosphate
|
||||||
|
HAL1 CTL1 OSLP 60.0 109.5 ! phosphate
|
||||||
|
HAL2 CTL2 OSLP 60.0 109.5 ! phosphate
|
||||||
|
HAL3 CTL3 OSLP 60.0 109.5 ! phosphate
|
||||||
|
CTL1 OSL PL 20.0 120.0 35.0 2.33 ! phosphate, PIP
|
||||||
|
CTL2 OSL PL 20.0 120.0 35.0 2.33 ! phosphate
|
||||||
|
CTL3 OSL PL 20.0 120.0 35.0 2.33 ! phosphate
|
||||||
|
CTL1 OSLP PL 20.0 120.0 35.0 2.33 ! phosphate, PIP
|
||||||
|
CTL2 OSLP PL 20.0 120.0 35.0 2.33 ! phosphate
|
||||||
|
CTL3 OSLP PL 20.0 120.0 35.0 2.33 ! phosphate
|
||||||
|
HOL OHL PL 30.0 115.0 40.0 2.30 ! phosphate
|
||||||
|
OSL PL OSL 80.0 104.3 ! phosphate
|
||||||
|
OSL PL O2L 98.9 111.6 ! phosphate
|
||||||
|
OSL PL OHL 48.1 108.0 ! phosphate
|
||||||
|
OSLP PL OSLP 80.0 104.3 ! phosphate
|
||||||
|
OSLP PL O2L 98.9 111.6 ! phosphate
|
||||||
|
OSLP PL OHL 48.1 108.0 ! phosphate
|
||||||
|
O2L PL O2L 120.0 120.0 ! phosphate
|
||||||
|
O2L PL OHL 98.9 108.23 ! phosphate
|
||||||
|
NTL CTL2 HL 40.0 109.5 27. 2.13 ! tetramethylammonium
|
||||||
|
NTL CTL5 HL 40.0 109.5 27. 2.13 ! tetramethylammonium
|
||||||
|
HL CTL2 HL 24.0 109.50 28. 1.767 ! tetramethylammonium
|
||||||
|
HL CTL5 HL 24.0 109.50 28. 1.767 ! tetramethylammonium
|
||||||
|
CTL2 NTL CTL2 60.0 109.5 26. 2.466 ! tetraethylammonium, from CTL5 NTL CTL2
|
||||||
|
CTL5 NTL CTL2 60.0 109.5 26. 2.466 ! tetramethylammonium
|
||||||
|
CTL5 NTL CTL5 60.0 109.5 26. 2.466 ! tetramethylammonium
|
||||||
|
HL CTL2 CTL2 33.430 110.10 22.53 2.179 ! alkane
|
||||||
|
HL CTL2 CTL3 33.430 110.10 22.53 2.179 ! alkane
|
||||||
|
HAL1 CTL1 CTL1 34.500 110.10 22.53 2.179 ! alkane, 3/92
|
||||||
|
HAL1 CTL1 CTL2 34.500 110.10 22.53 2.179 ! alkane, 3/92
|
||||||
|
HAL1 CTL1 CTL3 34.500 110.10 22.53 2.179 ! alkane, 3/92
|
||||||
|
HAL2 CTL2 CTL1 26.500 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HAL2 CTL2 CTL2 26.500 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HAL2 CTL2 CTL3 34.600 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HAL3 CTL3 CTL1 33.430 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HAL3 CTL3 CTL2 34.600 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HAL3 CTL3 CTL3 37.500 110.10 22.53 2.179 ! alkane, 4/98
|
||||||
|
HBL CTL1 CCL 50.000 109.50 ! for POPS
|
||||||
|
HBL CTL1 CTL2 35.000 111.00 ! for POPS
|
||||||
|
NTL CTL2 CTL2 67.7 115.00 ! tetramethylammonium
|
||||||
|
NTL CTL2 CTL3 67.7 115.00 ! tetramethylammonium
|
||||||
|
HCL NH3L CTL2 33.0 109.50 4.00 2.056 ! ethanolamine
|
||||||
|
HCL NH3L CTL1 30.0 109.50 20.00 2.074 ! for POPS
|
||||||
|
HCL NH3L HCL 41.0 109.50 ! ethanolamine
|
||||||
|
NH3L CTL2 CTL2 67.7 110.00 ! ethanolamine
|
||||||
|
NH3L CTL2 HAL2 45.0 107.50 35.00 2.0836 ! ethanolamine
|
||||||
|
CTL1 CTL1 CTL1 53.350 111.00 8.00 2.561 ! alkane, 3/92
|
||||||
|
NH3L CTL1 CCL 43.7 110.00 ! for POPS
|
||||||
|
NH3L CTL1 CTL2 67.7 110.00 ! for POPS
|
||||||
|
NH3L CTL1 HBL 51.5 107.50 ! for POPS
|
||||||
|
CTL1 CTL1 CTL2 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL1 CTL1 CTL3 53.350 108.50 8.00 2.561 ! alkane, 3/92
|
||||||
|
CTL1 CTL2 CTL1 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL1 CTL2 CTL2 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL1 CTL2 CTL3 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL2 CTL1 CTL2 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL2 CTL1 CTL3 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
CTL2 CTL2 CTL2 58.350 113.60 11.16 2.561 ! alkane, 3/92
|
||||||
|
CTL2 CTL2 CTL3 58.000 115.00 8.00 2.561 ! alkane, 3/92
|
||||||
|
CTL3 CTL1 CTL3 58.350 113.50 11.16 2.561 ! glycerol
|
||||||
|
HOL OHL CTL1 57.500 106.00 ! glycerol
|
||||||
|
HOL OHL CTL2 57.500 106.00 ! glycerol
|
||||||
|
HOL OHL CTL3 57.500 106.00 ! glycerol
|
||||||
|
OHL CTL1 CTL1 75.700 110.10 ! glycerol, PIP
|
||||||
|
OHL CTL1 CTL2 75.700 110.10 ! glycerol
|
||||||
|
OHL CTL2 CTL1 75.700 110.10 ! glycerol
|
||||||
|
OHL CTL2 CTL2 75.700 110.10 ! glycerol
|
||||||
|
OHL CTL2 CTL3 75.700 110.10 ! glycerol
|
||||||
|
OHL CTL1 HAL1 45.900 108.89 ! glycerol
|
||||||
|
OHL CTL2 HAL2 45.900 108.89 ! glycerol
|
||||||
|
OHL CTL3 HAL3 45.900 108.89 ! glycerol
|
||||||
|
O2L SL O2L 130.0 109.47 35.0 2.45 ! methylsulfate
|
||||||
|
O2L SL OSL 85.0 98.0 ! methylsulfate
|
||||||
|
CTL2 OSL SL 15.0 109.0 27.00 1.90 ! methylsulfate
|
||||||
|
CTL3 OSL SL 15.0 109.0 27.00 1.90 ! methylsulfate
|
||||||
|
CEL1 CEL1 CTL2 48.00 123.50 ! from 2-butene, yin,adm jr., 12/95
|
||||||
|
CEL1 CEL1 CTL3 48.00 123.50 ! 2-butene, yin,adm jr., 12/95
|
||||||
|
CEL2 CEL1 CTL2 48.00 126.00 ! 1-butene; from propene, yin,adm jr., 12/95
|
||||||
|
CEL2 CEL1 CTL3 47.00 125.20 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CEL1 52.00 119.50 ! 2-butene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CEL2 42.00 118.00 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CTL2 40.00 116.00 ! 1-butene; from propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CTL3 22.00 117.00 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL2 CEL2 CEL1 45.00 120.50 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL2 CEL2 CEL2 55.50 120.50 ! ethene, yin,adm jr., 12/95
|
||||||
|
HEL2 CEL2 HEL2 19.00 119.00 ! propene, yin,adm jr., 12/95
|
||||||
|
CEL1 CTL2 CTL2 32.00 112.20 ! 1-butene; from propene, yin,adm jr., 12/95
|
||||||
|
CEL1 CTL2 CTL3 32.00 112.20 ! 1-butene; from propene, yin,adm jr., 12/95
|
||||||
|
HAL2 CTL2 CEL1 45.00 111.50 ! 1-butene; from propene, yin,adm jr., 12/95
|
||||||
|
HAL3 CTL3 CEL1 42.00 111.50 ! 2-butene, yin,adm jr., 12/95
|
||||||
|
CEL1 CTL2 CEL1 30.0 114.0 ! 1,4-dipentene, adm jr., 2/00
|
||||||
|
|
||||||
|
DIHEDRALS
|
||||||
|
!
|
||||||
|
!V(dihedral) = Kchi(1 + cos(n(chi) - delta))
|
||||||
|
!
|
||||||
|
!Kchi: kcal/mole
|
||||||
|
!n: multiplicity
|
||||||
|
!delta: degrees
|
||||||
|
!
|
||||||
|
!atom types Kchi n delta
|
||||||
|
!
|
||||||
|
X CTL1 OHL X 0.14 3 0.00 ! glycerol
|
||||||
|
X CTL2 OHL X 0.14 3 0.00 ! glycerol
|
||||||
|
X CTL3 OHL X 0.14 3 0.00 ! glycerol
|
||||||
|
OCL CCL CTL1 NH3L 3.20 2 180.00 ! for POPS
|
||||||
|
OBL CL CTL2 HAL2 0.00 6 180.00 ! acetic acid
|
||||||
|
OBL CL CTL3 HAL3 0.00 6 180.00 ! acetic acid
|
||||||
|
OSL CL CTL2 HAL2 0.00 6 180.00 ! acetic acid
|
||||||
|
OSL CL CTL3 HAL3 0.00 6 180.00 ! acetic acid
|
||||||
|
OSLP CL CTL2 HAL2 0.00 6 180.00 ! acetic acid
|
||||||
|
OSLP CL CTL3 HAL3 0.00 6 180.00 ! acetic acid
|
||||||
|
OBL CL OSL CTL1 0.965 1 180.00 ! methyl acetate
|
||||||
|
OBL CL OSL CTL1 3.85 2 180.00 ! methyl acetate
|
||||||
|
OBL CL OSL CTL2 0.965 1 180.00 ! methyl acetate
|
||||||
|
OBL CL OSL CTL2 3.85 2 180.00 ! methyl acetate
|
||||||
|
OBL CL OSL CTL3 0.965 1 180.00 ! methyl acetate
|
||||||
|
OBL CL OSL CTL3 3.85 2 180.00 ! methyl acetate
|
||||||
|
X CL OSL X 2.05 2 180.00 ! methyl acetate
|
||||||
|
X CTL2 CL X 0.05 6 180.00 ! methyl acetate
|
||||||
|
X CTL3 CL X 0.05 6 180.00 ! methyl acetate
|
||||||
|
X CL OHL X 2.05 2 180.00 ! acetic acid
|
||||||
|
X CTL1 CCL X 0.05 6 180.00 ! for POPS
|
||||||
|
HAL2 CTL2 CL OHL 0.00 6 180.00
|
||||||
|
HAL3 CTL3 CL OHL 0.00 6 180.00
|
||||||
|
PL OSLP CTL2 CTL1 0.407 2 0.00 ! Phos-gly, 8/05
|
||||||
|
PL OSLP CTL2 CTL1 0.241 1 180.00 ! Phos-gly, 8/05
|
||||||
|
PL OSLP CTL2 CTL2 0.407 2 0.00 ! Phos-gly, 8/05
|
||||||
|
PL OSLP CTL2 CTL2 0.241 1 180.00 ! Phos-gly, 8/05
|
||||||
|
OSL PL OSL CTL1 1.20 1 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSL PL OSL CTL1 0.10 2 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSL PL OSL CTL1 0.10 3 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSLP PL OSLP CTL1 1.20 1 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSLP PL OSLP CTL1 0.10 2 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSLP PL OSLP CTL1 0.10 3 180.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
OSLP PL OSLP CTL2 1.20 1 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OSLP PL OSLP CTL2 0.10 2 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OSLP PL OSLP CTL2 0.10 3 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
O2L PL OSLP CTL2 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
O2L PL OSL CTL2 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OSLP PL OSLP CTL3 1.20 1 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OSLP PL OSLP CTL3 0.10 2 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OSLP PL OSLP CTL3 0.10 3 180.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
O2L PL OSLP CTL1 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
O2L PL OSL CTL1 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr., PIP
|
||||||
|
O2L PL OSLP CTL3 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
O2L PL OSL CTL3 0.10 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
OHL PL OSL CTL1 0.95 2 0.00 ! terminal phosphate, PIP
|
||||||
|
OHL PL OSL CTL1 0.50 3 0.00 ! terminal phosphate, PIP
|
||||||
|
OHL PL OSL CTL2 0.95 2 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSL CTL2 0.50 3 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSL CTL3 0.95 2 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSL CTL3 0.50 3 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSLP CTL2 0.95 2 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSLP CTL2 0.50 3 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSLP CTL3 0.95 2 0.00 ! terminal phosphate
|
||||||
|
OHL PL OSLP CTL3 0.50 3 0.00 ! terminal phosphate
|
||||||
|
X OHL PL X 0.30 3 0.00 ! terminal phosphate
|
||||||
|
X CTL1 OSL X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
X CTL2 OSL X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
X CTL3 OSL X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
X CTL1 OSLP X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
X CTL2 OSLP X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
X CTL3 OSLP X 0.00 3 0.00 ! phosphate, new NA, 4/98, adm jr.
|
||||||
|
CTL1 CTL2 CL OSL -0.15 1 180.00 ! methyl propionate, 12/92
|
||||||
|
CTL1 CTL2 CL OSL 0.53 2 180.00 ! methyl propionate, 12/92
|
||||||
|
CTL2 CTL2 CL OSL 0.000 6 0.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL2 CTL2 CL OSL 0.030 3 180.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL2 CTL2 CL OSL 0.432 2 180.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL2 CTL2 CL OSL 0.332 1 0.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL3 CTL2 CL OSL 0.000 6 0.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL3 CTL2 CL OSL 0.030 3 180.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL3 CTL2 CL OSL 0.432 2 180.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL3 CTL2 CL OSL 0.332 1 0.00 ! glycerol & propl ester, 6/07
|
||||||
|
CTL3 CTL2 CTL2 CL 0.000 5 180.00 ! propyl ester, 6/07
|
||||||
|
CTL3 CTL2 CTL2 CL 0.317 3 180.00 ! propyl ester, 6/07
|
||||||
|
CTL3 CTL2 CTL2 CL 0.557 2 0.00 ! propyl ester, 6/07
|
||||||
|
CTL3 CTL2 CTL2 CL 0.753 1 0.00 ! propyl ester, 6/07
|
||||||
|
CTL2 CTL2 CTL2 CL 0.000 5 180.00 ! propyl ester, 6/07
|
||||||
|
CTL2 CTL2 CTL2 CL 0.317 3 180.00 ! propyl ester, 6/07
|
||||||
|
CTL2 CTL2 CTL2 CL 0.557 2 0.00 ! propyl ester, 6/07
|
||||||
|
CTL2 CTL2 CTL2 CL 0.753 1 0.00 ! propyl ester, 6/07
|
||||||
|
OSL CTL2 CTL1 OSL -0.429 4 60.00 ! glycerol, 8/08
|
||||||
|
OSL CTL2 CTL1 OSL 0.614 3 0.00 ! glycerol, 8/08
|
||||||
|
OSL CTL2 CTL1 OSL -0.115 2 60.00 ! glycerol, 8/08
|
||||||
|
OSL CTL2 CTL1 OSL 0.703 1 180.00 ! glycerol, 8/08
|
||||||
|
OSLP CTL2 CTL1 OSL 0.000 4 0.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL1 OSL 0.607 3 180.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL1 OSL 0.254 2 60.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL1 OSL 2.016 1 180.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL2 OSL 0.000 4 0.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL2 OSL 0.607 3 180.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL2 OSL 0.254 2 60.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
OSLP CTL2 CTL2 OSL 2.016 1 180.00 ! Fit to QM, theta2, 07/08 jbk
|
||||||
|
CTL3 CTL1 CTL2 OSL 0.000 3 0.00 ! glycerol, theta3
|
||||||
|
CTL2 CTL1 CTL2 OSL 0.000 3 0.00 ! glycerol, theta3
|
||||||
|
CTL3 CTL2 CTL2 OSL 0.000 3 0.00 ! glycerol, theta3
|
||||||
|
CTL2 CTL2 CTL2 OSL 0.000 3 0.00 ! glycerol, theta3
|
||||||
|
CL OSL CTL1 CTL2 0.000 4 0.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL2 0.150 3 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL2 1.453 2 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL2 0.837 1 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL3 0.000 4 0.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL3 0.150 3 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL3 1.453 2 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL1 CTL3 0.837 1 180.00 ! glycerol, beta1 6/07
|
||||||
|
CL OSL CTL2 CTL1 0.267 3 180.00 ! glycerol, gamma1 6/07
|
||||||
|
CL OSL CTL2 CTL1 0.173 2 0.00 ! glycerol, gamma1 6/07
|
||||||
|
CL OSL CTL2 CTL1 0.781 1 180.00 ! glycerol, gamma1 6/07
|
||||||
|
X CTL2 NTL X 0.26 3 0.00 ! tetramethylammonium
|
||||||
|
X CTL5 NTL X 0.23 3 0.00 ! tetramethylammonium
|
||||||
|
X CTL1 NH3L X 0.10 3 0.00 ! for POPS
|
||||||
|
X CTL2 NH3L X 0.10 3 0.00 ! ethanolamine
|
||||||
|
NH3L CTL2 CTL2 OHL 0.7 1 180.00 ! ethanolamine
|
||||||
|
NH3L CTL2 CTL2 OSLP 0.7 1 180.00 ! ethanolamine
|
||||||
|
NTL CTL2 CTL2 OHL 4.3 1 180.00 ! choline, 12/92
|
||||||
|
NTL CTL2 CTL2 OHL -0.4 3 180.00 ! choline, 12/92
|
||||||
|
NTL CTL2 CTL2 OSLP 3.3 1 180.00 ! choline, 12/92
|
||||||
|
NTL CTL2 CTL2 OSLP -0.4 3 180.00 ! choline, 12/92
|
||||||
|
X CTL1 CTL1 X 0.200 3 0.00 ! alkane, 3/92
|
||||||
|
X CTL1 CTL2 X 0.200 3 0.00 ! alkane, 3/92
|
||||||
|
X CTL1 CTL3 X 0.200 3 0.00 ! alkane, 3/92
|
||||||
|
X CTL2 CTL2 X 0.1900 3 0.00 ! alkane, 4/98, yin and mackerell
|
||||||
|
X CTL2 CTL3 X 0.1600 3 0.00 ! alkane, 4/98, yin and mackerell
|
||||||
|
X CTL3 CTL3 X 0.1525 3 0.00 ! alkane, 4/98, yin and mackerell
|
||||||
|
!alkane CCCC dihedrals based on pentane, heptane and hexane vdz/vqz/ccsd(t) QM data
|
||||||
|
CTL3 CTL2 CTL2 CTL3 0.060 2 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL3 CTL2 CTL2 CTL3 0.035 5 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL3 0.162 2 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL3 0.047 3 180.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL3 0.105 4 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL3 0.177 5 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL2 0.101 2 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL2 0.142 3 180.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL2 0.074 4 0.00 ! alkane, 7/08, jbk
|
||||||
|
CTL2 CTL2 CTL2 CTL2 0.097 5 0.00 ! alkane, 7/08, jbk
|
||||||
|
HAL3 CTL3 OSL SL 0.00 3 0.00 ! methylsulfate
|
||||||
|
CTL2 OSL SL O2L 0.00 3 0.00 ! methylsulfate
|
||||||
|
CTL3 OSL SL O2L 0.00 3 0.00 ! methylsulfate
|
||||||
|
HEL1 CEL1 CEL1 HEL1 1.0000 2 180.00 ! 2-butene, adm jr., 8/98 update
|
||||||
|
CTL3 CEL1 CEL1 HEL1 1.0000 2 180.00 ! 2-butene, adm jr., 8/98 update
|
||||||
|
X CEL1 CEL1 X 0.4500 1 180.00 ! 2-butene, adm jr., 4/04
|
||||||
|
X CEL1 CEL1 X 8.5000 2 180.00 !
|
||||||
|
X CEL2 CEL2 X 4.9000 2 180.00 ! ethene, yin,adm jr., 12/95
|
||||||
|
CTL2 CEL1 CEL2 HEL2 5.2000 2 180.00 ! propene, yin,adm jr., 12/95
|
||||||
|
CTL3 CEL1 CEL2 HEL2 5.2000 2 180.00 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CEL2 HEL2 5.2000 2 180.00 ! propene, yin,adm jr., 12/95
|
||||||
|
!alkene update, 2004,2009
|
||||||
|
CEL1 CEL1 CTL2 HAL2 0.3000 3 180.00 !2-butene, adm jr., 4/04
|
||||||
|
CEL1 CEL1 CTL3 HAL3 0.3000 3 180.00 !2-butene, adm jr., 4/04
|
||||||
|
!CEL1 CEL1 CTL2 CTL3 0.9000 1 180.00 !2-pentene and 3-heptene
|
||||||
|
!CEL1 CEL1 CTL2 CTL3 0.2000 2 180.00 !2-pentene and 3-heptene
|
||||||
|
CEL1 CEL1 CTL2 CTL3 0.9100 1 180.0 !2-hexene, adm jr., 11/09, end fix jbk
|
||||||
|
CEL1 CEL1 CTL2 CTL3 0.1800 2 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CEL1 CTL2 CTL3 0.1700 3 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CEL1 CTL2 CTL2 0.9100 1 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CEL1 CTL2 CTL2 0.1800 2 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CEL1 CTL2 CTL2 0.1700 3 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CL 0.1400 1 180.0 !2-hexene, adm jr., 11/09, add jbk for DHA
|
||||||
|
CEL1 CTL2 CTL2 CL 0.1700 2 0.0 !2-hexene, adm jr., 11/09, add jbk for DHA
|
||||||
|
CEL1 CTL2 CTL2 CL 0.0500 3 180.0 !2-hexene, adm jr., 11/09, add jbk for DHA
|
||||||
|
CEL1 CTL2 CTL2 CTL2 0.1400 1 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CTL2 0.1700 2 0.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CTL2 0.0500 3 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CTL3 0.1400 1 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CTL3 0.1700 2 0.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL1 CTL2 CTL2 CTL3 0.0500 3 180.0 !2-hexene, adm jr., 11/09
|
||||||
|
CEL2 CEL1 CTL2 CTL2 0.5000 1 180.00 ! 1-butene, adm jr., 2/00 update
|
||||||
|
CEL2 CEL1 CTL2 CTL2 1.3000 3 180.00 ! 1-butene, adm jr., 2/00 update
|
||||||
|
CEL2 CEL1 CTL2 CTL3 0.5000 1 180.00 ! 1-butene, adm jr., 2/00 update
|
||||||
|
CEL2 CEL1 CTL2 CTL3 1.3000 3 180.00 ! 1-butene, adm jr., 2/00 update
|
||||||
|
CEL2 CEL1 CTL2 HAL2 0.1200 3 0.00 ! 1-butene, yin,adm jr., 12/95
|
||||||
|
CEL2 CEL1 CTL3 HAL3 0.0500 3 180.00 ! propene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CTL2 CTL2 0.1200 3 0.00 ! butene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CTL2 CTL3 0.1200 3 0.00 ! butene, yin,adm jr., 12/95
|
||||||
|
HEL1 CEL1 CTL2 HAL2 0.0000 3 0.00 ! butene, adm jr., 2/00 update
|
||||||
|
HEL1 CEL1 CTL3 HAL3 0.0000 3 0.00 ! butene, adm jr., 2/00 update
|
||||||
|
! 1,4-dipentene, adm jr., 2/00
|
||||||
|
CEL2 CEL1 CTL2 CEL1 1.200 1 180.00 !1,4-dipentene
|
||||||
|
CEL2 CEL1 CTL2 CEL1 0.400 2 180.00 !1,4-dipentene
|
||||||
|
CEL2 CEL1 CTL2 CEL1 1.300 3 180.00 !1,4-dipentene
|
||||||
|
CEL1 CTL2 CEL1 HEL1 0.000 2 0.00 !1,4-dipentene
|
||||||
|
CEL1 CTL2 CEL1 HEL1 0.000 3 0.00 !1,4-dipentene
|
||||||
|
! 2,5-diheptene, jbk., 9/2010
|
||||||
|
! for CIS double bonds in polyunsaturated lipids (default)
|
||||||
|
CEL1 CEL1 CTL2 CEL1 0.850 1 180.00 !2,5-diheptane
|
||||||
|
CEL1 CEL1 CTL2 CEL1 0.300 2 180.00 !2,5-diheptane
|
||||||
|
CEL1 CEL1 CTL2 CEL1 0.260 3 0.00 !2,5-diheptane
|
||||||
|
CEL1 CEL1 CTL2 CEL1 0.096 4 0.00 !2,5-diheptane
|
||||||
|
! for TRANS double bonds in polyunsaturated lipids
|
||||||
|
! uncomment following 4 lines and comment previous 4 lines to use
|
||||||
|
!CEL1 CEL1 CTL2 CEL1 1.200 1 180.00 !2,5-diheptane
|
||||||
|
!CEL1 CEL1 CTL2 CEL1 0.200 2 180.00 !2,5-diheptane
|
||||||
|
!CEL1 CEL1 CTL2 CEL1 1.200 3 180.00 !2,5-diheptane
|
||||||
|
!CEL1 CEL1 CTL2 CEL1 0.100 4 180.00 !2,5-diheptane
|
||||||
|
|
||||||
|
!
|
||||||
|
IMPROPER
|
||||||
|
!
|
||||||
|
!V(improper) = Kpsi(psi - psi0)**2
|
||||||
|
!
|
||||||
|
!Kpsi: kcal/mole/rad**2
|
||||||
|
!psi0: degrees
|
||||||
|
!note that the second column of numbers (0) is ignored
|
||||||
|
!
|
||||||
|
!atom types Kpsi psi0
|
||||||
|
!
|
||||||
|
OBL X X CL 100.00 0 0.00 ! acetic acid
|
||||||
|
HEL2 HEL2 CEL2 CEL2 3.00 0 0.00 ! ethene, yin,adm jr., 12/95
|
||||||
|
OCL X X CL 96.00 0 0.00 ! acetate
|
||||||
|
OCL X X CCL 96.00 0 0.00 ! for POPS
|
||||||
|
|
||||||
|
|
||||||
|
NONBONDED nbxmod 5 atom cdiel fshift vatom vdistance vfswitch -
|
||||||
|
cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5
|
||||||
|
!
|
||||||
|
!V(Lennard-Jones) = Eps,i,j[(Rmin,i,j/ri,j)**12 - 2(Rmin,i,j/ri,j)**6]
|
||||||
|
!
|
||||||
|
!epsilon: kcal/mole, Eps,i,j = sqrt(eps,i * eps,j)
|
||||||
|
!Rmin/2: A, Rmin,i,j = Rmin/2,i + Rmin/2,j
|
||||||
|
!
|
||||||
|
!atom ignored epsilon Rmin/2 ignored eps,1-4 Rmin/2,1-4
|
||||||
|
!
|
||||||
|
HOL 0.0 -0.046 0.2245
|
||||||
|
HAL1 0.0 -0.022 1.3200 ! alkane, 3/92
|
||||||
|
HAL2 0.0 -0.028 1.3400 ! alkane, yin and mackerell, 4/98
|
||||||
|
HAL3 0.0 -0.024 1.3400 ! alkane, yin and mackerell, 4/98
|
||||||
|
HBL 0.0 -0.022 1.3200 ! for POPS
|
||||||
|
HCL 0.0 -0.046 0.2245 ! ethanolamine
|
||||||
|
HL 0.0 -0.046 0.7 ! polar H on NC4+
|
||||||
|
HEL1 0.0 -0.031 1.25 ! alkene, yin,adm jr., 12/95
|
||||||
|
HEL2 0.0 -0.026 1.26 ! alkene, yin,adm jr., 12/95
|
||||||
|
!
|
||||||
|
CL 0.0 -0.0700 2.00 ! methyl acetate update
|
||||||
|
CCL 0.0 -0.0700 2.00 ! for POPS
|
||||||
|
CTL1 0.0 -0.0200 2.275 0.0 -0.01 1.9 ! alkane, 3/92
|
||||||
|
CTL2 0.0 -0.0560 2.010 0.0 -0.01 1.9 ! alkane, 4/98, yin, adm jr.
|
||||||
|
CTL3 0.0 -0.0780 2.040 0.0 -0.01 1.9 ! alkane, 4/98, yin, adm jr.
|
||||||
|
CTL5 0.0 -0.0800 2.06 0.0 -0.01 1.9 ! old CTL3
|
||||||
|
! maintained for tetramethylammonium
|
||||||
|
CEL1 0.0 -0.068 2.09 ! alkene, yin,adm jr., 12/95
|
||||||
|
CEL2 0.0 -0.064 2.08 ! alkene, yin,adm jr., 12/95
|
||||||
|
CRL1 0.0 -0.0360 2.010 0.0 -0.01 1.9 ! CGAFF, jbk add for cholesterol
|
||||||
|
CRL2 0.0 -0.0600 2.020 0.0 -0.01 1.9 ! CPEN, cyclopentane, 8/06 viv (jbk add)
|
||||||
|
|
||||||
|
!
|
||||||
|
OBL 0.0 -0.12 1.70 0.0 -0.12 1.4
|
||||||
|
OCL 0.0 -0.12 1.70
|
||||||
|
O2L 0.0 -0.12 1.70
|
||||||
|
OHL 0.0 -0.1521 1.77
|
||||||
|
OSL 0.0 -0.1000 1.6500 !viv dec06 ether parameter
|
||||||
|
OSLP 0.0 -0.1000 1.6500 !viv dec06 ether parameter
|
||||||
|
!
|
||||||
|
NH3L 0.0 -0.20 1.85 ! ethanolamine
|
||||||
|
NTL 0.0 -0.20 1.85 ! as all other nitogens
|
||||||
|
!
|
||||||
|
SL 0.0 -0.47 2.1 ! methylsulfate
|
||||||
|
PL 0.0 -0.585 2.15 ! ADM Jr.
|
||||||
|
|
||||||
|
NBFIX
|
||||||
|
! Emin Rmin
|
||||||
|
! (kcal/mol) (A)
|
||||||
|
!
|
||||||
|
|
||||||
|
HBOND CUTHB 0.5 ! If you want to do hbond analysis (only), then use
|
||||||
|
! READ PARAM APPEND CARD
|
||||||
|
! to append hbond parameters from the file: par_hbond.inp
|
||||||
|
|
||||||
|
END
|
||||||
1253
tests/0-forcefields/par_all36_na.prm
Normal file
1253
tests/0-forcefields/par_all36_na.prm
Normal file
File diff suppressed because it is too large
Load Diff
3411
tests/0-forcefields/par_all36m_prot.prm
Normal file
3411
tests/0-forcefields/par_all36m_prot.prm
Normal file
File diff suppressed because it is too large
Load Diff
3988
tests/0-forcefields/toppar_all36_na_nad_ppi.str
Normal file
3988
tests/0-forcefields/toppar_all36_na_nad_ppi.str
Normal file
File diff suppressed because it is too large
Load Diff
239
tests/0-forcefields/toppar_water_ions_namd.str
Normal file
239
tests/0-forcefields/toppar_water_ions_namd.str
Normal file
@@ -0,0 +1,239 @@
|
|||||||
|
* Toplogy and parameter information for water and ions.
|
||||||
|
read rtf card append
|
||||||
|
* Topology for water and ions
|
||||||
|
*
|
||||||
|
31 1
|
||||||
|
|
||||||
|
MASS 1 HT 1.00800 H ! TIPS3P WATER HYDROGEN
|
||||||
|
MASS 2 HX 1.00800 H ! hydroxide hydrogen
|
||||||
|
MASS 3 OT 15.99940 O ! TIPS3P WATER OXYGEN
|
||||||
|
MASS 4 OX 15.99940 O ! hydroxide oxygen
|
||||||
|
MASS 5 LIT 6.94100 LI ! Lithium ion
|
||||||
|
MASS 6 SOD 22.98977 NA ! Sodium Ion
|
||||||
|
MASS 7 MG 24.30500 MG ! Magnesium Ion
|
||||||
|
MASS 8 POT 39.09830 K ! Potassium Ion
|
||||||
|
MASS 9 CAL 40.08000 CA ! Calcium Ion
|
||||||
|
MASS 10 RUB 85.46780 RB ! Rubidium Ion
|
||||||
|
MASS 11 CES 132.90545 CS ! Cesium Ion
|
||||||
|
MASS 12 BAR 137.32700 BA ! Barium Ion
|
||||||
|
MASS 13 ZN 65.37000 ZN ! zinc (II) cation
|
||||||
|
MASS 14 CAD 112.41100 CD ! cadmium (II) cation
|
||||||
|
MASS 15 CLA 35.45000 CL ! Chloride Ion
|
||||||
|
|
||||||
|
default first none last none
|
||||||
|
|
||||||
|
RESI TIP3 0.000 ! tip3p water model, generate using noangle nodihedral
|
||||||
|
GROUP
|
||||||
|
ATOM OH2 OT -0.834
|
||||||
|
ATOM H1 HT 0.417
|
||||||
|
ATOM H2 HT 0.417
|
||||||
|
BOND OH2 H1 OH2 H2 H1 H2 ! the last bond is needed for shake
|
||||||
|
ANGLE H1 OH2 H2 ! required
|
||||||
|
DONOR H1 OH2
|
||||||
|
DONOR H2 OH2
|
||||||
|
ACCEPTOR OH2
|
||||||
|
PATCHING FIRS NONE LAST NONE
|
||||||
|
|
||||||
|
RESI TP3M 0.000 ! "mmff" water model, as an analog of tip3p
|
||||||
|
GROUP
|
||||||
|
ATOM OH2 OT -0.834 ! these charges are replaced by the mmff setup
|
||||||
|
ATOM H1 HT 0.417 ! these charges are replaced by the mmff setup
|
||||||
|
ATOM H2 HT 0.417 ! these charges are replaced by the mmff setup
|
||||||
|
BOND OH2 H1 OH2 H2 ! omits the H1-H2 bond, which is needed for shake with tip3p
|
||||||
|
ANGLE H1 OH2 H2 ! required
|
||||||
|
DONOR H1 OH2
|
||||||
|
DONOR H2 OH2
|
||||||
|
ACCEPTOR OH2
|
||||||
|
PATCHING FIRS NONE LAST NONE
|
||||||
|
|
||||||
|
RESI OH -1.00 ! hydroxide ion by adm.jr.
|
||||||
|
GROUP
|
||||||
|
ATOM O1 OX -1.32
|
||||||
|
ATOM H1 HX 0.32
|
||||||
|
BOND O1 H1
|
||||||
|
DONOR H1 O1
|
||||||
|
ACCEPTOR O1
|
||||||
|
|
||||||
|
! Ion parameters from Benoit Roux and Coworkers
|
||||||
|
! As of 8/10 new NBFIX terms required
|
||||||
|
!
|
||||||
|
RESI LIT 1.00 ! Lithium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM LIT LIT 1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI SOD 1.00 ! Sodium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM SOD SOD 1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI MG 2.00 ! Magnesium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM MG MG 2.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI POT 1.00 ! Potassium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM POT POT 1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI CAL 2.00 ! Calcium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM CAL CAL 2.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI RUB 1.00 ! Rubidium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM RUB RUB 1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI CES 1.00 ! Cesium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM CES CES 1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI BAR 2.00 ! Barium Ion
|
||||||
|
GROUP
|
||||||
|
ATOM BAR BAR 2.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI ZN2 2.00 ! Zinc (II) cation, Roland Stote
|
||||||
|
GROUP
|
||||||
|
ATOM ZN ZN 2.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI CD2 2.00 ! Cadmium (II) cation
|
||||||
|
GROUP
|
||||||
|
ATOM CD CAD 2.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
RESI CLA -1.00 ! Chloride Ion
|
||||||
|
GROUP
|
||||||
|
ATOM CLA CLA -1.00
|
||||||
|
PATCHING FIRST NONE LAST NONE
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
read para card flex append
|
||||||
|
* Parameters for water and ions
|
||||||
|
*
|
||||||
|
|
||||||
|
ATOMS
|
||||||
|
MASS 1 HT 1.00800 ! TIPS3P WATER HYDROGEN
|
||||||
|
MASS 2 HX 1.00800 ! hydroxide hydrogen
|
||||||
|
MASS 3 OT 15.99940 ! TIPS3P WATER OXYGEN
|
||||||
|
MASS 4 OX 15.99940 ! hydroxide oxygen
|
||||||
|
MASS 5 LIT 6.94100 ! Lithium ion
|
||||||
|
MASS 6 SOD 22.98977 ! Sodium Ion
|
||||||
|
MASS 7 MG 24.30500 ! Magnesium Ion
|
||||||
|
MASS 8 POT 39.09830 ! Potassium Ion
|
||||||
|
MASS 9 CAL 40.08000 ! Calcium Ion
|
||||||
|
MASS 10 RUB 85.46780 ! Rubidium Ion
|
||||||
|
MASS 11 CES 132.90545 ! Cesium Ion
|
||||||
|
MASS 12 BAR 137.32700 ! Barium Ion
|
||||||
|
MASS 13 ZN 65.37000 ! zinc (II) cation
|
||||||
|
MASS 14 CAD 112.41100 ! cadmium (II) cation
|
||||||
|
MASS 15 CLA 35.45000 ! Chloride Ion
|
||||||
|
|
||||||
|
BONDS
|
||||||
|
!
|
||||||
|
!V(bond) = Kb(b - b0)**2
|
||||||
|
!
|
||||||
|
!Kb: kcal/mole/A**2
|
||||||
|
!b0: A
|
||||||
|
!
|
||||||
|
!atom type Kb b0
|
||||||
|
!
|
||||||
|
HT HT 0.0 1.5139 ! from TIPS3P geometry (for SHAKE w/PARAM)
|
||||||
|
HT OT 450.0 0.9572 ! from TIPS3P geometry
|
||||||
|
OX HX 545.0 0.9700 ! hydroxide ion
|
||||||
|
|
||||||
|
ANGLES
|
||||||
|
!
|
||||||
|
!V(angle) = Ktheta(Theta - Theta0)**2
|
||||||
|
!
|
||||||
|
!V(Urey-Bradley) = Kub(S - S0)**2
|
||||||
|
!
|
||||||
|
!Ktheta: kcal/mole/rad**2
|
||||||
|
!Theta0: degrees
|
||||||
|
!Kub: kcal/mole/A**2 (Urey-Bradley)
|
||||||
|
!S0: A
|
||||||
|
!
|
||||||
|
!atom types Ktheta Theta0 Kub S0
|
||||||
|
!
|
||||||
|
HT OT HT 55.0 104.52 ! FROM TIPS3P GEOMETRY
|
||||||
|
|
||||||
|
DIHEDRALS
|
||||||
|
!
|
||||||
|
!V(dihedral) = Kchi(1 + cos(n(chi) - delta))
|
||||||
|
!
|
||||||
|
!Kchi: kcal/mole
|
||||||
|
!n: multiplicity
|
||||||
|
!delta: degrees
|
||||||
|
!
|
||||||
|
!atom types Kchi n delta
|
||||||
|
!
|
||||||
|
|
||||||
|
|
||||||
|
!
|
||||||
|
IMPROPER
|
||||||
|
!
|
||||||
|
!V(improper) = Kpsi(psi - psi0)**2
|
||||||
|
!
|
||||||
|
!Kpsi: kcal/mole/rad**2
|
||||||
|
!psi0: degrees
|
||||||
|
!note that the second column of numbers (0) is ignored
|
||||||
|
!
|
||||||
|
!atom types Kpsi psi0
|
||||||
|
!
|
||||||
|
|
||||||
|
NONBONDED nbxmod 5 atom cdiel fshift vatom vdistance vfswitch -
|
||||||
|
cutnb 14.0 ctofnb 12.0 ctonnb 10.0 eps 1.0 e14fac 1.0 wmin 1.5
|
||||||
|
|
||||||
|
!TIP3P LJ parameters
|
||||||
|
HT 0.0 -0.046 0.2245
|
||||||
|
OT 0.0 -0.1521 1.7682
|
||||||
|
|
||||||
|
!for hydroxide
|
||||||
|
OX 0.000000 -0.120000 1.700000 ! ALLOW POL ION
|
||||||
|
! JG 8/27/89
|
||||||
|
HX 0.000000 -0.046000 0.224500 ! ALLOW PEP POL SUL ARO ALC
|
||||||
|
! same as TIP3P hydrogen, adm jr., 7/20/89
|
||||||
|
|
||||||
|
!ions
|
||||||
|
LIT 0.0 -0.00233 1.2975 ! Lithium
|
||||||
|
! From S Noskov, target ddG(Li-Na) was 23-26.0 kcal/mol (see JPC B, Lamoureux&Roux,2006)
|
||||||
|
SOD 0.0 -0.0469 1.41075 ! new CHARMM Sodium
|
||||||
|
! ddG of -18.6 kcal/mol with K+ from S. Noskov
|
||||||
|
MG 0.0 -0.0150 1.18500 ! Magnesium
|
||||||
|
! B. Roux dA = -441.65
|
||||||
|
POT 0.0 -0.0870 1.76375 ! Potassium
|
||||||
|
! D. Beglovd and B. Roux, dA=-82.36+2.8 = -79.56 kca/mol
|
||||||
|
CAL 0.0 -0.120 1.367 ! Calcium
|
||||||
|
! S. Marchand and B. Roux, dA = -384.8 kcal/mol
|
||||||
|
RUB 0.0000 -0.15 1.90 ! Rubidium
|
||||||
|
! delta A with respect to POT is +6.0 kcal/mol in bulk water
|
||||||
|
CES 0.0 -0.1900 2.100 ! Cesium
|
||||||
|
! delta A with respect to POT is +12.0 kcal/mol
|
||||||
|
BAR 0.0 -0.150 1.890 ! Barium
|
||||||
|
! B. Roux, dA = dA[calcium] + 64.2 kcal/mol
|
||||||
|
ZN 0.000000 -0.250000 1.090000 ! Zinc
|
||||||
|
! RHS March 18, 1990
|
||||||
|
CAD 0.000000 -0.120000 1.357000 ! Cadmium
|
||||||
|
! S. Marchand and B. Roux, from delta delta G
|
||||||
|
CLA 0.0 -0.150 2.27 ! Chloride
|
||||||
|
! D. Beglovd and B. Roux, dA=-83.87+4.46 = -79.40 kcal/mol
|
||||||
|
|
||||||
|
NBFIX
|
||||||
|
! Emin Rmin
|
||||||
|
! (kcal/mol) (A)
|
||||||
|
SOD CLA -0.083875 3.731 ! From osmotic pressure calibration, J. Phys.Chem.Lett. 1:183-189
|
||||||
|
POT CLA -0.114236 4.081 ! From osmotic pressure calibration, J. Phys.Chem.Lett. 1:183-189
|
||||||
|
|
||||||
|
!new SOD NBFIX values
|
||||||
|
SOD OC -0.07502 3.23 ! osmotic P; carboxylate =O
|
||||||
|
SOD OS -0.07502 3.13 ! POPC optim.; ester =O
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
Reference in New Issue
Block a user