简介

immunarch包是一个主要面向于医学科学家和生物信息学家们设计的,专门针对 T 细胞受体 (TCR) 和 B 细胞受体 (BCR) 免疫组库数据进行分析的R包。使用immunarch包,使得免疫组库测序数据的分析变的尽可能轻松,并帮助您专注于研究而非编程。

为什么使用immunarch

  • 可以分析处理任何类型的免疫组库数据: single-cell、bulk、data tables、databases — 随心所欲。
  • 以社区为核心: 在全球近 30,000 名研究人员和医学科学家组成的社区中提出问题、分享知识并茁壮成长。辉瑞、诺华、再生元、斯坦福、加州大学旧金山分校麻省理工学院都信任我们。
  • 一行代码一张图:8 行代码写一篇完整的博士论文或用 5-10 行immunarch代码复制出几乎所有出版物中的图表。
  • 站在科学的前沿: 我们会定期更新immunarch最新的方法。让我们知道你需要什么!
  • 自动检测和解析 所有流行的免疫测序格式:从MiXCRImmunoSEQ10XGenomicsArcherDX

特征

  1. 快速简便地操作免疫组库数据:
  1. 使得免疫组库数据分析变得简单:
    • 大多数分析方法都包含在几个具有明确命名的主要函数中——不用再去记住数十个名称晦涩的函数。详情见链接
    • 克隆库重叠分析(Repertoire overlap analysis )(常用指标包括重叠系数、Jaccard 指数和 Morisita 重叠指数)。教程可在此处获得
    • TCR/BCR基因使用估计(Gene usage estimation )(相关性、Jensen-Shannon Divergence、聚类)。教程可以在这里找到
    • 克隆多样性评价(Diversity evaluation)(生态多样性指数、基尼指数、逆辛普森指数、稀疏分析)。教程可以在这里找到
    • 跨时间点克隆型追踪(Tracking of clonotypes across time points),广泛用于疫苗接种和癌症免疫学领域。教程可以在这里找到
    • Kmer分布测量和统计(Kmer distribution measures and statistics)。教程可以在这里找到
    • 即将发布的下一个版本:CDR3 氨基酸序列理化特性评估、突变网络。
  1. 带有丰富的用于可视化操作的内置工具:
    • 丰富的ggplot2可视化程序;
    • 内置工具FixVis使您可以交互式操作可视化:使用清晰的 GUI 轻松更改字体大小、文本角度、标题、图例等;
    • 教程可在此处获得

Immunarch包的安装

可以直接在CRAN上安装,或者通过GitHub安装最新或的开发版本。

Latest release on CRAN

  1. install.packages("immunarch")

Latest release on GitHub

  1. install.packages("devtools") # skip this if you already installed devtools
  2. devtools::install_github("immunomind/immunarch")

Latest pre-release on GitHub

  1. install.packages("devtools") # skip this if you already installed devtools
  2. devtools::install_github("immunomind/immunarch", ref="dev")

快速开始

接下来,我们将使用immunarch包内置的测试数据集进行演示 TCR 或 BCR的数据分析工作流程。
1) 加载包和示例数据

  1. # 加载所需的包和数据集
  2. library(immunarch) # Load the package into R
  3. data(immdata) # Load the test dataset
  4. # 查看示例数据
  5. names(immdata)
  6. #[1] "data" "meta"
  7. names(immdata$data)
  8. # [1] "A2-i129" "A2-i131" "A2-i133" "A2-i132" "A4-i191" "A4-i192" "MS1" "MS2" "MS3"
  9. # [10] "MS4" "MS5" "MS6"
  10. head(immdata$data$`A2-i129`)
  11. ## A tibble: 6 x 15
  12. # Clones Proportion CDR3.nt CDR3.aa V.name D.name J.name V.end D.start D.end J.start VJ.ins
  13. # <dbl> <dbl> <chr> <chr> <chr> <chr> <chr> <int> <int> <int> <int> <dbl>
  14. #1 173 0.0204 TGCGCC… CASSQE… TRBV4… TRBD1 TRBJ2… 16 18 26 31 -1
  15. #2 163 0.0192 TGCGCC… CASSYR… TRBV4… TRBD1 TRBJ2… 11 13 18 22 -1
  16. #3 66 0.00776 TGTGCC… CATSTN… TRBV15 TRBD1 TRBJ2… 11 16 22 34 -1
  17. #4 54 0.00635 TGTGCC… CATSIG… TRBV15 TRBD2 TRBJ2… 11 19 25 26 -1
  18. #5 48 0.00565 TGTGCC… CASSPW… TRBV27 TRBD1 TRBJ1… 11 16 23 31 -1
  19. #6 48 0.00565 TGCGCC… CASQGD… TRBV4… TRBD1 TRBJ1… 8 13 19 23 -1
  20. # … with 3 more variables: VD.ins <dbl>, DJ.ins <dbl>, Sequence <lgl>
  21. names(immdata$data$`A2-i129`)
  22. # [1] "Clones" "Proportion" "CDR3.nt" "CDR3.aa" "V.name" "D.name" "J.name"
  23. # [8] "V.end" "D.start" "D.end" "J.start" "VJ.ins" "VD.ins" "DJ.ins"
  24. # [15] "Sequence"
  25. head(immdata$meta)
  26. ## A tibble: 6 x 6
  27. # Sample ID Sex Age Status Lane
  28. # <chr> <chr> <chr> <dbl> <chr> <chr>
  29. #1 A2-i129 C1 M 11 C A
  30. #2 A2-i131 C2 M 9 C A
  31. #3 A2-i133 C4 M 16 C A
  32. #4 A2-i132 C3 F 6 C A
  33. #5 A4-i191 C8 F 22 C B
  34. #6 A4-i192 C9 F 24 C B

