Toil是一个开源的纯python开发的工作流引擎
运行执行CWL工作流以及WDL工作流,允许跨平台开发测试部署
官网: https://toil.readthedocs.io/en/latest/
生信有很多需要串流程的,Toil是个不错的工具
toil目前仅支持python2.7,且需要virtualenv才可以安装
如果不是集群可以如下安装
sudo pip install virtualenv
virtualenv ~/venv
source ~/venv/bin/activate
pip install toil
pip install pysam
pip install docker
集群安装
clush -a pip install toil
clush -a pip install pysam
clush -a pip install docker
工作流程由单个作业组成。该作业的资源需求由关键字参数(内存,内核,磁盘)指定。工作流程中的原子工作单元是Job
编写Toil pipeline 首先要定义好Job,都是继承Job的抽象类,例子如下: 要定义好输入文件和输出文件,继承Job类:super(HelloWorld, self).init(*args, **kwargs);再定义好抽象方法 run,Toil会pickle这个run的方法和它的参数到一个文件,把这个文件拷贝到其他集群,需要运行到时候就load这个文件ÿ