Section I とりあえず解析環境が入っているMacを使ってやってみる
0)IGVブラウザのダウンロード
Broad instituteのホームページからダウンロードできる。
メールアドレスと所属を登録すればすぐにダウンロードできる。
Java Web Startのオプションもある。自分のコンピュータにインストールする事も出来る(推奨)。
1)ゲノムのダウンロード
作業をするためのフォルダを作っておく。ここではS_pombeという名前のフォルダを作製。
まずはS.pombeゲノムのデータをダウンロードしなくてはいけない。ググればいろいろなサイトがヒットする。
EnsembleのS.pombeのゲノムのfasta形式のファイルや遺伝子アノテーションのgtfファイル(tophatで使う)はこちらから。
FTPサイトはゲストでログインすればファイルを取得できる。
Schizosaccharomyces_pombe.ASM294v2.23.dna.genome.fa.gzをダウンロードして解凍する。
ファイル名をpombe.faに変えておく。
S_pombeフォルダの中にgenomeというフォルダを作って入れておく。
2)インデックスファイルの作製
マッピングをするためにはゲノムの「目次」であるインデックスファイルが必要。
bowtie2の場合、.bt2の拡張子がついたファイルが6種類(リンク先からダウンロード可能)
pombe.1.bt2
pombe.2.bt2
pombe.3.bt2
pombe.4.bt2
pombe.rev.1.bt2
pombe.rev.2.bt2
ともあれ、自力でこれらのファイルを作ってみよう。
Terminalを起動して、genomeフォルダに移動。
使うコマンドはbowtie2-build。読み込むファイル名と出力ファイル名(拡張子なし)を指定するだけ。
cd ./genome bowtie2-build -f pombe.fa pombe
3)sraファイルのダウンロード
必要なデータをとってきて先ほど作ったS_pombeフォルダに保存しておく。
ダウンロードされるのはsraファイルなので、fastq形式に変換する。 分からなかったら"sra fastq 変換"とググれば良い。 使うコマンドはfastq-dump。ファイル名を指定するだけ。 sraファイルがおいてあるフォルダにcdを使って移動するのを忘れずに。 ここではSRR835119の例を示す。
fastq-dump SRR835119.sra
ちなみに、ペアエンドリードの場合は。
fastq-dump --split files XXXX.sra
にしなくてはいけない。
4)ゲノムへのマッピング
bowtie2を使う場合
bowtie2 -x インデックスファイル(共通部分のみ) -U 読み込みファイル名.fastq -S 保存ファイル名.sam
bowtie2 -x ./genome/pombe -U SRR835119.fastq -S SRR835119.sam
これでゲノムにマップされたsamファイルが生成される。
これをIGVが読み込めるbamファイルに変換する。
samtools view -bS 読み込みファイル名.sam > 出力ファイル名.bam
samtools view -bS SRR835119.sam > SRR835119.bam
この時点ではbamファイルはバラバラの順番に並んでいる。
ゲノムの配列の順番に並べ替え(ソート)しなくてはいけない。
samtools sort SRR835119.bam SRR835119
注)2016/5/19にやったらエラーが出た。アウトプットファイルを指定したらできたんですが。。。
samtools sort SRR835119.bam -o SRR835119_sorted.bam
あとはこのソート済みbamファイルから、目次のインデックスファイル.baiを作るだけ。
samtools index SRR835119.bam
IGVを立ち上げて見てみる!!
tophatを使う場合
tophat -p コア数 -G gtfファイル.gtf -o 出力先 インデックスファイル(共通部分のみ) 入力ファイル.fastq
tophat -p 6 -G ./genome/pombe.gtf -o ./tophat ./genome/pombe SRR835119.fastq
tophatフォルダの中にaccepted_hits.bamというファイルが生成される。既にソートされているので、インデックスをつければigvで見る事が出来る。
Section II マッピングをしてくれるコマンドライン集
命令文が一杯あって面倒くさい!!
でも、解析用フォルダ内にsraファイル、その中にあるgenomeフォルダの中にゲノム.fa、インデックス.bt2を入れておいて、以下の命令文をエディタにコピー。#NAMEの部分をsraファイルの名前に置換すれば、igvで見る事の出来るbamファイルを生成するコマンド文が一発で出来る。簡単。簡単。
bowtie2マッピング
#single endの場合
fastq-dump #NAME.sra; bowtie2 -x ./genome/pombe -U #NAME.fastq -S #NAME.sam; samtools view -bS #NAME.sam > #NAME.bam; samtools sort #NAME.bam #NAME; samtools index #NAME.bam
#pair endの場合
fastq-dump --split-files #NAME.sra; bowtie2 -x ./genome/pombe -1 #NAME_1.fastq -2 #NAME_2.fastq -S #NAME.sam; samtools view -bS #NAME.sam > #NAME.bam; samtools sort #NAME.bam #NAME; samtools index #NAME.bam
tophat (single end) マッピング (2コア)
#non-directionalの場合
fastq-dump #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat ./genome/pombe #NAME.fastq; samtools index ./tophat/accepted_hits.bam
#directionalでsense-strandがfastqファイルに入っている場合
fastq-dump #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat --library-type fr-firststrand ./genome/pombe #NAME.fastq; samtools index ./tophat/accepted_hits.bam
#directionalでantisense-strandがfastqファイルに入っている場合
fastq-dump #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat --library-type fr-secondstrand ./genome/pombe #NAME.fastq; samtools index ./tophat/accepted_hits.bam
tophat (pair end)マッピング (2コア)
#non-directionalの場合
fastq-dump --split-files #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat ./genome/pombe #Name_1.fastq #NAME_2.fastq; samtools index ./tophat/accepted_hits.bam
#directionalでsense-strandがfastqファイルに入っている場合
fastq-dump --split-files #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat --library-type fr-firststrand ./genome/pombe #NAME_1.fastq #NAME_2.fastq; samtools index ./tophat/accepted_hits.bam
#directionalでantisense-strandがfastqファイルに入っている場合
fastq-dump --split-files #NAME.sra; tophat -p 2 -G ./genome/pombe.gtf -o ./tophat --library-type fr-secondstrand ./genome/pombe -o ./tophat #NAME_1.fastq #NAME_2.fastq; samtools index ./tophat/accepted_hits.bam
Section III NGS解析環境づくり-基本Mac OSXの場合
Xcodeのインストール
App Storeより無料でインストールできる。
Command line toolsのインストール (Xcode 7.3.1以降では必要ないかも)
XcodeのメニューからXcode->Open Developer Tool->More Developer Tools
リストからCommand Line Tools for Xcodeをダウンロードしてインストール
Marvericks以前の場合はXcodeの環境設定からインストールできる
homebrewのインストール
インストール方法はこちらに書いてある。以下のコマンドをTerminalにコピペしてリターンキーを押すだけ。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
homebrewさえインストールされれば、あとは簡単。 インストールの際のコマンドは brew install /homebrew/science/ツール名なので
brew install homebrew/science/sratoolkit brew install homebrew/science/samtools brew install homebrew/science/bowtie2 brew install homebrew/science/tophat brew install homebrew/science/cufflinks brew install homebrew/science/bedtools brew install homebrew/science/fastx_toolkit brew install igv
igvをターミナルから走らせる際にJava JDKをインストールしないといけない。ダウンロードはこちらから。 ここまでインストールしておけば、数十万円する市販ソフト並みの一通りの解析は可能!
今回はfastqの生データをいきなり突っ込んだが、FastX_toolkitなどでアダプター除去、低クオリティーリード除去など必要な時もある。
ツールは古くなる。時々アップデートする。
brew update brew doctor brew upgrade ツール名
sraファイルを高速ダウンロードするにはAspera Connectをインストールしておくと良い(10倍程度早くなる)。 Windowsの場合はLinux環境をインストールすれば何とかなる、、、はず。
Section IV もうちょっと突っ込んで、、、
リードをそのままマッピングしてもそこそこの結果が出てきますが、特に、塩基置換を調べる時など、クオリティーが低いリードを無理やりマッピングしてしまうとノイズが増えてしまうようです。クオリティーフィルターはいろいろありますが、FASTX-Toolkitが便利ということでインストールしようとしても動かず、Macでは動かないのかなということで敬遠していたのですが、最近チェックしてみると、今ではhomebrewで普通にインストールできるようです。というわけで、たとえば3' 末端からクオリティが 30 未満の塩基をトリミングし、長さが 100 bp 未満となったリードを破棄する。リードの 80% 以上の塩基がクオリティ 20 未満のリードならば除去する。というフィルターならば、
fastq_quality_trimmer -t 30 -l 100 -i <inputのファイル.fastq> | fastq_quality_filter -q 28 -p 80 -o <outputのファイル.fastq>
でオーケー。FastQCとかでフィルターがうまくいっているかチェックした後マッピングしなおすと、劇的に結果が変わるときもあるようです。
分からない時はググる!!!
統合TVに懇切丁寧な説明が動画付きでのっている。 東京大学門田研のNGS解析関連ホームページ
門田研の孫さんによるBioLinuxのインストールについて
MacOSを使っている場合、Bowtie MappingならSraTailorが便利
標準パイプラインについてはこちらを参照。