就職Hacks (製薬企業のDryポスト)

製薬企業でDryのポストを狙っている学生の方々は、おそらくバイオインフォマティクスやケモインフォマティクスの研究室に在籍しているか、ウェットの研究室の担当でDry解析も掛け持ちしているとかだと思います。なので、NGS解析用の既存のコードをモディファイするなり、研究室でメンテされているコードをちょいちょい書き換えたりして、研究成果を出しているのだと思います。就職活動で製薬企業でDryのポストを得るためには研究成果以外にも解析能力やコーディング能力をアピールできると良いと思いますので、損にはならない(と私が思っている)方法を2つほど紹介したいと思います。

GitHubは使えるようにしておこう

書いてあるとおりそのままです。アカウントがなくて成果物がアップロードされていないとしても、PRやイシューを送ったことがあるかといった経験はあったほうが良いかなと思います。

競技プログラミングにもちょっと手を出しておこう

プログラミングを楽しめるということもDryでやっていく研究者として重要な資質かなと思います。インフォマティクス系のポジションを狙っている場合、もしかしたらアルゴリズムに関して質問されるかもしれません。そういった場合にある程度基本的なアルゴリズムやデザインパターンなどに関する知識があったほうが良いかなと思います。

競技プログラミングは色さえついていれば良いと思います。無色透明よりは断然マシでしょう。あんまり聞かれることはないと思いますが、もし私が面接官をやれと言われたら間違いなくする質問だと思います。TOEICのスコアと同じくらいにわかりやすい参考値だしね。

「Kaggleで勝つデータ分析の技術」を読んだ

データ分割の考え方とか特徴量作りのコツみたいなのが丁寧に書いてあって大変参考になった。

ある程度Pythonで機械学習をやっている人向けの本ですね。

ProductName Kaggleで勝つデータ分析の技術
技術評論社 / ¥3,428 (2019-10-09)

いつもはランダムフォレストでいいやーって感じなんだけど、ハイパーパラメータのチューニングめんどくさいしXGBoostかLightGBMに改宗したほうがよいのだろうか。

Looking Back 2020

去年の振り返りはこちら。今年は色々あった気がする。特に後半は常にいいことと悪いことがセットでやってきて トータルちょっといい みたいな感じがデフォルトになってしまったので、まぁそういうもんかなと思うことにした。

仕事関連

組織とチームが大きく変わった。今まではcomputer chemistryのチームとして合成部門の中で適当に成果を追求していれば良かった、つまり、メディシナルケミストとしてプロジェクトにどう関わっていけばいいかを考えていれば良かったのだけど、上司も変わって、bioinformaticsのチームもマージされて幅広くマネジメントしなければいけなくなり苦労した。特に、Lead FindingとかLead Optimizationだけでなく5RでいうところのRight Target, Right Patientも担当範囲になったのでなかなか大変な一年であった。とはいえ、computer chemistryチームはプロアクティブに動けるメンバーばかりだったので相当助かった。新しく一緒に働くことになったbioinformaticsのチームはモチベーション高いし、薬理学の知識は十分あるので方向だけ揃えればとりあえずうまく成果がでそうなので良かったが、来年はもう少しBioinformaticsのコード書くスキルを上げていってなにか新しいことをやりたい。コンピューターサイエンティストはコードに自分の新しいアイデア込めてなんぼやしね。

それから、夏前にcomputer chemistryのチームに日本語をほとんど話せないインド人の方がジョインした関係でチームの共用語が英語に切り替わった。企業年金とかコンプライアンス教育とか賃金制度とかそういった日本語の文書を英語で説明しないといけなくて、どうすんのこれ?と思ったけど意外と慣れたw。それから彼はアカデミアからの転職なので色々刺激を受けているし彼のpaperworkにかける思いは非常に強くて「やっぱ論文書かないとなー」という気分にさせられる。

ちなみに、英語で表現できなくてもどかしい思いをするのはなぜかと考えた場合に、一番大きいのは使えるverbが少ないなーとかいうことかなと思ったので使えるverbを増やすようにしている。グラマーもっとちゃんと勉強しないとあかんなという気持ちになるのも良かったけどもSとOはなんとなく表現できるしな。以下の本は役に立った。

