2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
Juliaを用いたタンパク質のエントロピー計算(全1記事)
リンクをコピー
記事をブックマーク
omi_dev氏(以下、omi_dev):では『Juliaを用いたタンパク質のエントロピー計算』という題で発表させていただきます。サトウタカアキと申します。
Twitterはomi_devというアカウントでいろいろやってまして。今大学院のM1です。先ほど発表されたサトウさんのラボ見学に行ったら「Juliaはいいぞ」と言われてJuliaを始めました。
やっていることとして、研究は生物物理です。主にタンパク質のシミュレーションとか、あとは趣味で競技プログラミングを多少やっていて。今度のコドフェスの本選に出場が決定いたしました。
今回発表するテーマが、下のほうの細々した論文のエントロピーを解析するので、理論だけ載ってるから実装してくれ、ということで実装します。
したものがこちらになります。ちょっと出すと時間があれなんですけど。GitHubで大文字でBILABって検索していただければたぶん出るんじゃないかなと思います。
私が書いたんですけど助教に渡したら助教がコミットしました。
(会場笑)
なにをしたかと言うと、エントロピー計算って非常にガバガバな部分が多くて。今までのやり方はいろいろと改善手法があったんですが、どれも温度安定性が非常に良くないという問題がありました。今回めちゃくちゃいい方法が出たのでそれをやってみます。
どこが画期的だったかと言うと、シミュレーションって三次元で行うので、当たり前ですが三次元座標で出てきます。それをタンパク質の内部座標、つまり結合の長さと角度と二面角で表すと、系全体としての並進・回転以外の3n-六次元をキープできます。
結果として、物理的にある程度正しい座標計を導入することができるというのが、タンパク質業界で内部座標と表現されます。ここからエントロピーの式にぶち込んで計算すると良いよっていう話でした。
ところがこれをJuliaでやろうとすると非常に大変です。なんでかと言うと、そのシミュレーションの結果が100ギガくらいあって、前処理かましてもギガバイト単位から落ちません。
このパーサを書きたくないので、PythonのライブラリにMDAnalysisというのがありまして、こちらをPyCall経由で使ってJuliaを数値型で無理やり持ってきました。
ではなぜわざわざJuliaで書いたのか、Pythonで書かなかったのかと言うと、1つにはやはり競技プログラミングの趣味に由来します。
使えなくはないんですよ。Juliaが存在するところがあって。ところが制限時間2秒なんですね。Juliaを起動すると1秒ちょっとかかるので、わりと無理です。
(会場笑)
なので今回論文を読んでみてちょっと競プロ的なことを使えそうだな。例えばBFSやったりとか。累積和を書いてたんですけど、なんか気づいたら消えてたんですけど。ここらへんをJuliaで書きたかったというのが趣味のほう。
実益としましては、やはり内積外積の計算が山ほどあって、それをサクサク書ける。あとはforループを回してもPythonとは違ってわりと早いです。
あと1番びっくりしたのが、対称行列の行列式のlogという補正項の部分が2行で書ける。
上の行でSymmetricでパタンってやって、下の行でlogabsdetっていう行列式の内部関数を使って行列式のlogのほうだけを持ってくるみたいなことを。ただこの2行がたぶん1番重い部分ですね。
結果としましては、ごめんなさい、まだ論文が出てないので具体的な数値が一切書けないんですけど。とりあえず動きました。
手法からして内部座標使ったりしてぜんぜん違ったんですけど、普通に2、3倍速くらい速くて、BILAB一同かなり驚きました。Juliaはすばらしいと。
ただ1番大事な妥当性なんですが、既存手法よりはマシで、最初の図で出しましたここの1番いいほうで1パーセント切るくらいの誤差っていうところまではちょっと再現しきれなくて。
いろいろ見てみたんですが、補正する項がうまくいってないと。バージョン0.6だと動いてたんですけど、0.7以降でここが0に飛んじゃうっていうのが潰せてなくて。たぶんここを潰せばもうちょいマシになるのですが、まだ手がつけられてない状況です。
まとめとしましてはJuliaの売りである数値計算の速さというのを自分の研究のうえで役立たせることができました。
ただ、こういう非常にマイナーな、とりあえず実装するみたいなのは誰もやっていないことなので欲しけりゃ自分でやるしかないな、っていうのは実務上でも体感した次第です。
以上です。ありがとうございました。
(会場拍手)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05