![](https://img-blog.csdnimg.cn/2020020914520279.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
生物信息科学-数据分析
主要研究生物信息科学类的数据分析框架和语言,包括gatk4、cromwell、nextflow等。
二进制杯莫停
欲速则不达,慢而有为
展开
-
Modules -- Software Environment Management入门
官方教程:https://modules.readthedocs.io/en/latest/modulefile.html1、modulefiles编写#%Module1.0proc ModulesHelp { } { puts stderr \"\tMUGQIC - $SOFTWARE \"}module-whatis \"$SOFTWARE-$VERSION\" set ...原创 2021-07-11 12:11:42 · 110 阅读 · 0 评论 -
Environment Modules - 教程
Environment Modules 简明教程environment-modules安装配置原创 2021-07-11 12:09:56 · 401 阅读 · 0 评论 -
LMOD:一个新的环境模块系统
官网详情:https://lmod.readthedocs.io/en/latest/index.html目的 Lmod是一个基于Lua的模块系统,可以轻松处理MODULEPATH分层问题。环境模块提供了一种方便的方法,可以通过模块文件动态更改用户的环境。这包括轻松地将目录添加或删除到PATH环境变量。库软件包的模块文件提供环境变量,这些环境变量指定可在何处找到库文件和头文件。概述L...原创 2020-02-25 22:28:20 · 2198 阅读 · 0 评论 -
WDL - 执行
目前,Cromwell是我们所知道的唯一支持WDL的全功能执行引擎。CromwellCromwell是用Java编写的开源(BSD 3子句)执行引擎,支持在三种类型的平台上运行WDL:本地计算机(例如您的笔记本电脑),通过作业调度程序(例如GridEngine)访问的本地群集/计算场或云平台(例如Google Cloud或Amazon AWS)。Cromwell可执行文件可以从Cromwe...原创 2020-02-11 15:08:38 · 1073 阅读 · 0 评论 -
WDL - 指定输入
在WDL脚本中为命令指定输入变量的值(例如文件名和参数)的最简单方法是对它们进行硬编码,即在脚本本身中编写它们。但是,这样做会迫使您每次要在新的一批数据上运行脚本时都要制作一个新副本并编辑输入-这破坏了首先设置管道脚本的优势。更好的方法是为要在运行中自定义的输入变量指定所有值,以便在JSON文件中运行(结构化文本格式有点像XML,但更好-当然更具可读性)。然后,您要做的就是为要通过管道运行的每一...原创 2020-02-11 12:26:17 · 810 阅读 · 0 评论 -
WDL - 验证语法
WDL附带了一个名为wdltool的实用工具包 ,其中包含语法验证功能。为了验证我们的wdl语法,我们只需调用validate函数在我们的脚本上:$ java -jar wdltool.jar validate myWorkflow.wdl此函数解析WDL脚本并提醒我们注意任何语法错误,例如缺少大括号、未定义变量、缺少逗号等等。它将解析导入,但请注意,它无法识别错误,例如命令的键入、指...原创 2020-02-11 12:12:10 · 647 阅读 · 0 评论 -
WDL - 添加管道
所谓管道,我们指的是把任务链接在一起,形成复杂的管道。1 简单连接此时,您知道如何在工作流脚本中包含多个任务。如果您在有关变量的部分中注意,您甚至知道如何将一个任务的输出连接到下一个任务的输入。使您能够构建线性或简单分支合并任意长度的工作流,具有单个或多输入多输出任务之间的连接。2 切换迭代逻辑除了这些基本的连接功能之外,您有时还需要能够在交替路径之间切换,并对数据集进行迭代,无论是串联的...原创 2020-02-11 12:08:01 · 830 阅读 · 0 评论 -
WDL - 添加变量(二)
在这种情况下,变量是我们写入脚本的占位符,而不是实际的文件名和参数值。然后,我们可以指定要在运行时(即运行脚本时使用)的文件名和值,而无需完全修改脚本,这非常方便。请注意,我们不必对所有内容都使用变量 -对于某些参数,如果它们永远不会在运行之间改变,则对值进行硬编码是有意义的。因此,让我们看一下如何在WDL脚本中包含变量(稍后我们将讨论如何在运行时指定变量值)。我们可能希望在两个不同的级别包含...原创 2020-02-10 13:23:48 · 438 阅读 · 0 评论 -
WDL - 基础结构(入门)
该工作流描述语言(WDL)是指定数据处理与人类可读且可写的工作流的语法的方式。WDL使定义复杂的分析任务,在工作流中将它们链接在一起并使其执行并行化变得很简单。该语言使常见的模式易于表达,同时也允许不常见或复杂的行为。并努力实现不仅在执行平台之间,而且在不同类型的用户之间的可移植性。无论是分析师,程序员,生产系统的操作员还是任何其他类型的用户,WDL都应易于访问和理解。让我们看看核心组件是如何在...原创 2020-02-10 12:43:54 · 5227 阅读 · 0 评论 -
WDL、Cromwell、GATK4的关系
WDL是编写工作流的语法,需要cromwell执行引擎执行,GATK的管道脚本以某种形式的并行化以加快执行速度。1 WDL(工作流程描述语言) 该工作流描述语言(WDL)是指定数据处理与人类可读且可写的工作流的语法的方式。WDL使定义复杂的分析任务,在工作流中将它们链接在一起并使其执行并行化变得很简单。该语言使常见的模式易于表达,同时也允许不常见或复杂的行为。并努力实现不仅在执...原创 2020-02-09 15:43:20 · 1471 阅读 · 0 评论 -
Picard工具 - 简介
1 简介Picard是一组命令行工具,用于处理高通量排序(HTS)数据和格式,例如SAM / BAM / CRAM和VCF。这些文件格式在Hts-specs存储库中定义。2 安装以及使用具体请参看:Picard官网...原创 2020-02-09 15:09:44 · 7148 阅读 · 0 评论 -
NextFlow-执行者(Executors)
1 执行者在Nextflow框架体系结构中,执行程序是确定运行管道进程并监督其执行的系统的组件。所述执行器提供了流水线过程和底层执行系统之间的抽象。这使您可以独立于实际的处理平台编写管道功能逻辑。换句话说,只需更改Nextflow配置文件中的执行程序定义,您就可以编写管道脚本一次,并使其在计算机,集群资源管理器或云上运行。1.1 本地在本地执行默认情况下使用。它在启动Nextflow的计...原创 2020-02-07 17:31:51 · 535 阅读 · 0 评论 -
NextFlow-操作者(operator)
Nextflow 运算符是使您可以使用一些用户提供的规则将通道彼此连接或转换通道发出的值的方法。运算符可以分为七个组:过滤算子变换算子分裂算子组合算子分叉算子数学运算符其他操作员1 过滤算子(运算符)给定一个通道,过滤运算符允许您仅选择符合给定规则的项目。可用的过滤器运算符为:distinctfilterfirstlastrandomSampletakeu...原创 2020-02-07 16:20:19 · 292 阅读 · 0 评论 -
NextFlow-通道
1 通道Nextflow基于数据流编程模型,其中流程通过通道进行通信。通道具有两个主要属性:发送消息是一个异步操作,无需等待接收过程即可立即完成。接收数据是一项阻塞操作,它将停止接收过程,直到消息到达为止。2 通道类型Nextflow区分两种不同的通道:队列通道和值通道。2.1 队列通道(queue channel)队列信道是一个无阻塞的单向FIFO队列,它连接两个进程或操作符。‘...原创 2020-02-07 15:45:11 · 487 阅读 · 0 评论 -
NextFlow-进程(二):输出
1 输出输出声明块允许定义所使用的过程中发出所产生的结果的通道(Channels)。最多可以定义一个输出块,并且可以包含一个或多个输出声明。输出块遵循以下语法:output: <output qualifier> <output name> [into <target channel>[,channel,..]] [attribute [,..]]...原创 2020-02-06 18:37:10 · 786 阅读 · 0 评论 -
NextFlow-进程(一):输入
在Nextflow中,进程是执行用户脚本的基本处理原语。进程定义以关键字开头process,其后是进程名称,最后是 由括号括起来的进程主体。进程主体必须包含一个表示命令的字符串,或更一般地,该字符串代表由该命令执行的脚本。基本过程如下例所示:process sayHello { """ echo 'Hello world!' > file """}一个流...原创 2020-02-06 17:30:26 · 1403 阅读 · 0 评论 -
NextFlow-脚本
Nextflow脚本语言是Groovy编程语言的扩展。Groovy是Java虚拟机的强大编程语言。Nextflow语法已专门用于以声明性方式简化计算流水线的编写。Nextflow可以执行任何Groovy代码或对JVM平台使用任何库。有关Groovy编程语言的详细说明,请参考以下链接:Groovy User Guide1 语言基础1.1 Hello World打印某些内容与使用pri...原创 2020-02-06 16:02:07 · 618 阅读 · 1 评论 -
NextFlow-基本概念
1 基本概念Nextflow是一个反应式工作流框架和一个编程DSL ,可简化数据密集型计算管道的编写。它是基于Linux平台是数据科学的通用语言这一思想而设计的。Linux提供了许多简单但功能强大的命令行和脚本工具,将它们链接在一起时,便可以简化复杂的数据操作。Nextflow扩展了这种方法,增加了基于数据流编程模型定义复杂程序交互和高级并行计算环境的能力。2 Processes (进程)...原创 2020-02-06 11:45:32 · 2680 阅读 · 0 评论 -
CentOS6下配置NextFlow环境
1 简介Nextflow是由Barcelona Center for Genomic Regulation (CRG)的比较生物信息学小组研发的,在2014年开源,基于GPL3软件许可发布,在github上可以下载到源代码。由于其敏捷、灵活、兼容性强等特点,迅速成为生物信息学研究领域内广受欢迎的开发工具。在科学计算领域,Linux系统可以说是一个所有科研人员的通用平台,提供了许多简单的命令...原创 2020-02-05 18:05:42 · 875 阅读 · 1 评论