用CWL Airflow替换Bio衣柜的后端
biowardrobe-airflow-analysis的Python项目详细描述
生物衣柜后端(气流+CWL)
关于
python包替换BioWardrobe'spython/cron脚本。它使用 Apache-Airflow 使用CWL v1.0的功能。
安装
- 将Bio衣柜MySQL连接添加到气流连接中
select*fromairflow.connection;insertintoairflow.connectionvalues(NULL,'biowardrobe','mysql','localhost','ems','wardrobe','',null,'{"cursor":"dictcursor"}',0,0);
- 安装
sudo pip3 install .
要求
确保您的系统满足以下条件:
- ubuntu 16.04.3版
- Python3.6
sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get update sudo apt-get install python3.6
- 第三点
curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 pip3 install --upgrade pip3
- 设置工具
pip3 install setuptools
- docker
sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install docker-ce sudo groupadd docker sudo usermod -aG docker $USER
注销并重新登录,以便重新评估您的组成员资格。 - libmysqlclient开发
sudo apt-get install libmysqlclient-dev
- 节点
sudo apt-get install nodejs
- Python3.6
- ubuntu 16.04.3版
获取最新版本的
cwl-airflow-parser
。 如果Apache-Airflow 或者cwltool未安装, 安装将使用推荐的版本自动完成。设置AIRFLOW_HOME
环境 气流配置目录的默认变量是~/airflow/
。git clone https://github.com/datirium/cwl-airflow-parser.git cd cwl-airflow-parser sudo pip3 install .
如果需要,添加extra airflow packages 例如,使用mysql支持
pip3 install apache-airflow[mysql]
,扩展气流功能。
运行
要创建Bio衣柜的DAG,请在Airflow的DAG目录中运行
biowardrobe-init
。cd ~/airflow/dags ./biowardrobe-init
运行气流计划程序:
airflow scheduler
将
airflow trigger_dag
与输入参数--conf "JSON"
一起使用,其中json既可以是作业定义,也可以是biodoapper uid 以及显式指定的cwl描述符dag_id
。airflow trigger_dag --conf "{\"job\":$(cat ./hg19.job)}""bowtie-index"
其中
hg19.job
是:{"fasta_input_file":{"class":"File","location":"file:///wardrobe/indices/bowtie/hg19/chrM.fa","format":"http://edamontology.org/format_1929","size":16909,"basename":"chrM.fa","nameroot":"chrM","nameext":".fa"},"output_folder":"/wardrobe/indices/bowtie/hg19/","threads":6,"genome":"hg19"}
所有输出都将从临时目录移到output_文件夹中参数 工作的责任。