二十二:服务器配置
1、CPU
CPU是计算机的大脑,计算机的计算主要就是靠CPU来完成,所以,CPU非常重要,CPU的计算速度决定了计算机的计算能力。也就是水桶效应中最上面的那块木板。比如序列拼接这个工作,需要将测序的reads切成更小 的片段,然后将这些小片段根据序列间的关系,连成更长的片段,那么这些片段有数百万至数千万,需要非常大的计算量。如果数据复杂,计算量就更大了。
另外,CPU还需要支持多核心,CPU是大脑,一个核心是一个心眼儿,所以,我们知道心眼越多的人越聪明。多核心就可以进行并行计算,在生物信息分析中,有些工作,可以进行并行计算。相当于原来一个人的工作,现在由100个同样的人来做,理论上速度快了100倍。因此,在硬件配置中,选择CPU是非常重要的。
2、内存
内存是CPU和硬盘之间数据交流的媒介,计算机需要将存储在硬盘上的数据读取到内存中,CPU才能用来计算,而CPU不能直接读取硬盘上的数据,必须通过内存这个缓冲区,举个例子,CPU是大脑,内存是脖子,脖子以下是硬盘。内存往往就是“瓶颈”。
假设一个人的全基因组测序数据,采用二代测序的方法,人的基因组3G,10被数据30G,那么这30G的碱基,在切成更小的kmer,假设数据增加到了100G,还不算存储序列的一些其他信息,序列拼接的时候必须一次将所有数据同时存入内存,如果内存达不到100G,拼接根本无法完成。
3、硬盘
硬盘其实是计算机硬件配置中非常重要的一环,但是硬盘往往容易被大家忽略掉,认为硬盘用来存储数据,只要需要足够大就行了,这是不对的。
首先大存储量是必须的,因为生物数据往往都称为生物大数据,非常消耗存储空间,包括原始的数据存储,中间分析结果,最终结果,数据备份等,尤其是在样品量大的时候,就会非常占据存储空间,一般都是以T为单位的。
其次,硬盘的读写速度,这个也是非常重要的因素,因为目前CPU计算速度和内存已经足够大了,这样的条件下,硬盘成为限制计算机整体性能的因素。因此使用SSD硬盘会明显改善计算机性能。由于目前SSD过于昂贵,可以选择SSD+机械硬盘的方案,硬盘要做成RAID提高读写速度和数据安全性。
4、显卡
可以选配显卡,这个并不是必须的,因为很多分析工作都是文本操作,显卡适合于图形计算,例如计算蛋白质空间结构,构建系统网络等,可以选择配置显卡。
5、不间断电源UPS
UPS相当于一个大的移动电源,为了防止突然断电,导致数据丢失。UPS还是非常重要的。有些生物计算需要持续很长时间,例如拼接一个大的基因组,构建一个大的系统发育树等可能数十天时间,一旦断电,损失非常大,不要心存侥幸心理,灾难往往就发生在那些心存侥幸心理的人身上。
6、其他
冷却系统,如果是大型计算系统,设备会产生大量热量,需要建设冷却系统。
---------- END ----------
欢迎订阅我们的微信公众号,更多精彩内容等你发掘!
先来看一则招聘信息:
关于生物信息流程,不同的分类标准可能得到不一样的分类结果,比如:
A review of bioinformatic pipeline frameworks 这篇综述中,按照隐式公约框架、明确框架、配置框架和基于类的框架等对现代的生物信息流程框架进行分类。
生信分析流程构建的几大流派 按照脚本语言流、Common Workflow language 语言流、Makefile流、配置文件流、Jupyter notebook和R markdown流等分为不同流派。
依我看,生物信息流程无非分为旧方法和新方法两类(废话~~~),分别了解一下。
传统的方法,也是目前最常用的流程搭建方法,尤其是在工业界。
缺点:
最新流行的流程工具,但实际上在工业界并没有普及。
CWL(Common Workflow Language)普通工作流语言和WDL(Workflow Description Language)工作流描述语言。定义每一个计算过程(脚本)的输入和输出,然后通过连接这些输入和输出,构成数据分析流程。
可以在多个平台执行,比如本地服务器、SGE 集群,云计算平台等,可以做到一次编写多处执行。Linux版本最有名的如snakemake, nextflow,bpipe等。图形界面版的如Galaxy,一些商业公司的云平台(拖拉图标即可)。
Cromwell 是 Broad Institute 开发的工作流管理引擎,支持 WDL 和 CWL 两种工作流描述语言。
CWL中snakemake的一个示例语法:
可参考博文:
https://www.jianshu.com/p/8e57fd2b81b2
WDL语法结构:
示例:
用法可参考博文: https://wenlongshen.github.io/2018/09/15/Pipelining-Solution-2/
docker不是一个流程方法,只是个封装的容器工具而已,所以这个分类比较牵强,只是上面两种的延伸。我们把自己开发的流程做成Docker镜像,以便使用和分享。
以ChIP-seq等分析时常用的peak calling工具MACS2为例。
具体可参考博文:
https://wenlongshen.github.io/2018/09/08/Pipelining-Solution-1/
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)