CIRpyを使ってみた。

IUPAC, CAS_Nameから構造を起こすツールは手元にあるのですが、
ケミストとの視点で考えると使いにくかったり、一般名から構造が起こせると言いな。というニーズはあると思います。
この辺りはOPSINを使うのがいいと思われます。
がとあるところからCIRpyというクールなツールを見つけました。
Chemical Identifier Resolver(CIR)のPython インターフェイスだぜ!ということです。
OPSIN, ChemSpider当たりも入っているぜぃ。
ということで何か惹かれます。
ソースがGitHubにあがっているのでこれをゲットします。
使い方は直感的に行ける感じです。

import cirpy
res = cirpy.resolve("imatinib","smiles")
print res
C5=C(C1=CN=CC=C1)N=C(NC2=C(C=CC(=C2)NC(C3=CC=C(C=C3)CN4CCN(CC4)C)=O)C)N=C5
res = cirpy.resolve("gleevec","smiles")
print res
C5=C(C1=CN=CC=C1)N=C(NC2=C(C=CC(=C2)NC(C3=CC=C(C=C3)CN4CCN(CC4)C)=O)C)N=C5

という感じです。
CASナンバーもさっくりと。

res = cirpy.resolve("imatinib","cas")
print res
'220127-57-1'

その他に
stdinchi
stdinchikey
inchi
smiles
ficts
ficus
uuuuu
hashisy
sdf
names
iupac_name
cas
chemspider_id
mw # Molecular weight
formula
と色々なアウトプットが行けます。
それ以外に、記述子も行けます。
h_bond_donor_count
h_bond_acceptor_count
h_bond_center_count
rule_of_5_violation_count
rotor_count
effective_rotor_count
ring_count
ringsys_count
構造式を落とすこともできますね。

cirpy.download("gleevec", 'test.sdf', 'sdf')
In [87]: cat test.sdf
C30H35N7O4S
APtclcactv01201307062D 0   0.00000     0.00000
 
 77 80  0  0  0  0  0  0  0  0999 V2000
    5.2698    9.4300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    6.6728    7.0000    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    8.0757    7.8100    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    3.5377   12.4300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    4.6116    4.8100    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087    7.2400    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    4.9407   13.2400    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087    4.0000    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    1.8057    6.4300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    3.7456    9.3100    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426   11.7400    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    1.2646    5.2026    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.8660    4.5123    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    8.7148    9.0831    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    8.9417    9.9300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    8.0948   10.1569    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.9397   10.9300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.3985    3.7026    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    3.0123    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.9532    3.0123    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.5547    3.7026    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.9397    9.3100    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.0000    2.2277    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.3985    1.5374    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.5547    1.5374    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.9532    2.2277    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    0.8566    0.6200    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    0.0000    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    2.0966    0.6200    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
   11.4787    6.2055    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
   11.8447    7.5715    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   12.8447    5.8394    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   13.2107    7.2055    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
   13.7477    6.8955    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    5.8067    9.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    6.6728    7.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.5388    8.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.0747   12.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.0747    5.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087    6.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.9407   12.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087    4.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426    6.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087    9.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426   11.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766   10.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    9.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    4.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    8.4048    9.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    0.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    6.6728    9.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.8067    8.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.8067   11.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.5388    9.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.0747   11.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    4.0747    6.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    3.2087   10.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426    5.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    7.2097   10.9300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
    4.4038    7.9300    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
   12.3447    6.7055    0.0000 S   0  0  0  0  0  0  0  0  0  0  0  0
    0.6106    3.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426    3.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    0.6106    2.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426    2.1200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    5.8067    6.1200    0.0000 O   0  0  0  0  0  0  0  0  0  0  0  0
    4.9407    6.6200    0.0000 C   0  0  0  0  0  0  0  0  0  0  0  0
    6.6728   10.6200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    4.9407    7.6200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    3.6200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    1.4766    1.6200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    4.9407   10.6200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    5.8067   12.1200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
    2.3426    9.1200    0.0000 N   0  0  0  0  0  0  0  0  0  0  0  0
   11.1687    6.7424    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
   10.9417    5.8955    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
   11.7887    5.6685    0.0000 H   0  0  0  0  0  0  0  0  0  0  0  0
 31 61  2  0  0  0  0
 32 61  2  0  0  0  0
 33 61  1  0  0  0  0
 30 61  1  0  0  0  0
 66 67  2  0  0  0  0
 51 68  1  0  0  0  0
 53 68  1  0  0  0  0
 53 72  1  0  0  0  0
 55 72  2  0  0  0  0
 52 69  1  0  0  0  0
 67 69  1  0  0  0  0
 53 73  2  0  0  0  0
 41 73  1  0  0  0  0
 48 70  1  0  0  0  0
 62 70  1  0  0  0  0
 63 70  1  0  0  0  0
 44 74  1  0  0  0  0
 47 74  2  0  0  0  0
 64 71  1  0  0  0  0
 65 71  1  0  0  0  0
 50 71  1  0  0  0  0
 51 54  1  0  0  0  0
 35 51  2  0  0  0  0
 35 52  1  0  0  0  0
 36 52  2  0  0  0  0
 37 54  2  0  0  0  0
 49 54  1  0  0  0  0
 55 57  1  0  0  0  0
 38 55  1  0  0  0  0
 56 67  1  0  0  0  0
 39 56  2  0  0  0  0
 40 56  1  0  0  0  0
 44 57  2  0  0  0  0
 45 57  1  0  0  0  0
 36 37  1  0  0  0  0
 38 41  2  0  0  0  0
 42 58  2  0  0  0  0
 43 58  1  0  0  0  0
 48 58  1  0  0  0  0
 39 42  1  0  0  0  0
 40 43  2  0  0  0  0
 45 46  2  0  0  0  0
 46 47  1  0  0  0  0
 62 64  1  0  0  0  0
 63 65  1  0  0  0  0
 33 34  1  0  0  0  0
 59 68  1  0  0  0  0
 60 69  1  0  0  0  0
  1 35  1  0  0  0  0
  2 36  1  0  0  0  0
  3 37  1  0  0  0  0
  4 38  1  0  0  0  0
  5 39  1  0  0  0  0
  6 40  1  0  0  0  0
  7 41  1  0  0  0  0
  8 42  1  0  0  0  0
  9 43  1  0  0  0  0
 10 44  1  0  0  0  0
 11 45  1  0  0  0  0
 12 48  1  0  0  0  0
 13 48  1  0  0  0  0
 14 49  1  0  0  0  0
 15 49  1  0  0  0  0
 16 49  1  0  0  0  0
 17 46  1  0  0  0  0
 18 62  1  0  0  0  0
 19 62  1  0  0  0  0
 20 63  1  0  0  0  0
 21 63  1  0  0  0  0
 22 47  1  0  0  0  0
 23 64  1  0  0  0  0
 24 64  1  0  0  0  0
 25 65  1  0  0  0  0
 26 65  1  0  0  0  0
 27 50  1  0  0  0  0
 28 50  1  0  0  0  0
 29 50  1  0  0  0  0
 30 75  1  0  0  0  0
 30 76  1  0  0  0  0
 30 77  1  0  0  0  0
M  END
$$$$

これでカレントディレクトリにsdfが落ちます。素敵ですね。

Published by iwatobipen

I'm medicinal chemist in mid size of pharmaceutical company. I love chemoinfo, cording, organic synthesis, my family.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.