本插图将指导您分析一个流式细胞术数据集,该数据集来自一个实验,该实验检查了出芽酵母液体培养中合成生物回路的荧光报告蛋白水平。在这里,我们分析了一个电路,其中一个荧光报告被融合到一个蛋白质,该蛋白质在添加诱导分子后随时间降解。在诱导后的某个时间(由实验人员优化),用流式细胞术分析这些培养物的荧光。在这里,我们演示了如何将生成的.fcs文件导入到R中,并使用实验元数据(例如应变
而且治疗
对于每个样本),并编译相关的事件和测量。
导入流式细胞仪数据使用read.flowset
.在这里,我们将导入一个示例流集。
plate1 < -read.flowSet(路径=执行(“extdata”,“ss_example”,包=“flowTime”),alter.names =真正的)#添加车牌号码到样本名sampleNames(plate1) < -粘贴(“1 _”,sampleNames(plate1),9月="")dat < -plate1
如果你有几个板,这个代码可以重复,每个板可以组合起来,以组装完整的数据集。
plate2 < -read.flowSet(路径=粘贴(实验中,“_2 /”,9月=""),alter.names =真正的)sampleNames(plate2) < -粘贴(“2 _”,sampleNames(plate2),9月="")dat < -rbind2(plate1 plate2)
对于本例,我们将导入元数据表。的sampleNames
集合的flowSet
(dat
的唯一标识符列的值必须匹配注释
.
注释< -read.csv(执行(“extdata”,“ss_example.csv”,包=“flowTime”))头(注释)#> X名称AFB IAA治疗repl#> 1 1_a01。fcs 1 _a01。fcs TIR1 IAA1 0.00#> 2 1_a02。fcs 1 _a02。fcs TIR1 IAA17 0.00 1#> 3 1_a03。fcs 1 _a03。fcs AFB2 IAA1 0.00#> 4 1_a04。fcs 1 _a04。fcs AFB2 IAA17 0.00 1#> 5 1_b01。fcs 1 _b01。fcs TIR1 IAA1 0.05#> 6 1_b02。fcs 1 _b02。fcs TIR1 IAA17 0.05sampleNames(dat)#>[1]“1_a01。fcs _a02”“1。fcs _a03”“1。fcs _a04”“1。fcs _b01”“1。fcs"#>[6]“1_b02。fcs _b03”“1。fcs _b04”“1。fcs _c01”“1。fcs 1 _c02.fcs”#>[11]”1_c03。fcs _c04”“1。fcs _d01”“1。fcs _d02”“1。fcs 1 _d03.fcs”#>[16]”1_d04。fcs _e01”“1。fcs _e02”“1。fcs _e03”“1。fcs 1 _e04.fcs”#>[21]“1_f01。fcs _f02”“1。fcs _f03”“1。fcs _f04”“1。fcs 1 _g01.fcs”#>[26]“1_g02。fcs _g03”“1。fcs _g04”“1。fcs _h01”“1。fcs 1 _h02.fcs”#>[31]“1_h03。fcs 1 _h04.fcs”sampleNames(dat)= =注释$的名字#>[1]真真假假真真真真真真真真#>[15]真真假假真真真真真真真真#>[29]真真真真
我们还可以从数据集中创建这个列,并附加注释列。或者也可以使用createAnnotation
函数来创建数据帧的名字
列,然后可以通过R-code填写或保存为csv文件,并通过电子表格编辑器填写。条目的顺序注释
没关系,只要每次进入就行了sampleNames (dat)
是代表。的annotateFlowSet
函数将匹配mergeBy
列
注释< -cbind(注释,name =sampleNames(dat))#或注释< -createAnnotation(yourFlowSet =dat)write.csv(注释,文件=“路径/ / yourAnnotation.csv”)
方法将此元数据附加到流集annotateFlowSet
函数。
adat < -annotateFlowSet(yourFlowSet =dat,annotation_df =注释,mergeBy =“名称”)头(rownames(pData(法律)))#>[1]“1_a01。fcs _a02”“1。fcs _a03”“1。fcs _a04”“1。fcs _b01”“1。fcs 1 _b02.fcs”头(pData(法律))#>名称X AFB IAA治疗repl# > 1 _a01。fcs 1 _a01。fcs 1 _a01。fcs TIR1 IAA1 0.00# > 1 _a02。fcs 1 _a02。fcs 1 _a02。fcs TIR1 IAA17 0.00 1# > 1 _a03。fcs 1 _a03。fcs 1 _a03。fcs AFB2 IAA1 0.00# > 1 _a04。fcs 1 _a04。fcs 1 _a04。fcs AFB2 IAA17 0.00 1# > 1 _b01。fcs 1 _b01。fcs 1 _b01。fcs TIR1 IAA1 0.05# > 1 _b02。fcs 1 _b02。fcs 1 _b02。fcs TIR1 IAA17 0.05
现在我们可以保存这个流集,任何人都可以轻松地加载和分析这个带注释的流集!
write.flowSet(法律、outdir =“你的/喜欢/目录”)使用保存的实验元数据读取flowSetread.flowSet(“flowSet文件夹”,路径=“你的/流/目录”,phenoData =“annotation.txt”,alter.names =真正的)
#编译和绘制数据现在我们准备分析这里的原始数据flowSet
.首先,我们加载一组用于数据子集的门。为了分析这个稳态或单时间点实验,我们将使用稳态
函数。这个函数将每个门flowFrame
在flowSet
并编译并返回一个dataframe
每个事件的相关数据和元数据。这dataframe
然后可以用来可视化完整的数据集。
loadGates()#使用默认包含的gateSetdat。党卫军< -稳态(flowset =传统法律倍性=“二倍体”,只有=“汗衫”)#>[1]“用二倍体闸门…”#>[1]“转换单件事件…”p < - - - - - -ggplot(dat。党卫军,aes(x =as.factor(治疗),y =FL2。一个,填补=空军基地)+geom_boxplot(离群值。大小=NA)+facet_grid(IAA~空军基地)+theme_classic(base_family =“天线”,base_size =16)+ylim(c(-1000,10000))+xlab(表达式(粘贴(“生长素(“,亩,“米”,9月="")))+ylab(“荧光(AU)”)+主题(传奇。position =“没有”)p#>警告:删除85行包含非有限值(stat_boxplot)