featurecounts的使用说明

官网:http://subread.sourceforge.net/

一、原理

文献参考:featureCounts: an efficient general purpose program for assigning sequence reads to genomic features

摘要

1、在高通量测序分析中用于下游分析的关键信息是比对到每个genomic feature(外显子、基因等)中的read数目,而计数的过程称为read summarization
2、featurecounts是一款使用于RNA-seq和DNA-seq的read summarization工具,应用了高效率的染色体哈希算法和feature区块技术
3、它比目前存在的工具速度都快,而且需要的内存空间少,同时可以用于单端和双端的数据

背景

1、高通量数据比对产生的结果无法让我们对其中的生物学过程产生深刻的理解, 只有将其转化成我们感兴趣的基因组特征的read count才行
2、这些我们感兴趣的基因组特征可能是外显子、基因、启动子区域、gene body或者是基因组间隙,而read counts是下游很多分析进程的输入文件
3、目前大家对计数中存在的问题关注度比较少,read count program 要求可以同时对DNA和RNA及单双端的read进行统计,同时这些片段相对于参考基因组可能包括插入、缺失、融合,同时当需要计数的feature类别很多时,又会产生一定的计算压力
4、DNA-seq read统计的方法大有不同,首先,DNAseq read可能来源于基于转录因子结合位点的chip-seq、基于组蛋白marker的chipseq或DNA甲基化测序,而这些测序关心的基因组区域很多都是基因组的间隙位置,之前有人通过计算启动子区域和这个基因体的read数分析组蛋白marker。
5、RNA-seq的计数可能更复杂,因为需要考虑到外显子剪切。一种计数方法是数一下与每一个被注释的外显子重合的read,另外一种方法是数一下与每一个基因区域重合的read
6、另一个问题是,尽管read count中包含感兴趣基因区域的所有信息,但是我们无法区分isoform的信息,因为同一基因下的不同的isoform存在很大程度的重合区域,很多基于模型的方法被开发同时也有人统计过isoform中不重合的区域作为统计的依据
7、还有一个问题是,很多工具开发的语言都是基于R和python,速度慢。
8、综上,read summarization遇到的问题为 1)对于不同实验需要不同的统计的genomic feature 2)对于同一个实验中,普通软件无法识别isoform 3)很多软件计算速度慢

数据格式和输入形式

1、输入数据

1、输入的数据有两类,一类是SAM/BAM文件,另一类是GTF/GFF/SAF,其中SAM/BAM可以输入一个或多个
2、SAM/BAM文件和GTF/GFF/SAF文件需要来自同一个参考基因组,即必须参考基因组和GTF/GFF/SAF文件来自同一个网站,同一个版本
3、SAM/BAM主要提供read所比对到的染色体/contig,read在染色体上的位置以及CICAR信息,即SAM/BAM中的三列信息,GFF/GTF/SAF主要提供feature identifier(如geneID), chromosomename, start position, end position and strand 这五列信息
4、featurecounts也支持链特异性的read的计数,前提是要提供链特异性的信息,同时featurecounts也支持用于根据比对结果中的比对质量分数来卡阈值选择合适的比对结果进行定量

2、单端和双端测序

如果是双端测序,这一对read定义了一个DNA/RNA片段的两端,这种情况下,featurecounts会计算片段数(fragment)而不是read数

3、feature和meta-feature

1、feature是指基因组上被定义的一个片段区域,meta-feature是指多个feature组成的区域,如exon和gene的关系
2、分享相同的feature identifier(GTF文件中有) 的features属于同一个meta-feature
3、featurecounts可以对features和meta-feature进行计数

算法原理

1、read与feature重叠的情况

1、featurecounts通过比较 基因组区域上每个feature所在的位置与read或fragment中每一个碱基比对的位置的关系,来精确的对read进行计数
2、它考虑了read上的各种gap,如插入、缺失、外显子剪切和融合
3、如果在read/fragment与feature中,二者至少有1bp的交集,那就实现一次命中(hit)
4、如果在read/fragment与meta-feature下属的任意feature有交集,就认为是一次命中(hit)

2、多重overlap

