Skip to content

Commit

Permalink
updated oplsaa.lt and loplsaa.lt files for compatibility with the 202…
Browse files Browse the repository at this point in the history
…3 version of OPLSAA
  • Loading branch information
jewettaij committed Dec 3, 2024
1 parent 97f3217 commit 3163ec2
Show file tree
Hide file tree
Showing 2 changed files with 10,682 additions and 0 deletions.
301 changes: 301 additions & 0 deletions moltemplate/force_fields/loplsaa.lt
Original file line number Diff line number Diff line change
@@ -0,0 +1,301 @@
############################################################################
## Extra OPLSAA parameters and atom types for long hydrocarbon chains from:
## LOPLS2012 Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8(4),1459
## LOPLS2015 Pluhackova,...,Böckmann, J.Phys.Chem.B (2015), 119(49), 15287
## CREDIT: Sebastian Echeverri, Andrew Jewett (file format conversion)
############################################################################
## WARNING: This file was generated by hand (see below).
## Please double-check that the properties of the atom types you have
## selected agree with the original LOPLS papers from 2012 and 2015.
## And please let me know if you see any errors.
## -Andrew 2024-12-02
############################################################################


import "oplsaa.lt" # Load the original definition of the "OPLSAA" object


# We will augment the definition of the "OPLSAA" force field below
# to include atom types and dihedral interactions from the 2 papers above
# (LOPLS2012, LOPLS2015).


