Welcome to nf-quarto
, a robust and dynamic template that seamlessly integrates Nextflow pipelines with Quarto notebooks. Designed to enhance reproducibility and ease of use, this template is ideal for researchers and developers seeking to combine the power of workflow automation with the elegance of literate programming.
- Smart Skipping: Incorporates conditional execution logic inspired by the Sarek pipeline to efficiently manage workflow components.
- Enhanced Session Management: Achieves seamless integration of Nextflow's
-resume
capability with Quarto's_freeze
caching mechanism, preserving computational resources and time. - Dynamic Web Rendering: Automatically generates interactive, vignette-like websites that present your analysis with clarity and interactivity.
- Flexible Parameter Handling: Manages parameters directly through the Quarto command line, providing a streamlined user experience.
- Cross-Language Support: Offers full support for both Python and R notebooks, accommodating a wide range of scientific computing needs.
docker build -t nf-quarto -f Dockerfile .
nextflow run main.nf -resume
Avoid rendering specific modules by adjusting the run command as shown below:
nextflow run main.nf --skip_python true -resume
If you want to use this template for your project without linking back to the original repository, you can clone it and then sever the link to the original remote:
- Clone the repository:
Clone
nf-quarto
to your local machine:
git clone https://github.com/yourusername/nf-quarto.git
cd nf-quarto
- Remove the original remote:
Remove the original
origin
to disconnect from the source repository:
git remote remove origin
- Set up a new remote (optional):
If you have a new repository where you want to push changes, add it as the new
origin
:
git remote add origin https://github.com/yourusername/new-repo-name.git
git push -u origin master # Replace 'master' with your branch if different
The assets
folder is essential for the visual presentation of the Quarto reports. It contains all necessary stylesheets and resources for the Quarto website rendering.
Included in the assets
folder is the logotype.png
. This default logo is meant to be replaced with your own to personalize the reports. Simply prepare your custom logo in PNG format, rename it to logotype.png
, and replace the existing file in the assets
folder to reflect your project's identity.
The repository is configured to use GitHub Actions to automatically build and publish the Docker image whenever changes are pushed to the main
branch or when new tags that match the pattern v*.*.*
are created. The action specifically tracks changes to the Dockerfile and the action's workflow file:
- Dockerfile Path:
docker/nf-quarto.Dockerfile
- Workflow File Path:
.github/workflows/docker-basic-publish.yml
To ensure the GitHub Actions workflow can push the Docker image to Docker Hub, you need to set up the following secrets in your repository:
- DOCKERHUB_USERNAME: Your Docker Hub username.
- DOCKERHUB_PASSWORD: Your Docker Hub password or access token.
For instructions on how to set up repository secrets, refer to the official GitHub documentation.
Our Docker configuration is stored within the Docker
directory of the repository. The Dockerfile nf-quarto.Dockerfile
is located at docker/nf-quarto.Dockerfile
.
If you utilize this repository in your research, please consider citing it. Your support helps us to continue improving our work and assisting the scientific community. Registered on Zenodo:
This project is available under the GNU General Public License v3.0. See the LICENSE file for more details.