htseq-count是一款用于reads计数的轻便软件,可以用于多种mapping软件(tophat、HISAT2、BWA等)的输出结果进行计数。
一、htseq-count参数简介
1 | # 用法概述 |
指定输入文件的格式,<format>
可以是 sam (for text SAM files) 或 bam (for binary BAM files)格式,默认是sam.
对于双端测序数据,必须要对SAM文件进行排序,对read name或 染色体位置 进行排序皆可,但是推荐使用read name进行排序,将会大大节约时间及服务器资源。通过 -r 可以指定数据是以什么方式排序的:
如果数据没有排序,可以通过samtools sort(推荐)或msort 排序。
二、htseq-count的输入文件
输入为sam或bam格式文件,需要注意的是,如果是paired-end数据必须按照reads名称排序(sort by name),否则运行时间很长,且内存占用高。
1 | samtools sort -n file.bam #sort bam by name |
三、htseq-count的使用和参数
1 | Usage:htseq-count [options] <sam_file> <gff_file> |
主要参数说明:
-m 计数模型,统计reads的时候对一些比较特殊的reads定义是否计入。包括:默认的union和intersection-strict、 intersection-nonempty具体说明如图所示。
htseq-count-s reads是否匹配到同一条链上,默认:yes,可以设置no 、 reverse。对于一般的RNA-seq数据,一般选择no
-t feature type 计数单位类型,在gtf或者gff文件中,外显子为最小的定义单位,可选参数有:exon, gene, transcript。默认值:exon
-i 最终的计数单位,一般为基因。 默认为:gene_id 也可以设置转录本,但由于模型问题,计数效果不佳。
-o 输出所有alignment的reads到一个sam文件中。可以不设置。
四、htseq-count的结果文件
结果文件如下图所示:
![image_1bni91970eac128789jmstl4o9.png-56.4kB][1]
[1]: http://static.zybuluo.com/oxygenjing/cneczjpj4ruad3puui5231zp/image_1bni91970eac128789jmstl4o9.png
可以看到是两列的文件,第一列是ensemble id,第二列则是该基因的count值。文件末尾会对重复值或没有匹配上的值进行统计。
多个样本通过htseq-count得到的count文件可以通过脚本进行可并为count值矩阵,进而使用DEseq2等R包进行下游分析。