- 1. 明确目标、选择适合的方法
- 2. 测试你的或别人的代码
- 3. 你是科学家,并不是程序员
- 4. 使用版本控制软件
- 5. Pipelineitis是一种恶疾
- 6.要拥有奥巴马一样的心境
- 7. 要怀疑一切,不相信任何人
- 8. 选择正确的工作工具
- 9. 成为一名侦探
- 10. 已经有人做了,找出他们!
- 补充
两位计算生物学专家2013年发表在nature biotechnology上给即将开始科研项目的你的实用建议。 计算生物学家包含几个不同的角色,数据分析者,数据收集者1,数据库开发者,统计学家,数学建模者,生物 信息学家,软件开发者,存在论者等。计算机是现代生物学研究所必需的工具,科学家们要求掌握新的计算生物 技能和新的专业术语(Box 1)。无论你是学生、教授还是介于两者之间,如果你发现计算分析对于你的研究越来 越很重要,以下的建议会对你成为一名计算生物学家挺重要的。现我将十条建议翻译如下,如你感兴趣可看原文http://www.cbcb.umd.edu/~sridhar/Docs/Loman-CompBiol.pdf。
1. 明确目标、选择适合的方法
一个好的计算生物学研究者会选择并使用适合自己研究工作的软件。当开始使用一个软件之前,我们必须明白软 件工作原理、使用的算法并且它能够完成哪些工作。不同的软件会使用不同的算法,并适用于不同类型的数据。 例如,从头拼接软件,基于Overlap-Layout-Consensus算法的拼接软件适合于长读长的数据,而基于de Bruijn graphs算法的软件是专门为短读长数据设计的。因此,选择基于更适合你数据的算法的软件,会节省许多时间。
2. 测试你的或别人的代码
你知道自己的代码、软件或者pipeline是如何工作的么?当你导入任何奇异的数据时,计算机都会输出一些结果 。因此,没有报错信息并不代表着计算成功、结果正确。我们需要建立小测试数据集,它的输出结果是已知的, 然后去测试我们所使用的软件和pipeline能否正确输出结果。总之,在正式开始自己的数据之前,要用多种类型 的数据去一再测试,保证输出的结果可信。生物学家在做实验的时候,一定会设置阳性实验组和阴性对照组;而 对于计算生物学科学家来说,我们要做的就是test、test and test。
3. 你是科学家,并不是程序员
完美是优良的敌人。我们必须记住我们是科学家,具备你的专业研究所需技能和思维才是最重要的,而不是你的 代码写得有多漂亮。写得再漂亮的代码输出的结果是错的还不如简单使用基础代码来完成任务。如果你确定你代 码的核心算法是正确的,再去花时间使它变得更加优美和编写使用文档。对于你来说,更为重要的还是你的生物 知识,那样才能使你成为一名真正的计算生物学专家。
4. 使用版本控制软件
使用Git、Subversion (Table 1) ,可以使你更加方便得与他人合作,追踪你的历史修改记录。它们也是很好的软件仓储,便于公开分享你所开发 的软件。
5. Pipelineitis是一种恶疾
pipeline就是使用预先设计的一系列步骤、软件工具对序列数据进行处理,它是一种很好的工具将确切的步骤综 合到一起。但是它会限制我们思考、抑制我们的创造力。我们给出的警告是,不要太早使用pipeline,在此之前 必须一步一步得找到处理你数据的方法。即使在那以后,你也必须思考自己是否需要是pipeline?那样节约了你 的时间了么?你开发的pipeline是否真的对其他人有用?这些步骤你都能够靠自己所写的简单代码完成了,再去 使用别人的pipeline简直就是浪费时间。
6.要拥有奥巴马一样的心境
Yes you can!
作为计算生物学科学家,我们必须要创造力,调整已有的方法到开发全新的方法。要有冒险精神, 不惧失败、永往直前。这是一件激动人心的是当你通过谷歌、询问领域的专家、自学来解决一个特殊的问题。这 里有一些学习资源(Table 2)。
7. 要怀疑一切,不相信任何人
重复已完成的项目是数据分析训练的项目。首先,创造一个很大的数据矩阵,每一列代表着实验组和对照组。统 计检验会被应用分析两组试验数据的显著性差异,然后几百行的数据输入然后返回P值代表着统计显著性结果。 即使是生物学家在进行数据处理的时候,会从特定的软件或者pipeline分析中得出有趣的结果。这时我们需要注 意啦,这样的数据结果要怀疑它的真实性,要进行进一步的实验验证来确定它是否是实验错误或者误差造成的。 如果通过多种方法验证都正确,你的结果的真实性就大大增加。但是对于大多数发现来说,实验验证和进一步实 验工作是必。生物知识是至关重要的,将计算机分析结果翻译成生物结果。设置数据测试也是其中的一部分。这 些检测步骤能够保证你的软件和pipeline输出的结果能够满足你的预期就行,不需要保证结果是否正确。
8. 选择正确的工作工具
强大的UNIX/Linux命令行会使你的工作变得更加容易。你还要学会编程,并且不要陷入语言之争,每种编程语言 都有一定的优点和缺点,你只需要使用它去完成你的工作就行了。整理好自己实验数据和项目,使其井然有序、 可追溯。
9. 成为一名侦探
计算生物学科学家绝大多数时间都在分析和整合数据,去挖掘其中的科学故事。除非你很幸运,能够挖掘出一个 完美的故事并不容易。你必须去思考为什么这样去设计实验,如何去分析是更好的,这个结果告诉我们什么?你 必须去考虑数据中是否存在失误或者系统误差。
做到上面的事情,我们必须跟团队的其他科学家讨论并且整合、分析其他数据。你可能需要进行后续的实验来验 证你的猜想。记住,真实的故事可能并不存在你的数据当中。如果你感兴趣的生物系统取决于磷酸化作用相关的 一个蛋白质,可能你并不能从你的转录组数据中看到影响。你是小侦探,来让我们挖掘数据吧!
10. 已经有人做了,找出他们!
无论是多么基础的问题或者、前沿的方法,总会有人已经能研究过。这里有两个讨论软件问题的资源:BioStars (http://www.biostars.org/)和SEQanswers(http://seqanswers.com/)。还有就是Twitter,你可以在上面找到 一些有用的建议和资源链接。“勾搭”你们单位的其他计算生物学科学家。参加一些当地的计算生物学研讨会和兴 趣学习小组。总而言之,如果你想学习计算生物学,网络上拥有许多资源。最重要的一点就是勇于尝试去学习新 的知识。你会有惊奇的发现与体验哦!
补充
1 数据收集者
以下文字出处:http://blog.sina.com.cn/s/blog_745072fd0100ywap.html
一般获得大量的测序数据,特别是筛选到一定数量的variants后,下一步的分析,data curation要占到研究者8 0%的时间,也就是搜索大量的文献,再从中挑选出可信度高的有价值的,来作为分析生物机理的依据。目前全世 界有250个左右专职的data curator,负责文献查找,构建数据库,现在也开始处理一部分高通量测序的数据。 没有可用的数据库时,自己要搜索并阅读成千上万的文献,要好几个星期;有构建好的数据库,达到一样的目标 只需要30分钟,当然这是以curator的前期工作为基础的。Data curator一般是博士,少数是硕士,通常是不喜欢bench work或者某个特定的课题,但是仍然希望与science俱进 的。薪水还可以,上班时间比较固定,很多是做妈妈的到点要接孩子。这位guest professor实验室有十几个cur ator,而且都做了很长时间了,距离现在最近的一个离职是7年前,他们曾经在1000个工作小时内curate了16000 篇文献,平均不到4分钟一篇,一般只看figure/figure legends和results。Guest走后,我们都觉得这种工作真 的是要具备某种特定性格的人才做的来,我说我反正难以想象自己做这样的工作,will be bored to death,旁 边某曾获诺贝尔医学奖的教授也表示他也会受不了。可是在做这个行业的人们是非常喜欢这种类型的工作的。所 以说,合适的才是最好的。