You must have run the Nucleo workflow first before running any of the MSK-ACCESS QC workflows. Depending on your use case, there are two main sets of workflows you can choose to run: (1) `qc_generator
Step 1: Create a virtual environment.
Option (A) - if using cwltool
If you are using cwltool only, please proceed using python 3.6 as done below:
Here we can use either virtualenv or conda. Here we will use virtualenv.
Note: To see help for the inputs for cwl workflow you can use: toil-cwl-runner nucleo.cwl --help
Once we have successfully installed the requirements we can now run the workflow using cwltool/toil .
Step 5: Run the workflow
Here we show how to use cwltool to run the workflow on a single machine, such as a laptop
Run the workflow with a given set of input using cwltool on single machine
To generate the QC files for one sample:
cwltool-execution
cwltool nucleo.cwl inputs.yaml
To aggregate the QC files across one or more samples and visualize with MultiQC:
cwltool-execution
cwltool nucleo.cwl inputs.yaml
Here we show how to run the workflow using toil-cwl-runner using single machine interface
Once we have successfully installed the requirements we can now run the workflow using cwltool if you have proper input file generated either in json or yaml format. Please look at Inputs Description for more details.
Run the workflow with a given set of input using toil on single machine
toil-local-execution
toil-cwl-runner nucleo.cwl inputs.yaml
Here we show how to run the workflow using toil-cwl-runner on MSKCC internal compute cluster called JUNO which has IBM LSF as a scheduler.
Note the use of --singularityto convert Docker containers into singularity containers, the TMPDIR environment variable to avoid writing temporary files to shared disk space, the _JAVA_OPTIONS environment variable to specify java temporary directory to /scratch, using SINGULARITY_BINDPATH environment variable to bind the /scratch when running singularity containers and TOIl_LSF_ARGS to specify any additional arguments to bsubcommands that the jobs should have (in this case, setting a max wall-time of 6 hours).
Run the workflow with a given set of input using toil on JUNO (MSKCC Research Cluster)