ggtree发表

MEE在18号出版了今年(第8卷)第1期,ggtree正好在这一期出版,一经出版就有几条推在传播, 我也是在推特上看到,才发现,哦原来我的文章出版了。然后我又发现2017年新鲜出炉有了一篇PNAS的引用。

我以前没接触过进化,来了现在这个实验室,发现可视化是个大问题,大家都在用AI,慢慢地抠,对于一些和进化树相关的数据,自己一点一点地在AI里面加上去。甚至于genotype table是一个框一个框地在AI里面加的。一方面画一顆树可能用掉你几天的时间,另一方面,太容易出错了,再者你花的时间并不能转化为生产力,每一次你都要这么搞!这简直就是水深火热啊!

我也帮师兄写过一些代码,给定进化树上节点的序列,我比较父节点和子节点,把碱基或氨基酸替换写到newick树的node label,然后就可以用软件展示序列的替换情况。教会了师兄,他再去给他的师弟师妹们演示,说以后咱们可以这么干了,一个个觉得很牛逼,我内心想的是,愚蠢的人类啊,node label只能存一个信息,牛逼的方式应该是可以展示多个维度的信息,通过图层自由组合。这个时候我就产生了要写ggtree的想法。


Continue reading

微信公众号的后台排版功能很差,要想让读者阅读起来舒服,写作的人要花很多时间,于是出现了像秀米这样的第三方排版网站,即便如此,要想排出好的版面,仍然是件耗时的事情,而且像在文章里贴代码这种小众需求,是不被支持的,代码就像普通文本,那叫一个乱。

好在微信平台是支持富文本的,我们复制粘贴过来,格式都还会在,像抄我ggplot2那篇文的生信人,就是完全复制粘贴的,还是我博客上的排版,当然它到了公众号上就乱了,我们其实很容易发现很多复制粘贴的,都没自己排一下版面,直接ctrl-C, ctrl-V一点诚意都没有。


Continue reading

R包辣鸡之CorMut

曾经QQ上有人叫我帮忙,跑某个R包做个分析,我一看那包,一堆bug,显然不能用,那就不是简单的事了,我可没空帮他写代码,于是他就经常恶心我,有事没事就来说我写ggtree没意义,不是实质科研,不如跟他做点牛逼的,不如再写个R包干他那事。昨天用马甲在进化群里问画树,我还热心贴个代码给他,说看不懂,我在群里说了,我写个文详细介绍一下。然而他的马甲身份暴露啦,所以今日跳票,我写好的文也不发了,你牛逼就不要用马甲来骗代码呀,ggtree没用你不要用呀,叔就是这么任性😎

之前讲过某个R包我一看一堆bug,直接放弃,今天倒是拿出来晒一下,不为别的,我只想说一句,一知半解是很危险的,盲目相信软件也是很危险的。


Continue reading

接下来要出一个ChIPseq系列,讲一讲ChIPseq和我的ChIPseeker包,从入门到放弃是我自己的个人写照。我做ChIPseq总共也就3个月的时间,做的事情并不多,在一知半解的情况下写下了ChIPseeker包。

我当时被要求做ChIPseq分析是为他人做嫁衣,而且是完全白干那种,但做为学生,白干也得干。

当时一开始使用ChIPpeakAnno做注释,但用UCSC genome browser检验结果的时候,发现对不上。在对ChIPpeakAnno包不满意的情况下,开始着手写ChIPseeker,其实在使用ChIPpeakAnno的时候,我就有写代码对结果做一些可视化,所以未有ChIPseeker先有ChIPseeker的部分可视化功能。当时写了篇博客文说ChIPpeakAnno的问题,一个月后就在Bioconductor上发表了ChIPseeker,这包完全是我半夜在宿舍里写出来的。


Continue reading

Hi,

I know this question has been asked before a long time ago and I don’t see an answer of that question in the mailing list or in the vignette of GOsemsim package. So I was wondering what is the easiest possible way of calculating GO semantic similarity value for orthologus gene pairs between two species using the above R package or any other package you know of. I am not doing this for less annotated species I need to calculate that for orthologus genes between Human and Mouse (both of which are well annotated IMHO). So I would much appreciate it if anyone who has already done this before can point me to a resource which already has pre-calculated semantic similarity values for Mouse and Human orthologues or has inbuilt code to do that.

Thanks & regards

这是Bioconductor support site上的问题,问的是他想要计算人类和老鼠的直系同源基因通过GO注释来计算语义相似性,问GOSemSim是否支持,这个答案是yes and no。


Continue reading

这个问题是以弗拉维奥·约瑟夫斯命名的,它是1世纪的一名犹太历史学家。他在自己的日记中写道,他和他的40个战友被罗马军队包围在洞中。他们讨论是自杀还是被俘,最终决定自杀,并以抽签的方式决定谁杀掉谁。约瑟夫斯和另外一个人是最后两个留下的人。约瑟夫斯说服了那个人,他们将向罗马军队投降,不再自杀。约瑟夫斯把他的存活归因于运气或天意,他不知道是哪一个。 – https://zh.wikipedia.org/wiki/约瑟夫斯问题

这是一个比较简单的问题,n个人围成圆圈,越过k-1个人,杀掉第k个人,如此反复直到只剩下最后一个人。可以用数学推导给出答案,问题本身已经足够简单,用链表可以模拟整个过程。实现起来比较直观。这里在初始化这个链表的时候,需要注意,到了最后一人的时候,他应该指向第一个人,这样才能形成一个环状的链表,然后问题就非常简单了,从第一人开始,后面就无所谓头和尾了,按照规则来,每次杀掉一个人,直到只剩下最后一人,就是结果。从维基的解释可以看出,最后两个人没死,这没节操的事情被拿来说,如果你数学好,你就可以救自己一命(站在合适的位置,让自己是最后一个)。


Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

PhD student

Hong Kong