17 免疫浸润细胞
免疫浸润分析在癌症研究中扮演着至关重要的角色,它有助于理解癌症微环境中免疫细胞的组成及其作用。bulk转录组基因表达数据的反卷积技术,如CIBERSORT算法,是实现这一分析的重要工具。
免疫浸润分析在癌症研究中的应用场景非常广泛,主要有以下几个方面:
评估肿瘤免疫微环境状态:免疫浸润分析有助于评估肿瘤免疫微环境的状态,从而了解肿瘤内免疫细胞的组成和活性,这对于指导免疫治疗策略的选择至关重要。
了解病原体与宿主免疫细胞的相互作用:在感染性疾病中,免疫浸润分析有助于了解病原体与宿主免疫细胞的相互作用,为疫苗研发和免疫调节治疗提供依据。
揭示异常免疫细胞的浸润和激活:在自身免疫性疾病中,免疫浸润分析有助于揭示异常免疫细胞的浸润和激活,为诊断和疾病机制研究提供线索。 至于免疫浸润分析的优缺点,主要包括:
- 
优点:
深入了解肿瘤免疫微环境:免疫浸润分析能够详细描绘肿瘤内部免疫细胞的种类、数量以及活性状态,从而深入理解肿瘤免疫微环境的状态。
指导免疫治疗策略:通过分析肿瘤免疫微环境的状态,免疫浸润分析可以指导免疫治疗策略的选择,包括选择合适的免疫治疗药物、预测免疫治疗疗效等。
 - 
缺点:
数据质量限制:免疫浸润分析依赖于高通量数据,如RNA测序或蛋白质质谱数据,这些数据的质量会受到实验操作、测序仪器等多种因素的影响,可能导致偏差和误差。
数据解读复杂:生信分析结果需要经过复杂的统计学和生物学解释,不同的数据分析方法可能得出不同的结果,需要经过仔细验证和进一步研究才能确定其生物学意义。
受益患者比例较低:虽然免疫治疗在理论上具有很大的优势,但目前真正能从免疫治疗中获益的癌症患者比例相对较低。这可能与肿瘤免疫微环境的复杂性、免疫治疗的局限性等因素有关。
 
免疫浸润分析的算法
| method | organism | license | citation | 
|---|---|---|---|
| quanTIseq | human | free (BSD) | https://doi.org/10.1186/s13073-019-0638-6 | 
| TIMER | human | free (GPL 2.0) | https://doi.org/10.1186/s13059-016-1028-7 | 
| CIBERSORT | human | free for non-commerical use only | https://doi.org/10.1038/nmeth.3337 | 
| MCPCounter | human | free (GPL 3.0) | https://doi.org/10.1186/s13059-016-1070-5 | 
| xCell | human | free (GPL 3.0) | https://doi.org/10.1186/s13059-017-1349-1 | 
| EPIC | human | free for non-commercial use only (Academic License) | https://doi.org/10.7554/eLife.26476 | 
| ESTIMATE | human | free (GPL 2.0) | https://doi.org/10.1038/ncomms3612 | 
| ABIS | human | free (GPL 2.0) | https://doi.org/10.1016/j.celrep.2019.01.041 | 
| ConsensusTME | human | free (GPL 3.0) | https://doi.org/10.1158/0008-5472.CAN-18-3560 | 
| mMCPCounter | mouse | free (GPL 3.0) | https://doi.org/10.1186/s13073-020-00783-w | 
| seqImmuCC | mouse | free for non-commerical use only | https://doi.org/10.3389/fimmu.2018.01286 | 
| DCQ | mouse | free (GPL 2.0) | https://doi.org/10.1002/msb.134947 | 
| BASE | mouse | free | https://doi.org/10.1038/ncomms10248 | 
| ImmuCellAI | human | free | https://doi.org/10.1002/advs.201902880 | 
17.1 加载R包
使用rm(list = ls())来清空环境中的所有变量。
17.2 导入数据
- 
ExpressionSet来自于 章节 9。 
17.3 所需函数
get_ImmuneCell获得免疫细胞的相对丰度表;使用
immunedeconv::deconvolute(Sturm, Finotello, 和 List 2020)反卷积分析。
get_ImmuneCell <- function(
  exprset,
  method = c("mcp_counter", "epic", "quantiseq", 
             "xcell", "cibersort", "cibersort_abs",
             "timer", "consensus_tme", "abis", 
             "estimate", "ImmuCellAI")) {
  
  profile <- Biobase::exprs(exprset)
  metadata <- Biobase::pData(exprset)
  
  if (any(method == "cibersort", method == "cibersort_abs")) {
    immunedeconv::set_cibersort_binary("./data/result/ImmuneCell/CIBERSORT.R")
    immunedeconv::set_cibersort_mat("./data/result/ImmuneCell/LM22.txt")
  }
  colnames(fit)[1] <- "CellType"
  
  print(fit$CellType)
  
  res <- metadata %>%
    dplyr::inner_join(fit %>%
                        tibble::column_to_rownames("CellType") %>%
                        t() %>% as.data.frame() %>%
                        tibble::rownames_to_column("SampleID"),
                      by = "SampleID")
    
  return(res)
}17.4 运行ImmuCellAI
ImmuCellAI(Immune Cell Abundance Identifier)(Miao 等 2020)是一个免疫浸润计算工具,用于从基因表达数据集(包括RNA-Seq和芯片数据)中估计24种免疫细胞的丰度。这24种免疫细胞由18种T细胞亚型和6种其他免疫细胞组成,包括B细胞、NK细胞、单核细胞、巨噬细胞、中性粒细胞和DC细胞。
ImmuCellAI可用于估计不同人群免疫细胞浸润的差异,以及预测患者对免疫检查点阻断疗法的反应。此外,ImmuCellAI还可用于建立免疫治疗反应预测模型,并且已经过测试,发现其模型精度在0.80到0.91之间。这表明ImmuCellAI在肿瘤免疫浸润评估和免疫治疗反应预测中具有强大而独特的功能。
在使用ImmuCellAI时,用户需要准备全编码蛋白的表达谱基因数据,并选择数据类型和是否预测免疫治疗响应。运行后,用户可以直接下载结果。此外,ImmuCellAI支持RNA-seq和芯片两种数据的上传,并且可以通过每一个免疫细胞特征基因的表达来进行免疫浸润评分。
注意:直接使用remotes::install_github("lydiaMyr/ImmuCellAI@main")安装是有问题的,建议下载仓库提供的ImmuCellAI_0.1.0.tar.gz本地安装
Icell_ImmuCellAI <- get_ImmuneCell(
  exprset = ExprSet,
  method = "ImmuCellAI") 
  
