先来看一则招聘信息:
关于生物信息流程,不同的分类标准可能得到不一样的分类结果,比如:
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/
生物信息学中数学占了很大的比重。统计学,包括多元统计学,是生物信息学的数学基础之一;概率论与随机过程理论,如隐马尔科夫链模型(HMM),在生物信息学中有重要应用;其他如用于序列比对的运筹学;蛋白质空间结构预测和分子对接研究中采用的最优化理论;研究DNA超螺旋结构的拓扑学;研究遗传密码和DNA序列的对称性方面的群论等等.总之,各种数学理论或多或少在生物学研究中起到了相应的作用.但并非所有的数学方法在引入生物信息学中都能普遍成立的,以下以统计学和度量空间为例来说明. Simond在人类的认知一书中指出,人在解决问题时,一般并不去寻找最优的方法,而只要求找到一个满意的方法.因为即使是解决最简单的问题,要想得到次数最少,效能最高的解决方法也是非常困难的.最优方法和满意方法之间的困难程度相差很大,后者不依赖于问题的空间,不需要进行全部搜索,而只要能达到解决的程度就可以了.正如前所述,面对大规模的序列和蛋白质结构数据集,要获得全局结果,往往是即使算法复杂度为线性时也不能够得到好的结果,因此,要通过变换解空间或不依赖于问题的解空间获得满意解,生物信息学仍需要人工智能和认知科学对人脑的进一步认识,并从中得到更好的启发式方法.欢迎分享,转载请注明来源:夏雨云
评论列表(0条)