SlideShare ist ein Scribd-Unternehmen logo
1 von 24
バイオインフォマティクスで
実験ノートを取ろう
笠原 雅弘
東京大学 大学院新領域創成科学研究科
メディカル情報生命専攻
Disclaimer:
30分で作ったやっつけプレゼンです。
実際の出来事をモチーフにしつつも、個々の
話を特定できないように変えたり脚色してます。
生物系における実験ノートの
位置づけ
• 生物系のラボで実験ノートを取らない
研究者は居ない。
自分が後で
参照するため
実験が実在した
証明として
他人に後で
情報を伝えるため
論文を書くとき
• 税金を使って行う研究は論文化して成果を公開
するので、論文を書こうとするが・・・
えーっと、実験のこのステップで
確か遠心をしたような気がするんだけど
あれ、やったっけ?どうだっけ?
3,600rpm で回したような?
自分の行った操作に自信が持てないのに
論文にメソッドなんか書けません。
バイオインフォでも同じ
えーっと、bwa で何ミスマッチ許したっ
け?確か2ミスマッチが良いって結論だっ
たはず。あれ2ミスマッチってシードだっ
け、リード全体で2ミスマッチだっけ?
あーれー?
もう一度試さないとダメ?
自分の行った操作に自信が持てないのに
論文にメソッドなんか書けません。
研究が発展したとき
そのアイディアはすごいですね!
是非メダカでもやりましょう。
この系だと同じプローブでも
行けそうですね。
ってあれ・・・、そもそも
どんな配列プローブを使って
何分漬けたっけ・・・?
類似の実験をやりたくなったときに
果てしなく時間をロスします。
あのゼブラフィッシュの WISH、
論文の図を見たときスゲーって
思ったよ。ところで、私の
持ってるこのメダカで同じ実験を
やったら○○が分かって嬉しいよ!
研究が発展したとき(別ver)
そのアイディアはすごいですね!
是非メダカでもやりましょう。
と言いたいけどぼくは忙しいから
自分でやって!
類似の実験をやりたくなったときに
果てしなく時間をロスします。
あのゼブラフィッシュの WISH、
論文の図を見たときスゲーって
思ったよ。ところで、私の
持ってるこのメダカで同じ実験を
やったら○○が分かって嬉しいよ!
詳しい再現手順を教えて下さい。
バイオインフォでも同じ
そのアイディアはすごいですね!
是非寄生植物でもやりましょう。
ってあれ・・・、そもそも
PAML のオプション思い出せない。
パラメータ振って勘所を
思い出すところから再スタートか・・・
類似の実験をやりたくなったときに
果てしなく時間をロスします。
あの進化解析の論文の図を見たとき
スゲーって思ったよ。ところで、私の
持ってるこの寄生植物で同じ解析を
してみない?○○が分かってクールだぜ!
実験がヤバかったとき
えーっ・・・・、ってーか、
だとするとその後の実験が
なんで上手く行ってるの?
間違ってなかったんじゃない?
トラブルシューティングには
詳細な記録が必要です。
あの溶液、サンプルが間違っていて
がん細胞の抽出物じゃなくて、
隣で保管していた植物の抽出物
だった。ごめんね。
エタノール入れたときに
沈殿の量がいつもの5倍ぐらい
出てない?
記録してないからわかんない・・・
バイオインフォでも同じ
えーっ・・・・、ってーか、
染色体2番だけ欠損が起こる可能性が
あるようなスクリプト書いて無いんだけど?
トラブルシューティングには
詳細な記録が必要です。
貰った解析データ、
染色体2番だけ全部欠損してるんだけど。
でも実際欠損してるんですよ。
ほら、見てみて。
確かに・・・・。でも、何も記録してない
からわかんない・・・
外部の研究者からの質問
えーっ・・・・と、
5年前の実験なんて覚えてないよ。
良い仕事をしていると
意外な問い合わせが来ます。
○○論文の解析を再現したいんだけど、
ChIP に使った抗体ってどこから買った?
やっぱり複数買ってテストしないとダメ?
ノート無いの・・・?
捏造実験って言われちゃうよ?
ありますよ・・・調べますよ・・・・
バイオインフォでも同じ
そりゃ、当たり前だよ。
ストップワードは抜いてね。
良い仕事をしていると
意外な問い合わせが来ます。
○○論文の解析を再現したいんだけど、
ストップワードって除いてる?
論文のメソッドには書いて無かったから
適当に全単語を入れたらはちゃめちゃに
なったので入れてると思うんだけど。
厳密に再現したいので
使ったストップワードのリストをください。
え・・・、もうファイル無いよ。
情報系の人のよくある言い訳
コンピューターの上での解析は、
もう一度完全に同じことが自動で
できるから、もう一度同じコマンドを
走らせればいいじゃないか。
実験ノートなんて無くても
あらゆるものが再現できるし、
あらゆる質問には答えられるはずだ。
,j;;;;;j,. —一、 ` ―–‐、_ l;;;;;;
{;;;;;;ゝ T辷iフ i f’辷jァ !i;;;;;
ヾ;;;ハ ノ .::!lリ;;r゛
`Z;i 〈.,_..,. ノ;;;;;;;;> そんなふうに考えていた時期が
,;ぇハ、 、_,.ー-、_’,. ,f゛: Y;;f. 俺にもありました
~”戈ヽ `二´ r’´:::. `!
実際に起こった問題点1
• 純IT系のお仕事(研究)と比べて
バイオインフォでは自動化していない
手作業が圧倒的に多い傾向にある。
(1) Excel でデータを貰ったが「ピンク色のセルが該当サンプルIDです」
と言われた。ピンク色のセルを抜き出すスクリプトを書くのは面倒
だったので 80 個のサンプルIDを手作業で抜き出した。
(2) FASTA ファイルで配列を貰ったが、名前付けに一貫性がなくその後の処
理が面倒になりそうだったので、約3% の配列について手作業で名前を
付け直した。
(3) プライマー配列を Excel で貰ったが、3000本中 15 本は配列が全角文字に
なっており、数も少ないので半角文字に手作業で直した。6本はコドン
に合わせて3文字ごとにスペースが入っていたが、手作業でスペースを
取り除いた。
(4) いろんな恨み辛みを思い出して辛い気分になってきたのでこのへんで
ストップ。
実際に起こった問題点2
• ソフトウェアが動かなくなる、
異なる動作をする。
(1) SunFire 15K (SPARC アーキテクチャ) で動かしたバイナリを持っていても
いまどきの Linux (x86_64) では動かない・・・
(2) samtools のバージョンが上がって pileup サブコマンドとか無くなってる
んですけど・・・。
(3) Cufflinks とかバージョンが変わったら出力結構違うし、当時使ったバー
ジョンと逐一同じじゃなかったら結果が変わっても文句言えないですよ。
(4) ゲノムアセンブリーとか、マルチコアのタイミング問題で、同じデータ
を入れても毎回微妙に結果変わるので、運が悪かったのがバグ踏んだの
かは確定できないですよね・・。
私の身についた習慣(過去)
• こんなことをしたけどコストが大きくて
ちょっと不毛だよね
(1) ピンク色のセルはスクリプトで抜き出すようにした。
リネームも、スペースも全角文字も全部スクリプトで一括処理。
(2) ソフトウェアはなるべく解析ごとにソースコードもバイナリも
データとともに全部とっておいてバージョンなどが分かるようにする。
(3) マルチコアで結果が変わる場合には中間ファイルも一応全部
取っておこう。
(4) 複数のコマンドを実行する場合には makefile を作り、make を
叩けば常に、コラボレ-ターから貰ったファイルから最終解析結果まで
ノンストップで進むようにした。
理念としては良いけど・・・
理念としては素晴らしいんだけど、
やっぱり1回しかやらないことを
自動化するのは時間的にしんどいよね!
バイオインフォの人も
実験ノートを取ろう
• 実験ノートにいろいろ書こう
• 調べたこと(文献・Web)
• 実行したコマンド列やその短い結果など
• ソフトウェアやライブラリ・OSのバージョン
• インストール方法なども
• 自作のソフトなら git リポジトリアドレスと
コミット値など
• 実行時間やメモリー使用量
できれば、ラボ内の先輩や指導教員に
内容を見て貰って間違いや改善点を
指摘して貰おう。コメントを貰おう。
個人的なお勧め
• Markdown で書けるツールで実験ノートを
書こう
• Qiita:Team とか esa.io とか inc とか
Evernote+Marxico とか色々あるが・・・
Docbase いいよ Docbase !
Docbase の良いところ
• Markdown で書ける
• 数式も書ける
• コピペで図が貼れる
• API 叩けばクラスター計算機から書ける
• グループを分けて権限付与できる
• あるグループだけ外部のコラボレ-ターに共有、
とかできる。
・diff が取れる
・他人のノートへの watch/star/comment 機能
・Slack/HipChat などへの通知機能
・データのエクスポートももちろんできる
・一定以上の料金プランでは外部のコラボレーターを
無制限に招待可能
(コラボレーターにノートを見せるのが簡単。)
・開発が速い!!!
・タグ(Qiita や Evernote のタグと同じ)やメンバー、グループなどで
検索ができる。
・2段階認証もあるので比較的安心
その他の利点(順不同)
まとめ
• バイオインフォマティクスの人も
必ず実験ノートを付けよう
• docbase おすすめ

