RNA-seq
定量为人熟知的流程是先用STAR
软件做比对生成bam
,然后使用featureCounts
等软件定量。不过,一直有一个疑问,为什么不直接使用STAR软件做基因表达定量呢?为此,首先问了一下ChatGPT
:
可以看出ChatGPT
也算是给出了比较用心的答案,虽然大部分信息说得没错,但还是有不尽人意的地方,说STAR
不直接提供基因表达定量的信息就有点容易忽悠人了。
既然,ChatGPT
没有给出满意的答案,那咱就来实际验证一下STAR
直接定量的效果。如果要直接生成基因表达量文件只需在比对命令的基础上添加参数--quantMode
即可,代码示例如下:
STAR --runThreadN 10 \
--genomeDir star_index \
--outSAMtype BAM SortedByCoordinate \
--twopassMode Basic \
--readFilesCommand zcat \
--outFileNamePrefix sample \
--quantMode GeneCounts \
--readFilesIn sample_R1.fastq.gz sample_R2.fastq.gz
程序运行结束后,除了比对模式应该生成的文件外会多一个文件ReadsPerGene.out.tab
,内容如下:
N_unmapped 1815241 1815241 1815241
N_multimapping 1869591 1869591 1869591
N_noFeature 4150865 18705142 18716656
N_ambiguous 3358130 810685 810253
ENSG00000223972.5 1 1 1
ENSG00000227232.5 103 43 61
ENSG00000278267.1 5 1 4
ENSG00000243485.5 0 0 0
ENSG00000284332.1 0 0 0
ENSG00000237613.2 0 0 0
前四行是一些统计信息,从第五行开始一行记录一个基因的表达值:
column 1: gene ID
column 2: counts for unstranded RNA-seq
column 3: counts for the 1st read strand aligned with RNA (htseq-count option -s yes)
column 4: counts for the 2nd read strand aligned with RNA (htseq-count option -s reverse)
下面将STAR
直接定量的结果与featureCounts
做个对比:
ensembl_geneid featurecount star
1 ENSG00000000003 3 3
2 ENSG00000000005 0 0
3 ENSG00000000419 547 546
4 ENSG00000000457 545 495
5 ENSG00000000460 342 314
6 ENSG00000000938 2476 2476
从上面展示的基因表达值,可以看出两者的结果很一致。当然,这几个基因并不能代表整体结果,为了全面比较,用两者全部基因的表达值做如下的散点图:
果然,意料之中的结果,相关性0.99,两者的整体一致性非常好。RNA-seq
定量直接使用STAR
不失为一条快捷方便的途径。
网友评论