所有动物实验均获得LUMC动物实验委员会的批准,并根据LUMC的动物实验准则按照荷兰和欧洲委员会的指导方针执行。 注:对于实验设置,C57BL/6小鼠在右侧用鼠结肠肿瘤MC38进行皮下接种,浓度为0.3 x 106细胞/200 μL的磷酸盐缓冲盐水(PBS)。10天后,当肿瘤明显时,小鼠接受PD-L1阻断抗体(克隆MIH-5,200μg/小鼠,腹内注射)或模拟治疗。肿瘤在PD-L1注射后3天后被切除,经过前体处理,并由CyTOF质量细胞测定用38个标记13进行分析。 1. 数据分析设备和软件 注:使用计算机(Windows 7 或更高版本)和处理器 I5 在 2.4 GHz 或等效,已安装内存 RAM 6 GB 和 10 GB 的可用硬盘空间。R包Cytofast使用现有的函数:主要是流核,热图,和ggplot。将在 R 中执行的命令行包含在协议中。R 指令的资源可在https://education.rstudio.com/找到。 要安装Cytofast软件包,请启动 R(版本”3.6″),然后输入以下代码来安装生物导体版本 3.9:如果(!需要命名空间(”生物管理器”,安静 = TRUE))安装.软件包(”生物管理器”)生物管理器::安装(”细胞快速”) 通过运行以下内容,确保包在所需的环境中加载:库(细胞快) 2. 创建群集 注:为了展示两种聚类方法Cytosplore和FlowSOM与细胞快,NK细胞(CD161+)在PD-L1治疗后3天在肿瘤微环境中进行分析。 群集执行Cytosplore 下载并安装Cytosplore后,托管在 <www.Cytosplore.org>,通过单击”文件” 上传 .fcs 文件(补充文件 1.1*1.8 [细胞分裂文件]) 在细胞中打开 FCS 文件。在提示时单击”添加唯一示例标记作为通道”,并选择双曲弧形变换的系数(默认为 5),从而添加唯一的示例标记作为通道。 选择运行 H-SNE,运行 HSNE 级别 3,然后等待生成地图。注:此步骤可能需要一些时间,具体取决于分析的细胞数量和选择的 HSNE 级别。 在第一个 HSNE 级别上,检查 CD161 阳性的细胞。选择 CD161+单元格,然后右键单击”缩放到选择”。在第二个级别上,重复此过程,以仅使用 CD161+事件达到第三级。 生成最后一个 tSNE 映射后,通过右键单击 tSNE 映射并选择”保存群集”来保存由 Cytosplore定义的聚类。根据Cytosplore提示选择输出文件的目录并记下此位置,因为此目录随后将用于将 .fcs 文件加载到 R 中。注:可以通过更改西格玛值手动更改子集数。西格玛值默认设置为 30;但是,实际子集数取决于输入。在这里,Cytosplore检测到 10 个不同的子集,每个文件表示一个子集。 重命名输出文件时,请使用简单名称(仅限字符),这将使识别和进一步处理更加容易。通过选择”保存”保存输出文件。注:保存后,Cytosplore正在创建一个文件夹,该文件夹包含 .fcs 文件,每个文件对应于Cytosplore中标识的群集。下一步将在Cytofast的帮助下将文件加载到R中。此处,生成的输出文件在补充文件 2.1_2.10(细胞分裂输出文件)中提供。 将细胞分裂生成的输出文件加载到 R 中,具有指定的功能:read CytosploreFCS。dirFCS <- "C:\用户\用户名_桌面_研究"cfData <- 读取 CytosploreFCS(dir = dirFCS,名称 = "描述") 通过删除某些参数(如”时间”和”背景”)来清理数据。检查列与其不必要参数相关的位置,并将其从矩阵中删除。高名(cfData@expr)cfData@expr [lt;- cfData@expr],-c(3,4,6,8:10,46:49,51:54)]注:通过读取生成的矩阵的列名称,可以看到不必要的列。通过再次运行 colnames(cfData@expr),确保仅获得所需的参数。 重新排列标记,以便首先显示沿袭标记,然后显示功能标记。cfData@expr <- cfData@expr],c(1,2,3,35,36,31,9,10,18,8,37,20,29,40,5,30,33,11,34,14,19,32,28,6,7,4,12,13,17,16,15,21,22,24,25,26,27,38,39)]注:步骤 2.1.8 是可选的。 通过上传包含临床信息的电子表格元文件(补充文件3 ),将元数据文件链接到来自Cytosplore的生成数据。库(读本)元 <- read_excel("C:\用户\用户名\桌面\sample_id.xlsx")cfData@samples <- 数据.帧(元)注:由细胞分裂者执行的聚类现已完成。Cytosplore的替代聚类选项是FlowSOM,第 2.2 节对此进行了介绍。执行两个聚类步骤之一后,继续可视化步骤(第 3 节)。 群集执行FlowSOM 通过运行以下命令在 R 中首次安装FlowSOM:如果(!需要命名空间(”生物管理器”,安静 = TRUE))安装.软件包(”生物管理器”)生物经理::安装(”FlowSOM”)库(流) 使用类似方法安装 flowCore 包,并通过运行以下方法将其加载到环境中:如果(!需要命名空间(”生物管理器”,安静 = TRUE))安装.软件包(”生物管理器”)生物管理器:安装(”流核心”)库(流) 使用 read.flowSet 函数在 R 中加载补充文件 4.1_4.8(FCS FlowSOM 输入)中提供的原始数据,这些数据以前在 CD161+ 事件上封闭。fcs_raw <- 读取.flowSet(路径}C:\用户\用户名_桌面\群集",模式 = ".fcs",转换 = FALSE,truncate_max_range = FALSE,种子 =123) 选择相关的生物标记(删除”背景”或”时间”),选择正确的列,并转换数据在弧形5的方式如下代码所示(此处,删除列1,2,4,5,6,17,21,24,25,34,35,37,38,51,不对应于任何生物标记)。在下面的函数中选择副因子=5,与之前在Cytosplore中应用的副因子5。fcs_raw <- fs应用(fcs_raw,函数(x,副因子{5}}共名(x) <- fcs_raw{1}@parameters@data$descexpr <- exprs(x)expr <- asinh(expr_,-c(1,2,4,5,6,17,21,24,25,34,35,37,38,51)*/共同因素)expr(x) <- expr返回(x)* 使用FlowSOM函数对数据进行聚类。要比较FlowSOM和Cytosplore,请选择将数据集中到十个子集中,作为细胞分裂之前产生的输出。fsom <- FlowSOM(fcs_raw,转换函数 = FALSE,缩放 = FALSE,缩放.center = FALSE,缩放.scale = FALSE,静音 = FALSE,colsToUse = c(1:37),nClus = 10,最大Meta = 10,重要性 = NULL,种子 = 123)注:用户可以手动更改。 将每个单元格分配给其标识的子集和示例 ID。subset_id <- 作为.因子(fsom$FlowSOM$map$映射{1})级别(subset_id) <- fsom$元聚类头(subset_id) 在包含组分配的 R 中加载元数据文件(在补充文件 5中可用),并将其链接到 .fcs 文件。示例 id <- read_excel("C:\用户\用户名\桌面\sample_id.xlsx")示例 <- na.omit(示例)示例$样本 ID <- 作为.因子(示例$示例ID)示例$组 <- 作为.因子(样本$组)样本$CSPLR_ST <- 作为.因子(样本$CSPLR_ST)示例 id <- 作为.data.frame(示例id)名称(示例)[3] <- "示例ID"示例 ID <- l 应用(fsom$FlowSOM$metaData,函数(x)[rep(x=1],每个 = 长度(x{1}:x{2})))attr(示例ID,”名称”) <- NULL示例 ID <- 作为因子(非列表(示例 ID))示例 id <- 数据.帧(示例id)级别(示例 ID)<- 粘贴("ID",1:dim(示例){1},sep="\""df <- 数据.帧(subset_id、示例 ID、fsom$FlowSOM$data_,c(1:37)*)重命名 <- 数据.帧(colpar_fcs_raw{1}@parameters@data$desc)colnames(df)<-c("群集ID","示例ID",重命名$colpar_c(1:37)])df$ 群集 ID <- 作为.因子(df$ 群集 ID)df $sampleID <- 作为.因子(df$示例ID) 通过运行以下脚本,基于从FlowSOM获得的数据帧创建 cfList:cfData <- cfList(样本 = 样本,expr = df) 重新排序标记,使之与细胞分裂分析的输出类似。cfData@expr <- cfData@expr],c(1,2,34,36,37,10,23,24,31,22,38,15,8,3,27,9,11,28,35,26,14,33,17,20,21,18,25,29,13,30,12,16,32,4,5,6,7,19,39)]注: FlowSOM的聚类现已完成。接下来,执行聚类输出的可视化。 3. 可视化:后处理聚类分析 注意:此步骤是两种聚类方法共有的方法。因此,它可以在聚类后使用FlowSOM或Cytosplore执行。 在创建热图之前,请使用函数单元格Counts生成每个样本的计数表,如下代码所示。由于某些群集包含的单元格比其他群集少,因此通过在函数单元计数中指定”缩放 = TRUE”来缩放每个群集的数据,以便很容易看到样本之间的分散。cfData <- 单元格计数(cfData、频率 = TRUE、刻度 = TRUE)注:数据现在可以可视化。 使用热图可视化。注:此包的主要功能之一是细胞热图,用于可视化所创建的聚类的表型及其相对于样本的异质性。细胞热图(cfData,组=”组”,图例=真) 使用框图进行可视化注:可以通过调用函数细胞盒图以定量方式表示数据。此函数的输出表示每个群集的每个样本的比例。 如在步骤 3.1 中所做的那样生成单元格计数,但不缩放数据以获取每个群集的频率。cfData <- 单元格计数(cfData、频率 = TRUE、刻度 = FALSE)细胞盒图(cfData,组 = “组”) 具有中值强度信号直方图的可视化注:数据也可以通过表示中值强度信号直方图进行可视化。 可视化三个标记的表达强度:CD45、CD11c 和 CD54。 通过调用以下行检查所需标记的名称。请注意标记名称并将其包含在 msiPlot 函数中。名称(cfData@expr)注:此处,重点关注 CD45、CD11c 和 CD54。检查标记的确切拼写,并根据需要进行调整:msiPlot(cfData,标记 = c(”89Y_CD45″、”167Er_CD11c”、”164Dy_CD54″,按组”组”)