摘要适应性免疫受体库测序AIRR-Seq是解析免疫应答、疾病标志物筛选的核心技术TCR/BCR簇的跨样本共享性与表型关联性是关键研究切入点。NAIRNetwork Analysis of Immune Repertoire是基于R语言的免疫组库网络分析工具包可高效实现公共TCR/BCR簇挖掘。本文结合官方教程与可复现代码系统讲解NAIR包的核心流程、函数用法、参数调优与结果解读覆盖数据模拟、单样本簇筛选、全局网络构建、可视化与下游分析全环节为免疫组库研究提供可直接运行的技术方案。关键词NAIR包TCR/BCR免疫组库公共簇网络分析一、引言T细胞受体TCR与B细胞受体BCR是适应性免疫的核心分子其CDR3区序列多样性决定了抗原识别特异性。在群体水平公共簇指跨多个体/时间点共享、CDR3氨基酸序列差异≤1的相似克隆集合反映保守免疫应答特征传统免疫组库分析侧重序列丰度与多样性难以捕捉克隆间的相似性网络。NAIR包基于图论与网络分析将克隆视为节点、序列相似性视为边通过聚类算法挖掘功能相关的受体簇解决了多样本整合分析与表型关联挖掘的痛点。二、环境配置与数据准备2.1 包安装与加载NAIR包托管于GitHub需通过devtools安装依赖igraph、tidyverse等基础包install.packages(NAIR)devtools::install_github(mlizhangx/Network-Analysis-for-Repertoire-Sequencing-, dependenciesTRUE, build_vignettesTRUE)library(NAIR)set.seed(42)2.2 模拟测试数据为避免真实数据限制本文使用NAIR内置的simulateToyData()函数生成模拟AIRR-Seq数据包含30个样本、每个样本30条序列部分序列设计为跨样本共享适配公共簇分析后续关联簇分析将数据分为对照组与处理组模拟表型关联数据。2.2.1 公共簇分析模拟数数据输出包含CloneSeqCDR3序列、CloneCount克隆计数、CloneFrequency克隆频率、SampleID样本ID四列符合AIRR-Seq标准格式。set.seed(42)library(NAIR)data_dir- tempdir()dir_input_samples- file.path(data_dir,input_samples)dir.create(dir_input_samples, showWarningsFALSE)samples-30sample_size-30base_seqs- c(CASSIEGQLSTDTQYF,CASSEEGQLSTDTQYF,CASSSVETQYF,CASSPEGQLSTDTQYF,RASSLAGNTEAFF,CASSHRGTDTQYF,CASDAGVFQPQHF,CASSLTSGYNEQFF,CASSETGYNEQFF,CASSLTGGNEQFF,CASSYLTGYNEQFF,CASSLTGNEQFF,CASSLNGYNEQFF,CASSFPWDGYGYTF,CASTLARQGGELFF,CASTLSRQGGELFF,CSVELLPTGPLETSYNEQFF,CSVELLPTGPSETSYNEQFF,CVELLPTGPSETSYNEQFF,CASLAGGRTQETQYF,CASRLAGGRTQETQYF,CASSLAGGRTETQYF,CASSLAGGRTQETQYF,CASSRLAGGRTQETQYF,CASQYGGGNQPQHF,CASSLGGGNQPQHF,CASSNGGGNQPQHF,CASSYGGGGNQPQHF,CASSYGGGQPQHF,CASSYKGGNQPQHF,CASSYTGGGNQPQHF,CAWSSQETQYF,CASSSPETQYF,CASSGAYEQYF,CSVDLGKGNNEQFF)pgen- cbind(stats::toeplitz(0.6^(0:(sample_size -1))), matrix(1, nrowsamples, ncollength(base_seqs)- samples))simulateToyData(samplessamples, sample_sizesample_size, prefix_length1, prefix_charsc(,), prefix_probscbind(rep(1, samples), rep(0, samples)), affixesbase_seqs, affix_probspgen, num_edits0, output_dirdir_input_samples, no_returnTRUE)head(readRDS(file.path(dir_input_samples,Sample1.rds)))三、公共TCR/BCR簇分析全流程公共簇分析核心是先单样本筛选显著簇再整合构建全局网络分为3个核心步骤单样本簇筛选、全局公共簇网络构建、下游可视化与分析。3.1 步骤1单样本显著簇筛选findPublicClusters该函数为每个样本构建免疫组库网络按节点数、克隆数过滤显著簇输出元数据用于后续分析。3.1.1 核心参数说明input_files样本文件路径向量input_type输入文件格式rds/rda/csv/tsvseq_col序列列名本文为CloneSeqcount_col克隆计数列名本文为CloneCountmin_node_count簇最小节点数默认10min_clone_count簇最小总克隆数默认100output_dir输出目录output_dir输出目录The min_seq_length序列最小长度drop_matches 排除字符类型3.1.2 可运行代码dir_filtered_samples- file.path(data_dir,filtered_samples)findPublicClusters(input_files, input_typerds, seq_colCloneSeq, count_colCloneCount, min_seq_lengthNULL, drop_matchesNULL, top_n_clusters3, min_node_count5, min_clone_count15000, output_dirdir_filtered_samples)list.files(dir_filtered_samples)dir_filtered_node- file.path(dir_filtered_samples,node_meta_data)head(list.files(dir_filtered_node))输出两个子目录cluster_meta_data簇水平元数据、node_meta_data节点水平元数据仅需node_meta_data用于全局网络构建。3.2 步骤2全局公共簇网络构建buildPublicClusterNetwork合并所有样本的显著簇构建全局网络重新聚类得到公共簇同时生成可视化图像。3.2.1 核心参数说明file_list步骤1输出的节点元数据文件路径seq_col/count_col与步骤1保持一致dist_type序列距离算法默认hamming汉明距离dist_cutoff距离阈值默认1CDR3差异≤1print_plots是否打印网络图像3.2.2 可运行代码file.path(dir_filtered_samples,node_meta_data)files_filtered_samples_node- list.files(dir_filtered_samples_node, full.namesTRUE)public_clusters- buildPublicClusterNetwork(files_filtered_samples_node, seq_colCloneSeq, count_colCloneCount, size_nodes_by1, print_plotsTRUE)3.3 步骤3结果解析与下游分析3.3.1 输出结果结构names(public_clusters)node_data- public_clusters$node_datahead(node_data[, c(CloneSeq,SampleID,ClusterIDInSample,ClusterIDPublic)])cluster_data- public_clusters$cluster_datahead(cluster_data[,1:6]ClusterIDInSample单样本内部簇IDClusterIDPublic全局公共簇ID网络属性节点度、中介中心性、聚类系数等3.3.2 簇标注与单簇可视化public_clusters- labelClusters(public_clusters, cluster_id_colClusterIDPublic, top_n_clusters6, size7)public_clusters$plots[[1]]buildNet(public_clusters$node_data[public_clusters$node_data$ClusterIDPublic1,], seq_colCloneSeq, color_nodes_byCloneSeq, size_nodes_by3, output_nameCluster 1, print_plotsTRUE)四、核心参数调优与注意事项5.1 序列距离算法选择汉明距离hamming默认适合氨基酸序列计算速度快要求序列长度一致。莱文斯坦距离lev适合核苷酸序列支持长度差异计算成本高。5.2 距离阈值设置公共簇默认dist_cutoff1即CDR3序列仅1个氨基酸差异符合免疫组库共识。研究保守序列可设为0完全匹配研究广谱相似簇可设为2。5.3 聚类算法替换默认使用igraph::cluster_fast_greedy()可通过cluster_fun参数替换# 替换为Louvain算法buildPublicClusterNetwork(file_listfiles_filtered_node, seq_colCloneSeq, cluster_funigraph::cluster_louvain# Louvain聚类 )5.4 输入数据要求每个样本独立存储为rds/csv等格式列名统一。必须包含序列列克隆计数列为可选用于丰度过滤。序列不含*、_、|等非法字符可通过drop_matches参数过滤。参考文档https://mlizhangx.github.io/Network-Analysis-for-Repertoire-Sequencing-/articles/public_clusters.html