メインの骨格を適当に変えたり、側鎖を適当に変えたりして、新たな化学構造を生成するPython プログラムを公開します

シェアする

以前に、Structure Generator based on R-Group (SGRG) という化学構造を生成する Python プログラムを公開しました。

誘導体の化学構造を自動生成するプログラムを作りました。ご自由にお使いください
研究の関係で、ある骨格の誘導体の化学構造を生成したいことがありまして、生成したあとはその化学構造の活性だったり物性だったりを推定するので、P...
Structure Generator based on R-Group (SGRG) を使って何ができますか?
こちらにおいて、 誘導体の化学構造を自動生成するプログラム Structure Generator based on ...

こちらは、メインの骨格を一つに設定して、その自由結合手に結合する側鎖を、フラグメントの候補の全ての組み合わせとして、化学構造を生成するプログラムでした。メインの骨格における自由結合手が多く、フラグメントの候補が少ない場合は、すべての組み合わせを生成してくれるので網羅的に化学構造が生成してよいのです。ただ、メインの骨格における自由結合手の数が多く、フラグメントの候補の数が多くなると、フラグメントの候補のすべての組み合わせが多くなりすぎてしまいます。さらに、メインの骨格をいろいろと変えたい場合は、そのつど計算をしなければなりません。

そこで今回は、メインの骨格がいくつかあり、フラグメントの候補もあるときに、それらをランダムに選びながら化学構造を生成する Python プログラムを作成しました。ランダムにメインの骨格が選ばれると、自由結合手の数が決まり、その数だけランダムにフラグメントを選び構造を作ります。これを繰り返すわけです。Python プログラムはこちらの Github にありますので、とりあえず実行してどんな構造が生成されるか、確認するとよいと思います。

https://github.com/hkaneko1985/structure_generator_based_on_r_group

メインの骨格の候補も、側鎖のフラグメントの候補も、SMILES で読み込む必要があります。SMILES についてはこちらをご覧ください。

化学構造・分子・化合物の扱いに関する基本的なこと
データセットがあると、データセットの可視化・クラスタリング・クラス分類・回帰分析などができるようになったり、モデルの適用範囲を設定したり、実...

サンプルのメインの骨格の候補として sample_main_fragments.smi、サンプルの側鎖のフラグメントの候補として sample_sub_fragments.smi がプログラムと一緒にありますので、ぜひご利用ください。

sample_main_fragments.smi と sample_sub_fragments.smi を、プログラム structure_generator_based_on_r_group_random.py と同じフォルダ (ディレクトリ) におき、プログラムを実行してください。

プログラム structure_generator_based_on_r_group_random.py では、number_of_structures で生成する化学構造の数を指定できます。また、メインの骨格の候補や側鎖のフラグメントの候補をご自身で準備して、ファイルの名前をそれぞれ sample_main_fragments.smi, sample_sub_fragments.smi とすれば、それらのメインの骨格や側鎖のフラグメントで、化学構造を生成できます。

ぜひご活用ください。

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

シェアする

フォローする