该示例数据集主要由两部分组成,其中data部分存储了12个样本的TCR或BCR注释信息,meta部分存储了这12个样本的metadata注释信息。
其中,data部分存储的每个样本的TCR或BCR注释信息包括以下条目:

  • Clones”——条形码(events, UMIs)或reads的计数或数量;
  • Proportion”——条形码(events, UMIs)或reads的比例;
  • CDR3.nt”——CDR3核苷酸序列;
  • CDR3.aa”——CDR3氨基酸序列;
  • V.name”——对齐的Variable 基因片段的名称;
  • D.name”——对齐的Diversity 基因片段或 NA 的名称;
  • J.name”——对齐的Joining基因片段的名称;
  • V.end”——对齐的 V 基因片段的最后位置(基于 1);
  • D.start”——对齐的 D 基因片段的 D’5 末端的位置(基于 1);
  • D.end”——对齐的 D 基因片段的 D’3 末端的位置(基于 1);
  • J.start”——对齐的 J 基因片段的第一个位置(基于 1);
  • VJ.ins”——VJ 连接处插入核苷酸(N-核苷酸)的数量(-1 用于 VDJ 重组的受体);
  • VD.ins”——VD 连接处插入核苷酸(N-核苷酸)的数量(-1 用于 VJ 重组的受体);
  • DJ.ins”——DJ 连接处插入核苷酸(N-核苷酸)的数量(-1 用于 VJ 重组的受体);
  • Sequence”——完整的核苷酸序列。

2) 计算和可视化基本统计数据

# 可视化CDR3区的序列长度分布
repExplore(immdata$data, "lens") %>% vis()  # Visualise the length distribution of CDR3

使用immunarch包进行单细胞免疫组库数据分析(一):包的简介与安装 - 图1

# 可视化克隆型的相对丰度
repClonality(immdata$data, "homeo") %>% vis()  # Visualise the relative abundance of clonotypes

使用immunarch包进行单细胞免疫组库数据分析(一):包的简介与安装 - 图2

3) 探索和比较 T 细胞和 B 细胞库

# 构建不同克隆型之间共享的重叠克隆型热图
repOverlap(immdata$data) %>% vis()  # Build the heatmap of public clonotypes shared between repertoires

使用immunarch包进行单细胞免疫组库数据分析(一):包的简介与安装 - 图3

# 可视化第一个克隆型的V基因分布图
geneUsage(immdata$data[[1]]) %>% vis()  # Visualise the V-gene distribution for the first repertoire

使用immunarch包进行单细胞免疫组库数据分析(一):包的简介与安装 - 图4

# 可视化克隆型的多样性
repDiversity(immdata$data) %>% vis(.by = "Status", .meta = immdata$meta)  # Visualise the Chao1 diversity of repertoires, grouped by the patient status

使用immunarch包进行单细胞免疫组库数据分析(一):包的简介与安装 - 图5

使用自己的数据

immunarch包可以使用repLoad函数加载读取自己的数据集进行后续的分析,使用repSave函数保存分析的结果,repLoad函数可以自动检测输入文件的格式,我们可以通过?repLoad查看更详细的数据导入信息。

目前,immunarch包可以支持以下免疫组库数据的格式:

library(immunarch)  # Load the package into R
immdata <- repLoad("path/to/your/data")  # Replace it with the path to your data. Immunarch automatically detects the file format.

参考来源:https://immunarch.com/index.html