ProductName 外資系1年目のための英語の教科書
KADOKAWA / ¥2,079 (2020-03-14)

今年は低分子以外のモダリティに関してもSBDDで成果を出したし、X線結晶構造やクライオ電顕によらないSBDDにもチャレンジしたし、来年も引き続きSBDD力を高めていきたい。そしてcomputer chemistryとbioinformaticsのチームにもう少し人を増やしたいと思っている。

仕事以外

前述したようにうちのチームにジョインしたインド人の方が南インドの出身なので、そのあたりの食べ物に関してネホリンハホリンしたため南インド力(食)が向上した。それから色々本場のスパイスミックスを頂いたので新しい料理や調理法などを色々覚えた。コロナが落ち着いたらインドに舌の修行にでかけたいところ。

それから在宅勤務がデフォルトになったおかげで毎日ぬか床をかき混ぜる余裕を持てて、今年はぬか床と年を越せたのは嬉しい。来年はもう少しいい感じに漬けられるように精進したい。

他にはホームメードベーカリーのコネ機能を使えばラーメンの手打ちが簡単にできることに気づいて、パスタマシンを併用してラーメン作りが本格化したことか。加えてリパブリューの店長にラーメン指南を受けているし、静岡のエンジニアはカレーとラーメン作れてなんぼっていう風潮が出来上がっているっぽいのでこちらも精進必須ですな。というより、静岡のエンジニア界隈はいつも仲良くやれていて良いですね、素晴らしい。

悲しみとしてはmacのOSをアップグレードしたらTraktor Kontrol S4が動かんようになってしまったことでmk3買うかどうか本当に悩んでいる。

今年はコードを書く暇が殆どなかったのも振り返ってみると大変残念なことであったので、来年はもう少し書けるように工夫するというか書く。書かないといいアイデアも浮かばないし、ネタとして発表も出来なくて悲しい。

海外に遊びに行けなかったのは辛かった。かろうじてホーチミンに行けてラッキーだったがその後に予定していた台湾、バンコク、モントリオール、スペインは無理であった。

多分来年も似たような感じだろうから、沖縄にいってやちむん爆買したい。

生成モデルを使って何するの?

生成モデルを使ってより良い化合物提案を効率的に行うアプローチが今年もいくつも提案されています(新しいかどうかは別にして)。

最近だと、2017年に提案されたREINVENTのスコア関数を工夫し、ここにファーマコアを使うというものが出ています。

REINVENTは強化学習で方策をかえるやつだから、スコア関数だけ工夫をすれば色々出来て楽しいけど、実際のプロジェクトで成果を出そうと思うとセンスを問われますね。それから、せっかくファーマコフォアを使っているのだから多様なスキャフォールドを提案してきてほしいけど、REINVENTだとなかなか難しそうに感じるのだけどそのあたりどうなんでしょう?単に化合物ライブラリをファーマコフォアでヴァーチャルスクリーニングかけるほうが良い結果を得られるような気がします。

自分がこの手法に期待するとすれば、 市販化合物に存在せず、かつ合成可能であり、ファーマコフォアを満たす新規な化合物の提案 ということになるのかなと。

もう一つちょっと前にpublishされたのがVAEを使ったもので、ドッキングシミュレーションのスコア関数をたよりに潜在空間を探索するもの(多分、アブストしか読んでない)

ちなみにREINVENTのスコアにドッキングスコアを放り込む方法が既に提案されています。

ただ、ドッキングスコア自体がかなり荒い評価関数なのと、ドッキングポーズの推定がそもそもあまり精度が高くないのでまずはドッキングシミュレーションの精度を上げるほうが先に成すべきことなんではなかろうかと思ってしまいます。

個人的にはLead Optimizationのような骨格を決めてその周辺を探っていくようなフェーズではREINVENT使ってプロジェクトにあわせてスコア関数を工夫すればいいと思っているけど、それよりも前のフェーズで構造に多様性を求めたいフェーズでは潜在空間探索させるのがよいかなーと思っているのでVAE+SELFIESの組み合わせはかなり興味があります。こっちも工夫のしがいが沢山ありますしね。

