This repository provides a Common Workflow Language (CWL) tool for running the Quarto program. The tool is packaged in a Docker container, allowing it to run on any system with Docker or Singularity installed.
To use this tool, you must have the following software installed on your system:
- CWL tool
- Docker OR Singularity OR Apptainer
To install and run the tool, follow these steps:
-
Clone this repository to your local machine.
-
Install Docker, if you haven't already done so.
-
(optional) Build the Docker image by running the following command from the root of the repository:
docker build -f docker/Dockerfile -t quarto-docker-cwl .
OR pull from the built container:
docker pull ghcr.io/bwbioinfo/quarto-docker-cwl:latest
Note: this is only needed if you wish to access the container commands directly via Docker.
-
Run the CWL tool by running the following command from the root of the repository:
cwl-runner quarto-tool.cwl quarto-inputs.yml
OR
cwl-runner --singularity quarto-tool.cwl quarto-inputs.yml
This will run the Quarto software on the specified input file(s) defined in the
quarto-inputs.yml
file.
To use the tool, you will need to create a YAML file specifying the input files and any other parameters you wish to specify. An example YAML file is provided in the example
directory of this repository.
The quarto-tool.cwl
file is the main workflow file that describes the steps for running Quarto. The quarto-inputs.yml
file is an example input file that specifies the inputs and any other options you wish to use. The quarto-tool.cwl
file includes the Docker specification. You can also use Singularity via the cwl-runner
option --singularity
.
The output of the tool will be written to a directory named output
in the current working directory.
If you wish to contribute to this project, please follow the standard GitHub workflow:
- Fork the repository
- Create a new branch for your changes
- Make your changes and commit them
- Push your changes to your fork
- Submit a pull request to this repository
This project is licensed under the MIT License.
If you have any questions or feedback, please contact the author via GitHub.