ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

geo数据做单个基因箱式图踩过的坑 终于搞懂原理了

geo数据做单个基因箱式图踩过的坑 终于搞懂原理了

本文关键词:geo数据做单个基因箱式图 说真的 每次看到别人发那种精致的基因表达热图或箱式图 我都心里直痒痒。但自己上手画 geo数据做单个基因箱式图 的时候 经常觉得数据对不上或者图画得丑到哭。

这玩意儿看起来简单 其实水很深。很多人直接用 ggplot2 或者 base R 画 结果发现样本没分组 或者离群点标不出来。

我刚开始也犯这毛病 把表达矩阵导进去 直接一敲代码 出来的图黑乎乎的 啥也看不清。那时候真想把电脑砸了。

后来慢慢琢磨发现 核心问题在于数据预处理。Geo 的数据类型那么多 GSE 开头的是基因表达芯片吧?

这时候你得先确定你要画的基因 是单个还是多个?题目都说了是单个基因 那就别贪心。

先把基因筛选出来。别问我怎么知道哪些基因有意思 你肯定已经选好靶点了。

把表达值提取出来 记得要检查是不是对数值?如果是 RNA-seq 最好取 log2(x+1)。别忽略这个 +1 不然全是无穷大 图都画崩了。

接下来是分组标签。这是最容易出错的地方。你从 GEO 拿的表型数据 有时候列名不统一。

有的写 Group 有的写 Subtype 还有的是 0 和 1 代表 正常 和 癌变。你得自己手动映射清楚。

我习惯用 tidyverse 那一套。readr::read_tsv 读表 然后用 dplyr::filter 挑基因。

再用 tidyr::gather 把宽表变成长表。长表画统计图才方便。不然 ggplot2 会报错。

这时候画箱式图 用 geom_boxplot 很稳。记得设置 fill 或 color 映射到你的分组变量。

很多人卡在离群点上。默认是不画离群点的 或者画得很大很圆。

我觉得画小一点 透明度高一点 显得专业。用 outlier.shape = NA 隐藏也行看个人喜好。

还有坐标轴标签别乱写。x 轴是分组 y 轴是表达量。标题要简洁。

比如写 "GeneX expression in Tumor vs Normal" 就够了。别整那些虚头巴脑的词。

配色也很讲究。别用默认的蓝白配色 太丑了。

我一般用 RColorBrewer 里的 Pastel1 或者 Set2 色系。看起来舒服 打印出来也清晰。

如果你是用 python 画 那就用 seaborn 的 boxplot。参数记得设 whisker_width 别太宽。

还有一个坑 就是样本量不均衡。如果一组只有 3 个样本 另一组有 100 个。

中位数会偏向样本多那一组。这时候加个 jitter 点图叠加上去 会更直观。

或者做个小提琴图 violin plot 代替箱式图 能显示密度分布。比单纯的箱子好看太多。

总之 geo数据做单个基因箱式图 不难 但是细节决定成败。别嫌步骤多 多检查一遍数据。

最后生成的图 保存成 TIFF 格式 分辨率调到 300 DPI 以上。发文章才不过审。

希望大家都能一次成功 别像我当初那样 调试到半夜两点 最后发现是个标点符号错了。

真心话 做生物信息 心态要稳。图只是展示工具 背后的生物学意义才是重点。别为了好看而丢失了数据真实性。这才是做科研的本分。】

返回列表