「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買うかどうか本当に悩んでいる。

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

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

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

静岡東部ははラブライブサンシャインと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に参加してくれているみなさんに感謝です。

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

DeepInsightでちょっとよくわからないことのメモ

人工知能でゲノミクスをというプレスリリースでちょっとよくわからないことがあるのでメモ

最後の方の「図1 変数ベクトルxを変換Tで行列に変換する全体像と変換の具体的な手順」のところで1-aの具体的な手順としてtSNE/kPCAが提案されているが、これがよく理解できていない。

例えば化合物ライブラリの例だとそれぞれの化合物は2048次元の特徴ベクトル(フィンガープリント)を持つ。ただし二次元空間にマップされるのはそれぞれの化合物であって特徴(feature)ではない。

1-bで特徴がマップされるためには特徴自体が多次元ベクトルを持つ必要がある。同僚にN回測定のサンプルなんじゃないの?って言われたけど、それだったら平均とって終わりじゃない?ってことになった。

仮にGeneをマップしようとするばあいnサンプルを転置してベクトルにすればいいけどその場合は「訓練」「バリデーション」「テスト」にそれぞれtSNE画像ができてよくわからんことになる。

それから200x200の画像に変換するってあるんだけどデータの遺伝子が60483あるので、ピクセルに一つ一つに対応させても2万遺伝子くらいあふれるよなーと。黒く塗り潰されるか遺伝子の位置が重なって情報欠損すると思うんだけどそのあたりもよくわからん。

実装眺めるしかないなーとCode AvailabilityからURLたどって探したんだけど見つけることができなかった。

追記: コードがダウンロードできました 2019.08.09

http://www.alok-ai-lab.com/materials.php

のDeepInsight Package DeepInsight_Pkg.tar.gzだそうです。

実装はMatlabだったので手元で動かすことはできませんが、コードを読んでみました。

Cart2Pixel.mの3行目

% Q.data should be in no_of_genes x no_of_samples format

で、実際に50行目あたりで

Y=tsne(Q.data,'Algorithm','exact','Distance',Q.Dist);

となっているのでやっぱりtSNEのドットはサンプルか(転置した場合)遺伝子を表現していていて、「訓練」「バリデーション」「テスト」にそれぞれtSNE画像ができるような気がします。

2020.12.19 追記

videoとコードを読んで理解した。

まずfeature vectorを転置すれば確かに良かった。1-bのそれぞれのドットが特徴のデカルト座標を表すことになるということは理解した。ただし、その後のピクセル化はちょっと恣意的に選び過ぎな気がするというか精度がそのプロセスに依存するような気がする。

遺伝子発現の場合、似たような発現プロファイルの遺伝子(特徴)を集めるという教師なし学習を予めおこなっておいて、その結果にCNNをおこなうってことの意味がまだ良くわかっていない。これでいいんだったらNMFで得られたメタ遺伝子を使ったモデル学習でもよろしいような気がするが?

Mishima.syk #16やりました

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

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

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

今回の工夫

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

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

Discordを併用した

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

投げ銭システム採用

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

ニーズの集約

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

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

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

シングルセル解析

シングルセル解析のウェットの方の原理などが知りたかったので買ってみた。

1部は良かったけど、2部,3部はサーベイな感じが強すぎたのとがんが多かったので読み流してしまった。

免疫の領域でシングルセル解析での例が知りたかったのだけど、、、

やはりこれ以上は論文とかレビュー読めってことですかね。

なんで低分子化合物が核酸よりも選択性が高くなるの?

Synucleozidの論文読んでたら、低分子化合物で核酸に干渉したほうがsiRNAみたいな核酸で干渉するよりもオフターゲット効果が少なくてプロミッシングだって書いてあって、脳内ではてなマークが乱舞した。

In summary, Synucleozid demonstrated proteome-wide selectivity, which indicates targeting the SNCA IRE by small molecules is a promising direction for drug discovery and development since off-target effects have been previously observed in nucleic acid-based knockdown experiments

詳細はこの論文を読めということらしい。

2020.11.08追記

これかな

特定のターゲット遺伝子以外の1個または2~3個の遺伝子に生じる効果で、siRNAまたはd-siRNAプールの導入後に遺伝子機能の抑制がみられます。この効果は、siRNAのセンス鎖によって媒介され、意図しない遺伝子の機能喪失を開始させます。標的とは無関係な遺伝子の発現がノックダウンされるのに十分な相同性がある場合は、オフターゲット効果が特定のsiRNAのアンチセンス鎖の二次的効果として生じることもあります。

実験医学 2020年11月号 Vol.38 No.18 腸内細菌叢生態学

腸は環境としてどのくらい効いてくるんでしょうね?

なんか色々抽象化されすぎているような気もしないでないが。

経口免疫寛容不思議よね、、

Mishima.syk #16 やります

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

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

弱い紐帯の強さ

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

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

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

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

Kindle Fire10を購入した

つい先日のprime dayでkindle fire10を購入した。もともと8を使っていたのだけどバッテリーがヘタってきたのと最近固定レイアウトの書籍もkindleで読むことが増えたので大きいサイズに変えたくなったのだ。

なんといっても羊土社の実験医学を拡大せずに読めるのが嬉しい。fire8で拡大して読んで縮小しながらページ送りするのは相当な苦痛であった。