コード例 #1
0
    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)
コード例 #2
0
    # 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([
                        line for line in refFile.readlines()