不记得是什么时候知道统计之都的,但我记得最早知道的是太云,因为我用了他写的corrplot包。后来统计之都最早接触的也是太云,他给我写邮件问我能不能帮忙校对《ggplot2:数据分析与图形艺术》,从此开始和太云变成了网友。

我在暨大的时候,太云曾经邀请我去China-R会议做报告,但我觉得自己没什么好分享的,GOSemSim这个包是硕士的时候做的,不好去讲之前做的东西。而当时我写的另一个包clusterProfiler,纯粹是因为大量做富集分析的工具都是针对模式生物,而我们实验室有做各种细菌;另外有一些工具,背景设置是有问题的。自己实现一个包,不受别人的限制。即便是这个包现在受到了一定的认可,比如BioC 3.3中有个debrowser的包使用了clusterProfiler,而在BioC 3.4中又有个新包bioCancer也使用了clusterProfiler;再比如这次在北京,有好几个参会的人员在茶歇时问了clusterProfiler的问题。但始终觉得这只是个实用性的包而已,算法是别人的,而且已经比较老了,类似的工具简直就是成百上千。所以也是不好意思拿出来讲的。所以我拒绝了太云的邀请,一直也没有参加China-R的会议。

今年是第九届China-R会议,这次会议规模很大,有22个分会场,超过100个演讲嘉宾,参会人数超过4000人。这一次刚好有个Bioconductor的分会场,Matt写信给我,说我写过几个Bioconductor包,他本人喜欢我的ChIPseeker包,问我能否在会上分享与Bioconductor包相关的经验。这是Bioconductor在中国的首秀,我欣然接受,当然也是因为这两年我写了ChIPseekerggtree,我自己觉得还拿得出手🙈。

Continue reading

本文受魏太云(@cloud_wei)的邀请,最初在2015年发表于统计之都

进化树看起来和层次聚类很像。有必要解释一下两者的一些区别。

层次聚类的侧重点在于分类,把距离近的聚在一起。而进化树的构建可以说也是一个聚类过程,但侧重点在于推测进化关系和进化距离(evolutionary distance)。

层次聚类的输入是距离,比如euclidean或manhattan距离。把距离近的聚在一起。而进化树推断是从生物序列(DNA或氨基酸)的比对开始。最简单的方法是计算一下序列中不匹配的数目,称之为hamming distance(通常用序列长度做归一化),使用距离当然也可以应用层次聚类的方法。进化树的构建最简单的方法是非加权配对平均法(Unweighted Pair Group Method with Arithmetic Mean, UPGMA),这其实是使用average linkage的层次聚类。这种方法在进化树推断上现在基本没人用。更为常用的是邻接法(neighbor joining),两个节点距离其它节点都比较远,而这两个节点又比较近,它们就是neighbor,可以看出neighbor不一定是距离最近的两个节点。真正做进化的人,这个方法也基本不用。现在主流的方法是最大似然法(Maximum likelihood, ML),通过进化模型(evolutionary model)估计拓朴结构和分支长度,估计的结果具有最高的概率能够产生观测数据(多序列比对)。另外还有最大简约法和贝叶斯推断等方法用于构建进化树。

Continue reading

Author's picture

Guangchuang Yu

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

Postdoc researcher

Hong Kong