Ⅰ 生物信息学需要掌握C++吗
需要。首先生物信息学也是计算机相关学科。凡是和编程和算法相关的专业,我觉得C语言是基础,是必须要学一学的。C语言能教给你的最重要的事情,就是让你对“计算机计算”这件事情有一个不错的了解。对计算机能做的事情充分掌握。当然这些东西通过学习计算理论、计算机系统结构、算法导论等课程都能掌握,听起来也没有什么非学C的必要。不过使用C/C++编程的时候对这些的亲身体会更为重要一些。如果你自己觉得自己是非计算机的,比如本科是生物或者医学出身的。算法和程序不需要了解太深,那么不学C也是可以的。相对的,你也只能处在底层的利用别人的工具分析的阶段,一旦这些工具中出什么问题或者想针对自己的需求修改这些工具的结果就很困难了。再加上数据挖搭敬逗掘、机器学习其实离生物信息学并不是那么远。而且只会C/C++肯定是不行的,选择方便自己的工具也是很重要的。C/C++也只是工具的知卖一种。在统计分析方面R就很方便。如果想自己做神经网络结构的话,python也很好用。不过到了实用的方面,你做的东西走向产品化。C++就变得非常重要了。C++经常被使用在需要效率的地方,而生物信息学不少方面的数据稿旅处理的数据量并不小。我自己就重构过一个关于DNA数据分析的python->C++的优化,目的就是提高效率,结果是快了约1000倍。现在看到有些人为了继续提高效率都开始上FPGA了。所以做生物信息不需要关注效率可能是个伪命题。当然你说不会C/C++影不影响出研究成果,我觉得基本是不影响的。研究还是点子更重要。
Ⅱ Perl,R,Python在生物信息学中是怎样的角色
应该说Python/Perl是相互替代的脚本语言,但个人推荐用Python, 虽然很多老的生物信息软件是用Perl,Python学习曲线好,功能也更强大,是发展趋势。这两个语言主要是做数据预处理、文本处理和格式转换、对算法效率要求不高的分析软件开发,系统管理和pipeline搭建等工作。R语言主要的优势是大量的统计包的支持,数据统计分析中非常常用。Python和R有良好的接口。关于绘图很多人用R,其实Python的Matplotlib的绘图效果比它漂亮很多,也更强大。对pipeline的搭建shell编程更适合,是一个不可缺少的技能。与数据库相关的工作需要用到SQL, Linux : 操作系统,是基础。 生物信息对Linux的要求其实并不高,并不是要做系统开发者或管理员,只需要会用就行。复制粘贴、处理数据、安装软件等。生物信息软件:标准数据分析。 生物信息学的数据格式已经基本标准化,大部分工作可以直接用软件完成。Perl和Python:处理个性化问题、软件之间的对接。 这两门语言至少应该熟练掌握一门自己写程序用,另外一门要能看得懂。 写点小脚本感觉差别不大,但是perl写大程序不合适。 很多人认为python是趋势,但至少截止目前更多生信软件是用perl写的。 所以,如果刚开始学,建议主打python, 看懂perl。R :数据处理、统计、绘图、数据分析。 R语言的数据结构跟其他语言差异较大、而且总感觉语法比较散,不好记。但是R的软件包却异常强大。数据处理的reshape2, dplyr;绘图的ggplot2;还有Bioconctor里的几千个包。不得不会。
Ⅲ 生物信息分析师都需要具备哪些技能
1. 计算生物学、统计学、机器学习、生物信息学等相关专业
2. 国内毕业者需硕士学位或以上 (或国内本科及两年以上相关工作经验) / 海归人员需国外的本科学位或以上
3. 熟悉Linux/Unix操作系统,有HPC环境背景优先考虑
4. 熟悉生信流程创建
5. 精通PerI、R (如会Matlab、Python、C/C++中两种以上编程语言可加分)
6. 具备较强的中英文文献查询与阅读能力,并做英文书面报告
7. 精通单细胞、高通量测序数据的分析全流程者优先考虑