我在生物信息学方面做了几项研究工作,并为他们使用了 Matlab。Matlab 有很多强大的工具并且易于使用。我确实考虑过基因组测序和预测代谢途径。我想知道其他人认为什么是最好的?或者可能没有一种特定的语言,而是一些最适合数学繁重且处理大量数据的生物信息学工作的语言。
7 回答
您可能会对 BioStar 上的这个主题感兴趣:
对于我们大多数生物信息学家来说,这包括 Python、R、Perl 和 bash 命令行实用程序(如 sed、awk、cut、sort 等)。也有人用 Java、Ruby、C++ 和 Matlab 编写代码。
那么底线呢?无论哪种语言让您最轻松地完成工作,都适合您。回答这个问题应该包括仔细调查您可以从中提取的库和其他代码,以及有关您自己的偏好和经验的信息。如果你在做微阵列分析,很难击败 R/bioconductor 库,但对于大多数类型的大型测序数据集的争论来说,这绝对是错误的语言。
生物信息学没有一种正确的语言。
重要的BLAST测序工具是用 C++ 编写的
用于对齐蛋白质结构的MATT工具是用 C 编写的
我的一些计算生物学同事使用 Ruby。
一般来说,我看到很多 C 和 C++ 用于性能关键代码,以及很多脚本语言。
Python + scipy 不错(而且免费)。
http://www.vetta.org/2008/05/scipy-the-embarrassing-way-to-code/
在放弃 Matlab for SciPy 时,您甚至不需要真正学习新语法。
不管好坏,SAS 是生物制药中事实上的编程环境。如果你在生物信息学领域为全球的辉瑞、默克和拜耳工作,你最好有 SAS 技能。SAS 程序员的需求量很大。
什么是“最佳”语言既是主观的,也可能因任务而异,但对于生物信息学工作,我个人使用 R、Perl、Delphi 和 C(经常是其中几种的组合)。
我主要研究 HMM 和蛋白质序列。我开始用 C 编写代码,但后来改用 Python,对此我很满意。我发现快速制作原型更容易,并且更容易维护代码。
这是一篇关于评估不同语言和不同情况的主题的免费学术论文:http: //www.biomedcentral.com/1471-2105/9/82
他们将 6 种常用语言分为 3 个不同的级别。
2 compiled languages: C, C++
2 semi-compiled languages: C#, Java
2 interpreted languages: Perl, Python
一些一般性结论:
- 编译语言在全局对齐和邻接程序中优于解释语言
- 解释语言通常使用更多的内存
- 除 Python 外,所有语言的 BLAST 计算性能大致相同
- 编译语言需要更多的书面代码行来执行相同的任务
- 编译语言往往更适合算法实现
- 解释语言往往更适合文件解析/操作
这是另一篇很好的免费学术文章,讨论建立生物信息学技能的方法:http: //dx.plos.org/10.1371/journal.pcbi.1000589