Преобразование названия молекулы в улыбки? - PullRequest
0 голосов
/ 28 февраля 2019

Мне было просто интересно, есть ли способ конвертировать IUPAC или обычные молекулярные имена в SMILES?Я хочу сделать это без необходимости вручную конвертировать все, используя онлайн-системы.Любой вклад будет высоко ценится!

Для фона, я в настоящее время работаю с Python и RDkit, поэтому я не был уверен, может ли RDkit сделать это, и я просто не знал.Мои текущие данные в формате CSV.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 марта 2019

OPSIN (https://opsin.ch.cam.ac.uk/) - другое решение для преобразования name2structure.

Его можно использовать, установив cli, или через https://github.com/gorgitko/molminer

(OPSIN используетсяУзлы RDKit KNIME также)

0 голосов
/ 28 февраля 2019

RDKit не может конвертировать имена в SMILES. Химический идентификатор Resolver может преобразовывать имена и другие идентификаторы (например, CAS No) и имеет API, так что вы можете конвертировать с помощью скрипта.

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))

Вывод

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
...