RDKitでsim matrix

RDKitは自分のお気に入りのツールです。
Pybelも優れているのだが最初に触ったのがRDKitということでよく使っています。
SDFから分子を読んで類似性でマップを作る場合

form rdkit import Chem
from rdkit.Chem import AllChem, DataStructs

out = open("hogehoge.txt","w")
mols = [m for m in Chem.SDMolSupplier("hoge.sdf")]
fps = [AllChem.GetMorganFingerprin(m,2) for m in mols]

for i in range(len(fps)):
    for j in range(i):
        tc = DataStructs.TanimotoSimilarity(mols[i],mols[j])
        if tc >= 0.7:
            out.write("%s\tsim\t%s\n"%(mols[i].GetProp("ID"),mols[j].GetProp("ID")))
out.close()

みたいな感じでしょうか。
テキストにタニモト係数0.7以上の化合物ペアが出るのでcytoscapeで見ると
ネットワークが見えるかと思います。結構このビジュアル方法私は好きです。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中