简介
RDKit是一款开源化学信息学与机器学习工具包,提供C++和Python的API接口,在Github上看到可以生成RDKitjs版本,所以有了此文。
RDKit基于的是BSD
授权,允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。
注:
- RDKitjs官方版本已经不维护了,移至https://github.com/rdkit/rdkit/tree/master/Code/MinimalLib
- RDKitjs版使用了docker技术进行打包,因受限于GFW特色互联网,所以有些指令可能会被Ban,请合理使用互联网,或者跟我一样单步运行命令后,改为可以访问的等效命令
问题处理
找到github相关的IP地址
因在Build Docker的时候,通过https://www.ipaddress.com/搜索下载失败的服务的IP地址,并在build指令后追加--add-host host:ip
这样的格式,来解决构建问题
修改Dockerfile无效指令
因国内更新不了emscript tags,所以将第28-30行的
RUN ./emsdk update-tags && \
./emsdk install latest && \
./emsdk activate latest
改为:
RUN ./emsdk install latest && ./emsdk activate latest
操作步骤
克隆Github项目
- git clone https://github.com/rdkit/rdkit.git
- cd rdkit
生成Docker镜像
- cd Code/MinimalLib/docker
- docker build --add-host codeload.github.com:192.30.255.121 -t rdkitjs:latest .
--add-host codeload.github.com:192.30.255.121
是我过程中检查失败下载的时候追加的host配置,这里根据自己的情况来
运行Docker
- docker run -it rdkitjs:latest /bin/bash
检查文件
运行docker后,cd /src/rdkit/Code/MinimalLib/demo
,检查输出物,有文件:
- demo.html
- RDKit_minimal.js
- RDKit_minimal.wasm
且不为空就代表成功了
exit 退出docker的bash
复制Docker文件到宿主机器
- dock ps 得到容器id,我的是
495de44c1710
- docker cp -a 495de44c1710:/src/rdkit/Code/MinimalLib/demo /root/rdkit_demo/
会在/root/rdkit_demo/下复制过来demo文件夹,就是生成的文件了