最新版本的R已经内置parallel包,parallel包是从snow包和multicore包继承而来,包含了很多非常好用的函数。parallel包可以通过PVM(rpvm包)、MPI(Rmpi包)、NetWorkSpaces(nws包)和raw sockets(如果以上3种都不能使用)平台进行分布计算,支持cluster和多核个人/服务器计算机。在Linux系统上,通常使用openMPI

1. 安装Rmpi

因为使用openMPI,所以parallel包需要Rmpi包来设定节点,所以首先需要在计算机上安装openMPI。

构建进化树

1. PhyML

构建进化树方法:Maximum Likelihood

评估:选择bootstrap或者Likelihood-ratio test

运行方式:所有平台和网页

心得:理论上支持4000条序列,小于2000000个字符。但是,对于个人电脑,通常100-200条序列比较合适。命令行运行时,可以选择非常简介的默认模式运行。在默认模式下,bootstrap需要手动开启。安装和使用非常方便,直接下载后可以直接使用。同时,bootstrap可以通过MPI分布计算,但是需要从源代码安装。

快速运行

1
phyml -i align_file.phy --no_memory_check

一个最简单创建R包的流程。

1. 载入工具包

安装并载入devtools包和roxygen2包。devtools包提供了一些包的检查、安装和打包的基本工具。roxygen2包则使得书写R帮助文档变得轻松简单。如果习惯使用Emacs,可以结合ESS建立R包,可以将R代码和帮助文档有效组合在一起,便于管理。当然,也可以使用Rstudio

1
2
library('devtools')
library('roxygen2')

Mapping data onto a Circos figure requires that you identify what patterns in your data are (a) likely to be important and (b) likely to be present, and create a figure that exposes such patterns. Remember, if the pattern exists, you can’t afford to miss it. If it doesn’t exist, you can’t afford to be fooled into thinking that it’s there, or left wondering whether it’s occluded by other data.

1. Run circos

1
2
3
4
5
6
bin/circos
-png
-svg
-conf etc/circos.conf
-outputdir /path/to/your/output/directory
-outputfile yourimage.png

$\newcommand{\entropfrac}[2]{\frac{#1}{#2} \log \left( \frac{#1}{#2} \right)}$

Mututal Information (MI)

Introduction

Mutual Information (MI) distance is used to measure the distance between two genes vectors, for example $x_1 = {1, 0, 1, 1, 1, 1, 0}$ and $y_1 = {0, 1, 1, 1, 1, 1, 0}$. It is easily to transfer the two vectors into a binary table:


X/Y 1(Presence) 0(Absence) Sum
1(Presence) a b a+b
0(Absence) c d c+d
Sum a+c b+d n=a+b+c+d