head(Icell_ImmuCellAI)Icell_ImmuCellAI <- get_ImmuneCell(
  exprset = ExprSet,
  method = "ImmuCellAI") 
  
head(Icell_ImmuCellAI)结果:获得24种免疫细胞的丰度表达谱。
17.5 其他免疫浸润方法
CIBERSORT算法的原理基于一个核心假设:在复杂组织中,细胞类型特异的基因表达模式可以被用来区分不同的细胞类型。具体而言,CIBERSORT通过比较待测样本的基因表达模式与已知细胞类型的基因表达模式,来推断待测样本中各种细胞类型的相对比例。
quanTIseq免疫浸润方法的原理主要基于反卷积算法。这种方法利用bulk samples的RNA-seq数据(即包含多种细胞类型的混合样本的基因表达数据),通过计算每个免疫细胞类型的特异性基因表达特征,来预测肿瘤样本中不同种类免疫细胞的相对丰度或组成。
ESTIMATE免疫浸润方法是一种基于基因表达数据预测恶性肿瘤组织中间质细胞和免疫细胞含量的方法。其原理主要基于单个样本基因集合的富集分析(ssGSEA)。在ESTIMATE方法中,基因集合的富集分析是关键步骤。它基于预先定义的基因集合(如与基质或免疫细胞相关的基因集合),通过计算样本中这些基因的表达水平,来评估特定细胞类型在样本中的富集程度。
17.6 输出结果
17.7 总结
免疫浸润分析在肿瘤学研究中占据重要位置,其目的在于探究肿瘤微环境中不同免疫细胞类型的分布和状态,以及它们与肿瘤细胞之间的相互作用。这种分析有助于更深入地理解肿瘤免疫微环境的复杂性,并为肿瘤免疫治疗提供重要的参考信息。
为了实现免疫浸润分析,科学家们开发了多种算法,这些算法基于不同的原理来预测肿瘤样本中各种免疫细胞的相对丰度。其中,反卷积算法是一种重要的方法,它通过利用bulk samples的RNA-seq数据,结合已知的免疫细胞特异性基因表达特征,来估计不同免疫细胞类型在肿瘤样本中的含量。
在本研究中,采用了ImmuCellAI(Miao 等 2020)算法对转录组数据进行了反卷积分析。通过运行该算法,成功得到了每个肿瘤样本中24种免疫细胞的相对丰度结果。这些结果为进一步探究肿瘤免疫微环境的复杂性、理解免疫细胞与肿瘤细胞之间的相互作用提供了宝贵的数据支持。
系统信息
R version 4.3.3 (2024-02-29)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.2
Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRblas.0.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
time zone: Asia/Shanghai
tzcode source: internal
attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     
other attached packages:
 [1] ImmuCellAI_0.1.0    quadprog_1.5-8      pracma_2.4.4       
 [4] e1071_1.7-14        gridExtra_2.3       GSVA_1.50.5        
 [7] immunedeconv_2.1.0  EPIC_1.1.7          Biobase_2.62.0     
