HISAT2+StringTie+Ballgown安裝及使用流程


HISAT2+StringTie+Ballgown安裝及使用流程

2015年Nature Methods上面發表了一款快速比對工具hisat,作為接替tophat和bowtie的比對工具,它具有更快的比對速度和更高的比對率,最近把這個流程走完一遍,感覺優勢還是很明顯的。 
一、HISAT2: 
1、下載安裝: 
hisat2下載地址:ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/hisat2-2.1.0-Linux_x86_64.zip 
hisat2官方手冊:http://ccb.jhu.edu/software/hisat2/manual.shtml 
下載完成后解壓縮: 
unzip hisat2-2.0.5-Linux_x86_64.zip 
進入hisat2-2.0.5文件夾: 

這里面的綠色文件都是可執行文件,所以只需要把目錄添加到環境變量中即可: 
vim進入編輯bashrc文件,在文本中輸入紅色方框內的內容,保存退出,然后source ~/.bashrc 即可 

此時我們就可以直接調用hisat2命令了。 
2、建立索引: 
如同tophat一樣,比對之前需要利用bowtie建立index,hisat2同樣需要建立索引: 
首先提取gtf文件中的剪切位點和外顯子位置: 
extract_splice_sites.py gencode.vM4.annotation.gtf >gencode.vM4.annotation.for.hisat2.ss 
extract_exons.py gencode.vM4.annotation.gtf >gencode.vM4.annotation.for.hisat2.exon 
建立索引: 
hisat2-build -p 30 --ss gencode.vM4.annotation.for.hisat2.ss --exon gencode.vM4.annotation.for.hisat2.exon GRCm38.p3.genome.fa mouseGencodeIndex 
##如果電腦內存<200G,那么可以不用--ss/--exon參數,但是在比對的時候需要加 
--known-splicesite-infile參數。3、比對: 
我的數據是雙段的無鏈特異性數據,此處需要把sam文件轉化為bam文件,所以需要提前安裝samtools: 
        hisat2 --known-splicesite-infile gencode.vM4.annotation.for.hisat2.ss --dta -t -p 24 -x mouseGencodeIndex -1 samp_1.fq.gz -2 samp_2.fq.gz -S accepted_hits.sam &> alignment_summary.txt 
       samtools view -bS accepted_hits.sam > accepted_hits.bam 
       samtools sort accepted_hits.bam -o accepted_hits_sorted.bam 
       rm accepted_hits.bam 
       rm accepted_hits.sam 

二、StringTie: 
比對完生成了sam文件,我們利用samtools將它轉化為了排好序的bam文件,下一步就需要量化和確定表達值了,這里用到的StringTie相比之前的cufflinks來說功能強大了好多。 
1、下載安裝: 
stringtie下載地址:http://ccb.jhu.edu/software/stringtie/dl/stringtie-1.3.3b.Linux_x86_64.tar.gz 
stringtie官方手冊:http://ccb.jhu.edu/software/stringtie/index.shtml?t=manual 
直接下載解壓就可以用了,它是可執行文件,也可以按上述方法將路徑添加到環境變量中方便調用。 
2、運行: 
stringtie accepted_hits_sorted.bam -o outRes.gtf -p 28 -G gencode.vM4.annotation.gtf -A gene_abund.tab -B -e 
運行后每個樣本文件夾下結果如下: 

這里我生成了結果gtf文件outRes.gtf和ballgown需要的.ctab文件,還有基因的表達量文件gene_abund.tab,該文件包括基因的表達量FPKM以及TPM等。當然如果你想要轉錄本的表達量,直接打開t_data.ctab這個文件,這里面有轉錄本的FPKM值。 
當然如果我們想利用DESeq2或者edgeR等計算差異表達,那我們就需要得到原始counts值矩陣來作為輸入,此時我們需要利用StringTie自帶的腳本prepDE.py來計算counts值,它可以同時對多個樣本做: 
prepDE.py -i stringtieRes/ -g countsRes/gene_count_matrix.csv -t countsRes/transcript_count_matrix.csv 
stringtieRes/文件夾下面是我所有的樣本的文件夾。 

*這里我們能得到所有樣本的count matrix,但是只能拿到每個樣本對應的FPKM值,又有什么方法能得到合並在一起的FPKM matrix呢?這就需要借助ballgown了。 
三、Ballgown: 
1、安裝: 
首先你需要下載安裝R,我的是3.4.0版本。 
source("https://bioconductor.org/biocLite.R") biocLite("ballgown") 
這里可能提示你安裝XML包的時候會出現錯誤提示:Cannot find xml2-config 
這就需要你在自己電腦上安裝相應的模塊了,我的是centos7,於是安裝相應的模塊:
yum install libxml2-devel 
順利安裝上ballgown包。 
2、使用: 
讀取所有樣本到ballgown對象中:de> 
bg = ballgown(dataDir=de>de>de>YSde>, samplePattern='YT1', meas='all'); 
#其中de>de>YS是我的所有樣本的父目錄,每個樣本文件夾名字都包含YT1。 
#計算轉錄本和基因的FPKM值 
de>de>transcript_fpkm = texpr(bg, 'FPKM') 
row.names(de>de>de>transcript_fpkmde>) = transcriptNames(bg) 
write.csv(de>de>transcript_fpkm,"de>de>de>transcript_fpkm_matrix.csvde>")
de>de>gene_expression = gexpr(bg) 
de>de>write.csv(de>de>de>gene_expressionde>,"de>de>de>de>gene_fpkmde>_matrix.csvde>") 
任務完成。 
3、差異表達分析: 
ballgown可以做case/control兩兩比較的差異表達,也可以做多組比較的差異表達(此時不能計算Fold Change值), 
當然也可以做時間序列的差異。 
de>de>de>pData(bg) = data.frame(id=sampleNames(bg), group=rep(c(1,0), each=10)) 
#這里是條件矩陣,每行是一個樣本,第二列是條件,如果是case/control那么就是0/1. 
de>de>de>de>stat_results = stattest(bg, feature='transcript', meas='FPKM', getFC=TRUE, covariate='group') 
#注意getFC在多組比較時候不能用,feature參數可以對基因'gene'或者轉錄本'transcript'或者外顯子'exon'做 
差異表達分析。 
de>de>de>de>de>Data(bg) = data.frame(pData(bg), time=rep(1:10, 2)) #dummy time covariate timecourse_results = stattest(bg, feature='transcript', meas='FPKM', covariate='time', timecourse=TRUE)de> 
de> 
但是我個人不太推薦使用ballgown,喜歡使用DESeq2和edgeR來計算。 
de>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM