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で見ると
ネットワークが見えるかと思います。結構このビジュアル方法私は好きです。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s