def _run(self, molName): self.molName = molName logger.info("Molecule: {}".format(self.molName)) molFile = os.path.join(home("test-charge"), self.molName + ".mol2") self.mol = Molecule(molFile) self.new_mols = {} self.extras = {} self.new_mols["Gasteiger"] = fitGasteigerCharges(self.mol) try: self.new_mols["AM1-BCC"] = fitChargesWithAntechamber(self.mol, type="bcc") except: pass qm = Psi4() qm.theory = "B3LYP" qm.basis = "6-311++G**" workDir = os.path.join("tmp", self.molName) os.makedirs(workDir, exist_ok=True) for factor in [-10, -5, -4, -3, -2, -1]: logger.info("Factor: {}".format(factor)) key = "ESP b {}".format(factor) np.random.seed(20181114) # Make ESP grid generation deterministic self.new_mols[key], self.extras[key] = fitESPCharges( self.mol, qm, workDir, restraint_factor=10**factor)
def setUp(self): self.testDir = None molFile = os.path.join(home("test-qm"), "H2-0.74.mol2") self.h2_074 = Molecule(molFile) molFile = os.path.join(home("test-qm"), "H2-1.00.mol2") self.h2_100 = Molecule(molFile) molFile = os.path.join(home("test-qm"), "H2O2-90.mol2") self.h2o2_90 = Molecule(molFile) molFile = os.path.join(home("test-qm"), "Br.mol2") self.Br = Molecule(molFile) self.e_tol = 1e-5 if isinstance(self.qm, TeraChem) else 1e-10
def setUp(self): self.maxDiff = None from parameterize.home import home from moleculekit.molecule import Molecule molFile = os.path.join(home("test-fftype"), "benzamidine.mol2") self.mol = Molecule(molFile, guessNE=["bonds"], guess=["angles", "dihedrals"])
def setUp(self): from parameterize.home import home from moleculekit.molecule import Molecule from parameterize.parameterization.detect import detectEquivalentAtoms from parameterize.parameterization.fftype import fftype molFile = os.path.join(home("test-param"), "glycol.mol2") mol = Molecule(molFile) self.equivalents = detectEquivalentAtoms(mol) _, self.mol = fftype(mol, method="GAFF2")
def setUp(self): from parameterize.home import home from moleculekit.molecule import Molecule molFile = os.path.join(home("test-param"), "H2O2.mol2") mol = Molecule(molFile, guessNE="bonds", guess=("angles", "dihedrals")) self.mol = mol self.esp = ESP() self.esp.molecule = self.mol # Precalculating here for the tests equivalents = detectEquivalentAtoms(self.esp.molecule) self.esp._equivalent_atom_groups = equivalents[0] self.esp._equivalent_group_by_atom = equivalents[2]
def test_rtf_prm(self): from parameterize.home import home from parameterize.parameterization.writers import writeRTF, writePRM refDir = home(dataDir="test-fftype/benzamidine") with TemporaryDirectory() as resDir: parameters, mol = fftype(self.mol, method="CGenFF_2b6") writeRTF(mol, parameters, 0, os.path.join(resDir, "cgenff.rtf")) writePRM(mol, parameters, os.path.join(resDir, "cgenff.prm")) for testFile in ("cgenff.rtf", "cgenff.prm"): with self.subTest(testFile=testFile): # Get rid of the first linw with parameterize version string with open(os.path.join(refDir, testFile)) as refFile: refData = refFile.readlines()[1:] with open(os.path.join(resDir, testFile)) as resFile: resData = resFile.readlines()[1:] self.assertListEqual(refData, resData, msg=testFile)
if old_atom != new_atom: molecule.atomtype[neighbor] = new_atom logger.info("Change atom {} type: {} --> {}".format( neighbor, old_atom, new_atom)) # Change the P--O bond type bond_index = graph.edges[(node, neighbor)]["index"] old_bond = molecule.bondtype[bond_index] if old_bond != new_bond: molecule.bondtype[bond_index] = new_bond logger.info("Change bond {}--{} type: {} --> {}".format( *molecule.bonds[bond_index], old_bond, new_bond)) return molecule if __name__ == "__main__": from moleculekit.molecule import Molecule from parameterize.charge import fitGasteigerCharges import sys import doctest # Prevent HTMD importing inside doctest to fail if importing gives text output from parameterize.home import home home() sys.exit(doctest.testmod().failed)
def setUp(self): self.maxDiff = None # Make the diff to be complete self.dataDir = home(dataDir="test-param") self.testDir = os.environ.get("TESTDIR", tempname())
def setUp(self): from parameterize.home import home self.refDir = home(dataDir="test-fftype")