2019.03.12版 1
(Rで)塩基配列解析
基本的な利用法 Windows版
東京大学・大学院農学生命科学研究科
アグリバイオインフォマティクス教育研究プログラム
門田幸二(かどた こうじ)
[email protected]
http://www.iu.a.u-tokyo.ac.jp/~kadota/
到達目標:このスライドに書かれている程度のことは自在にできるようにしてエラーへ の対処法を身につける。 1. 必要なパッケージのインストールが正しくできているかどうかの自力での判定、およ び個別のパッケージのインストール 2. 作業ディレクトリの変更 3. テキストエディタで自在に入出力ファイル名の変更(どんなファイル名のものがどこ に生成されるかという全体像の把握) 4. 「ありがちなミス」のところで示しているエラーメッセージとその原因をきっちり理解 Chrome(推奨)で動作確認しています。ブラウザによっては若干挙動が異なります。Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
前提条件
3 2019.03.12版 ①の推奨手順通りにインストールができているつもりでも、実際に はできていなかったという事例が散見されます。実際の作業は② と③ですが、インストールが失敗しているパッケージについては、 ④を参考にして個別対応しましょう。パッケージ名や関数名のス ペルミスだったというオチも散見されますので気を付けましょう。 ② ① ③ ④Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
Rの起動
5
2019.03.12版
①R x64 3.X.Yをダブルクリックで起動
Rの起動
起動直後は画面いっぱいに開くので、①最大化を解除 ①
Rの起動
7
2019.03.12版
Rの起動
①赤枠で囲まれた部分が、②「Rコンソール画面」
① ②
Rの終了
9 2019.03.12版 通常のソフトウェアと同様、①右 上の×ボタンを押せばよい。② 「作業スペースを保存します か?」というダイアログが出る。こ の意味が不明な最初のうちは ③いいえでよい。間違って「は い」を押してしまっても.Rdata と.Rhistoryという2つのファイル が作成されるだけなので特に問 題はない ① ② ③Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
基本的な利用法
11
2019.03.12版
①数値計算ができます
(Rで)塩基配列解析
基本的な塩基配列解析から、NGSデータ取得、マッ ピング、統計解析、作図などができます。このウェブ ページは、サンプルデータと解析例を徹底的に充実 させています。項目数が非常に多いですが、慣れで す。項目だけのものや古いものも多数ありますContents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
13 2019.03.12版翻訳配列取得
①をクリックすると…
翻訳配列取得
15 2019.03.12版 ① ② ①をクリックすると、②のようなページに移動しま す。ここは、塩基配列を入力として、その翻訳され たアミノ酸配列を取得するための項目です。クリッ クする場所を間違えた場合は、③トップページへ ③hogeフォルダの作成
①デスクトップにあるhogeフォルダ中のファイル を解析するやり方として説明します。よく「hoge って何ですか?」と質問されるのですが、特別な 意味はありません。嫌ならugeでもなんでも好き な名前を自己責任でつけてください。 ①翻訳配列取得
17 2019.03.12版 ①項目名からもある程度わかるようになっていますが、 ②の部分にもう少し詳細な説明や解説があります。 ② ①翻訳配列取得
①1つの項目内には大抵複数の例題があります。 ここでは、②例題1をやっていきます。
①
入力ファイルの保存
19 2019.03.12版 ①例題1は、②sample1.fastaという ファイルを入力として利用します。赤 枠部分のみを拡大表示します。 ① ②入力ファイルの保存
①sample1.fastaを、先ほどデスクトップ上に 作成した②hogeフォルダ内に保存します。
② ①
入力ファイルの保存
21 2019.03.12版 ①sample1.fasta上で、右クリックで②「… リンク先を保存」。保存先はもちろん③ここ ③ ① ②入力ファイルの保存
大抵の場合、デフォルトの保存先は①ダウ ンロードになっていますが、②デスクトップ 上にある… ① ②入力ファイルの保存
23 2019.03.12版 大抵の場合、デフォルトの保存先は①ダウ ンロードになっていますが、②デスクトップ 上にある、③hogeフォルダです! ② ② ③入力ファイルの保存
①
①hogeフォルダに、②保存。
拡張子に注意
25 2019.03.12版 ①ときどきファイルの種類欄がテキストファイルと自動判定され(つ まり.txtが付加されて)しまうことがあります。sample1.fasta.txtに なるなどしたら、sample1.fastaに戻してから②保存してください。 ② ①入力ファイルの保存
①こんな感じに見えていれば無事ダウ ンロードができているはずです。②×。
①
入力ファイルの保存
27 2019.03.12版 ①hogeフォルダ内に、②sample1.fastaが見え ていればOK。②の中身は③のような感じです。 ① ② ③目的をおさらい
①hogeフォルダ内にある、②sample1.fasta中 の③塩基配列に対応する翻訳配列(アミノ酸配 列)を得るのが目的です。 ① ② ② ③目的をおさらい
29 2019.03.12版 実際には、プログラム実行結果として、①で指 定した名前の、翻訳配列を含む出力ファイルが、 ②hogeフォルダ中に保存されます。 ② ①Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
31
2019.03.12版
Rの起動
①getwd()と打ち込んで、リターンキーを押す。
Rの起動
①こういうことです。 R起動直後のデフォルトの 作業ディレクトリは、②ユーザ名kadotaの環境 では、「C:/Users/kadota/Documents」です。 ① ②33 2019.03.12版
Tips:文字サイズ変更
文字サイズを変更したい場合は、① 編集、②GUIプリファレンス ② ①Tips:文字サイズ変更
文字サイズを変更したい場合は、① 編集、②GUIプリファレンス。③sizeの ところを14とかにしてご利用ください。 ② ① ③35 2019.03.12版
getwd()
「getwd()」は、現在の作業ディレクトリを表示させ るコマンドです。その一方で、②今解析したいファ イルは、③デスクトップ上にあるhogeなので、作業 ディレクトリをそこに変更する必要があります。 ① ③ ②作業ディレクトリの変更
①ファイル、②ディレクトリの変更
② ①
37 2019.03.12版
作業ディレクトリの変更
① ② ユーザkadotaの環境ではこのように見え ている。デフォルトは①ドキュメントなの で、②の位置がハイライトされている。す ぐ上の③デスクトップを選択すると… ③作業ディレクトリの変更
①②
①の部分がDesktopに切り替わる。 ②目的のhogeフォルダを選択
39 2019.03.12版
作業ディレクトリの変更
①の部分がhogeに切り替わる。②OK ① ②もう一度getwd()
一見すると、何も変わってなさそうですが、①
もう一度getwd()を実行すれば、作業ディレク
トリが変更されていることが確認できます。
41 2019.03.12版
もう一度getwd()
さきほどと同様にgetwd()とベタ打ちしてもよいが、キーボー ドの②上矢印キーを一回押すと、直前に打ち込んだコマンド (この場合はgetwd())が表示される。これは打ち込んだのと 同じ意味なので、そのままリターンキーを押せばよい。いくつ か入力したコマンドがあれば、上矢印キーを押していけば見 られます。行き過ぎたら下矢印キーを押していけば戻れます ① ②確認
①こんな感じで、作業ディレクトリが「…/Desktop/hoge」であれ ばOK。当たり前ですが、解析したいディレクトリ(またはフォル ダ)を正しく指定できていなければエラーに遭遇します。また、 解析したいファイルが存在しない状態でもエラーが出ます。 ①list.files()でフォルダ内を見る
43 2019.03.12版 ①list.files()は、作業ディレクトリの 中身を表示するコマンドです。 ①list.files()でフォルダ内を見る
①hogeフォルダの②中身が対応 づいているのがわかりますね。 ② ② ① ①list.files()でフォルダ内を見る
45 2019.03.12版 ① ② もし①フォルダの中身が何もないときは、 ②のように見えるので覚えておきましょう 。character(0)は何もないという意味Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
基本はコピペ
47 2019.03.12版 ①一連のコマンド群をコピーして ②R Console画面上でペースト。 ① ②基本はコピペ
エラーなく実行できた場合の全貌。多 少見栄えが異なっていても、エラーと いう文字が見えていなければOK。
実行結果
49 2019.03.12版 実行前のhogeフォルダ 実行後のhogeフォルダ ①出力ファイル名として指定したhoge1.fasta が生成されていることが分かります ①実行結果
実行前のhogeフォルダ 実行後のhogeフォルダ ①list.files()で表示される結果と、②「実 行後のhogeフォルダの中身は当然同じ ① ②実行結果
51 2019.03.12版 入力:塩基配列ファイル(sample1.fasta) 出力:アミノ酸配列ファイル(hoge1.fasta) 入力ファイル中の塩基配列は、3 の倍数の12塩基長、ACGTのみ からなるので何のエラーも出ないContents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
解析基礎2
53 2019.03.12版 目的:アノテーションファイル(annotation.txt)中の第1列目に 対して、リストファイル(genelist1.txt)中の文字列と一致する 行を抜き出して、hoge1.txtというファイル名で出力したい 入力:アノテーションファイル(annotation.txt) 入力:リストファイル(genelist1.txt) 出力:hoge1.txt解析基礎2
目的:アノテーションファイル(annotation.txt)中の第1列目に 対して、リストファイル(genelist1.txt)中の文字列と一致する 行を抜き出して、hoge1.txtというファイル名で出力したい。① の②例題1をやります。 ① ②解析基礎2
55 2019.03.12版 作業ディレクトリは①「デスクトップ – hoge」。 hogeフォルダ中に②annotation.txtと③ genelist1.txtが存在するという前提。 ① ① ③ ②基本はコピペ
①
①一連のコマンド群をコピーして ②R Console画面上でペースト。
実行結果
57 2019.03.12版 実行前のhogeフォルダ 実行後のhogeフォルダ ①list.files()で表示される結果と、②実 行後のhogeフォルダの中身は当然同じ ① ②Tips:Rコンソール画面で…
実行後のhogeフォルダ ①出力ファイル(hoge1.txt)の中身。 これは②outというオブジェクトの中 身を、③write.tableという関数を用 いてファイルに出力したもの。 ① ② ③Tips:Rコンソール画面で…
59 2019.03.12版 実行後のhogeフォルダ ② ① それゆえ、①出力ファイル(hoge1.txt)の②中 身は、Rコンソール画面中で③outと打ち込 むことで確認できる。早く慣れてRコンソール 画面のみ動作確認できるようになっていこう。 ③Contents
◼前提条件
◼Rの起動と終了
◼基本的な利用法
◼解析基礎1:翻訳配列取得
準備:フォルダの作成から入力ファイルの保存まで
作業ディレクトリの変更と確認:
getwd()とlist.files()
コピペ実行と結果の確認
◼解析基礎2:任意のキーワードを含む行を抽出(基礎)
◼色の説明と応用
◼ありがちなミスや警告メッセージ
色の説明
61 2019.03.12版 Rコード中の色の使い分けについて説明 します。①に書いている、②の内容が全て ① ②応用
①例題1は、②1列目でキー ワード検索するやり方でした。 つまり、③の列が対象でした。 ② ① ③応用
63 2019.03.12版 応用として、別のリストファイル を読み込んで、①4列目で検索 したい場合のやり方を示します。 ①リストファイルの作成
おさらい。例題1の①リストファイル (genelist1.txt)中の、キーワードリ ストは②のように書かれていた。 ① ②リストファイルの作成
65 2019.03.12版 今回は、①のようなnuclearとmembraneを含む行 を抽出したいので、②のようなリストファイルを作 成し、list.txtというファイル名で保存しておく。当然 ながら、保存場所はannotation.txtと同じ場所です。 ① ②Rエディタを起動
①「ファイル - 新しいスクリプト」で、②Rエディタを起動。 もちろん、他のエディタをどうしても使いたければ、「二重 クォーテーション問題」などに遭遇する可能性を踏まえ、 自己責任でご利用ください。 ① ②テンプレートコードをコピペ
67 2019.03.12版 例題の赤枠内のコードを、 ①Rエディタ上でコピペ。 ①必要最小限の箇所を変更
①リストファイルの名前と、 ②列番号情報を変更 ① ① ②必要最小限の箇所を変更
69 2019.03.12版 ①list.txt中のキーワードで、 ②4列目で探すからでした ① ① ② ② ①Tips:CTRL + R
変更後のコードを全選択したのち、右クリックで 「コピー(CTRL + C)&ペースト(CTRL + V)」と やらなくても、①「CTRL + R」でイケます。
Tips:CTRL + R
71 2019.03.12版 ① 実行後はこんな感じになります。①出力ファイル名 は変更していないので、①hoge1.txtファイルに上書 きされるはず。もしExcelなどでhoge1.txtを開いてい ると「Permission denied(書き込み権限がない)」み たいなエラーが出ます(後述する、ありがちなミス3)list.files()で確認
確かに出力ファイルに相当する 名前はhoge1.txtしかないですね