RDKit 文档

RDKit 概述

它是什么?
化学信息学开源工具包

  • 商业友好的 BSD 许可证
  • C++ 中的核心数据结构和算法
  • 使用 Boost.Python 生成的 Python 3.x 包装器
  • 使用 SWIG 生成的 Java 和 C# 包装器
  • 2D 和 3D 分子操作
  • 机器学习的描述符生成
  • 用于 PostgreSQL 的分子数据库盒
  • KNIME 的化学信息学节点(来自 KNIME 社区站点:https://www.knime.com/rdkit)

操作:

  • http://www.rdkit.org
  • 支持 Mac/Windows/Linux

安装

anaconda python下跨平台(最快安装)

anaconda 简介

Conda 是一个开源、跨平台的软件包管理器。它支持软件组件的打包和分发,并在隔离的执行环境中管理它们的安装。它与 pip 和 virtualenv 有几个类比,但它被设计为更加“与 python 无关”并且更适合二进制包及其依赖项的分发。

如何获得 conda

获取 Conda 的最简单方法是将其安装为Anaconda Python 发行版的一部分。更小、更独立的Miniconda提供了一种可能(但使用起来更复杂)的替代方案。conda 源代码存储库在github上可用,其他文档由项目网站提供。

如何使用 Conda 安装 RDKit

创建一个安装了 RDKit 的新 conda 环境需要一个类似于以下的命令:

conda create -c conda-forge -n my-rdkit-env rdkit

最后,必须激活新环境,以便相应的 python 解释器在同一个 shell 中可用:

conda activate my-rdkit-env

如果由于某种原因这不起作用,请尝试:

cd [anaconda folder]/bin
source activate my-rdkit-env

Windows 用户将使用稍微不同的命令:

C:\> activate my-rdkit-env
如何使用 Conda 从源代码构建

有关使用 Conda 从源代码构建的更多详细信息,请参阅conda-rdkit 存储库。
macOS 10.12 (Sierra):Python 3 环境
以下命令将为 macOS Sierra 和 Python 3 创建一个开发环境。从Conda下载 Miniconda3-latest-MacOSX-x86_64.sh并运行以下命令:

bash Miniconda3-latest-MacOSX-x86_64.sh
conda install numpy matplotlib
conda install cmake cairo pillow eigen pkg-config
conda install boost-cpp boost py-boost

或者,将以下包添加到您的环境中作为有用的开发工具。

pip install yapf==0.11.1
pip install coverage==3.7.1

然后按照通常的构建说明进行操作。PYTHON_INCLUDE_DIR必须在 cmake 命令中设置。

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,使用以下命令运行测试:make install

RDBASE=$RDBASE DYLD_FALLBACK_LIBRARY_PATH="$RDBASE/lib:$PYROOT/lib" PYTHONPATH=$RDBASE ctest

这是必需的,因为 在最近的 macOS 版本中引入了系统完整性保护 SIP

Linux x86_64:Python 3 环境

以下命令将为 Linux x86_64 和 Python 3 创建一个开发环境。
首先从Anaconda下载最新的 anaconda 安装程序并安装它。然后,安装所需的软件包:

bash Anaconda3-5.2.0-x86_64.sh
conda install -y cmake cairo pillow eigen pkg-config
conda install -y boost-cpp boost py-boost

Numpy 和 matplotlib 已经是 anaconda 基础安装的一部分。由于当前构建的最新 boost 库的 GLIBC 版本高于 anaconda 中的默认版本,我们需要更新到更新的版本:

conda install -y gxx_linux-64

此时,您应该能够将 RDKit 存储库克隆到所需的构建位置,然后开始构建。请注意,有必要指出 numpy 标头的路径,以便 RDKit 找到它们,因为 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 环境安装和使用 PostgreSQL 和 RDKit PostgreSQL 盒

由于 conda python 发行版与系统 python 版本不同,因此通过 conda 安装 PostgreSQL 和 PostgreSQL python 客户端是最容易的。
激活您的环境后,只需通过以下方式完成:

conda install -c rdkit rdkit-postgresql

conda 包 PostgreSQL 版本需要通过运行 initdb 命令来初始化[conda folder]/envs/my-rdkit-env/bin

[conda folder]/envs/my-rdkit-env/bin/initdb -D /folder/where/data/should/be/stored

然后可以使用以下命令从终端运行 PostgreSQL:

[conda folder]/envs/my-rdkit-env/bin/postgres -D /folder/where/data/should/be/stored

对于大多数用例,您需要将 PostgreSQL 作为守护程序运行,一种方法是使用 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 启动并运行,所有正常的 PostgreSQL 命令都可以在您的 conda 环境被激活时运行。因此,要创建数据库,您可以运行:

createdb my_rdkit_db
psql my_rdkit_db
# create extension rdkit;

如果您尝试在不同环境中使用多个 PostgreSQL 安装,则需要通过编辑 PostgreSQL 配置文件来设置不同的 pid 文件、unix 套接字和端口。通过上述配置,这些文件可以在 /folder/where/data/should/be/stored 中找到。

Linux 和 OS X

从存储库安装
Ubuntu 12.04 及更高版本

感谢 Debichem 团队的努力,RDKit 可以通过 Ubuntu 存储库获得。安装:

sudo apt-get install python-rdkit librdkit1 rdkit-data

Fedora、CentOS 和 RHEL
感谢 Gianluca Sforna 的工作,RDKit 的二进制 RPM 现在是 Fedora 官方存储库的一部分:https://admin.fedoraproject.org/pkgdb/package/rpms/rdkit/

从源代码构建

从2018_03发布开始,RDKit 核心 C++ 代码是用现代 C++ 编写的;对于这个版本,这意味着 C++11。这意味着用于构建它的编译器不可能是完全古老的。以下是最低测试版本:

  • g++ v4.8:但请注意,SLN 解析器代码无法使用 v4.8 构建。使用此旧编译器时,它将自动禁用。
  • clang v3.9:可能是旧版本的编译器也可以工作,但我们还没有测试过。
  • Visual Studio 2015:可能是旧版本的编译器也可以工作,但我们尚未对其进行测试。
构建 RDKit

获取源代码,此处为 tar.gz,但您也可以使用 git:

wget https://github.com/rdkit/rdkit/archive/Release_XXXX_XX_X.tar.gz

高级
指定安装位置
您需要RDK_INSTALL_INTRE关闭:

cmake -DRDK_INSTALL_INTREE=OFF -DCMAKE_INSTALL_PREFIX=/path/as/you/like ..

指定备用 Boost 安装
您需要告诉 cmake 在哪里可以找到 boost 库和头文件:
如果您在 中添加了 boost /opt/local,则 cmake 调用将如下所示:

cmake -DBOOST_ROOT=/opt/local ..

请注意,如果您在带有系统安装的系统上使用自己的 boost 安装,通常最好在您的 cmake 命令中包含参数。-D Boost_NO_SYSTEM_PATHS=ON
指定备用 Python 安装
如果你没有为你的计算机使用默认的 python 安装,你需要告诉 cmake 在哪里可以找到它应该链接的 python 库和 python 头文件。
这是一个示例命令行:

cmake -D PYTHON_LIBRARY=/usr/lib/python3.6/config/libpython3.6.a -D PYTHON_INCLUDE_DIR=/usr/include/python3.6/ -D PYTHON_EXECUTABLE=/usr/bin/python3 ..

如果正确的PYTHON_EXECUTABLEpython 是您的PATH.

禁用 Python 包装器
您可以完全禁用 python 包装器的构建:

cmake -DRDK_BUILD_PYTHON_WRAPPERS=OFF ..

推荐的附加功能

  • -DRDK_BUILD_INCHI_SUPPORT=ON您可以通过将参数添加到 cmake 命令行来启用对生成 InChI 字符串和 InChI 键的支持。
  • -DRDK_BUILD_AVALON_SUPPORT=ON您可以通过将参数添加到您的 cmake 命令行来启用对 Avalon 工具包的支持。
  • 如果您希望能够为结构描述生成高质量的 PNG,您应该在系统上安装 cairo 并构建启用 cairo 支持的 RDKit:-DRDK_BUILD_CAIRO_SUPPORT=ON
  • 如果您希望能够使用 3D 描述符,则需要安装 eigen3 的副本。大多数操作系统都有相应的软件包。

构建 Java 包装器

建造

  • 当您调用 cmake 添加参数时。例如:-D RDK_BUILD_SWIG_WRAPPERS=ONcmake -D RDK_BUILD_SWIG_WRAPPERS=ON …
  • 使用 make 正常构建和安装。该目录$RDBASE/Code/JavaWrappers/gmwrapper将包含三个必需的文件:(libGraphMolWrap.so在libGraphMolWrap.jnilibOS X 上)org.RDKit.jar、 和org.RDKitDoc.jar.
$ CLASSPATH=$CLASSPATH:$RDBASE/Code/JavaWrappers/gmwrapper/org.RDKit.jar jython -Djava.library.path=$RDBASE/Code/JavaWrappers/gmwrapper
Jython 2.2.1 on java1.6.0_20
Type "copyright", "credits" or "license" for more information.
>>> from org.RDKit import *
>>> from java import lang
>>> lang.System.loadLibrary('GraphMolWrap')
>>> m = RWMol.MolFromSmiles('c1ccccc1')
>>> m.getNumAtoms()
6L

参考

https://www.rdkit.org/docs/Install.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