开发者

生物信息学是否需要掌握Linux系统操作呢??

王剑敏 2021-04-06 10:07

开发者_开发技巧
如果只是用一下别人开发的软件,至少要了解liux的以下几点
1)基本的命令,可以搜索 linux入门、 linux 常用命令
比如 ls, cd, more,
2)基本的文本编辑
比如nano,或者更强大的vi或emacs
3)和服务器,超级计算机相关的命令
ssh登录, sftp拷贝文件, 用pbs提交job等等
4)相关软件的安装和操作
blast, samtools之类
5)swk,sed等,可以用于对文本文件进行更进一步的分析提取。


杨东 2021-04-06 10:08


其实主要是因为生物信息学涉及很多的数据 需要在linux服务器上运行 而软件则开发者_开发技巧与之对应进行设计,所以掌握linux的基本操作是必须。


麦耀嘉 开发者_JS百科 2021-04-06 10:22


怎么说能,会基本的操作也就足够了,毕竟不是程序员。学习这个学科中,可能你需要使用的软件只提供Linux版本,一般只要你学会如何打开和执行软件就可以了。


陈思扬 2021-04-06 10:23


分两个层次回答这个问题,为什么要选择Linux/Unix平台,作为生物信息研发的主要平台?怎样由浅入深熟悉Linux/Unix开发环境进行生物信息数据分析?

为什么要选择Linux/Unix平台,作为生物信息研发的主要平台?
生物信息的主要工作是用软件和脚本处理生物数据,其平台的选择是多样化的,根据目的需要选取。主要的可能选择有:
网上的服务,如NCBI, Ensembl, UCSC, DAVID等等,这类服务器的特点是门槛低,满足常用需求,有后台数据库的支持,浏览器模式可视化效果好;缺点是定制的服务往往支持不好;现有的网上服务对单一的分析支持的多,但对多个流程的串联和并行化等的支持不够;对商业话单一化服务支持好,对科研多样化支持弱。本地终端,如BioEdit,Primer5, SAM,TreeView,Cytoscape,Excel, SpotFire等本地软件或客户端,很多软件在窗口类操作系统上运行,特点是可以无须网络支持,故而小规模运算速度快,可视化效果佳,支持鼠标操作效果好;缺点自然就来了,大数据支持不好,无法高性能运算,操控受设计者的限制多,不好定制。命令行操作平台,如Linux/Unix Shell支持的高性能计算机群和云服务平台,特点大数据高性能支持,shell可编程能力强,生物信息软件包和脚本丰富,定制设计和开发容易。缺点是需要学习编程和命令行方式,操控没有鼠标直观,可视化不够。集成开发环境/图形化界面开发平台:这应该以网站、应用程序开发为目标的一类平台,代表的是Windows应用开发,Java Eclipse等。这类是为有特定商业或科研目的的专业软件开发人员设计的,对探索发现和数据分析不是最好的选择。

从上面的分析不难发现从生物信息的从业者的职业方向看,大多是关注数据分析,将来特别是生物信息的大数据量的分析,命令行操作系统是必须要掌握的技能。而Windows Shell的设计很差,根本无法满足数据分析的需要,在高性能集群和云平台大多配备Linux,Linux学习就是必须的。

从将来的产业分工来看,大数据的云计算平台可能提供非常好的服务,利用其提供的API服务可能使用户提供非常好的生物数据的开发环境,把数据分布式、计算并行化和结果的可视化隔离到平台的管理功能中,生物信息的研究和开发者只需专注数据分析业务即可,与云平台的交互,应该有一个好的接口平台,Linix shell可能是一个不错的选择。

怎样由浅入深熟悉Linux/Unix开发环境进行生物信息数据分析?
正如bioops说的,我再补充一些:
熟悉基本命令和命令行操作方式,如cd,ls, less, cp,...熟悉编辑器,个人推荐vi熟悉一种shell编程,如bash熟悉数据分析Linux常用工具sed, grep, awk, sort, cut, wc, uniq,...熟悉软件安装方法要更深入就要掌握一种,或更多脚本语言,个人推荐Python, Perl也需要了解,早期的生物信息软件很多是用它开发的。如果用到统计,R也是必须的。与数据库相关的工作,基本的SQ开发者_JS百科L也需要会。Python,R,SQL是数据分析学者选出的用的最多的脚本语言。了解高性能平台的任务提交系统,这是在现在大多数高性能集群上用得较多的系统,是PBS/SGE/OGE系列。了解Hadoop/MapReduce/...未来生物信息大数据的方向不断学习,随着生物信息云平台的发展,必然会有更多东西出来。

抛砖引玉,请大家拍砖。


韩迎召 2021-04-06 10:27


首先楼主必须弄懂生物信息学为什么要使用linux,或者使用于生物信息的软件为什么必须在linux下安装,这样有助于楼主正视linux的重要性,结论是掌握linu开发者_开发知识库x的基本操作是必须的。
许多软件都是C或者perl开发的
就目前我所知道的,以及基于此而推测的,开发生物信息专业软件的人员,和专业软件领域的程序员还是有很大的区别的,他们多半是生物专业的,而后又学习的编程,所以大多可以自由选择开发语言,很少有外部因素说,你必须使用某种语言,所以基于某种算法的实现,多选择C语言开发,应用型的,多选择perl、paython,选择java的少。
开发人员都是使用linux写的C或者perl
用C或者perl开发,基本上都选择linux,因为其实开源的、免费得,更为关键是其天生具备C或者perl的开发环境,很容易的就可以进行软件的编译、调试。
软件都是以源代码形式发布的
生物信息软件开发多半是独个大牛或者一个小型的团队,以研究为目的,主要目的是算法的实现,而不是软件的推广与应用,或者以用户使用数目为第一目的(盈利),软件的发布形式是源代码。而编译不同操作系统的二进制包是件枯燥而麻烦的事情,没有人愿意做这样的事情,同时因为是科研,也是崇尚公布源代码。所以做数据分析你使用很多的软件的发布都是这样的形式,只有非常少数的、普遍使用的软件才会有不同操作系统的二进制包,比如windows下的安装包。如果发布形式是源代码,这些软件的开发基本上都在linux下完成的,安装的过程包括配置、编译、测试、安装。软件编译安装环境,而许多软件都会使用第三方库,软件运行环境,包的依赖关系。


0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