[10] BiocGenerics_0.48.1 lubridate_1.9.3     forcats_1.0.0      
[13] stringr_1.5.1       dplyr_1.1.4         purrr_1.0.2        
[16] readr_2.1.5         tidyr_1.3.1         tibble_3.2.1       
[19] ggplot2_3.5.1       tidyverse_2.0.0    
loaded via a namespace (and not attached):
  [1] rstudioapi_0.16.0           jsonlite_1.8.8             
  [3] magrittr_2.0.3              rmarkdown_2.26             
  [5] zlibbioc_1.48.2             vctrs_0.6.5                
  [7] memoise_2.0.1               DelayedMatrixStats_1.24.0  
  [9] RCurl_1.98-1.14             htmltools_0.5.8.1          
 [11] S4Arrays_1.2.1              progress_1.2.3             
 [13] curl_5.2.1                  cellranger_1.1.0           
 [15] Rhdf5lib_1.24.2             SparseArray_1.2.4          
 [17] rhdf5_2.46.1                htmlwidgets_1.6.4          
 [19] cachem_1.0.8                lifecycle_1.0.4            
 [21] ComICS_1.0.4                pkgconfig_2.0.3            
 [23] rsvd_1.0.5                  Matrix_1.6-5               
 [25] R6_2.5.1                    fastmap_1.1.1              
 [27] GenomeInfoDbData_1.2.11     MatrixGenerics_1.14.0      
 [29] digest_0.6.35               colorspace_2.1-0           
 [31] AnnotationDbi_1.66.0        S4Vectors_0.40.2           
 [33] irlba_2.3.5.1               GenomicRanges_1.54.1       
 [35] RSQLite_2.3.6               beachmat_2.18.1            
 [37] filelock_1.0.3              mMCPcounter_1.1.0          
 [39] testit_0.13                 fansi_1.0.6                
 [41] timechange_0.3.0            httr_1.4.7                 
 [43] abind_1.4-5                 mgcv_1.9-1                 
 [45] compiler_4.3.3              proxy_0.4-27               
 [47] bit64_4.0.5                 withr_3.0.0                
 [49] BiocParallel_1.36.0         DBI_1.2.2                  
 [51] HDF5Array_1.30.1            biomaRt_2.58.2             
 [53] MASS_7.3-60.0.1             rappdirs_0.3.3             
 [55] DelayedArray_0.28.0         tools_4.3.3                
 [57] glue_1.7.0                  nlme_3.1-164               
 [59] rhdf5filters_1.14.1         grid_4.3.3                 
 [61] generics_0.1.3              sva_3.50.0                 
 [63] gtable_0.3.5                tzdb_0.4.0                 
 [65] class_7.3-22                preprocessCore_1.64.0      
 [67] hms_1.1.3                   BiocSingular_1.18.0        
 [69] ScaledMatrix_1.10.0         xml2_1.3.6                 
 [71] utf8_1.2.4                  XVector_0.42.0             
 [73] pillar_1.9.0                limma_3.58.1               
 [75] genefilter_1.84.0           splines_4.3.3              
 [77] BiocFileCache_2.10.2        lattice_0.22-6             
 [79] renv_1.0.0                  survival_3.7-0             
 [81] bit_4.0.5                   annotate_1.80.0            
 [83] tidyselect_1.2.1            SingleCellExperiment_1.24.0
 [85] locfit_1.5-9.9              Biostrings_2.70.3          
 [87] knitr_1.46                  IRanges_2.36.0             
 [89] edgeR_4.0.16                SummarizedExperiment_1.32.0
 [91] stats4_4.3.3                xfun_0.43                  
 [93] statmod_1.5.0               matrixStats_1.3.0          
 [95] stringi_1.8.4               yaml_2.3.8                 
 [97] evaluate_0.23               codetools_0.2-19           
 [99] data.tree_1.1.0             BiocManager_1.30.23        
[101] graph_1.80.0                cli_3.6.2                  
[103] xtable_1.8-4                munsell_0.5.1              
[105] Rcpp_1.0.12                 GenomeInfoDb_1.38.8        
[107] readxl_1.4.3                dbplyr_2.5.0               
[109] png_0.1-8                   XML_3.99-0.16.1            
[111] parallel_4.3.3              blob_1.2.4                 
[113] prettyunits_1.2.0           sparseMatrixStats_1.14.0   
[115] bitops_1.0-7                GSEABase_1.64.0            
[117] scales_1.3.0                crayon_1.5.2               
[119] rlang_1.1.3                 KEGGREST_1.42.0