Python rdkit.Chem.RenumberAtoms() Examples
The following are 6
code examples of rdkit.Chem.RenumberAtoms().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
rdkit.Chem
, or try the search function
.
Example #1
Source File: chem.py From reinvent-randomized with MIT License | 6 votes |
def randomize_smiles(mol, random_type="restricted"): """ Returns a random SMILES given a SMILES of a molecule. :param mol: A Mol object :param random_type: The type (unrestricted, restricted) of randomization performed. :return : A random SMILES string of the same molecule or None if the molecule is invalid. """ if not mol: return None if random_type == "unrestricted": return rkc.MolToSmiles(mol, canonical=False, doRandom=True, isomericSmiles=False) if random_type == "restricted": new_atom_order = list(range(mol.GetNumAtoms())) random.shuffle(new_atom_order) random_mol = rkc.RenumberAtoms(mol, newOrder=new_atom_order) return rkc.MolToSmiles(random_mol, canonical=False, isomericSmiles=False) raise ValueError("Type '{}' is not valid".format(random_type))
Example #2
Source File: preprocessing.py From cddd with MIT License | 6 votes |
def randomize_smile(sml): """Function that randomizes a SMILES sequnce. This was adapted from the implemetation of E. Bjerrum 2017, SMILES Enumeration as Data Augmentation for Neural Network Modeling of Molecules. Args: sml: SMILES sequnce to randomize. Return: randomized SMILES sequnce or nan if SMILES is not interpretable. """ try: m = Chem.MolFromSmiles(sml) ans = list(range(m.GetNumAtoms())) np.random.shuffle(ans) nm = Chem.RenumberAtoms(m, ans) return Chem.MolToSmiles(nm, canonical=False) except: return float('nan')
Example #3
Source File: smiles_enumerator.py From OpenChem with MIT License | 5 votes |
def randomize_smiles(self, smiles): """Perform a randomization of a SMILES string must be RDKit sanitizable""" m = Chem.MolFromSmiles(smiles) ans = list(range(m.GetNumAtoms())) np.random.shuffle(ans) nm = Chem.RenumberAtoms(m, ans) return Chem.MolToSmiles(nm, canonical=self.canonical, isomericSmiles=self.isomericSmiles)
Example #4
Source File: vectorizers.py From Deep-Drug-Coder with MIT License | 5 votes |
def randomize_mol(self, mol): """Performs a randomization of the atom order of an RDKit molecule""" ans = list(range(mol.GetNumAtoms())) np.random.shuffle(ans) return Chem.RenumberAtoms(mol,ans)
Example #5
Source File: chem.py From reinvent-scaffold-decorator with MIT License | 5 votes |
def to_smiles(mol, variant="canonical"): """ Converts a Mol object into a canonical SMILES string. :param mol: Mol object. :return: A SMILES string. """ if mol: if variant.startswith("random"): new_atom_order = list(range(mol.GetNumAtoms())) random.shuffle(new_atom_order) random_mol = rkc.RenumberAtoms(mol, newOrder=new_atom_order) return rkc.MolToSmiles(random_mol, canonical=False, isomericSmiles=False) else: return rkc.MolToSmiles(mol, isomericSmiles=False, canonical=True)
Example #6
Source File: SmilesEnumerator.py From SMILES-enumeration with MIT License | 5 votes |
def randomize_smiles(self, smiles): """Perform a randomization of a SMILES string must be RDKit sanitizable""" m = Chem.MolFromSmiles(smiles) ans = list(range(m.GetNumAtoms())) np.random.shuffle(ans) nm = Chem.RenumberAtoms(m,ans) return Chem.MolToSmiles(nm, canonical=self.canonical, isomericSmiles=self.isomericSmiles)