Example #1
0
 def test_chiral_scaffolds(self):
     """
     Test chiral scaffold generation.
     """
     achiral_scaffold = self.engine.get_scaffold(self.mols[1])
     self.engine = ScaffoldGenerator(include_chirality=True)
     chiral_scaffold = self.engine.get_scaffold(self.mols[1])
     assert '@' not in achiral_scaffold
     assert '@' in chiral_scaffold
     assert (Chem.MolFromSmiles(achiral_scaffold).GetNumAtoms() ==
             Chem.MolFromSmiles(chiral_scaffold).GetNumAtoms())
Example #2
0
 def setUp(self):
     """
     Set up tests.
     """
     smiles = [
         'CC(=O)OC1=CC=CC=C1C(=O)O',
         'CN1C=C(C2=CC=CC=C21)C(=O)[C@@H]3CCC4=C(C3)NC=N4'
     ]
     names = ['aspirin', 'ramosetron']
     self.mols = []
     for this_smiles, name in zip(smiles, names):
         mol = Chem.MolFromSmiles(this_smiles)
         mol.SetProp('_Name', name)
         self.mols.append(mol)
     self.engine = ScaffoldGenerator()
Example #3
0
def get_scaffolds(mols, include_chirality=False):
    """
    Get Murcko scaffolds for molecules.

    Murcko scaffolds are described in DOI: 10.1021/jm9602928. They are
    essentially that part of the molecule consisting of rings and the linker
    atoms between them.

    Parameters
    ----------
    mols : array_like
        Molecules.
    include_chirality : bool, optional (default False)
        Whether to include chirality in scaffolds.
    """
    print "Generating molecule scaffolds..."
    engine = ScaffoldGenerator(include_chirality=include_chirality)
    scaffolds = []
    for mol in mols:
        scaffolds.append(engine.get_scaffold(mol))
    scaffolds = np.asarray(scaffolds)
    return scaffolds
Example #4
0
 def __init__(self, include_chirality=False):
     self.include_chirality = include_chirality
     self.engine = ScaffoldGenerator(include_chirality=include_chirality)