オーム情報解析(第1回)kadota/20200604_kadota.pdf ·...

207
1 オーム情報解析(第1回) 1 東京大学 情報学環・学際情報学府 2 東京大学・大学院農学生命科学研究科 アグリバイオインフォマティクス教育研究ユニット 3 東京大学・微生物科学イノベーション連携研究機構 門田幸二(かどた こうじ) [email protected] http://www.iu.a.u-tokyo.ac.jp/~kadota/ 2020.06.05(自称ですが)講義資料のみで十二分に 中身がわかるようにしております。ノリが わかり、あとは自習で大丈夫だと思われ たら(単位取得希望者以外は)遠慮なく 退室いただいて構いません。評価は出 席点とレポートで行う予定です。レポート 課題はITC-LMSに掲示してあります。

Upload: others

Post on 17-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

1

オーム情報解析(第1回)

1東京大学 情報学環・学際情報学府2東京大学・大学院農学生命科学研究科

アグリバイオインフォマティクス教育研究ユニット3東京大学・微生物科学イノベーション連携研究機構

門田幸二(かどた こうじ)[email protected]

http://www.iu.a.u-tokyo.ac.jp/~kadota/

2020.06.05版 (自称ですが)講義資料のみで十二分に中身がわかるようにしております。ノリがわかり、あとは自習で大丈夫だと思われたら(単位取得希望者以外は)遠慮なく退室いただいて構いません。評価は出席点とレポートで行う予定です。レポート課題はITC-LMSに掲示してあります。

Page 2: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

各科目へのアクセス

2

①教育プログラム、②各講義のページ、③「オーム情報解析」の場合。ブラウザは、Google Chromeを推奨。

Page 3: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

オーム情報解析

3

①「オーム情報解析」のページの一部。②に特化した内容です。③機械学習や深層学習をメインで教える科目は「知識情報処理論」。「フィールドインフォマティクス(6/30の大森先生のところ)」では、葉のイオン濃度データを機械学習の1つであるランダムフォレストを用いて解析する実践例が解説される予定。

Page 4: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

オーム情報解析

4

①「オーム情報解析」のページの一部。②に特化した内容です。③機械学習や深層学習をメインで教える科目は「知識情報処理論」。「フィールドインフォマティクス(6/30の大森先生のところ)」では、葉のイオン濃度データを機械学習の1つであるランダムフォレストを用いて解析する実践例が解説される予定。④「機能ゲノム学」では、遺伝子発現データの探索的な解析(機械学習の一種の教師なし学習に相当するもの)を中心に解説しましたが、本科目「オーム情報解析」では、遺伝子発現データを題材として未知サンプルの分類問題(機械学習の一種の教師あり学習に相当するもの)の実践的な利用法を解説します。

Page 5: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

オーム情報解析

5

①「オーム情報解析」のページの一部。②に特化した内容です。③機械学習や深層学習をメインで教える科目は「知識情報処理論」。「フィールドインフォマティクス(6/30の大森先生のところ)」では、葉のイオン濃度データを機械学習の1つであるランダムフォレストを用いて解析する実践例が解説される予定。④「機能ゲノム学」では、遺伝子発現データの探索的な解析(機械学習の一種の教師なし学習に相当するもの)を中心に解説しましたが、本科目「オーム情報解析」では、遺伝子発現データを題材として未知サンプルの分類問題(機械学習の一種の教師あり学習に相当するもの)の実践的な利用法を解説します。「オーム情報解析」は、⑤全体として学習領域を広げる効果はおそらく非常に小さいです。他で学んだ(これから学ぶ)解析手法がトランスクリプトーム解析分野でどのように活用されているかを学ぶという位置づけです。自力で興味あるパッケージのマニュアルを読み解いて、使いこなしてゆくための実践経験を積むイメージです。

知識情報処理論フィールドインフォマティクス

オーム情報解析

機能ゲノム学 ⑤

Page 6: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

講義予定◼ 06月04日木曜日(17:15-20:30)

Introduction、解析データの概観

分類の全体像を把握、データセットの分割の手前まで

◼ 06月11日木曜日(17:15-20:30) モデル構築、ハイパーパラメータのチューニング(MLSeq)

テストセットの予測、混同行列

◼ 06月18日木曜日(17:15-20:30) 誤分類サンプルに関する詳細な解析(PHATE)、線形SVMと非線形SVM(kernlab)

分離境界の把握(ggplot2)、ハイパーパラメータのチューニング(caret)

◼ 06月25日木曜日(17:15-20:30) バイオマーカーの同定(MLSeq)、発現変動遺伝子の同定(TCC, edgeR, DESeq2)

scRNA-seqでDEGが多数得られる理由、発現変動遺伝子を利用したモデル構築

6

全てZoomオンライン講義でA方式予定。「MLSeqを用いた発現データの分類」が大枠です。

Page 7: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

7

Page 8: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction1

8

本科目で主に利用する項目は、①(Rで)塩基配列解析の…

Page 9: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction2

9

本科目で主に利用する項目は、①(Rで)塩基配列解析の、②機械学習(分類)のあたり。③をクリック。

②③

Page 10: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction3

10

本科目で主に利用する項目は、①(Rで)塩基配列解析の、②機械学習(分類)のあたり。③をクリック。④「解析 | 機械学習(分類) | について」の項目に飛びます。⑤の文章はそれほど真面目に書いていないので参考程度。全体像や流れは把握できると思います。

Page 11: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction4

11

①のような手元のデータのみで何かをやる枠組みは、一時期(2005年頃まで?!)は確かに流行っていた。発現データ取得手段として一時代を築いたマイクロアレイが安価になり、1つのデータセットで数十サンプルのデータを比較的容易に取得できた頃とおそらく一致します。

Page 12: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction5

12

①のような手元のデータのみで何かをやる枠組みは、一時期(2005年頃まで?!)は確かに流行っていた。発現データ取得手段として一時代を築いたマイクロアレイが安価になり、1つのデータセットで数十サンプルのデータを比較的容易に取得できた頃とおそらく一致します。その後(bulk) RNA-seqが流行っていた頃は完全に下火に…。各群3反復(3サンプル)あれば一定の精度で発現変動解析ができるというガイドラインが普及していたのがおそらく一因。各群数十サンプルあることを前提とする分類の枠組みでは、各群数サンプルというのは少なすぎる。

Page 13: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction6

13

①のような手元のデータのみで何かをやる枠組みは、一時期(2005年頃まで?!)は確かに流行っていた。発現データ取得手段として一時代を築いたマイクロアレイが安価になり、1つのデータセットで数十サンプルのデータを比較的容易に取得できた頃とおそらく一致します。その後(bulk) RNA-seqが流行っていた頃は完全に下火に…。各群3反復(3サンプル)あれば一定の精度で発現変動解析ができるというガイドラインが普及していたのがおそらく一因。各群数十サンプルあることを前提とする分類の枠組みでは、各群数サンプルというのは少なすぎる。その後、1つのサンプルを~数千個の単一細胞に分けてデータを取得するscRNA-seqが流行り始め、また復活の兆し。「機能ゲノム学」で紹介した探索的な解析(クラスタリング)によって、各細胞がcell typeごとにグループ化されるため、グループ(群)ごとに数十細胞からなる「分類」の枠組みに当てはまるデータとなる。

Page 14: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction7

14

「機能ゲノム学」2020年6月2日分の最後のほうのスライド(タイトル:アノテーション)を再掲。①②clustering based on reference dataの話が…

見るだけ

Page 15: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction8

15

「機能ゲノム学」2020年6月2日分の最後のほうのスライド(タイトル:アノテーション)を再掲。①②clustering based on reference dataの話が、参照用のデータ(トレーニングセット)でcell typeごとの特徴を学習しておき(予測モデルの構築)、手元の(グループ化された)scRNA-seqデータの③classification(分類)を行うことと同義です。BLASTっぽく説明すると、手元の(グループ化された)細胞ごとの発現データをquery(問い合わせデータ)として、cell type既知のデータのどれに近いかを返すというもの。

見るだけ

Page 16: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction9

16

「機能ゲノム学」2020年6月2日分の最後のほうのスライド(タイトル:アノテーション)を再掲。①②clustering based on reference dataの話が、参照用のデータ(トレーニングセット)でcell typeごとの特徴を学習しておき(予測モデルの構築)、手元の(グループ化された)scRNA-seqデータの③classification(分類)を行うことと同義です。BLASTっぽく説明すると、手元の(グループ化された)細胞ごとの発現データをquery(問い合わせデータ)として、cell type既知のデータのどれに近いかを返すというもの。④最近の手法比較論文によると、サポートベクターマシン(Support Vector Machine; SVM)がよいとのこと。

見るだけ

Page 17: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction10

17

①さきほどの最近の手法比較論文のPubMedサイト。②論文タイトルがautomatic cell identification methodsとなっているが、やっていることの中身は③annotationであり、④classification。表記揺れが半端ないと思われるかもしれないが、慣れです。

見るだけ

Page 18: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E01:Introduction11

18

