StringTie 是用于 RNA-seq 的转录本组装和定量软件。
本文只是个笔记记录,更详细的内容还是要看说明书。
StringTie: Transcript assembly and quantification for RNA-Seq
1. 输入文件
StringTie takes as input a SAM, BAM or CRAM file sorted by coordinate (genomic location).
其中,TopHat 的输出文件已经是排序的,而 HISAT2 的输出文件需要进行排序,HISTA2 处理测序得到的 fq 文件的流程见:
假定这一步得到的输出文件为 test_sort.bam,然后进一步下一步。
2. 命令行格式及命令选项
默认的命令行格式如下:
stringtie [-o <output.gtf>] [other_options] <read_alignments.bam>
常用参数描述
-o # 后跟输出 gtf 文件名,可以指定完整目录,将输出 assembled 转录本;
-G # 后跟注释文件,需要 GTF 或 GFF3 格式;输出将包括表达的 ref transcripts 和其它新的转录本,该选项配合 -B、-b、-e、-C 使用;
-A # 后跟 tab 文件名,在给定输出文件中报告基因丰度;
-B # 该选项允许输出包含 reference transcripts 覆盖数据的 *.ctab 文件;
-b # 后跟目录,同 -B 一样,允许输出 *.ctab 文件,但这些文件将在 -b 指定的目录下创建,而非 -o 指定的目录下;
-C # 后跟一个 gtf 文件名,输出一个具有给定名称的文件,包含 reference transcripts 中被全覆盖的所有转录本;
-e # 允许进行表达估计,将估计 -G 选项指定的转录本的覆盖率,只统计可以匹配-G提交的参考 gtf 中的转录本,不再对新的转录本做预测;
-m # 设置预测转录本的最小长度,默认为 200;
-p # 线程数,默认为1;
-l # 设置输出转录本的前缀,默认为 STRG;
举例:
指定 8 个线程运行,输入文件为 test_sort.bam,组装的转录本输出文件为 test.gtf,转录丰度输出文件为 test.tab,不再预测新的转录本。
stringtie -p 8 -o test.gtf -B -e -A test.tab -G ref.gtf test_sort.bam
如果不需要寻找新的转录本,记得加 -e,否则可能会影响 reference 中转录本的统计。
3. 结果文件解读
首先看一下 -o 输出的组装的转录本 gtf 文件。
下图为文件的第 1 到 8 列:
下图为文件的第 9 列:
从第一列到第九列分别为:
seqname: 染色体名;
source: GTF文件的来源;
feature: 类型,比如:exon, transcript, mRNA, 5'UTR;
start: 起始位置;
end: 终止位置;
score: A confidence score for the assembled transcript.
strand: 方向;
frame: Frame or phase of CDS features.
attributes: 以分号分隔的 tag-value pairs 列表,提供了每个 feature 的详细信息;
另一个是 -A 指定的基因丰度的表格,这个表格简单直接;
FPKM(Fragments Per Kilobase of exon model per Million mapped fragments):比对到的某个基因的Fragment数目,除以基因的长度,其比值再除以所有基因的总长度。注意,严格来讲,这里的基因长度是指基因外显子的总长度。
TPM(Transcripts Per Kilobase of exonmodel per Million mapped reads):与FPKM不同的地方在于,其基因的比值是再除以(基因的总数目/基因的总长度)。因此,其得到的结果是一个相对的比值。推荐使用。
4. 合并得到非冗余转录本(可选)
如果在上一步骤没有指定 -e,即寻找了新的转录本,这一步可以可以增加 merge 再跑一遍,流程如下图所示:
stringtie --merge -p 4 -G ref.gtf -o merged.gtf mergelist.txt
而后再重新跑一遍 stringtie;
stringtie -p 8 -o test.gtf -B -e -A test.tab -G merged.gtf test_sort.bam
而后进行差异表达基因的分析。