assemblyを実践するための参考サイトです。半期でゲノムアセンブリをこなすのはなかなか難しいので、今回は簡単な方法を紹介しています。基本的には、コピペと少しのタイピングで済むように作っていますが、チャレンジできる人はまずは全て写経すると仕組みが仕組みが良く分かると思います。他のページとの違いはど素人が書いているという点です。分かりやすいように書いているつもりです。本稿ではMacを利用します。免責事項として本稿の内容がすべて正しいとは限りません。その点理解して読み進めてください。生物学の進歩Wetを行う人間であっても、鳥瞰図的に物事が見られるBioinfomaticsは今後最低限の素養として必要になってくる学問であると考えています。いうことかといえば、例えば研究のスピードがあげられるというのが分かりやすいかと思います。未知の生物のゲノム配列が分かるだけでどんな遺伝子を持っているかを大まかに知れますし、イントロン領域からも出ているRNAの配列を知ることもできます。Bioinfomaticsはあくまで計算科学なので、その点を補うのがWetの人の仕事です。結果を生かしてWetに行き、最終的に実験によって確かめるというのが重要なのかなと筆者は考えます。何れにせよ、やって損はない勉強です。一緒に頑張りましょう。Macではターミナルというアプリケーションを使うことで操作できます。Padから、「その他」に行くと見つけられます。コマンド操作で重要なのは名前があっているか、コマンドが正しいかになります。下手に半角スペースがあるだけで動かないということが多々あります。ここに書いてあるコマンドは動作したコマンドになります。完全に同じコマンドになるようにしてください。ターミナルはUNIXと呼ばれるOSをベースにして動作しています。詳しく学びたい人は以下のサイトがオススメです。https://codezine.jp/unixdic/i/UNIX基礎講座コマンドの打ち方$の後ろに打ちます。スペースにも意味があります。ターミナルを開くと以下のような文字が表示されます。RyoNiwa$例えば、cdというコマンドを打つ際は以下のように打ちます。cdもしもうまくできなかった時は15分ググってください。検索ワードを変えて、英語に変えて、エラーをコピペして...いろんな手段でググってください。それでも解決できなかった時はv8024064@edu.gifu-u.ac.jpにメールください。助けられる範囲で返信します。第1章ではパソコンの準備をします。パソコン内に最低限必要なものをインストールするという作業を行います。今回はHomebrewと呼ばれるmacOS用のパッケージマネージャーをインストールして、単純に作業が進められるようにします。本稿ではUNIXベースでデータを処理を行います。できる限りインストールを少なくすることで、簡単な方法を選んでいるつもりです。本来であれば、使用するデータに応じて使用するソフトウェアを変えることはデータをよりよく準備する意味で肝要です。今回の処理を通して少しでも興味を持ってもらえた場合は継続的に学び、少し難しい課題にもトライして欲しいと考えます。HomebrewのインストールHomebrewはAppleのmacOSに含まれていないソフトウェアなどをダウンロードする際に利用するパッケージマネージャーです。Homebrewは個別のディレクトリにパッケージをインストールし、それらへのシンボリックリンクを/usr/localに作ります。難しく考えずに、MacOSで足りない部分を補強してくれるパッケージだと考えれば大丈夫です。以下のコマンドをターミナルにコピペするとインストールされます。https://raw.githubusercontent.com/Homebrew/install/master/install)"例としてwgetコマンドをインストールHomebrewを使って、早速wgetコマンドを使えるようにしてみます。wgetコマンドはLinuxで通常用いられるコマンドでターミナルでは使用できません。そこで、Homebrew内にwgetコマンドを入れて使えるようにしてみます。wgetそうすると、頭の良さそうな動きをターミナルがします。終わったら、wgetがインストールできたか確かめます。-h以下の文字が出てきたら成功。[URL]...長いオプションで不可欠な引数は短いオプションでも不可欠です。できればMac、Windows関係なくできる方法を提案したいと考えていますが、まずはHomebrewでのやり方を進めていきます。Javaの準備MacはデフォルトでJavaが入っていません。今回はJavaを使うソフトウェアを使用しますので、Javaをあらかじめインストールしておきます。古いJavaが入っている人も同じ方法でおそらくアップデートできますので、やっていきます。Javaがあるか見ていきましょう。-versionここで、コマンドがないと出たら、やはり入っていません。参照にJavaをインストールしてください。グラフィックできるので、ここからの作業は省略します。説明に沿って、ぽちぽちクリックするだけです。本章では、解析データの準備を行います。SRAと呼ばれるアーカイブからデータを落として、計算できる状態にします。今回は乳酸菌のゲノムを解析することにしました。作業が煩雑ですので、じっくりやっていきましょう。Archiveの略で、その名の通りシーケンスデータをレポジトリしているデータベースです。ENAの3つのデータベースがあり、日本のデータベースからダウンロードするのが一番早いです。Numberと呼ばれる番号が記載されているので、これをデータベースで検索します。delbrueckiiのゲノムデータをアセンブルすることにしました。基本的にはアルファベットを変えてデータを落とせばいいだけなので、好きな乳酸菌やその他菌株があれば論文で探して落としてもらって構いません。Pigs早速データをダウンロードしていきます。SRAで検索していきます。SRAを検索して、トップでヒットしたサイトを開く。真ん中の方にある検索をクリック。Numberを入れる。右のほうにあるExperimentのSRAをクリック、その後SRR5407012をクリック。SRR5407012.sraをクリック。ダウンロードが始まるので少し待つ。ここで、ダウンロードのフォルダを開くとSRR5407012.sraがあるはずです。ここで問題なのがSRR5407012.sraが特殊な形式であり、開くことができないという点にあります。そこで、通常のNGSのアウトプット形式であるfastqファイルに書き換えたいわけです。SRAが公開しているソフトをダウンロードして、パスを通す必要があります。Toolkitの準備まずは以下サイトにアクセスする。toolkitをクリックしてダウンロードする。toolkitはグラフィカルユーザーインターフェースとかではないので、いわゆるパスを通すという作業が必要になります。パスを通すというのはプログラムの名前だけでプログラムをサクッと実行できるようにすることです。言えば、ポケモンでピカチュウにカミナリという攻撃を覚えさせるのと同じです。toolkitを早速使えるようにしていきます。toolkitの入ったフォルダを解凍しデスクトップに移します。ここからは作業を丁寧に行っていきましょう。toolkitを開いてみます。ターミナルで表示される文字はユーザ名により異なる。Airで行っているが、本文はiMacで書いているので、ユーザはiMacとなっているが気にしないでください。使うコマンドはたった3つです。残りのコマンドはコピペすれば大丈夫です。Directoryディレクトリを変更。Directory今どこのディレクトリにいるのかを教えてくれる。segments今いるディレクトリの中にあるファイルやディレクトリを教えてくれる。lsちなみにTabボタンをいかにうまく使うかがコマンドを早く書くコツだと考えてください。そのディレクトリ内で固有のワードになった時点でTabを押せば残りはパソコンが勝手に書いてくれます。lsそうすると、sratoolkit.2.9.6-1-mac64というディレクトリが存在すると考えられます。バージョン名が違うかもしれないが、おおよそこの名前であるだろうと思います。続いて、中身を確認してみます。pwd/Users/ユーザー名/sratoolkit.2.9.6-1-mac64/binとなる。このうち、binが重要なファイルです。Toolkitが使えるようになります。そこで、早速パスを通していきます。以下を見て挑戦してください。http://motomichi-works.hatenablog.com/entry/2016/03/02/103207今回.bash_profileに記入するのは以下の通りです。PATH=$PATH:/Users/ryoniwa/Desktop/sratoolkit.2.9.6-1-mac64/bin/うまくできているかを確認してみます。toolkitの一つの機能であるfastq-dumpのヘルプを見てみます。-h色々出てきたら成功です。(形式変更)続いて、ファイルを処理していきます。先ほどダウンロードしたSRAファイルを全てデスクトップに移しておきます。今のディレクトリがDesktopとなるようにします。どのディレクトリにいても、cd単発でコマンドを動かすと一番最初のディレクトリに戻れます。..でも一つ前のディレクトリに戻れます。今のディレクトリはRyonoiMac:[今のディレクトリ]で確認可能です。今回はペアエンドリードのデータなので、別々に出力させます。SRR5407012.sraアウトプットされるファイルは全てデスクトップで確認できます。このまま開くのはお勧めできません。普通のパソコンだとしばらく動かせなくなるからです。しても中身が見たければheadコマンドを使いましょう。上から10行を確認できます。length=150AACATAAGATCCCCTCCTCAATTGTCACTATAACGCCCTGACAACATGATAGCCACCAAGATGCACAGAGGCCCGAAATCTTTTCTATGCCTATCGATTCCAGCCTAATACTGAACAAGTCTGGAATGGTTGCCCTTGTCTATCATTCCAその後、新しいフォルダを作成してください。全てのダウンロードしたファイルをフォルダ内に入れてください。これで全ての準備は整いました。データ解析に移りましょう。クオリティートリミングクオリティートリミングについては当方Githubをご覧ください。https://github.com/Ryo-NIWA-GIFU-Oubi/RyoNIWA-Lecture/wiki/第3章-クオリティートリミング編--座学クオリティートリミングをやってみる早速クオリティートリミングを始めてみましょう。使うソフトウェアは先ほど利用したTrimmomaticです。TrimmomaticはJavaベースで動くソフトウェアになります。Trimmomaticに関してはコマンドを打つというよりもスクリプトを動かす形になります。Javaベースで動きます。先に述べたとおり、Javaを利用したことない人はまずJavaが入っているかを確認してください。-versionきちんとJavaがインストールされていれば、バージョンに関しての説明が出てきます。バージョンに関して出てこず、むしろコマンド分かりませんという説明が出てこれば、それはインストールからということになります。foundjavaのインストールは簡単です。Javaのサイトにアクセスして、適当なdmgファイルをダウンロードしてください。これを開いて、指示に従ってインストールするだけです。インストール後は念の為、先のコマンドでバージョンを確認してください。ここからはインストールできているものとして、話を進めます。続いて、Trimmomaticをダウンロードします。以下サイトにアクセスしてください。http://www.usadellab.org/cms/?page=trimmomaticサイト内のBinaryというところをクリックするとTrimmomaticのことが書かれたjavaファイルをダウンロードできます。これをデスクトップ上に作ったTrainingフォルダに入れましょう。ここで、Trainingフォルダを見ると、当然なのですが、先に入れたFastqファイルとjavaのファイルが入っています。コードを書くのが楽になると思います。慣れてきたら、自由にディレクトリを作ってやるといいですが、最初はルールを作ってルール通りに進めると失敗が少ないです。Trimmomaticを動かしてクオリティートリミングしてみましょう。lsその後、以下のように書きます。trimmomatic-0.39.jarは2019年12月5日現在で最新バージョンですが、万が一更新されていた場合は数字を変えてください。それぞれの設定、何が起こるかはhttps://bi.biopapyrus.jp/rnaseq/qc/trimmomatic.htmlを見てください。非常に詳しく書いていただいています。利用して、次のクオリティコントロールあるいはマッピングなどの解析に用いれば大丈夫です。今回のトリミング方法については何も考えずに適当に作りました。実際には論文を参考にして考えるのがいいと思います。rawデータの場合、アダプターが付与されています。その際はILLUMINACLIPのオプションを追加して、アダプタートリムとクオリティートリムを同時に進行すると良いです。実行すると、どれくらいのリードがサバイブしたかなどが表示されます。Trainingフォルダに出力されたか確認してください。続いて、きちんと処理されたかをFastQCにより確認していきます。クオリティートリミングできているかを目視する本来はクオリティーチェック、クオリティートリミング、再クオリティーチェックをするのが慣例となっています。今回はあくまでトライアルなので、最初のクオリティーチェックは省いていますが、自分でデータを取得した際は当然やるべきだと考えています。クオリティーチェックを行う際、最強のソフトウェアが存在します。それがFastQCです。以下このサイトからの引用です。データのQCに最もよく用いられている(と言っても過言でない)オープンソースのソフトウェアです。シーケンス実験の品質をチェックするために便利な幾つかのプロットを生成してくれます。ちなみにjavaで書かれています。同一シーケンスリードの重複率などが挙げられます。全体的にクオリティーが高いためそのままデータを用いるクオリティーの低い末端をトリミングしたデータを用いる全体的にクオリティーが低いため、シーケンスをかけ直すといった行動の指標にすることができます。FastQCによりクオリティーレベルを確認して次のステップを決めるわけです。novoアセンブリに使います。Interfaceでも利用できるソフトウェアなので、気軽にいきましょう。FastQCはhomebrewを利用してインストールできます。以下コマンドをフォローしてください。fastqcインストールが完了したところで、FastQCの使い方を説明します。使い方は2種類あります。Interfaceでポチポチクリックして進める方法、もう一つはコマンドで処理して進める方法です。今回は両方紹介します。GUIでやる方法FastQCを呼び出すのにコマンドを使います。fastqcすると、FastQCが立ち上がります。Openを開き、ファイルを選択します。すると自動で解析が始まります。CUIでやる方法コマンドでファイルを指定して、htmlファイルを吐き出させます。--nogroupというオプションを使うと解析量が増えるので解析としては重くなりますが、各塩基ポジションごとの解析が見れます。要は--nogroupをつけると各塩基ごとにデータが出てくる一方で、つけないと201~210塩基のところはこれぐらいのクオリティーのようにまとめられます。用途に応じて変えてください。今回はどちらでもいいです。-tは使用するスレッド数です。データ.fastqこの方法でやると自動的にfastqc_resultsというフォルダがTrainingフォルダに作られます。Chromeなどに読み込ませると見やすいです。解析が終わると、データが確認できます。確認の方法はhttps://bi.biopapyrus.jp/rnaseq/qc/fastqc.htmlに載っています。qualityは上記サイトによればリードの各位置におけるクオリティスコアの分布が示されている。横軸がリード上の位置を表し、縦軸はクオリティスコアを表す。スコアの分布はボックスプロットによって描かれる。