Trees | Indices | Help |
|
---|
|
object --+ | SaltRemover
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Inherited from |
|
|||
defnFilename = os.path.join(RDConfig.RDDataDir, 'Salts.txt')
|
|
|||
Inherited from |
|
x.__init__(...) initializes x; see help(type(x)) for signature
|
>>> remover = SaltRemover() >>> len(remover.salts)>0 True Default input format is SMARTS >>> remover = SaltRemover(defnData="[Cl,Br]") >>> len(remover.salts) 1 >>> remover = SaltRemover(defnData="[Na+]\nCC(=O)O", defnFormat=InputFormat.SMILES) >>> len(remover.salts) 2 >>> from rdkit import RDLogger >>> RDLogger.DisableLog('rdApp.error') >>> remover = SaltRemover(defnData="[Cl,fail]") Traceback (most recent call last): ... ValueError: [Cl,fail] >>> RDLogger.EnableLog('rdApp.error') |
>>> remover = SaltRemover(defnData="[Cl,Br]") >>> len(remover.salts) 1 >>> mol = Chem.MolFromSmiles('CN(C)C.Cl') >>> res = remover.StripMol(mol) >>> res is not None True >>> res.GetNumAtoms() 4 Notice that all salts are removed: >>> mol = Chem.MolFromSmiles('CN(C)C.Cl.Cl.Br') >>> res = remover.StripMol(mol) >>> res.GetNumAtoms() 4 Matching (e.g. "salt-like") atoms in the molecule are unchanged: >>> mol = Chem.MolFromSmiles('CN(Br)Cl') >>> res = remover.StripMol(mol) >>> res.GetNumAtoms() 4 >>> mol = Chem.MolFromSmiles('CN(Br)Cl.Cl') >>> res = remover.StripMol(mol) >>> res.GetNumAtoms() 4 Charged salts are handled reasonably: >>> mol = Chem.MolFromSmiles('C[NH+](C)(C).[Cl-]') >>> res = remover.StripMol(mol) >>> res.GetNumAtoms() 4 Watch out for this case (everything removed): >>> remover = SaltRemover() >>> len(remover.salts)>1 True >>> mol = Chem.MolFromSmiles('CC(=O)O.[Na]') >>> res = remover.StripMol(mol) >>> res.GetNumAtoms() 0 dontRemoveEverything helps with this by leaving the last salt: >>> res = remover.StripMol(mol,dontRemoveEverything=True) >>> res.GetNumAtoms() 4 but in cases where the last salts are the same, it can't choose between them, so it returns all of them: >>> mol = Chem.MolFromSmiles('Cl.Cl') >>> res = remover.StripMol(mol,dontRemoveEverything=True) >>> res.GetNumAtoms() 2 |
Strips given molecule and returns it, with the fragments which have been deleted. >>> remover = SaltRemover(defnData="[Cl,Br]") >>> len(remover.salts) 1 >>> mol = Chem.MolFromSmiles('CN(C)C.Cl.Br') >>> res, deleted = remover.StripMolWithDeleted(mol) >>> Chem.MolToSmiles(res) 'CN(C)C' >>> [Chem.MolToSmarts(m) for m in deleted] ['[Cl,Br]'] >>> mol = Chem.MolFromSmiles('CN(C)C.Cl') >>> res, deleted = remover.StripMolWithDeleted(mol) >>> res.GetNumAtoms() 4 >>> len(deleted) 1 >>> deleted[0].GetNumAtoms() 1 >>> Chem.MolToSmiles(deleted[0]) 'Cl' Multiple occurrences of 'Cl' and without tuple destructuring >>> mol = Chem.MolFromSmiles('CN(C)C.Cl.Cl') >>> tup = remover.StripMolWithDeleted(mol) >>> tup.mol.GetNumAtoms() 4 >>> len(tup.deleted) 1 >>> tup.deleted[0].GetNumAtoms() 1 >>> Chem.MolToSmiles(deleted[0]) 'Cl' |
>>> remover = SaltRemover(defnData="[Cl,Br]") >>> len(remover.salts) 1 >>> Chem.MolToSmiles(remover.salts[0]) 'Cl' >>> mol = Chem.MolFromSmiles('CN(C)C.Cl') >>> res = remover(mol) >>> res is not None True >>> res.GetNumAtoms() 4 |
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Mon Mar 26 11:18:47 2018 | http://epydoc.sourceforge.net |