引文
上期推文【scATAC-seq3:常用工具—SnapATAC简介】当中,我们主要对SnapATAC这一个工具的特点进行了简单的介绍。在本期推文当中,我们将继续上一次的话题,简单介绍scATAC-seq的上游分析流程,即最常用的Cellranger和用于SnapATAC分析的上游分析软件snaptools。
Cellranger 上游分析
1)版本的选择
对于Cellranger ATAC的版本相比于RNA而言要少很多,主要可以分为2.0和1.2及之前的版本。2.0版本相比于1.2之前的版本,在算法方面有了比较大的改动。
首先针对于标记PCR重复这一流程,1.2之前的版本主要以起始位置和末端位置为基础进行标记,造成的结果是序列的重复率会随着可及性的增加而增加。2.0版本则是除了基于起始和末端位置以外,同时根据散列的barcode进行标记,能够提高对标记重复的准确度。
此外,新旧版本的差异主要体现在peak calling。在旧版本当中,peak calling主要是基于计算得到的全局阈值,即全局阈值以上的含有平滑信号的连续区域,因此并不能准确识别所有的motif位点。新版本中对背景噪声更加敏感,准确度更高。
2)建立索引
Cellranger ATAC的建立索引主要需要三个文件:
- 参考基因组文件、
- GENCODE上的功能元件注释文件、
- 转录因子及其motif文件。
以建立人的GRCh38的索引为例,则需要:
- Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz、
- gencode.v32.primary_assembly.annotation.gtf.gz、
- JASPAR2018_CORE_non-redundant_pfms_jaspar.txt
这三个文件为基础进行建立。
具体建立索引的步骤可以参考 https://support.10xgenomics.com/single-cell-atac/software/release-notes/references
3)cellranger-atac count
scATAC的现在基本上从公司拿到的数据都是fastq结尾的原始文件,则直接可以从cellranger-atac count这个步骤开始运行。
代码语言:javascript复制cellranger-atac count --id=sample345
--reference=/opt/refdata-cellranger-arc-GRCh38-2020-A-2.0.0
--fastqs=/home/jdoe/runs/HAWT7ADXX/outs/fastq_path
--sample=mysample
--localcores=8
--localmem=64
和RNA相似,只是将参数中的--transcriptome
调整为--reference
。需要注意的是如果没有设置localcores和localmem,将会运用系统中可用的所有线程和内存。
4) 运行结果
代码语言:javascript复制Outputs:
- Per-barcode fragment counts & metrics: /home/jdoe/runs/sample345/outs/singlecell.csv
- Position sorted BAM file: /home/jdoe/runs/sample345/outs/possorted_bam.bam
- Position sorted BAM index: /home/jdoe/runs/sample345/outs/possorted_bam.bam.bai
- Summary of all data metrics: /home/jdoe/runs/sample345/outs/summary.json
- HTML file summarizing data & analysis: /home/jdoe/runs/sample345/outs/web_summary.html
- Bed file of all called peak locations: /home/jdoe/runs/sample345/outs/peaks.bed
- Raw peak barcode matrix in hdf5 format: /home/jdoe/runs/sample345/outs/raw_peak_bc_matrix.h5
- Raw peak barcode matrix in mex format: /home/jdoe/runs/sample345/outs/raw_peak_bc_matrix
- Directory of analysis files: /home/jdoe/runs/sample345/outs/analysis
- Filtered peak barcode matrix in hdf5 format: /home/jdoe/runs/sample345/outs/filtered_peak_bc_matrix.h5
- Filtered peak barcode matrix in mex format: /home/jdoe/runs/sample345/outs/filtered_peak_bc_matrix
- Barcoded and aligned fragment file: /home/jdoe/runs/sample345/outs/fragments.tsv.gz
- Fragment file index: /home/jdoe/runs/sample345/outs/fragments.tsv.gz.tbi
- Filtered tf barcode matrix in hdf5 format: /home/jdoe/runs/sample345/outs/filtered_tf_bc_matrix.h5
- Filtered tf barcode matrix in mex format: /home/jdoe/runs/sample345/outs/filtered_tf_bc_matrix
- Loupe Browser input file: /home/jdoe/runs/sample345/outs/cloupe.cloupe
- csv summarizing important metrics and values: /home/jdoe/runs/sample345/outs/summary.csv
- Annotation of peaks with genes: /home/jdoe/runs/sample345/outs/peak_annotation.tsv
- Peak-motif associations: /home/jdoe/runs/sample345/outs/peak_motif_mapping.bed
对于不同的下游分析软件,读取的文件是不同的。
- 是ArchR,读取的是
fragments.tsv.gz
文件; - 是SnapATAC,推荐的方式是通过将bam文件进行转化为snap文件或者也可以通过
fragments.tsv.gz
文件产生snap文件; - Signac则是需要
singlecell.csv
、filtered_peak_bc_matrix.h5
、fragments.tsv.gz
三个文件为基础进行读取。
所以,我们经常出现的情况是ArchR读取的细胞数量和Cellranger产生的summary中的细胞数量是不同的。
snaptools上游分析
上游分析流程(建立在fastq基础上)主要含有五个步骤:
1)测序文库拆分
2)建立索引文件
3)比对
4)数据预处理
5)产生表达矩阵
对于第一步主要是通过python进行实现,可以参考作者提供的代码 https://github.com/r3fang/SnapTools/blob/master/snaptools/dex_fastq.py 。其余的步骤(2-5)可以参考https://github.com/r3fang/SnapATAC/wiki/FAQs。如果之前运行过Cellranger,则可以通过产生的bam文件进行转换。
总结
本期我们主要是简单介绍了一下Cellranger ATAC的上游分析流程。总的来说,Cellranger ATAC的运行时间相比RNA运行的时间更长,而在下游分析的过程当中也发现scATAC-seq相比于scRNA-seq的运行时间和内存需要的更多。在下一期推文当中,我们会开始介绍scATAC-seq的下游分析流程。