①さきほどの最近の手法比較論文のPubMedサイト。②論文タイトルがautomatic cell identification methodsとなっているが、やっていることの中身は③annotationであり、④classification。表記揺れが半端ないと思われるかもしれないが、慣れです。⑤SVMがよいという結論はこの辺りに書かれています。⑥single-cell-specific classifiersは「機能ゲノム学」で述べたようなscRNA-seqデータの性質を考慮して開発された分類器(classifier)のことを指す一方、general-purpose classifiersはscRNA-seq(を含む生命科学系)以外の分野で一般に用いられる分類器のことを指します。⑤の記載内容からも納得できるように、SVMやRandom Forest (RF)は後者のほうに属します。Single-cell-specificとgeneral-purposeの主な違いはデータ変換の仕方です(原著論文のpage 15の右側。後者はlog変換するのが一般的)。

見るだけ

Page 19: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

19

Page 20: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

利用可能なR package1

20

①の話に戻る。②下矢印キーを10回くらい押して…

Page 21: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

利用可能なR package2

21

①の話に戻る。②下矢印キーを10回くらい押して、③が見えるようにしたところ。④kerasは、機械学習や深層学習(deep learning)系で有名なパッケージ。Kerasは、⑤tensorflow上で動きます*。Python版がメジャーですが、R経由でも利用可能です。

*:https://udemy.benesse.co.jp/ai/keras.html

Page 22: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

利用可能なR package3

22

①の話に戻る。②下矢印キーを10回くらい押して、③が見えるようにしたところ。④kerasは、機械学習や深層学習(deep learning)系で有名なパッケージ。Kerasは、⑤tensorflow上で動きます*。Python版がメジャーですが、R経由でも利用可能です。⑥randomForestは「フィールドインフォマティクス」の大森先生のところで利用予定のパッケージ。⑦caretは機械学習系でよく用いられている汎用(general-purpose)パッケージ。日本語情報も豊富。⑦caretなら、SVMもRandom Forestも統一的に取り扱える。

Page 23: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

利用可能なR package4

23

RNA-seqデータの分類問題に特化したRパッケージはさすがに存在するだろうと思い、PubMed上で見つけたのが⑧MLSeq。⑨その原著論文を読み進める過程で、⑦caretを内部的に利用しているということも後に判明した。

⑧ ⑨

Page 24: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

利用可能なR package5

24

RNA-seqデータの分類問題に特化したRパッケージはさすがに存在するだろうと思い、PubMed上で見つけたのが⑧MLSeq。⑨その原著論文を読み進める過程で、⑦caretを内部的に利用しているということも後に判明した。また、⑩NBLDA、⑪voomDDAなども利用可能であることを知り、⑧MLSeqの一通りの使い方を理解しておこうと決断した。

Page 25: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

25

Page 26: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得1

26

解析データファイル(sample51.txt)は「オーム情報解析」のページや、MLSeqパッケージからもダウンロード可能。解説は、①サンプルデータの例題51のところで行います。51番目の例題ということもありページ送りも大変なので、「sample51」とかでページ内検索するほうが手っ取り早いです。

Page 27: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得2

27

②こんな感じです。③例題51のところに辿り着いてるっぽいことが分かります。

②③

Page 28: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得3

28

②こんな感じです。③例題51のところに辿り着いてるっぽいことが分かります。④解析データの概要。

Page 29: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得4

29

②こんな感じです。③例題51のところに辿り着いてるっぽいことが分かります。④解析データの概要。⑤をコピペ実行すると、⑥sample51.txtが作業ディレクトリ上に作成されます。⑦と同じものです。

Page 30: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得5

30

②こんな感じです。③例題51のところに辿り着いてるっぽいことが分かります。④解析データの概要。⑤をコピペ実行すると、⑥sample51.txtが作業ディレクトリ上に作成されます。⑦と同じものです。RStudioでコピペ実行後の状態。⑧作業ディレクトリ上に、確かに⑨sample51.txtが作成されていることが分かります。

Page 31: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得6

31

コピペ実行した作業は、①filepathで見えている場所にある、②cervical.txtというファイルを読み込んで、③sample51.txtというファイル名で保存しているだけです。

Page 32: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

解析データ取得7

32

コピペ実行した作業は、①filepathで見えている場所にある、②cervical.txtというファイルを読み込んで、③sample51.txtというファイル名で保存しているだけです。Rパッケージ内で提供されている例題データファイル(この場合はcervical.txt)を読み込むときは、④で示すようなsystem.file関数が利用されることが多いです。慣れておくとよいでしょう。cervical.txtとsample51.txtは同一です。

Page 33: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

33

Page 34: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

sample51.txt

34

①解析データ(sample51.txt orcervical.txt)の詳細情報は、②の赤枠内で示されている。Excelで開いて全体像を示したのが次のスライド。

Page 35: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

sample51.txt

35

①解析データ(sample51.txt or cervical.txt)の詳細情報は、②の赤枠内で示されている。Excelで開いて全体像を示したのがこのスライド。

Page 36: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

sample51.txt

36

(①の行名情報を除く)②最初の29列分が子宮頸がん患者の正常サンプルの発現データ。③残りの29列が癌サンプルの発現データ。

② ③①

29正常(Normal)サンプル 29癌(Tumor)サンプル

Page 37: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

sample51.txt

37

② ③①

29正常(Normal)サンプル 29癌(Tumor)サンプル

714 m

icro

RN

As(遺

伝子

)(①の行名情報を除く)②最初の29列分が子宮頸がん患者の正常サンプルの発現データ。③残りの29列が癌サンプルの発現データ。(④ヘッダー行を除く)⑤714行分のmicroRNAの発現データから構成されている。microRNAが意味不明なヒトは、遺伝子と読み替えていただいて差し支えありません。以降は分かり易さ重視で遺伝子として話を進めます。

Page 38: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

38

Page 39: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

発現や正規化の必要性1

39

② ③①

29正常(Normal)サンプル 29癌(Tumor)サンプル

そもそも「発現」って何よ?というヒト向けの説明。この場合は「働き具合」という解釈でよい。

714 m

icro

RN

