Функция RDKit MolFromInchi не работает - PullRequest
2 голосов
/ 10 апреля 2020

В настоящее время я работаю над проектом Django, для которого требуется функциональность, заключающаяся в том, чтобы взять строку InChI и преобразовать ее в молекулу, но в пакете, который я использую, похоже, есть проблема с его функцией MolFromInchi. Всякий раз, когда я пытаюсь использовать эту функцию, python имеет тенденцию генерировать эту трассировку:

Пример.

>>> from rdkit.Chem.inchi import MolFromInchi
>>> mol = MolFromInchi('InChI=1S/O2Si/c1-3-2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\tcherry\repos\dataslate_django\venv\my-rdkit-env\lib\site-packages\rdkit\Chem\inchi.py", line 71, in MolFromInchi
    mol, retcode, message, log = rdinchi.InchiToMol(inchi, sanitize, removeHs)
TypeError: No to_python (by-value) converter found for C++ type: class boost::shared_ptr<class RDKit::ROMol>

Эта ошибка, кажется, происходит из исходного кода пакета rdkit , но мне было интересно, есть ли что-нибудь, что я могу сделать, чтобы обойти или смягчить эту проблему, все еще будучи в состоянии включить функциональность MolFromInchi в мой проект.

ПРИМЕЧАНИЕ: я смог воспроизвести эту ошибку после следуйте инструкциям по установке RDKit с Conda, опубликованным в Документация RDKit , и этот вопрос относится к самой последней версии RDKit (2020.03.1).

1 Ответ

0 голосов
/ 10 апреля 2020

Оказывается, причина, по которой я столкнулся с этой проблемой, заключается в том, что всякий раз, когда вы вносите изменения в исходный код (что я сделал для решения другой проблемы с моим проектом), эти изменения влияют на папку кэша .conda, то есть что если вам когда-нибудь понадобится удалить и переустановить пакет conda, процесс установки будет относиться к папке кэша.

...