静岡東部ははラブライブサンシャインとKNIMEの聖地

この記事は創薬 (dry) Advent Calendar 2020の24日目の記事です。

ラブライブサンシャインとKNIMEに関してはみなさんご存知だと思うので詳しい説明は省きますが、 もしKNIMEについてよく知らない方はt_kahi’s blogをチェックして、ラブライブサンシャインを知らない人は、今すぐNetflixを購読して呪術廻戦魔女の旅々を見てください。

今回は、KNIMEのワークフローを一元管理して共有するWebアプリケーションを作ったときの経緯を書いておきます。

そもそも、Mishima.syk #14@t_kahiがKNIMEの話をしたときにうちの会社は共有システム作ったよっていう話をしていて、それを聞いた他社の人が「うちの会社にも欲しいわ」って言ったから「じゃぁ、OSSの作るわ」っていう流れで始まった気がします。

そんで、2週間後くらいにSpotfireのユーザー会に参加しなきゃいけなかったんで、行きの新幹線でコード大体書いてたみたい。GiteaのKNIME版を意識してたからknimeaとかいう仮の名前をつけていた気がします。

一応、UGM中につくり終えたみたいですね。

その後UGMは楽しく終わったんだけど、ちょうど超大型台風が接近していて帰りの新幹線が止まっていたので、東京駅のプラットフォームでみんなで二次会してましたw そういえば@iwatobipen先生はいたようないないような、、、記憶があやふやですw

色々と(飲みながら)雑談していたら、KNIMEの話になって@bonohuがKNIMEのアナグラムが金目鯛になることを発見して、その後すぐに@t_kahiがフリーの金目鯛アイコンを探し出してくれて、無事に公開することができたと。 これがKNIMEのシンボルが金目鯛、そして聖地が静岡東部になった瞬間です

というわけで皆さん使ってみてください。コロナが落ち着いたら、みんなで東伊豆に集まって金目鯛をつつきながらKNIMEハンズオンでもしましょう(聖地巡礼)。

最後にいつもキャッキャウフフできるような環境を維持していてくれるMishima.sykに参加してくれているみなさんに感謝です。

ついでにキャッキャウフフしたい人も探していますので是非私まで。

この素晴らしい創薬プロジェクトに祝福を!

この記事は創薬 (dry) Advent Calendar 2020の9日目の記事です。

まずは10年前に書いた駄文を見てください(p.12)。

というわけで、最近やっと、創薬用のイシュー管理システムを作って動かし始めました。redmineはタスクの管理色が強くて、イシューの議論にあまり向いてなかったので、GitHubのIssuesを参考に創薬の諸問題に関して十分に議論を積み重ねることができるように工夫したものをスクラッチから作っています。実物を見せられないのが残念ですが、ジャガーでいうところのニャンピョウみたいな感じなのでそこは想像で補ってください。

あとはメディシナルケミストの生産性の見える化のために、MMPをベースとした化合物構造の差分管理システムなどがあれば良いと思うのだけどそのあたりは誰か別の人が考えるでしょう。

が、興味があればQuantifying, Visualizing, and Monitoring Lead Optimizationなどを読むことをおすすめします。今どきだったら、このあたりのメトリクスと構造生成器をうまく組み合わせて創薬プロジェクトのスピードアップをはかるのがイケてるやり方なのかなと思います。

Mishima.syk #16やりました

Mishima.syk #16に参加された皆様お疲れさまでした。オンラインでも楽しくやれるということがわかってよかったです。またDiscordを使った懇親会も入れてみましたが、結局2200くらいまでの5時間近く雑談できていたので次回もこの方式でやろうと思いました。

14ヶ月ぶりの開催と言われて「あれ、そうだっけ?」となりましたが、調べたら正しかったので、コロナの影響が結構大きかったんだなと改めて気付かされましたね。

どの演題も興味深かったのですが、LTは全部面白かったです。音声認識とラベリングの話と社会人博士課程の話は特に良かったです。それから、Mishima.sykに昔から参加している面子にケモインフォの話をさせると、最初から異次元を目指すので、あまり馴染みのない方にもわかるように丁寧に説明する演題があったのもオンラインで幅広く参加できるようになったおかげかなと思いました。今後も期待しています。

