NGSplotsOnBiolinux8 - suimye/NGS_handson2015 GitHub Wiki

Ngsplotのbiolinux8でのinstallと解析

はじめに

NGSplotを利用する最大のオススメポイントは、アンカーとする場所(たとえば転写因子のゲノムワイドな結合部位)を指定し、その他のNGSデータのtag densityをそのアンカーから眺めることができるので、例えばpeak callの行い難いHistone修飾のChIP-seqデータなどのゲノムワイドな傾向を複数のデータを用いて俯瞰することができます。
また、アンカーは、Ngsplotの著者が用意しているtss, miRNA, ncRNA, genebodyだけではなく、オリジナルのbedファイルを利用することもできますので、NGSデータの組み合わせ解析の一つとして取り扱いやすい方法です。

doMCのパッケージがミラー先によってinstallできない印象がある。
それ以外は、大きくこけるところは無くinstallできる模様
R version 3.2.0 (2015-04-16) -- "Full of Ingredients"

installディレクトリの作成


mkdir ~/tools
mv ~/Downloads/ ~/tools
cd ~/tools
#解凍
tar xzvf ngsplot-2.47.tar.gz

pathを通す


echo 'export PATH=~/tools/ngsplot/bin:$PATH' >>~/.bashrc
echo 'export NGSPLOT=~/tools/ngsplot' >>~/.bashrc
source ~/.bashrc  #PATHを有効にする。

Rのパッケージインストール   

updateもすべてYesにすると10分以上かかります。


source("http://bioconductor.org/biocLite.R")
install.packages("doMC") #ミラー選択によってDLできないことがあるのでできなかった場合はミラーを変えて最トライ。  
biocLite("caTools", dep=T)  
install.packages("utils", dep=T) #R3.0以降はutilsは、必要ない  
biocLite("ShortRead")  
biocLite("BSgenome")  

```  


install時のwarning message    

```   

#BitSeqがインストールできていない状況。ただしprogramは最終的に動いた。  
* DONE (GenomeInfoDb)

The downloaded source packages are in
	‘/tmp/RtmpoZ1j1c/downloaded_packages’
Warning message:
In install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  :
  installation of package ‘BitSeq’ had non-zero exit status

```  

備考:doMCが入っていないときのエラーメッセージ     

```  

Loading R libraries..Installing package into ‘/home/iu/R/x86_64-pc-linux-gnu-library/3.2’
(as ‘lib’ is unspecified)
Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: install.packages -> grep -> contrib.url
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘doMC’
Execution halted

pathが通っているか確認

iu@bio[ctcf] ngsplotdb.py list                                
ID   Assembly Species      EnsVer   NPVer    InstalledFeatures            
hg19 GRCh37   homo_sapiens 74.0     3.0      cgi,exon,genebody,tss,tes 

ngsplotにはデフォルトでhg19のゲノム情報が入っている。これを用いて今回のデータを解析してみる。

ngs.plot.r -G hg19 -R genebody -C sample.uq.sort.bam -O CTCF.genebody -T CTCF -L 3000 -FL 200
ngs.plot.r -G hg19 -R genebody -C input.uq.sort.bam -O input.genebody -T input -L 3000 -FL 200

  • -G: ゲノム(専用のデータがGDriveに落ちてる)
  • -R: 解析region、いろいろ選べる。
  • -C: 解析対象のbamファイル
  • -O: outputフォルダの名前
  • -T: plotの中のレジェンドにつく名前
  • -L: 指定した領域(例えばgene bodyやTSS)の前後から何bp付け足すか。x軸の領域が決まる。
  • -FL: カバレッジの計算する際のbinの大きさ FLはフラグメント (Insert)サイズ(3'側に付け足すタグ伸長ため)を入力するところです。
  • -N: Nに数字を指定した場合、 N x FLが上記のLになる。

160513追記 -Dオプション

  • -D: Gene database: ensembl(default), refseq

備考: sortされていないデータを用いたときのエラーメッセージ


[bam_index_build2] fail to index the BAM file.
Error in FUN(X[i](/suimye/NGS_handson2015/wiki/i), ...) : failed to build index
  file: sample.uq.bam
Calls: headerIndexBam ... indexBam -> sapply -> sapply -> lapply -> FUN -> .Call
Execution halted

解析成功時のmessage


iu@bio[ctcf] ngs.plot.r -G hg19 -R genebody -C sample.uq.sort.bam -O CTCF.genebody -T CTCF -L 3000 -FL 200
Configuring variables...
Using database:
/home/iu/tool/ngsplot/database/hg19/hg19.ensembl.genebody.protein_coding.RData
Done
Loading R libraries.....Done
Analyze bam files and calculate coverageWarning message:
'isNotPrimaryRead' is deprecated.
Use 'isSecondaryAlignment' instead.
See help("Deprecated") 
...........................................................................................................................................................................................................Done
Plotting figures...Done
Saving results...Done
Wrapping results up...Done
All done. Cheers!

解析結果を比較してみよう


Gyazo

比較しやすいように同じplotに2つ描く方法


対象となるデータのリスト(list.txt)を作成し、オプションーCで読み込む。

##ファイルリストを作成する 
echo 'sample.uq.sort.bam	-1	"CTCF"'>list.txt
echo 'input.uq.sort.bam	-1	"Input"'>>list.txt
##ngs.plotを実行
ngs.plot.r -G hg19 -R genebody -C list.txt -O CTCFandCtrlgenebody -L 4000 -FL 200

Gyazo

アンカーデータを指定する方法


TSSやgenebodyだけでは面白くない。そんなあなたには、オリジナルのアンカーデータをbed fileで与える方法もあります。とても簡単で、アンカーファイルとして、bed形式のデータがあればOKです。たとえば、MACSで得られるsummitファイルを中心とすれば、MACSにかけたChIP-seqデータの転写因子結合中心と、他のNGSデータ(ヒストン修飾)のゲノム領域などをその距離の相関として見る事ができるはずです。

例:anchor.bedファイルを準備した場合

  • "-E"でanchor.bedファイルを指定します。
  • CTCFのtag分布をanchor周りのデータを計算します。
ngs.plot.r -G hg19 -R bed -E anchor.bed -C ~/CTCF.sort.bam -O CTCF.distribution -T CTCF -L 3000 -FL 100