Weitere ähnliche Inhalte

Was ist angesagt?

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法y-uti
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイするTakayuki Itoh
 
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)Yoshitake Takebayashi
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Yuya Unno
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!TransformerArithmer Inc.
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編順也 山口
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?hoxo_m
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情Yuta Kikuchi
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析Seiichi Uchida
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜諒介 荒木
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fieldscvpaper. challenge
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森Masashi Komori
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)Kota Matsui
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-Takuya Akiba
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介Naoki Hayashi
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法Hidetoshi Matsui
 

Was ist angesagt? (20)

潜在ディリクレ配分法
潜在ディリクレ配分法潜在ディリクレ配分法
潜在ディリクレ配分法
 
研究分野をサーベイする
研究分野をサーベイする研究分野をサーベイする
研究分野をサーベイする
 
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
 
Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~Statistical Semantic入門 ~分布仮説からword2vecまで~
Statistical Semantic入門 ~分布仮説からword2vecまで~
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
 
グラフデータ分析 入門編
グラフデータ分析 入門編グラフデータ分析 入門編
グラフデータ分析 入門編
 
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
 
最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情最近のDeep Learning (NLP) 界隈におけるAttention事情
最近のDeep Learning (NLP) 界隈におけるAttention事情
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析データサイエンス概論第一 5 時系列データの解析
データサイエンス概論第一 5 時系列データの解析
 
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
楽しい研究のために今からできること 〜新しく研究を始める皆さんへ〜
 
Stan超初心者入門
Stan超初心者入門Stan超初心者入門
Stan超初心者入門
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
階層ベイズとWAIC
階層ベイズとWAIC階層ベイズとWAIC
階層ベイズとWAIC
 
社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森社会心理学者のための時系列分析入門_小森
社会心理学者のための時系列分析入門_小森
 
機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)機械学習による統計的実験計画(ベイズ最適化を中心に)
機械学習による統計的実験計画(ベイズ最適化を中心に)
 
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
乱択データ構造の最新事情 -MinHash と HyperLogLog の最近の進歩-
 
ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介ベイズ統計学の概論的紹介
ベイズ統計学の概論的紹介
 
関数データ解析の概要とその方法
関数データ解析の概要とその方法関数データ解析の概要とその方法
関数データ解析の概要とその方法
 

バイオインフォマティクスで実験ノートを取ろう