今回の工夫

タイムキーピングをきちんとやった

これまでは、ざっくり時間を決めて会議室退出時間にぎりぎりまで喋り倒すという流れだったのをきちんと時間通りに終わるようにしてみたけど、これは良かったです。

Discordを併用した

ZoomのほかにDiscordを併用し、すべての発表者のチャンネルを作って質問などはそこに書き込むようにしたおかげで、情報の整理はスッキリできたように思います。ただ、反動としてTwitterの書き込みが極端に減ったので参加者以外には見えなくなったというのはどうなのかな?と。

投げ銭システム採用

Amazonのギフト券サービスを利用した投げ銭システムを採用してみました。これはうまくワークして、次回以降のZoomの利用料金がカバーできるようになったので、また近いうちにオンライン開催したいなと思っています。投げ銭してくれた皆様ありがとうございました。

ニーズの集約

Discordに「今後ききたい内容」を集めるチャンネルを用意してみたのですが、これはあまりうまくいかなかったです。テーマを決めるのは毎回苦労するので、これに関しては引き続き工夫していきたいところ

Discordのボイスチャンネルを使った懇親会

発表者それぞれにDiscordのボイスチャンネルを用意して好きなように集まって雑談できるようにしましたが、これは割とうまくいきました。ただ、特にチャンネル名に意味はなくて、いくつかチャンネルを用意しておくだけでよかったみたいです。

Mishima.syk #16 やります

前回はコロナパンデミックでキャンセルになってしまいましたが、そろそろやらないと、みなさんの発表(したい)リストが溢れてしまって困るだろうと、オンラインでやることにしました。

まぁRDKitUGM2020が良すぎて、我々もそろそろなんかやらんとなーと思ったのもあります。それから発表ドリブンで強制的にコード書かんと、そういう時間が取れなくなりつつあるという、、、

弱い紐帯の強さ

Mishima.sykはそもそも 三島あたりに製薬企業の研究所集まっててみんな近所に住んでるのに東京とか大阪とかの学会とかベンダーユーザー会でしか情報交換できないのは不便だよねー ってことではじまった集まりです。その後何人かは転職を経験しているけど、相変わらず機能しているということを考えると「弱い紐帯」としての役割を果たしているんだろうなーと漠然と感じます。

では企業は何かというと強く脆いネットワークなんだろうなと。まぁ、賃金インセンティブで構成された階層型ネットワークだからそうだよなと。一方でノードの欠損や付加に対しては極めて安定ですね。誰がやめてもあまりダメージ大きくならないように組織設計されているしね。

コロナパンデミックで学会などがオンライン開催に移行していて、弱い紐帯的なネットワーク形成というのは当たり前に重要になっていて、それはグローバルなものとして捉えないとあかんよなと感じた次第です。今更硬くて脆いネットワークに縛られる人生設計はありえないでしょう。

ProductName 社会と経済:枠組みと原則
ミネルヴァ書房 / ¥3,850 (2019-11-28)

Deep Learning To Impute Heterogeneous Drug Discovery Data

久しぶりに面白い論文を読んだ。極めてインフォマティクスらしいアプローチでとても素晴らしいと思った。能動学習と組み合わせても面白いんではないかと思ったので後で試してみる。

Practical Applications of Deep Learning To Impute Heterogeneous Drug Discovery DataというJ.C.I.Mのペーパーだけど、research gateからも読めるみたい。

個人的にはマルチタスク学習も転移学習もDrug Discoveryのデータの予測にはあんまり有効じゃないんだろうなーと思っていて、特にマルチタスクなんて共通な特徴量抽出だろうから、それって結局脱溶媒に帰着してハンシュフジタのlogPに無事着陸帰還とというか、「1mmも前進してないじゃないか?美しくないなオイ」くらいに思っている。

Significant improvements over “conventional” machine learning are generally only seen in large data sets or in the case of multitask learning where there are strong correlations between the endpoints.

