BioWardrobe backend (airflow+cwl)
About
Python package to replace BioWardrobe's python/cron scripts. It uses Apache-Airflow functionality with CWL v1.0.
Install
- Add biowardrobe MySQL connection into Airflow connections
select * from airflow.connection; insert into airflow.connection values(NULL,'biowardrobe','mysql','localhost','ems','wardrobe','',null,'{"cursor":"dictcursor"}',0,0);
- Install
sudo pip3 install .
Requirements
-
Make sure your system satisfies the following criteria:
- 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
- pip3
curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6 pip3 install --upgrade pip3
- setuptools
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
Log out and log back in so that your group membership is re-evaluated. - libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
- nodejs
sudo apt-get install nodejs
- python3.6
- Ubuntu 16.04.3
-
Get the latest version of
cwl-airflow-parser. If Apache-Airflow or cwltool aren't installed, installation will be done automatically with recommended versions. SetAIRFLOW_HOMEenvironment variable to airflow config directory default is~/airflow/.git clone https://github.com/datirium/cwl-airflow-parser.git cd cwl-airflow-parser sudo pip3 install .
-
If required, add extra airflow packages for extending Airflow functionality, for instance, with MySQL support
pip3 install apache-airflow[mysql].
Running
-
To create BioWardrobe's dags run
biowardrobe-initin airflow's dags directorycd ~/airflow/dags ./biowardrobe-init -
Run Airflow scheduler:
airflow scheduler -
Use
airflow trigger_dagwith input parameter--conf "JSON"where JSON is either job definition or biowardrobe_uid and explicitly specified cwl descriptordag_id.airflow trigger_dag --conf "{\"job\":$(cat ./hg19.job)}" "bowtie-index"
where
hg19.jobis:{ "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" }
-
All the output will be moved from temporary directory into output_folder parameter of the job.
Metadata
Release files for biowardrobe-airflow-analysis 1.0.20181214162558
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| biowardrobe-airflow-analysis-1.0.20181214162558.tar.gz | 29.0 kB | Details |
Release files / biowardrobe-airflow-analysis-1.0.20181214162558.tar.gz
| Download URL | biowardrobe-airflow-analysis-1.0.20181214162558.tar.gz |
|---|---|
| Size | 29.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
129160bf54616638863cc6fdbbe60e60d054d9d9195b035d74325a9939037684
|
|
BLAKE2b-256 checksum How to use checksums |
54338313e235a6189ec895d4de7baaa8f885867b38c1d56ee4efc8aa8a47cd7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5
|