RDKit 安装
RDKit 文檔
RDKit 概述
它是什么?
化學(xué)信息學(xué)開(kāi)源工具包
- 商業(yè)友好的 BSD 許可證
- C++ 中的核心數(shù)據(jù)結(jié)構(gòu)和算法
- 使用 Boost.Python 生成的 Python 3.x 包裝器
- 使用 SWIG 生成的 Java 和 C# 包裝器
- 2D 和 3D 分子操作
- 機(jī)器學(xué)習(xí)的描述符生成
- 用于 PostgreSQL 的分子數(shù)據(jù)庫(kù)盒
- KNIME 的化學(xué)信息學(xué)節(jié)點(diǎn)(來(lái)自 KNIME 社區(qū)站點(diǎn):https://www.knime.com/rdkit)
操作:
- http://www.rdkit.org
- 支持 Mac/Windows/Linux
安裝
anaconda python下跨平臺(tái)(最快安裝)
anaconda 簡(jiǎn)介
Conda 是一個(gè)開(kāi)源、跨平臺(tái)的軟件包管理器。它支持軟件組件的打包和分發(fā),并在隔離的執(zhí)行環(huán)境中管理它們的安裝。它與 pip 和 virtualenv 有幾個(gè)類比,但它被設(shè)計(jì)為更加“與 python 無(wú)關(guān)”并且更適合二進(jìn)制包及其依賴項(xiàng)的分發(fā)。
如何獲得 conda
獲取 Conda 的最簡(jiǎn)單方法是將其安裝為Anaconda Python 發(fā)行版的一部分。更小、更獨(dú)立的Miniconda提供了一種可能(但使用起來(lái)更復(fù)雜)的替代方案。conda 源代碼存儲(chǔ)庫(kù)在github上可用,其他文檔由項(xiàng)目網(wǎng)站提供。
如何使用 Conda 安裝 RDKit
創(chuàng)建一個(gè)安裝了 RDKit 的新 conda 環(huán)境需要一個(gè)類似于以下的命令:
conda create -c conda-forge -n my-rdkit-env rdkit最后,必須激活新環(huán)境,以便相應(yīng)的 python 解釋器在同一個(gè) shell 中可用:
conda activate my-rdkit-env如果由于某種原因這不起作用,請(qǐng)嘗試:
cd [anaconda folder]/bin source activate my-rdkit-envWindows 用戶將使用稍微不同的命令:
C:\> activate my-rdkit-env如何使用 Conda 從源代碼構(gòu)建
有關(guān)使用 Conda 從源代碼構(gòu)建的更多詳細(xì)信息,請(qǐng)參閱conda-rdkit 存儲(chǔ)庫(kù)。
macOS 10.12 (Sierra):Python 3 環(huán)境
以下命令將為 macOS Sierra 和 Python 3 創(chuàng)建一個(gè)開(kāi)發(fā)環(huán)境。從Conda下載 Miniconda3-latest-MacOSX-x86_64.sh并運(yùn)行以下命令:
或者,將以下包添加到您的環(huán)境中作為有用的開(kāi)發(fā)工具。
pip install yapf==0.11.1 pip install coverage==3.7.1然后按照通常的構(gòu)建說(shuō)明進(jìn)行操作。PYTHON_INCLUDE_DIR必須在 cmake 命令中設(shè)置。
PYROOT=<path to miniconda3> cmake -DPYTHON_INCLUDE_DIR=$PYROOT/include/python3.6m \-DRDK_BUILD_AVALON_SUPPORT=ON \-DRDK_BUILD_CAIRO_SUPPORT=ON \-DRDK_BUILD_INCHI_SUPPORT=ON \..成功完成后make,使用以下命令運(yùn)行測(cè)試:make install
RDBASE=$RDBASE DYLD_FALLBACK_LIBRARY_PATH="$RDBASE/lib:$PYROOT/lib" PYTHONPATH=$RDBASE ctest這是必需的,因?yàn)?在最近的 macOS 版本中引入了系統(tǒng)完整性保護(hù) SIP 。
Linux x86_64:Python 3 環(huán)境
以下命令將為 Linux x86_64 和 Python 3 創(chuàng)建一個(gè)開(kāi)發(fā)環(huán)境。
首先從Anaconda下載最新的 anaconda 安裝程序并安裝它。然后,安裝所需的軟件包:
Numpy 和 matplotlib 已經(jīng)是 anaconda 基礎(chǔ)安裝的一部分。由于當(dāng)前構(gòu)建的最新 boost 庫(kù)的 GLIBC 版本高于 anaconda 中的默認(rèn)版本,我們需要更新到更新的版本:
conda install -y gxx_linux-64此時(shí),您應(yīng)該能夠?qū)?RDKit 存儲(chǔ)庫(kù)克隆到所需的構(gòu)建位置,然后開(kāi)始構(gòu)建。請(qǐng)注意,有必要指出 numpy 標(biāo)頭的路徑,以便 RDKit 找到它們,因?yàn)?anaconda 將它們隱藏在 numpy 包中:
git clone https://github.com/rdkit/rdkit.git cd rdkit mkdir build && cd build cmake -DPy_ENABLE_SHARED=1 \-DRDK_INSTALL_INTREE=ON \-DRDK_INSTALL_STATIC_LIBS=OFF \-DRDK_BUILD_CPP_TESTS=ON \-DPYTHON_NUMPY_INCLUDE_PATH="$(python -c 'import numpy ; print(numpy.get_include())')" \-DBOOST_ROOT="$CONDA_PREFIX" \..最后make,和make installctest
從 conda 環(huán)境安裝和使用 PostgreSQL 和 RDKit PostgreSQL 盒
由于 conda python 發(fā)行版與系統(tǒng) python 版本不同,因此通過(guò) conda 安裝 PostgreSQL 和 PostgreSQL python 客戶端是最容易的。
激活您的環(huán)境后,只需通過(guò)以下方式完成:
conda 包 PostgreSQL 版本需要通過(guò)運(yùn)行 initdb 命令來(lái)初始化[conda folder]/envs/my-rdkit-env/bin
[conda folder]/envs/my-rdkit-env/bin/initdb -D /folder/where/data/should/be/stored然后可以使用以下命令從終端運(yùn)行 PostgreSQL:
[conda folder]/envs/my-rdkit-env/bin/postgres -D /folder/where/data/should/be/stored對(duì)于大多數(shù)用例,您需要將 PostgreSQL 作為守護(hù)程序運(yùn)行,一種方法是使用 supervisor。您可以在此處了解更多信息以及如何安裝 supervisor 。所需的配置文件將如下所示:
[program:postgresql] command=[conda folder]/envs/my-rdkit-env/bin/postgres -D /folder/where/data/should/be/stored user=[your username] autorestart=true一旦 PostgreSQL 啟動(dòng)并運(yùn)行,所有正常的 PostgreSQL 命令都可以在您的 conda 環(huán)境被激活時(shí)運(yùn)行。因此,要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),您可以運(yùn)行:
createdb my_rdkit_db psql my_rdkit_db # create extension rdkit;如果您嘗試在不同環(huán)境中使用多個(gè) PostgreSQL 安裝,則需要通過(guò)編輯 PostgreSQL 配置文件來(lái)設(shè)置不同的 pid 文件、unix 套接字和端口。通過(guò)上述配置,這些文件可以在 /folder/where/data/should/be/stored 中找到。
Linux 和 OS X
從存儲(chǔ)庫(kù)安裝
Ubuntu 12.04 及更高版本
感謝 Debichem 團(tuán)隊(duì)的努力,RDKit 可以通過(guò) Ubuntu 存儲(chǔ)庫(kù)獲得。安裝:
Fedora、CentOS 和 RHEL
感謝 Gianluca Sforna 的工作,RDKit 的二進(jìn)制 RPM 現(xiàn)在是 Fedora 官方存儲(chǔ)庫(kù)的一部分:https://admin.fedoraproject.org/pkgdb/package/rpms/rdkit/
從源代碼構(gòu)建
從2018_03發(fā)布開(kāi)始,RDKit 核心 C++ 代碼是用現(xiàn)代 C++ 編寫的;對(duì)于這個(gè)版本,這意味著 C++11。這意味著用于構(gòu)建它的編譯器不可能是完全古老的。以下是最低測(cè)試版本:
- g++ v4.8:但請(qǐng)注意,SLN 解析器代碼無(wú)法使用 v4.8 構(gòu)建。使用此舊編譯器時(shí),它將自動(dòng)禁用。
- clang v3.9:可能是舊版本的編譯器也可以工作,但我們還沒(méi)有測(cè)試過(guò)。
- Visual Studio 2015:可能是舊版本的編譯器也可以工作,但我們尚未對(duì)其進(jìn)行測(cè)試。
構(gòu)建 RDKit
獲取源代碼,此處為 tar.gz,但您也可以使用 git:
wget https://github.com/rdkit/rdkit/archive/Release_XXXX_XX_X.tar.gz高級(jí)
指定安裝位置
您需要RDK_INSTALL_INTRE關(guān)閉:
指定備用 Boost 安裝
您需要告訴 cmake 在哪里可以找到 boost 庫(kù)和頭文件:
如果您在 中添加了 boost /opt/local,則 cmake 調(diào)用將如下所示:
請(qǐng)注意,如果您在帶有系統(tǒng)安裝的系統(tǒng)上使用自己的 boost 安裝,通常最好在您的 cmake 命令中包含參數(shù)。-D Boost_NO_SYSTEM_PATHS=ON
指定備用 Python 安裝
如果你沒(méi)有為你的計(jì)算機(jī)使用默認(rèn)的 python 安裝,你需要告訴 cmake 在哪里可以找到它應(yīng)該鏈接的 python 庫(kù)和 python 頭文件。
這是一個(gè)示例命令行:
如果正確的PYTHON_EXECUTABLEpython 是您的PATH.
禁用 Python 包裝器
您可以完全禁用 python 包裝器的構(gòu)建:
推薦的附加功能
- -DRDK_BUILD_INCHI_SUPPORT=ON您可以通過(guò)將參數(shù)添加到 cmake 命令行來(lái)啟用對(duì)生成 InChI 字符串和 InChI 鍵的支持。
- -DRDK_BUILD_AVALON_SUPPORT=ON您可以通過(guò)將參數(shù)添加到您的 cmake 命令行來(lái)啟用對(duì) Avalon 工具包的支持。
- 如果您希望能夠?yàn)榻Y(jié)構(gòu)描述生成高質(zhì)量的 PNG,您應(yīng)該在系統(tǒng)上安裝 cairo 并構(gòu)建啟用 cairo 支持的 RDKit:-DRDK_BUILD_CAIRO_SUPPORT=ON
- 如果您希望能夠使用 3D 描述符,則需要安裝 eigen3 的副本。大多數(shù)操作系統(tǒng)都有相應(yīng)的軟件包。
構(gòu)建 Java 包裝器
建造
- 當(dāng)您調(diào)用 cmake 添加參數(shù)時(shí)。例如:-D RDK_BUILD_SWIG_WRAPPERS=ONcmake -D RDK_BUILD_SWIG_WRAPPERS=ON …
- 使用 make 正常構(gòu)建和安裝。該目錄$RDBASE/Code/JavaWrappers/gmwrapper將包含三個(gè)必需的文件:(libGraphMolWrap.so在libGraphMolWrap.jnilibOS X 上)org.RDKit.jar、 和org.RDKitDoc.jar.
參考
https://www.rdkit.org/docs/Install.html
總結(jié)
- 上一篇: JEECG框架的入门学习
- 下一篇: 均匀半空间视电阻率MATLAB代码,均匀