在分析流式数据的时候,经常会遇到一个情况:同一组实验里的不同样本,如果在散点图上坐标范围设得不一样,那么阳性细胞群、阴性细胞群还有手工圈的门,放在一起横向比较就会变得很困难。在FlowJo里面调散点图的坐标,以及把多张散点图的显示范围统一起来,关键的操作入口其实就是图窗口里的坐标轴变换和显示范围设置。按照FlowJo官方帮助里的说明,每个参数的坐标变换,都可以通过图窗口上那个标着T的按钮来调整,而且这些缩放和变换的设置改了以后,也会自动传递到Layout Editor里面的对应图上去,这给批量处理带来不少方便。
一、散点图的坐标怎么调
在对散点图做坐标调整之前,先要确认当前这张图上用来显示的是哪几个参数,比如FSC-A、SSC-A,还是FITC-A、PE-A这些荧光通道。这一步如果没查清楚,后面不管怎么拉坐标,都很难看到正确分群。
1、把目标样本的图打开
在Workspace里面,直接双击目标样本,或者双击某一个已经圈好的门,这时会弹出Graph Window,也就是用来显示图形的窗口。在这个窗口里,先确认当前的图形类型是散点图或者是伪彩图,然后再去检查一下X轴和Y轴下面标注的参数是不是自己预期的通道,这一步花不了多少时间,但能避免后面在错误的通道上白费力气。
2、点一下坐标轴旁边的T按钮
在图窗口里,每条轴的旁边都有一个写着T的按钮,这个T按钮就是进入坐标变换和范围设置的入口。FlowJo的文档里也写得很清楚,先选中需要去调整的那个X轴或Y轴参数,然后点击它对应的T按钮,就可以进到缩放和变换的设置界面里去操作了。
3、挑一种合适的变换方式
荧光通道的数据,在流式分析中常用双指数变换或者logicle变换这一类显示方式,这样阴性群和阳性群在图上都能被看清楚;而FSC和SSC这两个散射光参数,通常要根据数据的实际分布来选择线性显示还是对数显示,没有强制规定一定要用哪一种。有一点需要特别注意,就是不能纯粹为了让图看上去好看就随手切换变换方式,因为圈门的位置和判断阳性的阈值,都应该建立在同一种逻辑基础上,否则不同样本之间的判断标准就对不上了。
4、自己定义一下坐标显示范围
在T按钮弹出来的菜单最下面,会有一个【Customize Axis】的选项,点进去以后就能手动去填写坐标轴的最小值和最大值,把显示范围固定下来。按照FlowJo官方帮助里的说法,不管是指定一个固定的坐标范围,还是去做一些比较精细的缩放变换,都可以通过这个Customize Axis菜单进去完成设置,这样就能避免每一次打开图时软件自己重新去自适应坐标范围。
二、怎样把多张散点图的显示范围统一起来
当需要比较同一组实验里好几个样本时,它们的散点图最好能使用完全相同的坐标范围。否则的话,有可能一个样本看起来阳性群非常集中、分得很清楚,但实际上只是因为它的坐标轴被自动缩放到了一小块区域里,视觉上欺骗了人的眼睛而已。
1、先拿一个标准样本把坐标调好
从整组样本里,先挑一个最有代表性的典型样本,把它的X轴变换方式、Y轴变换方式、坐标最小值和最大值,都调整到一个比较理想的状态。挑选标准样本的时候,最好确保它里面既有阴性群,也有明显的阳性群,这样才能帮自己确定一个能把所有细胞群都框进来的完整显示范围,不会因为范围设太小而把一群细胞切在画面外面。
2、把调好的设置复制给同组其他样本
如果这些样本已经提前放进Layout Editor里面排好版了,那就可以直接在那张目标图上双击,先进入Graph Definition窗口,再在这个窗口里继续调整图形参数。FlowJo的文档里面提到过,放在Layout Editor里的图,它的图形参数是可以继续通过Graph Definition窗口进行修改的,这个窗口里通常包含了Specify、Annotate、Fonts、Legend这类选项,跟单张图的设置逻辑是通的。
3、用批量方式生成一组统一规格的图
Layout Editor在FlowJo里面本来就是为批量输出图表和报告而设计的,官方的说明里也提到,可以通过Layout Editor去创建单张的图形报告,也可以把同一套layout策略套用到一整个样本集上面。所以更高效的做法是,先老老实实地把一张图调成标准格式,把它的坐标范围、变换方式都设好,然后利用批量应用的功能,把这套设置直接套用到同组的其他样本上,这样出来的图就能保证坐标范围是完全统一的。
4、在导出之前翻一遍每一页的图
当所有样本的坐标都统一好以后,在最终导出图片或者生成报告之前,最好能一口气把所有页面都浏览一遍,专门去看每张图上的阴性群是不是安放在差不多相同的位置、阳性群的密度分布是不是正常、圈门的线条有没有因为坐标换了而跑偏,还有轴上的标签是不是都更新过来了。这个过程中,不要只看第一页的预览,因为如果组内有个别样本的补偿效果不太好,或者数据分布比较偏,很可能会出现某一张图的范围虽然跟别人一样,但细胞群被挤到了图的一角,需要单独拉出来加个注释说明。
三、坐标范围看起来不一致的时候应该怎么排查
如果发现几张散点图在显示效果上差别比较大,先不要急着去手动改范围,而是要判断一下到底是坐标轴上的变换方式没有统一,还是样本本身的数据分布其实就差了很远,因为这两种情况的处理方式是不一样的。
1、检查一下变换方式是不是统一
同一种荧光参数,在同一个实验组的全部样本里,必须使用完全相同的一种坐标变换方式。只要有一个样本用的是logicle变换,而另一个样本用的是线性变换,那即便它们的坐标数字看起来差不多,实际显示出来的细胞群位置和形状也会出现明显的区别,放在一起比较就没什么意义了,所以这是第一个要排查的地方。
2、检查补偿矩阵和门的层级
如果不同样本在分析时套用的补偿矩阵不一样,或者门的层级关系在分析树里被改动了,散点图上的细胞分布自然也会跟着发生变化。所以在统一坐标范围之前,最好还要确认一遍,所有样本是不是都挂在同一个分析树下,用的是同一套补偿设置,以免这边刚调好坐标,那边因为补偿或者门的差异又把群的位置给带偏了。
3、检查一下Layout Editor里的图有没有跟着刷新
FlowJo的帮助里明确说过,在图窗口里对缩放和变换做的调整,是可以传播到Layout Editor里的同一个图形对象上去的。如果发现在Layout Editor里看到的还是改动之前的老画面,就可以重新进去打开那个图的Graph Definition窗口,检查一下里面显示的那个参数,还有坐标范围的具体数值,是不是已经刷新成了刚刚设好的新范围,有时候需要手动触发一下更新。
总结
在FlowJo里面调散点图的坐标,基本操作就是在Graph Window里点一下对应轴的T按钮,然后通过【Customize Axis】去设置好变换方式和坐标的显示范围。想要把多张散点图统一成一样的坐标,比较顺畅的顺序是先找个代表性样本把标准格式调好,再放到Layout Editor里批量应用到同一组样本上去。在检查和排查的过程中,重点要看变换方式是不是一致、补偿和门的层级有没有差异、以及Layout Editor中图像的范围是否已经更新,这样才能避免因为坐标不统一而影响到不同样本之间的横向比较。
