刚开始入门生物信息学时,觉得自己无所不知;现在,越学越觉得自己什么都不知道。生物信息学涉猎繁多,我主要的工作是对微生物扩增子测序数据进行分析。
不论研究什么具体方向,生物信息分析入门,必要的是学会:
1. Linux系统基本操作
2. 熟练运用一种编程语言,对数据文件进行编辑统计
3. 常用工具的使用
所以,不经历完以上我认为都不能算入门,只能算入门中或听说过生信。Biostar handbook这本书学完,可以算半入门。其实入不入门不影响研究生毕业,完全可以和懂的人合作,生物医学领域一年这么多毕业生,组学数据纯自己分析的没有几个。入门之后的标准就是自学任何一个新工具一天无压力,可用适合的统计方法阐释数据。
入门后的阶段,可以称之为“流程”阶段。入门时,学习单位是单个的工具,而进入流程阶段,就是要把单个工具通过简单的语言串联,对数据实现自动化分析及报告。这个阶段的主要学习资料就是文献。学习新文献,完善自己的流程。入门阶段可能还要靠公司帮你分析部分数据,流程阶段的指标就是比公司的标准流程更好。因为公司的标准流程一旦修改就牵扯整个业务线,公司选用的标准方案一般都是最稳妥的,期间会有部分工具稍微落后或者刚被某些新文献推翻。
一个段子:IT界调侃一个程序员的最佳方式——“哇,又在写Bug呢!”;而生信领域(BT界)的是——“哇,又在写流程呢!”。流程完善来完善去终归是拼凑,说白了就是熟练工。如何突破流程阶段,进入下一阶段——算法阶段。生物医学背景出身能跨越这一阶段的,全球少有。算法阶段需要什么:
1. 最优化的代码
2. 透彻的旧算法理解
3. 熟练的新算法应用
这个阶段我也不知道,说多了也纯粹是YY。就对我而言,要进入这个阶段,还差精通C/C++语言性能优化、计算机科学里的经典算法、云计算、生物信息学里的经典算法、人工智能的机器学习算法。
最后结合Biostar handbook里的一句话谈一谈最核心的一点。
“Bioinformatics is a data science that investigates how information is stored within and processed by living organisms.”
编程语言也好,算法也好,其始其终都是为了解决生物学问题。如果纯粹为了炫技,就是本末倒置。
网友评论