1、多重overlap是指一个read/fragment跨越了两个feature或在计数meta-feature时跨越两个meta-feature
2、featurecounts可以让用户选择,是排除这种多重overlap的read还是对每个被overlap的feature都计一次数,而这样的选择是由你自己的实验类型决定的
3、如果是RNA-seq实验,我们推荐把这种read去掉,因为单个fragment一定都是起源于一个目标基因的,而这种匹配到多个基因的情况,最好不要!
4、如果是chip-seq实验,我们建议保留,因为这种实验很有可能调控了多个靶基因或基因区域,这些靶基因的共同的部分可能会被富集到!
5、注意,如果在计数meta-feature的时候,在同一个meta-feature中overlap两个feature的read/fragment一定只计数一次!

3、染色体哈希

1、注意,这里的reference sequence是指参考基因组中的拼装等级,read、contig、scaffold、chromosome
2、一开始,featurecounts会为reference sequence 产生一个哈希表,它可以让match变的更快
3、在完成read和feature的match后,随后的分析可以在每一个reference sequence 中分别进行

4、基因组bin 和feature block

1、上面提到后续的分析都在每个reference sequence中进行
2、feature会先按照它们起始的位置排好顺序(从左起的base开始,leftmost base position,类似于samtools的sort),之后会创建两个层级
3、首先,reference sequence会先被分成非重叠的128kb长度的众多bins,而feature会按照其起始位置在bin中分布
4、对于每一个bin,其中相同数目的连续的feature会聚为一堆,形成block,其中一个bin中的block的数目会是该bin中feature数目的平方根,这样保证了一个block中的feature的数目与bin中的block的数目近似相等
5、这种层级结构的使用是featurecount能够实现快速定量的基础
6、之后需要定量的read会先跟bin比较,然后跟bin中的block比较,然后再跟feature比较,最后再通过预设的比较层级(feature还是meta-feature)以及是否计数(上面overlap的情况判断)来对计数做出决断。


bin与block

二、操作说明

用户手册下载:http://bioinf.wehi.edu.au/subread-package/SubreadUsersGuide.pdf
featurecounts说明在P31

基本表达式

featureCounts [options] <input.file>

参数说明

参数 说明
input file 输入的bam/sam文件,支持多个文件输入
-a < string > 参考gtf文件名,支持Gzipped文件格式
-F 参考文件的格式,一般为GTF/SAF,C语言版本默认的格式为GTF格式
-A 提供一个逗号分割为两列的文件,一列为gtf中的染色体名,另一列为read中对应的染色体名,用于将gtf和read中的名称进行统一匹配,注意该文件提交时不需要列名
-J 对可变剪切进行计数
-G < string > 当-J设置的时候,通过-G提供一个比对的时候使用的参考基因组文件,辅助寻找可变剪切
-M 如果设置-M,多重map的read将会被统计到
-o < string > 输出文件的名字,输出文件的内容为read 的统计数目
-O 允许多重比对,即当一个read比对到多个feature或多个metafeature的时候,这条read会被统计多次
-T 线程数目,1~32
下面是有关featrue/metafeature选择的参数 参数说明
-p 只能用在paired-end的情况中,会统计fragment而不统计read
-B 在-p选择的条件下,只有两端read都比对上的fragment才会被统计
-C 如果-C被设置,那融合的fragment(比对到不同染色体上的fragment)就不会被计数,这个只有在-p被设置的条件下使用
-d < int > 最短的fragment,默认是50
-D < int > 最长的fragmen,默认是600
-f 如果-f被设置,那将会统计feature层面的数据,如exon-level,否则会统计meta-feature层面的数据,如gene-levels
-g < string > 当参考的gtf提供的时候,我们需要提供一个id identifier 来将feature水平的统计汇总为meta-feature水平的统计,默认为gene_id,注意!选择gtf中提供的id identifier!!!
-t < string > 设置feature-type,-t指定的必须是gtf中有的feature,同时read只有落到这些feature上才会被统计到,默认是“exon”

三、实例说明

1、当我们想对feature水平进行统计的时候,需要设置-f参数

featureCounts -T 10 -a $gtf -o read.count -p -B -C -f -t exon -g gene_id  *.bam

2、当我们想对meta-feature水平进行统计的时候,不能设置-f参数

featureCounts -T 10 -a $gtf -o read.count -p -B -C -f -t exon -g gene_id  *.bam
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容