5.2.4 CellRanger实战(四)流程概览

刘小泽写于19.5.7

这一篇主要看流程,不涉及真实数据展示

总的来说,Cell Ranger主要的流程有:拆分数据 mkfastq、细胞定量 count、定量组合 aggr、调参reanalyze,还有一些小工具比如mkref、mkgtf、upload、sitecheck、mat2csv、vdj、mkvdjref、testrun

首先是mkfastq 拆分数据

虽然这里用不到(因为我们下载的就是fastq数据),但是为了流程的完整还是要学习一下

目的:将每个flowcell 的Illumina sequencer's base call files (BCLs)转为fastq文件

特色: 它借鉴了Illumina出品的bcl2fastq,另外增加了:

  • 将10X 样本index名称与四种寡核苷酸对应起来,比如A1孔是样本SI-GA-A1,然后对应的寡核苷酸是GGTTTACT, CTAAACGG, TCGGCGTC, and AACCGTAA ,那么程序就会去index文件中将存在这四种寡核苷酸的fastq组合到A1这个样本

  • 提供质控结果,包括barcode 质量、总体测序质量如Q30、R1和R2的Q30碱基占比、测序reads数等

  • 可以使用10X简化版的样本信息表

它的示意流程:

图1

两种使用方式:

samplesheet.csv文件就是illumina常规使用的,类似下面这种。它除了需要指定各种ID、name之外,还要根据不同的试剂盒版本调整[Reads]长度

V2试剂盒R1序列长度为26bp(包括16bp的barcode+10bp的UMI),R2为98bp; V3试剂盒R1序列长度为28bp(包括16bp的barcode+12bp的UMI),R2为91bp

图2

还有一种10X定制的简单化的csv文件,例如:

使用简化版的这个文件,可以识别使用的试剂盒版本,然后自行调整reads的长度信息

最后的结果就是三个文件:I1序列文件以及两个测序文件R1、R2

目录结构如下:

自己分析的数据也要改成这种结构存放,方便后续分析

小Tip--指定fastq文件位置

后续分析需要指定fastq位置,但是这些fastq文件可以由cellranger mkfastq得到,也可以利用s Illumina's bcl2fastq 、公共数据、10Xbamtofastq ,每种情况可能得到的fastq存放位置是不同的,那么如何根据不同情况进行指定呢?

第一种情况:

利用mkfastq或者bcl2fastq生成的文件,大概长这样

图3

其实从上面的各种设置也能看出来,一开始的样本命名规则是非常重要的

第二种情况:

也是利用mkfastq或者bcl2fastq生成的文件,但是同一个样本的数据放在不同的目录

图4

第三种情况:

也是利用mkfastq或者bcl2fastq生成的文件,但和Reports、Stats在同一个目录

图5

第四种情况:

使用 mkfastq or bcl2fastq 得到的fastq文件和Report、Stats不在同一个目录,但命名方式与之前一样,这个目录中只能看到fastq文件

图6

第五种情况:

fastq命名方式变了,类似于这样:

图7

它一般是从demux流程中拆分出来的数据,但是目前被mkfastq取代,没有好的方法,需要知道样本相关的index或者oligos

第六种情况:

数据命名与上面完全不同,因此需要自己重命名,方式就是

图8

分析时就可以直接调用了

然后是count 细胞定量

这个过程是最重要的,它完成细胞与基因的定量,它将比对、质控、定量都包装了起来,内部流程很多,但使用很简单

先学会使用

每个版本要求的参数是不同的,尤其是V2与V3版本存在较大差异,这里先对V2进行了解

基本上自己需要输入的参数是:

它的输出文件有很多

