バイオインフォマティクス人材育成カリキュラム ( 次世代シークエンサ ) 速習コース 3. データ解析基礎 3-3. R 各種パッケージ 東京大学 大学院農学生命科学研究科アグリバイオインフォマティクス教育研究ユニット門田幸二 ( かどたこうじ ) kadota@iu.a.u-tokyo.ac.jp http://www.iu.a.u-tokyo.ac.jp/~kadota/ 1
Contents 3-3. R 各種パッケージ 2014/09/08 15:00-18:15 中級 実習 パッケージ (Rで) 塩基配列解析 のインストール手順おさらい CRANとBioconductor 代表的なパッケージBiostringsの利用法 :library, search, objects 関数 作業スペース (workspace) の概念 Biostringsパッケージで利用可能な関数を概観 source 関数の利用 2
パッケージ (R で ) 塩基配列解析 のインストール手順おさらい (Rで) 塩基配列解析の推奨インストール手順をおさらい 大まかな手順は 1R 本体のインストール および2CRANおよびBioconductorから提供されている各種パッケージのインストール 1 2 3
R 本体とパッケージの関係 パソコンを購入しただけの状態では できることが限られています 通常は Office やウイルス撃退ソフトなどをインストールして利用します Linux をインストールしただけの状態では できることが限られています 通常は マッピングなど各種プログラムをインストールして利用します R 本体をインストールしただけの状態では できることが限られています NGS 解析を行う各種パッケージ ( またはライブラリ ) をインストールして利用します R 本体 と パッケージ の関係は パソコン と ソフト Microsoft EXCEL と アドイン Cytoscape と プラグイン のようなものという理解でよい 4
CRAN と Bioconductor R 上で利用可能なパッケージの 2 大リポジトリ ( 貯蔵庫 ) CRAN (The Comprehensive R Archive Network):5,802パッケージ Bioconductor:824パッケージ CRAN は生命科学分野に限らず様々な分野で利用されるパッケージを含む NGS 解析は 主に Bioconductor から提供されているパッケージを利用します 5
パッケージ (R で ) 塩基配列解析 のインストール手順おさらい (Rで) 塩基配列解析の推奨インストール手順は (Rで) 塩基配列解析の推奨インストール CRANおよび Bioconductorから提供されている各種パッケージを予めインス手順をおさらい 大まかな手順は 1R トールしておくこと たった本体のインストール および 3 行のコードで2つのリポジトリから提 2CRANお供されているパッケージ群を一度にインストール 有線よびBioconductorから提供されている LAN 接続環境でも数時間程度かかるのは数千ものパッケージをダウ各種パッケージのインストールンロードしてインストールする作業に相当する部分だから 6
塩基配列を入力としてコピペで翻訳配列を得ることができたのは Bioconductor から提供されている Biostrings というパッケージを予めインストールしておいたからです 7
塩基配列を入力としてコピペで翻訳配列を得ることができたのは Bioconductor から提供されている Biostrings というパッケージを予めインストールしておいたからです 入力 : 塩基配列ファイル (sample1.fasta) 出力 : アミノ酸配列ファイル (hoge1.fasta) 8
Biostrings パッケージが提供している様々な関数を利用するという宣言 Biostrings パッケージのインストールができていない状態で library 関数を実行しても Biostrings という名前のパッケージはありません という類のエラーが出て 目的の結果は得られません 9
Biostrings パッケージがインストールされていても library 関数で Biostrings パッケージを読み込まないと Biostrings パッケージで提供されている関数やサンプルデータを利用することができない 以下のコードは library(biostrings) の左側に # を入れて 実行されないように変更したもの 10
原因既知状態でエラーを出す ( すでに開いている R があれば一旦終了し ) R 起動直後の状態で下記コードをコピペ 11
原因既知状態でエラーを出す ファイル名 :rcode_20140908.txt 3 つの関数 (readdnastringset, translate, and writexstringset) が Biostrings パッケージから提供されているものであることが分かる また names 関数は Biostrings パッケージとは無関係であることもわかる 12
原因既知状態でエラーを出す names 関数がないと文句を言われてはいないが fastaオブジェクトがないと文句を言われている in_f で指定した FASTA 形式ファイルを読み込むための readdnastringset 関数実行段階でこけており 読み込み結果の fasta オブジェクトが作成されていないため 13
原因既知状態でエラーを出す search 関数は現在読み込んでいるパッケージをリストアップ このR 環境は 明示的に何も読み込んでいないのにいくつか表示されている これは R 起動時に基本的なパッケージ (stats, graphics, utils, base など ) を自動的に読み込んでいるから ちなみにnames 関数はbaseパッケージで提供されているのでいつでも利用可能 14
原因既知状態でエラーを出す translate 関数もないしfastaオブジェクトもないので translate(fasta) 実行結果の hogeオブジェクトもない ではどんなオブジェクトが利用可能かを調べるのが objects 関数 ls 関数でもよい 15
?names を実行することで names 関数が base パッケージから提供されていることがわかる 16
? 関数名で html マニュアルを見ることができるは search() で表示されているパッケージで提供されている関数のみ Biostrings パッケージを読み込んでない段階では Biostrings が提供している関数のマニュアルを見ることはできない 17
library(biostrings) 実行によって search() で表示されているパッケージリストに Biostrings を含むいくつかのパッケージが追加されていることが分かる この段階で?readDNAStringSet が有効となり html マニュアルが開くようになる 18
library(biostrings) 実行によって search() で表示されているパッケージリストに Biostrings を含むいくつかのパッケージが追加されていることが分かる この段階で?readDNAStringSet が有効となり html マニュアルが開くようになる 19
もう一度コピペ ファイル名 :rcode_20140908.txt # でコメントアウトしているにも関わらずエラーが出ないのは 以前に Biostrings パッケージを読み込んでいるから 20
利用可能なオブジェクトを表示 翻訳配列取得がエラーなく終了すると 4 つのオブジェクトが利用可能なようです 21
Contents 3-3. R 各種パッケージ 2014/09/08 15:00-18:15 中級 実習 パッケージ (Rで) 塩基配列解析 のインストール手順おさらい CRANとBioconductor 代表的なパッケージBiostringsの利用法 :library, search, objects 関数 作業スペース (workspace) の概念 Biostringsパッケージで利用可能な関数を概観 source 関数の利用 22
R の終了と作業スペース R Gui 画面右上の ボタン以外に q() でも R を終了させることができます 作業スペース (workspace) 保存の意味を説明します 23
R の終了と作業スペース R 環境 ( バージョンや OS) によって若干違うかもしれませんが 私の環境では はい を押すとそれ以上何も聞かれることなく終了します そして 作業ディレクトリだった hoge フォルダ中に.RData と.Rhistory という拡張子のついたファイルが自動生成されます 24
R の起動と作業スペースの読み込み 3 1 2 R を起動して (.RData ファイルが存在する hoge フォルダでなくてもいいことを示すために )1 作業ディレクトリをデスクトップにした状態で 2 利用可能なオブジェクトを調べます R 起動直後は利用可能なオブジェクトがないことを確認した上で 3 ファイル 作業スペースの読み込み を選択します 25
R の起動と作業スペースの読み込み 作業スペースイコール.RData ファイル です hoge フォルダ中の.RData ファイルを選択して 開く ボタンを押す これは Linux 環境構築時にダウンロードしてもらったイメージファイル BioLinux.ova と同じようなもの という理解でいいです 26
作業スペースをロードした直後の状態 自動的に load という関数と.RData が存在する場所 ( パス ) を C: ドライブから指示したものが表示されます つまり ファイル 作業スペースの読み込み が load 関数の記述に相当し その後の.Rdata の場所を選んで開くボタンを押す作業が load 関数の括弧の中身の記述に相当する ということです 27
作業スペースロード後の状態を確認 作業スペースロード後でも 作業ディレクトリ自体は以前行っていた hoge フォルダに変更されるわけではない 作業スペースをロードする主なご利益は 以前の作業スペースで利用可能だったオブジェクトが今の作業スペース中でも利用可能になる点です 得るのに非常に計算時間がかかるオブジェクトを再利用したい場合などに便利 search() 実行結果からわかるように 以前行っていた library(biostrings) は反映されないようです 28
作業スペースロード後の状態を確認 fasta オブジェクトも以前と同じものが利用可能であることが分かる fasta オブジェクトは Biostrings パッケージ中の関数を用いて得られたものであり Biostrings パッケージ中で定義された専用の形式 (AAStringSet) で記述されている それゆえ fasta の中身を表示する際に 自動的に必要なパッケージをロードしてくれるようだ 29
作業スペースロード後の状態を確認 fasta オブジェクト表示の際に必要なパッケージをロードする前後のパッケージリストを pre および post オブジェクトで保持している 集合演算は ロード後にどんなパッケージが利用可能になっているかを調べる場合にも便利 setdiff 関数は 左側のベクトル中で右側のベクトル中の要素として含まれないものを表示 intersect 関数は共通要素を表示 30
Contents 3-3. R 各種パッケージ 2014/09/08 15:00-18:15 中級 実習 パッケージ (Rで) 塩基配列解析 のインストール手順おさらい CRANとBioconductor 代表的なパッケージBiostringsの利用法 :library, search, objects 関数 作業スペース (workspace) の概念 Biostringsパッケージで利用可能な関数を概観 source 関数の利用 31
Biostrings で利用可能な関数を概観 Biostrings パッケージは 翻訳配列取得以外にも様々な塩基配列解析用の関数を提供しています 32
Biostrings で利用可能な関数を概観 相補鎖を取得する場合も 基本的な枠組みは翻訳配列取得と同じ 主要な関数が translate から complement に変わっただけです 33
Biostrings で利用可能な関数を概観 (R で ) 塩基配列解析上で示している項目はごく一部です Biostrings パッケージが提供している全ての関数を網羅しているわけでもありません 34
Biostrings で利用可能な関数を概観 必要なパッケージをロード のところで Biostrings を明示的に読み込んでいる場合は 項目の最後のところに Bioconductor の Biostrings パッケージのウェブサイトにリンクを張っている そこを眺めると Biostrings が提供している関数のリストを概観できます 35
( 実習用 PC 環境はインストール済みだが )Biostrings パッケージを個別にインストールしたい場合 下から 2 番目の Reference Manual は おそらくどのパッケージにも存在する 一番下の NEWS がないパッケージもある Biostrings はここが 5 つ存在するが パッケージによっては 1 つだけの場合もある ここは開発者次第 36
Biostrings で利用可能な関数を概観 DNA 配列を入力としてアミノ酸配列を出力することが分かっている translate 関数を眺めると Function 列と Description 列の意味がよくわかる 37
Contents 3-3. R 各種パッケージ 2014/09/08 15:00-18:15 中級 実習 パッケージ (Rで) 塩基配列解析 のインストール手順おさらい CRANとBioconductor 代表的なパッケージBiostringsの利用法 :library, search, objects 関数 作業スペース (workspace) の概念 Biostringsパッケージで利用可能な関数を概観 source 関数の利用 38
source 関数を利用 R でも Linux のシェルスクリプトっぽいことができます 基本手順は 1 コピペする一連のコードからなるファイル (rcode_translate.txt) を入力ファイル (sample1.fasta) と同じフォルダ上に保存し 2 作業ディレクトリの変更を行って 3source( rcode_translate.txt ) を実行 39
source 関数を利用 1rcode_translate.txt と入力ファイル sample1.fasta をデスクトップ上の hoge2 フォルダ中に保存し 2R を起動して作業ディレクトリの変更を行って 3source( rcode_translate.txt ) を実行した結果 Source 関数実行後に出力ファイル hoge1.fasta が生成されていることがわかる 40
source 関数を利用 うまくいく例 うまくいかない例 二重クォーテーションに注意!! 全角 ではなく 半角 です 丸括弧もそうです エラーメッセージが出ないので こういうこともあるという経験をしておかないと対処法が分からず苦悩します 41
source 関数を利用 Biostrings のようにパッケージを作成して提供する以外に 自作の R 関数をウェブ上で公開しているヒトもいる http://www.iu.a.u-tokyo.ac.jp/~kadota/r/r_functions.r 組織特異的発現パターン検出法 ROKU (Kadota et al., BMC Bioinformatics, 2006) を実行するための kadota_2006_bmc_bioinformatics 関数 RNA-seq 正規化法やシミュレーションデータ作成関数 (Kadota et al., AMB, 2012) etc 自分で関数を作成することもできる TCC パッケージ ver. 1.4 (Sun et al., 2013) で別の関数を実装済みで 現在は不使用 42
source 関数を利用 1. TCC パッケージ中の ROKU 関数を用いるやり方 2. source 関数で読み込んで kadota_2006_bmc_bioinformatics 関数を用いるやり方 43
source 関数を利用 (R で ) 塩基配列解析 のインストール手順おさらい http://www.bioconductor.org/bioclite.r をsource 関数で読み込むことで ネット経由で個別のパッケージのインストールを行うためのbiocLite 関数を利用できる 44