souyakuchan 詠唱(bot)機能まとめ

創薬アドベントカレンダー 2018 12 日目記事
#souyakuAC2018

souyakuchan_magic

今日はお馴染み、創薬ちゃんツイッターアカウントに実装されている構造式および立体分子構造の描画機能についておさらいがてら御紹介しておこう。

基本的な用法は次の3つだ。

  • SMILES 記法による構造式描画

    @souyakuchan c1ccccc1 #smiles

  • IUPAC 名による構造式描画

    @souyakuchan benzene #iupac

  • PDB ID による立体構造描画

    @souyakuchan 1emb #pdb

SMILES 記法による構造式描画

このように、@souyakuchan にメンションする形で、呪文(SMILES 記法)に続けて #smiles と術式(ハッシュタグ)を指定することで二次元の構造式を詠唱(描画)したツイートを返す。

SMILES 記法の書き方については、良いまとめ記事があったのでリンクを貼っておこう。

元々、この詠唱機能は皆さんの自由な発想で任意の分子構造をツイートしてもらうために実装したものだが、SMILES 記法をマスターしていれば自力で書き下すのもできなくはないと思われるが、いきなり書き下すのはなかなか難しいと思われる。
既知の分子であればデータベースなどから SMILES をそのまま取ってきてコピペすればよいが、一方、任意の構造式を描こうと思うと、通常は構造式エディタを使って描くのがやはり簡便だろう。

これは JavaScript ベースの古典的な構造式エディタを流用したものだ。(JSME)

また、PubChem などにも 構造式エディタ は組み込まれており、構造式を描いたら SMILES を吐き出させることもできるので、容易に活用できるだろう。

ちなみに、PyMOL 使いであれば、PyMOL で構造式を描くこともできる。

Builder

三次元空間内で構造式を描けるので、立体性の高い分子を描く場合などには便利に使うことができるだろう。

IUPAC 名による構造式描画

このように、@souyakuchan にメンションする形で、呪文(IUPAC 名)に続けて #iupac と術式(ハッシュタグ)を指定することで二次元の構造式を詠唱(描画)したツイートを返す。
IUPAC 命名法をマスターして自力で書き下すのは敷居が高いと思われるが、これも既知の分子であればデータベースなどから IUPAC 名をそのまま取ってきてコピペすれば使うことができるだろう。
また、暗記できているレベルの常識的な IUPAC 名(例: benzene)を入れてパパッと描画させるといった用法であれば SMILES 記法より使いやすいかもしれない。

PDB ID による立体構造描画

このように、@souyakuchan にメンションする形で、呪文(PDB ID)に続けて #PDB と術式(ハッシュタグ)を指定することで該当分子の立体構造を詠唱(描画)するツイートを返す。
これは、TL に表示させたい分子を PDB から拾ってきて、ID をそのまま入力して頂く形になる。

実装者

これらの術式は、ソーシャル創薬美少女 @kubor_ 氏によって実装されたものだ。Many thanks!

みんなも是非、思い付いた新規な分子を TL に詠唱してみよう!

Written on December 12, 2018