Ejemplo n.º 1
0
def convert_molecule_to_molmod(molecule):
    molModMolecule = Molecule(molecule.numbers,
                              molecule.coordinates,
                              molecule.label,
                              symbols=molecule.symbols)
    molModMolecule.set_default_graph()
    return molModMolecule
Ejemplo n.º 2
0
        def test_one(xyz_fn, checks, reorder=False):
            mol = Molecule.from_file(xyz_fn)
            mol.set_default_graph()
            zmat_gen = ZMatrixGenerator(mol.graph)
            if reorder is False:
                self.assertArraysEqual(zmat_gen.new_index, numpy.arange(mol.size))
                self.assertArraysEqual(zmat_gen.old_index, numpy.arange(mol.size))

            zmat0 = zmat_gen.cart_to_zmat(mol.coordinates)
            for field, index, value in checks:
                self.assertAlmostEqual(zmat0[field][index], value, 2, "%s:%i %f!=%f" % (field,index,zmat0[field][index],value))

            numbers0, coordinates0 = zmat_to_cart(zmat0)
            mol0 = Molecule(numbers0, coordinates0)
            mol0.write_to_file("output/zmat_%s" % os.path.basename(xyz_fn))
            mol0.set_default_graph()
            zmat_gen0 = ZMatrixGenerator(mol0.graph)
            self.assertArraysEqual(zmat_gen0.new_index, numpy.arange(mol.size))
            self.assertArraysEqual(zmat_gen0.old_index, numpy.arange(mol.size))

            zmat1 = zmat_gen0.cart_to_zmat(mol0.coordinates)
            for field, index, value in checks:
                self.assertAlmostEqual(zmat1[field][index], value, 2, "%s:%i %f!=%f" % (field,index,zmat1[field][index],value))

            numbers1, coordinates1 = zmat_to_cart(zmat1)

            self.assertArraysEqual(numbers0, numbers1)
            self.assertArraysAlmostEqual(coordinates0, coordinates1, 1e-5)