Google Summer of Code 2019 参加記 (1)

今年もGoogle Summer of Codeに採択されました。

既にプロジェクト期間の1/3が終わってしまいましたが、1st evaluationをpassして区切りがいい日なので簡単に今年のプロジェクト紹介をしておきます。

去年のプロジェクトではOpen Babelの3次元構造予測手法の改善を行いました。

去年のプロジェクトの成果をまとめた論文を現在投稿中です。プレプリントをChemRxivで公開しています。Fast, Efficient Fragment-Based Coordinate Generation for Open Babel

今年のプロジェクトでは去年のプロジェクトを発展させ、より精度の高い3次元構造予測を目指します。 去年のプロジェクトで実装した手法では実験データから得た分子の部分構造をデータベースとして事前に持っておき、予測対象の分子の部分構造がデータベースに含まれていたらデータベースと同じ構造をそのまま用います。 部分構造同士をつなぎあわせることで全体の構造を予測するのですが、全体構造を考慮せずにつなぎあわせるため間違った立体異性体を予測してしまう場合がありました。 今年は原子同士が距離制約を満たすように原子を配置することで分子構造を予測するdistance geometryという手法をOpen Babelに実装し、立体異性体の正解率を向上させることを目指します。 ここで部分構造に関してはデータベースにある構造を用いることで計算を省略し、より高速・高精度な予測を目指すのがメインのアイデアです。 Distance geometryはRDKitの3次元構造予測で用いられている手法なので、Open Babelの開発者のほかにRDKitの開発者にもメンターとして協力してもらうことにしました。

今年のProposalを貼っておきます。 GSoC2019_proposal.pdf - Google ドライブ

現時点では各原子を別々に扱う通常のdistance geometryの実装が完了しました。残りの期間で部分構造を用いたより精度の高い手法を実装していきます。