本論文ではインピュテーションを採用している。特に特徴量学習とかのそもそも化合物表現を攻めずに、与えられたデータから尤もらしい測定値を推定するアプローチをとっているのがインフォマティクスらしくて良いと思った。これにより、特に細胞系のアッセイでの予測精度の向上が大きいが、その理由を次のように考察している。

In particular, we can see that the project A cell 2 (cell proliferation) results cannot be predicted with conventional QSAR methods; a negative R2 indicates a performance that is worse than random (i.e., shuffling the test labels). This is likely because cell activity depends not only on target protein activity but also on the compound reaching the target which will be strongly influenced by physicochemical and ADME properties.

細胞系のアッセイだと、膜透過もパラメータとして取り込んだほうがいいから物性の結果(予測、実験値)ともに特徴量として放り込むこと多いだろうから、inputationで欠損値を埋めるアプローチって上手いよなぁと感心した。

このあたりをもう少し丁寧に読んでおくべきだろう。

測定系同士に関連性がある場合に精度が向上するってあれじゃン、発現データじゃんとおもってバイオインフォマティクス関連の文献調べたらDeepImpute: an accurate, fast, and scalable deep neural network method to impute single-cell RNA-seq dataってのを見つけた。

これとimmunedeconvを組み合わせて、任意の免疫系細胞で着目している遺伝子の発現量を推定できないかな?

今月の分子で興味をひかれたもの

PDBjの今月の分子を眺めて興味が湧いたもののメモ

tRNA

下の図は、PDBエントリー 4tna のフェニルアラニン運搬RNAの構造で、3つの塩基の相互作用を示している。シトシンとグアニンは、DNAでも見られる典型的な塩基対を形成するが、2つ目のグアニンはメチル基(右端中央の灰色の球)が付加されており、通常見られない相互作用を塩基対と形成する。

FMO案件

シャペロン

シャペロンも改めて考えてみるとよくわからん。フォールディングしやすく空間を与えるのか、熱変性しにくくする空間を与えるのか?HSPの名前の由来であれば後者の気もするけど。

多くのシャペロンタンパク質は「熱ショックタンパク質」(heat shock protein)と呼ばれ、HSP-60のように名付けられている。こう呼ばれるのは細胞が熱にさらされた時大量に作られるからである。一般的に熱はタンパク質を不安定化させ、誤った折りたたみをより起きやすくしてしまう。だから本当に熱くなった時、細胞はこれらシャペロンの追加支援を必要とするのである。

Gタンパク質

G蛋白質をあまり丁寧にみたことはなかった。

βサブユニットを見ることにも時間を費やして欲しい。ペプチド鎖を主鎖表現やリボン表現で表示すると、鎖がきれいなプロペラ型の構造をとっているのが分かるだろう

主要組織適合性複合体(Major Histocompatibility Complex)

FMOかけよ

MHCタンパク質は、黄色い星印で示したチロシン(tyrosine)の各末端でペプチドをつかんでいる。2つの構造でこの3つの位置が似ていることに注目して欲しい。ペプチドはこの場所でMHCにつながれているが、他のアミノ酸は外側に伸びてタンパク質から外れている。

オーキシンとTIR1ユビキチンリガーゼ

正しくないフォールディングってのは物性的にわかりやすい駄目な指標があるってことかな?免疫系の抗原提示みたいなことが蛋白質レベルで行われているってことかな?

オーキシンがユビキチンに結合した構造によって別の驚くべきことが分かった。オーキシンは、Aux/IAAタンパク質がリガーゼに結合するのを促してそれらの破壊を導くが、タンパク質の形を変えることでこの仕事を行っている訳ではない。そうではなく、2つの分子の間に架橋する分子のりとして働くのである。オーキシンはユビキチンリガーゼの深い窪みの中に結合して穴を埋め、Aux/IAAタンパク質に完全に合致した表面を作り出す。

低酸素誘導因子

虚血も興味がある。

酸素が不足した細胞は、多くの赤血球を生み出しより多くの血管をつくるよう身体に伝える信号を送り出す。また、代謝のしくみを変えて、あまり多くの酸素を必要としないエネルギー代謝経路を使うようにする。

スプライソソーム

わからん