《听说你有RNAseq数据却不知道怎么跑GSEA》一文有小伙伴问封面的gseaplot能否换颜色,于是我就随手支持了。
最近公众号「生信媛」和「生信宝典」的小伙伴在说ggplot2无法一次性设置所有字体,theme
只能设置axis text, title这些,而搞不了geom_text
,geom_text
必须要手工输入family=XXX
来设置,因为不能使用theme
来更换,也就是说没办法通过后处理来设定,比较麻烦。
这显然是不对的,后处理必须可以的,一次性满足所有愿望也只是因为没人写个神奇的函数而已。于是我就动手写了个set_font
的函数。
假设我们有下图:
library(ggplot2)
d <- data.frame(x=rnorm(10), y=rnorm(10), lab=LETTERS[1:10])
p <- ggplot(d, aes(x, y)) +
geom_text(aes(label=lab, color=lab), size=10) +
geom_text(aes(y, x, label=lab), size=3)
5s无缘无故突然就自带3D效果,可是苹果没送我3D眼镜啊!做为一个果粉,自从乔帮主离去之后,对苹果是越来越无爱了。
anyway,对于这部陪伴许久的手机,还是要纪念一下的。
《按地理位置分面》一文最后我埋了个伏笔,写到最后的时候,我想到的是可以拿来画个元素周期表,但懒得搞,在《ggplot2分面之像素艺术》一文里用一只火鸡展示了用图来拼像素画的思路,回应了前文的伏笔。今天继续展示一个像素画,为了纪念我的iphone5S,当然我要画个苹果🍎出来。
这里的图,用的是emoji来画,如果你还不会用emoji来画图装逼,赶紧戳《看完此文, 你也能够大开脑洞, 上升逼格》。然后用geofacet
来拼出像素画,这个时候,你应该想到可以拿来拼你的照片,画个某个形状的照片墙了。
《大学教授力挺抄袭,强行洗地到裤衩都不要了,到底图什么?》这篇文章发出来之后,引起大家讨论,有一些小伙伴截了屏给我看。所以我想有必要再讲几句,我这篇文章写两个方面,一方面是重用代码,一方面是文章抄袭,这两方面可以是不相关的,这里的文章抄袭并不特指你抄了代码。
X教授《如何姿势正确的使用他人代码?》,总结起来两个点,一是开源代码随便用,二是文章有引用/致谢就OK。这两个点都是错误的。
这篇文章介绍如果把ChIPseeker搬上galaxy,和galaxy上其它软件一起拼成流程,跑一个ChIPseq注释的流程,从fastq文件开始,比对生成bam文件,peak calling生成bed文件,基因组注释,一个完整的流程,这个流程一旦设置好,每次跑都只是点点鼠标就可以了。 本文额外附送: 1. 如何把R程序变成命令行程序 2. 如何把命令行程序搬上galaxy (知名的程序都有人搬好,但自己的程序还是需要学一下怎么配置的)
Galaxy可以说是低端生信从业者杀手,如果你的能力只是跑跑流程,galaxy完全可以取代你的工作。
如果你是苦逼的生物研究生,苦于要自己分析数据,不会跑命令行程序,对各种参数表示晕菜,galaxy也是拯救你的神器,如同有个做生信的人在旁边帮助你,参数你点点菜单就可以了,跟程序变运行又可以了,流程自己都可以设计并一键运行。
安装galaxy
- requirements: python 2.7 and git
- only three steps
克隆galaxy项目
git clone https://github.com/galaxyproject/galaxy/
cd galaxy
## switch to master branch, stable release
git checkout -b master origin/master
Dear GuangChuangyu,
I’m trying to use the clusterProfiler package for GSE analysis on DGE data obtained from RNAseq. While I can run enrichKEGG, I’m unable to run gseKEGG basically because I don’t know how to obtain an order ranked gene list.
I work on R. I have a dataframe or matrix with gene names, log2 fold change values, pvalues and adjusted pvalues among others.
How can I get the order ranked gene list to feed in gseKEGG?
Moreover what is the more reliable way to obtain functional insight about each sample? enrichKEGG or gseKEGG?
Thank you in advance for your help.
best regards
bruno saubaméa
今天收到一封来自Université Paris Descartes的求助信,这个问题我被问过好多次了,显然很多新手都有这问题,根本不知道该怎么跑GSEA,搞不清GSEA的输入是什么。
不知不觉中我已经介绍了很多R包,有学术上的ChIPseeker、treeio、ggtree、 clusterProfiler、 GOSemSim、seqcombo和MSnbase等,当然免不了有吐槽还有抄袭。有学R的和更新R包,也有桌面小工具,还有画图的ggplot2、怎么配色、嵌入图片(比如pokemon), 以及emoji作图,也有好玩的贴纸和装逼利器。
今天要介绍另外一个R包,magick,是R里面玩图片的利器,今天要讲的是在静态图片上加动态图片,这样我们平时画一些学术的图,就可以加点搞笑的动态元素上去,有利于在博客和公众号上装逼。
无非是给我一张静态图当背景,再来一张动态图加在上面,为了让代码可以重用,首先打包个小函数:
add_gif <- function(bg_file, gif_file, out_file, offset, bg_size="500", gif_size="150") {
library(magick)
p <- image_read(bg_file)
g <- image_read(gif_file)
g <- image_scale(g, gif_size)
background <- image_background(image_scale(p, bg_size), "white", flatten = TRUE)
frames <- lapply(g, function(frame) {
image_composite(background, frame, offset = offset)
})
animation <- image_animate(image_join(frames))
image_write(animation, out_file)
}
然后就可以来玩了,首先用上次讲到的dotplot做为底图,再从网上找一个动图,调用函数,bingo: