scATAC-seq4: scATAC-seq上游分析

2022-03-14 16:40:37 浏览数 (1)

引文

上期推文【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.csvfiltered_peak_bc_matrix.h5fragments.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的下游分析流程。

0 人点赞