OPLSAA {

# Below we will use lammps "set" command to assign atom charges
# by atom type. https://docs.lammps.org/set.html
# (Each set command is followed by an atom type description.)

write_once("In Charges") {

# LOPLS(2012):
set type @atom:54L charge -0.222 # C - CT | n-CH3 C: alkanes (LOPLS,2012)
set type @atom:57L charge -0.148 # C - CT | CH2 C: alkanes (LOPLS,2012)
set type @atom:60LCH3 charge 0.074 # H - HC | CH3 H: alkanes (LOPLS,2012)
set type @atom:60LCH2 charge 0.074 # H - HC | CH2 H: alkanes (LOPLS,2012)
set type @atom:142L charge -0.16 # C - CM | alkene C (RH-C=) (LOPLS,2012)
set type @atom:144L charge 0.16 # H - HC | alkene H (H-C=) (LOPLS,2012)
set type @atom:141L charge 0.0 # C - CM | alkene C (R2-C=) (LOPLS,2012)
set type @atom:143L charge -0.23 # C - CM | alkene C (H2-C=) (LOPLS,2012)
set type @atom:227L charge 0.005 # C - CM | chloroalkene C (ClH-C=) (LOPLS,2012)
set type @atom:323L charge -0.07 # C - CM | Uracil C5 (LOPLS,2012)
set type @atom:381L charge 0.08 # C - CM | Uracil C6 (LOPLS,2012)
set type @atom:337L charge -0.06 # C - CM | Cytosine C5 (LOPLS,2012)
set type @atom:338L charge 0.1 # C - CM | Cytosine C6 (LOPLS,2012)
set type @atom:381L charge -0.06 # C - CM | CytH+ C5 (LOPLS,2012)
set type @atom:382L charge 0.1 # C - CM | CytH+ C6 (LOPLS,2012)
set type @atom:397L charge 0.18 # C - CM | F3C-C5 thymine; trifluorothymine (LOPLS,2012)
set type @atom:399L charge 0.12 # C - CM | chloroalkene C (Cl2-C=) - tentaive (LOPLS,2012)
set type @atom:517L charge -0.03 # C - CM | vinyl ether HCOR (LOPLS,2012)
set type @atom:518L charge 0.085 # C - CM | vinyl ether RCOR (LOPLS,2012)
set type @atom:708L charge -0.344 # C - CM | C in Cl..CH3..Cl- TS (LOPLS,2012)
set type @atom:1154L charge -0.25 # C - CM | allene C1 CH2 (LOPLS,2012)
set type @atom:1155L charge -0.1 # C - CM | allene C1 CHR (LOPLS,2012)
set type @atom:1156L charge 0.05 # C - CM | allene C1 CR2 (LOPLS,2012)

# LOPLS(2015): Alcohols
set type @atom:154L charge -0.683 # O - OH | O: mono alcohols (LOPLS,2015)
set type @atom:155L charge 0.418 # H - HO | H(O): mono alcohols (LOPLS,2015)
set type @atom:227L charge -0.7 # O - OH | O: diols "Diol -OH (LOPLS,2015)
set type @atom:170L charge 0.435 # H - HO | H(O): diols (LOPLS,2015)
set type @atom:171L charge -0.73 # O - OH | O: triols (LOPLS,2015)
set type @atom:172L charge 0.465 # H - HO | H(O): triols (LOPLS,2015)

set type @atom:777L charge 0.06 # H - HC | propylene carbonate H in CH2
# NOTE: The @atom number for the previous atom might be wrong.
# In the old "loplsaa.lt" file, @atom:718L is a hydrogen atom described this way:
# "Aliphatic hydrogen diols and triols (LOPLS,2015)"
# But the corresponding atom in the old "oplsaa2008.lt" file was described this way:
# "Propylene Carbonate CH2"
# ...which corresponds to @atom:777 in the new "oplsaa.lt" file (from 2023).
# Anyway, please use caution if selecting this atom type. -Andrew 2024-12-02


# LOPLS(2015): Esters
# For the next 3 lines, I might have selected the wrong @atom: numbers:
# Use caution if selecting these atom types. -Andrew 2024-12-02
set type @atom:465L charge 0.75 # C - C | AA C: esters - for R on C=O, use - (LOPLS,2015)
set type @atom:466L charge -0.55 # O - O | AA =O: esters ketone params (see 280-282 from oplsaa.lt) - (LOPLS,2015)
set type @atom:467L charge -0.45 # O - OS | AA -OR: ester - (LOPLS,2015)"
} #(end of atom partial charges)


write_once("Data Masses") {
@atom:54L 12.011
@atom:57L 12.011
@atom:60LCH3 1.008
@atom:60LCH2 1.008
@atom:142L 12.011
@atom:144L 1.008
@atom:141L 12.011
@atom:143L 12.011
@atom:154L 15.999
@atom:155L 1.008
@atom:169L 15.999
@atom:170L 1.008
@atom:171L 15.999
@atom:172L 1.008
@atom:227L 12.011
@atom:323L 12.011
@atom:324L 12.011
@atom:337L 12.011
@atom:338L 12.011
@atom:381L 12.011
@atom:382L 12.011
@atom:397L 12.011
@atom:399L 12.011
@atom:465L 12.011
@atom:466L 15.999
@atom:467L 15.999
@atom:517L 12.011
@atom:518L 12.011
@atom:708L 12.011
@atom:777L 1.008
@atom:1154L 12.011
@atom:1155L 12.011
@atom:1156L 12.011
} #(end of atom masses)


# ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ----------
# Each type of atom has a separate ID used for looking up bond parameters
# and a separate ID for looking up 3-body angle interaction parameters
# and a separate ID for looking up 4-body dihedral interaction parameters
# and a separate ID for looking up 4-body improper interaction parameters
# The complete @atom type name includes ALL of these ID numbers. There's
# no need to force the end-user to type the complete name of each atom.
# The "replace" command used below informs moltemplate that the short
# @atom names we have been using above are equivalent to the complete
# @atom names used below:

replace{ @atom:54L @atom:54L_bCT_aCT_dCTL_iCT }
replace{ @atom:57L @atom:57L_bCT_aCT_dCTL_iCT }
replace{ @atom:60LCH3 @atom:60LCH3_bHC_aHC_dHC_iHC }
replace{ @atom:60LCH2 @atom:60LCH2_bHC_aHC_dHC_iHC }
replace{ @atom:142L @atom:142L_bCM_aCM_dCML_iCM }
replace{ @atom:144L @atom:144L_bHC_aHC_dHC_iHC }
replace{ @atom:141L @atom:141L_bCM_aCM_dCML_iCM }
replace{ @atom:143L @atom:143L_bCM_aCM_dCML_iCM }
replace{ @atom:154L @atom:154L_bOH_aOH_dOHL_iOH }
replace{ @atom:155L @atom:155L_bHO_aHO_dHOL_iHO }
replace{ @atom:169L @atom:169L_bOH_aOH_dOHL_iOH }
replace{ @atom:170L @atom:170L_bHO_aHO_dHOL_iHO }
replace{ @atom:171L @atom:171L_bOH_aOH_dOHL_iOH }
replace{ @atom:172L @atom:172L_bHO_aHO_dHOL_iHO }
replace{ @atom:227L @atom:227L_bCM_aCM_dCML_iCM }
replace{ @atom:323L @atom:323L_bCM_aCM_dCML_iCM }
replace{ @atom:324L @atom:324L_bCM_aCM_dCML_iCM }
replace{ @atom:337L @atom:337L_bCM_aCM_dCML_iCM }
replace{ @atom:338L @atom:338L_bCM_aCM_dCML_iCM }
replace{ @atom:381L @atom:381L_bCM_aCM_dCML_iCM }
replace{ @atom:382L @atom:382L_bCM_aCM_dCML_iCM }
replace{ @atom:397L @atom:397L_bCM_aCM_dCML_iCM }
replace{ @atom:399L @atom:399L_bCM_aCM_dCML_iCM }
replace{ @atom:465L @atom:465L_bC~_aC~_dC~L_iC~ }
replace{ @atom:466L @atom:466L_bO~_aO~_dO~L_iO~ }
replace{ @atom:467L @atom:467L_bOS_aOS_dOSL_iOS }
replace{ @atom:517L @atom:517L_bCM_aCM_dCML_iCM }
replace{ @atom:518L @atom:518L_bCM_aCM_dCML_iCM }
replace{ @atom:708L @atom:708L_bCM_aCM_dCML_iCM }
replace{ @atom:777L @atom:777L_bHC_aHC_dHC_iHC }
replace{ @atom:1154L @atom:1154L_bCM_aCM_dCML_iCM }
replace{ @atom:1155L @atom:1155L_bCM_aCM_dCML_iCM }
replace{ @atom:1156L @atom:1156L_bCM_aCM_dCML_iCM }




# --------------- Non-Bonded interactions: ---------------------
# https://docs.lammps.org/pair_lj_cut_coul.html
# Syntax:
# pair_coeff AtomType1 AtomType2 parameters...

write_once("In Settings") {
pair_coeff @atom:54L_bCT_aCT_dCTL_iCT @atom:54L_bCT_aCT_dCTL_iCT 0.066 3.5
pair_coeff @atom:57L_bCT_aCT_dCTL_iCT @atom:57L_bCT_aCT_dCTL_iCT 0.066 3.5
pair_coeff @atom:60LCH3_bHC_aHC_dHC_iHC @atom:60LCH3_bHC_aHC_dHC_iHC 0.03 2.5
pair_coeff @atom:60LCH2_bHC_aHC_dHC_iHC @atom:60LCH2_bHC_aHC_dHC_iHC 0.026290630975 2.5
pair_coeff @atom:142L_bCM_aCM_dCML_iCM @atom:142L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:144L_bHC_aHC_dHC_iHC @atom:144L_bHC_aHC_dHC_iHC 0.03 2.42
pair_coeff @atom:141L_bCM_aCM_dCML_iCM @atom:141L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:143L_bCM_aCM_dCML_iCM @atom:143L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:154L_bOH_aOH_dOHL_iOH @atom:154L_bOH_aOH_dOHL_iOH 0.17 3.12
pair_coeff @atom:155L_bHO_aHO_dHOL_iHO @atom:155L_bHO_aHO_dHOL_iHO 0.0 0.0
pair_coeff @atom:169L_bOH_aOH_dOHL_iOH @atom:169L_bOH_aOH_dOHL_iOH 0.17 3.07
pair_coeff @atom:170L_bHO_aHO_dHOL_iHO @atom:170L_bHO_aHO_dHOL_iHO 0.0 0.0
pair_coeff @atom:171L_bOH_aOH_dOHL_iOH @atom:171L_bOH_aOH_dOHL_iOH 0.17 3.07
pair_coeff @atom:172L_bHO_aHO_dHOL_iHO @atom:172L_bHO_aHO_dHOL_iHO 0.0 0.0
pair_coeff @atom:227L_bCM_aCM_dCML_iCM @atom:227L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:323L_bCM_aCM_dCML_iCM @atom:323L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:324L_bCM_aCM_dCML_iCM @atom:324L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:337L_bCM_aCM_dCML_iCM @atom:337L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:338L_bCM_aCM_dCML_iCM @atom:338L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:381L_bCM_aCM_dCML_iCM @atom:381L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:382L_bCM_aCM_dCML_iCM @atom:382L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:397L_bCM_aCM_dCML_iCM @atom:397L_bCM_aCM_dCML_iCM 0.08 3.5
pair_coeff @atom:399L_bCM_aCM_dCML_iCM @atom:399L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:465L_bC~_aC~_dC~L_iC~ @atom:465L_bC~_aC~_dC~L_iC~ 0.105 3.1875
pair_coeff @atom:466L_bO~_aO~_dO~L_iO~ @atom:466L_bO~_aO~_dO~L_iO~ 0.168 3.108
pair_coeff @atom:467L_bOS_aOS_dOSL_iOS @atom:467L_bOS_aOS_dOSL_iOS 0.17 2.55
pair_coeff @atom:517L_bCM_aCM_dCML_iCM @atom:517L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:518L_bCM_aCM_dCML_iCM @atom:518L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:708L_bCM_aCM_dCML_iCM @atom:708L_bCM_aCM_dCML_iCM 0.076 3.55
pair_coeff @atom:777L_bHC_aHC_dHC_iHC @atom:777L_bHC_aHC_dHC_iHC 0.015 2.42
pair_coeff @atom:1154L_bCM_aCM_dCML_iCM @atom:1154L_bCM_aCM_dCML_iCM 0.086 3.3
pair_coeff @atom:1155L_bCM_aCM_dCML_iCM @atom:1155L_bCM_aCM_dCML_iCM 0.086 3.3
pair_coeff @atom:1156L_bCM_aCM_dCML_iCM @atom:1156L_bCM_aCM_dCML_iCM 0.086 3.3
} #(end of pair_coeffs)



# ----------- Dihedral Interactions: ------------
# https://docs.lammps.org/dihedral_opls.html
# Syntax:
# dihedral_coeff DihedralTypeName parameters...

write_once("In Settings") {
dihedral_coeff @dihedral:CTL_CTL_CTL_CTL 0.6446926386 -0.2143420172 0.1782194073 0.0
dihedral_coeff @dihedral:€€_CML_CML_€€ 0.0 12.2502629063 0.0 0.0
dihedral_coeff @dihedral:CML_CML_CTL_CTL -0.8050121893 0.3218905354 -0.1032768881 0.0
dihedral_coeff @dihedral:CTL_CTL_CTL_CML 0.4821902486 0.1343683078 0.1777461759 0.0
dihedral_coeff @dihedral:HC_CT_OHL_HOL 0.00962596 -0.0145554 0.381091 0.0
dihedral_coeff @dihedral:HC_CT_CT_OHL 0.0143774 0.033021 0.26687 0.0
dihedral_coeff @dihedral:CT_CT_OHL_HOL -0.675785 -0.0160421 0.373199 0.0
dihedral_coeff @dihedral:CT_CT_CT_OHL 1.31261 -0.266307 0.637867 0.0
dihedral_coeff @dihedral:OHL_CT_CT_OHL 2.69106 -0.849706 0.725731 0.0
dihedral_coeff @dihedral:CT_C~L_OSL_CT 3.11923 5.73771 0.0 0.0
dihedral_coeff @dihedral:CT_OSL_C~L_O~L 0.0 5.73772 0.0 0.0
dihedral_coeff @dihedral:HC_CT_C~L_OSL -0.00742471 0.00217734 0.111803 0.0
dihedral_coeff @dihedral:C~L_OSL_CT_CT -1.7354 -1.24844 0.623897 0.0
dihedral_coeff @dihedral:HC_CT_CT_OSL 0.0113337 0.0236209 0.429747 0.0
dihedral_coeff @dihedral:CT_CT_C~L_OSL 0.884988 -0.626905 -0.493344 0.0
dihedral_coeff @dihedral:CT_CT_C~L_O~L -0.276019 1.23685 -0.670745 0.0
dihedral_coeff @dihedral:C~L_CT_CT_HC -0.0021152 0.0173542 -0.295208 0.0
dihedral_coeff @dihedral:C~L_CT_CT_CT -2.30738 -0.627326 0.621951 0.0
dihedral_coeff @dihedral:CT_CT_CT_OSL 2.25871 -1.02408 1.0071 0.0
dihedral_coeff @dihedral:OSL_CT_CT_OSL 4.66787 -2.62698 1.3248 0.0
dihedral_coeff @dihedral:OHL_CT_CT_OSL 5.03208 -2.37742 1.23809 0.0
} #(end of dihedral_coeffs)

# Rules for creating dihedral interactions according to atom type:
# DihedralTypeName AtomType1 AtomType2 AtomType3 AtomType4
# (* = wildcard)

write_once("Data Dihedrals By Type") {
@dihedral:CTL_CTL_CTL_CTL @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i*
@dihedral:€€_CML_CML_€€ @atom:* @atom:*_b*_a*_dCML*_i* @atom:*_b*_a*_dCML*_i* @atom:*
@dihedral:CML_CML_CTL_CTL @atom:*_b*_a*_dCML*_i* @atom:*_b*_a*_dCML*_i* @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i*
@dihedral:CTL_CTL_CTL_CML @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCTL*_i* @atom:*_b*_a*_dCML*_i*
@dihedral:HC_CT_OHL_HOL @atom:*_b*_a*_dHC*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOHL*_i* @atom:*_b*_a*_dHOL*_i*
@dihedral:HC_CT_CT_OHL @atom:*_b*_a*_dHC*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOHL*_i*
@dihedral:CT_CT_OHL_HOL @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOHL*_i* @atom:*_b*_a*_dHOL*_i*
@dihedral:CT_CT_CT_OHL @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOHL*_i*
@dihedral:OHL_CT_CT_OHL @atom:*_b*_a*_dOHL*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOHL*_i*
@dihedral:CT_C~L_OSL_CT @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dOSL*_i* @atom:*_b*_a*_dCT*_i*
@dihedral:CT_OSL_C~L_O~L @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOSL*_i* @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dO~L*_i*
@dihedral:HC_CT_C~L_OSL @atom:*_b*_a*_dHC*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dOSL*_i*
@dihedral:C~L_OSL_CT_CT @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dOSL*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i*
@dihedral:HC_CT_CT_OSL @atom:*_b*_a*_dHC*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOSL*_i*
@dihedral:CT_CT_C~L_OSL @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dOSL*_i*
@dihedral:CT_CT_C~L_O~L @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dO~L*_i*
@dihedral:C~L_CT_CT_HC @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dHC*_i*
@dihedral:C~L_CT_CT_CT @atom:*_b*_a*_dC~L*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i*
@dihedral:CT_CT_CT_OSL @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOSL*_i*
@dihedral:OSL_CT_CT_OSL @atom:*_b*_a*_dOSL*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOSL*_i*
@dihedral:OHL_CT_CT_OSL @atom:*_b*_a*_dOHL*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dCT*_i* @atom:*_b*_a*_dOSL*_i*
} #(end of dihedrals by type)

} # OPLSAA




