def test_preserve_H(): smiles = "[H]C([H])([H])Oc1ccccc1" mol = Molecule(smiles) assert mol.smiles == "COc1ccccc1" mol = Molecule(smiles, preserve_H=True) assert mol.smiles == smiles
def test_mol_from_smiles(): mol = Molecule(CANONICAL_SMILES) assert mol.smiles == CANONICAL_SMILES mol = Molecule(SMILES) assert mol.smiles == CANONICAL_SMILES
def test_get_substructure_match(): mol = Molecule("OC1=CC2=C(NC=C2)C=C1") mol.get_substructure_match("c1ccccc1") assert mol._rdkit.__sssAtoms == [1, 2, 3, 4, 8, 9] assert mol._rdkit.__sssBonds == [1, 2, 3, 7, 8, 9]
def test_highlight_aromatics(): mol = Molecule("OC1=CC2=C(NC=C2)C=C1") mol.highlight_aromatics() assert mol._rdkit.__sssAtoms == [9, 1, 8, 9, 4, 8, 3, 4, 2, 3, 1, 2, 3, 4] assert mol._rdkit.__sssBonds == [9, 8, 7, 3, 2, 1, 3]
def test__repr_svg_(shared_datadir): svg = Molecule(CANONICAL_SMILES)._repr_svg_() assert svg == (shared_datadir / "mol.svg").read_text()
def test_smiles_kekulized(): mol = Molecule(CANONICAL_SMILES) assert mol.smiles_kekulized == "OC1=CC=C2NC=CC2=C1"
def test_aromaticity(): mol_default = Molecule(CANONICAL_SMILES) mol_aromat_simple = Molecule(CANONICAL_SMILES, aromaticity="simple") assert mol_default != mol_aromat_simple
def test_mol_from_rdkit(): mol_rdkit = Chem.MolFromSmiles(SMILES) mol = Molecule.from_rdkit(mol_rdkit) assert mol.smiles == CANONICAL_SMILES
def test_equal(): assert Molecule(CANONICAL_SMILES) == Molecule(SMILES) assert Molecule(CANONICAL_SMILES) != Molecule(OTHER_SMILES) assert Molecule(SMILES) != SMILES