StringTie用法详解
StringTie
参考链接:
https://ccb.jhu.edu/software/stringtie/index.shtml?t=manual#input
https://www.cnblogs.com/adawong/articles/7977314.html
参数简介
StringTie的基本用法: stringtie <aligned_reads.bam> [options]*
其中,aligned_reads.bam 是输入文件,该输入文件要求必须按其基因组位置排序, HISAT2的输出文件则需经过samtools sort生成的bam文件才可当做输入文件。
其他可选参数:
-h/--help 帮助信息
-v 打开详细模式,打印程序处理的详细信息。
-o [<path/>]<out.gtf> 设置StringTie组装转录本的输出GTF文件的路径和文件名。此处可指定完整路径,在这种情况下,将根据需要创建目录。默认情况下,StringTie将GTF写入标准输出。
-p <int> 指定组装转录本的线程数(CPU)。默认值是1
-G <ref_ann.gff> 使用参考注释基因文件指导组装过程,格式GTF/GFF3。输出文件中既包含已知表达的转录本,也包含新的转录本。选项-B,-b,-e,-C需要此选项(详情如下)
--rf 链特异性建库方式:fr-firststrand(最常用的是dUTP测序方式,其他有NSR,NNSR).
--fr 链特异性建库方式:fr-secondstrand(如 Ligation,Standard SOLiD).
-l <label> 将<label>设置为输出转录本名称的前缀。默认:STRG
-f <0.0-1.0> 将预测转录本的最低isoform的丰度设定为在给定基因座处组装的丰度最高的转录本的一部分。较低丰度的转录物通常是经加工的转录本的不完全剪接前体的artifacts。默认值为0.1。
-m <int> 设置预测的转录本所允许的最小长度.默认值为200
-A <gene_abund.tab> 输出基因丰度的文件(制表符分隔格式)
-C <cov_refs.gtf> 输出所有转录本对应的reads覆盖度的文件,此处的转录本是指参考注释基因文件中提供的转录本。(需要参数 -G).
-a <int> Junctions that don't have spliced reads that align across them with at least this amount of bases on both sides are filtered out. Default: 10
-j <float> 连接点的覆盖度,即设置至少有这么多的spliced reads 比对到连接点(align across a junction)。 这个数字可以是分数, 因为有些reads可以比对到多个地方。 当一个read 比对到 n 个地方是,则此处连接点的覆盖度为1/n 。默认值为1。
-t 该参数禁止修剪组装的转录本的末端。默认情况下,StringTie会根据组装的转录本的覆盖率的突然下降来调整预测的转录本的开始和/或停止坐标。
-c <float> 设置预测转录本所允许的最小read 覆盖度。 当一个转录本的覆盖度低于阈值,则输出文件中不含该转录本。默认值为 2.5
-g <int> 设置ga最小值。 Reads that are mapped closer than this distance are merged together in the same processing bundle. Default: 50 (bp)
-B 应用该选项,则会输出Ballgown输入表文件(* .ctab),其中包含用-G选项给出的参考转录本的覆盖率数据。(有关这些文件的说明,请参阅Ballgown文档。)
如果选项-o 给出输出转录文件的完整路径,则* .ctab文件与输出GTF文件在相同的目录下。
-b <path> 指定 *.ctab 文件的输出路径, 而非由-o选项指定的目录。
注意: 建议在使用-B/-b选项中同时使用-e选项,除非StringTie GTF输出文件中仍需要新的转录本。
-e 限制reads比对的处理,仅估计和输出与用-G选项给出的参考转录本匹配的组装转录本。使用该选项,则会跳过处理与参考转录本不匹配的组装转录本,这将大大的提升了处理速度。
-M <0.0-1.0> 设定。默认值为0.95.
-x <seqid_list> 忽略所有比对到指定的参考序列上的reads,因此这部分的reads不需要组装转录本。 参数 <seqid_list>可以是单个参考序列名称 (如: -x chrM),也可以是逗号分隔的序列名称列表 (如: -x 'chrM,chrX,chrY')。这可以加快StringTie的组装分析的速度,特别是在排除线粒体基因组的情况下,在某些情况下,线粒体的基因可能具有非常高的覆盖率,但是它们对于特定的RNA-Seq分析可能不感兴趣的。
--merge 转录本合并模式。 在合并模式下,StringTie将所有样品的GTF/GFF文件列表作为输入,并将这些转录本合并/组装成非冗余的转录本集合。这种模式被用于新的差异分析流程中,用以生成一个跨多个RNA-Seq样品的全局的、统一的转录本。
如果提供了-G选项(参考注释基因组文件),则StringTie将从输入的GTF文件中将参考转录本组装到transfrags中。(个人理解:transfrags可能指的是拼接成更大的转录本片段,tanscript fragments)
在此模式下可以使用以下附加选项:
-G <guide_gff> 参考注释基因组文件(GTF/GFF3)
-o <out_gtf> 指定输出合并的GTF文件的路径和名称 (默认值:标准输出)
-m <min_len> 合并文件中,指定允许最小输入转录本的长度 (默认值: 50)
-c <min_cov> 合并文件中,指定允许最低输入转录本的覆盖度(默认值: 0)
-F <min_fpkm> 合并文件中,指定允许最低输入转录本的FPKM值 (默认值: 0)
-T <min_tpm> 合并文件中,指定允许最低输入转录本的TPM值 (默认值: 0)
-f <min_iso> minimum isoform fraction (默认值: 0.01)
-i 合并后,保留含retained introns的转录本 (默认值: 除非有强有力的证据,否则不予保留)
-l <label> 输出转录本的名称前缀 (默认值: MSTRG)
输入文件
其中,aligned_reads.bam 是输入文件,该输入文件要求必须按其基因组位置排序,如TopHat的输出文件accepted_hits.bam可直接当做输入文件,而 HISAT2的输出文件则需经过samtools sort生成的bam文件才可当做输入文件。
输入BAM文件中的每个 spliced read 比对(即跨越至少一个连接点的比对)必须包含标签XS,用以指示测序产生的read是来源于基因组序列上的哪条链产生的RNA。由TopHat和 HISAT2 (需参数 --dta,该参数用于发现剪接位点) 产生的比对结果中已经包含标签XS。但是,有的mapping程序(read mapper)未必含有标签XS,所以,用户在进行下一步分析时需要进行检查。
注意:一定要使用-dta选项来运行HISAT2,否则结果将会受到影响。
作为选项,可以向StringTie提供GTF / GFF3格式的参考注释基因组文件。在这种情况下,StringTie更喜欢使用注释文件中的这些“已知”基因,对于那些被表达的基因,它将计算coverage,TPM和FPKM值。它还会产生额外的转录本,而注释文件中并没有这些转录本。请注意,如果不使用选项-e,那么参考转录本就需要被reads 完全覆盖,以便包含在StringTie的输出中。在这种情况下,其他通过StringTie从数据中组装的转录本,且不在注释文件中的转录本也会输出。
注意:如果用户正在分析注释较好的基因组,例如人类,小鼠或其他模型生物,则强烈建议您提供注释文件。
输出文件
主要输出文件有:
1、 GTF文件: 记录组装的转录本信息
2、 Tab文件: 记录基因丰度信息
3、 GTF文件:完全覆盖与参考注释基因组文件所匹配的转录本信息
4、 *.ctab文件:用于下游Ballgown软件做差异表达分析的输入文件
5、 GTF文件:在合并模式下,生成一个合并的GTF文件
GTF文件:记录组装的转录本信息
seqname: 染色体,contig, 或 scaffold
source: GTF文件的源文件。
feature: 特征类型;如:exon, transcript, mRNA, 5'UTR。
start: 开始位置,使用基于1的索引
end: 结束位置,使用基于1的索引
score: 组装的转录本的可信度分数。目前这个字段没有被使用,并且如果转录本 与a read alignment bundle
有连接,则StringTie输出常数值1000。
strand: 正向链: '+'; 反向链: '-'.
frame: CDS特征的 Frame or phase 。 StringTie不使用该字段,只记录一个“.”。
attributes:
- gene_id: A unique identifier for a single gene and its child transcript and exons based on the alignments' file name.
- transcript_id: A unique identifier for a single transcript and its child exons based on the alignments' file name.
- exon_number: A unique identifier for a single exon, starting from 1, within a given transcript.
- reference_id: The transcript_id in the reference annotation (optional) that the instance matched.
- ref_gene_id: The gene_id in the reference annotation (optional) that the instance matched.
- ref_gene_name: The gene_name in the reference annotation (optional) that the instance matched.
- cov: The average per-base coverage for the transcript or exon.
- FPKM: Fragments per kilobase of transcript per million read pairs. This is the number of pairs of reads aligning to this feature, normalized by the total number of fragments sequenced (in millions) and the length of the transcript (in kilobases).
- TPM: Transcripts per million. This is the number of transcripts from this particular gene normalized first by gene length, and then by sequencing depth (in millions) in the sample. A detailed explanation and a comparison of TPM and FPKM can be found here, and TPM was defined by B. Li and C. Dewey here.
Tab文件: 记录基因丰度信息
如果StringTie使用-A <gene_abund.tab>选项运行,则返回包含基因丰度的文件。
- Column 1 / Gene ID: The gene identifier comes from the reference annotation provided with the
-Goption. If no reference is provided this field is replaced with the name prefix for output transcripts (-l). - Column 2 / Gene Name: This field contains the gene name in the reference annotation provided with the
-Goption. If no reference is provided this field is populated with '-'. - Column 3 / Reference: Name of the reference sequence that was used in the alignment of the reads. Equivalent to the 3rd column in the .SAM alignment.
- Column 4 / Strand: '+' denotes that the gene is on the forward strand, '-' for the reverse strand.
- Column 5 / Start: Start position of the gene (1-based index).
- Column 6 / End: End position of the gene (1-based index).
- Column 7 / Coverage: Per-base coverage of the gene.
- Column 8 / FPKM: normalized expression level in FPKM units (see previous section).
- Column 9 / TPM: normalized expression level in RPM units (see previous section).
GTF文件:完全覆盖与参考注释基因组文件所匹配的转录本信息
如果StringTie与 -C <cov_refs.gtf> 选项一起运行(需要选项-G
*.ctab文件:用于下游Ballgown软件做差异表达分析的输入文件
如果StringTie与-B选项一起运行,它将返回Ballgown输入文件,包含以下文件:(1) e2t.ctab, (2) e_data.ctab, (3) i2t.ctab, (4) i_data.ctab, and (5) t_data.ctab。
GTF文件:在合并模式下,生成一个合并的GTF文件
如果StringTie使用--merge选项运行,它将多个GTF / GFF文件作为输入,并将这些转录本合并和组装成非冗余转录本集合。
StringTie用法详解的更多相关文章
- C#中string.format用法详解
C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...
- @RequestMapping 用法详解之地址映射
@RequestMapping 用法详解之地址映射 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没 ...
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- mysql中event的用法详解
一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...
- CSS中伪类及伪元素用法详解
CSS中伪类及伪元素用法详解 伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- AngularJS select中ngOptions用法详解
AngularJS select中ngOptions用法详解 一.用法 ngOption针对不同类型的数据源有不同的用法,主要体现在数组和对象上. 数组: label for value in a ...
- systemctl命令用法详解
systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...
- CSS3的@keyframes用法详解:
CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...
随机推荐
- php aes128加密
//[加密数据]AES 128 ECB模式 public function aesEncrypt($str){ $screct_key = Yii::$app->params['encryptK ...
- jQuery属性--addClass()和removeClass()
addClass(class|fn) 概述 为每个匹配的元素添加指定的类名 参数 class 一个或多个要添加到元素中的CSS类名,请用空格分开: function(index, class) ...
- 【2017-04-17】类库、通用变量、is和as、委托
类库dll文件,里边有很多被编译后的C#代码,不可阅读,不可修改,只能调用 1.类库创建 新建项目为类库,类库文件编写完成后,选择生成—生成解决方案,在debug文件夹下找到dll文件 2.类库引用 ...
- base_review
简述Python的字符串驻留机制. - 字符串驻留是一种仅保存一份相同且不可变字符串的方法. - 原理 - 系统维护interned字典,记录已被驻留的字符串对象. - 当字符串对象a需要驻留时,先在 ...
- 给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 <把一个整数各个数位进行全排列>
"""给定一个正整数,实现一个方法求出离该整数最近的大于自身的 换位数 -> 把一个整数各个数位进行全排列""" # 使用 permu ...
- canvas绘图,html5 k线图,股票行情图
canvas绘图,html5 k线图,股票行情图 canvas跟其他标签一样,也可以通过css来定义样式.但这里需要注意的是:canvas的默认宽高为300px * 150px,在css中为canva ...
- kivy 笔记
没有引入App对象,就不会得到一个窗口. kvlanguage用来构建UI界面,这个文件保存成”.kv”. kivy用widget来描述UI元素,lable.layout等都是widget 简单一点的 ...
- MySQL修改库名的方法
先创建新的库,再用RENAME TABLE 语句移动旧库中的表到新库,最后删除旧库. (root@localhost) [(none)] create database mydb_2; Query O ...
- K8S学习笔记之修改K8S的api-server证书
K8S的api-server证书包含很多IP和域名,有时候后期才发现证书内有错误,需要重新生成该证书. 修改server-csr.json,修改后基于原来的ca证书重新生成server.perm s ...
- Python 3 实现色情图片识别
Python 3 实现色情图片识别 项目简介 项目内容 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图片处理库,会编写算法来划分图像的皮肤区域. 项目知识点 Py ...