# OPTIONAL:
# Generate a file ("log.cite.loplsaa") containing
# a couple papers describing the LOPLS force field.

write_once("log.cite.loplsaa") {
If you use any atom types from the "loplsaa.lt" file whose description (in
the "In Charges" section) contains "LOPLS,2012", here is the relevant paper:
Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8(4),1459
https://doi.org/10.1021/ct200908r

If you use any atom types from the "loplsaa.lt" file whose description (in
the "In Charges" section) contains "LOPLS,2015", here is the relevant paper:
Pluhackova,...,Böckmann, J.Phys.Chem.B (2015), 119(49), 15287
https://doi.org/10.1021/acs.jpcb.5b08569
}


############################################################################
## WARNING
## This file was originally created to work with the old (2008) version of
## of the "oplsaa.lt" file (now called "oplsaa2008.lt").
## To make it work with the latest version of "oplsaa.lt" (from 2023),
## I looked up every atom type from the previous version of "loplsaa.lt"
## (now called "loplsaa2008.lt"), and tried to find the corresponding atom type
## in the new "oplsaa.lt" file. For most atoms, it was easy to guess,
## but there were a few atoms I was not certain about (which I indicated).
## Since I did this manually, it's possible that mistakes were made.
## Please be careful using this file. -Andrew 2024-12-02
############################################################################
Loading

0 comments on commit 3163ec2

Please sign in to comment.