Guangchuang Yu

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

使用ggtree实现进化树的可视化和注释

Mar 9, 2016 - 3 minute read - Comments VisualizationEvolution

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

文章最后提到的可以在图上嵌入小图,比如饼图,柱状图等,已经实现, 也可以使用用户自己图片来嵌入注释。

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

层次聚类的侧重点在于分类,把距离近的聚在一起。而进化树的构建可以说也是一个聚类过程,但侧重点在于推测进化关系和进化距离(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)估计拓朴结构和分支长度,估计的结果具有最高的概率能够产生观测数据(多序列比对)。另外还有最大简约法和贝叶斯推断等方法用于构建进化树。

喜新厌旧之hello Hugo

Dec 4, 2015 - 2 minute read - Comments blog

最早在China Unix上写博客,后来转战新浪。在azelea的说服下,果断换成wordpress,写技术博客贴点代码什么的,新浪必须是太渣。azelea是我开始独立博客的领路人,为我提供了空间和域名。再后来自己买了空间和ygc.name的域名,用了好几年。本来一直有想法要换成github+jekll,恰巧Wei Shen强力推荐HUGO。于是再一次换博客。

首先面临着wordpress迁移的问题。

导入wordpress posts为markdown文件

试用了多个插件或脚本,都是各种出错。最后发现了神器potter-wordpress,通过npm安装:

npm install -g pottercms-wordpress

然后一个语句:

potter-wordpress -h WORDPRESS_SITE_URL -u USER_NAME -p PASSWORD --dir PATH_TO_STORE_MD_FILES

自动从线上把posts抓下来,并转化为markdown。在之前各种搞不定之后,看到下面的输出有种莫名的快感。

Fetching articles…

   Got : [Sun Nov 29 2015] R kernel in Jupyter notebook 3
   Got : [Mon Nov 09 2015] phylomoji with ggtree
   Got : [Tue Nov 17 2015] 合体中的操作系统
   Got : [Mon Nov 02 2015] Comparison of clusterProfiler and GSEA-P
   Got : [Thu Oct 01 2015] ChIPseq data mining with ChIPseeker
   Got : [Tue Oct 06 2015] TRIE
   Got : [Thu Oct 15 2015] [BioC 3.2] NEWS of my BioC packages
   Got : [Wed Oct 21 2015] use simplify to remove redundancy of enriched GO terms

   ...

   Got : [Mon May 14 2007] Edit partition table in NetBSD/macppc
   Got : [Mon May 14 2007] 我的emacs配置文件
   Got : [Mon May 14 2007] pkgsrc tips
   Got : [Thu May 03 2007] scilab三维平面绘图
   Got : [Sat Jun 24 2006] qvwm窗口管理器的windows2000主题
   Got : [Wed Jun 14 2006] 安装os9和netbsd双系统
   Got : [Sat May 28 2005] 在emacs里使用maxima
   Got : [Mon Mar 14 2005] scau校园网认证
   Got : [Fri Jan 14 2005] Powerbook G3上安装gentoo

Done.

合体中的操作系统

Nov 17, 2015 - 1 minute read - Comments Mac OSWindows

更新EI Capitan已经近一个月,第一感觉就是明显变慢了。这是去年买的27’ iMac,必须不慢。 MS office程序可以打开,但打开文档直接闪退。升级安装总会有些问题,就像我去年在笔记本上升级yosemite一样,最后两分钟始终过不去,迫使我全新安装,当时我看后台记录就发现了是MacTex拷不过去, 后来MacTex的网站上也写了升级Yosemite有这个问题。升级有些小问题是可以预见的,但很少有像EI Capitan这么多的问题。

Macworld EI Capitan review文章中有人这样评论:

haha nice review ! did you tried the update ?? slow connection safari freezes on launch outlook crash printer does not work anymore great job from Apple . My confidence in Apple has been seriously dented!

BMC Favor Plagiarism

May 17, 2015 - 3 minute read - Comments BiologyResearch

ppiPre抄袭了GOSemSim的代码,证据当然非常充分,比对一下代码就知道了,我在Proper use of GOSemSim一文中,做出了一些比较,另外也可以参考github页面,github记录了ppiPre被暴光抄袭之后所做的修改。 从我给BMC Systems Biology的编辑反馈这件事开始,在这铁板钉钉的事实面前,编辑拖了整整一年,而这一年时间过去了,ppiPre仍没有被编辑部受理。从最早反应这件事情,编辑信誓旦旦说他们很重视这种事情,到后面对我的邮件视而不见,我愿意相信编辑部处理这些事情,需要时间,他们有自己的规则,但一年的时间,不回邮件,冷处理以淡化此事,这绝对不是应该有的规则。 在编辑一直无视我的情况下,我写出了Proper use of GOSemSim一文,列举了一些一模一样的代码,并告知CRAN,当ppiPre被CRAN移除时,我写信给编辑,这时候,编辑告诉我说他们准备要去联系作者了,这时候已经过去半年了,是的!你没有看错,半年过去了,编辑说他们还没去联系作者!我是不相信的。必然是联系了之后,有某些不为人知的原因,所以编辑态度反常,对抄袭这种打鸡血的事情,不断在打太极。 再过二个月,ppiPre的作者邓岳给我写了信: