1hisat2
1.1介绍
• 总体上来说HISAT利用了BWA和Bowtie的算法,同时解决了mRNA中不存在内含子难以比对的问题,比对上代主流RNA-seq比对工具能快50倍,同时需求更少的内存<8G(这就意味着你可以在PC上跑数据),20个样本,每个样本一亿reads的估计,用一台电脑一天之内能够跑完。使用者可以提供精确的基因注释来提高在已知基因区域的准确性,但这是可选项。
• Transcript assembly and quantification with StringTie
• RNA-seq的分析依赖于精准的对于基因isoform的重建以及对于基因相对丰度的预测。继承于Cufflinks,StringTie相对于之前开发的工具更为准确,需求内存和耗时也更少。
• 使用者一样可以使用注释文件来帮助StringTie运行,对于低丰度的数据比较有帮助。此时StringTie依旧会对非注释区域进行转录本的组装,所以注释文件在这里是可选选项。
题外话
首先添加环境变量,如果使用conda的话需要source activate
#临时环境变量
$export PATH=$PATH:/your dir/
#修改profile文件,添加环境变量
$vim ./etc/profile
$export PATH=$PATH:/your dir/
#conda
source activate
1.2构建索引
hisat2支持对gtf文件构建索引,并且可以向其中添加外显子,SNP等信息,进一步完善索引
#首先构建索引
$extract_splice_sites.py chrX_data/genes/chrX.gtf >chrX.ss
#提取外显子信息
$extract_exons.py chrX_data/genes/chrX.gtf >chrX.exon
#随后建立index
$ hisat2-build --ss chrX.ss --exon chrX.exon chrX_data/genome/chrX.fa chrX_tran
1.3进行比对
#索引文件必须指定到文件夹下面的索引前缀
for i in {188044,188104,188234,188245,188257,188273,188337,188383,188401,188428,188454,204916};do
hisat2 -p 4 -x chrX_data/indexes/chrX_tran -1 chrX_data/samples/ERR${i}_chrX_1.fastq.gz -2 chrX_data/samples/ERR${i}_chrX_2.fastq.gz -S ERR${i}_chrX.sam
done
#格式转换,转换为sam文件
for i in {188044,188104,188234,188245,188257,188273,188337,188383,188401,188428,188454,204916};do
samtools sort -@ 4 -o ERR${i}_chrX.bam ERR${i}_chrX.sam
done
1.4利用stringtie对转录组进行组装,会针对每个bam文件生成一个gtf文件,主要记录了转录本的组装信息
#利用基因组gtf文件对测序数据进行组装
for i in {188044,188104,188234,188245,188257,188273,188337,188383,188401,188428,188454,204916};do
stringtie -p 8 -G ./genes/chrX.gtf -o ERR${i}_chrX.gtf -l ERR${i} ERR${i}_chrX.bam
done
#将所有转录本进行合并
stringtie --merge -p 8 -G ./genes/chrX.gtf -o stringtie_merged.gtf ./mergelist.txt
# 此处mergelist.txt是自己创建的,需要包含每一个组装的gtf文件的绝对路径以及文件名
1.5检测相对于注释基因组,转录本的组装情况
#此处形成merged.annotated.gtf ,merged.loci,merged.stats,merged.stringtie_merged.gtf.ref,mapmerged.stringtie_merged.gtf.tmap,merged.tracking等文件
gffcompare -r chrX.gtf -o merged string_merged.gtf
1.6重新组装转录本并估计基因表达丰度
for i in {188044,188104,188234,188245,188257,188273,188337,188383,188401,188428,188454,204916};do
stringtie -e -B -p 8 -G stringtie_merged.gtf -o ballgown/ERR${i}/ERR${i}_chrX.gtf ERR${i}_chrX.bam
done
随后利用ballgown
或者featurecount
得到表达矩阵进行下游分析
2可变剪切分析
对于可变剪切一般使用rMATs
进行统计,rMATS是一款对RNA-Seq数据进行差异可变剪切分析的软件。其通过rMATS统计模型对不同样本(有生物学重复的)进行可变剪切事件的表达定量,然后以likelihood-ratio test计算P value来表示两组样品在IncLevel(Inclusion Level)水平上的差异(从公式上来看,IncLevel跟PSI的定义也是类似的),lncLevel并利用Benjamini Hochberg算法对p value进行校正得FDR值。rMATS可识别的可变剪切事件有5种,分别是skipped exon (SE)外显子跳跃,alternative 5′ splice site (A5SS)第一个外显子可变剪切,alternative 3′ splice site (A3SS)最后一个外显子可变剪切,mutually exclusive exons (MXE)外显子选择性跳跃和 retained intron (RI)内含子滞留
##使用示例文件,注意231ESRP.25K.rep-1.bam 231ESRP.25K.rep-2.bam ##231EV.25K.rep-1.bam 231EV.25K.rep-2.bam等文件的位置,也可以在b1.txt后使用绝##对路径输入这些文件,注意逗号隔开
rmats.py --b1 b1.txt --b2 b2.txt --gtf Homo_sapiens.Ensembl.GRCh37.72.gtf --od AS -t paired --readLength 151 --cstat 0.0001 --nthread 10
随后对结果进行可视化,
#首先对bam文件建立index,注意samtools使用绝对路径
samtools index XXXX.bam
#随后使用rmats2sashimiplot进行可视化
rmats2sashimiplot --b1 231ESRP.25K.rep-1.bam,231ESRP.25K.rep-2.bam --b2 231EV.25K.rep-1.bam,231EV.25K.rep-2.bam --l1 control --l2 case --exon_s 1 --intron_s 5 --min-counts 0 -t SE -e ./out_dir/SE.MATS.JC.txt -o sashimiplot_dir