RDKit
chemoinformatics
conda
GoogleColaboratory
mordred
12
どのような問題がありますか?

この記事は最終更新日から1年以上が経過しています。

投稿日

更新日

Google Colaboratoryにcondaをインストールしケモインフォマティクスしてみる

はじめに

最近、Google Colaboratoryを使い始めた。ローカルにJupyter環境を設定し起動するのが面倒なので、ちょっとした確認などは、Google Colaboratoryを使うようにしている。

基本的なライブラリは、Google Colaboratoryに最初からインストールされているのだが、ケモインフォマティクス用のライブラリ(RDKitやmordredなど)はインストールされていない。しかもこれらは、基本condaによるインストールとなっており、Google Colaboratoryではcondaがデフォルトでは使えない。

そこで今回、Google Colaboratoryでcondaを使えるようにし、RDkitやmordredをインストールして動かしてみるところまでやったのでメモっておく。

condaのインストールは、Conda + Google Colab を参考にした。

また、本記事と同じような趣旨の記事が既に「化学の新しいカタチ」さんの
Google ColabでRDKit:ケモインフォマティクス用のpython環境を手軽に構築に記載されている。

Condaのインストール

Pythonパスの確認

!which python 

するとPythonのパスが返ってくる。ここでは/usr/local/bin/pythonが返ってくる

Pythonバージョンの確認

!python --version

するとPythonのバージョンが返ってくる。ここでは、Python 3.6.9が返ってくる

PYTHONPATH環境変数の確認と解除

!echo $PYTHONPATH

すると PYTHONPATH環境変数が返ってくる。ここでは、/env/pythonが返ってくる。

minicondaをインストールする場合、PYTHONPATHに含まれるディレクトリを介してインストールおよびアクセスできるパッケージがある場合に、問題が発生する可能性があるらしいので、以下コマンドによりPYTHONPATH変数の設定を解除する。

%env PYTHONPATH=

minicondのインストール

%%bash

MINICONDA_INSTALLER_SCRIPT=Miniconda3-4.5.4-Linux-x86_64.sh
MINICONDA_PREFIX=/usr/local
wget https://repo.continuum.io/miniconda/$MINICONDA_INSTALLER_SCRIPT
chmod +x $MINICONDA_INSTALLER_SCRIPT
./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX

インストール後の確認

!which conda

うまくいっていれば、/usr/local/bin/condaと返ってくるはずだ。

Pythonのバージョン確認

!python --version

するとpython 3.6.5 :: Anaconda, Inc.のように、minicondaによって異なるバージョンのpythonがインストールされていることが分かる。

Pythonのアップグレード

以下のコマンドでpythonやライブラリをアップグレードしよう

%%bash
conda install --channel defaults conda python=3.6 --yes
conda update --channel defaults --all --yes

Pythonのバージョン確認

!python --version

するとPython 3.6.12 :: Anaconda, Inc.のようにpythonがアップグレードされたことが分かる。

sys.pathへのパスの追加

Minicondaをインストールしたので、インポートするモジュールを探すときにPythonが検索するディレクトリのリストに、condaのパッケージパスを追加する必要がある。以下の通り実行する。


import sys
_ = (sys.path
        .append("/usr/local/lib/python3.6/site-packages"))

以上でcondaのインストールは完了である。

RDkitのインストール

condaをインストールすることができたので、以下のcondaコマンドでRDKitをインストールしよう。

!conda install -c rdkit rdkit --yes 

うまくインストールされたかバージョンを確認する。


import rdkit
print(rdkit.__version__)

すると、2020.09.1のようにRDKitのバージョンが表示されるはずだ。

SMILESからmolオブジェクトを作ってMDL形式で表示してみよう。


from rdkit import Chem
mol = Chem.MolFromSmiles('Cc1ccccc1')
Chem.MolToMolBlock(mol)

続いてmolオブジェクトを画面上に表示してみよう。

from rdkit.Chem import Draw
Draw.MolToImage(mol, size=(100,100))

すると構造式画像が表示されるはずだ。
image.png

mordredのインストール

続いて記述子計算ソフトウェアであるmordredをインストールしてみよう。

!conda install -c rdkit -c mordred-descriptor mordred --yes 

そして、早速記述子計算をしてみよう。


from mordred import Calculator, descriptors
import pandas as pd

calc = Calculator(descriptors, ignore_3D=True)
df_descriptors_mordred = calc.pandas([mol])

計算がおわったらpandasのデータフレームに結果が得られるので表示してみよう。

df_descriptors_mordred.head()

するとこんな感じで計算結果が得られるはずだ。

image.png

さて、ここまでできればあとは通常の機械学習と同じなので、matplotlibや、scikit-learn、PyTorch等を使って色々な解析ができるはずだ。

おわりに

condaが使えるようになったことで、他にも色々なライブラリが利用でき、実質ローカルで環境構築するのとかわらない環境を手に入れたといえるだろう。勿論Google Colaboratoryは一定時間立つとリセットされるようなので毎回この手順を踏まなければならないが、保存したNotebookに従って実行するだけなのでそれほど手間ではないだろう。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ユーザー登録ログイン
kimisyo
主にライフサイエンス分野向けサービス開発を行っています。これからはライフサイエンスの時代です。化学、AI(機械学習)を中心に、学んだこと、経験したことをシェアしていきます。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
Twilioを使うためのコツ、Tipsやおもしろ実装など、Twilioのことなら何でも共有しよう!
~
Azure Machine Learning を使って機械学習に関するナレッジをシェアしよう
~
12
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
ユーザー登録ログイン
ストックするカテゴリー