├── .gitignore ├── LICENSE ├── MANIFEST.in ├── README.md ├── ligpargen ├── __init__.py ├── inout │ ├── Q.py │ ├── __init__.py │ ├── charmm.py │ ├── desmond.py │ ├── gromacs.py │ ├── lammps.py │ ├── openmm.py │ ├── pqr.py │ ├── tinker.py │ ├── xplor.py │ └── zmat.py ├── ligpargen.py ├── tools │ ├── __init__.py │ ├── alchemify.py │ ├── boss.py │ ├── commandline.py │ ├── geometry.py │ └── utilities.py └── topology │ ├── Angle.py │ ├── Atom.py │ ├── Bond.py │ ├── Molecule.py │ ├── Torsion.py │ └── __init__.py ├── setup.py └── test_ligpargen ├── goldenData ├── benzene.boss.z ├── benzene.charmm.prm ├── benzene.charmm.rtf ├── benzene.desmond.cms ├── benzene.gmx.gro ├── benzene.gmx.itp ├── benzene.lammps.lmp ├── benzene.openmm.pdb ├── benzene.openmm.xml ├── benzene.pqr ├── benzene.q.lib ├── benzene.q.pdb ├── benzene.q.prm ├── benzene.tinker.key ├── benzene.tinker.xyz ├── benzene.xplor.param ├── benzene.xplor.top ├── benzene_after_BOSS.pdb ├── benzene_after_BOSS.z ├── benzene_after_BOSS_opt3.z ├── benzene_after_BOSS_out ├── benzene_atoms.txt ├── benzene_atoms_fromZMAT.txt ├── benzene_before_BOSS.z ├── benzene_phenol.charmm.fep ├── benzene_phenol.charmm.pdb ├── benzene_phenol.charmm.prm ├── benzene_phenol.charmm.rtf ├── benzene_phenol.gmx.gro ├── benzene_phenol.gmx.itp ├── benzene_phenol.q.fep ├── benzene_phenol.q.lib ├── benzene_phenol.q.pdb ├── benzene_phenol.q.prm ├── benzene_phenol_dualTopology.z ├── benzene_phenol_singleTopology.z ├── phenol_after_BOSS.pdb ├── phenol_after_BOSS.z └── phenol_after_BOSS_out └── test_ligpargen.py /.gitignore: -------------------------------------------------------------------------------- 1 | ligpargen/topology/__pycache__/ 2 | ligpargen/__pycache__/ 3 | ligpargen/inout/__pycache__/ 4 | ligpargen/tools/__pycache__/ 5 | LigPargen.egg-info/ 6 | test_ligpargen/__pycache__/ 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Israel Cabeza de Vaca Lopez 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include README.rst -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # **LigParGen v2.1** 2 | 3 | **Author:**   Israel Cabeza de Vaca Lopez
4 | **Email:**    israel.cabezadevaca@yale.edu // israel.cabezadevaca@icm.uu.se
5 | **Place:**     William L. Jorgensen Lab at Yale University // Jens Carlsson Lab at Uppsala university
6 | **Date:**    2020-2021 7 | 8 | **Description:** An automatic OPLS-AA parameter generator for small organic molecules using CM1A, 1.14CM1A and CM1A-LBCC charge models. LigParGen accepts any Open Babel molecular format including SMILES, PDB, MOL, MOL2, among others. Final OPLSAA parameter outputs will be written in topology/coordinate input files for BOSS, Q, Tinker, PQR, openMM, CHARMM/NAMD, Gromacs, LAMMPS, Desmond, and xplor softwares. 9 | 10 | **Note:** This new version has been written from scratch but it is based on the **Leela Dodda** initial ligpargen python code. 11 | 12 | 13 | **Note 2:** LigParGen is a wrapper around BOSS that reads and transforms OPLS atom types and force field parameters for use with different software packages. Therefore, issues related to molecule parameterization (incorrect atom types, incorrect torsional parameters,...) are due to BOSS and should be reported to Bill Jorgensen. On the other hand, issues related to output generation (incorrect formats, FEP problems,...) should be reported here.. 14 | 15 | **Note 3:** **Do NOT report** issues related to the LigParGen server version here. As mentioned earlier, this is a new implementation, and it has not yet been deployed on the server. If you encounter issues with the server version, please try rerunning your task with this improved version to see if the problem persists or if it has already been fixed. 16 | 17 | New LigParGen features: 18 | 19 | - The order and the name of the atoms will remain the same in the output files. 20 | - This new version of the ligpargen includes a robust version of the alchemical transformation method to generate single and dual topologies for four different molecular mechanics softwares (BOSS, CHARMM/NAMD, Gromacs, and Tinker). 21 | - Sanity checks to detect incorrect inputs have been implemented (incompatible charge model, net molecule charge, input format, ...). 22 | - A log file to check the inputs, outputs, and intermediate processes has been created. This allows tracking the input information (charge model used, input molecule,...) and also provides useful warnings in case of error. 23 | - Automatic net charge detection in the input molecule. If the user specifies a different charge than one automatically estimated, the log file will include a warnning. 24 | - Atom XYZ positions in the molecule input remain unchanged in the output files. 25 | - Hydrogen atoms will be added automatically just for SMILES inputs. Molecules in any other input format require to have all hydrogens to provide more flexibility of the protonation states. In this way, the user can avoid parameterization problems with tautomers or stereoisomers. 26 | - Different molecule input format, net charges, charge models, and optimization steps can be used for each molecule in alchemical transformations. 27 | - Bugs fixed (Q wrong torsion parameters, alchemical molecule overlap failure,...) 28 | - Additional default input parameters have been included such as residue name, charge model,... 29 | 30 | ## **INSTALATION** 31 | 32 | LigParGen requires the free BOSS software to generate the OPLSAA parameters. 33 | 34 | 1 - Download and install BOSS software from the official William L. Jorgensen lab website: http://zarbi.chem.yale.edu/software.html 35 | 36 | BOSS is compiled for linux using 32 bits libraries so it can not run in windows using WSL. Alternatively, you can use a virtual machine in windows such as virtualBox to install a linux distro (ubuntu, centos, ...) and run LigParGen. 37 | 38 | 1.1 - Set the BOSSdir enviromental variable: 39 | 40 | - bashrc 41 | 42 | export BOSSdir=PATH_TO_BOSS_DIRECTORY 43 | - cshrc 44 | 45 | setenv BOSSdir PATH_TO_BOSS_DIRECTORY 46 | 47 | **TIP:** add this command line in your ~/.bashrc or ~/.cshrc file. 48 | 49 | 2 - Download and install conda (anaconda or minicoda): 50 | 51 | wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh 52 | 53 | or 54 | 55 | wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 56 | 57 | 3 - Create and activate an enviroment for python3.7 (Everything was tested with 3.7): 58 | 59 | conda create --name py37 python=3.7 60 | 61 | conda activate py37 62 | **Optional TIP:** add this line to your .bashrc/.cshrc,.... 63 | 64 | 4- Install rdkit and openbabel in py37 enviroment 65 | 66 | conda install -c rdkit rdkit 67 | conda install -c conda-forge openbabel 68 | 69 | 5 - Download and install LigParGen 70 | 71 | git clone https://github.com/Isra3l/ligpargen.git 72 | 73 | pip install -e ligpargen 74 | 75 | **Optional:** Check your installation by runing the tests included in the ligpargen folder. 76 | 77 | cd ligpargen;python -m unittest test_ligpargen/test_ligpargen.py 78 | 79 | **TIP:** Do not forget to activate your py37 enviroment before using LigParGen. 80 | 81 | conda activate py37 82 | 83 | ## **USAGE** 84 | 85 | Input arguments list: 86 | 87 | - ' -s ': SMILES input (Ex. -s 'CCCC' ) 88 | - ' -i ': PDB, MOL and MOL2 files + any input format supported by Open Babel (Ex. -i benzene.pdb ) 89 | - ' -n ': Molecule file name (Ex. -n benzene - it will produce benzene.gmx.gro, benzene.charmm.rtf,...) 90 | - ' -p ': Folder for the output files (Ex. -p bnz ) 91 | - ' -r ': Residue name for the output files (Ex. -r BNZ) 92 | - ' -c ': Molecule net charge (Ex. -c +1) 93 | - ' -o ': Number of optimizations (Ex. -o 3) 94 | - ' -cgen ': Charge model to be used - CM1A or CM1A-LBCC (Ex. -cgen CM1A) 95 | 96 | For alchemical transformations: 97 | 98 | - ' -sb ': SMILES input for molecule B (Ex. -sb 'CCCCO' ) 99 | - ' -ib ': PDB, MOL and MOL2 files + any input format supported by Open Babel (Ex. -ib phenol.pdb ) 100 | - ' -cb ': Molecule net charge (Ex. -cb +1) 101 | - ' -ob ': Number of optimizations (Ex. -ob 3) 102 | - ' -cgenb ': Charge model to be used - CM1A or CM1A-LBCC (Ex. -cgenb CM1A) 103 | 104 | **Notes:** 105 | 106 | - CM1A is automatically scaled by 1.14 in neutral molecules. 107 | - CM1A-LBCC is just for neutral molecules and it is also scaled by 1.14. 108 | 109 | ## **Examples** 110 | 111 | Molecule template generation: 112 | 113 | ligpargen -i phenol.pdb -n phenol -p phenol -r MOL -c 0 -o 0 -cgen CM1A 114 | ligpargen -s 'c1ccc(cc1)O' -n phenol -p phenol -r MOL -c 0 -o 0 -cgen CM1A 115 | ligpargen -s 'c1ccc(cc1)O' 116 | ligpargen -s 'c1ccc(cc1)O' -n phenol -cgen CM1A-LBCC 117 | 118 | Alchemical transformations: 119 | 120 | ligpargen -i phenol.pdb -ib benzene.pdb -n phenolToBenzene -p phenol2bnz -r A2B -c 0 -o 0 -cgen CM1A -cb 0 -ob 1 -cgenb CM1A-LBCC 121 | ligpargen -i phenol.pdb -ib benzene.pdb -n phenolToBenzene 122 | ligpargen -s 'c1ccc(cc1)O' -sb 'c1ccccc1' -n phenol_benzene 123 | ligpargen -s 'c1ccc(cc1)O' -sb 'c1ccccc1' -n phenol_benzene -o 0 -cgen CM1A -cb 0 -ob 1 -cgenb CM1A-LBCC 124 | ligpargen -i phenol.pdb -sb 'c1ccccc1' -n phenol_benzene -o 0 -cgen CM1A -cb 0 -ob 1 -cgenb CM1A-LBCC 125 | 126 | Default values: 127 | 128 | - -n : molecule 129 | - -p : Current working directory 130 | - -r : MOL 131 | - -c,-cb : Automatically determined from input molecule 132 | - -o,-ob : 0 133 | - -cgen,-cgenb: CM1A-LBCC for neutral molecules and CM1A for charged molecules. 134 | 135 | For help use the -h flag: 136 | 137 | ligpargen -h 138 | 139 | 140 | ## **REPORTING ISSUES** 141 | 142 | If you encounter an issue related to parameters (weak improper torsions,...), check the Zmat file provided by LigParGen. This file is directly generated by BOSS and contains all the relevant OPLS parameter information. 143 | 144 | Example of atom type information: 145 | 146 | Final Non-Bonded Parameters for QM (AM1 CM1Ax1.14) Atoms: 147 | 800 6 CM -0.250555 3.550000 0.076000 148 | 801 6 CM -0.250555 3.550000 0.076000 149 | 802 1 HC 0.125278 2.500000 0.030000 150 | 803 1 HC 0.125278 2.500000 0.030000 151 | 152 | Example of force-field interaction types: 153 | 154 | Variable Dihedrals follow (3I4,F12.6) 155 | 6 162 162 2.000000 156 | 7 222 222 2.000000 157 | 8 162 162 2.000000 158 | 159 | You can lookup the interaction types in the original boss file (BOSSDir/oplsaa.par and BOSSDir/oplsaa.sb). 160 | 161 | Dihedral 162 is defined here: 162 | 163 | 162 0.0 5.0 0.0 0.0 Z -CA-X -Y improper torsion 9/08 was 2.2 164 | 165 | This line indicates the atom types ("CA") used for selecting this interaction type. 166 | 167 | 168 | Additionally, use the LigParGen debug flag to retain the intermediate BOSS-generated files. In the file named out, you will find the OPLS parameters and atom types directly assigned by BOSS. 169 | 170 | For more details, I strongly recommend reading the BOSS manual (PDF) located in the BOSS folder. 171 | 172 | If you want to report an issue, please include all the necessary files, command lines, and information required to reproduce it quickly. Do not provide just an image of your molecule; include the SMILES, PDB files, and any other essential data needed to run it efficiently. 173 | 174 | **Note:** This section was suggested by Andrew Jewett. Thank you for your feedback! 175 | 176 | ## **REFERENCES** 177 | 178 | Please do not forget to cite the following references: 179 | 180 | 1. LigParGen web server: an automatic OPLS-AA parameter generator for organic ligands 181 | Leela S. Dodda Israel Cabeza de Vaca Julian Tirado-Rives William L. Jorgensen 182 | Nucleic Acids Research, Volume 45, Issue W1, 3 July 2017, Pages W331–W336 183 | 184 | 2. 1.14*CM1A-LBCC: Localized Bond-Charge Corrected CM1A Charges for Condensed-Phase Simulations 185 | -------------------------------------------------------------------------------- /ligpargen/__init__.py: -------------------------------------------------------------------------------- 1 | import logging 2 | logger = logging.getLogger(__name__) 3 | 4 | console_handler = logging.StreamHandler() 5 | console_handler.setLevel(logging.ERROR) 6 | 7 | logger.addHandler(console_handler) 8 | -------------------------------------------------------------------------------- /ligpargen/inout/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Isra3l/ligpargen/03732d8095aaafa2207bc16e89122e02d7a8bd14/ligpargen/inout/__init__.py -------------------------------------------------------------------------------- /ligpargen/inout/charmm.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate CHARMM/NAMD software inputs (RTF, PRM, PDB, FEP) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | 12 | headerPRM = '''!--------------------------------------------- 13 | ! Generated with LigParGen 14 | ! William L. Jorgensen Lab 15 | ! Author: israel.cabezadevaca@yale.edu 16 | ! OPLS Force Field with CM1A derived Atomic Charges 17 | !--------------------------------------------- 18 | ''' 19 | 20 | headerRTF = '!CHARMM rtf file generated by LigParGen program (israel.cabezadevaca@yale.edu)\n' 21 | 22 | kcalToKj = 4.184 23 | 24 | 25 | def printAtom(atom, alchemical=False): 26 | 27 | if atom.dual_just_stateB: 28 | 29 | sigma = atom.sigma_B*0.561231 30 | epsilon = -1.0*atom.epsilon_B 31 | 32 | else: 33 | 34 | sigma = atom.sigma*0.561231 35 | epsilon = -1.0*atom.epsilon 36 | 37 | type_charmm = atom.type_charmm 38 | 39 | 40 | return '%s 0.00 %3.6f %3.6f 0.00 %3.6f %3.6f\n' % (type_charmm, epsilon, sigma, 0.5*epsilon, sigma) 41 | 42 | 43 | 44 | def printAtomType(atom, alchemicalTransformation): 45 | 46 | sigma = 0.1*atom.sigma 47 | epsilon = 4.184*atom.epsilon 48 | 49 | line = '' 50 | 51 | if alchemicalTransformation: 52 | 53 | sigma_B = 0.1*atom.sigma_B 54 | epsilon_B = 4.184*atom.epsilon_B 55 | 56 | line = '%10s %5s %10.4f 0.000 A %10.5E %10.5E\n' % (atom.type_gmx_B, atom.atomTypeOPLS_B, atom.mass_B, sigma_B, epsilon_B) 57 | else: 58 | 59 | line = '%10s %5s %10.4f 0.000 A %10.5E %10.5E\n' % (atom.type_gmx, atom.atomTypeOPLS, atom.mass, sigma, epsilon) 60 | 61 | return line 62 | 63 | def printBond(bond): 64 | """Generate bond line 65 | 66 | Parameters 67 | ---------- 68 | bond : Bond Object 69 | Bond Object 70 | 71 | Returns 72 | ------- 73 | bondLine : str 74 | Bond line data 75 | """ 76 | 77 | return '%-6s%-5s%8.3f%8.3f\n' % (bond.atomA.type_charmm, bond.atomB.type_charmm, bond.K0, bond.R0) 78 | 79 | 80 | def printAngle(angle): 81 | """Generate angle line 82 | 83 | Parameters 84 | ---------- 85 | angle : Angle Object 86 | Angle Object 87 | 88 | Returns 89 | ------- 90 | angleLine : str 91 | Angle line data 92 | """ 93 | 94 | k0 = angle.K0 95 | 96 | return '%-6s%-6s%-6s%11.2f%12.3f\n' % (angle.atomA.type_charmm, angle.atomB.type_charmm, angle.atomC.type_charmm, k0, angle.angle0) 97 | 98 | 99 | def printDihedral(dihedral): 100 | """Generate dihedral line 101 | 102 | Parameters 103 | ---------- 104 | dihedral : dihedral Object 105 | dihedral Object 106 | 107 | Returns 108 | ------- 109 | dihedralLine : str 110 | dihedral line data 111 | """ 112 | 113 | V1 = dihedral.V1*0.5 114 | V2 = dihedral.V2*0.5 115 | V3 = dihedral.V3*0.5 116 | V4 = dihedral.V4*0.5 117 | 118 | label = '%-11s%-11s%-11s%-8s' % (dihedral.atomA.type_charmm, dihedral.atomB.type_charmm, dihedral.atomC.type_charmm, dihedral.atomD.type_charmm) 119 | 120 | torsion1 = '%s%8.3f 1 0.000\n' % (label, V1) 121 | torsion2 = '%s%8.3f 2 180.000\n' % (label, V2) 122 | torsion3 = '%s%8.3f 3 0.000\n' % (label, V3) 123 | torsion4 = '%s%8.3f 4 180.000\n' % (label, V4) 124 | 125 | return torsion1+torsion2+torsion3+torsion4 126 | 127 | 128 | def printImproperDihedral(dihedral): 129 | """Generate improper dihedral line 130 | 131 | Parameters 132 | ---------- 133 | dihedral : dihedral Object 134 | dihedral Object 135 | 136 | Returns 137 | ------- 138 | dihedralLine : str 139 | Improper dihedral line data 140 | """ 141 | 142 | V2 = dihedral.V2*0.5 143 | 144 | label = '%-11s%-11s%-11s%-8s' % (dihedral.atomA.type_charmm, dihedral.atomB.type_charmm, dihedral.atomC.type_charmm, dihedral.atomD.type_charmm) 145 | 146 | torsion2 = '%s%13.3f 2 180.000\n' % (label, V2) 147 | 148 | return torsion2 149 | 150 | 151 | def writePRM(molecule, prmFile): 152 | """Generate PRM file 153 | 154 | Parameters 155 | ---------- 156 | molecule : molecule class 157 | Molecule class 158 | prmFile : str 159 | PRM file name 160 | """ 161 | 162 | with open(prmFile,'w') as ofile: 163 | 164 | ofile.write(headerPRM) 165 | 166 | ofile.write('\nBOND\n') 167 | 168 | for bond in molecule.bondsVariable: ofile.write(printBond(bond)) 169 | for bond in molecule.bondsAdditional: ofile.write(printBond(bond)) 170 | 171 | ofile.write('\nANGLE\n') 172 | 173 | for angle in molecule.anglesVariable: ofile.write(printAngle(angle)) 174 | for angle in molecule.anglesAdditional: ofile.write(printAngle(angle)) 175 | 176 | ofile.write('\nDIHEDRAL\n') 177 | 178 | for dihedral in molecule.torsionsVariable: 179 | if dihedral.improper==False: ofile.write(printDihedral(dihedral)) 180 | for dihedral in molecule.torsionsAdditional: 181 | if dihedral.improper==False: ofile.write(printDihedral(dihedral)) 182 | 183 | ofile.write('! X X X X 0.00000 1 0.000000 1 ! WILD CARD FOR MISSING TORSION PARAMETERS\n') 184 | 185 | ofile.write('\nIMPROPER\n') 186 | 187 | for dihedral in molecule.torsionsVariable: 188 | if dihedral.improper==True: ofile.write(printImproperDihedral(dihedral)) 189 | for dihedral in molecule.torsionsAdditional: 190 | if dihedral.improper==True: ofile.write(printImproperDihedral(dihedral)) 191 | 192 | ofile.write('! X X X X 0.00000 2 0.000000 1 ! WILD CARD FOR MISSING IMPROPER PARAMETERS\n') 193 | 194 | ofile.write("\nNONBONDED nbxmod 5 atom cdiel switch vatom vdistance vswitch -\n") 195 | ofile.write("cutnb 14.0 ctofnb 12.0 ctonnb 11.5 eps 1.0 e14fac 0.5 geom\n") 196 | 197 | for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]: 198 | ofile.write(printAtom(atom)) 199 | 200 | 201 | def writeRTF(molecule, rtfFile): 202 | """Generate RTF file 203 | 204 | Parameters 205 | ---------- 206 | molecule : molecule class 207 | Molecule class 208 | rtfFile : str 209 | RTF file name 210 | """ 211 | 212 | with open(rtfFile,'w') as ofile: 213 | 214 | ofile.write(headerRTF) 215 | 216 | chargeMolecule = 0.0 217 | 218 | for i, atom in enumerate(molecule.atoms[molecule.numberOfStructuralDummyAtoms:], start=1): 219 | ofile.write('MASS %d %s %3.4f %s\n' %(i, atom.type_charmm, atom.mass, atom.element)) 220 | chargeMolecule += atom.charge 221 | 222 | ofile.write('AUTO ANGLES DIHE\nRESI %5s %3.3f\n' % (molecule.atoms[0].resname, chargeMolecule)) 223 | 224 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 225 | 226 | for i, atom in enumerate(atomsToWrite, start =1): 227 | 228 | if molecule.dualTopology: 229 | ofile.write('ATOM %s %s %8.4f\n' %(atom.nameOriginal, atom.type_charmm, atom.charge_dual)) 230 | chargeMolecule += atom.charge_dual 231 | else: 232 | ofile.write('ATOM %s %s %8.4f\n' %(atom.nameOriginal, atom.type_charmm, atom.charge)) 233 | chargeMolecule += atom.charge 234 | 235 | 236 | for bond in molecule.bondsVariable: ofile.write('BOND %-6s%-6s\n' % (bond.atomA.nameOriginal, bond.atomB.nameOriginal)) 237 | for bond in molecule.bondsAdditional: ofile.write('BOND %-6s%-6s\n' % (bond.atomA.nameOriginal, bond.atomB.nameOriginal)) 238 | 239 | for dihedral in molecule.torsionsVariable: 240 | if dihedral.improper==True: 241 | ofile.write('IMPR %-5s%-5s%-5s%-5s\n' % (dihedral.atomA.nameOriginal, dihedral.atomB.nameOriginal, 242 | dihedral.atomC.nameOriginal,dihedral.atomD.nameOriginal)) 243 | 244 | for dihedral in molecule.torsionsAdditional: 245 | if dihedral.improper==True: 246 | ofile.write('IMPR %-5s%-5s%-5s%-5s\n' % (dihedral.atomA.nameOriginal, dihedral.atomB.nameOriginal, 247 | dihedral.atomC.nameOriginal, dihedral.atomD.nameOriginal)) 248 | 249 | ofile.write('PATCH FIRST NONE LAST NONE\nEND\n') 250 | 251 | 252 | def writePDB(molecule, pdbFile): 253 | """Generate PDB file 254 | 255 | Parameters 256 | ---------- 257 | molecule : molecule class 258 | Molecule class 259 | pdbFile : str 260 | PDB file name 261 | """ 262 | 263 | with open(pdbFile, 'w') as ofile: 264 | 265 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 266 | 267 | for i, atom in enumerate(atomsToWrite, start =1): 268 | 269 | ofile.write('ATOM%7d%5s%4s%6d%12.3f%8.3f%8.3f 1.00 0.00%12s \n' % (i, atom.nameOriginal, molecule.residueName, 1,atom.x + molecule.shiftX, 270 | atom.y + molecule.shiftY, atom.z + molecule.shiftZ, atom.element)) 271 | 272 | 273 | def getFileNames(molname, workdir): 274 | """Return output file names 275 | 276 | Parameters 277 | ---------- 278 | molname : str 279 | Molecule name 280 | workdir : str 281 | Working folder path 282 | 283 | Returns 284 | ------- 285 | prmFile : str 286 | PRM file name 287 | rtfFile : str 288 | RTF file name 289 | pdbFile : str 290 | PDB file name 291 | fepFile : str 292 | FEP file name 293 | """ 294 | 295 | prmFile = os.path.join(workdir,molname+'.charmm.prm') 296 | rtfFile = os.path.join(workdir,molname+'.charmm.rtf') 297 | pdbFile = os.path.join(workdir,molname+'.charmm.pdb') 298 | fepFile = os.path.join(workdir,molname+'.charmm.fep') 299 | 300 | return prmFile, rtfFile, pdbFile, fepFile 301 | 302 | def writeFEP(molecule, fepFile): 303 | """Generate FEP file 304 | 305 | Parameters 306 | ---------- 307 | molecule : molecule class 308 | Molecule class 309 | fepFile : str 310 | FEP file name 311 | """ 312 | 313 | with open(fepFile, 'w') as ofile: 314 | 315 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 316 | 317 | for i, atom in enumerate(atomsToWrite, start =1): 318 | 319 | state = -1.0 320 | if atom.dual_just_stateB: state = 1.0 321 | 322 | ofile.write('ATOM%7d%5s%4s%6d%12.3f%8.3f%8.3f 1.00 %5.2f%12s \n' % (i, atom.nameOriginal, atom.resname, 1,atom.x + molecule.shiftX, 323 | atom.y + molecule.shiftY, atom.z + molecule.shiftZ, state, atom.element)) 324 | 325 | ofile.write('END\n') 326 | 327 | 328 | def write(molecule, molName, workdir): 329 | 330 | prmFile, rtfFile, pdbFile, fepFile = getFileNames(molName, workdir) 331 | 332 | writeRTF(molecule, rtfFile) 333 | 334 | writePRM(molecule, prmFile) 335 | 336 | writePDB(molecule, pdbFile) 337 | 338 | if molecule.alchemicalTransformation: 339 | 340 | writeFEP(molecule, fepFile) 341 | -------------------------------------------------------------------------------- /ligpargen/inout/desmond.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate DESMOND software inputs (CMS) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | 12 | part_0 = '''{ 13 | s_m_m2io_version 14 | ::: 15 | 2.0.0 16 | } 17 | f_m_ct { 18 | s_m_title 19 | r_chorus_box_ax 20 | r_chorus_box_ay 21 | r_chorus_box_az 22 | r_chorus_box_bx 23 | r_chorus_box_by 24 | r_chorus_box_bz 25 | r_chorus_box_cx 26 | r_chorus_box_cy 27 | r_chorus_box_cz 28 | s_ffio_ct_type 29 | ::: 30 | "Generated with LigParGen (israel.cabezadevaca@yale.edu)" 31 | 70.0 32 | 0.0 33 | 0.0 34 | 0.0 35 | 70.0 36 | 0.0 37 | 0.0 38 | 0.0 39 | 70.0 40 | full_system 41 | m_atom[NUMBEROFATOMS] { 42 | i_m_mmod_type 43 | r_m_x_coord 44 | r_m_y_coord 45 | r_m_z_coord 46 | i_m_residue_number 47 | s_m_pdb_residue_name 48 | i_m_atomic_number 49 | s_m_atom_name 50 | r_ffio_x_vel 51 | r_ffio_y_vel 52 | r_ffio_z_vel 53 | ::: 54 | 55 | ''' 56 | 57 | part_1 = ''' m_bond[NUMBEROFBONDS] { 58 | i_m_from 59 | i_m_to 60 | i_m_order 61 | i_m_from_rep 62 | i_m_to_rep 63 | ::: 64 | ''' 65 | 66 | 67 | part_2 = ''' 68 | f_m_ct { 69 | s_m_title 70 | r_chorus_box_ax 71 | r_chorus_box_ay 72 | r_chorus_box_az 73 | r_chorus_box_bx 74 | r_chorus_box_by 75 | r_chorus_box_bz 76 | r_chorus_box_cx 77 | r_chorus_box_cy 78 | r_chorus_box_cz 79 | s_ffio_ct_type 80 | ::: 81 | RESNAME 82 | 70.0 83 | 0.0 84 | 0.0 85 | 0.0 86 | 70.0 87 | 0.0 88 | 0.0 89 | 0.0 90 | 70.0 91 | solute 92 | m_atom[NUMBEROFATOMS] { 93 | i_m_mmod_type 94 | r_m_x_coord 95 | r_m_y_coord 96 | r_m_z_coord 97 | i_m_residue_number 98 | s_m_pdb_residue_name 99 | i_m_atomic_number 100 | s_m_atom_name 101 | r_ffio_x_vel 102 | r_ffio_y_vel 103 | r_ffio_z_vel 104 | ::: 105 | ''' 106 | 107 | 108 | part_3 = ''' ffio_ff { 109 | s_ffio_name 110 | s_ffio_comb_rule 111 | i_ffio_version 112 | ::: 113 | "RESNAME" 114 | GEOMETRIC 115 | 1.0.0 116 | ffio_vdwtypes[VDWTYPENUMBER] { 117 | s_ffio_name 118 | s_ffio_funct 119 | r_ffio_c1 120 | r_ffio_c2 121 | ::: 122 | ''' 123 | 124 | part_4 = ''' ffio_sites[NUMBEROFATOMS] { 125 | s_ffio_type 126 | r_ffio_charge 127 | r_ffio_mass 128 | s_ffio_vdwtype 129 | i_ffio_resnr 130 | s_ffio_residue 131 | ::: 132 | ''' 133 | 134 | part_5 = ''' ffio_bonds[NUMBEROFBONDS] { 135 | i_ffio_ai 136 | i_ffio_aj 137 | s_ffio_funct 138 | r_ffio_c1 139 | r_ffio_c2 140 | ::: 141 | ''' 142 | 143 | part_6 = ''' ffio_angles[NUMBEROFANGLES] { 144 | i_ffio_ai 145 | i_ffio_aj 146 | i_ffio_ak 147 | s_ffio_funct 148 | r_ffio_c1 149 | r_ffio_c2 150 | ::: 151 | ''' 152 | 153 | part_7 = ''' ffio_dihedrals[NUMBEROFTORSIONS] { 154 | i_ffio_ai 155 | i_ffio_aj 156 | i_ffio_ak 157 | i_ffio_al 158 | s_ffio_funct 159 | r_ffio_c0 160 | r_ffio_c1 161 | r_ffio_c2 162 | r_ffio_c3 163 | r_ffio_c4 164 | ::: 165 | ''' 166 | 167 | 168 | part_7_2 = ''' ffio_torsion_torsion[0] { 169 | ::: 170 | ::: 171 | } 172 | ''' 173 | 174 | 175 | part_8 = ''' ffio_exclusions[NUMBEROFEXCLUDED] { 176 | i_ffio_ai 177 | i_ffio_aj 178 | ::: 179 | ''' 180 | 181 | 182 | part_9 = ''' ffio_pairs[NUMBEROF14PAIRS] { 183 | i_ffio_ai 184 | i_ffio_aj 185 | s_ffio_funct 186 | r_ffio_c1 187 | r_ffio_c2 188 | ::: 189 | ''' 190 | 191 | part_10 = ''' ffio_constraints[0] { 192 | ::: 193 | ::: 194 | } 195 | } 196 | } 197 | 198 | 199 | ''' 200 | 201 | 202 | def writeCMS(molecule, cmsFile): 203 | """Generate CMS file 204 | 205 | Parameters 206 | ---------- 207 | molecule : molecule class 208 | Molecule class 209 | cmsFile : str 210 | CMS file name 211 | """ 212 | 213 | numberOfAtoms = len(molecule.atoms[molecule.numberOfStructuralDummyAtoms:]) 214 | 215 | with open(cmsFile,'w') as ofile: 216 | 217 | ofile.write(part_0.replace('NUMBEROFATOMS', str(len(molecule.atoms[molecule.numberOfStructuralDummyAtoms:])))) 218 | 219 | 220 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 221 | 222 | for i, atom in enumerate(atomsToWrite, start =1): 223 | 224 | ofile.write('%7d%3d%8.4f%8.4f%8.4f 1 \"%s\"%3d \"%s\" %8.4f%8.4f%8.4f\n' %(i, 1, atom.x, atom.y, atom.z, atom.resname, atom.atomicNumber, atom.nameOriginal, 0.0, 0.0, 0.0)) 225 | 226 | ofile.write(' :::\n }\n') 227 | 228 | numberofbonds = len(molecule.bondsVariable) + len(molecule.bondsAdditional) 229 | 230 | ofile.write(part_1.replace('NUMBEROFBONDS',str(numberofbonds))) 231 | 232 | bonds = molecule.bondsVariable + molecule.bondsAdditional 233 | 234 | shift = molecule.numberOfStructuralDummyAtoms 235 | 236 | for i, bond in enumerate(bonds): 237 | 238 | ofile.write('%7d%4d%4d%4d%4d%4d\n' % (i+1, bond.atomA.serialOriginal - shift, bond.atomB.serialOriginal - shift, 1, 1, 1)) 239 | 240 | ofile.write(' :::\n }\n}\n') 241 | 242 | ofile.write(part_2.replace('NUMBEROFATOMS', str(numberOfAtoms)).replace('RESNAME', molecule.atoms[0].resname)) 243 | 244 | for i, atom in enumerate(atomsToWrite, start =1): 245 | 246 | ofile.write('%7d%4d%8.4f%8.4f%8.4f 1 \"%s\"%4d \"%s\" %8.4f%8.4f%8.4f\n' %(i, 1, atom.x, atom.y, atom.z, atom.resname, atom.atomicNumber, atom.nameOriginal, 0.0, 0.0, 0.0)) 247 | 248 | ofile.write(' :::\n }\n') 249 | 250 | ofile.write(part_1.replace('NUMBEROFBONDS',str(numberofbonds))) 251 | 252 | bonds = molecule.bondsVariable + molecule.bondsAdditional 253 | 254 | shift = molecule.numberOfStructuralDummyAtoms 255 | 256 | for i, bond in enumerate(bonds): 257 | 258 | ofile.write('%7d%4d%4d%4d%4d%4d\n' % (i+1, bond.atomA.serialOriginal - shift, bond.atomB.serialOriginal - shift, 1, 1, 1)) 259 | 260 | ofile.write(' :::\n }\n}\n') 261 | 262 | ofile.write(part_3.replace('VDWTYPENUMBER', str(numberOfAtoms)).replace('RESNAME', molecule.atoms[0].resname)) 263 | 264 | for i, atom in enumerate(atomsToWrite, start =1): 265 | 266 | ofile.write('%9d%10s LJ12_6_sig_epsilon %14.8f%14.8f\n' %(i, atom.type_gmx, atom.sigma, atom.epsilon)) 267 | 268 | ofile.write(' :::\n }\n') 269 | 270 | ofile.write(part_4.replace('NUMBEROFATOMS', str(numberOfAtoms))) 271 | 272 | for i, atom in enumerate(atomsToWrite, start =1): 273 | 274 | ofile.write('%9d atom %14.8f%14.8f%10s 1 %4s\n' % (i, atom.charge, atom.mass, atom.type_gmx, atom.resname)) 275 | 276 | ofile.write(' :::\n }\n') 277 | 278 | ofile.write(part_5.replace('NUMBEROFBONDS', str(len(bonds)))) 279 | 280 | for i, bond in enumerate(bonds): 281 | 282 | ofile.write('%9d%4d%4d HARM %14.8f%14.8f\n' % (i+1, bond.atomA.serialOriginal - shift, bond.atomB.serialOriginal - shift, bond.R0, bond.K0)) 283 | 284 | ofile.write(' :::\n }\n') 285 | 286 | angles = molecule.anglesVariable + molecule.anglesAdditional 287 | 288 | ofile.write(part_6.replace('NUMBEROFANGLES', str(len(angles)))) 289 | 290 | for i, angle in enumerate(angles): 291 | 292 | ofile.write('%9d%4d%4d%4d HARM %14.8f%14.8f\n' % (i+1, angle.atomA.serialOriginal - shift, angle.atomB.serialOriginal - shift, angle.atomC.serialOriginal - shift, \ 293 | angle.angle0, angle.K0)) 294 | 295 | ofile.write(' :::\n }\n') 296 | 297 | 298 | torsions = molecule.torsionsVariable + molecule.torsionsAdditional 299 | 300 | ofile.write(part_7.replace('NUMBEROFTORSIONS', str(len(torsions)))) 301 | 302 | for i, torsion in enumerate(torsions): 303 | 304 | if torsion.improper==False: 305 | 306 | ofile.write('%9d%4d%4d%4d%4d Opls_proper 0 %14.8f%14.8f%14.8f%14.8f\n' % (i+1, torsion.atomA.serialOriginal - shift, \ 307 | torsion.atomB.serialOriginal - shift, torsion.atomC.serialOriginal - shift, torsion.atomD.serialOriginal - shift, \ 308 | torsion.V1, torsion.V2, torsion.V3, torsion.V4)) 309 | 310 | if torsion.improper==True: 311 | 312 | ofile.write('%9d%4d%4d%4d%4d Opls_improper 0 %14.8f%14.8f%14.8f%14.8f\n' % (i+1, torsion.atomA.serialOriginal - shift, \ 313 | torsion.atomB.serialOriginal - shift, torsion.atomC.serialOriginal - shift, torsion.atomD.serialOriginal - shift, \ 314 | torsion.V1, torsion.V2, torsion.V3, torsion.V4)) 315 | 316 | ofile.write(' :::\n }\n') 317 | 318 | ofile.write(part_7_2) 319 | 320 | exclusionList = getExclusionList(molecule) 321 | 322 | ofile.write(part_8.replace('NUMBEROFEXCLUDED', str(len(exclusionList)))) 323 | 324 | for i, excludedPair in enumerate(exclusionList, start=1): 325 | 326 | ofile.write('%9d%4d%4d\n' % (i, excludedPair[0], excludedPair[1])) 327 | 328 | ofile.write(' :::\n }\n') 329 | 330 | 331 | ofile.write(part_9.replace('NUMBEROF14PAIRS', str(2*len(molecule.lst14pairs)))) 332 | 333 | i = 1 334 | for pair14 in molecule.lst14pairs: 335 | 336 | ofile.write('%9d%4d%4d Coulomb 0.5 <>\n' % (i, pair14[0].serialOriginal - shift, pair14[1].serialOriginal - shift)) 337 | ofile.write('%9d%4d%4d LJ 0.5 <>\n' % (i + 1, pair14[0].serialOriginal - shift, pair14[1].serialOriginal - shift)) 338 | 339 | i +=2 340 | 341 | ofile.write(' :::\n }\n') 342 | 343 | ofile.write(part_10) 344 | 345 | 346 | def getExclusionList(molecule): 347 | 348 | serialShift = molecule.numberOfStructuralDummyAtoms 349 | 350 | pairSet = set() 351 | 352 | bonds = molecule.bondsVariable + molecule.bondsAdditional 353 | 354 | for bond in bonds: pairSet.add(tuple(sorted([bond.atomA.serialOriginal-serialShift, bond.atomB.serialOriginal-serialShift]))) 355 | 356 | angles = molecule.anglesVariable + molecule.anglesAdditional 357 | 358 | for angle in angles: pairSet.add(tuple(sorted([angle.atomA.serialOriginal-serialShift, angle.atomC.serialOriginal-serialShift]))) 359 | 360 | 361 | torsions = molecule.torsionsVariable + molecule.torsionsAdditional 362 | 363 | for torsion in torsions: pairSet.add(tuple(sorted([torsion.atomA.serialOriginal-serialShift, torsion.atomD.serialOriginal-serialShift]))) 364 | 365 | return list(pairSet) 366 | 367 | def getFileNames(molname, workdir): 368 | """Return output file names 369 | 370 | Parameters 371 | ---------- 372 | molname : str 373 | Molecule name 374 | workdir : str 375 | Working folder path 376 | 377 | Returns 378 | ------- 379 | cmsFile : str 380 | CMS file name 381 | """ 382 | 383 | return os.path.join(workdir,molname+'.desmond.cms') 384 | 385 | 386 | def write(molecule, molName, workdir): 387 | 388 | cmsFile = getFileNames(molName, workdir) 389 | 390 | writeCMS(molecule, cmsFile) 391 | 392 | -------------------------------------------------------------------------------- /ligpargen/inout/lammps.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate LAMMPS software inputs (LMP) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | 12 | headerLMP = 'LAMMPS data file generated with LigParGen (israel.cabezadevaca@yale.edu)\n\n' 13 | 14 | def writeLMP(molecule, lmpFile): 15 | """Generate XML file 16 | 17 | Parameters 18 | ---------- 19 | molecule : molecule class 20 | Molecule class 21 | lmpFile : str 22 | LMP file name 23 | """ 24 | 25 | with open(lmpFile,'w') as ofile: 26 | 27 | ofile.write(headerLMP) 28 | 29 | bonds = molecule.bondsVariable + molecule.bondsAdditional 30 | angles = molecule.anglesVariable + molecule.anglesAdditional 31 | torsions = molecule.torsionsVariable + molecule.torsionsAdditional 32 | propers = [torsion for torsion in torsions if not torsion.improper] 33 | impropers = [torsion for torsion in torsions if torsion.improper] 34 | 35 | xlist = [atom.x for atom in molecule.atoms] 36 | ylist = [atom.y for atom in molecule.atoms] 37 | zlist = [atom.z for atom in molecule.atoms] 38 | 39 | max_mol_size = 50 40 | 41 | 42 | ofile.write('%8d atoms\n' % len(molecule.atoms[molecule.numberOfStructuralDummyAtoms:])) 43 | ofile.write('%8d bonds\n' % len(bonds)) 44 | ofile.write('%8d angles\n' % len(angles)) 45 | ofile.write('%8d dihedrals\n' % len(propers)) 46 | if len(impropers) > 0: ofile.write('%8d impropers\n\n' % len(impropers)) 47 | 48 | ofile.write('%8d atom types\n' % len(molecule.atoms[molecule.numberOfStructuralDummyAtoms:])) 49 | ofile.write('%8d bond types\n' % len(bonds)) 50 | ofile.write('%8d angle types\n' % len(angles)) 51 | ofile.write('%8d dihedral types\n' % len(propers)) 52 | if len(impropers) > 0: ofile.write('%8d improper types\n' % len(impropers)) 53 | 54 | ofile.write('\n') 55 | 56 | ofile.write('%12.6f %12.6f xlo xhi\n' % (min(xlist), min(xlist) + max_mol_size)) 57 | ofile.write('%12.6f %12.6f ylo yhi\n' % (min(ylist), min(ylist) + max_mol_size)) 58 | ofile.write('%12.6f %12.6f zlo zhi\n' % (min(zlist), min(zlist) + max_mol_size)) 59 | 60 | 61 | ofile.write('\nMasses\n\n') 62 | 63 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 64 | 65 | for i, atom in enumerate(atomsToWrite, start =1): 66 | ofile.write('%8d %10.3f\n' %( i, atom.mass)) 67 | 68 | ofile.write('\nPair Coeffs\n\n') 69 | 70 | for i, atom in enumerate(atomsToWrite, start =1): 71 | ofile.write('%8d%11.3f%11.7f\n' %( i, atom.epsilon, atom.sigma)) 72 | 73 | ofile.write('\nBond Coeffs\n\n') 74 | 75 | for i, bond in enumerate(bonds, start=1): 76 | ofile.write('%8d%11.4f%11.4f\n' %( i, bond.K0, bond.R0)) 77 | 78 | ofile.write('\nAngle Coeffs\n\n') 79 | 80 | for i, angle in enumerate(angles, start=1): 81 | ofile.write('%8d%11.3f%11.3f\n' %( i, angle.K0, angle.angle0)) 82 | 83 | ofile.write('\nDihedral Coeffs\n\n') 84 | 85 | for i, torsion in enumerate(propers, start=1): 86 | ofile.write('%8d%11.3f%11.3f%11.3f%11.3f\n' %( i, torsion.V1, torsion.V2, torsion.V3, torsion.V4)) 87 | 88 | if len(impropers) >0: 89 | 90 | ofile.write('\nImproper Coeffs\n\n') 91 | 92 | for i, torsion in enumerate(impropers, start=1): 93 | ofile.write('%8d%11.3f%8d%8d\n' %( i, torsion.V2/2.0, -1, 2.0)) #TODO: check if V2 or V2/2 94 | 95 | ofile.write('\nAtoms\n\n') 96 | 97 | for i, atom in enumerate(atomsToWrite, start =1): 98 | ofile.write('%6d %6d %6d %10.6f %8.5f %8.5f %8.5f\n' %( i, 1, i, atom.charge, atom.x, atom.y, atom.z)) 99 | 100 | shift = molecule.numberOfStructuralDummyAtoms 101 | 102 | ofile.write('\nBonds\n\n') 103 | 104 | for i, bond in enumerate(bonds, start=1): 105 | ofile.write('%6d %6d %6d %6d\n' %( i, i, bond.atomA.serialOriginal - shift, bond.atomB.serialOriginal - shift)) 106 | 107 | ofile.write('\nAngles\n\n') 108 | 109 | for i, angle in enumerate(angles, start=1): 110 | ofile.write('%6d %6d %6d %6d %6d\n' %( i, i, angle.atomA.serialOriginal - shift, angle.atomB.serialOriginal - shift, angle.atomC.serialOriginal - shift)) 111 | 112 | ofile.write('\nDihedrals\n\n') 113 | 114 | for i, torsion in enumerate(propers, start=1): 115 | ofile.write('%6d %6d %6d %6d %6d %6d\n' %( i, i, torsion.atomA.serialOriginal - shift, torsion.atomB.serialOriginal - shift, \ 116 | torsion.atomC.serialOriginal - shift, torsion.atomD.serialOriginal - shift)) 117 | 118 | if len(impropers) > 0: 119 | 120 | ofile.write('\nImpropers\n\n') 121 | 122 | for i, torsion in enumerate(impropers, start=1): 123 | ofile.write('%6d %6d %6d %6d %6d %6d\n' %( i, i, torsion.atomA.serialOriginal - shift, torsion.atomB.serialOriginal - shift, \ 124 | torsion.atomC.serialOriginal - shift, torsion.atomD.serialOriginal - shift)) 125 | 126 | ofile.write('\n\n') 127 | 128 | # def writePDB(molecule, pdbFile): 129 | # """Generate PDB file 130 | 131 | # Parameters 132 | # ---------- 133 | # molecule : molecule class 134 | # Molecule class 135 | # pdbFile : str 136 | # PDB file name 137 | # """ 138 | 139 | # with open(pdbFile, 'w') as ofile: 140 | 141 | # atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 142 | 143 | # for i, atom in enumerate(atomsToWrite, start =1): 144 | 145 | # ofile.write('ATOM%7d%5s%4s%6d%12.3f%8.3f%8.3f 1.00 0.00%12s \n' % (i, atom.nameOriginal, atom.resname, 1,atom.x + molecule.shiftX, 146 | # atom.y + molecule.shiftY, atom.z + molecule.shiftZ, atom.element)) 147 | 148 | 149 | def getFileNames(molname, workdir): 150 | """Return output file names 151 | 152 | Parameters 153 | ---------- 154 | molname : str 155 | Molecule name 156 | workdir : str 157 | Working folder path 158 | 159 | Returns 160 | ------- 161 | lmpFile : str 162 | PDB file name 163 | """ 164 | 165 | lmpFile = os.path.join(workdir,molname+'.lammps.lmp') 166 | 167 | return lmpFile 168 | 169 | 170 | def write(molecule, molName, workdir): 171 | 172 | lmpFile = getFileNames(molName, workdir) 173 | 174 | writeLMP(molecule, lmpFile) 175 | 176 | 177 | -------------------------------------------------------------------------------- /ligpargen/inout/openmm.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate OpenMM software inputs (PDB, XML) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | import math 12 | 13 | headerXML = ''' 14 | 15 | 16 | 17 | ''' 18 | 19 | kcalToKj = 4.184 20 | 21 | 22 | def printBondedAtoms(bond, shiftdummySerial): 23 | """Generate bond atoms line 24 | 25 | Parameters 26 | ---------- 27 | bond : Bond Object 28 | Bond Object 29 | shiftdummySerial : int 30 | Shift to remove structural dummy atoms and get index (should be 4) 31 | 32 | Returns 33 | ------- 34 | bondLine : str 35 | Bond line data 36 | """ 37 | 38 | return '\n' % (bond.atomA.serialOriginal- shiftdummySerial, bond.atomB.serialOriginal - shiftdummySerial) 39 | 40 | 41 | def printBond(bond): 42 | """Generate bond line 43 | 44 | Parameters 45 | ---------- 46 | bond : Bond Object 47 | Bond Object 48 | 49 | Returns 50 | ------- 51 | bondLine : str 52 | Bond line data 53 | """ 54 | 55 | R0 = 0.1*bond.R0 56 | K0 = bond.K0*836.80 57 | 58 | return '\n' % (bond.atomA.type_q, bond.atomB.type_q, R0, K0) 59 | 60 | 61 | 62 | def printAngle(angle): 63 | """Generate angle line 64 | 65 | Parameters 66 | ---------- 67 | angle : Angle Object 68 | Angle Object 69 | 70 | Returns 71 | ------- 72 | angleLine : str 73 | Angle line data 74 | """ 75 | 76 | k0 = angle.K0*8.3680 77 | angle0 = math.radians(angle.angle0) 78 | 79 | return '\n' % \ 80 | (angle.atomA.type_q, angle.atomB.type_q, angle.atomC.type_q, angle0, k0) 81 | 82 | 83 | def printDihedral(dihedral): 84 | """Generate dihedral line 85 | 86 | Parameters 87 | ---------- 88 | dihedral : dihedral Object 89 | dihedral Object 90 | 91 | Returns 92 | ------- 93 | dihedralLine : str 94 | dihedral line data 95 | """ 96 | 97 | V1 = dihedral.V1*0.5*kcalToKj 98 | V2 = dihedral.V2*0.5*kcalToKj 99 | V3 = dihedral.V3*0.5*kcalToKj 100 | V4 = dihedral.V4*0.5*kcalToKj 101 | 102 | label = '\n') 153 | 154 | ofile.write('\n') 155 | 156 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 157 | 158 | for i, atom in enumerate(atomsToWrite, start =1): 159 | 160 | ofile.write('\n' %(atom.type_gmx, atom.type_q, atom.element, atom.mass)) 161 | 162 | ofile.write('\n') 163 | 164 | ofile.write("\n") 165 | ofile.write("\n" % molecule.residueName) 166 | 167 | for i, atom in enumerate(atomsToWrite, start =1): 168 | 169 | ofile.write("\n" % (atom.nameOriginal.replace(" ",""), atom.type_gmx)) 170 | 171 | shift = molecule.numberOfStructuralDummyAtoms + 1 172 | 173 | for bond in molecule.bondsVariable: ofile.write(printBondedAtoms(bond, shift)) 174 | for bond in molecule.bondsAdditional: ofile.write(printBondedAtoms(bond, shift)) 175 | 176 | ofile.write('\n') 177 | ofile.write('\n') 178 | 179 | ofile.write('\n') 180 | 181 | for bond in molecule.bondsVariable: ofile.write(printBond(bond)) 182 | for bond in molecule.bondsAdditional: ofile.write(printBond(bond)) 183 | 184 | ofile.write('\n') 185 | 186 | ofile.write('\n') 187 | 188 | for angle in molecule.anglesVariable: ofile.write(printAngle(angle)) 189 | for angle in molecule.anglesAdditional: ofile.write(printAngle(angle)) 190 | 191 | ofile.write('\n') 192 | 193 | ofile.write('\n') 194 | 195 | for dihedral in molecule.torsionsVariable: 196 | if dihedral.improper==False: ofile.write(printDihedral(dihedral)) 197 | for dihedral in molecule.torsionsAdditional: 198 | if dihedral.improper==False: ofile.write(printDihedral(dihedral)) 199 | 200 | 201 | for dihedral in molecule.torsionsVariable: 202 | if dihedral.improper==True: ofile.write(printImproperDihedral(dihedral)) 203 | for dihedral in molecule.torsionsAdditional: 204 | if dihedral.improper==True: ofile.write(printImproperDihedral(dihedral)) 205 | 206 | ofile.write('\n') 207 | 208 | ofile.write("\n") 209 | 210 | for i, atom in enumerate(atomsToWrite, start =1): 211 | 212 | ofile.write('\n' % \ 213 | (atom.type_gmx, atom.charge, atom.sigma*0.1, atom.epsilon*kcalToKj)) 214 | 215 | ofile.write("\n") 216 | ofile.write("\n") 217 | 218 | 219 | def writePDB(molecule, pdbFile): 220 | """Generate PDB file 221 | 222 | Parameters 223 | ---------- 224 | molecule : molecule class 225 | Molecule class 226 | pdbFile : str 227 | PDB file name 228 | """ 229 | 230 | with open(pdbFile, 'w') as ofile: 231 | 232 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 233 | 234 | for i, atom in enumerate(atomsToWrite, start =1): 235 | 236 | ofile.write('ATOM%7d%5s%4s%6d%12.3f%8.3f%8.3f 1.00 0.00%12s \n' % (i, atom.nameOriginal, molecule.residueName, 1,atom.x + molecule.shiftX, 237 | atom.y + molecule.shiftY, atom.z + molecule.shiftZ, atom.element)) 238 | 239 | 240 | def getFileNames(molname, workdir): 241 | """Return output file names 242 | 243 | Parameters 244 | ---------- 245 | molname : str 246 | Molecule name 247 | workdir : str 248 | Working folder path 249 | 250 | Returns 251 | ------- 252 | pdbFile : str 253 | PDB file name 254 | xmlFile : str 255 | XML file name 256 | """ 257 | 258 | pdbFile = os.path.join(workdir,molname+'.openmm.pdb') 259 | xmlFile = os.path.join(workdir,molname+'.openmm.xml') 260 | 261 | return pdbFile, xmlFile 262 | 263 | 264 | def write(molecule, molName, workdir): 265 | 266 | pdbFile, xmlFile = getFileNames(molName, workdir) 267 | 268 | writeXML(molecule, xmlFile) 269 | 270 | writePDB(molecule, pdbFile) 271 | 272 | -------------------------------------------------------------------------------- /ligpargen/inout/pqr.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate PQR input (PQR) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | 12 | kcalToKj = 4.184 13 | 14 | def writePQR(molecule, pqrFile): 15 | """Generate PQR file 16 | 17 | Parameters 18 | ---------- 19 | molecule : molecule class 20 | Molecule class 21 | pqrFile : str 22 | PQR file name 23 | """ 24 | 25 | sigmaFactor = 2.0**(1.0/6.0) # 2^(1/6) 26 | 27 | with open(pqrFile, 'w') as ofile: 28 | 29 | atomsToWrite = sorted([atom for atom in molecule.atoms[molecule.numberOfStructuralDummyAtoms:]], key = lambda x: x.serialOriginal) 30 | 31 | for i, atom in enumerate(atomsToWrite, start =1): 32 | 33 | ofile.write('ATOM %5d %4s %3s %4d %8.3f%8.3f%8.3f%8.4f%7.4f\n' % (i, atom.nameOriginal, molecule.residueName, 1,atom.x + molecule.shiftX, 34 | atom.y + molecule.shiftY, atom.z + molecule.shiftZ, atom.charge, (atom.sigma/2.0)*sigmaFactor)) 35 | 36 | 37 | def getFileNames(molname, workdir): 38 | """Return output file names 39 | 40 | Parameters 41 | ---------- 42 | molname : str 43 | Molecule name 44 | workdir : str 45 | Working folder path 46 | 47 | Returns 48 | ------- 49 | pqrFile : str 50 | PQR file name 51 | """ 52 | 53 | return os.path.join(workdir,molname+'.pqr') 54 | 55 | 56 | def write(molecule, molName, workdir): 57 | 58 | pqrFile = getFileNames(molName, workdir) 59 | 60 | writePQR(molecule, pqrFile) 61 | 62 | -------------------------------------------------------------------------------- /ligpargen/inout/xplor.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Module with functions to generate CNS/X-PLOR software inputs (TOP, PARAM) 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | 10 | import os 11 | import math 12 | 13 | headerTOPPARAM = 'Remarks generated with LigParGen (israel.cabezadevaca@yale.edu)\n\n' 14 | 15 | kcalToKj = 4.184 16 | 17 | 18 | def printBondedAtoms(bond, shiftdummySerial): 19 | """Generate bond atoms line 20 | 21 | Parameters 22 | ---------- 23 | bond : Bond Object 24 | Bond Object 25 | shiftdummySerial : int 26 | Shift to remove structural dummy atoms and get index (should be 4) 27 | 28 | Returns 29 | ------- 30 | bondLine : str 31 | Bond line data 32 | """ 33 | 34 | return '\n' % (bond.atomA.serialOriginal- shiftdummySerial, bond.atomB.serialOriginal - shiftdummySerial) 35 | 36 | 37 | def printBond(bond): 38 | """Generate bond line 39 | 40 | Parameters 41 | ---------- 42 | bond : Bond Object 43 | Bond Object 44 | 45 | Returns 46 | ------- 47 | bondLine : str 48 | Bond line data 49 | """ 50 | 51 | R0 = 0.1*bond.R0 52 | K0 = bond.K0*836.80 53 | 54 | return '\n' % (bond.atomA.type_q, bond.atomB.type_q, R0, K0) 55 | 56 | 57 | 58 | def printAngle(angle): 59 | """Generate angle line 60 | 61 | Parameters 62 | ---------- 63 | angle : Angle Object 64 | Angle Object 65 | 66 | Returns 67 | ------- 68 | angleLine : str 69 | Angle line data 70 | """ 71 | 72 | k0 = angle.K0*8.3680 73 | angle0 = math.radians(angle.angle0) 74 | 75 | return '\n' % \ 76 | (angle.atomA.type_q, angle.atomB.type_q, angle.atomC.type_q, angle0, k0) 77 | 78 | 79 | def printDihedral(dihedral): 80 | """Generate dihedral line 81 | 82 | Parameters 83 | ---------- 84 | dihedral : dihedral Object 85 | dihedral Object 86 | 87 | Returns 88 | ------- 89 | dihedralLine : str 90 | dihedral line data 91 | """ 92 | 93 | V1 = dihedral.V1*0.5*kcalToKj 94 | V2 = dihedral.V2*0.5*kcalToKj 95 | V3 = dihedral.V3*0.5*kcalToKj 96 | V4 = dihedral.V4*0.5*kcalToKj 97 | 98 | label = ' str: 38 | return ' '.join([str(item) for item in [self.atomA.serial,self.atomB.serial,self.atomC.serial, 39 | self.angle0,self.K0,self.angle0_B,self.K0_B]]) 40 | 41 | -------------------------------------------------------------------------------- /ligpargen/topology/Atom.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Atom Class definition 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | class Atom(object): 10 | """ 11 | docstring 12 | """ 13 | 14 | def __init__(self, index, serial, name, typeA, typeB, parent, parentParent, parentParentParent, r, angle, dihedral, resname, 15 | resnum, atomicNumber, atomTypeOPLS, charge, sigma, epsilon, x, y, z, mass, element): 16 | 17 | self.serial = int(serial) 18 | self.index = int(index) 19 | 20 | self.serialOriginal = int(serial) # In case the order of the atoms is changed 21 | self.indexOriginal = int(index) # In case the order of the atoms is changed 22 | 23 | self.name = name 24 | self.nameOriginal = name 25 | 26 | self.typeA = int(typeA) 27 | self.typeB = int(typeB) 28 | self.parent = int(parent) 29 | self.parentParent = int(parentParent) 30 | self.parentParentParent = int(parentParentParent) 31 | self.r = float(r) 32 | self.angle = float(angle) 33 | self.dihedral = float(dihedral) 34 | 35 | self.resname = resname 36 | self.resnum = int(resnum) 37 | 38 | self.atomicNumber = int(atomicNumber) 39 | self.atomTypeOPLS = atomTypeOPLS 40 | self.charge = float(charge) 41 | self.sigma = float(sigma) 42 | self.epsilon = float(epsilon) 43 | 44 | # B corresponds to the final state in casa of alchemical transformation 45 | 46 | self.atomicNumber_B = int(atomicNumber) 47 | self.atomTypeOPLS_B = atomTypeOPLS 48 | self.charge_B = float(charge) 49 | self.sigma_B = float(sigma) 50 | self.epsilon_B = float(epsilon) 51 | 52 | self.charge_dual = float(charge) 53 | self.sigma_dual = float(sigma) 54 | self.epsilon_dual = float(epsilon) 55 | 56 | self.x = float(x) 57 | self.y = float(y) 58 | self.z = float(z) 59 | 60 | self.mass = float(mass) 61 | self.element = element 62 | 63 | self.mass_B = float(mass) 64 | self.element_B = element 65 | 66 | self.dual_just_stateB = False 67 | 68 | 69 | if self.typeA !=-1: 70 | 71 | if len(self.element)==1: 72 | self.type_q = element+str(typeA) 73 | else: 74 | self.type_q = element+str(int(typeA)-800) 75 | 76 | self.type_gmx = 'opls_'+str(typeA) 77 | self.type_charmm = element+str(typeA) 78 | 79 | self.type_q_B = element+str(typeA) 80 | self.type_gmx_B = 'opls_'+str(typeA) 81 | else: 82 | self.type_q = element 83 | self.type_gmx = 'opls_'+str(typeA) 84 | self.type_charmm = element+str(typeA) 85 | 86 | self.type_q_B = element 87 | self.type_gmx_B = 'opls_'+str(typeA) 88 | 89 | 90 | self.bondedAtoms = [] 91 | 92 | @classmethod 93 | def fromZmat(cls, zmatAtomLine, atomicNumber, atomTypeOPLS, charge, sigma, epsilon,x,y,z, mass, element): 94 | 95 | serial = zmatAtomLine[:4].strip() 96 | index = int(serial)-1 97 | name = zmatAtomLine[4:8].strip() 98 | typeA = zmatAtomLine[9:13].strip() 99 | typeB = zmatAtomLine[14:18].strip() 100 | parent = zmatAtomLine[19:23].strip() 101 | parentParent = zmatAtomLine[35:39].strip() 102 | parentParentParent = zmatAtomLine[51:55].strip() 103 | r = zmatAtomLine[23:35].strip() 104 | angle = zmatAtomLine[39:51].strip() 105 | dihedral = zmatAtomLine[55:67].strip() 106 | 107 | resname = zmatAtomLine[67:71].strip() 108 | resnum = zmatAtomLine[71:].strip() 109 | 110 | return cls(index, serial, name, typeA, typeB, parent, parentParent, parentParentParent, r, angle, dihedral, resname, 111 | resnum, atomicNumber, atomTypeOPLS, charge, sigma, epsilon, x, y, z, mass, element) 112 | 113 | 114 | @classmethod 115 | def fromRDkit(cls, indexa, a, b, c, d, r0, angle0, dihedral0, element, atomicNumber, mass): 116 | """ 117 | Alternative constructor using RDkit information 118 | 119 | Parameters 120 | ---------- 121 | indexa : int 122 | Atom index 123 | a : int 124 | Atom position 125 | b : int 126 | Parent atom 127 | c : int 128 | Parent of the parent atom 129 | d : int 130 | Parent of the parent of the parent atom 131 | r0 : Float 132 | Distance between a and b 133 | angle0 : Float 134 | Angle between a-b-c 135 | dihedral0 : Float 136 | Dihedral angle between a-b-c-d 137 | element : int 138 | Atomic element 139 | atomicNumber : int 140 | Atomic number 141 | mass : Float 142 | Atomic mass 143 | 144 | Returns 145 | ------- 146 | Atom object 147 | An atom object generated using the atom class 148 | """ 149 | 150 | serial = a 151 | name = element 152 | typeA = atomicNumber 153 | typeB = atomicNumber 154 | parent = b 155 | parentParent = c 156 | parentParentParent = d 157 | r = r0 158 | angle = angle0 159 | dihedral = dihedral0 160 | 161 | resname = 'MOL' 162 | resnum = 1 163 | 164 | atomicNumber = 0 165 | atomTypeOPLS = 0 166 | charge = 0.0 167 | sigma = 0.0 168 | epsilon = 0.0 169 | 170 | # B corresponds to the final state in casa of alchemical transformation 171 | 172 | x = 0.0 173 | y = 0.0 174 | z = 0.0 175 | 176 | return cls(indexa, serial, name, typeA, typeB, parent, parentParent, parentParentParent, r, angle, dihedral, resname, 177 | resnum, atomicNumber, atomTypeOPLS, charge, sigma, epsilon, x, y, z, mass, element) 178 | 179 | 180 | def __str__(self): 181 | 182 | data = [self.serial,self.name,self.typeA,self.typeB,self.parent,self.parentParent, 183 | self.parentParentParent,self.r,self.angle,self.dihedral,self.resname, self.resnum, 184 | self.atomicNumber,self.atomicNumber_B,self.atomTypeOPLS,self.atomTypeOPLS_B,self.charge,self.sigma, 185 | self.epsilon,self.x,self.y,self.z, self.mass, self.element, self.type_q, self.type_q_B] 186 | 187 | data = [str(ele) for ele in data] 188 | 189 | return ' '.join(data) 190 | 191 | -------------------------------------------------------------------------------- /ligpargen/topology/Bond.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Bond Class definition 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | class Bond(object): 10 | """ 11 | docstring 12 | """ 13 | def __init__(self, atomA, atomB, R0, K0): 14 | 15 | self.atomA = atomA 16 | self.atomB = atomB 17 | self.R0 = float(R0) 18 | self.K0 = float(K0) 19 | 20 | self.R0_B = float(R0) 21 | self.K0_B = float(K0) 22 | 23 | def getAtoms(self): 24 | return [self.atomA, self.atomB] 25 | 26 | 27 | def __str__(self) -> str: 28 | return ' '.join([str(item) for item in [self.atomA.serial,self.atomB.serial, 29 | self.R0,self.K0,self.R0_B,self.K0_B]]) 30 | 31 | -------------------------------------------------------------------------------- /ligpargen/topology/Torsion.py: -------------------------------------------------------------------------------- 1 | """ 2 | 3 | Torsion Class definition 4 | 5 | Author: Israel Cabeza de Vaca Lopez 6 | Email: israel.cabezadevaca@icm.uu.se 7 | 8 | """ 9 | class Torsion(object): 10 | """ 11 | Torsion Class 12 | """ 13 | def __init__(self, atomA, atomB, atomC, atomD, typeInitial, typeFinal, V1, V2, V3, V4, phase1, phase2, phase3, displacement, improper=False): 14 | 15 | self.atomA = atomA 16 | self.atomB = atomB 17 | self.atomC = atomC 18 | self.atomD = atomD 19 | 20 | self.typeInitial = int(typeInitial) 21 | self.typeFinal = int(typeFinal) 22 | 23 | 24 | self.V1 = float(V1) 25 | self.V2 = float(V2) 26 | self.V3 = float(V3) 27 | self.V4 = float(V4) 28 | 29 | 30 | self.V1_B = float(V1) 31 | self.V2_B = float(V2) 32 | self.V3_B = float(V3) 33 | self.V4_B = float(V4) 34 | 35 | 36 | self.phase1 = float(phase1) 37 | self.phase2 = float(phase2) 38 | self.phase3 = float(phase3) 39 | 40 | self.displacement = float(displacement) 41 | 42 | self.improper = improper 43 | 44 | 45 | def __str__(self) -> str: 46 | return ' '.join([str(item) for item in [self.atomA.serial,self.atomB.serial,self.atomC.serial,self.atomD.serial, 47 | self.V1,self.V2,self.V3,self.V4,self.V1_B,self.V2_B,self.V3_B,self.V4_B, self.typeInitial, self.typeFinal]]) 48 | 49 | def getAtoms(self): 50 | return [self.atomA, self.atomB, self.atomC, self.atomD] 51 | 52 | -------------------------------------------------------------------------------- /ligpargen/topology/__init__.py: -------------------------------------------------------------------------------- 1 | from .Atom import Atom 2 | from .Bond import Bond 3 | from .Angle import Angle 4 | from .Torsion import Torsion 5 | from .Molecule import Molecule -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | 4 | with open("README.md", "r") as fh: 5 | long_description = fh.read() 6 | 7 | setup(name='LigPargen', 8 | version='2.1', 9 | description='A new version of the ligpargen including alchemical transformations', 10 | long_description=long_description, 11 | long_description_content_type="text/markdown", 12 | classifiers=[ 13 | 'Development Status :: Release', 14 | 'License :: MIT License', 15 | 'Programming Language :: Python :: 3.7', 16 | "Operating System :: OS Linux", 17 | 'Topic :: Molecular Mechanics :: Force Field parameterization', 18 | ], 19 | keywords='OPLS OPLSAA CM1A CM1A-LBCC', 20 | url='https://github.com/Isra3l/ligpargen', 21 | author='Israel Cabeza de Vaca Lopez', 22 | author_email='israel.cabezadevaca@icm.uu.se', 23 | license='MIT License', 24 | packages=find_packages(), 25 | install_requires=[ 26 | 'markdown', 'numpy', 'pybel' 27 | ], 28 | entry_points={ 29 | 'console_scripts': ['ligpargen=ligpargen.ligpargen:main'], 30 | }, 31 | include_package_data=True, 32 | python_requires='==3.7.*', 33 | zip_safe=False) 34 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.boss.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParGen2.1 (israel.cabezadevaca@yale.edu) 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C00 800 800 3 0.677508 2 26.371803 1 -171.977596 MOL 1 6 | 5 C01 801 801 4 1.375253 3 20.270728 2 13.471357 MOL 1 7 | 6 C02 802 802 4 1.384064 5 122.136026 3 171.518047 MOL 1 8 | 7 C03 803 803 6 1.376515 4 117.928388 5 -0.024828 MOL 1 9 | 8 C04 804 804 7 1.383327 6 120.368208 4 -0.003710 MOL 1 10 | 9 C05 805 805 8 1.380735 7 121.758462 6 0.056181 MOL 1 11 | 10 H06 806 806 7 1.070662 6 117.367769 4 -179.984181 MOL 1 12 | 11 H07 807 807 8 1.081305 7 119.470755 6 -179.980057 MOL 1 13 | 12 H08 808 808 9 1.081837 8 120.864148 7 179.993994 MOL 1 14 | 13 H09 809 809 5 1.087964 4 122.980800 6 -179.983507 MOL 1 15 | 14 H0A 810 810 4 1.082755 5 118.618162 9 179.957260 MOL 1 16 | 15 H0B 811 811 6 1.080004 4 118.359885 5 179.978266 MOL 1 17 | Geometry Variations follow (2I4,F12.6) 18 | Variable Bonds follow (I4) 19 | 5 20 | 6 21 | 7 22 | 8 23 | 9 24 | 10 25 | 11 26 | 12 27 | 13 28 | 14 29 | 15 30 | Additional Bonds follow (2I4) 31 | 9 5 32 | Harmonic Constraints follow (2I4,4F10.4) 33 | Variable Bond Angles follow (I4) 34 | 6 35 | 7 36 | 8 37 | 9 38 | 10 39 | 11 40 | 12 41 | 13 42 | 14 43 | 15 44 | Additional Bond Angles follow (3I4) 45 | 14 4 6 46 | 15 6 7 47 | 10 7 8 48 | 11 8 9 49 | 4 5 9 50 | 13 5 9 51 | 5 9 12 52 | 8 9 5 53 | Variable Dihedrals follow (3I4,F12.6) 54 | 7 165 165 2.000000 55 | 8 165 165 2.000000 56 | 9 165 165 2.000000 57 | 10 165 165 2.000000 58 | 11 165 165 2.000000 59 | 12 165 165 2.000000 60 | 13 165 165 2.000000 61 | 14 165 165 2.000000 62 | 15 165 165 2.000000 63 | Additional Dihedrals follow (6I4) 64 | 9 5 4 6 165 165 65 | 14 4 6 7 165 165 66 | 15 6 7 8 165 165 67 | 10 7 8 9 165 165 68 | 15 6 7 10 165 165 69 | 11 8 7 10 165 165 70 | 5 9 8 11 165 165 71 | 12 9 8 11 165 165 72 | 4 5 9 12 165 165 73 | 13 5 9 12 165 165 74 | 14 4 5 13 165 165 75 | 8 9 5 13 165 165 76 | 15 6 4 14 165 165 77 | 7 8 9 5 165 165 78 | 4 5 9 8 165 165 79 | 5 4 6 14 162 162 80 | 4 5 9 13 162 162 81 | 4 6 7 15 162 162 82 | 6 7 8 10 162 162 83 | 7 8 9 11 162 162 84 | 8 9 5 12 162 162 85 | Domain Definitions follow (4I4) 86 | Conformational Search (2I4,2F12.6) 87 | Local Heating Residues follow (I4 or I4-I4) 88 | Final blank line 89 | 90 | 91 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 92 | 93 | 800 6 CA -0.138696 3.550000 0.070000 94 | 801 6 CA -0.137064 3.550000 0.070000 95 | 802 6 CA -0.135358 3.550000 0.070000 96 | 803 6 CA -0.131338 3.550000 0.070000 97 | 804 6 CA -0.135788 3.550000 0.070000 98 | 805 6 CA -0.137648 3.550000 0.070000 99 | 806 1 HA 0.134285 2.420000 0.030000 100 | 807 1 HA 0.131947 2.420000 0.030000 101 | 808 1 HA 0.141126 2.420000 0.030000 102 | 809 1 HA 0.136785 2.420000 0.030000 103 | 810 1 HA 0.130471 2.420000 0.030000 104 | 811 1 HA 0.141279 2.420000 0.030000 105 | 106 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.charmm.prm: -------------------------------------------------------------------------------- 1 | !--------------------------------------------- 2 | ! Generated with LigParGen 3 | ! William L. Jorgensen Lab 4 | ! Author: israel.cabezadevaca@yale.edu 5 | ! OPLS Force Field with CM1A derived Atomic Charges 6 | !--------------------------------------------- 7 | 8 | BOND 9 | C801 C800 469.000 1.400 10 | C802 C800 469.000 1.400 11 | C803 C802 469.000 1.400 12 | C804 C803 469.000 1.400 13 | C805 C804 469.000 1.400 14 | H806 C803 367.000 1.080 15 | H807 C804 367.000 1.080 16 | H808 C805 367.000 1.080 17 | H809 C801 367.000 1.080 18 | H810 C800 367.000 1.080 19 | H811 C802 367.000 1.080 20 | C805 C801 469.000 1.400 21 | 22 | ANGLE 23 | C802 C800 C801 63.00 120.000 24 | C803 C802 C800 63.00 120.000 25 | C804 C803 C802 63.00 120.000 26 | C805 C804 C803 63.00 120.000 27 | H806 C803 C802 35.00 120.000 28 | H807 C804 C803 35.00 120.000 29 | H808 C805 C804 35.00 120.000 30 | H809 C801 C800 35.00 120.000 31 | H810 C800 C801 35.00 120.000 32 | H811 C802 C800 35.00 120.000 33 | H810 C800 C802 35.00 120.000 34 | H811 C802 C803 35.00 120.000 35 | H806 C803 C804 35.00 120.000 36 | H807 C804 C805 35.00 120.000 37 | C800 C801 C805 63.00 120.000 38 | H809 C801 C805 35.00 120.000 39 | C801 C805 H808 35.00 120.000 40 | C804 C805 C801 63.00 120.000 41 | 42 | DIHEDRAL 43 | C803 C802 C800 C801 0.000 1 0.000 44 | C803 C802 C800 C801 3.625 2 180.000 45 | C803 C802 C800 C801 0.000 3 0.000 46 | C803 C802 C800 C801 0.000 4 180.000 47 | C804 C803 C802 C800 0.000 1 0.000 48 | C804 C803 C802 C800 3.625 2 180.000 49 | C804 C803 C802 C800 0.000 3 0.000 50 | C804 C803 C802 C800 0.000 4 180.000 51 | C805 C804 C803 C802 0.000 1 0.000 52 | C805 C804 C803 C802 3.625 2 180.000 53 | C805 C804 C803 C802 0.000 3 0.000 54 | C805 C804 C803 C802 0.000 4 180.000 55 | H806 C803 C802 C800 0.000 1 0.000 56 | H806 C803 C802 C800 3.625 2 180.000 57 | H806 C803 C802 C800 0.000 3 0.000 58 | H806 C803 C802 C800 0.000 4 180.000 59 | H807 C804 C803 C802 0.000 1 0.000 60 | H807 C804 C803 C802 3.625 2 180.000 61 | H807 C804 C803 C802 0.000 3 0.000 62 | H807 C804 C803 C802 0.000 4 180.000 63 | H808 C805 C804 C803 0.000 1 0.000 64 | H808 C805 C804 C803 3.625 2 180.000 65 | H808 C805 C804 C803 0.000 3 0.000 66 | H808 C805 C804 C803 0.000 4 180.000 67 | H809 C801 C800 C802 0.000 1 0.000 68 | H809 C801 C800 C802 3.625 2 180.000 69 | H809 C801 C800 C802 0.000 3 0.000 70 | H809 C801 C800 C802 0.000 4 180.000 71 | H810 C800 C801 C805 0.000 1 0.000 72 | H810 C800 C801 C805 3.625 2 180.000 73 | H810 C800 C801 C805 0.000 3 0.000 74 | H810 C800 C801 C805 0.000 4 180.000 75 | H811 C802 C800 C801 0.000 1 0.000 76 | H811 C802 C800 C801 3.625 2 180.000 77 | H811 C802 C800 C801 0.000 3 0.000 78 | H811 C802 C800 C801 0.000 4 180.000 79 | C805 C801 C800 C802 0.000 1 0.000 80 | C805 C801 C800 C802 3.625 2 180.000 81 | C805 C801 C800 C802 0.000 3 0.000 82 | C805 C801 C800 C802 0.000 4 180.000 83 | H810 C800 C802 C803 0.000 1 0.000 84 | H810 C800 C802 C803 3.625 2 180.000 85 | H810 C800 C802 C803 0.000 3 0.000 86 | H810 C800 C802 C803 0.000 4 180.000 87 | H811 C802 C803 C804 0.000 1 0.000 88 | H811 C802 C803 C804 3.625 2 180.000 89 | H811 C802 C803 C804 0.000 3 0.000 90 | H811 C802 C803 C804 0.000 4 180.000 91 | H806 C803 C804 C805 0.000 1 0.000 92 | H806 C803 C804 C805 3.625 2 180.000 93 | H806 C803 C804 C805 0.000 3 0.000 94 | H806 C803 C804 C805 0.000 4 180.000 95 | H811 C802 C803 H806 0.000 1 0.000 96 | H811 C802 C803 H806 3.625 2 180.000 97 | H811 C802 C803 H806 0.000 3 0.000 98 | H811 C802 C803 H806 0.000 4 180.000 99 | H807 C804 C803 H806 0.000 1 0.000 100 | H807 C804 C803 H806 3.625 2 180.000 101 | H807 C804 C803 H806 0.000 3 0.000 102 | H807 C804 C803 H806 0.000 4 180.000 103 | C801 C805 C804 H807 0.000 1 0.000 104 | C801 C805 C804 H807 3.625 2 180.000 105 | C801 C805 C804 H807 0.000 3 0.000 106 | C801 C805 C804 H807 0.000 4 180.000 107 | H808 C805 C804 H807 0.000 1 0.000 108 | H808 C805 C804 H807 3.625 2 180.000 109 | H808 C805 C804 H807 0.000 3 0.000 110 | H808 C805 C804 H807 0.000 4 180.000 111 | C800 C801 C805 H808 0.000 1 0.000 112 | C800 C801 C805 H808 3.625 2 180.000 113 | C800 C801 C805 H808 0.000 3 0.000 114 | C800 C801 C805 H808 0.000 4 180.000 115 | H809 C801 C805 H808 0.000 1 0.000 116 | H809 C801 C805 H808 3.625 2 180.000 117 | H809 C801 C805 H808 0.000 3 0.000 118 | H809 C801 C805 H808 0.000 4 180.000 119 | H810 C800 C801 H809 0.000 1 0.000 120 | H810 C800 C801 H809 3.625 2 180.000 121 | H810 C800 C801 H809 0.000 3 0.000 122 | H810 C800 C801 H809 0.000 4 180.000 123 | C804 C805 C801 H809 0.000 1 0.000 124 | C804 C805 C801 H809 3.625 2 180.000 125 | C804 C805 C801 H809 0.000 3 0.000 126 | C804 C805 C801 H809 0.000 4 180.000 127 | H811 C802 C800 H810 0.000 1 0.000 128 | H811 C802 C800 H810 3.625 2 180.000 129 | H811 C802 C800 H810 0.000 3 0.000 130 | H811 C802 C800 H810 0.000 4 180.000 131 | C803 C804 C805 C801 0.000 1 0.000 132 | C803 C804 C805 C801 3.625 2 180.000 133 | C803 C804 C805 C801 0.000 3 0.000 134 | C803 C804 C805 C801 0.000 4 180.000 135 | C800 C801 C805 C804 0.000 1 0.000 136 | C800 C801 C805 C804 3.625 2 180.000 137 | C800 C801 C805 C804 0.000 3 0.000 138 | C800 C801 C805 C804 0.000 4 180.000 139 | ! X X X X 0.00000 1 0.000000 1 ! WILD CARD FOR MISSING TORSION PARAMETERS 140 | 141 | IMPROPER 142 | C801 C800 C802 H810 2.500 2 180.000 143 | C800 C801 C805 H809 2.500 2 180.000 144 | C800 C802 C803 H811 2.500 2 180.000 145 | C802 C803 C804 H806 2.500 2 180.000 146 | C803 C804 C805 H807 2.500 2 180.000 147 | C804 C805 C801 H808 2.500 2 180.000 148 | ! X X X X 0.00000 2 0.000000 1 ! WILD CARD FOR MISSING IMPROPER PARAMETERS 149 | 150 | NONBONDED nbxmod 5 atom cdiel switch vatom vdistance vswitch - 151 | cutnb 14.0 ctofnb 12.0 ctonnb 11.5 eps 1.0 e14fac 0.5 geom 152 | C800 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 153 | C801 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 154 | C802 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 155 | C803 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 156 | C804 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 157 | C805 0.00 -0.070000 1.992370 0.00 -0.035000 1.992370 158 | H806 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 159 | H807 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 160 | H808 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 161 | H809 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 162 | H810 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 163 | H811 0.00 -0.030000 1.358179 0.00 -0.015000 1.358179 164 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.charmm.rtf: -------------------------------------------------------------------------------- 1 | !CHARMM rtf file generated by LigParGen program (israel.cabezadevaca@yale.edu) 2 | MASS 1 C800 12.0110 C 3 | MASS 2 C801 12.0110 C 4 | MASS 3 C802 12.0110 C 5 | MASS 4 C803 12.0110 C 6 | MASS 5 C804 12.0110 C 7 | MASS 6 C805 12.0110 C 8 | MASS 7 H806 1.0080 H 9 | MASS 8 H807 1.0080 H 10 | MASS 9 H808 1.0080 H 11 | MASS 10 H809 1.0080 H 12 | MASS 11 H810 1.0080 H 13 | MASS 12 H811 1.0080 H 14 | AUTO ANGLES DIHE 15 | RESI MOL 0.000 16 | ATOM C00 C800 -0.1387 17 | ATOM C01 C801 -0.1371 18 | ATOM C02 C802 -0.1354 19 | ATOM C03 C803 -0.1313 20 | ATOM C04 C804 -0.1358 21 | ATOM C05 C805 -0.1376 22 | ATOM H06 H806 0.1343 23 | ATOM H07 H807 0.1319 24 | ATOM H08 H808 0.1411 25 | ATOM H09 H809 0.1368 26 | ATOM H0A H810 0.1305 27 | ATOM H0B H811 0.1413 28 | BOND C01 C00 29 | BOND C02 C00 30 | BOND C03 C02 31 | BOND C04 C03 32 | BOND C05 C04 33 | BOND H06 C03 34 | BOND H07 C04 35 | BOND H08 C05 36 | BOND H09 C01 37 | BOND H0A C00 38 | BOND H0B C02 39 | BOND C05 C01 40 | IMPR C01 C00 C02 H0A 41 | IMPR C00 C01 C05 H09 42 | IMPR C00 C02 C03 H0B 43 | IMPR C02 C03 C04 H06 44 | IMPR C03 C04 C05 H07 45 | IMPR C04 C05 C01 H08 46 | PATCH FIRST NONE LAST NONE 47 | END 48 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.gmx.gro: -------------------------------------------------------------------------------- 1 | Generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 12 3 | 1MOL C00 1 0.130 0.039 -0.004 4 | 1MOL C01 2 0.030 0.134 -0.001 5 | 1MOL C02 3 0.102 -0.096 -0.003 6 | 1MOL C03 4 -0.030 -0.135 0.001 7 | 1MOL C04 5 -0.131 -0.040 0.004 8 | 1MOL C05 6 -0.103 0.095 0.003 9 | 1MOL H06 7 -0.050 -0.240 0.002 10 | 1MOL H07 8 -0.234 -0.072 0.008 11 | 1MOL H08 9 -0.183 0.168 0.005 12 | 1MOL H09 10 0.051 0.241 -0.002 13 | 1MOL H0A 11 0.233 0.072 -0.008 14 | 1MOL H0B 12 0.185 -0.166 -0.005 15 | 10.00000 10.00000 10.00000 16 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.gmx.itp: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------- 2 | ; Generated with LigParGen 3 | ; William L. Jorgensen Lab 4 | ; Author: israel.cabezadevaca@yale.edu 5 | ; OPLS Force Field with CM1A derived Atomic Charges 6 | ;--------------------------------------------- 7 | [ defaults ] 8 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 9 | 1 3 yes 0.5 0.5 10 | 11 | [ atomtypes ] 12 | opls_800 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 13 | opls_801 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 14 | opls_802 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 15 | opls_803 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 16 | opls_804 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 17 | opls_805 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 18 | opls_806 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 19 | opls_807 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 20 | opls_808 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 21 | opls_809 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 22 | opls_810 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 23 | opls_811 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 24 | 25 | [ moleculetype ] 26 | ; Name nrexcl 27 | MOL 3 28 | 29 | [ atoms ] 30 | ; nr type resnr residue atom cgnr charge mass 31 | 1 opls_800 1 MOL C00 1 -0.1387 12.0110 32 | 2 opls_801 1 MOL C01 1 -0.1371 12.0110 33 | 3 opls_802 1 MOL C02 1 -0.1354 12.0110 34 | 4 opls_803 1 MOL C03 1 -0.1313 12.0110 35 | 5 opls_804 1 MOL C04 1 -0.1358 12.0110 36 | 6 opls_805 1 MOL C05 1 -0.1376 12.0110 37 | 7 opls_806 1 MOL H06 1 0.1343 1.0080 38 | 8 opls_807 1 MOL H07 1 0.1319 1.0080 39 | 9 opls_808 1 MOL H08 1 0.1411 1.0080 40 | 10 opls_809 1 MOL H09 1 0.1368 1.0080 41 | 11 opls_810 1 MOL H0A 1 0.1305 1.0080 42 | 12 opls_811 1 MOL H0B 1 0.1413 1.0080 43 | 44 | [ bonds ] 45 | ; ai aj funct c0 c1 46 | 2 1 1 0.1400 392459.200 47 | 3 1 1 0.1400 392459.200 48 | 4 3 1 0.1400 392459.200 49 | 5 4 1 0.1400 392459.200 50 | 6 5 1 0.1400 392459.200 51 | 7 4 1 0.1080 307105.600 52 | 8 5 1 0.1080 307105.600 53 | 9 6 1 0.1080 307105.600 54 | 10 2 1 0.1080 307105.600 55 | 11 1 1 0.1080 307105.600 56 | 12 3 1 0.1080 307105.600 57 | 6 2 1 0.1400 392459.200 58 | 59 | [angles] 60 | ; ai aj ak funct c0 c1 61 | 3 1 2 1 120.000 527.184 62 | 4 3 1 1 120.000 527.184 63 | 5 4 3 1 120.000 527.184 64 | 6 5 4 1 120.000 527.184 65 | 7 4 3 1 120.000 292.880 66 | 8 5 4 1 120.000 292.880 67 | 9 6 5 1 120.000 292.880 68 | 10 2 1 1 120.000 292.880 69 | 11 1 2 1 120.000 292.880 70 | 12 3 1 1 120.000 292.880 71 | 11 1 3 1 120.000 292.880 72 | 12 3 4 1 120.000 292.880 73 | 7 4 5 1 120.000 292.880 74 | 8 5 6 1 120.000 292.880 75 | 1 2 6 1 120.000 527.184 76 | 10 2 6 1 120.000 292.880 77 | 2 6 9 1 120.000 292.880 78 | 5 6 2 1 120.000 527.184 79 | [ dihedrals ] 80 | ; PROPER DIHEDRAL ANGLES 81 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 82 | 4 3 1 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 83 | 5 4 3 1 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 84 | 6 5 4 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 85 | 7 4 3 1 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 86 | 8 5 4 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 87 | 9 6 5 4 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 88 | 10 2 1 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 89 | 11 1 2 6 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 90 | 12 3 1 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 91 | 6 2 1 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 92 | 11 1 3 4 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 93 | 12 3 4 5 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 94 | 7 4 5 6 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 95 | 12 3 4 7 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 96 | 8 5 4 7 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 97 | 2 6 5 8 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 98 | 9 6 5 8 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 99 | 1 2 6 9 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 100 | 10 2 6 9 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 101 | 11 1 2 10 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 102 | 5 6 2 10 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 103 | 12 3 1 11 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 104 | 4 5 6 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 105 | 1 2 6 5 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 106 | [ dihedrals ] 107 | ;IMPROPER DIHEDRAL ANGLES 108 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 109 | 2 1 3 11 4 180.000 10.460 2 110 | 1 2 6 10 4 180.000 10.460 2 111 | 1 3 4 12 4 180.000 10.460 2 112 | 3 4 5 7 4 180.000 10.460 2 113 | 4 5 6 8 4 180.000 10.460 2 114 | 5 6 2 9 4 180.000 10.460 2 115 | [ pairs ] 116 | ; ai aj funct 117 | 1 5 1 118 | 1 7 1 119 | 1 9 1 120 | 2 4 1 121 | 2 8 1 122 | 2 12 1 123 | 3 6 1 124 | 3 8 1 125 | 3 10 1 126 | 4 9 1 127 | 4 11 1 128 | 5 10 1 129 | 5 12 1 130 | 6 7 1 131 | 6 11 1 132 | 7 8 1 133 | 7 12 1 134 | 8 9 1 135 | 9 10 1 136 | 10 11 1 137 | 11 12 1 138 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.lammps.lmp: -------------------------------------------------------------------------------- 1 | LAMMPS data file generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 3 | 12 atoms 4 | 12 bonds 5 | 18 angles 6 | 24 dihedrals 7 | 6 impropers 8 | 9 | 12 atom types 10 | 12 bond types 11 | 18 angle types 12 | 24 dihedral types 13 | 6 improper types 14 | 15 | -2.338000 47.662000 xlo xhi 16 | -2.402000 47.598000 ylo yhi 17 | -0.076000 49.924000 zlo zhi 18 | 19 | Masses 20 | 21 | 1 12.011 22 | 2 12.011 23 | 3 12.011 24 | 4 12.011 25 | 5 12.011 26 | 6 12.011 27 | 7 1.008 28 | 8 1.008 29 | 9 1.008 30 | 10 1.008 31 | 11 1.008 32 | 12 1.008 33 | 34 | Pair Coeffs 35 | 36 | 1 0.070 3.5500000 37 | 2 0.070 3.5500000 38 | 3 0.070 3.5500000 39 | 4 0.070 3.5500000 40 | 5 0.070 3.5500000 41 | 6 0.070 3.5500000 42 | 7 0.030 2.4200000 43 | 8 0.030 2.4200000 44 | 9 0.030 2.4200000 45 | 10 0.030 2.4200000 46 | 11 0.030 2.4200000 47 | 12 0.030 2.4200000 48 | 49 | Bond Coeffs 50 | 51 | 1 469.0000 1.4000 52 | 2 469.0000 1.4000 53 | 3 469.0000 1.4000 54 | 4 469.0000 1.4000 55 | 5 469.0000 1.4000 56 | 6 367.0000 1.0800 57 | 7 367.0000 1.0800 58 | 8 367.0000 1.0800 59 | 9 367.0000 1.0800 60 | 10 367.0000 1.0800 61 | 11 367.0000 1.0800 62 | 12 469.0000 1.4000 63 | 64 | Angle Coeffs 65 | 66 | 1 63.000 120.000 67 | 2 63.000 120.000 68 | 3 63.000 120.000 69 | 4 63.000 120.000 70 | 5 35.000 120.000 71 | 6 35.000 120.000 72 | 7 35.000 120.000 73 | 8 35.000 120.000 74 | 9 35.000 120.000 75 | 10 35.000 120.000 76 | 11 35.000 120.000 77 | 12 35.000 120.000 78 | 13 35.000 120.000 79 | 14 35.000 120.000 80 | 15 63.000 120.000 81 | 16 35.000 120.000 82 | 17 35.000 120.000 83 | 18 63.000 120.000 84 | 85 | Dihedral Coeffs 86 | 87 | 1 0.000 7.250 0.000 0.000 88 | 2 0.000 7.250 0.000 0.000 89 | 3 0.000 7.250 0.000 0.000 90 | 4 0.000 7.250 0.000 0.000 91 | 5 0.000 7.250 0.000 0.000 92 | 6 0.000 7.250 0.000 0.000 93 | 7 0.000 7.250 0.000 0.000 94 | 8 0.000 7.250 0.000 0.000 95 | 9 0.000 7.250 0.000 0.000 96 | 10 0.000 7.250 0.000 0.000 97 | 11 0.000 7.250 0.000 0.000 98 | 12 0.000 7.250 0.000 0.000 99 | 13 0.000 7.250 0.000 0.000 100 | 14 0.000 7.250 0.000 0.000 101 | 15 0.000 7.250 0.000 0.000 102 | 16 0.000 7.250 0.000 0.000 103 | 17 0.000 7.250 0.000 0.000 104 | 18 0.000 7.250 0.000 0.000 105 | 19 0.000 7.250 0.000 0.000 106 | 20 0.000 7.250 0.000 0.000 107 | 21 0.000 7.250 0.000 0.000 108 | 22 0.000 7.250 0.000 0.000 109 | 23 0.000 7.250 0.000 0.000 110 | 24 0.000 7.250 0.000 0.000 111 | 112 | Improper Coeffs 113 | 114 | 1 2.500 -1 2 115 | 2 2.500 -1 2 116 | 3 2.500 -1 2 117 | 4 2.500 -1 2 118 | 5 2.500 -1 2 119 | 6 2.500 -1 2 120 | 121 | Atoms 122 | 123 | 1 1 1 -0.138696 1.29800 0.39300 -0.04200 124 | 2 1 2 -0.137064 0.30400 1.34300 -0.01400 125 | 3 1 3 -0.135358 1.02100 -0.96300 -0.02900 126 | 4 1 4 -0.131338 -0.29900 -1.35100 0.01400 127 | 5 1 5 -0.135788 -1.30600 -0.40300 0.04300 128 | 6 1 6 -0.137648 -1.03100 0.95000 0.02900 129 | 7 1 7 0.134285 -0.50300 -2.40200 0.02400 130 | 8 1 8 0.131947 -2.33800 -0.72400 0.07700 131 | 9 1 9 0.141126 -1.83000 1.67900 0.05200 132 | 10 1 10 0.136785 0.50600 2.41200 -0.02400 133 | 11 1 11 0.130471 2.32900 0.72200 -0.07600 134 | 12 1 12 0.141279 1.84900 -1.65600 -0.05300 135 | 136 | Bonds 137 | 138 | 1 1 2 1 139 | 2 2 3 1 140 | 3 3 4 3 141 | 4 4 5 4 142 | 5 5 6 5 143 | 6 6 7 4 144 | 7 7 8 5 145 | 8 8 9 6 146 | 9 9 10 2 147 | 10 10 11 1 148 | 11 11 12 3 149 | 12 12 6 2 150 | 151 | Angles 152 | 153 | 1 1 3 1 2 154 | 2 2 4 3 1 155 | 3 3 5 4 3 156 | 4 4 6 5 4 157 | 5 5 7 4 3 158 | 6 6 8 5 4 159 | 7 7 9 6 5 160 | 8 8 10 2 1 161 | 9 9 11 1 2 162 | 10 10 12 3 1 163 | 11 11 11 1 3 164 | 12 12 12 3 4 165 | 13 13 7 4 5 166 | 14 14 8 5 6 167 | 15 15 1 2 6 168 | 16 16 10 2 6 169 | 17 17 2 6 9 170 | 18 18 5 6 2 171 | 172 | Dihedrals 173 | 174 | 1 1 4 3 1 2 175 | 2 2 5 4 3 1 176 | 3 3 6 5 4 3 177 | 4 4 7 4 3 1 178 | 5 5 8 5 4 3 179 | 6 6 9 6 5 4 180 | 7 7 10 2 1 3 181 | 8 8 11 1 2 6 182 | 9 9 12 3 1 2 183 | 10 10 6 2 1 3 184 | 11 11 11 1 3 4 185 | 12 12 12 3 4 5 186 | 13 13 7 4 5 6 187 | 14 14 12 3 4 7 188 | 15 15 8 5 4 7 189 | 16 16 2 6 5 8 190 | 17 17 9 6 5 8 191 | 18 18 1 2 6 9 192 | 19 19 10 2 6 9 193 | 20 20 11 1 2 10 194 | 21 21 5 6 2 10 195 | 22 22 12 3 1 11 196 | 23 23 4 5 6 2 197 | 24 24 1 2 6 5 198 | 199 | Impropers 200 | 201 | 1 1 2 1 3 11 202 | 2 2 1 2 6 10 203 | 3 3 1 3 4 12 204 | 4 4 3 4 5 7 205 | 5 5 4 5 6 8 206 | 6 6 5 6 2 9 207 | 208 | 209 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.openmm.pdb: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 1.00 0.00 C 2 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 1.00 0.00 C 3 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 1.00 0.00 C 4 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 1.00 0.00 C 5 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 1.00 0.00 C 6 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 1.00 0.00 C 7 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 1.00 0.00 H 8 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 1.00 0.00 H 9 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 1.00 0.00 H 10 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 1.00 0.00 H 11 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 1.00 0.00 H 12 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 1.00 0.00 H 13 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.pqr: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 -0.1387 1.9924 2 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 -0.1371 1.9924 3 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 -0.1354 1.9924 4 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 -0.1313 1.9924 5 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 -0.1358 1.9924 6 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 -0.1376 1.9924 7 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 0.1343 1.3582 8 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 0.1319 1.3582 9 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 0.1411 1.3582 10 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 0.1368 1.3582 11 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 0.1305 1.3582 12 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 0.1413 1.3582 13 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.q.lib: -------------------------------------------------------------------------------- 1 | *Generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 3 | {MOL} 4 | [atoms] 5 | 1 C00 C800 -0.1387 6 | 2 C01 C801 -0.1371 7 | 3 C02 C802 -0.1354 8 | 4 C03 C803 -0.1313 9 | 5 C04 C804 -0.1358 10 | 6 C05 C805 -0.1376 11 | 7 H06 H806 0.1343 12 | 8 H07 H807 0.1319 13 | 9 H08 H808 0.1411 14 | 10 H09 H809 0.1368 15 | 11 H0A H810 0.1305 16 | 12 H0B H811 0.1413 17 | 18 | [bonds] 19 | C01 C00 20 | C02 C00 21 | C03 C02 22 | C04 C03 23 | C05 C04 24 | H06 C03 25 | H07 C04 26 | H08 C05 27 | H09 C01 28 | H0A C00 29 | H0B C02 30 | C05 C01 31 | 32 | [impropers] 33 | C01 C00 C02 H0A 34 | C00 C01 C05 H09 35 | C00 C02 C03 H0B 36 | C02 C03 C04 H06 37 | C03 C04 C05 H07 38 | C04 C05 C01 H08 39 | 40 | [charge_groups] 41 | C00 C01 C02 C03 C04 C05 H06 H07 H08 H09 H0A H0B 42 | 43 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.q.pdb: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 1.00 0.00 C 2 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 1.00 0.00 C 3 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 1.00 0.00 C 4 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 1.00 0.00 C 5 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 1.00 0.00 C 6 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 1.00 0.00 C 7 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 1.00 0.00 H 8 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 1.00 0.00 H 9 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 1.00 0.00 H 10 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 1.00 0.00 H 11 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 1.00 0.00 H 12 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 1.00 0.00 H 13 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.q.prm: -------------------------------------------------------------------------------- 1 | *--------------------------------------------- 2 | * Generated with LigParGen 3 | * William L. Jorgensen Lab 4 | * Author: israel.cabezadevaca@yale.edu 5 | * OPLS Force Field with CM1A derived Atomic Charges 6 | *--------------------------------------------- 7 | [options] 8 | vdw_rule geometric !vwd combination rule 9 | scale_14 0.5 !electrostatics 1-4 scaling factor 10 | switch_atoms on 11 | improper_potential periodic 12 | force_field AMBER 13 | improper_definition explicit 14 | 15 | [atom_types] 16 | *tac--Avdw1--Avdw2--Bvdw1--Avdw3--Bvdw2&3--mass--comment 17 | C800 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 18 | C801 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 19 | C802 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 20 | C803 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 21 | C804 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 22 | C805 1059.1297 1059.1297 23.6736 748.9178 16.7398 12.0110 ! MOL 23 | H806 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 24 | H807 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 25 | H808 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 26 | H809 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 27 | H810 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 28 | H811 69.5797 69.5797 4.9095 49.2003 3.4715 1.0080 ! MOL 29 | 30 | [bonds] 31 | !*iaci--iacj--force.c--dist. 32 | C801 C800 938.0 1.400 33 | C802 C800 938.0 1.400 34 | C803 C802 938.0 1.400 35 | C804 C803 938.0 1.400 36 | C805 C804 938.0 1.400 37 | H806 C803 734.0 1.080 38 | H807 C804 734.0 1.080 39 | H808 C805 734.0 1.080 40 | H809 C801 734.0 1.080 41 | H810 C800 734.0 1.080 42 | H811 C802 734.0 1.080 43 | C805 C801 938.0 1.400 44 | 45 | [angles] 46 | !*iaci--iacj--iack--force.c--angle. 47 | C802 C800 C801 126.00 120.000 48 | C803 C802 C800 126.00 120.000 49 | C804 C803 C802 126.00 120.000 50 | C805 C804 C803 126.00 120.000 51 | H806 C803 C802 70.00 120.000 52 | H807 C804 C803 70.00 120.000 53 | H808 C805 C804 70.00 120.000 54 | H809 C801 C800 70.00 120.000 55 | H810 C800 C801 70.00 120.000 56 | H811 C802 C800 70.00 120.000 57 | H810 C800 C802 70.00 120.000 58 | H811 C802 C803 70.00 120.000 59 | H806 C803 C804 70.00 120.000 60 | H807 C804 C805 70.00 120.000 61 | C800 C801 C805 126.00 120.000 62 | H809 C801 C805 70.00 120.000 63 | C801 C805 H808 70.00 120.000 64 | C804 C805 C801 126.00 120.000 65 | 66 | [torsions] 67 | !*iaci--iacj--iack--iackl--force.c--minima--phase--path. 68 | C803 C802 C800 C801 0.000 -1.000 0.000 1.000 69 | C803 C802 C800 C801 3.625 -2.000 180.000 1.000 70 | C803 C802 C800 C801 0.000 -3.000 0.000 1.000 71 | C803 C802 C800 C801 0.000 4.000 180.000 1.000 72 | C804 C803 C802 C800 0.000 -1.000 0.000 1.000 73 | C804 C803 C802 C800 3.625 -2.000 180.000 1.000 74 | C804 C803 C802 C800 0.000 -3.000 0.000 1.000 75 | C804 C803 C802 C800 0.000 4.000 180.000 1.000 76 | C805 C804 C803 C802 0.000 -1.000 0.000 1.000 77 | C805 C804 C803 C802 3.625 -2.000 180.000 1.000 78 | C805 C804 C803 C802 0.000 -3.000 0.000 1.000 79 | C805 C804 C803 C802 0.000 4.000 180.000 1.000 80 | H806 C803 C802 C800 0.000 -1.000 0.000 1.000 81 | H806 C803 C802 C800 3.625 -2.000 180.000 1.000 82 | H806 C803 C802 C800 0.000 -3.000 0.000 1.000 83 | H806 C803 C802 C800 0.000 4.000 180.000 1.000 84 | H807 C804 C803 C802 0.000 -1.000 0.000 1.000 85 | H807 C804 C803 C802 3.625 -2.000 180.000 1.000 86 | H807 C804 C803 C802 0.000 -3.000 0.000 1.000 87 | H807 C804 C803 C802 0.000 4.000 180.000 1.000 88 | H808 C805 C804 C803 0.000 -1.000 0.000 1.000 89 | H808 C805 C804 C803 3.625 -2.000 180.000 1.000 90 | H808 C805 C804 C803 0.000 -3.000 0.000 1.000 91 | H808 C805 C804 C803 0.000 4.000 180.000 1.000 92 | H809 C801 C800 C802 0.000 -1.000 0.000 1.000 93 | H809 C801 C800 C802 3.625 -2.000 180.000 1.000 94 | H809 C801 C800 C802 0.000 -3.000 0.000 1.000 95 | H809 C801 C800 C802 0.000 4.000 180.000 1.000 96 | H810 C800 C801 C805 0.000 -1.000 0.000 1.000 97 | H810 C800 C801 C805 3.625 -2.000 180.000 1.000 98 | H810 C800 C801 C805 0.000 -3.000 0.000 1.000 99 | H810 C800 C801 C805 0.000 4.000 180.000 1.000 100 | H811 C802 C800 C801 0.000 -1.000 0.000 1.000 101 | H811 C802 C800 C801 3.625 -2.000 180.000 1.000 102 | H811 C802 C800 C801 0.000 -3.000 0.000 1.000 103 | H811 C802 C800 C801 0.000 4.000 180.000 1.000 104 | C805 C801 C800 C802 0.000 -1.000 0.000 1.000 105 | C805 C801 C800 C802 3.625 -2.000 180.000 1.000 106 | C805 C801 C800 C802 0.000 -3.000 0.000 1.000 107 | C805 C801 C800 C802 0.000 4.000 180.000 1.000 108 | H810 C800 C802 C803 0.000 -1.000 0.000 1.000 109 | H810 C800 C802 C803 3.625 -2.000 180.000 1.000 110 | H810 C800 C802 C803 0.000 -3.000 0.000 1.000 111 | H810 C800 C802 C803 0.000 4.000 180.000 1.000 112 | H811 C802 C803 C804 0.000 -1.000 0.000 1.000 113 | H811 C802 C803 C804 3.625 -2.000 180.000 1.000 114 | H811 C802 C803 C804 0.000 -3.000 0.000 1.000 115 | H811 C802 C803 C804 0.000 4.000 180.000 1.000 116 | H806 C803 C804 C805 0.000 -1.000 0.000 1.000 117 | H806 C803 C804 C805 3.625 -2.000 180.000 1.000 118 | H806 C803 C804 C805 0.000 -3.000 0.000 1.000 119 | H806 C803 C804 C805 0.000 4.000 180.000 1.000 120 | H811 C802 C803 H806 0.000 -1.000 0.000 1.000 121 | H811 C802 C803 H806 3.625 -2.000 180.000 1.000 122 | H811 C802 C803 H806 0.000 -3.000 0.000 1.000 123 | H811 C802 C803 H806 0.000 4.000 180.000 1.000 124 | H807 C804 C803 H806 0.000 -1.000 0.000 1.000 125 | H807 C804 C803 H806 3.625 -2.000 180.000 1.000 126 | H807 C804 C803 H806 0.000 -3.000 0.000 1.000 127 | H807 C804 C803 H806 0.000 4.000 180.000 1.000 128 | C801 C805 C804 H807 0.000 -1.000 0.000 1.000 129 | C801 C805 C804 H807 3.625 -2.000 180.000 1.000 130 | C801 C805 C804 H807 0.000 -3.000 0.000 1.000 131 | C801 C805 C804 H807 0.000 4.000 180.000 1.000 132 | H808 C805 C804 H807 0.000 -1.000 0.000 1.000 133 | H808 C805 C804 H807 3.625 -2.000 180.000 1.000 134 | H808 C805 C804 H807 0.000 -3.000 0.000 1.000 135 | H808 C805 C804 H807 0.000 4.000 180.000 1.000 136 | C800 C801 C805 H808 0.000 -1.000 0.000 1.000 137 | C800 C801 C805 H808 3.625 -2.000 180.000 1.000 138 | C800 C801 C805 H808 0.000 -3.000 0.000 1.000 139 | C800 C801 C805 H808 0.000 4.000 180.000 1.000 140 | H809 C801 C805 H808 0.000 -1.000 0.000 1.000 141 | H809 C801 C805 H808 3.625 -2.000 180.000 1.000 142 | H809 C801 C805 H808 0.000 -3.000 0.000 1.000 143 | H809 C801 C805 H808 0.000 4.000 180.000 1.000 144 | H810 C800 C801 H809 0.000 -1.000 0.000 1.000 145 | H810 C800 C801 H809 3.625 -2.000 180.000 1.000 146 | H810 C800 C801 H809 0.000 -3.000 0.000 1.000 147 | H810 C800 C801 H809 0.000 4.000 180.000 1.000 148 | C804 C805 C801 H809 0.000 -1.000 0.000 1.000 149 | C804 C805 C801 H809 3.625 -2.000 180.000 1.000 150 | C804 C805 C801 H809 0.000 -3.000 0.000 1.000 151 | C804 C805 C801 H809 0.000 4.000 180.000 1.000 152 | H811 C802 C800 H810 0.000 -1.000 0.000 1.000 153 | H811 C802 C800 H810 3.625 -2.000 180.000 1.000 154 | H811 C802 C800 H810 0.000 -3.000 0.000 1.000 155 | H811 C802 C800 H810 0.000 4.000 180.000 1.000 156 | C803 C804 C805 C801 0.000 -1.000 0.000 1.000 157 | C803 C804 C805 C801 3.625 -2.000 180.000 1.000 158 | C803 C804 C805 C801 0.000 -3.000 0.000 1.000 159 | C803 C804 C805 C801 0.000 4.000 180.000 1.000 160 | C800 C801 C805 C804 0.000 -1.000 0.000 1.000 161 | C800 C801 C805 C804 3.625 -2.000 180.000 1.000 162 | C800 C801 C805 C804 0.000 -3.000 0.000 1.000 163 | C800 C801 C805 C804 0.000 4.000 180.000 1.000 164 | ! X X X X 0.00000 1 0.000000 1 ! WILD CARD FOR MISSING TORSION PARAMETERS 165 | 166 | [impropers] 167 | !*iaci--iacj--iack--iackl--force.c--phase. 168 | C801 C800 C802 H810 2.500 180.000 169 | C800 C801 C805 H809 2.500 180.000 170 | C800 C802 C803 H811 2.500 180.000 171 | C802 C803 C804 H806 2.500 180.000 172 | C803 C804 C805 H807 2.500 180.000 173 | C804 C805 C801 H808 2.500 180.000 174 | ! X X X X 0.00000 2 0.000000 1 ! WILD CARD FOR MISSING IMPROPER PARAMETERS 175 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.tinker.key: -------------------------------------------------------------------------------- 1 | !--------------------------------------------- 2 | ! Generated with LigParGen 3 | ! William L. Jorgensen Lab 4 | ! Author: israel.cabezadevaca@yale.edu 5 | ! OPLS Force Field with CM1A derived Atomic Charges 6 | !--------------------------------------------- 7 | #Force Field Definition 8 | 9 | forcefield OPLS-AA 10 | 11 | vdwindex TYPE 12 | vdwtype LENNARD-JONES 13 | radiusrule GEOMETRIC 14 | radiustype SIGMA 15 | radiussize DIAMETER 16 | epsilonrule GEOMETRIC 17 | torsionunit 1.0 18 | imptorunit 1.0 19 | vdw-14-scale 2.0 20 | chg-14-scale 2.0 21 | electric 332.06 22 | dielectric 1.0 23 | 24 | 25 | ############################# 26 | ## ## 27 | ## Atom Type Definitions ## 28 | ## ## 29 | ############################# 30 | 31 | 32 | atom 800 800 CA "C00" 6 12.011 3 33 | atom 801 801 CA "C01" 6 12.011 3 34 | atom 802 802 CA "C02" 6 12.011 3 35 | atom 803 803 CA "C03" 6 12.011 3 36 | atom 804 804 CA "C04" 6 12.011 3 37 | atom 805 805 CA "C05" 6 12.011 3 38 | atom 806 806 HA "H06" 1 1.008 1 39 | atom 807 807 HA "H07" 1 1.008 1 40 | atom 808 808 HA "H08" 1 1.008 1 41 | atom 809 809 HA "H09" 1 1.008 1 42 | atom 810 810 HA "H0A" 1 1.008 1 43 | atom 811 811 HA "H0B" 1 1.008 1 44 | 45 | 46 | ################################ 47 | ## ## 48 | ## Van der Waals Parameters ## 49 | ## ## 50 | ################################ 51 | 52 | 53 | vdw 800 3.5500 0.0700 54 | vdw 801 3.5500 0.0700 55 | vdw 802 3.5500 0.0700 56 | vdw 803 3.5500 0.0700 57 | vdw 804 3.5500 0.0700 58 | vdw 805 3.5500 0.0700 59 | vdw 806 2.4200 0.0300 60 | vdw 807 2.4200 0.0300 61 | vdw 808 2.4200 0.0300 62 | vdw 809 2.4200 0.0300 63 | vdw 810 2.4200 0.0300 64 | vdw 811 2.4200 0.0300 65 | 66 | 67 | ################################## 68 | ## ## 69 | ## Bond Stretching Parameters ## 70 | ## ## 71 | ################################## 72 | 73 | 74 | bond 801 800 469.00 1.4000 75 | bond 802 800 469.00 1.4000 76 | bond 803 802 469.00 1.4000 77 | bond 804 803 469.00 1.4000 78 | bond 805 804 469.00 1.4000 79 | bond 806 803 367.00 1.0800 80 | bond 807 804 367.00 1.0800 81 | bond 808 805 367.00 1.0800 82 | bond 809 801 367.00 1.0800 83 | bond 810 800 367.00 1.0800 84 | bond 811 802 367.00 1.0800 85 | bond 805 801 469.00 1.4000 86 | 87 | 88 | ################################ 89 | ## ## 90 | ## Angle Bending Parameters ## 91 | ## ## 92 | ################################ 93 | 94 | 95 | angle 802 800 801 63.00 120.00 96 | angle 803 802 800 63.00 120.00 97 | angle 804 803 802 63.00 120.00 98 | angle 805 804 803 63.00 120.00 99 | angle 806 803 802 35.00 120.00 100 | angle 807 804 803 35.00 120.00 101 | angle 808 805 804 35.00 120.00 102 | angle 809 801 800 35.00 120.00 103 | angle 810 800 801 35.00 120.00 104 | angle 811 802 800 35.00 120.00 105 | angle 810 800 802 35.00 120.00 106 | angle 811 802 803 35.00 120.00 107 | angle 806 803 804 35.00 120.00 108 | angle 807 804 805 35.00 120.00 109 | angle 800 801 805 63.00 120.00 110 | angle 809 801 805 35.00 120.00 111 | angle 801 805 808 35.00 120.00 112 | angle 804 805 801 63.00 120.00 113 | 114 | 115 | ############################ 116 | ## ## 117 | ## Torsional Parameters ## 118 | ## ## 119 | ############################ 120 | 121 | 122 | torsion 803 802 800 801 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 123 | torsion 804 803 802 800 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 124 | torsion 805 804 803 802 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 125 | torsion 806 803 802 800 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 126 | torsion 807 804 803 802 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 127 | torsion 808 805 804 803 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 128 | torsion 809 801 800 802 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 129 | torsion 810 800 801 805 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 130 | torsion 811 802 800 801 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 131 | torsion 805 801 800 802 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 132 | torsion 810 800 802 803 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 133 | torsion 811 802 803 804 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 134 | torsion 806 803 804 805 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 135 | torsion 811 802 803 806 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 136 | torsion 807 804 803 806 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 137 | torsion 801 805 804 807 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 138 | torsion 808 805 804 807 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 139 | torsion 800 801 805 808 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 140 | torsion 809 801 805 808 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 141 | torsion 810 800 801 809 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 142 | torsion 804 805 801 809 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 143 | torsion 811 802 800 810 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 144 | torsion 803 804 805 801 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 145 | torsion 800 801 805 804 0.000 0.0 1 3.625 180.0 2 0.000 0.0 3 146 | 147 | 148 | ##################################### 149 | ## ## 150 | ## Improper Torsional Parameters ## 151 | ## ## 152 | ##################################### 153 | 154 | 155 | imptors 801 800 802 810 2.500 180.0 2 156 | imptors 800 801 805 809 2.500 180.0 2 157 | imptors 800 802 803 811 2.500 180.0 2 158 | imptors 802 803 804 806 2.500 180.0 2 159 | imptors 803 804 805 807 2.500 180.0 2 160 | imptors 804 805 801 808 2.500 180.0 2 161 | 162 | 163 | ######################################## 164 | ## ## 165 | ## Atomic Partial Charge Parameters ## 166 | ## ## 167 | ######################################## 168 | 169 | 170 | charge 800 -0.1387 171 | charge 801 -0.1371 172 | charge 802 -0.1354 173 | charge 803 -0.1313 174 | charge 804 -0.1358 175 | charge 805 -0.1376 176 | charge 806 0.1343 177 | charge 807 0.1319 178 | charge 808 0.1411 179 | charge 809 0.1368 180 | charge 810 0.1305 181 | charge 811 0.1413 182 | 183 | 184 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.tinker.xyz: -------------------------------------------------------------------------------- 1 | 12 2 | 1 C00 1.298000 0.393000 -0.042000 800 2 3 11 3 | 2 C01 0.304000 1.343000 -0.014000 801 1 10 6 4 | 3 C02 1.021000 -0.963000 -0.029000 802 1 4 12 5 | 4 C03 -0.299000 -1.351000 0.014000 803 3 5 7 6 | 5 C04 -1.306000 -0.403000 0.043000 804 4 6 8 7 | 6 C05 -1.031000 0.950000 0.029000 805 5 9 2 8 | 7 H06 -0.503000 -2.402000 0.024000 806 4 9 | 8 H07 -2.338000 -0.724000 0.077000 807 5 10 | 9 H08 -1.830000 1.679000 0.052000 808 6 11 | 10 H09 0.506000 2.412000 -0.024000 809 2 12 | 11 H0A 2.329000 0.722000 -0.076000 810 1 13 | 12 H0B 1.849000 -1.656000 -0.053000 811 3 14 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.xplor.param: -------------------------------------------------------------------------------- 1 | Remarks generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 3 | set echo=false end 4 | 5 | { BOND: atomType1 atomType2 kb r0 } 6 | BOND C801 C800 469.0 1.4000 7 | BOND C802 C800 469.0 1.4000 8 | BOND C803 C802 469.0 1.4000 9 | BOND C804 C803 469.0 1.4000 10 | BOND C805 C804 469.0 1.4000 11 | BOND H806 C803 367.0 1.0800 12 | BOND H807 C804 367.0 1.0800 13 | BOND H808 C805 367.0 1.0800 14 | BOND H809 C801 367.0 1.0800 15 | BOND H810 C800 367.0 1.0800 16 | BOND H811 C802 367.0 1.0800 17 | BOND C805 C801 469.0 1.4000 18 | 19 | { ANGLE: aType1 aType2 aType3 kt t0 } 20 | ANGLE C802 C800 C801 63.0 120.00 21 | ANGLE C803 C802 C800 63.0 120.00 22 | ANGLE C804 C803 C802 63.0 120.00 23 | ANGLE C805 C804 C803 63.0 120.00 24 | ANGLE H806 C803 C802 35.0 120.00 25 | ANGLE H807 C804 C803 35.0 120.00 26 | ANGLE H808 C805 C804 35.0 120.00 27 | ANGLE H809 C801 C800 35.0 120.00 28 | ANGLE H810 C800 C801 35.0 120.00 29 | ANGLE H811 C802 C800 35.0 120.00 30 | ANGLE H810 C800 C802 35.0 120.00 31 | ANGLE H811 C802 C803 35.0 120.00 32 | ANGLE H806 C803 C804 35.0 120.00 33 | ANGLE H807 C804 C805 35.0 120.00 34 | ANGLE C800 C801 C805 63.0 120.00 35 | ANGLE H809 C801 C805 35.0 120.00 36 | ANGLE C801 C805 H808 35.0 120.00 37 | ANGLE C804 C805 C801 63.0 120.00 38 | 39 | { Proper Dihedrals: aType1 aType2 aType3 aType4 kt period phase } 40 | DIHEDRAL C803 C802 C800 C801 MULT 4 0.000 1 0.00 41 | 3.625 2 180.00 42 | 0.000 3 0.00 43 | 0.000 4 180.00 44 | DIHEDRAL C804 C803 C802 C800 MULT 4 0.000 1 0.00 45 | 3.625 2 180.00 46 | 0.000 3 0.00 47 | 0.000 4 180.00 48 | DIHEDRAL C805 C804 C803 C802 MULT 4 0.000 1 0.00 49 | 3.625 2 180.00 50 | 0.000 3 0.00 51 | 0.000 4 180.00 52 | DIHEDRAL H806 C803 C802 C800 MULT 4 0.000 1 0.00 53 | 3.625 2 180.00 54 | 0.000 3 0.00 55 | 0.000 4 180.00 56 | DIHEDRAL H807 C804 C803 C802 MULT 4 0.000 1 0.00 57 | 3.625 2 180.00 58 | 0.000 3 0.00 59 | 0.000 4 180.00 60 | DIHEDRAL H808 C805 C804 C803 MULT 4 0.000 1 0.00 61 | 3.625 2 180.00 62 | 0.000 3 0.00 63 | 0.000 4 180.00 64 | DIHEDRAL H809 C801 C800 C802 MULT 4 0.000 1 0.00 65 | 3.625 2 180.00 66 | 0.000 3 0.00 67 | 0.000 4 180.00 68 | DIHEDRAL H810 C800 C801 C805 MULT 4 0.000 1 0.00 69 | 3.625 2 180.00 70 | 0.000 3 0.00 71 | 0.000 4 180.00 72 | DIHEDRAL H811 C802 C800 C801 MULT 4 0.000 1 0.00 73 | 3.625 2 180.00 74 | 0.000 3 0.00 75 | 0.000 4 180.00 76 | DIHEDRAL C805 C801 C800 C802 MULT 4 0.000 1 0.00 77 | 3.625 2 180.00 78 | 0.000 3 0.00 79 | 0.000 4 180.00 80 | DIHEDRAL H810 C800 C802 C803 MULT 4 0.000 1 0.00 81 | 3.625 2 180.00 82 | 0.000 3 0.00 83 | 0.000 4 180.00 84 | DIHEDRAL H811 C802 C803 C804 MULT 4 0.000 1 0.00 85 | 3.625 2 180.00 86 | 0.000 3 0.00 87 | 0.000 4 180.00 88 | DIHEDRAL H806 C803 C804 C805 MULT 4 0.000 1 0.00 89 | 3.625 2 180.00 90 | 0.000 3 0.00 91 | 0.000 4 180.00 92 | DIHEDRAL H811 C802 C803 H806 MULT 4 0.000 1 0.00 93 | 3.625 2 180.00 94 | 0.000 3 0.00 95 | 0.000 4 180.00 96 | DIHEDRAL H807 C804 C803 H806 MULT 4 0.000 1 0.00 97 | 3.625 2 180.00 98 | 0.000 3 0.00 99 | 0.000 4 180.00 100 | DIHEDRAL C801 C805 C804 H807 MULT 4 0.000 1 0.00 101 | 3.625 2 180.00 102 | 0.000 3 0.00 103 | 0.000 4 180.00 104 | DIHEDRAL H808 C805 C804 H807 MULT 4 0.000 1 0.00 105 | 3.625 2 180.00 106 | 0.000 3 0.00 107 | 0.000 4 180.00 108 | DIHEDRAL C800 C801 C805 H808 MULT 4 0.000 1 0.00 109 | 3.625 2 180.00 110 | 0.000 3 0.00 111 | 0.000 4 180.00 112 | DIHEDRAL H809 C801 C805 H808 MULT 4 0.000 1 0.00 113 | 3.625 2 180.00 114 | 0.000 3 0.00 115 | 0.000 4 180.00 116 | DIHEDRAL H810 C800 C801 H809 MULT 4 0.000 1 0.00 117 | 3.625 2 180.00 118 | 0.000 3 0.00 119 | 0.000 4 180.00 120 | DIHEDRAL C804 C805 C801 H809 MULT 4 0.000 1 0.00 121 | 3.625 2 180.00 122 | 0.000 3 0.00 123 | 0.000 4 180.00 124 | DIHEDRAL H811 C802 C800 H810 MULT 4 0.000 1 0.00 125 | 3.625 2 180.00 126 | 0.000 3 0.00 127 | 0.000 4 180.00 128 | DIHEDRAL C803 C804 C805 C801 MULT 4 0.000 1 0.00 129 | 3.625 2 180.00 130 | 0.000 3 0.00 131 | 0.000 4 180.00 132 | DIHEDRAL C800 C801 C805 C804 MULT 4 0.000 1 0.00 133 | 3.625 2 180.00 134 | 0.000 3 0.00 135 | 0.000 4 180.00 136 | 137 | { Improper Dihedrals: aType1 aType2 aType3 aType4 kt period phase } 138 | IMPROPER C801 C800 C802 H810 2.50000 2 180.0000 139 | IMPROPER C800 C801 C805 H809 2.50000 2 180.0000 140 | IMPROPER C800 C802 C803 H811 2.50000 2 180.0000 141 | IMPROPER C802 C803 C804 H806 2.50000 2 180.0000 142 | IMPROPER C803 C804 C805 H807 2.50000 2 180.0000 143 | IMPROPER C804 C805 C801 H808 2.50000 2 180.0000 144 | 145 | { Nonbonded: Type Emin sigma; (1-4): Emin/2 sigma } 146 | NONBONDED C800 0.070000 3.550000 0.035000 3.550000 147 | NONBONDED C801 0.070000 3.550000 0.035000 3.550000 148 | NONBONDED C802 0.070000 3.550000 0.035000 3.550000 149 | NONBONDED C803 0.070000 3.550000 0.035000 3.550000 150 | NONBONDED C804 0.070000 3.550000 0.035000 3.550000 151 | NONBONDED C805 0.070000 3.550000 0.035000 3.550000 152 | NONBONDED H806 0.030000 2.420000 0.015000 2.420000 153 | NONBONDED H807 0.030000 2.420000 0.015000 2.420000 154 | NONBONDED H808 0.030000 2.420000 0.015000 2.420000 155 | NONBONDED H809 0.030000 2.420000 0.015000 2.420000 156 | NONBONDED H810 0.030000 2.420000 0.015000 2.420000 157 | NONBONDED H811 0.030000 2.420000 0.015000 2.420000 158 | 159 | set echo=true end 160 | 161 | 162 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene.xplor.top: -------------------------------------------------------------------------------- 1 | Remarks generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 3 | set echo=false end 4 | 5 | autogenerate angles=True dihedrals=True end 6 | 7 | { atomType mass } 8 | MASS C800 12.0110 9 | MASS C801 12.0110 10 | MASS C802 12.0110 11 | MASS C803 12.0110 12 | MASS C804 12.0110 13 | MASS C805 12.0110 14 | MASS H806 1.0080 15 | MASS H807 1.0080 16 | MASS H808 1.0080 17 | MASS H809 1.0080 18 | MASS H810 1.0080 19 | MASS H811 1.0080 20 | 21 | RESIdue MOL 22 | 23 | GROUP 24 | 25 | { atomName atomType Charge } 26 | ATOM C00 TYPE= C800 CHARGE= -0.1387 END 27 | ATOM C01 TYPE= C801 CHARGE= -0.1371 END 28 | ATOM C02 TYPE= C802 CHARGE= -0.1354 END 29 | ATOM C03 TYPE= C803 CHARGE= -0.1313 END 30 | ATOM C04 TYPE= C804 CHARGE= -0.1358 END 31 | ATOM C05 TYPE= C805 CHARGE= -0.1376 END 32 | ATOM H06 TYPE= H806 CHARGE= 0.1343 END 33 | ATOM H07 TYPE= H807 CHARGE= 0.1319 END 34 | ATOM H08 TYPE= H808 CHARGE= 0.1411 END 35 | ATOM H09 TYPE= H809 CHARGE= 0.1368 END 36 | ATOM H0A TYPE= H810 CHARGE= 0.1305 END 37 | ATOM H0B TYPE= H811 CHARGE= 0.1413 END 38 | 39 | { Bonds: atomName1 atomName2 } 40 | BOND C01 C00 41 | BOND C02 C00 42 | BOND C03 C02 43 | BOND C04 C03 44 | BOND C05 C04 45 | BOND H06 C03 46 | BOND H07 C04 47 | BOND H08 C05 48 | BOND H09 C01 49 | BOND H0A C00 50 | BOND H0B C02 51 | BOND C05 C01 52 | 53 | { Improper Dihedrals: aName1 aName2 aName3 aName4 } 54 | IMPRoper C01 C00 C02 H0A 55 | IMPRoper C00 C01 C05 H09 56 | IMPRoper C00 C02 C03 H0B 57 | IMPRoper C02 C03 C04 H06 58 | IMPRoper C03 C04 C05 H07 59 | IMPRoper C04 C05 C01 H08 60 | 61 | END {RESIdue MOL} 62 | 63 | set echo=true end 64 | 65 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_after_BOSS.pdb: -------------------------------------------------------------------------------- 1 | REMARK BOSS ZMAT generated by LigParG 2 | REMARK Created by BOSS 5.0 Sept 19 Linux 3 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 4 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 5 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 6 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 7 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 8 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 9 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 10 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 11 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 12 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 13 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 14 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 15 | END 16 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_after_BOSS.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParG Tot. E = 25.1641 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C00 800 800 3 0.677508 2 26.371803 1 -171.977596 MOL 1 6 | 5 C01 801 801 4 1.375253 3 20.270728 2 13.471357 MOL 1 7 | 6 C02 802 802 4 1.384064 5 122.136026 3 171.518047 MOL 1 8 | 7 C03 803 803 6 1.376515 4 117.928388 5 -0.024828 MOL 1 9 | 8 C04 804 804 7 1.383327 6 120.368208 4 -0.003710 MOL 1 10 | 9 C05 805 805 8 1.380735 7 121.758462 6 0.056181 MOL 1 11 | 10 H06 806 806 7 1.070662 6 117.367769 4 -179.984181 MOL 1 12 | 11 H07 807 807 8 1.081305 7 119.470755 6 -179.980057 MOL 1 13 | 12 H08 808 808 9 1.081837 8 120.864148 7 179.993994 MOL 1 14 | 13 H09 809 809 5 1.087964 4 122.980800 6 -179.983507 MOL 1 15 | 14 H0A 810 810 4 1.082755 5 118.618162 9 179.957260 MOL 1 16 | 15 H0B 811 811 6 1.080004 4 118.359885 5 179.978266 MOL 1 17 | Geometry Variations follow (2I4,F12.6) 18 | Variable Bonds follow (I4) 19 | 5 20 | 6 21 | 7 22 | 8 23 | 9 24 | 10 25 | 11 26 | 12 27 | 13 28 | 14 29 | 15 30 | Additional Bonds follow (2I4) 31 | 9 5 32 | Harmonic Constraints follow (2I4,4F10.4) 33 | Variable Bond Angles follow (I4) 34 | 6 35 | 7 36 | 8 37 | 9 38 | 10 39 | 11 40 | 12 41 | 13 42 | 14 43 | 15 44 | Additional Bond Angles follow (3I4) 45 | 14 4 6 46 | 15 6 7 47 | 10 7 8 48 | 11 8 9 49 | 4 5 9 50 | 13 5 9 51 | 5 9 12 52 | 8 9 5 53 | Variable Dihedrals follow (3I4,F12.6) 54 | 7 165 165 2.000000 55 | 8 165 165 2.000000 56 | 9 165 165 2.000000 57 | 10 165 165 2.000000 58 | 11 165 165 2.000000 59 | 12 165 165 2.000000 60 | 13 165 165 2.000000 61 | 14 165 165 2.000000 62 | 15 165 165 2.000000 63 | Additional Dihedrals follow (6I4) 64 | 9 5 4 6 165 165 65 | 14 4 6 7 165 165 66 | 15 6 7 8 165 165 67 | 10 7 8 9 165 165 68 | 15 6 7 10 165 165 69 | 11 8 7 10 165 165 70 | 5 9 8 11 165 165 71 | 12 9 8 11 165 165 72 | 4 5 9 12 165 165 73 | 13 5 9 12 165 165 74 | 14 4 5 13 165 165 75 | 8 9 5 13 165 165 76 | 15 6 4 14 165 165 77 | 7 8 9 5 165 165 78 | 4 5 9 8 165 165 79 | 5 4 6 14 162 162 80 | 4 5 9 13 162 162 81 | 4 6 7 15 162 162 82 | 6 7 8 10 162 162 83 | 7 8 9 11 162 162 84 | 8 9 5 12 162 162 85 | Domain Definitions follow (4I4) 86 | Conformational Search (2I4,2F12.6) 87 | Local Heating Residues follow (I4 or I4-I4) 88 | Final blank line 89 | 90 | 91 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 92 | 93 | 800 6 CA -0.138696 3.550000 0.070000 94 | 801 6 CA -0.137064 3.550000 0.070000 95 | 802 6 CA -0.135358 3.550000 0.070000 96 | 803 6 CA -0.131338 3.550000 0.070000 97 | 804 6 CA -0.135788 3.550000 0.070000 98 | 805 6 CA -0.137648 3.550000 0.070000 99 | 806 1 HA 0.134285 2.420000 0.030000 100 | 807 1 HA 0.131947 2.420000 0.030000 101 | 808 1 HA 0.141126 2.420000 0.030000 102 | 809 1 HA 0.136785 2.420000 0.030000 103 | 810 1 HA 0.130471 2.420000 0.030000 104 | 811 1 HA 0.141279 2.420000 0.030000 105 | 106 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_after_BOSS_opt3.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParG Tot. E = 7.4421 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C00 800 800 3 0.677508 2 26.371803 1 -171.977596 MOL 1 6 | 5 C01 801 801 4 1.408821 3 20.270728 2 13.471357 MOL 1 7 | 6 C02 802 802 4 1.408851 5 120.000171 3 171.518047 MOL 1 8 | 7 C03 803 803 6 1.408868 4 120.000585 5 0.003534 MOL 1 9 | 8 C04 804 804 7 1.408826 6 119.999697 4 359.998784 MOL 1 10 | 9 C05 805 805 8 1.408861 7 119.999636 6 359.998960 MOL 1 11 | 10 H06 806 806 7 1.080574 6 120.004844 4 179.998567 MOL 1 12 | 11 H07 807 807 8 1.080574 7 119.996138 6 179.999095 MOL 1 13 | 12 H08 808 808 9 1.080593 8 119.997101 7 180.000593 MOL 1 14 | 13 H09 809 809 5 1.080615 4 119.992722 6 179.997820 MOL 1 15 | 14 H0A 810 810 4 1.080590 5 119.997913 9 179.999474 MOL 1 16 | 15 H0B 811 811 6 1.080578 4 119.996341 5 180.002394 MOL 1 17 | Geometry Variations follow (2I4,F12.6) 18 | Variable Bonds follow (I4) 19 | 5 20 | 6 21 | 7 22 | 8 23 | 9 24 | 10 25 | 11 26 | 12 27 | 13 28 | 14 29 | 15 30 | Additional Bonds follow (2I4) 31 | 9 5 32 | Harmonic Constraints follow (2I4,4F10.4) 33 | Variable Bond Angles follow (I4) 34 | 6 35 | 7 36 | 8 37 | 9 38 | 10 39 | 11 40 | 12 41 | 13 42 | 14 43 | 15 44 | Additional Bond Angles follow (3I4) 45 | 14 4 6 46 | 15 6 7 47 | 10 7 8 48 | 11 8 9 49 | 4 5 9 50 | 13 5 9 51 | 5 9 12 52 | 8 9 5 53 | Variable Dihedrals follow (3I4,F12.6) 54 | 7 165 165 2.000000 55 | 8 165 165 2.000000 56 | 9 165 165 2.000000 57 | 10 165 165 2.000000 58 | 11 165 165 2.000000 59 | 12 165 165 2.000000 60 | 13 165 165 2.000000 61 | 14 165 165 2.000000 62 | 15 165 165 2.000000 63 | Additional Dihedrals follow (6I4) 64 | 9 5 4 6 165 165 65 | 14 4 6 7 165 165 66 | 15 6 7 8 165 165 67 | 10 7 8 9 165 165 68 | 15 6 7 10 165 165 69 | 11 8 7 10 165 165 70 | 5 9 8 11 165 165 71 | 12 9 8 11 165 165 72 | 4 5 9 12 165 165 73 | 13 5 9 12 165 165 74 | 14 4 5 13 165 165 75 | 8 9 5 13 165 165 76 | 15 6 4 14 165 165 77 | 7 8 9 5 165 165 78 | 4 5 9 8 165 165 79 | 5 4 6 14 162 162 80 | 4 5 9 13 162 162 81 | 4 6 7 15 162 162 82 | 6 7 8 10 162 162 83 | 7 8 9 11 162 162 84 | 8 9 5 12 162 162 85 | Domain Definitions follow (4I4) 86 | Conformational Search (2I4,2F12.6) 87 | Local Heating Residues follow (I4 or I4-I4) 88 | Final blank line 89 | 90 | 91 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 92 | 93 | 800 6 CA -0.138696 3.550000 0.070000 94 | 801 6 CA -0.137064 3.550000 0.070000 95 | 802 6 CA -0.135358 3.550000 0.070000 96 | 803 6 CA -0.131338 3.550000 0.070000 97 | 804 6 CA -0.135788 3.550000 0.070000 98 | 805 6 CA -0.137648 3.550000 0.070000 99 | 806 1 HA 0.134285 2.420000 0.030000 100 | 807 1 HA 0.131947 2.420000 0.030000 101 | 808 1 HA 0.141126 2.420000 0.030000 102 | 809 1 HA 0.136785 2.420000 0.030000 103 | 810 1 HA 0.130471 2.420000 0.030000 104 | 811 1 HA 0.141279 2.420000 0.030000 105 | 106 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_atoms.txt: -------------------------------------------------------------------------------- 1 | 1 DUM -1 -1 0 0 0 0.0 0.0 0.0 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 DUM DUM DUM 2 | 2 DUM -1 -1 1 0 0 1.0 0.0 0.0 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 DUM DUM DUM 3 | 3 DUM -1 -1 2 1 0 1.0 90.0 0.0 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 DUM DUM DUM 4 | 4 C 6 6 3 2 1 0.677507933532885 26.371803288693243 -171.97759635267255 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 5 | 5 C 6 6 4 3 2 1.37525270405115 20.270728274792063 13.471357010453614 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 6 | 6 C 6 6 4 5 3 1.3840643048644814 122.13602585169785 171.51804695086236 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 7 | 7 C 6 6 6 4 5 1.3765148019545592 117.92838847344244 -0.02482761570618796 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 8 | 8 C 6 6 7 6 4 1.3833271485805518 120.3682079192802 -0.0037097165436528585 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 9 | 9 C 6 6 8 7 6 1.3807353113468201 121.7584618201383 0.05618096840743622 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 12.011 C C6 C6 10 | 10 H 1 1 7 6 4 1.0706619447799575 117.36776859657354 -179.98418132687547 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 11 | 11 H 1 1 8 7 6 1.081305229803315 119.47075465641247 -179.98005708935267 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 12 | 12 H 1 1 9 8 7 1.0818368638570237 120.86414833214566 179.99399392358012 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 13 | 13 H 1 1 5 4 6 1.087963694247193 122.98079998609084 -179.9835065610834 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 14 | 14 H 1 1 4 5 9 1.082754819892297 118.61816215871472 179.95725990183735 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 15 | 15 H 1 1 6 4 5 1.080004166658629 118.35988458376485 179.97826603757258 MOL 1 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 1.008 H H1 H1 16 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_atoms_fromZMAT.txt: -------------------------------------------------------------------------------- 1 | 1 DUM -1 -1 0 0 0 0.0 0.0 0.0 MOL 1 0 0 DU DU 0.0 0.0 0.0 0.0 0.0 0.0 0.0 DU DU DU 2 | 2 DUM -1 -1 1 0 0 1.0 0.0 0.0 MOL 1 0 0 DU DU 0.0 0.0 0.0 1.0 0.0 0.0 0.0 DU DU DU 3 | 3 DUM -1 -1 2 1 0 1.0 90.0 0.0 MOL 1 0 0 DU DU 0.0 0.0 0.0 1.0 1.0 0.0 0.0 DU DU DU 4 | 4 C00 800 800 3 2 1 0.677508 26.371803 -171.977596 MOL 1 6 6 CA CA -0.138696 3.55 0.07 1.298 0.393 -0.042 12.011 C C800 C800 5 | 5 C01 801 801 4 3 2 1.375253 20.270728 13.471357 MOL 1 6 6 CA CA -0.137064 3.55 0.07 0.304 1.343 -0.014 12.011 C C801 C801 6 | 6 C02 802 802 4 5 3 1.384064 122.136026 171.518047 MOL 1 6 6 CA CA -0.135358 3.55 0.07 1.021 -0.963 -0.029 12.011 C C802 C802 7 | 7 C03 803 803 6 4 5 1.376515 117.928388 -0.024828 MOL 1 6 6 CA CA -0.131338 3.55 0.07 -0.299 -1.351 0.014 12.011 C C803 C803 8 | 8 C04 804 804 7 6 4 1.383327 120.368208 -0.00371 MOL 1 6 6 CA CA -0.135788 3.55 0.07 -1.306 -0.403 0.043 12.011 C C804 C804 9 | 9 C05 805 805 8 7 6 1.380735 121.758462 0.056181 MOL 1 6 6 CA CA -0.137648 3.55 0.07 -1.031 0.95 0.029 12.011 C C805 C805 10 | 10 H06 806 806 7 6 4 1.070662 117.367769 -179.984181 MOL 1 1 1 HA HA 0.134285 2.42 0.03 -0.503 -2.402 0.024 1.008 H H806 H806 11 | 11 H07 807 807 8 7 6 1.081305 119.470755 -179.980057 MOL 1 1 1 HA HA 0.131947 2.42 0.03 -2.338 -0.724 0.077 1.008 H H807 H807 12 | 12 H08 808 808 9 8 7 1.081837 120.864148 179.993994 MOL 1 1 1 HA HA 0.141126 2.42 0.03 -1.83 1.679 0.052 1.008 H H808 H808 13 | 13 H09 809 809 5 4 6 1.087964 122.9808 -179.983507 MOL 1 1 1 HA HA 0.136785 2.42 0.03 0.506 2.412 -0.024 1.008 H H809 H809 14 | 14 H0A 810 810 4 5 9 1.082755 118.618162 179.95726 MOL 1 1 1 HA HA 0.130471 2.42 0.03 2.329 0.722 -0.076 1.008 H H810 H810 15 | 15 H0B 811 811 6 4 5 1.080004 118.359885 179.978266 MOL 1 1 1 HA HA 0.141279 2.42 0.03 1.849 -1.656 -0.053 1.008 H H811 H811 16 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_before_BOSS.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParGen2.1 (israel.cabezadevaca@yale.edu) 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C 6 6 3 0.677508 2 26.371803 1 -171.977596 MOL 1 6 | 5 C 6 6 4 1.375253 3 20.270728 2 13.471357 MOL 1 7 | 6 C 6 6 4 1.384064 5 122.136026 3 171.518047 MOL 1 8 | 7 C 6 6 6 1.376515 4 117.928388 5 -0.024828 MOL 1 9 | 8 C 6 6 7 1.383327 6 120.368208 4 -0.003710 MOL 1 10 | 9 C 6 6 8 1.380735 7 121.758462 6 0.056181 MOL 1 11 | 10 H 1 1 7 1.070662 6 117.367769 4 -179.984181 MOL 1 12 | 11 H 1 1 8 1.081305 7 119.470755 6 -179.980057 MOL 1 13 | 12 H 1 1 9 1.081837 8 120.864148 7 179.993994 MOL 1 14 | 13 H 1 1 5 1.087964 4 122.980800 6 -179.983507 MOL 1 15 | 14 H 1 1 4 1.082755 5 118.618162 9 179.957260 MOL 1 16 | 15 H 1 1 6 1.080004 4 118.359885 5 179.978266 MOL 1 17 | Geometry Variations follow (2I4,F12.6) 18 | Variable Bonds follow (I4) 19 | 5 20 | 6 21 | 7 22 | 8 23 | 9 24 | 10 25 | 11 26 | 12 27 | 13 28 | 14 29 | 15 30 | Additional Bonds follow (2I4) 31 | 9 5 32 | Harmonic Constraints follow (2I4,4F10.4) 33 | Variable Bond Angles follow (I4) 34 | 6 35 | 7 36 | 8 37 | 9 38 | 10 39 | 11 40 | 12 41 | 13 42 | 14 43 | 15 44 | Additional Bond Angles follow (3I4) 45 | 6 4 14 46 | 7 6 15 47 | 8 7 10 48 | 9 8 11 49 | 9 5 4 50 | 9 5 13 51 | 12 9 5 52 | 5 9 8 53 | Variable Dihedrals follow (3I4,F12.6) 54 | 7 -1 -1 0.000000 55 | 8 -1 -1 0.000000 56 | 9 -1 -1 0.000000 57 | 10 -1 -1 0.000000 58 | 11 -1 -1 0.000000 59 | 12 -1 -1 0.000000 60 | 13 -1 -1 0.000000 61 | 14 -1 -1 0.000000 62 | 15 -1 -1 0.000000 63 | Additional Dihedrals follow (6I4) 64 | 6 4 5 9 -1 -1 65 | 7 6 4 14 -1 -1 66 | 8 7 6 15 -1 -1 67 | 9 8 7 10 -1 -1 68 | 10 7 6 15 -1 -1 69 | 10 7 8 11 -1 -1 70 | 11 8 9 5 -1 -1 71 | 11 8 9 12 -1 -1 72 | 12 9 5 4 -1 -1 73 | 12 9 5 13 -1 -1 74 | 13 5 4 14 -1 -1 75 | 13 5 9 8 -1 -1 76 | 14 4 6 15 -1 -1 77 | 5 9 8 7 -1 -1 78 | 8 9 5 4 -1 -1 79 | 14 6 4 5 -1 -1 80 | 13 9 5 4 -1 -1 81 | 15 7 6 4 -1 -1 82 | 10 8 7 6 -1 -1 83 | 11 9 8 7 -1 -1 84 | 12 5 9 8 -1 -1 85 | Domain Definitions follow (4I4) 86 | Conformational Search (2I4,2F12.6) 87 | Local Heating Residues follow (I4 or I4-I4) 88 | Final blank line 89 | 90 | 91 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 92 | 93 | 94 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.charmm.fep: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 1.00 -1.00 C 2 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 1.00 -1.00 C 3 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 1.00 -1.00 C 4 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 1.00 -1.00 C 5 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 1.00 -1.00 C 6 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 1.00 -1.00 C 7 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 1.00 -1.00 H 8 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 1.00 -1.00 H 9 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 1.00 -1.00 H 10 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 1.00 -1.00 H 11 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 1.00 -1.00 H 12 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 1.00 -1.00 H 13 | ATOM 13 C16 MOL 1 1.108 -0.210 -0.181 1.00 1.00 C 14 | ATOM 14 C17 MOL 1 0.165 -1.226 -0.121 1.00 1.00 C 15 | ATOM 15 C18 MOL 1 0.627 1.077 -0.098 1.00 1.00 C 16 | ATOM 16 C19 MOL 1 -0.715 1.366 0.038 1.00 1.00 C 17 | ATOM 17 O20 MOL 1 2.451 -0.524 -0.317 1.00 1.00 O 18 | ATOM 18 C21 MOL 1 -1.632 0.334 0.095 1.00 1.00 C 19 | ATOM 19 C22 MOL 1 -1.183 -0.967 0.015 1.00 1.00 C 20 | ATOM 20 H23 MOL 1 -2.688 0.570 0.202 1.00 1.00 H 21 | ATOM 21 H24 MOL 1 -1.884 -1.775 0.058 1.00 1.00 H 22 | ATOM 22 H25 MOL 1 0.515 -2.266 -0.184 1.00 1.00 H 23 | ATOM 23 H26 MOL 1 1.328 1.880 -0.141 1.00 1.00 H 24 | ATOM 24 H27 MOL 1 -1.075 2.395 0.102 1.00 1.00 H 25 | ATOM 25 H28 MOL 1 2.982 -0.654 0.532 1.00 1.00 H 26 | END 27 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.charmm.pdb: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 1.00 0.00 C 2 | ATOM 2 C01 MOL 1 0.304 1.343 -0.014 1.00 0.00 C 3 | ATOM 3 C02 MOL 1 1.021 -0.963 -0.029 1.00 0.00 C 4 | ATOM 4 C03 MOL 1 -0.299 -1.351 0.014 1.00 0.00 C 5 | ATOM 5 C04 MOL 1 -1.306 -0.403 0.043 1.00 0.00 C 6 | ATOM 6 C05 MOL 1 -1.031 0.950 0.029 1.00 0.00 C 7 | ATOM 7 H06 MOL 1 -0.503 -2.402 0.024 1.00 0.00 H 8 | ATOM 8 H07 MOL 1 -2.338 -0.724 0.077 1.00 0.00 H 9 | ATOM 9 H08 MOL 1 -1.830 1.679 0.052 1.00 0.00 H 10 | ATOM 10 H09 MOL 1 0.506 2.412 -0.024 1.00 0.00 H 11 | ATOM 11 H0A MOL 1 2.329 0.722 -0.076 1.00 0.00 H 12 | ATOM 12 H0B MOL 1 1.849 -1.656 -0.053 1.00 0.00 H 13 | ATOM 13 C16 MOL 1 1.108 -0.210 -0.181 1.00 0.00 C 14 | ATOM 14 C17 MOL 1 0.165 -1.226 -0.121 1.00 0.00 C 15 | ATOM 15 C18 MOL 1 0.627 1.077 -0.098 1.00 0.00 C 16 | ATOM 16 C19 MOL 1 -0.715 1.366 0.038 1.00 0.00 C 17 | ATOM 17 O20 MOL 1 2.451 -0.524 -0.317 1.00 0.00 O 18 | ATOM 18 C21 MOL 1 -1.632 0.334 0.095 1.00 0.00 C 19 | ATOM 19 C22 MOL 1 -1.183 -0.967 0.015 1.00 0.00 C 20 | ATOM 20 H23 MOL 1 -2.688 0.570 0.202 1.00 0.00 H 21 | ATOM 21 H24 MOL 1 -1.884 -1.775 0.058 1.00 0.00 H 22 | ATOM 22 H25 MOL 1 0.515 -2.266 -0.184 1.00 0.00 H 23 | ATOM 23 H26 MOL 1 1.328 1.880 -0.141 1.00 0.00 H 24 | ATOM 24 H27 MOL 1 -1.075 2.395 0.102 1.00 0.00 H 25 | ATOM 25 H28 MOL 1 2.982 -0.654 0.532 1.00 0.00 H 26 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.charmm.rtf: -------------------------------------------------------------------------------- 1 | !CHARMM rtf file generated by LigParGen program (israel.cabezadevaca@yale.edu) 2 | MASS 1 C800 12.0110 C 3 | MASS 2 C801 12.0110 C 4 | MASS 3 C802 12.0110 C 5 | MASS 4 C803 12.0110 C 6 | MASS 5 C804 12.0110 C 7 | MASS 6 C805 12.0110 C 8 | MASS 7 H806 1.0080 H 9 | MASS 8 H807 1.0080 H 10 | MASS 9 H808 1.0080 H 11 | MASS 10 H809 1.0080 H 12 | MASS 11 H810 1.0080 H 13 | MASS 12 H811 1.0080 H 14 | MASS 13 C900 12.0110 C 15 | MASS 14 C901 12.0110 C 16 | MASS 15 C902 12.0110 C 17 | MASS 16 C903 12.0110 C 18 | MASS 17 O904 15.9990 O 19 | MASS 18 C905 12.0110 C 20 | MASS 19 C906 12.0110 C 21 | MASS 20 H907 1.0080 H 22 | MASS 21 H908 1.0080 H 23 | MASS 22 H909 1.0080 H 24 | MASS 23 H910 1.0080 H 25 | MASS 24 H911 1.0080 H 26 | MASS 25 H912 1.0080 H 27 | AUTO ANGLES DIHE 28 | RESI MOL 0.000 29 | ATOM C00 C800 -0.1387 30 | ATOM C01 C801 -0.1371 31 | ATOM C02 C802 -0.1354 32 | ATOM C03 C803 -0.1313 33 | ATOM C04 C804 -0.1358 34 | ATOM C05 C805 -0.1376 35 | ATOM H06 H806 0.1343 36 | ATOM H07 H807 0.1319 37 | ATOM H08 H808 0.1411 38 | ATOM H09 H809 0.1368 39 | ATOM H0A H810 0.1305 40 | ATOM H0B H811 0.1413 41 | ATOM C16 C900 0.3392 42 | ATOM C17 C901 -0.1637 43 | ATOM C18 C902 -0.1637 44 | ATOM C19 C903 -0.1216 45 | ATOM O20 O904 -0.7661 46 | ATOM C21 C905 -0.1473 47 | ATOM C22 C906 -0.1216 48 | ATOM H23 H907 0.1405 49 | ATOM H24 H908 0.1418 50 | ATOM H25 H909 0.1415 51 | ATOM H26 H910 0.1415 52 | ATOM H27 H911 0.1418 53 | ATOM H28 H912 0.4379 54 | BOND C01 C00 55 | BOND C02 C00 56 | BOND C03 C02 57 | BOND C04 C03 58 | BOND C05 C04 59 | BOND H06 C03 60 | BOND H07 C04 61 | BOND H08 C05 62 | BOND H09 C01 63 | BOND H0A C00 64 | BOND H0B C02 65 | BOND C17 C16 66 | BOND C18 C16 67 | BOND C19 C18 68 | BOND O20 C16 69 | BOND C21 C19 70 | BOND C22 C21 71 | BOND H23 C21 72 | BOND H24 C22 73 | BOND H25 C17 74 | BOND H26 C18 75 | BOND H27 C19 76 | BOND H28 O20 77 | BOND C05 C01 78 | BOND C22 C17 79 | IMPR C01 C00 C02 H0A 80 | IMPR C00 C01 C05 H09 81 | IMPR C00 C02 C03 H0B 82 | IMPR C02 C03 C04 H06 83 | IMPR C03 C04 C05 H07 84 | IMPR C04 C05 C01 H08 85 | IMPR C17 C16 C18 O20 86 | IMPR C16 C17 C22 H25 87 | IMPR C16 C18 C19 H26 88 | IMPR C18 C19 C21 H27 89 | IMPR C19 C21 C22 H23 90 | IMPR C21 C22 C17 H24 91 | PATCH FIRST NONE LAST NONE 92 | END 93 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.gmx.gro: -------------------------------------------------------------------------------- 1 | Generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 13 3 | 1MOL C00 1 0.130 0.039 -0.004 4 | 1MOL C01 2 0.030 0.134 -0.001 5 | 1MOL C02 3 0.102 -0.096 -0.003 6 | 1MOL C03 4 -0.030 -0.135 0.001 7 | 1MOL C04 5 -0.131 -0.040 0.004 8 | 1MOL C05 6 -0.103 0.095 0.003 9 | 1MOL H06 7 -0.050 -0.240 0.002 10 | 1MOL H07 8 -0.234 -0.072 0.008 11 | 1MOL H08 9 -0.183 0.168 0.005 12 | 1MOL H09 10 0.051 0.241 -0.002 13 | 1MOL H0A 11 0.233 0.072 -0.008 14 | 1MOL H0B 12 0.185 -0.166 -0.005 15 | 1MOL DuA 13 0.245 0.076 -0.035 16 | 10.00000 10.00000 10.00000 17 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.gmx.itp: -------------------------------------------------------------------------------- 1 | ;--------------------------------------------- 2 | ; Generated with LigParGen 3 | ; William L. Jorgensen Lab 4 | ; Author: israel.cabezadevaca@yale.edu 5 | ; OPLS Force Field with CM1A derived Atomic Charges 6 | ;--------------------------------------------- 7 | [ defaults ] 8 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 9 | 1 3 yes 0.5 0.5 10 | 11 | [ atomtypes ] 12 | opls_800 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 13 | opls_801 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 14 | opls_802 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 15 | opls_803 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 16 | opls_804 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 17 | opls_805 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 18 | opls_806 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 19 | opls_807 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 20 | opls_808 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 21 | opls_809 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 22 | opls_810 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 23 | opls_811 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 24 | opls_812 DM 1.0080 0.000 A 0.00000E+00 0.00000E+00 25 | opls_9800 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 26 | opls_9801 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 27 | opls_9802 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 28 | opls_9803 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 29 | opls_9804 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 30 | opls_9805 CA 12.0110 0.000 A 3.55000E-01 2.92880E-01 31 | opls_9806 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 32 | opls_9807 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 33 | opls_9808 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 34 | opls_9809 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 35 | opls_9810 OH 15.9990 0.000 A 3.12000E-01 7.11280E-01 36 | opls_9811 HA 1.0080 0.000 A 2.42000E-01 1.25520E-01 37 | opls_9812 HO 1.0080 0.000 A 0.00000E+00 0.00000E+00 38 | 39 | [ moleculetype ] 40 | ; Name nrexcl 41 | MOL 3 42 | 43 | [ atoms ] 44 | ; nr type resnr res atom cgnr charge mass typeB chargeB massB comments 45 | 1 opls_800 1 MOL C00 1 -0.1387 12.0110 opls_9800 0.3392 12.0110 46 | 2 opls_801 1 MOL C01 1 -0.1371 12.0110 opls_9801 -0.1637 12.0110 47 | 3 opls_802 1 MOL C02 1 -0.1354 12.0110 opls_9802 -0.1637 12.0110 48 | 4 opls_803 1 MOL C03 1 -0.1313 12.0110 opls_9803 -0.1216 12.0110 49 | 5 opls_804 1 MOL C04 1 -0.1358 12.0110 opls_9804 -0.1473 12.0110 50 | 6 opls_805 1 MOL C05 1 -0.1376 12.0110 opls_9805 -0.1216 12.0110 51 | 7 opls_806 1 MOL H06 1 0.1343 1.0080 opls_9806 0.1418 1.0080 52 | 8 opls_807 1 MOL H07 1 0.1319 1.0080 opls_9807 0.1405 1.0080 53 | 9 opls_808 1 MOL H08 1 0.1411 1.0080 opls_9808 0.1418 1.0080 54 | 10 opls_809 1 MOL H09 1 0.1368 1.0080 opls_9809 0.1415 1.0080 55 | 11 opls_810 1 MOL H0A 1 0.1305 1.0080 opls_9810 -0.7661 15.9990 56 | 12 opls_811 1 MOL H0B 1 0.1413 1.0080 opls_9811 0.1415 1.0080 57 | 13 opls_812 1 MOL DuA 1 0.0000 1.0080 opls_9812 0.4376 1.0080 58 | 59 | [ bonds ] 60 | ; ai aj funct r0 k0 r0_B k0_B 61 | 2 1 1 0.1400 392459.200 0.1400 392459.200 62 | 3 1 1 0.1400 392459.200 0.1400 392459.200 63 | 4 3 1 0.1400 392459.200 0.1400 392459.200 64 | 5 4 1 0.1400 392459.200 0.1400 392459.200 65 | 6 5 1 0.1400 392459.200 0.1400 392459.200 66 | 7 4 1 0.1080 307105.600 0.1080 307105.600 67 | 8 5 1 0.1080 307105.600 0.1080 307105.600 68 | 9 6 1 0.1080 307105.600 0.1080 307105.600 69 | 10 2 1 0.1080 307105.600 0.1080 307105.600 70 | 11 1 1 0.1080 307105.600 0.1364 376560.000 71 | 12 3 1 0.1080 307105.600 0.1080 307105.600 72 | 13 11 1 0.0300 462750.400 0.0945 462750.400 73 | 6 2 1 0.1400 392459.200 0.1400 392459.200 74 | 75 | [angles] 76 | ; ai aj ak funct angle0 k0 angle0_B k0_B 77 | 3 1 2 1 120.000 527.184 120.000 527.184 78 | 4 3 1 1 120.000 527.184 120.000 527.184 79 | 5 4 3 1 120.000 527.184 120.000 527.184 80 | 6 5 4 1 120.000 527.184 120.000 527.184 81 | 7 4 3 1 120.000 292.880 120.000 292.880 82 | 8 5 4 1 120.000 292.880 120.000 292.880 83 | 9 6 5 1 120.000 292.880 120.000 292.880 84 | 10 2 1 1 120.000 292.880 120.000 292.880 85 | 11 1 2 1 120.000 292.880 120.000 292.880 86 | 12 3 1 1 120.000 292.880 120.000 292.880 87 | 13 11 1 1 113.000 292.880 113.000 292.880 88 | 11 1 3 1 120.000 292.880 120.000 292.880 89 | 12 3 4 1 120.000 292.880 120.000 292.880 90 | 7 4 5 1 120.000 292.880 120.000 292.880 91 | 8 5 6 1 120.000 292.880 120.000 292.880 92 | 1 2 6 1 120.000 527.184 120.000 527.184 93 | 10 2 6 1 120.000 292.880 120.000 292.880 94 | 2 6 9 1 120.000 292.880 120.000 292.880 95 | 5 6 2 1 120.000 527.184 120.000 527.184 96 | [ dihedrals ] 97 | ; PROPER DIHEDRAL ANGLES 98 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 c0_B c1_B c2_B c3_B c4_B c5_B 99 | 4 3 1 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 100 | 5 4 3 1 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 101 | 6 5 4 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 102 | 7 4 3 1 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 103 | 8 5 4 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 104 | 9 6 5 4 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 105 | 10 2 1 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 106 | 11 1 2 6 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 107 | 12 3 1 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 108 | 13 11 1 2 3 8.619 0.000 -8.619 -0.000 -0.000 0.000 8.619 0.000 -8.619 -0.000 -0.000 0.000 109 | 6 2 1 3 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 110 | 11 1 3 4 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 111 | 12 3 4 5 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 112 | 7 4 5 6 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 113 | 12 3 4 7 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 114 | 8 5 4 7 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 115 | 2 6 5 8 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 116 | 9 6 5 8 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 117 | 1 2 6 9 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 118 | 10 2 6 9 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 119 | 11 1 2 10 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 120 | 5 6 2 10 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 121 | 12 3 1 11 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 122 | 4 5 6 2 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 123 | 1 2 6 5 3 30.334 0.000 -30.334 -0.000 -0.000 0.000 30.334 0.000 -30.334 -0.000 -0.000 0.000 124 | 13 11 1 3 3 8.619 0.000 -8.619 -0.000 -0.000 0.000 8.619 0.000 -8.619 -0.000 -0.000 0.000 125 | [ dihedrals ] 126 | ;IMPROPER DIHEDRAL ANGLES 127 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 c0_B c1_B c2_B c3_B c4_B c5_B 128 | 2 1 3 11 4 180.000 10.460 2 180.000 10.460 2 129 | 1 2 6 10 4 180.000 10.460 2 180.000 10.460 2 130 | 1 3 4 12 4 180.000 10.460 2 180.000 10.460 2 131 | 3 4 5 7 4 180.000 10.460 2 180.000 10.460 2 132 | 4 5 6 8 4 180.000 10.460 2 180.000 10.460 2 133 | 5 6 2 9 4 180.000 10.460 2 180.000 10.460 2 134 | [ pairs ] 135 | ; ai aj funct 136 | 1 5 1 137 | 1 7 1 138 | 1 9 1 139 | 2 4 1 140 | 2 8 1 141 | 2 12 1 142 | 3 6 1 143 | 3 8 1 144 | 3 10 1 145 | 4 9 1 146 | 4 11 1 147 | 5 10 1 148 | 5 12 1 149 | 6 7 1 150 | 6 11 1 151 | 7 8 1 152 | 7 12 1 153 | 8 9 1 154 | 9 10 1 155 | 10 11 1 156 | 11 12 1 157 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.q.fep: -------------------------------------------------------------------------------- 1 | !info: MOL 2 | [FEP] 3 | states 2 4 | !softcore_use_max_potential on 5 | offset_residue 1 6 | 7 | [atoms] 8 | 1 1 9 | 2 2 10 | 3 3 11 | 4 4 12 | 5 5 13 | 6 6 14 | 7 7 15 | 8 8 16 | 9 9 17 | 10 10 18 | 11 11 19 | 12 12 20 | 13 13 21 | 22 | [PBC] 23 | switching_atom 1 24 | switching_atom 2 25 | switching_atom 3 26 | switching_atom 4 27 | switching_atom 5 28 | switching_atom 6 29 | switching_atom 7 30 | switching_atom 8 31 | switching_atom 9 32 | switching_atom 10 33 | switching_atom 11 34 | switching_atom 12 35 | switching_atom 13 36 | 37 | [change_charges] 38 | 1 -0.1387 0.3392 39 | 2 -0.1371 -0.1637 40 | 3 -0.1354 -0.1637 41 | 4 -0.1313 -0.1216 42 | 5 -0.1358 -0.1473 43 | 6 -0.1376 -0.1216 44 | 7 0.1343 0.1418 45 | 8 0.1319 0.1405 46 | 9 0.1411 0.1418 47 | 10 0.1368 0.1415 48 | 11 0.1305 -0.7661 49 | 12 0.1413 0.1415 50 | 13 0.0000 0.4379 51 | 52 | [atom_types] 53 | C800 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 54 | C801 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 55 | C802 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 56 | C803 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 57 | C804 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 58 | C805 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 59 | H806 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 60 | H807 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 61 | H808 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 62 | H809 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 63 | H810 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 64 | H811 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 65 | D812 0.0000 0.0000 0.0 0.0 0.0000 0.0000 1.0080 ! MOL 66 | C900 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 67 | C901 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 68 | C902 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 69 | C903 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 70 | C904 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 71 | C905 1059.1297 23.6736 0.0 0.0 748.9178 16.7398 12.0110 ! MOL 72 | H906 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 73 | H907 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 74 | H908 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 75 | H909 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 76 | O910 760.6450 25.0448 0.0 0.0 537.8572 17.7094 15.9990 ! MOL 77 | H911 69.5797 4.9095 0.0 0.0 49.2003 3.4715 1.0080 ! MOL 78 | H812 0.0000 0.0000 0.0 0.0 0.0000 0.0000 1.0080 ! MOL 79 | 80 | [change_atoms] 81 | 1 C800 C900 82 | 2 C801 C901 83 | 3 C802 C902 84 | 4 C803 C903 85 | 5 C804 C904 86 | 6 C805 C905 87 | 7 H806 H906 88 | 8 H807 H907 89 | 9 H808 H908 90 | 10 H809 H909 91 | 11 H810 O910 92 | 12 H811 H911 93 | 13 D812 H812 94 | 95 | [bond_types] 96 | 1 734.0 1.080 97 | 2 900.0 1.364 98 | 3 1106.0 0.300 99 | 4 1106.0 0.945 100 | 101 | [change_bonds] 102 | 11 1 1 2 103 | 13 11 3 4 104 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.q.lib: -------------------------------------------------------------------------------- 1 | *Generated with LigParGen (israel.cabezadevaca@yale.edu) 2 | 3 | {MOL} 4 | [atoms] 5 | 1 C00 C800 -0.1387 6 | 2 C01 C801 -0.1371 7 | 3 C02 C802 -0.1354 8 | 4 C03 C803 -0.1313 9 | 5 C04 C804 -0.1358 10 | 6 C05 C805 -0.1376 11 | 7 H06 H806 0.1343 12 | 8 H07 H807 0.1319 13 | 9 H08 H808 0.1411 14 | 10 H09 H809 0.1368 15 | 11 H0A H810 0.1305 16 | 12 H0B H811 0.1413 17 | 13 DUA D812 0.0000 18 | 19 | [bonds] 20 | C01 C00 21 | C02 C00 22 | C03 C02 23 | C04 C03 24 | C05 C04 25 | H06 C03 26 | H07 C04 27 | H08 C05 28 | H09 C01 29 | H0A C00 30 | H0B C02 31 | DUA H0A 32 | C05 C01 33 | 34 | [impropers] 35 | C01 C00 C02 H0A 36 | C00 C01 C05 H09 37 | C00 C02 C03 H0B 38 | C02 C03 C04 H06 39 | C03 C04 C05 H07 40 | C04 C05 C01 H08 41 | 42 | [charge_groups] 43 | C00 C01 C02 C03 C04 C05 H06 H07 H08 H09 H0A H0B DUA 44 | 45 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol.q.pdb: -------------------------------------------------------------------------------- 1 | ATOM 1 C00 MOL 1 1.298 0.393 -0.042 1.00 0.00 C 2 | ATOM 2 C01 MOL 1 0.199 -0.433 -0.065 1.00 0.00 C 3 | ATOM 3 C02 MOL 1 2.590 -0.102 -0.015 1.00 0.00 C 4 | ATOM 4 C03 MOL 1 2.758 -1.468 -0.012 1.00 0.00 C 5 | ATOM 5 C04 MOL 1 1.659 -2.307 -0.034 1.00 0.00 C 6 | ATOM 6 C05 MOL 1 0.369 -1.815 -0.062 1.00 0.00 C 7 | ATOM 7 H06 MOL 1 3.761 -1.841 0.010 1.00 0.00 H 8 | ATOM 8 H07 MOL 1 1.807 -3.378 -0.031 1.00 0.00 H 9 | ATOM 9 H08 MOL 1 -0.481 -2.485 -0.080 1.00 0.00 H 10 | ATOM 10 H09 MOL 1 -0.823 -0.059 -0.087 1.00 0.00 H 11 | ATOM 11 H0A MOL 1 1.142 1.464 -0.046 1.00 0.00 H 12 | ATOM 12 H0B MOL 1 3.409 0.603 0.002 1.00 0.00 H 13 | ATOM 13 DUA MOL 1 1.128 1.600 -0.313 1.00 0.00 H 14 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/benzene_phenol_singleTopology.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParGen2.1 (israel.cabezadevaca@yale.edu) 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C00 800 9800 3 0.677508 2 26.371803 1 -171.977596 MOL 1 6 | 5 C01 801 9801 4 1.375253 3 20.270728 2 13.471357 MOL 1 7 | 6 C02 802 9802 4 1.384064 5 122.136026 3 171.518047 MOL 1 8 | 7 C03 803 9803 6 1.376515 4 117.928388 5 -0.024828 MOL 1 9 | 8 C04 804 9804 7 1.383327 6 120.368208 4 -0.003710 MOL 1 10 | 9 C05 805 9805 8 1.380735 7 121.758462 6 0.056181 MOL 1 11 | 10 H06 806 9806 7 1.070662 6 117.367769 4 -179.984181 MOL 1 12 | 11 H07 807 9807 8 1.081305 7 119.470755 6 -179.980057 MOL 1 13 | 12 H08 808 9808 9 1.081837 8 120.864148 7 179.993994 MOL 1 14 | 13 H09 809 9809 5 1.087964 4 122.980800 6 -179.983507 MOL 1 15 | 14 H0A 810 9810 4 1.082755 5 118.618162 9 179.957260 MOL 1 16 | 15 H0B 811 9811 6 1.080004 4 118.359885 5 179.978266 MOL 1 17 | 16 DuA 100 9812 14 0.300000 4 117.144580 5 -90.003140 MOL 1 18 | Geometry Variations follow (2I4,F12.6) 19 | 14 1 1.364000 20 | 16 1 0.945000 21 | Variable Bonds follow (I4) 22 | 5 23 | 6 24 | 7 25 | 8 26 | 9 27 | 10 28 | 11 29 | 12 30 | 13 31 | 14 32 | 15 33 | 16 34 | Additional Bonds follow (2I4) 35 | 9 5 36 | Harmonic Constraints follow (2I4,4F10.4) 37 | Variable Bond Angles follow (I4) 38 | 6 39 | 7 40 | 8 41 | 9 42 | 10 43 | 11 44 | 12 45 | 13 46 | 14 47 | 15 48 | 16 49 | Additional Bond Angles follow (3I4) 50 | 14 4 6 51 | 15 6 7 52 | 10 7 8 53 | 11 8 9 54 | 4 5 9 55 | 13 5 9 56 | 5 9 12 57 | 8 9 5 58 | Variable Dihedrals follow (3I4,F12.6) 59 | 7 165 165 2.000000 60 | 8 165 165 2.000000 61 | 9 165 165 2.000000 62 | 10 165 165 2.000000 63 | 11 165 165 2.000000 64 | 12 165 165 2.000000 65 | 13 165 165 2.000000 66 | 14 165 165 2.000000 67 | 15 165 165 2.000000 68 | 16 34 34 10.000000 69 | Additional Dihedrals follow (6I4) 70 | 9 5 4 6 165 165 71 | 14 4 6 7 165 165 72 | 15 6 7 8 165 165 73 | 10 7 8 9 165 165 74 | 15 6 7 10 165 165 75 | 11 8 7 10 165 165 76 | 5 9 8 11 165 165 77 | 12 9 8 11 165 165 78 | 4 5 9 12 165 165 79 | 13 5 9 12 165 165 80 | 14 4 5 13 165 165 81 | 8 9 5 13 165 165 82 | 15 6 4 14 165 165 83 | 7 8 9 5 165 165 84 | 4 5 9 8 165 165 85 | 5 4 6 14 162 162 86 | 4 5 9 13 162 162 87 | 4 6 7 15 162 162 88 | 6 7 8 10 162 162 89 | 7 8 9 11 162 162 90 | 8 9 5 12 162 162 91 | 16 14 4 6 34 34 92 | Domain Definitions follow (4I4) 93 | Conformational Search (2I4,2F12.6) 94 | Local Heating Residues follow (I4 or I4-I4) 95 | Final blank line 96 | 97 | 98 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 99 | 100 | 800 6 CA -0.138696 3.550000 0.070000 101 | 801 6 CA -0.137064 3.550000 0.070000 102 | 802 6 CA -0.135358 3.550000 0.070000 103 | 803 6 CA -0.131338 3.550000 0.070000 104 | 804 6 CA -0.135788 3.550000 0.070000 105 | 805 6 CA -0.137648 3.550000 0.070000 106 | 806 1 HA 0.134285 2.420000 0.030000 107 | 807 1 HA 0.131947 2.420000 0.030000 108 | 808 1 HA 0.141126 2.420000 0.030000 109 | 809 1 HA 0.136785 2.420000 0.030000 110 | 810 1 HA 0.130471 2.420000 0.030000 111 | 811 1 HA 0.141279 2.420000 0.030000 112 | 9800 6 CA 0.339226 3.550000 0.070000 113 | 9801 6 CA -0.163720 3.550000 0.070000 114 | 9802 6 CA -0.163720 3.550000 0.070000 115 | 9803 6 CA -0.121619 3.550000 0.070000 116 | 9804 6 CA -0.147313 3.550000 0.070000 117 | 9805 6 CA -0.121619 3.550000 0.070000 118 | 9806 1 HA 0.141761 2.420000 0.030000 119 | 9807 1 HA 0.140499 2.420000 0.030000 120 | 9808 1 HA 0.141761 2.420000 0.030000 121 | 9809 1 HA 0.141504 2.420000 0.030000 122 | 9810 8 OH -0.766112 3.120000 0.170000 123 | 9811 1 HA 0.141504 2.420000 0.030000 124 | 9812 1 HO 0.437850 0.000000 0.000000 125 | 126 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/phenol_after_BOSS.pdb: -------------------------------------------------------------------------------- 1 | REMARK BOSS ZMAT generated by LigParG 2 | REMARK Created by BOSS 5.0 Sept 19 Linux 3 | ATOM 1 C00 MOL 1 1.108 -0.210 -0.181 4 | ATOM 2 C01 MOL 1 0.165 -1.226 -0.121 5 | ATOM 3 C02 MOL 1 0.627 1.077 -0.098 6 | ATOM 4 C03 MOL 1 -0.715 1.366 0.038 7 | ATOM 5 O04 MOL 1 2.451 -0.524 -0.317 8 | ATOM 6 C05 MOL 1 -1.632 0.334 0.095 9 | ATOM 7 C06 MOL 1 -1.183 -0.967 0.015 10 | ATOM 8 H07 MOL 1 -2.688 0.570 0.202 11 | ATOM 9 H08 MOL 1 -1.884 -1.775 0.058 12 | ATOM 10 H09 MOL 1 0.515 -2.266 -0.184 13 | ATOM 11 H0A MOL 1 1.328 1.880 -0.141 14 | ATOM 12 H0B MOL 1 -1.075 2.395 0.102 15 | ATOM 13 H0C MOL 1 2.982 -0.654 0.532 16 | END 17 | -------------------------------------------------------------------------------- /test_ligpargen/goldenData/phenol_after_BOSS.z: -------------------------------------------------------------------------------- 1 | BOSS ZMAT generated by LigParG Tot. E = -11.7397 2 | 1 DUM -1 -1 0 0.000000 0 0.000000 0 0.000000 MOL 1 3 | 2 DUM -1 -1 1 1.000000 0 0.000000 0 0.000000 MOL 1 4 | 3 DUM -1 -1 2 1.000000 1 90.000000 0 0.000000 MOL 1 5 | 4 C00 800 800 3 1.228220 2 9.881323 1 -120.823897 MOL 1 6 | 5 C01 801 801 4 1.387482 3 130.939628 2 48.013112 MOL 1 7 | 6 C02 802 802 4 1.376452 5 116.395452 3 -8.364621 MOL 1 8 | 7 C03 803 803 6 1.379486 4 122.805024 5 0.012745 MOL 1 9 | 8 O04 804 804 4 1.385908 6 123.806501 7 -179.959464 MOL 1 10 | 9 C05 805 805 7 1.381724 6 119.552673 4 -0.016217 MOL 1 11 | 10 C06 806 806 9 1.378623 7 119.097584 6 0.032973 MOL 1 12 | 11 H07 807 807 9 1.087327 7 119.110265 6 -179.983950 MOL 1 13 | 12 H08 808 808 10 1.070567 9 119.779012 7 -179.998580 MOL 1 14 | 13 H09 809 809 5 1.099122 4 118.292323 6 -179.976470 MOL 1 15 | 14 H0A 810 810 6 1.066798 4 118.147730 5 179.986853 MOL 1 16 | 15 H0B 811 811 7 1.092033 6 121.593270 4 -179.998531 MOL 1 17 | 16 H0C 812 812 8 1.009783 4 117.144580 5 -90.003140 MOL 1 18 | Geometry Variations follow (2I4,F12.6) 19 | Variable Bonds follow (I4) 20 | 5 21 | 6 22 | 7 23 | 8 24 | 9 25 | 10 26 | 11 27 | 12 28 | 13 29 | 14 30 | 15 31 | 16 32 | Additional Bonds follow (2I4) 33 | 10 5 34 | Harmonic Constraints follow (2I4,4F10.4) 35 | Variable Bond Angles follow (I4) 36 | 6 37 | 7 38 | 8 39 | 9 40 | 10 41 | 11 42 | 12 43 | 13 44 | 14 45 | 15 46 | 16 47 | Additional Bond Angles follow (3I4) 48 | 8 4 5 49 | 14 6 7 50 | 15 7 9 51 | 11 9 10 52 | 4 5 10 53 | 13 5 10 54 | 5 10 12 55 | 9 10 5 56 | Variable Dihedrals follow (3I4,F12.6) 57 | 7 165 165 2.000000 58 | 8 165 165 2.000000 59 | 9 165 165 2.000000 60 | 10 165 165 2.000000 61 | 11 165 165 2.000000 62 | 12 165 165 2.000000 63 | 13 165 165 2.000000 64 | 14 165 165 2.000000 65 | 15 165 165 2.000000 66 | 16 34 34 10.000000 67 | Additional Dihedrals follow (6I4) 68 | 10 5 4 6 165 165 69 | 16 8 4 6 34 34 70 | 10 5 4 8 165 165 71 | 13 5 4 8 165 165 72 | 14 6 4 8 165 165 73 | 14 6 7 9 165 165 74 | 15 7 9 10 165 165 75 | 15 7 9 11 165 165 76 | 5 10 9 11 165 165 77 | 12 10 9 11 165 165 78 | 4 5 10 12 165 165 79 | 13 5 10 12 165 165 80 | 9 10 5 13 165 165 81 | 15 7 6 14 165 165 82 | 7 9 10 5 165 165 83 | 4 5 10 9 165 165 84 | 5 4 6 8 162 162 85 | 4 5 10 13 162 162 86 | 4 6 7 14 162 162 87 | 6 7 9 15 162 162 88 | 7 9 10 11 162 162 89 | 9 10 5 12 162 162 90 | Domain Definitions follow (4I4) 91 | Conformational Search (2I4,2F12.6) 92 | Local Heating Residues follow (I4 or I4-I4) 93 | Final blank line 94 | 95 | 96 | Final Non-Bonded Parameters for QM (AM1 CM1Lx1.14) Atoms: 97 | 98 | 800 6 CA 0.339226 3.550000 0.070000 99 | 801 6 CA -0.163720 3.550000 0.070000 100 | 802 6 CA -0.163720 3.550000 0.070000 101 | 803 6 CA -0.121619 3.550000 0.070000 102 | 804 8 OH -0.766112 3.120000 0.170000 103 | 805 6 CA -0.147313 3.550000 0.070000 104 | 806 6 CA -0.121619 3.550000 0.070000 105 | 807 1 HA 0.140499 2.420000 0.030000 106 | 808 1 HA 0.141761 2.420000 0.030000 107 | 809 1 HA 0.141504 2.420000 0.030000 108 | 810 1 HA 0.141504 2.420000 0.030000 109 | 811 1 HA 0.141761 2.420000 0.030000 110 | 812 1 HO 0.437850 0.000000 0.000000 111 | 112 | --------------------------------------------------------------------------------