Je me demandais simplement s'il existe un moyen de convertir IUPAC ou des noms moléculaires courants en SMILES? Je veux faire cela sans avoir à convertir manuellement chacun d'entre eux en utilisant des systèmes en ligne. Toute contribution serait très appréciée!
Pour le contexte, je travaille actuellement avec python et RDkit, donc je n'étais pas sûr si RDkit pouvait le faire et je n'étais tout simplement pas au courant. Mes données actuelles sont au format csv.
Merci!
3 Réponses :
RDKit ne peut pas convertir les noms en SMILES. Chemical Identifier Resolver peut convertir des noms et d'autres identifiants (comme le numéro CAS) et dispose d'une API pour vous pouvez convertir avec un script.
3-Methylheptane CCCCC(C)CC Aspirin CC(=O)Oc1ccccc1C(O)=O Diethylsulfate CCO[S](=O)(=O)OCC Diethyl sulfate Did not work 50-78-2 CC(=O)Oc1ccccc1C(O)=O
Sortie
from urllib.request import urlopen def CIRconvert(ids): try: url = 'http://cactus.nci.nih.gov/chemical/structure/' + ids + '/smiles' ans = urlopen(url).read().decode('utf8') return ans except: return 'Did not work' identifiers = ['3-Methylheptane', 'Aspirin', 'Diethylsulfate', 'Diethyl sulfate', '50-78-2'] for ids in identifiers : print(ids, CIRconvert(ids))
OPSIN ( https://opsin.ch.cam.ac.uk/ ) est une autre solution pour la conversion name2structure.
Il peut être utilisé en installant le cli, ou via https://github.com/gorgitko/molminer < / a>
(OPSIN est également utilisé par les nœuds RDKit KNIME)
si vous remplacez la première ligne par:
de l'url d'importation urllib2 ouverte
cela devrait fonctionner pour python 2.7
( Text Munging ?)