def test_tetra(self): molecule = XYZFile("input/tetra.xyz").get_molecule() psf = PSFFile() psf.add_molecule(molecule) self.assert_(psf.bonds.shape[0] == 4) self.assert_(psf.bends.shape[0] == 6) psf.write_to_file("output/tetra.psf")
def test_many_separate(self): psf = PSFFile() molecule = XYZFile("input/ethene.xyz").get_molecule() psf.add_molecule(molecule) psf.add_molecule(molecule) molecule = XYZFile("input/tea.xyz").get_molecule() psf.add_molecule(molecule) psf.write_to_file("output/many_separate.psf")
CC30A = CritAnd(HasAtomNumber(6), HasNeighborNumbers(6,6,6,6)) CC31A = CritAnd(HasAtomNumber(6), HasNeighborNumbers(6,6,6,1)) CC32A = CritAnd(HasAtomNumber(6), HasNeighborNumbers(6,6,1,1)) CC33A = CritAnd(HasAtomNumber(6), HasNeighborNumbers(6,1,1,1)) atom_filters = { "CC30A": CC30A, "CC31A": CC31A, "CC32A": CC32A, "CC33A": CC33A, "HCA1": CritAnd(HasAtomNumber(1), HasNeighbors(CC31A)), "HCA2": CritAnd(HasAtomNumber(1), HasNeighbors(CC32A)), "HCA3": CritAnd(HasAtomNumber(1), HasNeighbors(CC33A)), } def get_atom_type(index, graph): for atom_type, atom_filter in atom_filters.items(): if atom_filter(index, graph): return atom_type raise ValueError("Unrecognized atom (index %i)." % index) args = sys.argv[1:] molecule = XYZFile(args[0]).get_molecule() graph = MolecularGraph.from_geometry(molecule) atom_types = [get_atom_type(index, graph) for index in range(molecule.size)] psf = PSFFile() psf.add_molecular_graph(graph, atom_types=atom_types) psf.write_to_file(args[0].replace(".xyz", ".psf"))
def test_dump(self): m = XYZFile("input/thf.xyz").get_molecule() psf = PSFFile() psf.add_molecule(m) psf.write_to_file("output/thf.psf")
def test_load_vmd(self): psf = PSFFile("input/pentapeptide.psf") self.assert_(psf.bonds.shape[0] == 44) self.assert_(psf.bends.shape[0] == 75) self.assert_(psf.dihedrals.shape[0] == 98) g = psf.get_graph()
def test_load(self): psf = PSFFile("input/thf.psf") self.assert_(psf.bonds.shape[0] == 832) self.assert_(psf.bends.shape[0] == 1600) self.assert_(psf.dihedrals.shape[0] == 2112) g = psf.get_graph()