public static string RDKit_Smiles(string text, object isomericSmiles = null, bool kekuleSmiles = false, object rootedAtAtom = null, object canonical = null, bool allBondsExplicit = false, bool allHsExplicit = false, bool doRandom = false) { var _isomericSmiles = ExcelDnaUtility.ToBoolean(isomericSmiles, true); var _rootedAtAtom = ExcelDnaUtility.ToInt32(rootedAtAtom, -1); var _canonical = ExcelDnaUtility.ToBoolean(canonical, true); if (_isomericSmiles && !kekuleSmiles && _rootedAtAtom == -1 && _canonical && !allBondsExplicit && !allHsExplicit && !doRandom) { return(RDKit_CalcDesc(text, "RDKit_Smiles", mol => RDKit.Chem.MolToSmiles(mol))); } { ROMol mol; if (kekuleSmiles) { var _mol = RWMol.MolFromSmiles(text); RDKFuncs.Kekulize(_mol); mol = _mol; } else { mol = Parse(text); } return(RDKit.Chem.MolToSmiles(mol, _isomericSmiles, kekuleSmiles, _rootedAtAtom, _canonical, allBondsExplicit, allHsExplicit, doRandom)); } }
public static string RDKit_Smarts(string text, object isomericSmiles = null) { var _isomericSmiles = ExcelDnaUtility.ToBoolean(isomericSmiles, true); if (_isomericSmiles) { return(RDKit_CalcDesc(text, "RDKit_Smarts", mol => RDKit.Chem.MolToSmarts(mol))); } return(RDKit.Chem.MolToSmarts(Parse(text), _isomericSmiles)); }