Closed ixxmu closed 3 years ago
导语
GUIDE ╲
ggcyto 是一个基于 ggplot 构建的细胞计数数据可视化工具。
流式细胞术通过光学检测系统快速检测多参数的细胞流。许多因素使得流式细胞术能够成功和广泛的应用,比如检测速度(能够允许大量的细胞被检测),高度的准确性和分辨率,低成本。此外,流式细胞术还是一种非破坏性技术,可以分选出活细胞用于后续分析。能够分析和分选单个细胞的能力使流式细胞术在生物学和医学领域有非常广泛的应用。
BiocManager::install("ggcyto")
library(ggcyto)
#从flowWorkspaceData获得数据
library(flowWorkspaceData)
dataDir <- system.file("extdata",package="flowWorkspaceData")
gs <- load_gs(list.files(dataDir, pattern = "gs_manual",full = TRUE))
attr(gs, "subset") <- "CD3+"
ggplot(gs, aes(x = `<B710-A>`, y = `<R780-A>`)) + geom_hex(bins = 128) + scale_fill_gradientn(colours = gray.colors(9))
#flowSet/ncdfFlowSet/flowFrame
fs <- gs_pop_get_data(gs, "CD3+")
ggplot(fs, aes(x = `<B710-A>`)) + geom_density(fill = "blue", alpha= 0.5)
#gates
gates <- filterList(gs_pop_get_gate(gs, "CD8"))
ggplot(gs, aes(x = `<B710-A>`, y = `<R780-A>`)) + geom_hex(bins = 128) + geom_polygon(data = gates, fill = NA, col = "purple")
ggcyto(gs, aes(x = CD4, y = CD8)) + geom_hex(bins = 128) + geom_gate("CD8")
基于ggplot的Quick plot精神,通过向用户隐藏更多细节来进一步简化绘图工作。绘制flowSet时,它会根据提供的dim数量自动确定geom类型。
autoplot(fs, "CD4")
autoplot(fs, "CD4", "CD8", bins = 64)
autoplot(gs, c("CD4", "CD8"), bins = 64)
#先绘制原始的scale
data(GvHD)
fr <- GvHD[[1]]
p <- autoplot(fr, "FL1-H")
p
##不同的scale
p + scale_x_logicle() #flowCore logicle scale
p + scale_x_flowJo_fasinh() # flowJo fasinh
p + scale_x_flowJo_biexp() # flowJo biexponential
geom_gate
隐藏了绘制不同几何形状的复杂细节
library(openCyto)
fr <- fs[[1]]
p <- autoplot(fr,"CD4", "CD8") + ggcyto_par_set(limits = "instrument")
#1d gate垂直
gate_1d_v <- openCyto::gate_mindensity(fr, "<B710-A>")
p + geom_gate(gate_1d_v)
#1d gate水平
gate_1d_h <- openCyto::gate_mindensity(fr, "<R780-A>")
p + geom_gate(gate_1d_h)
#2d 长方形 gate
gate_rect <- rectangleGate("<B710-A>" = c(gate_1d_v@min, 4e3), "<R780-A>" = c(gate_1d_h@min, 4e3))
p + geom_gate(gate_rect)
###增加比例
p <- ggcyto(gs, aes(x = "CD4", y = "CD8"), subset = "CD3+") + geom_hex()
p + geom_gate("CD4") + geom_stats()
###显示计数
p + geom_gate("CD4") + geom_stats(type = "count")
p <- p + ggcyto_par_set(limits = "instrument")
p
#设置参数集合
mySettings <- ggcyto_par_set(limits = "instrument"
, facet = facet_wrap("name")
, hex_fill = scale_fill_gradientn(colours = rev(RColorBrewer::brewer.pal(11, "Spectral")))
, lab = labs_cyto("marker")
)
#通过mysettins来直接应用,类似theme
p + mySettings
gh <- gs[[1]]
nodes <- gs_get_pop_paths(gh, path = "auto")[c(3:9, 14)]
nodes
p <- autoplot(gh, nodes, bins = 64)
class(p)
p
gt <- ggcyto_arrange(p, nrow = 1)
class(gt)
p2 <- autoplot(gh_pop_get_data(gh, "CD3+")[,5:8]) # some density plot
p2@arrange.main <- ""#clear the default title
gt2 <- ggcyto_arrange(p2, nrow = 1)
gt3 <- gridExtra::gtable_rbind(gt, gt2)
plot(gt3)
分析专辑
单细胞scRNA | R包绘图 | 免疫浸润分析 | 肿瘤纯度评估工具 | 数据库
文章解读专辑
多区域进化文章精读 | 高分文章精读 | 免疫微环境文献解读
招聘信息
点击蓝字即可进入专栏!
长期诚邀师资合作
作图丫长期进行生信技能培训,诚邀有能力的团队、老师或者科研大咖合作
无论是科研写作技巧、技术分析经验还是生信流程分析,我们保证只要您有专长,作图丫就是您展示自己的舞台
如有意,请与赵老师联系,谢谢
微信:guofengzhao527
合作方式:线上课程
劳动报酬:酬劳丰厚,微信私聊
文字均为原创,欢迎读者分享或转发到朋友圈,任何公众号或其他媒体未经许可不得私自转载或抄袭。
由于微信平台算法改版,公众号内容将不再以时间排序展示,建议设置“作图丫”公众号为星标,防止丢失。星标具体步骤为:
(1)点击页面最上方“作图丫”,进入公众号主页;
(2)点击右上角的小点点,在弹出界面选择“设为星标”即可。
作图丫分析作图群进群要求:转发任一篇“zuotuya”公众号文章至微信朋友圈,并附“作图丫关注绘图和精品分析,期待你的关注”,并获得10个赞后加小编微信“guofengzhao527”邀请你加入。
https://mp.weixin.qq.com/s/Tx7zA1wWpA8_p5hdEHluCw