前言
一不小心2020年又过完了,回望这一年的收获,算了,还是不回望了。作为2020年的最后一贴,今天来跟大家谈谈如何分析TCR-seq的数据,全称T-cell receptor sequencing。该方法诞生的目的就是用生物信息学手段来全面高速地分析高通量测序技术检测靶向扩增后的T细胞抗原识别决定性表面分子,即T细胞受体多样性的检测技术,用以揭示机体在生理和病理状态下T细胞介导的细胞免疫应答状态改变。如下面的示意图所示,T细胞介导的细胞免疫应答过程中,抗原呈递细胞(antigen-presenting cell,APC)摄取抗原(Ag)、消化形成抗原-MHC分子复合物,并呈递给T细胞。T细胞通过自身T细胞受体β链中V-D-J基因重排后的CDR3β参与抗原识别。
(TCR的基因由可变区(V)、多变区(D)、结合区(J)和恒定区(C)四部分基因片段组成,形成互补决定区(complementarities determining region, CDR)和间隔的4个骨架区(framework region, FR),基因结构如下图所示。在T细胞发育过程中CDR1、2和FR区域相对保守,CDR3区由V、D和J 进行重排而形成具有功能的TCR编码基因(T细胞克隆),由于V(65~100种)、D(2种)、J(13种)基因片段本身具有多样性,此外,由于在重排的过程中,在VD及D-J的连接区经常有非模板的核苷酸的随机插入或删除,进一步增加了CDR3区的多样性。这种基因片段连接的不准确性使TCR的表达呈多样性,以识别各种不同的抗原。
分析
目前,TCR-seq的数据有多种建库方式,根据建库方法的不同分别可以以DNA和RNA做为起始原料,两种材料都各有优缺点,由于研究mRNA可以获得最终的TCR产物,所以目前许多NGS方法都是以RNA作为起始材料而设计的。同时,RNA为起始材料还可以对整个J基因和V基因进行测序,并提供表达水平的信息。虽然不同建库方法会得到不同的数据,但对我们分析来都一样,为什么呢?因为有人已经考虑到这些了,将分析所有数据类型的功能都打包到同一个软件里面了,用起来也是相当的简单方便,这就是分析TCR-seq数据非常有名的软件——MiXCR。
MiXCR是基于java平台开发,所以可以免于安装,下载加压后即可直接使用。同时,该软件提供了一个 analyze
模式,可以一站式完成(align, assemblePartial, extend, assemble, assembleContigs and export) 这些分析。不过analyze
模式分为两种情况,一种是数据为mRNA转录组数据时用shotgun
子命令,示例代码如下:
mixcr analyze shotgun
-s \
--starting-material \
[OPTIONS] input_file1 [input_file2] analysis_name
另一种是数据来自于TCR-seq建库方式时用amplicon
子命令,示例代码如下:
mixcr analyze amplicon
-s \
--starting-material \
--5-end <5End> --3-end <3End> \
--adapters \
[OPTIONS] input_file1 [input_file2] analysis_name
除了上述的一步式分析外,也可以用分步的方式完成分析,代码如下所示:
mixcr align -s -p \
-OvParameters.geneFeatureToAlign= \
-OvParameters.parameters.floatingLeftBound=false \
-OvParameters.parameters.floatingRightBound=false \
-OvParameters.parameters.floatingRightBound=false \
[align options] input_R1.fastq [input_R2.fastq] my_analysis.vdjca
# assemble overlapping fragmented sequencing reads
mixcr assemblePartial [assemblePartial options] my_analysis.vdjca my_analysis.rescued_1.clna
mixcr assemblePartial [assemblePartial options] my_analysis.rescued_1.vdjca my_analysis.rescued_2.clna
# impute germline sequences for good TCR alignments
mixcr extend [extend options] my_analysis.rescued_2.vdjca my_analysis.rescued_2.extended.vdjca
# assemble CDR3 clonotypes
mixcr assemble --write-alignments [assemble options] my_analysis.rescued_2.extended.vdjca my_analysis.clna
# assemble contigs: execute only if --assembleContigs is specified
mixcr assembleContigs [assembleContigs options] my_analysis.clna my_analysis.clns
# export to tsv
mixcr exportClones [export options] my_analysis.clns my_analysis.txt
其中assemblePartial
和extend
两个步骤对于TCR-seq等靶向测序的数据是可选的步骤,可以省略,但对于mRNA转录组和非靶向的数据是需要包含的。
最终分析完成后,如采用的是一步式分析方式,会得到类似如下的结果:
mixcr
├── SPX6730-1.clns
├── SPX6730-1.clonotypes.ALL.txt
├── SPX6730-1.clonotypes.IGH.txt
├── SPX6730-1.clonotypes.IGK.txt
├── SPX6730-1.clonotypes.IGL.txt
├── SPX6730-1.clonotypes.TRA.txt
├── SPX6730-1.clonotypes.TRB.txt
├── SPX6730-1.clonotypes.TRD.txt
├── SPX6730-1.clonotypes.TRG.txt
├── SPX6730-1.extended.vdjca
├── SPX6730-1.report
├── SPX6730-1.rescued_0.vdjca
├── SPX6730-1.rescued_1.vdjca
└── SPX6730-1.vdjca
其中以‘txt’结尾的是细胞受体的克隆类型表格,这些表格就是想要的结果,大家根据表格的名字也能猜到表格都存储的是什么数据,这里我就不再赘述了。以‘report’结尾的文件记录了运行的参数以及是否完成等情况,类似log文件。其他则是一些中间步骤生成的二进制文件。
最后
MiXCR用起来相当方便,功能也十分强大,基本满足了我们对TCR-seq数据的基础分析。如果大家有什么特别的要求可以参考官方文档:https://mixcr.readthedocs.io/en/latest/index.html。下一期分享如何对基础结果做进一步的分析。
参考:
https://www.sohu.com/a/310928637_100126902
http://www.seqhealth.cn/list/26.html