每次遇到有人问怎么学生信时,总会碰到一个尴尬的问题,“有没有什么书可以推荐下”。骤然之下,也不知道该怎么回答。这个问题有点大,想不到一本书可以囊括。而且对提问人的基础和学习倾向没有了解,与其指条错路,还不如不指。最后我都都会说,看生信宝典吧,有一系列由浅入深的Linux教程,R教程,Python教程和NGS教程;你要想学就按我写的做,有问题再讨论。
后来想想,生信宝典虽然是凝练了很多书籍、经验的知识合体,但总会有涉及不到的地方和忽略了的地方。还是系统地整理下书籍,做为一个补充吧。
我最开始学习时也会碰到读什么书的问题。那时候网上还没有现在这么多的资源,而写成书的东西都会比较系统,所以有一本合适的入门书籍还是会很有帮助的。但怎么叫合适呢?最开始学C
语言,看了谭先生的C语言入门系列
,确实是入门系列,看来看去总在门口徘徊,体会不到先生的真谛。直到后来寒假在家读了The C programming language
才知道圣经就是圣经,地位不可撼动,拉你入门没商量。
后来,我选书的原则就是,先搜索到一堆 (现在百度云里面还沉睡着很多电子书),然后一个个的打开浏览,看不下去的就扔掉,哪个能看下去就看哪个;很有可能最后看完的那个,无论在写作风格和内容深度方面都是适合你的这个阶段的。看网上的教程也是,多浏览,少细读,既能保证你熟悉这个方向,又能帮你找到合适的切入点。
列一下其中可能对大家有帮助的书:
- 并行计算导论(2006 张林波等编著):如果不想学并行计算,这本书第二章是不错的Linux操作系统、Linux命令和Linux开发环境介绍,朴实、详细。
- Bioinformatics programming using python (2010, O’Reilly): O’Reilly出版,经典,只看前7章就可以
- ThinkPython, ThinkBayes, ThinkStats (Allen B. Downey著): 计算的视角学习贝叶斯和统计, 自带电子版
- Programming Collective Intelligence (Toby Segaran, O’Reilly): 有意思的机器学习类书籍,基于Python
关于生信,我最开始看的是《生物信息学中的计算机技术》(2002年出版),内容涵盖Linux系统使用,生物序列分析、基因和基因家族鉴定,系统发育和数据库建设、自动化、可视化等内容。对当时不知道怎么入手的我,有很大的启蒙作用。现在已经记不清具体的内容了,只是印象中看完这一本,朦胧中找到了方向。后来的两本书有《Beginning Perl for Bioinformatics》(2001年出版),《Beginning Python for Bioinformatics》(2002年出版),应该还都有对应的Master系列,在看这两本书的时候,已经有了一定的编程基础,都是作为既学习英语,又弥补下没系统学习过编程的缺陷。
后来在中科院数学所张林波老师和计算所迟学斌老师教授的《并行计算》,刘莹老师主讲的《数据挖掘》,《计算机病毒》等课程下巩固学习编程理念,不局限于哪一种语言了,主要学习里面的思考。这些老师,无论在基础理论还是应用上都有很好的经验指导。如果在中科院或北京上学的,都可以去选这些老师的课。迟学斌老师常常呐“不怕贼偷就怕贼惦记”来教导我们,不要害怕学不会,多看几遍,没事多想想就会了。套用现在话就是,没有看一遍生信宝典解决不了的问题,如果有,那就再看一遍。
再以后,基本就不完整的看专业类的书籍了,用到哪部分,就借助谷歌去搜索。因为有了一些经验,再多看看在线的教程,哪里不会搜哪里,问题一般都可以解决。这是一个便捷快速的方式,就像你有一本可检索的CookBook
在手。但是也会造成知识不连贯的缺陷。比如学习R时,就只看了R for beginners
(现在看的比较多的应该是R in actions
,也属于快速上手的小册子),后来也没系统地学,直到现在R
的水平还是在入门阶段徘徊 。
写代码到了一定的阶段,还是要多看优秀的代码,学习他人的写法,学习新的思路和新的方式。在解决问题时,如果感觉自己写出的代码很诡异,虽然能解决问题,但也最好搜索下,有没有更合适的方式。
从出版日期来看,之前看的那些书都比较老了,而且讲述的都是经典的计算知识和基础的生物计算处理。如果作为生信中的编程入门,问题倒也不大。但生物信息学发展到现在,那些提到的知识大都被封装到函数或命令中,现在用起来都是很简单的事了。尤其是对于着急用生信的人来说,里面的知识跟眼前要解决的问题中间有10年的落差,给人感觉有点"low"
,可能满足不了现在人浮躁的心理。
最近这几年出版的书,对常用的高通量测序、蛋白质组学和代谢组学等都有涉及,还是有一些挺不错的,比如 Clinical Applications for Next-Generation Sequencing (2016)
和Next-Generation Sequencing Data Analysis (2016)
,Bioinformatics_and_Functional_Genomics_3rd_edition (2015)
都可作为参考读物,用到什么地方去读什么地方。当做小说看也可以,翻到哪是哪。
- Clinical Applications for Next-Generation Sequencing (2016): 开始是关于NGS技术的原理、优缺点、应用的详细描述,后面分不同类型的疾病概述NGS的研究进展和存在的问题。
- Next-Generation Sequencing Data Analysis: 涉及分子生物学基本知识,NGS概述、测序原理及注意事项、NGS共有分析步骤及软硬件要求;转录组,小RNA,全基因组、表观和基因组组装等的原理、实验设计、分析内容和用到的工具。
- Bioinformatics_and_Functional_Genomics: 大百科,序列比对,数据库使用,系统进化,到芯片,NGS,蛋白结构、蛋白组,疾病;有原理,有代码。
如果想看中文的,书好像是没有的,但公众号和博客还是很多的。不管看懂看不懂,每篇都翻一翻看一看,说不准什么时候就会了。就像大学时,去图书馆,不看书,而是挨个书架的走动,浏览书名就会有不少收获。
最后,不管看书,还是看公众号,都要打起至少半年的主意;如果能坚持半年,再回头来看,拦路虎都成温顺的小猫了。
生信宝典,生物信息学习系列教程,转录组,宏基因组,外显子组,R作图,Python学习,Cytoscape视频教程
http://mp.weixin.qq.com/s/d1KCETQZ88yaOLGwAtpWYg