def test_rtf_prm(self): from htmd.home import home from htmd.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 HTMD 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)
# BUG: MATCH does not work on Mac! if 'TRAVIS_OS_NAME' in os.environ: if os.environ['TRAVIS_OS_NAME'] == 'osx': sys.exit(0) molFile = os.path.join(home('building-protein-ligand'), 'benzamidine.mol2') refDir = home(dataDir='test-fftype/benzamidine') mol = Molecule(molFile) mol = canonicalizeAtomNames(mol) mol, equivalents, all_dihedrals = getEquivalentsAndDihedrals(mol) with TemporaryDirectory() as tmpDir: parameters, mol = fftype(mol, method=FFTypeMethod.CGenFF_2b6) writeRTF(mol, parameters, 0, os.path.join(tmpDir, 'cgenff.rtf')) writePRM(mol, parameters, os.path.join(tmpDir, 'cgenff.prm')) parameters, mol = fftype(mol, method=FFTypeMethod.GAFF) writeFRCMOD(mol, parameters, os.path.join(tmpDir, 'gaff.frcmod')) parameters, mol = fftype(mol, method=FFTypeMethod.GAFF2) writeFRCMOD(mol, parameters, os.path.join(tmpDir, 'gaff2.frcmod')) for testFile in os.listdir(refDir): print(testFile) with open(os.path.join(refDir, testFile)) as refFile: with open(os.path.join(tmpDir, testFile)) as tmpFile: # The line order for antechamber is unstable, so the files are sorted. # Also, it get rids of HTMD version string refData = sorted([