Example #1
0
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'
Example #2
0
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
Example #3
0
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
Example #4
0
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