「转发翻译」为生物信息学设计的Python(2011年版)


这本书断断续续的译了一年多,本来是新书的,都变成老书了。Python发展这么快,有些内容都赶不上形势了。最近工作比较忙,没有时间把它翻译完了,幸好正文部分已完,就此截止了吧。翻译过程中学到了很多东西,也有许多感触,在这里记录一下。

我接触Python是在读博士后的实验室之后,之前用了六年的perl和C。新的实验室的氛围是用Python,所以就下决心转了过来的。最初用Python,它的强制缩进让我用起来很不舒服,有一种拘束感,这或许是用perl习惯的原因吧;但是,经过了更长时间的使用后,特别是现在,发现三年前写的代码,现在重新启用,还能看得很清楚,确实让人觉得很爽的。这在用perl时,是没有过的。

Python在生物信息中有很好的应用,正如我在ChinaUnix论坛的讨论中提到的:

“ 1,Python的学习曲线很好。对于没有接触编程的人能很快上手,对有编程经验的人更是容易写。

Python代码的阅读性好,学习别人写的Python,像在读一本小说一样流畅,这一点是别的语言比不了的。

2,Python的数据结构特别适合生物信息。比如Python的序列用于生物序列的分析是得天独厚的,其字典功能的强大更不用说了。

Python的面向对象很好,能很容易把生物信息学中的数据对象化。

3,Python有诸多的软件包支持,扩展性很好。除了有广泛的计算机科学的软件支持外,生物信息学中需要的许多模块有Biopython,pygr支持,还有matplotlib,networkx,scipy等科学计算、研究中强大的软件包支持,python是一种很好的胶水语言,与R有rpy的接口,能提供很好的统计学支持。

4,Python同样支持正则表达式,使得它在文本处理方面,能力不比perl差。

”(其他关于Python的这个应用调查见http://bbs.chinaunix.net/thread-3760935-1-1.html)

提到Python就不得不提perl。关于生物信息的perl和Python的比较和争论由来已久,这里我仅给出几个链接,看看大家怎么说的:

http://quwubin.is-programmer.com/posts/4039.html

http://www.yelinsky.com/blog/archives/344.html

http://www.dxy.cn/bbs/topic/8440360

http://www.zhihu.com/question/20091346

http://www.douban.com/group/topic/31254327/

这本书的翻译的过程中,有几个特点使我印象深刻:

1,本书对Python做了深入浅出的介绍,尽量避免了许多专业的编程术语,从生物信息应用的角度出发来教编程。同时它又旁征博引,为深入的学习提供了可能。课后的习题可以加深对本章概念的理解。

2,它不仅是Python的基础教程,还有大量的第三方应用包的介绍,使读者能很快的适应python的开发环境做一些小的应用。在开发中学编程是最好的学编程的方法。

3,作者对所有的书中的代码都有网上的链接。可以直接下载使用,便于读者的学习。

4,作者的某些章节的介绍,说理清楚,例子举得恰当。比如数据库一章,通过循序渐进的例子,把数据库设计分析得条条是道,很另人佩服。

当然它也有一些不足,就重要的说几点,

  1. 本书对python初学者是一个很好的教材,但是它对于如何使用help和dir却没有介绍,不能说不是一个重要疏漏。这里我补充一下:

在python交互方式下,对任何一个对象,包、函数或类,都可以用help(ObjectName)的形式,显示其函数的帮助。用dir(ObjectName)的方法,可以显示对象的属性和方法列表。

这个两个函数在用Python在工作中是必备的。

  1. 本书讲的是生物信息学的应用,有几个软件包是用的非常多的,它却没有提及,比如:

a.rpy/rpy2, Python和R的接口,可以在Python中调用R的对象和函数;

b.numpy/scipy, 用于科学计算的软件包;

c.matplotlib,Python的科学绘图包,图形酷似matlab的图,非常漂亮。

d.networkx,复杂网络研究的软件包,系统生物学用的很多。

  1. 原书内容,排版和拼写中还有些错误,不多,我在译文已尽量改正了。

当然我这里是有点鸡蛋里面挑骨头了,一本书不可能包罗万象。这本书涵盖的内容已经让我受益匪浅,只是愿望中这样的好书希望它能无瑕疵罢了。

有网友提到是不是能把文稿打成pdf,以便于学习,很抱歉最近工作太忙,实在没有时间整理了。本书的第四部分的若干程序,由于网上有代码,就不在这里排版了,偷懒了,呵呵。

非常感谢Yummy对译本提出的大量修改意见,还有各位朋友的关注和意见。译文中肯定还有很多不足和错误,这里仅供参考,还请读者对照原文阅读。请方家多加指正。

前言

第一部分 编程

第一章 介绍

第二章 初识Python

第三章 基本编程:数据结构

第四章 编程:流程控制

第五章 处理文件

第六章 代码模块化

第七章 错误处理

第八章 面向对象编程(OOP)介绍

第九章 正则表达式

第二部分 Biopython

第十章 Biopython (I)

第十章 Biopython (II)

第三部分 高级主题

第十一章 网络应用

第十二章 XML

第十三章 Python和数据库

第十四章 合作开发:版本控制

第四部分 带注释代码的Python菜谱 第十五章 批量操作序列

第十六章 过滤载体污染的网络应用

第十七章 用Prime3寻找PCR引物

第十八章 对引物集计算解链温度

第十九章 从Genbank过滤出特定字段

第二十章 转换XML BLAST文件到HTML

第廿一章 推导剪切位点

第廿二章 用限制性内切酶处理DNA突变

第廿三章 多序列联配的网络服务器

第廿四章 用存储在数据库中数据来画标记位置


分享到:


相關文章: