RDKitでRグループを抜き出す。

化合物を色々と合成していると、中心構造が同じならそこにつく置換機の情報だけを抽出したい場合があります。
たとえば縦横マトリックスを書いて考えたいなんて場合とか。。。

from rdkit import Chem
mols=Chem.SDMolSupplier("hogehoge.sdf")
core = Chem.MolFromSmiles("c1ccccc1)
for m in mols:
    r=Chem.ReplaceCore(m, core)
    print Chem.MolToSmiles( r )

とすると
コア構造が抜かれて各側鎖がピリオドで区切られたsmilesが得られます。
split関数等で分割してあれこれ解析に使えると思います。

Advertisements