Running CWL in Command Line
Prerequisite
If this is your first time running a cwl, we recommend that you follow the initial setup guide first.
Initial SetupA CWL
Access to Iris cluster
We use
islogin01.mskcc.org
Load Singularity version 3.7.1
module load migration-testing/singularity/3.7.1
Load python 3.10.13
module load migration-testing-spack/python/3.10.13
A python virtualenv with the latest version of toil installed
If you don't already have one, see Install Toil into a Python Virtual Environment (or venv)
Node.js installed
Check if you have node installed with
node -v; if not, see Install Node.js
A CWL
Access to JUNO cluster
We use
voyager.mskcc.org
Load Singularity version 3.7.1
module load singularity/3.7.1
Load python 3.7.1
module load migration-testing-spack/python/3.10.13
A python virtualenv with toil 5.4.x installed
If you don't already have one, see Install Toil into a Python Virtual Environment (or venv)
Node.js installed
Check if you have node installed with
node -v; if not, see Install Node.js
Get/git ARGOS CWL
Get the CWL and git clone it to your desired working directory from github:
This will put argos-cwl into a subdirectory in your work directory named argos-cwl.
Setup the singularity cache
Follow this link to setup the singularity cache
Setup Singularity cacheRunning CWL commands with toil-cwl-runner
Toil-cwl-runner is an executor for cwl that can run the workflow in single-machine (single node), on the LSF or SLURM scheduler
Prerequisite
A python virtual envionment/venv; assuming it's set to
VENV_PATH-activatewith toil installed:source $VENV_PATH/bin/activate
A CWL in your working directory; we will use CMO-Fillout as an example, retrieved from above
Input files for the CWL
If you are running argos-cwl, you can find an example input.yaml for alignment-pair.cwl or project-workflow-sv.cwl located below.
Option 1: Running with SBATCH command on SLURM
Create a SLURM script such as,
my_script.slurm. For alignment-pair.cwl the below script can be used:
Run command
sbatch my_script.slurmThe standard output and standard error are directed to
single.%j.outandsingle.%j.errwhere "%j" is replaced by the job number
Option 2: Running with input yaml generated through cwltool
Option 3: Running through command line arguments
Usage
To view usage arguments to pass to the CWL, do
Getting outputs
When your run finishes you will get:
Last updated
Was this helpful?