Monthly Archives: 10月 2015

rDock: インストール


今回は、オープンソースのドッキングソフトウェアであるrDock[*]をFedora 20(64bit)にインストールしてみます。

[*] PLoS Comput Biol 10(4)

コンパイル

入手先: http://rdock.sourceforge.net/download/
入手ファイル名: rDock_2013.1_src.tar.gz

まずは、rDockのコンパイルに必要な以下のソフトウェアをインストールします。

$ sudo yum install cppunit cppunit-devel
$ sudo yum install popt popt-devel

私の環境ではすでにインストールされていましたが、以下のソフトウェアのインストールも必要です。
・gcc and g++ compilers version > 3.3
・make

次にrDockのコンパイルを行います。

$ tar zxvf rDock_2013.1_src.tar.gz
$ cd rDock_2013.1_src/build
$ make linux-g++-64

テスト

$ make test

以下の出力がでれば、テスト成功です。

.
.
The test succeeded! The results agree with the reference ones.
Have fun using rDock!!

環境変数の設定

環境変数は次のように、設定します。

.bashrc:

export RBT_ROOT=/home/user/xxxx/rDock_2013.1_src
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$RBT_ROOT/lib
export PATH=$PATH:$RBT_ROOT/bin

RBT_ROOTは、rDockをインストールしたディレクトリを指定します。

以上で、rDockのインストールは完了です。
次回は、rDockの使用法について記載したいと思っています。

KNIME: 化合物名から構造への変換


今回は、化合物名から構造への変換を行ってみます。
構造への変換は、Term To Structureノードで実施しますが、内部ではOSCARが使われています。

kinime_ntos_01

各ノードの設定方法を説明します。
各ノードを配置、接続した後、ノードをダブルクリックするとConfigureが開き、設定を行うことができます。

化合物名の入力

CSV Readerノードを使って、化合物名の読み込みを行います。
化合物名は、テキストファイルに、以下の様に記載します。

chemicalName.txt:

benzene
phenol
Acetoaldoxime
Anthranilamide
adenosine diphosphate

kinime_ntos_02

Termに変換

化合物名は、String型として読み込まれていますので、String To Termノードを使って、Term型に変換します。

kinime_ntos_03

構造に変換

Term To Structureノードを使って、構造に変換します。
構造は、SMILES(String型)で出力されます。

kinime_ntos_04

SMILESにCast

Molecule Type Castノードを使って、String型で収められている構造をSMILES型に変換します。

kinime_ntos_05

以上で設定は終わりです。
ワークフローを実行し、Molecule Type Cast上で右クリックし、Wrapped outputを選択します。

kinime_ntos_06

化合物名が構造に変換されていることが確認できます。

NNScore2: Neural-Network-Based Scoring Function 2


NNScore2[*]は、タンパク質と低分子の間のKd値をNeural-Netwokを用いて予測するソフトウェアです。

* J.Chem.Inf.Model. 2011,51,2897-2903

インストール

NNScore2をWindowsにインストールしてみます。

NNScore2:
入手先:http://sourceforge.net/projects/nnscore/files/
入手ファイル名:NNScore2.01.py

NNScore2は、AutoDock Vina 1.1.2を外部プロセスと実行します。
NNScore2.01.pyでは、os.popenを用いてAutoDock Vinaを実行していますが、私のWindowsの環境では、うまく動作しませんでした。

そこで、外部プロセスの実行をsubprocessを使って行うようにしました。
NNScore2.01.pyのgetCommandOutput2を以下のように修正しました。

def getCommandOutput2(command):
    from subprocess import Popen, PIPE
    p = Popen(command.split(' '), stdout=PIPE, stderr=PIPE)
    data, err = p.communicate()
    if err:
        raise RuntimeError, '%s failed w/ exit code ' % (command)
    return data

次に、NNScore2.01.pyの変数vina_executableを以下のように編集しました。

vina_executable = "C:/Program Files (x86)/The Scripps Research Institute/Vina/vina.exe"

AutoDock Vina:
入手先:http://vina.scripps.edu/download.html
入手ファイル名:autodock_vina_1_1_2_win32.msi

インストーラーの指示に従い、インストールします。

入力ファイル:
NNScore2は、pdbqt形式のファイルを入力形式として利用しています。
pdbqtは、MGLTools(AutoDockTools)を用いて作成することができますが、今回は、AutoDock 4.2.6のExamplesに含まれる以下のファイルを使うことにします。

1dwd_rec.pdbqt
1dwd_lig.pdbqt

ただし、1dwd_rec.pdbqtファイルの以下に示す最後の2行は、AutoDock Vinaを実行する際に、エラーとなったので、削除すると動作するようになりました。

.
.
MASTER        0    0    0    0    0    0    0    0 2971    2    0    0
END

利用方法

NNScore2.01.pyのあるフォルダに1dwd_rec.pdbqtと1dwd_lig.pdbqtをコピーします。

>python NNScore2.01.py -receptor 1dwd_rec.pdbqt -ligand 1dwd_lig.pdbqt

Kd値は、39.74nMと予測されました。

NNScore 2.01
============
.
.
When the poses were ranked by the average of the 20 network scores
associated with each pose, the best-scoring pose was MODEL 1 (Score =
7.401 +/- 1.347 = 39.74 nM). This is the recommended ranking/scoring
metric.

NNScore: Neural-Network-Based Scoring Function


NNScore[*]は、タンパク質と低分子の結合性をNeural-Netwokを用いて判定するソフトウェアです。

* J. Chem. Inf. Model. 2010, 50, 1865-1871

インストール

今回は、NNScoreをWindowsにインストールしてみます。

NNScore 1.0:
入手先: http://sourceforge.net/projects/nnscore/files/
入手ファイル名: NNScore_1.0.zip

zipファイルを展開するとNNScore_1.0というフォルダが作成され、その下にあるNNScore.pyがNNScoreを計算するためのスクリプトとなります。

NNScoreは、pdbqt形式のファイルを入力形式として利用しています。
pdbqtは、MGLTools(AutoDockTools)を用いて作成することができますが、今回は、AutoDock 4.2.6のExamplesに含まれる以下のファイルを使うことにします。

1dwd_rec.pdbqt
1dwd_lig.pdbqt

利用方法

NNScore.pyのあるフォルダに1dwd_rec.pdbqtと1dwd_lig.pdbqtの2つのファイルをコピーします。

NNScoreでは、結合性を判定するための24個のNeural Network(NN)を持っています。
まずは、これら全てを使って結合性を判定してみます。

> python NNScore.py -receptor 1dwd_rec.pdbqt -ligand 1dwd_lig.pdbqt -networks_dir .\networks\top_24_networks

24個のNNのAverage scoreは0.923でありgood binder(結合性があり)と判定されました。

.
(good binder)
	Using network ./networks/top_24_networks/7.net to predict binding:  	0.880332825256 (good binder)
	Using network ./networks/top_24_networks/8.net to predict binding:  	1.00412384796 (good binder)
	Using network ./networks/top_24_networks/9.net to predict binding:  	1.10773343806 (good binder)

Average score:  0.923067523181 (good binder)

次に、24のNNのうちの1つを使って、結合性の判定をしてみます。

> python NNScore.py -receptor 1dwd_rec.pdbqt -ligand 1dwd_lig.pdbqt -network .\networks\top_24_networks\3.net

3.netのScoreは0.891でありgood binder(結合性があり)と判定されました。

.
	Using network .\networks\top_24_networks\3.net to predict binding:  	0.890759982857 (good binder)

Average score:  0.890759982857 (good binder)

DockingによるVirtual Screeningのリスコアリングに使えます。