As(遺

伝子

Page 40: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

発現や正規化の必要性2

40

そもそも「発現」って何よ?というヒト向けの説明。この場合は「働き具合」という解釈でよい。例えば、①N2というサンプルに着目した場合、画面上で見えている中で最もよく働いている(= 数値が大きい)のは②なので、③の遺伝子が①N2サンプル内で最も高発現だと判断する。

Page 41: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

発現や正規化の必要性3

41

そもそも「発現」って何よ?というヒト向けの説明。この場合は「働き具合」という解釈でよい。例えば、①N2というサンプルに着目した場合、画面上で見えている中で最もよく働いている(= 数値が大きい)のは②なので、③の遺伝子が①N2サンプル内で最も高発現だと判断する。原著論文やMLSeqパッケージ中のマニュアルを見ればわかるが、本当は遺伝子ではなくマイクロRNA(miRNA)です。この分野ではないヒトにとっては、miRNAという正確な言葉を用いるほうが難解なので、あえて遺伝子で押し通します。

参考

Page 42: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

発現や正規化の必要性4

42

ある程度経験を積んだ一部のヒトは、④N1サンプルと、⑤N27サンプルを見比べることで、「列ごとの数値の和は、⑤ >> ④なのでは?もしそうなら列ごとの総和を揃える正規化を行ってからでないと、サンプル間の比較はやってはいけないのでは?」ということに気づく。

Page 43: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

発現や正規化の必要性5

43

ある程度経験を積んだ一部のヒトは、④N1サンプルと、⑤N27サンプルを見比べることで、「列ごとの数値の和は、⑤ >> ④なのでは?もしそうなら列ごとの総和を揃える正規化を行ってからでないと、サンプル間の比較はやってはいけないのでは?」ということに気づく。このような事実確認などを自在に行う上で、colSums関数などのベーシックな関数を使いこなせるスキルを身につけておくことが重要。

Page 44: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

44

Page 45: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み1

45

①20200604.Rがコピペ用スクリプト集。クリックしてブラウザ経由で利用してもよいですが、講義資料ではダウンロードしてRStudioのエディタ上で利用します。

Page 46: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み2

46

①20200604.Rがコピペ用スクリプト集。クリックしてブラウザ経由で利用してもよいですが、講義資料ではダウンロードしてRStudioのエディタ上で利用します。②作業ディレクトリ上にダウンロードした、③20200604.Rをクリックして、④エディタ上で眺めている状態です。

Page 47: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み3

47

①やり方1、②やり方2のどちらをコピペ実行しても、同じ中身のオブジェクトdataが得られるはずです。5行目と11行目はRStudio起動直後と同じ(利用可能なオブジェクトが何もない)状態にするコマンドです。

Page 48: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み4

48

①やり方1、②やり方2のどちらをコピペ実行しても。同じ中身のオブジェクトdataが得られるはずです。5行目と11行目はRstudio起動直後と同じ(利用可能なオブジェクトが何もない)状態にするコマンドです。①やり方1実行後の状態。②オブジェクトdataは714行×58列ですね。

Page 49: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み5

49

①やり方1、②やり方2のどちらをコピペ実行しても。同じ中身のオブジェクトdataが得られるはずです。5行目と11行目はRstudio起動直後と同じ(利用可能なオブジェクトが何もない)状態にするコマンドです。①やり方1実行後の状態。②オブジェクトdataは714行×58列ですね。③やり方2実行後の状態。④確かに同じ結果になりましたね。

Page 50: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E05:ファイルの読込み6

50

入力ファイルはこんな感じでしたので、妥当ですね。

29正常(Normal)サンプル 29癌(Tumor)サンプル

714 遺

伝子

参考

Page 51: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

51

Page 52: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E06:Tipsの復習1

52

①Clear Consoleや…

参考

Page 53: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E06:Tipsの復習2

53

①Clear Consoleや、②コマンド入力履歴(ヒストリー)のクリアも適宜やります。③Yes。

参考

Page 54: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E06:Tipsの復習3

54

①Clear Consoleや、②コマンド入力履歴(ヒストリー)のクリアも適宜やります。③Yes。こんな感じです。以降は特に宣言することなくやりますので、うろたえずについてきてください。

参考

Page 55: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

55

Page 56: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和1

56

① ②

「発現や正規化の必要性」のスライドを再掲。ある程度経験を積んだ一部のヒトは、①N1サンプルと、②N27サンプルを見比べることで、「列ごとの数値の和は、② >> ①なのでは?もしそうなら列ごとの総和を揃える正規化を行ってからでないと、サンプル間の比較はやってはいけないのでは?」ということに気づく。このような事実確認などを自在に行うために必要なスキルが、例えばcolSums関数。

Page 57: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和2

57

「発現や正規化の必要性」のスライドを再掲。ある程度経験を積んだ一部のヒトは、①N1サンプルと、②N27サンプルを見比べることで、「列ごとの数値の和は、② >> ①なのでは?もしそうなら列ごとの総和を揃える正規化を行ってからでないと、サンプル間の比較はやってはいけないのでは?」ということに気づく。このような事実確認などを自在に行うために必要なスキルが、例えばcolSums関数。③今はこのあたりです。④の行のみを実行したい場合は、そこにカーソルを合わせて、⑤Run。

Page 58: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和3

58

こんな感じになります。①を押して、②Console画面の縦幅を最大化します。

①②

Page 59: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和4

59

こんな感じになります。①を押して、②Console画面の縦幅を最大化します。確かに③N27のほうが④N1に比べて10倍弱多いですね。

Page 60: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和5

60

こんな感じになります。①を押して、②Console画面の縦幅を最大化します。確かに③N27のほうが④N1に比べて10倍弱多いですね。⑤こんな感じで1:29列のみに限定して表示させたりもします(subsettingの復習)。目的を忘れつつあるかもしれませんが、機械学習を実行する前に、どのような前処理をやっておかねばならないかを知る目的で、データの全体像を把握しようとしています。

Page 61: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和6

61

こんな感じになります。①を押して、②Console画面の縦幅を最大化します。確かに③N27のほうが④N1に比べて10倍弱多いですね。⑤こんな感じで1:29列のみに限定して表示させたりもします(subsettingの復習)。目的を忘れつつあるかもしれませんが、機械学習を実行する前に、どのような前処理をやっておかねばならないかを知る目的で、データの全体像を把握しようとしています。「⑥N27のほうが⑦N1に比べて10倍弱多い」という結果を受けて…

Page 62: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E07:列ごとの総和7

62

⑨ ⑧

こんな感じになります。①を押して、②Console画面の縦幅を最大化します。確かに③N27のほうが④N1に比べて10倍弱多いですね。⑤こんな感じで1:29列のみに限定して表示させたりもします(subsettingの復習)。目的を忘れつつあるかもしれませんが、機械学習を実行する前に、どのような前処理をやっておかねばならないかを知る目的で、データの全体像を把握しようとしています。「⑥N27のほうが⑦N1に比べて10倍弱多い」という結果を受けて、⑧N27の数値ベクトルの要素を約1/10にしたら、⑨N1と似たようなプロファイルになると判断する。プロファイルという用語が難解なヒトは、「パターン」などに置き換えて理解すればよい。

Page 63: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

63

Page 64: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき1

64

さきほどまでは、ぱっと目についた①N1と②N27に着目した。データの全体像の把握の続きとして、ここでは③列ごとの総和のばらつきがどの程度かを群ごとに調べようとしています。

Page 65: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき2

65

さきほどまでは、ぱっと目についた①N1と②N27に着目した。データの全体像の把握の続きとして、ここでは③列ごとの総和のばらつきがどの程度かを群ごとに調べようとしています。まずは④正常サンプル群(N群)のほうから。⑤の表示結果と同じ情報がtmpに格納されることが自明だが、31-32行目をコピペ実行。

Page 66: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき3

66

さきほどまでは、ぱっと目についた①N1と②N27に着目した。データの全体像の把握の続きとして、ここでは③列ごとの総和のばらつきがどの程度かを群ごとに調べようとしています。まずは④正常サンプル群(N群)のほうから。⑤の表示結果と同じ情報がtmpに格納されることが自明だが、31-32行目をコピペ実行。コピペ実行結果。間違い探しのようだが⑥tmpの中身はさきほどと同じですね。これである程度全体像は分かるが、私は通常sortやsummary関数の実行結果も眺めます。

Page 67: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき4

67

さきほどまでは、ぱっと目についた①N1と②N27に着目した。データの全体像の把握の続きとして、ここでは③列ごとの総和のばらつきがどの程度かを群ごとに調べようとしています。まずは④正常サンプル群(N群)のほうから。⑤の表示結果と同じ情報がtmpに格納されることが自明だが、31-32行目をコピペ実行。コピペ実行結果。間違い探しのようだが⑥tmpの中身はさきほどと同じですね。これである程度全体像は分かるが、私は通常sortやsummary関数の実行結果も眺めます。33-34行目のコピペ実行結果。

Page 68: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき5

68

①まずはソートの実行結果から。②decreasingオプションをFalseにして実行することは、「降順にソートするな(昇順にソートせよ)」という意味。③最も数値の総和が小さいのはN7サンプル。

①②③

Page 69: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき6

69

①まずはソートの実行結果から。②decreasingオプションをFalseにして実行することは、「降順にソートするな(昇順にソートせよ)」という意味。③最も数値の総和が小さいのはN7サンプル。④最も総和が大きいのはN26サンプル。同じ正常サンプル群でも最大と最小の間では900倍近く差があることがわかる。

Page 70: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき7

70

①まずはソートの実行結果から。②decreasingオプションをFalseにして実行することは、「降順にソートするな(昇順にソートせよ)」という意味。③最も数値の総和が小さいのはN7サンプル。④最も総和が大きいのはN26サンプル。同じ正常サンプル群でも最大と最小の間では900倍近く差があることがわかる。①sort実行結果を踏まえると、⑤summary実行結果の理解は容易。③最小値と④最大値が両端にあり、⑥その間の要約統計量が表示されているだけです。

③ ④⑥

Page 71: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき8

71

①癌サンプル群についても念のため見ておきます。②意図的に若干書き方を変えています。37-41行目までをコピペ実行。

①②

Page 72: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E08:総和のばらつき9

72

①癌サンプル群についても念のため見ておきます。②意図的に若干書き方を変えています。37-41行目までをコピペ実行。実行結果。カウント数の総和(=ライブラリサイズ)の③最小値と④最大値間では750倍近い差があることがわかります。正常サンプル群と似たような結果ですね。①

②②

③ ④

Page 73: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

73

Page 74: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成1

74

解析データの数値行列に対して、どの列がどの群(正常 or 癌)に属するかという情報を作成する作業を行います。ギョーカイでは「クラスラベル情報(class label information)」みたいな言い方をします。

Page 75: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成2

75

解析データの数値行列に対して、どの列がどの群(正常 or 癌)に属するかという情報を作成する作業を行います。ギョーカイでは「クラスラベル情報(class label information)」みたいな言い方をします。「クラス」が「グループ(群)」という用語と対応します。「このサンプルさんには正常というラベル(シール)を貼って、このサンプルさんには癌というラベルを貼って…」みたいなことをやるための情報を作成するイメージです。「数値行列の列名からよきに計らってくれよ」と思うヒトが一定数いるとは思いますが、列名はあくまでもただの文字列です。ここで示すように、どの列がどのクラス(群)に属しているかという情報を明確に与えねばなりません。

Page 76: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成3

76

当然ながら、解析データの数値行列の、どの列がどの群に属しているかという情報は予め知っておかねばなりません。①今取り扱っている行列(dataオブジェクト)は、②最初の29列分が正常サンプル、③残りの29列分が癌サンプルのデータだと分かっています。

Page 77: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成4

77

当然ながら、解析データの数値行列の、どの列がどの群に属しているかという情報は予め知っておかねばなりません。①今取り扱っている行列(dataオブジェクト)は、②最初の29列分が正常サンプル、③残りの29列分が癌サンプルのデータだと分かっています。「(Rで)塩基配列解析」のウェブページ上では、そのような群ごとに明確に分離された④タブ区切りテキストファイルを取り扱うことを想定しています。

Page 78: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成5

78

①Environmentタブ上で、現在利用可能な②オブジェクト名と③その概要が見られる。どのタイミングで④オブジェクトの全消去をやっているか次第で変わるため、ここの見え方はヒトそれぞれ。

③②

参考

Page 79: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成6

79

①Environmentタブ上で、現在利用可能な②オブジェクト名と③その概要が見られる。どのタイミングで④オブジェクトの全消去をやっているか次第で変わるため、ここの見え方はヒトそれぞれ。⑤Dataというカテゴリ内に、⑥中身が714行×58列の、⑦dataオブジェクトが存在することがわかります。

⑤⑦ ⑥

参考

Page 80: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成7

80

①Environmentタブ上で、現在利用可能な②オブジェクト名と③その概要が見られる。どのタイミングで④オブジェクトの全消去をやっているか次第で変わるため、ここの見え方はヒトそれぞれ。⑤Dataというカテゴリ内に、⑥中身が714行×58列の、⑦dataオブジェクトが存在することがわかります。⑦が見えているヒトは、⑧の行までをコピペ実行する必要はありませんが、実行時間的には誤差範囲なので赤枠内の46-55行をコピペ実行。

Page 81: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成8

81

実行結果。①最初の29サンプル分に対して、②G1というラベルを…

①②

Page 82: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成9

82

実行結果。①最初の29サンプル分に対して、②G1というラベルを、③残りの29サンプル分に対して、④G2というラベルを割り当てるべくして作成したベクトルなので、⑤のようになります。

③④

Page 83: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成10

83

実行結果。①最初の29サンプル分に対して、②G1というラベルを、③残りの29サンプル分に対して、④G2というラベルを割り当てるべくして作成したベクトルなので、⑤のようになります。⑤data.clというのは、私が行列データに対してほぼ共通に用いているdataというオブジェクトに対して割り当てる「クラスラベル(classlabel)」という意味です。もちろんただのオブジェクト名なので、自由につけて構いません。

参考

Page 84: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E09:ラベル情報作成11

84

ここでは①”G1”や②”G2”としていますが、どのような変更までが許されるのか不安という方も一定数いらっしゃると思います。例えば、後で見せるMLSeqパッケージ中では①”N”、②が”T”となっています。どこまでOKかは、パッケージ開発者の意向次第。ちゃんと説明書きのあるパッケージもあれば、そうでないものもあります。

① ②

Page 85: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

85

Page 86: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E10:(Rで)塩基配列…1

86

①「(Rで)塩基配列解析」で通常示している形式に変更しているだけで、中身は実質同じです。

Page 87: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E10:(Rで)塩基配列…2

87

①「(Rで)塩基配列解析」で通常示している形式に変更しているだけで、中身は実質同じです。唯一の違いとして、②factor関数が初めて出現しています。クラスラベル情報を与える際に、factor関数実行結果として見えるような形式を要求されることもしばしばあります。MLSeqもその一派ですので、「factor実行結果はこんな感じ」というのを見ておくとよい。赤枠内の60-69行目をコピペ実行。

Page 88: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E10:(Rで)塩基配列…3

88

①「(Rで)塩基配列解析」で通常示している形式に変更しているだけで、中身は実質同じです。唯一の違いとして、②factor関数が初めて出現しています。クラスラベル情報を与える際に、factor関数実行結果として見えるような形式を要求されることもしばしばあります。MLSeqもその一派ですので、「factor実行結果はこんな感じ」というのを見ておくとよい。赤枠内の60-69行目をコピペ実行。実行結果。②factor(data.cl)実行結果に相当する部分。②

Page 89: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E10:(Rで)塩基配列…4

89

①「(Rで)塩基配列解析」で通常示している形式に変更しているだけで、中身は実質同じです。唯一の違いとして、②factor関数が初めて出現しています。クラスラベル情報を与える際に、factor関数実行結果として見えるような形式を要求されることもしばしばあります。MLSeqもその一派ですので、「factor実行結果はこんな感じ」というのを見ておくとよい。赤枠内の60-69行目をコピペ実行。実行結果。②factor(data.cl)実行結果に相当する部分。③Levelsというのが見えるのがポイントではありますが…

Page 90: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E10:(Rで)塩基配列…5

90

①「(Rで)塩基配列解析」で通常示している形式に変更しているだけで、中身は実質同じです。唯一の違いとして、②factor関数が初めて出現しています。クラスラベル情報を与える際に、factor関数実行結果として見えるような形式を要求されることもしばしばあります。MLSeqもその一派ですので、「factor実行結果はこんな感じ」というのを見ておくとよい。赤枠内の60-69行目をコピペ実行。実行結果。②factor(data.cl)実行結果に相当する部分。③Levelsというのが見えるのがポイントではありますが、④これは「data.cl中のユニークな文字列としてはこれらがあります」という情報にすぎません。

Page 91: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

91

Page 92: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E11:MLSeqのノリ1

92

最後は、①MLSeqの書き方に合わせたコード。E10との違いは、②S4Vectorsというパッケージをロードして(読み込んで)、このパッケージが提供する③DataFrame関数を用いて…

Page 93: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E11:MLSeqのノリ2

93

最後は、①MLSeqの書き方に合わせたコード。E10との違いは、②S4Vectorsというパッケージをロードして(読み込んで)、このパッケージが提供する③DataFrame関数を用いて、E10の最後に示した④factor(data.cl)の実行結果情報を、⑤condという列名でデータフレーム形式で格納したものを、⑥classというオブジェクト名で取り扱えるようにしています。74-86行目をコピペ実行。

⑤⑥

Page 94: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E11:MLSeqのノリ3

94

最後は、①MLSeqの書き方に合わせたコード。E10との違いは、②S4Vectorsというパッケージをロードして(読み込んで)、このパッケージが提供する③DataFrame関数を用いて、E10の最後に示した④factor(data.cl)の実行結果情報を、⑤condという列名でデータフレーム形式で格納したものを、⑥classというオブジェクト名で取り扱えるようにしています。74-86行目をコピペ実行。実行結果。⑥classの、⑦中身は、⑧DataFrameという形式で58行×1列からなる。

Page 95: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E11:MLSeqのノリ4

95

最後は、①MLSeqの書き方に合わせたコード。E10との違いは、②S4Vectorsというパッケージをロードして(読み込んで)、このパッケージが提供する③DataFrame関数を用いて、E10の最後に示した④factor(data.cl)の実行結果情報を、⑤condという列名でデータフレーム形式で格納したものを、⑥classというオブジェクト名で取り扱えるようにしています。74-86行目をコピペ実行。実行結果。⑥classの、⑦中身は、⑧DataFrameという形式で58行×1列からなる。③DataFrame形式で④factor(data.cl)の実行結果情報を、⑤condという列名で格納したもの、という意味が⑨や⑩を眺めることでよくわかると思います。

③⑩

Page 96: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E11:MLSeqのノリ5

96

最後は、①MLSeqの書き方に合わせたコード。E10との違いは、②S4Vectorsというパッケージをロードして(読み込んで)、このパッケージが提供する③DataFrame関数を用いて、E10の最後に示した④factor(data.cl)の実行結果情報を、⑤condという列名でデータフレーム形式で格納したものを、⑥classというオブジェクト名で取り扱えるようにしています。74-86行目をコピペ実行。実行結果。⑥classの、⑦中身は、⑧DataFrameという形式で58行×1列からなる。③DataFrame形式で④factor(data.cl)の実行結果情報を、⑤condという列名で格納したもの、という意味が⑨や⑩を眺めることでよくわかると思います。⑪行数と列数を返すdim関数や、行列の列名を返すcolnames関数の実行結果を眺めるほうが分かり易いヒトもいるでしょう。

参考

Page 97: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

97

Page 98: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E12:論文のAbstract1

98

①E11のコードで、何故②data.clという簡単なラベル情報ではなく、わざわざ③factor(data.cl)として、④DataFrameという関数を用いて、⑤classというオブジェクトを作成しているのか?の理由は…

Page 99: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E12:論文のAbstract2

99

①E11のコードで、何故②data.clという簡単なラベル情報ではなく、わざわざ③factor(data.cl)として、④DataFrameという関数を用いて、⑤classというオブジェクトを作成しているのか?の理由は、⑥本科目で主に用いる、⑦MLSeqパッケージ(のBeginner’s guide)中でそのような書き方がなされているからです。⑧PubMedへのリンク先をクリック。

⑦ ⑧

Page 100: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E12:論文のAbstract3

100

こんな感じになります。Rパッケージの論文の場合は、(そういう探し方をしているからかもしれませんが…)①のようにタイトル中にパッケージ名が含まれることが経験上多いです。

Page 101: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E12:論文のAbstract4

101

こんな感じになります。Rパッケージの論文の場合は、(そういう探し方をしているからかもしれませんが…)①のようにタイトル中にパッケージ名が含まれることが経験上多いです。私は②の文章を見て「お、色々な方法を試せるパッケージでよさそう」と興味を持ちます。

Page 102: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E12:論文のAbstract5

102

こんな感じになります。Rパッケージの論文の場合は、(そういう探し方をしているからかもしれませんが…)①のようにタイトル中にパッケージ名が含まれることが経験上多いです。私は②の文章を見て「お、色々な方法を試せるパッケージでよさそう」と興味を持ちます。さらに、③Rパッケージの提供元がBioconductorであることを認識して、「もう一つの主要な提供元であるCRANよりも審査基準が厳しいので、一定のクオリティは担保されている(のでOK)」と判断しました。

Page 103: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

103

Page 104: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E13:Bioconductor1

104

次は、Rパッケージ提供サイトの1つであるBioconductorの①MLSeqパッケージへのリンク先をクリック。

Page 105: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E13:Bioconductor2

105

次は、Rパッケージ提供サイトの1つであるBioconductorの①MLSeqパッケージへのリンク先をクリック。こんな感じになります。②Bioconductorの、③MLSeqのページです。④Biocというのは、Bioconductorのことです。⑤6 yearsと書いてあるので、このパッケージ(MLSeq)はBioconductor上で6年前から提供されていることが分かります。⑥MLSeq開発者が自由に名付けた、このパッケージのタイトル。

Page 106: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E13:Bioconductor3

106

①少しページ下部に移動。②を見ることで、少なくともSVM, bagSVM, Random Forest, and CARTという4つの方法をMLSeqパッケージで利用可能だと判断する。bagSVMやCARTというのは、現時点ではよくわからないが、心にゆとりがあるときなどに試してみようかなという程度で心に留めておく。

Page 107: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E13:Bioconductor4

107

①少しページ下部に移動。②を見ることで、少なくともSVM, bagSVM, Random Forest, and CARTという4つの方法をMLSeqパッケージで利用可能だと判断する。bagSVMやCARTというのは、現時点ではよくわからないが、心にゆとりがあるときなどに試してみようかなという程度で心に留めておく。③原著論文情報。④の行にも書かれているが、R上では⑤のコマンドをコピペ実行することで、③の情報を得ることができます。

④⑤

参考

Page 108: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E13:Bioconductor5

108

①少しページ下部に移動。②を見ることで、少なくともSVM, bagSVM, Random Forest, and CARTという4つの方法をMLSeqパッケージで利用可能だと判断する。bagSVMやCARTというのは、現時点ではよくわからないが、心にゆとりがあるときなどに試してみようかなという程度で心に留めておく。③原著論文情報。④の行にも書かれているが、R上では⑤のコマンドをコピペ実行することで、③の情報を得ることができます。⑥つまりこういうこと。

参考

Page 109: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

109

Page 110: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E14:Installと確認1

110

赤枠内が、①このパッケージ(MLSeq)のインストール法に関する説明。

Page 111: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E14:Installと確認2

111

赤枠内が、①このパッケージ(MLSeq)のインストール法に関する説明。②このパッケージをインストールするには、③Rを起動して、④赤枠内のコードをコピペ実行せよ、ということです。パッケージのインストールは完了しているはずなのでやらなくてよい。「バイオスタティスティクス基礎論(岩田先生)」のところでも同様の解説がなされていますが、④の赤枠内は、BiocManagerというパッケージがなければインストールした後、⑤BiocManagerパッケージが提供する、⑥install関数を用いて、⑦MLSeqパッケージをインストールせよ、という指令です。

② ③

⑤ ⑥ ⑦

Page 112: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E14:Installと確認3

112

①今はE14のところ。各自のPC上に必要なパッケージ群が適切にインストールされているか確認します。②赤枠内を全員コピペ実行。

Page 113: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E14:Installと確認4

113

①今はE14のところ。各自のPC上に必要なパッケージ群が適切にインストールされているか確認します。②赤枠内を全員コピペ実行。③2回目のところが、④のような感じで何もメッセージが表示されていなければOK。そうでないヒトはチャット上にall宛てでエラーメッセージを示してください。恥ずかしがり屋さんはTA宛のみでもよいです。うまくいかない環境のヒトをあぶりだして、ここで一旦揃えるための措置です。

Page 114: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

114

Page 115: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E15:Documentation1

115

次は①Documentation。これが一番上にくるように②ページ下部に移動。

Page 116: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E15:Documentation2

116

次は①Documentation。これが一番上にくるように②ページ下部に移動。こんな感じ。③このパッケージのドキュメント(文書)を見たいなら、④のコマンドを打てと書いていますが、やる必要はない。

④③

Page 117: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E15:Documentation3

117

次は①Documentation。これが一番上にくるように②ページ下部に移動。こんな感じ。③このパッケージのドキュメント(文書)を見たいなら、④のコマンドを打てと書いていますが、やる必要はない。その理由は、④をコピペ実行して起動するウェブページのリンク先が、⑤のものと同じだからです。このあたりの話はつまらないかもしれないが、未知の状態で一人で探検しても孤独死するので重要です。テクニカルなことではなく、さっさと結果を出して生物学的な解釈などに重きを置きたいと思っていらっしゃるかもいるかもしれませんが、そもそも解析結果を出せなければその土俵にすら立てません。

Page 118: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E15:Documentation4

118

私は普段、①この一番上にあるものを参考にして使用法を学びます(ここでは①をDocumentと呼びます)。経験上、PDFファイル上にあるRコマンドをコピペ実行すると、エラー遭遇率が非常に高いです。②は対応するRスクリプトのテキストファイルですので、コピペ実行自体はこちらを利用するほうが無難です。

① ②

Page 119: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E15:Documentation5

119

私は普段、①この一番上にあるものを参考にして使用法を学びます(ここでは①をDocumentと呼びます)。経験上、PDFファイル上にあるRコマンドをコピペ実行すると、エラー遭遇率が非常に高いです。②は対応するRスクリプトのテキストファイルですので、コピペ実行自体はこちらを利用するほうが無難です。③は関数の入出力形式やオプションの説明に特化したリファレンスマニュアルです。調べたい関数名が既知の場合は、「?関数名」とか「help(関数名)」で関数の利用法を調べてもよいですが、③をざっと見ておけば、他にどのような関数が提供されているかを知ることができます。

Page 120: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

120

Page 121: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract1

121

①Document (Beginner’s guide)の説明を丁寧に行っていきます。初見のパッケージの場合は、大抵の場合①を丁寧に自力で読み込んでいかねばならないからです。「バイオスタティスティクス基礎論」や「機能ゲノム学」などで学んだ基本テクや基礎知識に加えて、適宜「google先生」に教えてもらい、それでも七転八倒しながらどうにか一通り解析結果を得ていくのが通常です。それでも「結果がなんか変」になる場合が多いため、自在に作成したシミュレーションデータなどで答え合わせをしていきます。

Page 122: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract2

122

MLSeqの①DocumentのPDFです。「字が小さすぎて読めない」という方は、②を押すなどして適宜拡大して眺めて下さい。

Page 123: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract3

123

MLSeqの①DocumentのPDFです。「字が小さすぎて読めない」という方は、②を押すなどして適宜拡大して眺めて下さい。半ページ分ほど下に移動して、③Abstractを眺めているところ。④RNA-seq用で、機械学習で分類を行う包括的なパッケージ、という概要を知る。③

Page 124: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract4

124

MLSeqの①DocumentのPDFです。「字が小さすぎて読めない」という方は、②を押すなどして適宜拡大して眺めて下さい。半ページ分ほど下に移動して、③Abstractを眺めているところ。④RNA-seq用で、機械学習で分類を行う包括的なパッケージ、という概要を知る。⑤できることの具体例。

Page 125: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract5

125

MLSeqの①DocumentのPDFです。「字が小さすぎて読めない」という方は、②を押すなどして適宜拡大して眺めて下さい。半ページ分ほど下に移動して、③Abstractを眺めているところ。④RNA-seq用で、機械学習で分類を行う包括的なパッケージ、という概要を知る。⑤できることの具体例。⑥入力はRNA-seqカウントデータで、前処理や様々な機械学習アルゴリズムを実行できる。

Page 126: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract6

126

MLSeqの①DocumentのPDFです。「字が小さすぎて読めない」という方は、②を押すなどして適宜拡大して眺めて下さい。半ページ分ほど下に移動して、③Abstractを眺めているところ。④RNA-seq用で、機械学習で分類を行う包括的なパッケージ、という概要を知る。⑤できることの具体例。⑥入力はRNA-seqカウントデータで、前処理や様々な機械学習アルゴリズムを実行できる。⑦前処理に関する詳細。E07やE08で触れたサンプル間のばらつきなどを補正する機能もある。

Page 127: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract7

127

⑦が一番上になるようにしただけ。

Page 128: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract8

128

⑦が一番上になるようにしただけ。⑧データ変換(transformation)によって、離散型のRNA-seqデータを(連続型の)マイクロアレイデータのような数値分布に近づけることができる。それは、昔流行っていたマイクロアレイ用の分類アルゴリズム(SVMやRandom Forest)を適用可能にすることを意味する。

Page 129: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract9

129

⑦が一番上になるようにしただけ。⑧データ変換(transformation)によって、離散型のRNA-seqデータを(連続型の)マイクロアレイデータのような数値分布に近づけることができる。それは、昔流行っていたマイクロアレイ用の分類アルゴリズム(SVMやRandom Forest)を適用可能にすることを意味する。ここでのデータ変換は、ただの対数変換(log変換)のことを指します。ギョーカイに長くいるヒトはすぐに分かります。いないヒトでも、このパッケージマニュアルを読み進めていくと、データ変換の実体が対数変換であることがわかります。対数変換するとデータが正規分布っぽくなるので、正規分布を仮定したアルゴリズムが適用可能になるということです。

Page 130: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract10

130

⑦が一番上になるようにしただけ。⑧データ変換(transformation)によって、離散型のRNA-seqデータを(連続型の)マイクロアレイデータのような数値分布に近づけることができる。それは、昔流行っていたマイクロアレイ用の分類アルゴリズム(SVMやRandom Forest)を適用可能にすることを意味する。ここでのデータ変換は、ただの対数変換(log変換)のことを指します。ギョーカイに長くいるヒトはすぐに分かります。いないヒトでも、このパッケージマニュアルを読み進めていくと、データ変換の実体が対数変換であることがわかります。対数変換するとデータが正規分布っぽくなるので、正規分布を仮定したアルゴリズムが適用可能になるということです。実際、E01で示した、⑨の論文中でも…

Page 131: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract11

131

⑦が一番上になるようにしただけ。⑧データ変換(transformation)によって、離散型のRNA-seqデータを(連続型の)マイクロアレイデータのような数値分布に近づけることができる。それは、昔流行っていたマイクロアレイ用の分類アルゴリズム(SVMやRandom Forest)を適用可能にすることを意味する。ここでのデータ変換は、ただの対数変換(log変換)のことを指します。ギョーカイに長くいるヒトはすぐに分かります。いないヒトでも、このパッケージマニュアルを読み進めていくと、データ変換の実体が対数変換であることがわかります。対数変換するとデータが正規分布っぽくなるので、正規分布を仮定したアルゴリズムが適用可能になるということです。実際、E01で示した、⑨の論文中でも、”For the general-purpose classifiers, we provided log-transformed counts, log2(count + 1).”のような感じで、general-purpose classifiersについてはlog変換後のデータが与えられています。

Page 132: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract12

132

⑧データ変換(transformation)についてわざわざ言及している理由が、⑨に書かれている。昔流行ったマイクロアレイデータ用の90もの分類器(classifier)がMLSeqパッケージで利用可能!

Page 133: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract13

133

⑧データ変換(transformation)についてわざわざ言及している理由が、⑨に書かれている。昔流行ったマイクロアレイデータ用の90もの分類器(classifier)がMLSeqパッケージで利用可能!⑩さらにMLSeqは、PLDAやNBLDAのようなdiscrete-based classifierも提供されている。赤下線部内にあるPoissonやnegative binomialはRNA-seqカウントデータをよく表現するモデルです(2020年5月26日の機能ゲノム学の講義資料)。

Page 134: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract14

134

①discrete-based classifiersって何よ?とイラっとし始めるヒトも出てくるだろうが、まずは落ち着いて状況を整理。

Page 135: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract15

135

①discrete-based classifiersって何よ?とイラっとし始めるヒトも出てくるだろうが、まずは落ち着いて状況を整理。②also includesという表現から、直前の文中の③microarray-based classifiersとは異なるものであると判断できる。また、④discrete RNA-seq dataという表現から…

①②③

Page 136: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract16

136

①discrete-based classifiersって何よ?とイラっとし始めるヒトも出てくるだろうが、まずは落ち着いて状況を整理。②also includesという表現から、直前の文中の③microarray-based classifiersとは異なるものであると判断できる。また、④discrete RNA-seq dataという表現から、⑤PLDAや⑥NBLDAのような、①discrete-based classifiersは、④discreteRNA-seq dataをそのまま入力として受け付けてくれるのだろうと予想する。つまりデータ変換なし、ということ。④

⑤⑥

Page 137: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract17

137

①discrete-based classifiersって何よ?とイラっとし始めるヒトも出てくるだろうが、まずは落ち着いて状況を整理。②also includesという表現から、直前の文中の③microarray-based classifiersとは異なるものであると判断できる。また、④discrete RNA-seq dataという表現から、⑤PLDAや⑥NBLDAのような、①discrete-based classifiersは、④discrete RNA-seq dataをそのまま入力として受け付けてくれるのだろうと予想する。つまりデータ変換なし、ということ。同時に、discreteの反対語はcontinuousとかindiscreteなので、もしcontinuousclassifiersという表現が出てきたら、それは③microarray-based classifiersと同じ意味なのだろうと判断する。こんな感じで表現の揺れに対する耐性もつけていくとよい。

Page 138: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract18

138

ここまでのまとめ

Microarray-based classifiers

(continuous classifiers)

(general-purpose classifiers)

(caret-based classifiers)

Discrete-based classifiers

(discrete classifiers)

Classifiers

分類器

データ変換の必要性

あり

MLSeqパッケージ(入力はRNA-seqカウントデータ)

なし

分類器の例 PLDA, NBLDAなどvoom-based discriminant

analysis

Page 139: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract19

139

①前処理されたデータに対して、研究者は分類モデルを構築し、これらのモデルにパラメーター最適化を適用し、モデルのパフォーマンスを評価し、異なる分類モデルのパフォーマンスを比較できます。Google翻訳結果のコピペです。「モデル」という表現が難解かもしれませんが、その場合は「方法」と解釈すればよいです。

Page 140: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract20

140

①前処理されたデータに対して、研究者は分類モデルを構築し、これらのモデルにパラメーター最適化を適用し、モデルのパフォーマンスを評価し、異なる分類モデルのパフォーマンスを比較できます。Google翻訳結果のコピペです。「モデル」という表現が難解かもしれませんが、その場合は「方法」と解釈すればよいです。②「構築したモデルを用いて、テスト用サンプルのクラスラベルを予測することができる」と書いています。独特の表現方法なので難解かもしれませんが、要は「作った分類器で、未知サンプルが癌なのか正常なのか判定できまっせ」ということです。③は入力データに関する事柄であり、大まかに解説済み(E01)。

Page 141: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E16:Abstract21

141

④がAbstractの残りの部分。⑤vignette(ビネットとかビグネットと読むらしい)は、今見ているこのdocumentのことです。Documentの書き方のノリはパッケージによって随分異なりますが、まずは⑤このビネット(document)の内容に沿って行い、実践経験を積みます。

Page 142: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

142

Page 143: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents1

143

Documentの2ページ目。①Contentsのところで全体像を把握します。実用上は、②の赤枠内が一通りできれば十分。

Page 144: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents2

144

Documentの2ページ目。①Contentsのところで全体像を把握します。実用上は、②の赤枠内が一通りできれば十分。③で解析データファイルを読み込ませてラベル情報(どのサンプルがどの群に属するかという情報)を割り当てる。④未知サンプルの分類が一番やりたいことだが、そんなに簡単に手に入るものではない。

Page 145: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents3

145

Documentの2ページ目。①Contentsのところで全体像を把握します。実用上は、②の赤枠内が一通りできれば十分。③で解析データファイルを読み込ませてラベル情報(どのサンプルがどの群に属するかという情報)を割り当てる。④未知サンプルの分類が一番やりたいことだが、そんなに簡単に手に入るものではない。なのでこの業界でよくやられる手段が⑤。ラベル情報既知の、③のサンプル群の一部を、テスト用サンプルとして活用すべく切り分ける(splitする)作業を⑤で行います。具体的には、③の中から20%分程度のサンプルをテストセットとして、④の部分で用います。

Page 146: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents4

146

Documentの2ページ目。①Contentsのところで全体像を把握します。実用上は、②の赤枠内が一通りできれば十分。③で解析データファイルを読み込ませてラベル情報(どのサンプルがどの群に属するかという情報)を割り当てる。④未知サンプルの分類が一番やりたいことだが、そんなに簡単に手に入るものではない。なのでこの業界でよくやられる手段が⑤。ラベル情報既知の、③のサンプル群の一部を、テスト用サンプルとして活用すべく切り分ける(splitする)作業を⑤で行います。具体的には、③の中から20%分程度のサンプルをテストセットとして、④の部分で用います。残りの80%分程度のサンプルは、⑥モデル構築用(分類器の作成用)の訓練データとして用いられます。これがトレーニングセット(training set)と呼ばれるものです。

Page 147: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents5

147

⑤で分割した80%分程度のトレーニングセットのデータを用いて、モデル構築(分類器の作成)を行うわけですが、そもそもどのようなものが利用可能か、そしてそれはどのようにして指定するのかを予め知っておく必要があります。それを知る手段が⑦に書かれています。「SVMやRandom Forest (RF)という機械学習アルゴリズムの名前」と「モデル」との対応関係がまだよくわからないというヒトも多いかもしれません。私もそのあたりは曖昧ですが、例えば「SVMを用いてモデル構築を行う」みたいな言い方をします。

Page 148: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents6

148

⑤で分割した80%分程度のトレーニングセットのデータを用いて、モデル構築(分類器の作成)を行うわけですが、そもそもどのようなものが利用可能か、そしてそれはどのようにして指定するのかを予め知っておく必要があります。それを知る手段が⑦に書かれています。「SVMやRandom Forest (RF)という機械学習アルゴリズムの名前」と「モデル」との対応関係がまだよくわからないというヒトも多いかもしれません。私もそのあたりは曖昧ですが、例えば「SVMを用いてモデル構築を行う」みたいな言い方をします。⑦でどの機械学習アルゴリズムを用いるかによって、選択する正規化(Normalization)や変換(transformation)の手段も異なるので、そのあたりが⑧で解説されています。

Page 149: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents7

149

選択した機械学習アルゴリズムによっては、⑨さらに様々な指定をせねばなりません。例えば、機械学習アルゴリズムとしてSVMを選択した場合は、ベーシックな線形SVM(svmLinear)にするのか、あるいは高次元空間で分類器を学習させるカーネルトリックという手段を用いるのか、カーネルトリックを利用する場合にはどのようなカーネル関数を用いるかを指定せねばなりません。

Page 150: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents8

150

選択した機械学習アルゴリズムによっては、⑨さらに様々な指定をせねばなりません。例えば、機械学習アルゴリズムとしてSVMを選択した場合は、ベーシックな線形SVM(svmLinear)にするのか、あるいは高次元空間で分類器を学習させるカーネルトリックという手段を用いるのか、カーネルトリックを利用する場合にはどのようなカーネル関数を用いるかを指定せねばなりません。カーネル関数にもいろいろありますが、svmPolyとして指定する多項式カーネル(polynomial kernel)と、svmRadialとして指定するRBFカーネル(Gaussian カーネルとも呼ばれるらしい)がMLSeq上で利用可能です。RBFはradial basis functionの略です。

Page 151: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents9

151

(SVMやdeep learningなどで)よく議論される事柄として、ハイパーパラメータ(hyper-parameters)と呼ばれるものがあります。これはユーザが予め指定しなければいけないパラメータのことです。例えばRBFカーネルを利用する際によく議論されるハイパーパラメータとしては、「誤分類をどの程度許容するかというコストパラメータC(小さい値ほど誤分類の許容度が大きい)」と「クラス分類の境界をどの程度複雑にするかを指定するgammaと呼ばれるパラメータ(小さい値ほど複雑度が低い)」の2つが挙げられます。

Page 152: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E17:Contents10

152

(SVMやdeep learningなどで)よく議論される事柄として、ハイパーパラメータ(hyper-parameters)と呼ばれるものがあります。これはユーザが予め指定しなければいけないパラメータのことです。例えばRBFカーネルを利用する際によく議論されるハイパーパラメータとしては、「誤分類をどの程度許容するかというコストパラメータC(小さい値ほど誤分類の許容度が大きい)」と「クラス分類の境界をどの程度複雑にするかを指定するgammaと呼ばれるパラメータ(小さい値ほど複雑度が低い)」の2つが挙げられます。もちろん、⑨のところでハイパーパラメータ(この場合はCとgamma)の最適値を自動で得ることができます。ハイパーパラメータの最適値を自動で探索(search)する際に一般的によく用いられる手段がグリッドサーチです。

Page 153: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

153

Page 154: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E18:Introduction1

154

①Introductionから順に説明していきます。①をクリックしてもよいし、下矢印キーを押していってもよい。

Page 155: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E18:Introduction2

155

①Introductionから順に説明していきます。①をクリックしてもよいし、下矢印キーを押していってもよい。こんな感じになります。②特に新しい情報はない。③MLSeqパッケージは、④を打ち込むことでロード(読み込む)することができると書いてある。④の作業自体は実行済み。

Page 156: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E18:Introduction3

156

①Introductionから順に説明していきます。①をクリックしてもよいし、下矢印キーを押していってもよい。こんな感じになります。②特に新しい情報はない。③MLSeqパッケージは、④を打ち込むことでロード(読み込む)することができると書いてある。④の作業自体は実行済み。⑤E14でやっています。

Page 157: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

157

Page 158: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…1

158

次は、①入力データの準備。②MLSeqに入力として与えるのは、RNA-seqカウント行列(E01)とクラスラベル情報(どのサンプルが癌 or 正常なのかという情報;E09-E11)であることは既知。

Page 159: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…2

159

次は、①入力データの準備。②MLSeqに入力として与えるのは、RNA-seqカウント行列(E01)とクラスラベル情報(どのサンプルが癌 or 正常なのかという情報;E09-E11)であることは既知。③これは「DESeqDataSetという形式で入力情報を取り扱う」のだと解釈。「機能ゲノム学」で紹介したSingleCellExperimentという形式のクラスオブジェクトと似たようなもの。

Page 160: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…3

160

④このあたりは、「そもそも入力の数値行列をどうやって作成するのよ?」というヒト向けの説明。

Page 161: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…4

161

④このあたりは、「そもそも入力の数値行列をどうやって作成するのよ?」というヒト向けの説明。2019年12月に公開した「乳酸菌NGS連載第14回」では、クラウド解析環境(Galaxyのことです)上で、⑤htseq-countを用いてカウント行列を得るやり方を紹介しています。

参考

Page 162: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…5

162

④このあたりは、「そもそも入力の数値行列をどうやって作成するのよ?」というヒト向けの説明。2019年12月に公開した「乳酸菌NGS連載第14回」では、クラウド解析環境(Galaxyのことです)上で、⑤htseq-countを用いてカウント行列を得るやり方を紹介しています。⑥このビネット(document)で取り扱う入力データに関する説明。Cervicalというのは子宮頸部という意味。714個のマイクロRNA (miRNAs)のカウントデータだが、714遺伝子とみなしてよい。このデータがE09-E11でも読み込んだsample51.txtと同じものです。

Page 163: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…6

163

⑦は、「E05のやり方2」と本質的に同じです。

Page 164: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…7

164

⑦は、「E05のやり方2」と本質的に同じです。⑧E19の121-124目をコピペ実行し、documentと同じくcervicalという名前で取り扱う。

Page 165: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…8

165

①E19の126行目をコピペ実行して見えているものが…

Page 166: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…9

166

①E19の126行目をコピペ実行して見えているものが、②documentの4ページ目上部と同じものです。③「first 6 features」に相当するのが、④「最初の6行分」。「行(row)」は、遺伝子だったり、miRNAだったり転写物だったり多様なので、featureという表現で統一させている。

Page 167: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E19:Preparing…10

167

⑤subjectsは、患者という意味。⑥「10列」の部分に相当します。

⑤⑥

Page 168: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

168

Page 169: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム1

169

①Cervical dataの実体であるcervicalオブジェクトは、②data.frameという形式です。

②①

Page 170: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム2

170

①Cervical dataの実体であるcervicalオブジェクトは、②data.frameという形式です。③データの形式を調べるclass関数の実行結果も、data.frame形式となっていることが分かります。

Page 171: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム3

171

①Cervical dataの実体であるcervicalオブジェクトは、②data.frameという形式です。③データの形式を調べるclass関数の実行結果も、data.frame形式だとなっていることが分かります。今の場合は、cervicalというオブジェクトがdata.frameだと解説されているので、④is.data.frame関数を用いて「データフレームという形式かどうか(YesならTrue、NoならFalse)」を調べてもよいです。また、「matrixという形式かどうか」を調べるis.matrix関数を用いてFalseという結果が返されることを確認したりすれば、より理解が深まるでしょう。R上で行列演算を行う場合、data.frame形式のままだと非常に遅いので、as.matrixという関数を用いてmatrix形式にして演算を高速化する小技はわりと多くのヒトが使います。

参考

Page 172: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム4

172

②③④

①では、クラスラベル情報を作成せねばならないので、②S4Vectorsというパッケージが提供する、③DataFrameという関数を用いて作成し、④DataFrameという形式のオブジェクトに格納するよ、と述べている。

Page 173: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム5

173

①では、クラスラベル情報を作成せねばならないので、②S4Vectorsというパッケージが提供する、③DataFrameという関数を用いて作成し、④DataFrameという形式のオブジェクトに格納するよ、と述べている。E11と基本的に同じだが、このdocumentでは、⑤のような記述になっている。具体的には、⑥最初の29列分がNon-tumorなので”N”、⑦残りの29列分がTumorなので”T”としている。また、作成したデータフレームの列名を⑧conditionにしている。

⑦⑧

Page 174: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム6

174

⑤が上部にくるように移動。ぱっと見で、⑧でconditionと書いているので、⑨の列名部分もそうなっているのだろう、的なことはわかる。私の経験上、自分のデータを試す際に、「どこをどのようにどの程度まで自由に変更してよいのか不安」でした。結構ミスをしまくって、「なんだそういうことだったのかorz…」ということも多々ありました。E11の当該部分と比較して、これくらいまでは許容してもらえるという感覚を掴んでおくとよいでしょう。

Page 175: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム7

175

少しページ上部に戻っています。①の部分の解説です。

参考

Page 176: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム8

176

少しページ上部に戻っています。①の部分の解説です。これは、「データフレーム形式のオブジェクトを作成する際に、②data.frameという名前のより一般的な関数が存在する。おそらくそれでもうまくいくだろうが、予期しないエラーを防ぐため③④DataFrame関数を利用することを勧める」ということです。

参考

Page 177: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム9

177

少しページ上部に戻っています。①の部分の解説です。これは、「データフレーム形式のオブジェクトを作成する際に、②data.frameという名前のより一般的な関数が存在する。おそらくそれでもうまくいくだろうが、予期しないエラーを防ぐため③④DataFrame関数を利用することを勧める」ということです。ちなみに④の部分を②の関数で置き換えたものが…

参考

Page 178: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム10

178

少しページ上部に戻っています。①の部分の解説です。これは、「データフレーム形式のオブジェクトを作成する際に、②data.frameという名前のより一般的な関数が存在する。おそらくそれでもうまくいくだろうが、予期しないエラーを防ぐため③④DataFrame関数を利用することを勧める」ということです。ちなみに④の部分を②の関数で置き換えたものが、⑤のコードです。

参考

Page 179: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E20:データフレーム11

179

少しページ上部に戻っています。①の部分の解説です。これは、「データフレーム形式のオブジェクトを作成する際に、②data.frameという名前のより一般的な関数が存在する。おそらくそれでもうまくいくだろうが、予期しないエラーを防ぐため③④DataFrame関数を利用することを勧める」ということです。ちなみに④の部分を②の関数で置き換えたものが、⑤のコードです。コピペ実行結果。⑥見た目が多少変わっていますが、確かに⑦data.frame形式ですね。

参考

Page 180: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

180

Page 181: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data1

181

ビネット(document)の4ページ目下部にある、①Splitting the dataに移行します。

Page 182: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data2

182

ビネット(document)の4ページ目下部にある、①Splitting the dataに移行します。②では、58サンプルからなる子宮頸がんの発現データ(cervical data)を、トレーニングセットとテストセットに分割する。トレーニングセットは分類器(classification models)の構築に利用し、テストセットは構築したモデルの性能評価に利用すると書かれています。

Page 183: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data3

183

③通常は全サンプルの70%をトレーニングセットとして、残りの30%をテストセットとして利用する。しかし、データセット中のサンプル数が少ない場合は、分割比(split ratio)を50%程度まで少なくできると書いています。

Page 184: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data4

184

③通常は全サンプルの70%をトレーニングセットとして、残りの30%をテストセットとして利用する。しかし、データセット中のサンプル数が少ない場合は、分割比(split ratio)を50%程度まで少なくできると書いています。④逆にサンプル数が(200とか500とか)十分に多い場合は、トレーニングセットの割合を増やしてもよいだろう。基本的な考え方としては、信頼度の高いモデルを得つつ、テストセットで評価できる数もある程度キープできる値にするといいんじゃない、ということ。

Page 185: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data5

185

4ページ目最終行付近の⑤と、5ページ目最初のほうの⑥では、取り扱う58サンプルの場合に90%をトレーニングセットとするとどうなるかを説明している。

Page 186: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data6

186

4ページ目最終行付近の⑤と、5ページ目最初のほうの⑥では、取り扱う58サンプルの場合に90%をトレーニングセットとするとどうなるかを説明している。この場合は、58*0.9 = 52.2なので、52サンプル分の多いデータでモデル構築(分類器の作成)を行える。それゆえ、それなりに信頼度の高いモデルにはなるものの、テストセットに供することのできるサンプル数が6しかないので、誤分類1つあたりの影響度が1/6 = 0.16666…となり高くなる。

Page 187: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E21:Splitting the data7

187

⑦たまたま運悪く失敗した1つの例の影響度の大きさという点も考慮してデータセットの分割を行わないといけません。

Page 188: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

188

Page 189: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番1

189

①5ページ目の分割の具体的な作業に移行します。②DESeq2パッケージ自体は、RNA-seqカウントデータの発現変動解析用です。

Page 190: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番2

190

①5ページ目の分割の具体的な作業に移行します。②DESeq2パッケージ自体は、RNA-seqカウントデータの発現変動解析用です。しかし、③でも書いているように発現変動解析自体は行いません。DESeq2パッケージを②であえて読み込んでいる理由は、このパッケージが提供するDESeqDataSetFromMatrixという関数を用いて、DESeqDataSetという形

式のオブジェクトを作成するためです。

Page 191: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番3

191

このデータセットは、サンプルごとに714

個のfeatures(正確にはmicroRNAs)の発現データがありますが、④全features

(全ての行のデータ)を用いると計算コストがかかるので、サンプル間で変動(variances)の大きい上位100 features

のみを利用する、と書いています。

Page 192: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番4

192

⑥⑦

⑤では、⑥全714 featuresの分散情報

を降順(大きい順)にソートし、⑦上位100遺伝子分のデータのみ抽出し…

Page 193: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番5

193

⑤では、⑥全714 featuresの分散情報

を降順(大きい順)にソートし、⑦上位100遺伝子分のデータのみ抽出し、⑧ncol(data)で表される全サンプル数に相当する数(つまり58)の30%に相当する数そのもの(つまり58*0.3 = 17.4)だと

少数を含んでしまうので、切り上げ(ceiling)で得られた整数情報(つまり18)を取得し、⑨最後に、1から58の数値の中から、18個分をランダムに非復元抽出した結果をindというオブジェクト

に格納している。

⑧⑨

Page 194: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番6

194

これはPDFファイルだが、おかまいなしに①赤枠内を一気にコピペ実行すると…

Page 195: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番7

195

これはPDFファイルだが、おかまいなし

に①赤枠内を一気にコピペ実行すると、②最終的にテストセットとして用いる列番号情報の数値ベクトルが得られる。

Page 196: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番8

196

①一気にコピペで答えが得られたとしても、最初のうちはstep-by-stepで理解し

ていくほうがよいと思います。以降のスライドでは、分解して示せるところを示していきます。

参考

Page 197: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番9

197

①E22。143-146行目はRStudioを再起動したヒト用。②149行目は、apply関数を用いて714行×58列からなるcervical

の各行(MARGIN=1)に対して、分散を計算するvarを、na.rm=Tオプションつきで実行した結果をhogeに格納している。③150行目のlength(hoge)でhogeの要素数が714個であり、④151行目のhead(hoge)で最初の6個分の分散の値

を表示している。①

参考

Page 198: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番10

198

①次は153行目のsort関数のところ。149行目で算出した遺伝子ごとの分散情報hogeを、②154行目で(decreasingにするかどうかのオプションをTrueとして)sort関数を実行した結果をvarsに格納している。ソートしただけなので、③varsの要素数は当然714個で不変。ソートしたので、④最初の6個分の分散の値は非

常に大きいことがわかる。

参考

Page 199: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番11

199

①次は158行目のnames属性のところ。分散の大きい順にソートしたvarの遺伝子名情報部分であるnames(vars)に対する操作。②最初の6個の遺伝子名(feature names)を表示。このノリがわかれば、③が分散の大きい上位100個

分の遺伝子名に相当することがわかる。

参考

Page 200: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番12

200

①次は163行目の行列要素の抽出のところ。②cervicalから、topnameが持つ分散の大きい上位100個の遺伝子名に相当する行を抽出した結果をdataに格納している。2つの行列(cervicalとdata)の行数の違いは妥当ですね。

参考

Page 201: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番13

201

①次は168行目の、テストセットのサンプル数情報取得のところ。②ncol(data)で

全サンプル数情報を取得し、③でその30%に相当する数値(= 17.4)を取得。

最終的に欲しい「テストセットのサンプル数情報」は整数なので、ここでは④ceiling関数を用いて「小数点の切り上げ」を行っている。

参考

Page 202: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番14

202

①次は168行目の、テストセットのサンプル数情報取得のところ。②ncol(data)で

全サンプル数情報を取得し、③でその30%に相当する数値(= 17.4)を取得。

最終的に欲しい「テストセットのサンプル数情報」は整数なので、ここでは④ceiling関数を用いて「小数点の切り上

げ」を行っている。実装上は「小数点の切り捨て」を行うfloor関数でもよい。なぜ特に断りもなしにceilingのほうなのだろ

うと一瞬思うが、ここでは結果的に得られるトレーニングセットのサンプル数(58

– 18 = 40)に注目すれば納得できる。

後々分かってくるが、トレーニングセットを5分割して性能評価を行うので、トレーニングセットが5で割り切れる数にした

かったのだろうと想像すればよい。本当に学ぶべき事柄は、開発者の意図の読み解きのような論理的な思考回路であり、単に一通りやることではない!

Page 203: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E22:分割の本番15

203

①テストセットのサンプル番号取得のところ。②sample関数を用いて、③xで指定したものの中から、④sizeで指定した個数、⑤非復元抽出(replace=FALSE)している。

② ④

Page 204: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

Contents◼ E01:Introduction、利用可能なR package(caretやMLSeq)

◼ 解析データ概観 解析データ取得、sample51.txt/cervical.txt、発現や正規化の必要性

E05:ファイルの読込み、E06:Tips(小技)の復習

E07:列ごとの総和、E08:総和のばらつき

◼ ラベル情報の作成 E09:基本形、E10:(Rで)塩基配列解析のノリ、E11:MLSeqのノリ

◼ MLSeq(RNA-seq用の様々な分類アルゴリズムを実装したパッケージ) E12:論文のAbstract、E13:Bioconductor、E14:Installと確認、E15:Documentation

◼ MLSeqのDocument (Beginner's guide) E16:Abstract、E17:Contentsのところで全体像を把握する、E18:Introduction

E19:Preparing the input data、E20:データフレーム、E21:Splitting the data

E22:分割の本番、E23:set.seedで同じ乱数を発生させる

204

Page 205: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E23:set.seed1

205

スライドの手順通りやってきたヒトは、①と同じ結果になっているはずです。その理由は、「E22:分割の本番6」のスライド

において、同じ乱数を発生させたい場合に利用するset.seed(2128)というコマンドを含んで実行したからです。2128とい

う数字は、乱数を発生させる際に利用するタネ番号なので整数であれば何でもよい。

Page 206: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E23:set.seed2

206

①E23のところ。184行目のところでオブ

ジェクトの全消去を行い、一旦全てリセットしている。185-190行目までで必要最小限のスクリプトを実行して、②192行目にset.seedを埋め込んだ上で、③sample関数を実行している。184-194行目をコピペ実行。

Page 207: オーム情報解析(第1回)kadota/20200604_kadota.pdf · であるランダムフォレストを用いて解析 する実践例が解説される予定。④「機能 ゲノム学」では、遺伝子発現データの探

E23:set.seed3

207

①E23のところ。184行目のところでオブ

ジェクトの全消去を行い、一旦全てリセットしている。185-190行目までで必要最小限のスクリプトを実行して、②192行目にset.seedを埋め込んだ上で、③sample関数を実行している。184-194行

目をコピペ実行。④全員同じ実行結果が得られているはず…です。