描画だけの graphviz でなく、 部分構造探索や(フィンガープリントによる)類似性判定を利用したかったので、お試し。
試してみたものの、化学式以外のグラフ構造を描くことができなかった為、 今後、しばらくは使用しない気がします。
RDKit + python の install は anaconda で
まずは anaconda
普段であれば、source から build (compile)しますが、 軽いインターネット検索による情報からでは上手くいかず、今回は anaconda を利用。
※「Anaconda3-2019.10-Linux-x86_64.sh」が最新でしたが、 私の環境であるcentos8では、インストーラであるこの.shが動作しなかったので 以下のverを利用しています。
※ また、anacondaのインストーラにより .bashrcに環境変数設定等が追記されます
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.07-Linux-x86_64.sh $ chmod 755 Anaconda3-2019.07-Linux-x86_64.sh $ ./Anaconda3-2019.10-Linux-x86_64.sh : PREFIX=/home/end0tknr/anaconda3 $ cat ~/.bashrc : __conda_setup="$('/home/end0tknr/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/home/end0tknr/anaconda3/etc/profile.d/conda.sh" ]; then . "/home/end0tknr/anaconda3/etc/profile.d/conda.sh" else export PATH="/home/end0tknr/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<<
次の condaによる環境作成と rdkit のinstall
## rdkit のchannel から my-rdkit-env という名称の環境を作成し ## rdkit を install $ conda create -c rdkit -n my-rdkit-env rdkit ## my-rdkit-env 環境を起動 $ conda activate my-rdkit-env ## my-rdkit-env 環境を停止 $ conda deactivate ## anaconda install 以降、linux へのlogin時に condaが起動する為 ## 以下のコマンドにより、これを 有効化/無効化 $ conda config --set changeps1 False $ conda config --set changeps1 True
RDKit による化学式の画像作成
以下のscriptで化学構造式をpngファイルに描画できます。
#!/home/end0tknr/anaconda3/bin/python3 # -*- coding: utf-8 -*- from rdkit import Chem from rdkit.Chem import Draw def main(): save_image_to_file() def save_image_to_file(): mol_0 = Chem.MolFromSmiles("O=C(N)c1ccc[nH0]c1") Draw.MolToFile(mol_0,'mol_0_image.png') mol_1 = Chem.MolFromSmiles("[LDK]") # mol_1 = Chem.MolFromSmiles("O=C") if mol_1 == None: print("invalid mol code") return Draw.MolToFile(mol_1,'mol_1_image.png') if __name__ == '__main__': main()