Google Drive @ HKU

寻找一个好的网盘一直是个困扰我的问题,Dropbox非常好,但空间有限,大陆的各种网盘都是渣渣,本来试用了一下百度云,但度娘实在不争气,体验非常差。我后来找到了个比较好的方案,那就是gitlab,可以创建无限量的project,每个project有10G的空间,这比github出手大方多了。唯一不足是.git文件夹也是非常占空间的。

到HKU两年多,才发现HKU的邮箱自带无限量的google drive网盘。


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

喜新厌旧之hello Hugo

最早在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.


Continue reading

更新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!


Continue reading

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

再过二个月,ppiPre的作者邓岳给我写了信:
Continue reading

去年ubuntu下apt-get了R-3.0.2, 用了没多久就发现了system命令有问题,通常情况下调用系统命令是正常的,但是我调用bowtie的时候,就会报错: Warning: Could not open read file "/tmp/8156.inpipe1" for reading; skipping… Error: Encountered internal Bowtie 2 exception (#1) Command: /usr/bin/bowtie2-align –wrapper basic-0 -p 12 -x /ssd/genomes/hg19 -S tmp.sam -1 /tmp/8156.inpipe1 -2 /tmp/8156.inpipe2 这很明显是因为fasta.gz文件,bowtie需要调用zcat来读的,在R里调用bowtie就找不到好基友zcat的输出管道。当时没在意,R不干,那就找shell。 去年用NMF包的时候,报出了人类不友好的错误,联系了包作者Gaujoux,在作者的帮助下,找到了是doParallel包的问题: > library(doParallel) > Loading required package: foreach foreach: simple, scalable parallel programming from Revolution Analytics Use Revolution R for scalability, fault tolerance and more. http://www.revolutionanalytics.com Loading required package: iterators Loading required package: parallel > registerDoParallel(11) > > foreach(i = 1:10) %dopar% { getwd() } > *** caught segfault *** address 0x7fbeb6d399d0, cause ‘memory not mapped’ 其实parallel包中用mclapply也是同样报错。于是又把维护deb包的Dirk拉进来,Dirk是Rcpp的作者,高人就是不一样,看了错误,立刻就指出是BLAS库的问题。
Continue reading

Author's picture

Guangchuang Yu

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

Postdoc researcher

Hong Kong