介绍
StringTie is a fast and highly efficient assembler of RNA-Seq alignments into potential transcripts. It uses a novel network flow algorithm as well as an optional de novo assembly step to assemble and quantitate full-length transcripts representing multiple splice variants for each gene locus. Its input can include not only alignments of short reads that can also be used by other transcript assemblers, but also alignments of longer sequences that have been assembled from those reads. In order to identify differentially expressed genes between experiments, StringTie's output can be processed by specialized software like Ballgown, Cuffdiff or other programs (DESeq2, edgeR, etc.).
running Stringtie
格式
stringtie <aligned_reads.bam> [options]*
bam文件可以由Hisat2,tophat软件产生,并且必须用以genomic location 的方式sort(samtools)。
注意:Histat2比对时必须进行加 --dta参数 (输出的对比文件必须包含XS标签)
可选参数
-v 唠叨模式
-o [<path/>]<out.gtf> 设置组装的转录本的写入的GTF文件的名字和路径;可以用全路径,如文件夹未创建可依需创建;默认,在标准输出写入gft文件
-p 设施线程数,默认为1
-G 用GTF或者GFF3格式的参考注释文件辅助组装过程;输出将包含参考注释文件中的转录本以及新组装的转录本。-B,-b,-e,-C的参数均需要-G参数
-l <label> 设置输出转录本的前缀,默认STRG
-m <int> 预测转录本的最短长度,默认200
-A <gene_abund.tab> 输出基因丰度信息
-t 禁止在组装转录本的末端进行修剪
-B 输出Ballgown输入的表格文件(后缀.ctab);如果-o选项设置了路径,则输出文件输出至gtf相同的路径
-b <path> 输出Ballgown输入的表格文件(后缀.ctab),但是可自行设置输出的路径
-e 不考虑新转录本
-x <seqid_list> 忽略指定参考序列的比对结果。 Parameter <seqid_list> can be a single reference sequence name (e.g. -x chrM) or a comma-delimited list of sequence names (e.g. -x 'chrM,chrX,chrY').
-
-**merge ** Transcript merge model,不同于上述组装的模式,该模式下,stringtie利用将多个gtf/gff文件组装成新的非冗余的转录组。This mode is used in the new differential analysis pipeline to generate a global, unified set of transcripts (isoforms) across multiple RNA-Seq samples. 如果设置-G选项引入参考注释文件,则会将其纳入一起组装成新的转录本集合。
- 该模式下可设置如下参数
- -G <guide_gtf> 需要合并的参考注释文件
- --o <out_gtf> 设置 merged transcripts GTF的名字 (default: stdout)
- -m <min_len> minimum input transcript length to include in the merge (default: 50)
- -c <min_cov> minimum input transcript coverage to include in the merge (default: 0)
- -F <min_fpkm> minimum input transcript FPKM to include in the merge (default: 0)
- -T <min_tpm> minimum input transcript TPM to include in the merge (default: 0)
- -f <min_iso> minimum isoform fraction (default: 0.01)
- -i keep merged transcripts with retained introns (default: these are not kept unless there is strong evidence for them)
- -l <label> name prefix for output transcripts (default: MSTRG)
第一种情况(无需考虑新的转录本)
stringtie -e -G <ref_ann.gff> -p 8 -o [<path/>]<out.gtf> -b <PATH> bam文件
- bam文件:Hisat比对时,需要注意的有两点:一定要加上--dta参数;bam文件必须用samtools工具按照genomic location排序
-e 不考虑新的转录本的产生
-p 8 线程数
-o 产生的gtf文件的位置以及名称
-b 产生ballgown的输入文件,并且指定输出位置
-G 参考注释文件,推荐应用辅助注释
第二种情况(需要考虑新的转录本)
1 先各自组装,输出gtf文件
stringtie -G <ref_ann.gff> -p 8 -o [<path/>]<out.gtf> bam文件
2 然后再把各个样本的gtf以及参照gtf组装到一起
stringtie --merge -p 8 -G <PATH.gtf> -o stringtie_merged.gtf mergelist.txt
2.1 可利用gffcompare软件与参照注释文件比较评估组装效果
gffcompare -R -r reference.gtf -o cuffcmp merged stringtie_merged.gtf
将会产生以下文件:
- strtcmp.annotated.gtf
- strtcmp.loci
- strtcmp.stats
- strtcmp.tracking
- strtcmp.stringtie_asm.gtf.refmap
-
strtcmp.stringtie_asm.gtf.tmap
最主要查看*.stat文件,结果如下:
3 评估表达量,比输出ballgown包的输入文件
stringtie -e -B -p 8 -G stringtie_merged.gtf -o [<path/>]<out.gtf> sorted.bam
4 用ballgown/DESeq2/edgeR进性后续的差异分析
4.1 ballgown
4.2 DESeq2/edgeR
Python script (prepDE.py or the Python 3 version prepDE.py3) ) that can be used to extract this read count information directly from the files generated by StringTie (run with the <tt>-e</tt> parameter).
- input
默认数据应以如下格式放置:- -可将数据存于一个文件夹,该文件夹包含样本的子文件夹
./sample1/sample1.gtf
./sample2/sample2.gtf
./sample3/sample3.gtf
- -或者提供一个文本文件,包含样本名称以及各自的路径,如下
ERR188021 <PATH_TO_ERR188021.gtf>
ERR188023 <PATH_TO_ERR188023.gtf>
ERR188024 <PATH_TO_ERR188024.gtf>
参数
- -i
input a folder containing all sample sub-directories, or a text file with sample ID and path to its GTF file on each line [default: . ] - -g G
where to output the gene count matrix [default: gene_count_matrix.csv] - -t T
where to output the transcript count matrix [default: transcript_count_matrix.csv]
应用
prepDE.py
或者
prepDE.py -i sample_lst.txt
在R中用DEseq2包分析