CeleScope 教程 || 单细胞免疫组库数据分析
🍳 恭喜!当您打开这个文档,说明您已经获得单细胞数据,开启了单细胞数据分析之旅。在您正式使用celescope分析新格元单细胞数据之前,我们希望向您介绍celescope软件的一些基本过程。您可以快速阅读文档,并在您的服务器上完成单细胞免疫组库的下机数据到TCR或BCR克隆类型的分析。
一、简介
人体获得性免疫系统通过后天刺激而形成,能识别并清除多种病原体以保护组织正常,主要由B细胞和T细胞表面的抗原受体组成(BCR、TCR)。BCR和TCR都是由两条不同的链连接而成,BCR包含免疫球蛋白重链(heavy chain)和轻链(light chain),TCR为α链和β链。BCR的重链以及TCR的β链序列由V(viable)-D(diversity)-J(join)三部分组成,而BCR轻链及TCR的α链则只有V和J两部分。通过V-D-J片段的随机重组,V-D、D-J片段连接区的碱基随机插入删除,以及超突变(hypermutation)使得免疫组库的编码序列异常丰富,从而形成了人体内复杂的免疫组库系统。
基于特异性靶向TCR/BCR分子恒定区的探针结构,能在核酸捕获的阶段就大幅度提高TCR/BCR的mRNA分子被捕获率,因此利用GEXSCOPE®单细胞免疫受体建库试剂盒构建的免疫受体测序文库中, TCR/BCR分子多样性、单细胞转录本定量、单细胞重轻链匹配度均处于较高水平。 GEXSCOPE®单细胞免疫受体建库试剂盒可用于从单细胞层面解析机体或组织内TCR/BCR分子种类,丰度以及变化情况,从而进一步探究特异性免疫系统与肿瘤、免疫疾病、病毒感染的关系。
二、celescope vdj 运行过程
celescope vdj 生成的单细胞免疫组库数据的基本流程,它执行预处理、vdj序列比对、UMI过滤和克隆类型计数。
vdj pipeline (单细胞免疫组库分析) 包含五个主要指令,可以通过 celescope vdj {指令} --help 查看:
conda activate celescope
celescope vdj --help
usage: celescope vdj [-h]
{sample,barcode,cutadapt,consensus,mapping_vdj,count_vdj}
...
Single-cell vdj
positional arguments:
{sample,barcode,cutadapt,consensus,mapping_vdj,count_vdj}
optional arguments:
-h, --help show this help message and exi
下载测试数据与脚本
为了便于测试软件,我们在github上托管了测试数据(请注意,这些数据仅供测试用途,部分数据是人为生成的)。
mkdir test_dir
cd test_dir
git clone https://github.com/singleron-RD/celescope_test_data.git
git clone https://github.com/singleron-RD/celescope_test_script.git
当然,也可以在gitee上下载:
mkdir test_dir
cd test_dir
git clone https://gitee.com/singleron-rd/celescope_test_data.git
git clone https://gitee.com/singleron-rd/celescope_test_script.git
所有的软件DEMO测试数据我们已经在celescope
rna
的教程中下载过,这里可以看一下vdj 数据的结构,让我们看一看下载的测试数据
$ tree
.
|-- fake_match_dir
| `-- 05.count
| `-- fake_match_dir_matrix_10X
| `-- barcodes.tsv
`-- fastqs
|-- tcr_1.fq.gz
`-- tcr_2.fq.gz
下面是测试脚本:
cd vdj
$ tree -L 2
.
|-- run_shell.sh
`-- tcr.mapfile
三、单细胞免疫组库实操环节
单细胞免疫组库研究在实验过程中会构建一个转录组文库和一个免疫受体富集文库,因此数据分析也就分为两个环节:
(1) 单细胞转录组分析
(2) 单细胞免疫受体分析
本篇文章内只介绍 单细胞免疫受体数据分析 ,而celescope分析单细胞转录组数据的教程已经在上一期中进行介绍。此外,如果只做免疫受体数据分析,可以单独建单细胞免疫组库进行分析,后续的分析流程是一致的。
在分析之前我们先要激活我们celescope软件的运行环境,可以使用conda activate celescope
命令进行激活。
(base) singleron 13:20:48 /vdj
$ conda activate celescope
(celescope) singleron 13:21:18 /vdj
然后就是接下来要使用的两个重要的配置文件,tcr.mapfile
和run_shell.sh
$ tree -L 1
.
|-- run_shell.sh
`-- tcr.mapfile
1、用 multi_vdj
构建 celescope vdj 分析的 shell 脚本
配置 mapfile文件--mapfile
是multi_vdj下的参数,需要提供一个制表符分隔 (tab-delimited) 的文本文件。mapfile 的每一行代表双端 (paired-end) fastq文件。
tcr /singleron/celescope_test_data/vdj/fastqs vdj_test /singleron/celescope_test_data/vdj/fake_match_dir
其中,第一列 vdj_fastq_ID:对应 vdj_fastq文件的名称前缀
第二列 vdj_datapath:对应 vdj_fastq文件的路径
第三列 vdj_sample_name:对应质控报告的名称
第四列:对应与其“配对的”单细胞转录组分析 “fake_match_dir” 路径
另一个是 shell 脚本文件:run_shell.sh
multi_vdj \
--mapfile ./mapfile\
--chemistry auto\
--outdir .\ #输出到当前文件夹
--type TCR \ #可以输入TCR 或 BCR
--gzip #生成的clean_data为 fq.gz 形式
# 如果增加参数“--not_consensus”,分析过程中将不会生成consensus相关目录
2、生成命令脚本
(1)运行刚编辑好的shell脚本run_shell.sh
$ sh run_shell.sh
(2)运行完以后就可以自动生成一个名称为shell
的文件目录。
$ tree -L 1
.
|-- run_shell.sh
|-- shell
`-- tcr.mapfile
shell
文件夹中会有一个以vdj_test
命名的脚本运行存储数据的目录,以及一个运行的shell脚本vdj_test.sh
,vdj_test.sh
脚本中的每行指令对应每一步分析(质控报告的每一部分数据)。
3、投递shell脚本
进入到shell目录中,就可以运行脚本vdj_test.sh
,然后在终端命令行中输入sh vdj_test.sh
。那么程序就会在当前的终端界面运行。但是,如果在当前的终端界面中进行运行,终端界面就不能关闭,也不能掉线。那么,为了避免这种情况的发生,我们可以使用nohup将运行脚本提交到后台运行,执行nohup sh vdj_test.sh &
,然后会生成一个nohup.out
的日志文件。
$ tree -L 1
.
|-- vdj_test
|-- vdj_test.sh
`-- nohup.out
如果对每一步做了什么感兴趣,可以单独运行查看,vdj_test.sh 里面是:
$ cat test1.sh
**celescope vdj sample** --outdir .//test1/00.sample --sample test1 --assay vdj --thread 4 --chemistry auto --fq1 /mnt/sdd/singleron_training_class/resources/celescope_test/celescope_test_data/vdj/fastqs/tcr_1.fq.gz
**celescope vdj barcode** --outdir .//test1/01.barcode --sample test1 --assay vdj --thread 4 --chemistry auto --lowNum 2 --fq1 /mnt/sdd/singleron_training_class/resources/celescope_test/celescope_test_data/vdj/fastqs/tcr_1.fq.gz --fq2 /mnt/sdd/singleron_training_class/resources/celescope_test/celescope_test_data/vdj/fastqs/tcr_2.fq.gz
**celescope vdj cutadapt** --outdir .//test1/02.cutadapt --sample test1 --assay vdj --thread 4 --minimum_length 20 --nextseq_trim 20 --overlap 10 --insert 150 --fq .//test1/01.barcode/test1_2.fq
**celescope vdj consensus** --outdir .//test1/03.consensus --sample test1 --assay vdj --thread 4 --threshold 0.5 --min_consensus_read 1 --fq .//test1/02.cutadapt/test1_clean_2.fq
**celescope vdj mapping_vdj** --outdir .//test1/04.mapping_vdj --sample test1 --assay vdj --thread 4 --type TCR --species hs --fq .//test1/03.consensus/test1_consensus.fq
**celescope vdj count_vdj** --outdir .//test1/05.count_vdj --sample test1 --assay vdj --thread 4 --type TCR --UMI_min auto --iUMI 1 --match_dir /mnt/sdd/singleron_training_class/resources/celescope_test/celescope_test_data/vdj/fake_match_dir --UMI_count_filter_file .//test1/04.mapping_vdj/test1_UMI_count_filtered.tsv
4、结果目录
运行完成之后,可以看一下结果文件,其目录如下:
$tree
.
|-- 00.sample
| `-- stat.txt
|-- 01.barcode
| |-- stat.txt
| `-- test1_2.fq
|-- 02.cutadapt
| |-- cutadapt.log
| |-- stat.txt
| `-- test1_clean_2.fq
|-- 03.consensus
| |-- stat.txt
| |-- test1_consensus.fq
| |-- test1_sorted.fq.tmp
| `-- tmp
|-- 04.mapping_vdj
| |-- stat.txt
| |-- test1_UMI_count_filtered.tsv
| |-- test1_UMI_count_unfiltered.tsv
| |-- test1_align.txt
| |-- test1_alignments.txt
| |-- test1_not_align.fq
| `-- test1_read2.vdjca
|-- 05.count_vdj
| |-- stat.txt
| |-- test1_cell_confident.tsv
| |-- test1_cell_confident_count.tsv
| |-- test1_clonetypes.tsv
| `-- test1_match_clonetypes.tsv
`-- test1_report.html # 测序数据质量、捕获细胞数、中值UMI数、饱和度、克隆类型统计的分析报告
当我们运行完以后,就可以得到一个单细胞免疫组库的网页版报告。
质控报告的样本和软件的基本信息 数据质控信息 一致性序列 VDJ基因比对 生成克隆类型计数
进行UMI计数以及细胞数目评估和克隆型数据统计。克隆类型详细信息统计
好啦,以上就是一个完整的新格元单细胞细胞免疫受体数据分析流程,接下来就可以进行深入的克隆型多样性分析啦。
下一期,我们介绍celescope的DynaSCOP™单细胞转录动态数据分析流程~