Sorry, but we couldn't find the page you're looking for.
Please head back home.
《潮博沙龙》系受到潮博群里大家的邀请,应邀去普及一下生信以及介绍自己的一些经历。
中国R语言大会,我到目前为止,只参加过2016年那一次,也就是第9届,那也是首次有Bioconductor分会,并且还邀请了bioconductor的老大martin morgan,我当时也是受邀请去参会的,虽然会议在人民大学举行,虽然主会场和其它分会场都是讲中文,但bioconductor分会场是要求讲英文的。因为主讲人一半是歪果仁,一半是中国人,而3个中国人之中又有两个是美帝来的,只有我一土鳖。本来邀请人跟我提了一下ChIPseeker,暗示可以讲这个包,但我强行去讲ggtree,然后会后,很多听众问我clusterProfiler的问题,也是挺尬聊的。
ChIPseeker
ggtree
clusterProfiler
当年我准备考博的时候,健康院某PI(本来的意向导师)找我帮他在iMac上安装盗版的Papers(文献管理器)和Illustrator(PS的兄弟),安装后,跟我说:“我们做科研的,最重要的软件就是Papers和Illustrator。”,当然后来感觉挺坑我,就放弃了。
Papers
Illustrator
这么多年过去了,至今这两个软件我都没用过!我画图,追求的是全部由代码产生,至今还没有修图的需求,也就没有试过Illustrator了。
Illustrator必须有些门槛,而且关键是Adobe绑死在PDF上,实际上如果80%的问题都可以用PowerPoint解决,剩下那20%,反正也不常用。而PowerPoint的优点是没有门槛,傻瓜式操作,像我这种怀疑自己智商的人,都会用啊!
Adobe
PowerPoint
要是R画的图,能够在PowerPoint里面编辑就好了!
R
在《R-3.6 – set.seed》和《欧式距离如何应对缺失值?》中暴露了biobabble作者群,今天就来揭秘一下。
biobabble
凡是给本公众号投过稿,或者是被我约过稿的,都会被我拉入群,目前在群里有8个小伙伴,分别是有原创文章发表在biobabble公众号的,其中有介绍自己的软件工具的,包括scihub_ck,csvtk,bioView, basicTrendline等优秀作品,首次在公众号平台上介绍。
scihub_ck
csvtk
bioView
basicTrendline
biobabble作者群有一个小伙伴提出来的问题。
没错,凡是给biobabble投稿的小伙伴都会被拉入作者群。
话说有一个矩阵,我们让它某个值缺失,算出来的距离和原来的竟然是一样的:
> dat = matrix(1:10, 2) > dist(dat) 1 2 2.236068 > dat[1,1] = NA > dist(dat) 1 2 2.236068
这有点反直觉,实际上你再搞个缺失值,它算出来还是一样的:
> dat[1,3] = NA > dist(dat) 1 2 2.236068
但以我的经验,我通常不敢轻易说人家有bug,我们得确认一下。
在《一图告诉你venn plot和upset plot的关系》一文中,我们应该很清楚这两者的关系,upset plot是更清晰的呈现方式,而且能够支持无数多个分类,在《转UpSet图为ggplot?》一文中,又介绍了一个转化UpSetR输出为ggplot2便于嵌图和拼图的方法,但这个需要一个补丁,然后我提交的这个补丁,一直没有被作者接收。而且毕竟UpSetR是用grid写的,像grid这种高级货,玩起来还是有点难度,我一直在想应该有一个ggplot2版本的upset plot,最近就让我在gayhub上发现了。
ggplot2
这包已经在CRAN上,所以可以用最简单的方式安装:
install.packages("ggupset")
library(tidyverse) library(ggupset) tidy_movies %>% distinct(title, year, length, .keep_all=TRUE) %>% ggplot(aes(x=Genres)) + geom_bar() + scale_x_upset(n_intersections = 20)
你是否对《R包辣鸡之CorMut》之篇还有印象?没有的话,快点打开阅读一下,这文章让作者毕业了,毕竟发表的是一篇Bioinformatics。
《[连载3]:辣眼睛,一篇抄袭引发的系列血案!》,而这一篇文章中揭露了某讲师抄袭了两个R包,晋升副教授了!文章中还稍带了另外一个学生也是抄袭,当然也发表了SCI,也毕业了。
今天讲另外一个R包,它做下面的事情:
当然前面的事情是goseq干的,它的功能就是衔接了goseq的输出,让我们还看看它每一步都在做什么。
最近有一些考研失利的同学问我怎么申请香港的学校,其实我的经验并不多,因为我读博的时候,并没有想要去香港,在港大临近截止日期的时候,很突然地去申请,然后竟然中了。当然毕竟在港大也待了几年,要说经验,多少也是有一点的。
美帝的话,基本上可以说已经没机会了。要的话,再过一年,请赶早。欧洲还是有些机会的,因为欧洲读博就跟工作似的,有时候有funding了,打了广告,就招人了。只不过你要时刻去留意,而且不一定能让你撞上。
而港大(其它香港学校我不了解),每年招3轮学生,分别在12月、4月、8月,刚好如果你考研或考博之后,不管考得好不好,都可以试一下,给自己多一个选择,因为4月31号截止,时间不冲突,完全赶得上。
在《一个更好用的pheatmap》一文中介绍了pheatmap的新功能,它输出为一个pheatmap的对象,这个对象在终端上打出来,会出来图,你可以用ggplot2::ggsave()来保存图片,文章的结尾处卖了一个关子,就是用cowplot来拼,这个有许多人问过我,因为大家一般都认为cowplot只能用于ggplot2的输出,pheatmap感觉好像不太行,而且在很多人的感觉中,画图代码不是ggplot2写的,就是base写的,而pheatmap看上去就像是base一般,其实它是grid写的,我在下面两篇文章中都有示例代码,用于拼pheatmap,不过一般人看过了,也只是留下一点印象,终究还是记不住,因为涉及到grid的知识。
现在我们有一种你一定能记得住的方法了,以后再也不用问pheatmap怎么拼图了,首先pheatmap产生的是一个对象,然后这个对象我们可以用ggplot2给画出来,然后自然而然你能够用cowplot去拼,再熟悉不过了,如果这都不能理解记住,那我也没办法了。
我写过不少文章,都有提及提问的礼仪,会提问的人,比较容易得到帮助,而不会提问的人,理你才怪,比如说明明出错信息很明显,还给了你解决的提示而你却不看。举个例子现在需要编译的R包,如果缺少库文件,报错的话,一般会提示你Debian/Ubuntu系列apt安装什么包,Redhat系列yum安装什么,MacOS的话,brew安装什么,你按照提示装上再说,你不懂的话,你还不会把出错信息贴出来google一下吗?一般都有人解决了。 一个错误的示范
有一些软件做了检验之后,是不告诉你那些基因在某个富集的通路中,显然做为生物学家,是对此有兴趣的。clusterProfiler系列,全部函数都会输出,但看基因ID,比如ENTREZID或ENSEMBLE,这些都对人类不友好,看了你也不知道是什么,为了让大家看结果的时候,还能有点感觉,我们需要把基因翻译成symbol,有那么一批函数比如DO、GO、Reactome的分析都是有readable参数的,但有一些是没有这个参数的,我被问得最多的是KEGG的分析为什么没有!
readable
首先GO为什么有?因为enrichGO和gseGO都是使用OrgDb,而OrgDb本身带有ID转换的注释,而KEGG是在线去检索KEGG数据库的,KEGG并没有提供这些信息,当然对于少量大家比较熟悉的模式生物,要支持还是很容易的,然而有些物种支持,有些不支持,大家又会问了,凭什么我做的物种被BS了。所以啊,大家都不支持,挺公平。其实KEGG数据库里那么多的生物,很多物种是没有基因名的,有很多生物的注释还停留在基因座,你让我帮你转ID,臣妾做不到啊。
enrichGO
gseGO
OrgDb
但起码对能支持的物种支持一下呗,以我一贯的作风,能帮小白解决的小问题,我都会去解决。于是我们有setReadable函数。但凡你能找到一个OrgDb,你就能用来转ID,就这样。
setReadable