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