def test_load_xyzfile(xyz_path): path = os.path.join(xyz_path, '1_opt.xyz') m = Molecule(path, 'xyz') assert m.creator == ('XYZ', path) assert isinstance(m.pybel_molecule, pybel.Molecule) assert m.xyz.geometry.shape == (28, 3) m.to_smiles() assert m.smiles == 'c1ccc(CC2CCCC2)cc1' m.to_smarts() assert m.smarts == '[#6]1-[#6]-[#6]-[#6](-[#6]-1)-[#6]-[#6]1:[#6]:[#6]:[#6]:[#6]:[#6]:1' m.to_inchi() assert m.inchi == 'InChI=1S/C12H16/c1-2-6-11(7-3-1)10-12-8-4-5-9-12/h1-3,6-7,12H,4-5,8-10H2'
def test_hydrogens(caffeine_smiles, caffeine_canonical, caffeine_inchi): m = Molecule(caffeine_smiles, 'smiles') m.to_smiles() assert isinstance(m.rdkit_molecule, Chem.Mol) assert m.smiles == caffeine_canonical # add hydrogens m.hydrogens('add', explicitOnly=False) # canonical smiles with hydrogens m.to_smiles() assert m.smiles == "[H]c1nc2c(c(=O)n(C([H])([H])[H])c(=O)n2C([H])([H])[H])n1C([H])([H])[H]" # test inchi m = Molecule(caffeine_inchi, 'inchi') m.to_inchi() assert m.inchi == caffeine_inchi # add hydrogens m.hydrogens('add') m.to_inchi() assert m.inchi == caffeine_inchi
def test_mol2inchi_defaultargs(caffeine_inchi): m = Molecule(caffeine_inchi, 'inchi') m.to_inchi() m.to_inchi(**m._default_rdkit_inchi_args) # all the args & treatWarningAsError=True args = m._default_rdkit_inchi_args args['treatWarningAsError'] = True m.to_inchi(**args) assert m.inchi_args['treatWarningAsError'] is True
def test_mol2inchi(caffeine_inchi): m = Molecule(caffeine_inchi, 'inchi') m.to_inchi() assert isinstance(m.rdkit_molecule, Chem.Mol) assert m.inchi == caffeine_inchi