血细胞计数
数据与ggCyto
ggCyto
包裹。这ggCyto
套餐是在rglab开发的迈克江。它是新的,正在积极发展。
在这里,我们的目标是展示其一些功能。
通过重载GGPLOT.
的巩固
方法,我们制作细胞计数数据与之完全兼容GGPLOT.
。
它通常没有意义于可视化100或FCS样本,因此我们将借助于可视化的数据,将自己限制为前两个科目。我们可以用子集
在gatingset对象上为子集pdata.
变量。这是漂亮的标准生物体
的行为。
#子集数据用于可视化的演示。ptids < -独特(pdata.(tbdata)[[“PID”]])[1:2] tbdata < -子集(TBDATA,`PID`%在%ptids)R M(“CD4”tbdata)
此外,我们将重点关注CD3+细胞亚群。这些被提取成势力
。
#提取CD3种群FS < -getdata.(TBDATA,“CD3”)
可视化FCM数据最简单的方法是通过一维直方图或密度图。这是标准所支持的ggplot2.
geom_xxxx
界面。
在这里,我们指定我们想要直方图,我们映射审美X
对该变量CD4
,它对应于我们想要绘制的维度/标记。
ggCyto
自动刻面名称
变量,它通常表示单个FCS文件。
P < -ggcyto(fs,AES.(X =CD4))p1 < -P +geom_histograph(箱=60.)P1
ggCyto
将向您展示全系列的数据,通常超过仪器范围。我们可以使用仪器范围限制仪器范围的范围ggcyto_par_set.
。
有效值是数据
和乐器
。
myPars < -ggcyto_par_set.(限制=“工具”)p1 +myPars
我们可以使用ggcyto_par_default
。
#打印默认设置ggcyto_par_default()
## $limits ## [1] "data" ## ## $facet ## facet_wrap(name) ## ## $hex_fill ## continuous_scale(aesthetics = "fill", scale_name = "gradientn", ## palette = gradient_n_pal(colours, values, space), na。值= na。价值,# # trans =“√”,指导=指南)# # # #实验室# #标签# #美元[1]”“# # # # attr(,“类”)# #[1]“labs_cyto”# # # # attr(,“类”)# #[1]“ggcyto_par”
当然,也支持其他的几何图形。geom_dity
将生成一个密度图而不是直方图。
P =P +geom_dity()+geom_dity(填充=“黑色的”) +mypars p.
如您所见,默认的面形是使用名称
多变的。但是,任何可变的变量pdata.
槽段势力
已验证。
Kable.(pdata.(FS))
肽 | stim | PID | 实验名称 | 名称 | known_response. | |
---|---|---|---|---|---|---|
353385.fcs. | DMSO | 一般的 | 01-0917 | 130517 _tb-ics_acs_gp | 353385.fcs. | 的人 |
353387. fcs | eSat-6. | 一般的 | 01-0917 | 130517 _tb-ics_acs_gp | 353387. fcs | 的人 |
353421.fcs. | DMSO | 一般的 | 01-0996. | 130517 _tb-ics_acs_gp | 353421.fcs. | 响应者 |
353423. fcs | eSat-6. | 一般的 | 01-0996. | 130517 _tb-ics_acs_gp | 353423. fcs | 响应者 |
我们在这里方面肽刺激和known_response.(来自以前的分析)。
#更改facet(默认是facet_wrap(~name))P +facet_grid(众所周知〜肽)
FCM数据的典型视图使用二维点图。六角形啤酒是一个流行的快速,是查看数据。
同样,需要指定轴限制,因为默认情况下ggcyto
将显示所有数据,包括具有异常大的正或负值的异常值。
#2D六己P < -ggcyto(fs,AES.(X =CD4,y =CD8))+geom_hex(箱=60.) +ylim.(C( -One hundred.那4 e3))+XLIM.(C( -One hundred.那3 e3))p
可以使用默认的颜色比例使用scale_fill_gradient.
。
例如,使用彩色啤酒树使用piyg.
缩放,具有符合的平方根转换。
P +scale_fill_gradientn(颜色=brewer.pal(n =8.那名称=“PiYG”),Trans =“sqrt”)
或灰度。
P +scale_fill_gradient.(Trans =.“sqrt”那低=“灰色的”那高=“黑色的”)
geom_denys2d.
行为正常。
ggcyto(fs,AES.(X =CD4,y =CD8)) +geom_hex(箱=60.)+geom_denys2d.(颜色=“黑色的”)+ylim.(C( -One hundred.那4 e3))+XLIM.(C( -One hundred.那3 e3)))
在数据之上绘制门是可能的。
一种方法是把门从Gatingset.
并明确添加它。
#添加geom_gate图层P < -ggcyto(fs,AES.(X =CD4,y =CD8))+geom_hex(箱=60.) +ylim.(C( -One hundred.那4 e3))+XLIM.(C( -One hundred.那3 e3))g < -GetGate.(TBDATA,“CD4 +”)p < -P +geom_gate(g)p
覆盖小区群体的统计数据。
#添加geom_stats.P +geom_stats.()
如前所述,但我们可以使用Gatingset对象而不是势力。同样,尺寸使用标记名称映射到美学。
#use自定义范围覆盖默认数据限制myPars < -ggcyto_par_set.(限制=列表(y =C( -One hundred.那4 e3),X =C( -One hundred.那3 e3)))p < -ggcyto(TBDATA,AES.(X =CD4,y =CD8),子集=“CD3”)p < -P +geom_hex(箱=64.) +mypars p.
如果我们想在轴上使用标记名称而不是频道和标记名称,这是可能的。
#只在轴上显示标记P < -P +labs_cyto(“标记”)p
在绘制门时,我们不需要显式地提取它们,因为它们是对象的一部分。
一个门。
#添加门P +geom_gate(“CD4 + CD8-”)
两个门。
#添加两个门P < -P +geom_gate(C(“CD4 + CD8-”那“CD4-CD8-”))p
覆盖人口统计。
P +geom_stats.()
只覆盖一个人口统计数据。
#仅适用于一个特定门的统计信息P +geom_stats.(“CD4 + CD8-”)
更改背景颜色,样式,并报告计数而不是百分比。
#更改统计类型,背景颜色和位置P +geom_stats.(“CD4 + CD8-”那类型=“数数”那大小=6.那颜色=“白色的”那填充=“黑色的”那调整=0.3)
正如您所看到的,使用了很多灵活性ggplot2.
与FCM图交互的界面。
假设你想绘制CD4和CD8细胞群体,但不一定知道父母人口。
要用GGCYTO做到这一点看起来像:
#'dubset'是omomitedP < -ggcyto(TBDATA,AES.(X =CD4,y =CD8))+geom_hex(箱=64.) +myPars +geom_gate(C(“CD4 + CD8-”那“CD4-CD8-”))p
我们定义尺寸和门。无需指定父群。GGCYTO将借助父母群体并绘制相关事件。
这子集
参数允许我们明确地子集父群。什么时候子集
指定了,ggCyto
情节所有儿童人口。
R M(“CD8 +”tbdata)R M(“CD4 +”tbdata) p < - - - - - -ggcyto(TBDATA,AES.(X =CD4,y =CD8),子集=“CD3”) +geom_hex(箱=64.) +geom_gate()+geom_stats.()+mypars p.
默认,ggCyto
绘制转换空间中的数据(如果它已被转换)。对于由FlowJo处理的FCM数据,这在[0,4096]中,或所谓的频道空间。
因为我们存储数据转换,我们可以使用轴上转换轴并显示x和y轴上的原始荧光强度axis_x_inverse_trans.
和axis_y_inverse_trans.
。
P +axis_x_inverse_trans.()+axis_y_inverse_trans.()
ggcyto
目的我们已经定义了一个ggcyto
对象,该对象将数据转换延迟到绘制数据为止。这使得事情变得更快一些,因为在需要之前,我们不需要对底层数据进行任何融化或重塑。
这ggcyto
对象完全是ggplot2.
在添加图层和参数方面兼容。
班级(p)
## [1]“ggcyto_gatingset”“ggcyto_flowset”“ggcyto”## [4]“gg”“ggplot”
班级(P $数据)
## [1]“gatingset”## attr(,包装“)## [1]”flowWorkspace“
您可以使用作为
返回A.GGPLOT.
对象。
#返回一个普通的ggplot对象p <- as.ggplot(p) class(p) class(p$data) #现在加强了
GGPLOT.
直接在势力
对象:请在GitHub页面上打开问题和文件错误报告或意外行为。http://github.com/rglab/ggco.