def test_types_ffld(self): qstruct = QStruct("data/ace_ash_nma.pdb", "pdb") qprm = QPrm("oplsaa") qprm.read_ffld("data/ace_ash_nma.ffld11", qstruct) print(list(qprm.torsions.keys())) lj_A_i = (4 * 0.17 * ((3.25)**12))**0.5 lj_B_i = (4 * 0.17 * ((3.25)**6))**0.5 at = qprm.atom_types["nma.N"] assert is_close(at.lj_A, lj_A_i) assert is_close(at.lj_B, lj_B_i) bond = qprm.bonds["ace.C ace.CH3"] assert is_close(bond.fc / 2.0, 317.0) assert is_close(bond.r0, 1.522) ang = qprm.angles["ash.C ash.CA ash.CB"] assert is_close(ang.fc / 2.0, 63.0) assert is_close(ang.theta0, 111.1) tors = qprm.torsions["ace.C ash.N ash.CA ash.C"] assert is_close(tors.fcs[0] * 2.0, -2.365) assert is_close(tors.fcs[1] * 2.0, 0.912) assert is_close(tors.fcs[2] * 2.0, -0.850) assert is_close(tors.multiplicities[0], 1.0) assert is_close(tors.multiplicities[1], 2.0) assert is_close(tors.multiplicities[2], 3.0) assert is_close(tors.phases[0], 0.0) assert is_close(tors.phases[1], 180.0) assert is_close(tors.phases[2], 0.0)
def test_wrong_ff_fail(self): qprm = QPrm("amber") with pytest.raises(QPrmError): qprm.read_ffld("data/ace_ash_nma.ffld11", None) qprm = QPrm("oplsaa") with pytest.raises(QPrmError): qprm.read_amber_parm("data/ff-amber14/parm/parm10.dat") with pytest.raises(QPrmError): qprm.read_amber_frcmod("data/ff-amber14/parm/frcmod.ff14SB")
def test_read_ffld(self): qstruct = QStruct("data/ace_ash_nma.pdb", "pdb") qprm = QPrm("oplsaa") qprm.read_ffld("data/ace_ash_nma.ffld11", qstruct) assert len(qprm.atom_types) == 25 assert len(qprm.bonds) == 24 assert len(qprm.angles) == 40 assert len(qprm.torsions) == 49 assert len(qprm.impropers) == 5
# # create QLib, QPrm, QStruct and QTopology objects # qlib = QLib("oplsaa", ignore_errors=args.ignore_errors) qprm = QPrm("oplsaa", ignore_errors=args.ignore_errors) try: qstruct = QStruct(args.pdb, "pdb", ignore_errors=args.ignore_errors) except QStructError as err: print "FATAL! Problem with pdb: {}".format(err) sys.exit(1) try: qprm.read_ffld(args.ffld_output, qstruct) except QPrmError as err: print "FATAL! Problem with ffld file: {}".format(err) sys.exit(1) try: qlib.read_ffld(args.ffld_output, qstruct) except QLibError as err: print "FATAL! Problem with ffld file: {}".format(err) sys.exit(1) try: qtop = QTopology(qlib, qprm, qstruct) except QTopologyError as err: print "FATAL! Problem building the topology: {}".format(err)