tky_cowのブログ

python + chemistry, webの技術メモ等

eDESIGNERを使ってみる(準備編)


 最近は製薬業界でもオープンソース、オープンサイエンスの流れが来ており、企業レポジトリからも様々なツールが公開されています。私も仕事柄そのようなオープンなツールを利用したり改変したりして、自分の仕事でも使えないか試行錯誤しています。本エントリーでは、その中の一つであるeDESIGNERを紹介します。軽い気持ちで始めたはいいものの、クソゲーと化した途中非常に苦労したため、使い方を書き残しておこうと思いました。

eDESIGNERとは

 eDESIGNERはEli Lilly社の研究員によって開発・公開されたDNA Encoded Library (DEL)用のツールです。ざっくり言うと、重原子数を制御することで物性値をコントロールし、いわゆるドラッグライクなDELを作り出すためのツールです(たぶん)。プログラムだけでなく、論文もオープンアクセスになっているので、興味のある方は元文献を参照ください。
レポジトリ:https://github.com/jamflcgh/edesigner_core
元文献:Navigating the DNA encoded libraries chemical space | Communications Chemistry

DELについて

 DELはDNAタグで化合物の識別を可能にした、低分子化合物のライブラリーです。ライブラリーそのものだけでなく、ライブラリーの構築やそれを使ったスクリーニングまでを含めてDELという呼称を使っている場合もあるかと思います。コンセプトとしては、ケミカルバイオロジー版コンビケムライブラリーのようなものとも考えられます。使える反応は限られますが、一つのチューブに数百万~数億化合物のライブラリーを持つことが可能であり、(HTSに比べて)アッセイや管理が簡便になるのが特徴です。海外では5-10年ほど前からスクリーニングの1手法として用いられてきており、最近論文発表が散見されています。

eDESIGNERのアプローチ

 DELの難点の一つに、全体的にサイズが大きくなりがちという点があります。よく使われる3cycleのDELでは、rule-of-fiveを大きく逸脱することも少なくありません。また、ライブラリーサイズが数千万ー数億件になることが一般的で、この数になると全化合物の分子量やLogPを計算することも大変になります。そこで彼らは、全体構造を構築せずとも計算可能な重原子数でコントロールすることを試みています。論文データ及び自分でいくつか試した感触ですと、結構うまくワークするようです。

環境構築

 前置きが長くなりましたが、環境構築を行っていきましょう。eDESIGNER自体はpythonで書かれたプログラムですが、残念ながら単独で動かすことはできません。インプットとなるビルディングブロック試薬のファイル、ならびに最終的な化合物の構造生成にLillyMolという別プログラムが必要になるため、こちらの準備も行います。

eDESIGNERの環境構築

 こちらは難なく構築可能です。UNIX系でminicondaが利用可能である状態であるとします。一応、READMEに書かれているバージョンに揃えるようにしていますが、あまり気にしなくて大丈夫なようです。

cd /home/hogehoge/github/
git clone https://github.com/jamflcgh/edesigner_core.git .
conda create env -n edesigner python=3.6.5
conda activate edesigner
conda install rdkit=2017.09.3
#上記でpandas, numpyも入ると思います

LillyMolのセットアップ

 eDESIGNERと異なりLillyMolはC++ベースで書かれており、ビルドやコンパイルなどと言われるような操作が必要です。成功すると実行可能なバイナリーファイルが100個近く生成されます。私はC++を読むことも書くこともできないせいか、READMEを読んでもインストール方法がさっぱりでしたので、iwatobipen先生の記事を参考に設定しましょう。
レポジトリ:https://github.com/EliLillyCo/LillyMol

# conda環境に入った状態から続ける
conda install -c conda-forge zlib eigen3
git clone https://github.com/EliLillyCo/LillyMol.git
cd LillyMol
# makefile.public.xxxをコピーして書き換える
./makeall.sh

OSとgccのバージョンに合わせてmakefile.public.xxxのファイルをコピーで作成し、ブログに従って内容を書き換えます。makeall.shスクリプトが成功するとLillyMol/bin/Linux-gcc-9.4.0/のようなフォルダが作成され、その下にプログラムが配置されるので、パスを通しておきます。

export PATH=/home/hogehoge/github/LillyMol/bin/Linux-gcc-9.4.0/:$PATH

次は(いつになるか分かりませんが)、実際に使ってみる編に続きます。