从上到下依次来看:

  • web_summary.html:官方说明 summary HTML file

  • metrics_summary.csv:CSV格式数据摘要

  • possorted_genome_bam.bam:比对文件

  • possorted_genome_bam.bam.bai:索引文件

  • filtered_gene_bc_matrices:是重要的一个目录,下面又包含了 barcodes.tsv.gz、features.tsv.gz、matrix.mtx.gz,是下游Seurat、Scater、Monocle等分析的输入文件

  • filtered_feature_bc_matrix.h5:过滤掉的barcode信息HDF5 format

  • raw_feature_bc_matrix:原始barcode信息

  • raw_feature_bc_matrix.h5:原始barcode信息HDF5 format

  • analysis:数据分析目录,下面又包含聚类clustering(有graph-based & k-means)、差异分析diffexp、主成分线性降维分析pca、非线性降维tsne

  • molecule_info.h5:下面进行aggregate使用的文件

  • cloupe.cloupe:官方可视化工具Loupe Cell Browser 输入文件

一些内置软件和算法

基因组比对—是否在外显子?

利用了 STAR比对工具,这款比对工具比对速度快,灵敏度高,是ENCODE、GATK推荐使用的工具,允许基因的可变剪切。比对完之后,利用GTF文件将reads溯源回外显子区、内含子区、基因间区:如果一条read的50%以上与外显子有交集,那么就认为它在外显区;如果不在外显子区,与内含子有交集,那么就认为它在内含子区;与外显子、内含子都没有交集,那么就认为在基因间区

MAPQ 辅助判断—在外显子的正确率有多少?

如果reads比对到了一个外显子区,同时也比对到了1个或多个的非外显子区,更相信它在外显子区,然后看MAPQ值,值越大越可信,如果MAPQ的值为255的话,那么就可以非常确定它比对到了外显子区

MAPQ即mapping quality,告诉我们这个read比对到参考基因组上某个位置的可信度,它的公式是:-10logP(error),如果这个值大于30就认为比对发生错误的概率是千分之一

转录组比对—是否特异比对?

如果上面得到的外显子区域reads同时比对上有注释转录本上的外显子,并且在同一条链上,那么认为这个reads也比对到了转录组;如果只比对到单个基因的注释信息,那么认为它是特异比对到转录组的(uniquely /confidently mapped ),这样的reads才会拿来做接下来的UMI 计数

重点和难点在于自主构建参考信息

Cell Ranger为比对和定量提供了参考基因组及注释 pre-built human (hg19, GRCh38), mouse (mm10), and ercc92 reference packages

但是很多时候,我们需要根据自己的需要,自定义一套参考信息,但需要注意以下问题:

  • 参考序列只能有很少的 overlapping gene annotations,因为reads比对到多个基因会导致流程检测的分子数更少(它只要uniquely mapped的结果)

  • FASTA与GTF比对和STAR兼容,GTF文件的第三列(feature type)必须有exon,过滤后的GTF只包含有注释的基因类型

首先利用mkgtf过滤GTF文件

先从 ENSEMBL或UCSC上下载,然后使用mkgtf

然后利用mkref构建参考索引

如果要增加基因信息

参考链接:https://kb.10xgenomics.com/hc/en-us/articles/115003327112-How-can-we-add-genes-to-a-reference-package-for-Cell-Ranger-

第一步,在fasta/genome.fa的FASTA基础上增加序列信息;

第二步,在genes/genes.gtf的GTF基础上增加注释信息,注意格式

第三步,使用cellranger mkref运行更新一下

P.S. 最后得到的参考信息(包括参考基因组、注释信息)文件结构如下:

多个文库的整合 aggr

当处理多个生物学样本或者一个样本存在多个重复/文库时,最好的操作就是先分别对每个文库进行单独的count定量,然后将定量结果利用aggr组合起来

第一步 得到count结果

例如现在分别进行3个定量流程

第二步 构建Aggregation CSV

就像这样:

第三步 运行aggr

至于最后的 reanalyze ,这个属于定制化分析,这里暂时不做探讨,日后待标准化流程构建起来,再补充这一部分

最后更新于

这有帮助吗?