Enzyme evolution

我一直都对比较大的蓝图感兴趣,如果当时有意识地去选择,自己可能就会去做Bioinformatics相关的研究了。(为什么不去当码农。。。)可能因为这个的缘故,我对enzyme evolution也一直有那么点兴趣。

去年 Doug sabbatical,于是他们组有半年与我们组一起开联合组会,我也得知这一与我们同幢楼的实验室具体是做的什么。今年年初的时候学校搞了个 minicourse in statistics,Doug也在其中开了一门 *Bayesian Methods for Analysis of Protein Evolution*。一眼督见后面两个单词的我想着正和朕意,便报名上课。课程很短,除去一天基本上是废话基础介绍的Linux/R的入门课外,正式课程只有三天。而在其中Doug讲了两天的概率(我还没带纸笔,只能用Emacs来记笔记,简直头大)。不过第三天的实战(BLAST+ClustalOmega+Phyml+BAli-Phy)确实算带我入了门。不得不说一个搞生化研究的老师比一个搞计算机的老师在演示BLAST时,关注的重点要实用许多。

不过虽然有上手操作,这毕竟还是课程,而我缺少课堂学习的能力,所以还需实例演示。也是凑巧,Doug昨天讲了个seminar,正是关于他如何用evolutionary手段玩弄LDH和MDH两种酶的,听完之后基本上明白了实战的思路,回家又顶着高烧扫了一遍他的文章们,大致也摸出了基本的套路:

  • 他们组自己关于LDH/MDH的几篇文章:和seminar上讲的差不多,但是有具体的实验方法说明呀;
  • 他的几篇理论性文章:跟他上课的内容互为补充;
  • 他和其他组合作的文章:和Miller爷爷合作的ion channel的,和Oprian合作的rhodopsin的,和Kern合作的thermoadaptation的,和Garrity合作的果蝇thermosensor的。只想吐槽好多Nature Science啊。。

然后我就跃跃欲试了。然后就遇到了fasta文件预处理的问题,然后不折腾不死星人便想着,刚好最近用过几次Vim,要不就用它来预处理吧。于是文章的第二部分诞生了。

Vim中查找与替换

vim中查找是/,替换是:s,基本命令是:[range]s/search/replace/[flags]

其中[range]可以为1,10, 1,, 1, %,最后一个是所有行;

[flags]可以为cconfirm, eerror不显示, gglobal整行,iignore大小写 。

元字符有., *, \, [, ^, $, 使用时需转义。

通配符 说明
. 任意字符
[abc] 方括号以内的任意字符
[\^abc] 除方括号以外的任意字符
\d 阿拉伯数字,即[0-9]
\D [\^0-9]
\x 十六进制数字,即[0-9A-Fa-f]
\X [\^0-9A-Fa-f]
\l 小写字母,即[a-z]
\L [\^a-z]
\u 大写字母,即[A-Z]
\U [\^A-Z]
\w 单词字母,即[0-9A-Za-Z_]
\W [\^0-9A-Za-Z_]
\t <TAB>
\s 空白字符,即[\t]
\S [\^\t]
数量 说明
* 0-任意个
\+ 1-任意个
\? 0-1个
\{n,m} n-m个
\{n} n个
\{n,} n-任意个
\{,m} 0-m个
位置 说明
^ 行首
$ 行尾
\< 词首
\> 词尾

后来发现好像sed更好用,不过也没差啦。

参考:

  1. Vim查找替换及正则表达式的使用
  2. Search and replace