8 References
Tips and links to potentially useful learning resources.
8.1 Tool Tips - Git
Version control with Git: Software Carpentries course.
How to undo (almost) anything: Tips on how to undo various actions in git.
Accidentally delete a tracked file?
git restore <filename>
Do not add large ( > 100MB ) files.
Never commit sensitive information to a git repository e.g.,
- usernames and passwords
- API keys
8.2 Tool Tips - Docker
Reproducible Computational Environments Using Containers: Introduction to Docker: Software Carpentries course.
Use existing containers where possible:
- Biocontainers Registry: Containerized conda packages.
- Rocker: R in Docker.
- Rocker TidyModels: R + Rstudio + tidyverse + tidymodels + common ML packages.
- Python Data science: Common python dependencies for data science workflows.
Be careful not to commit sensitive data into a container.
Docker compose: Add parameters and volumes to a
docker-compose.yml
file to reproduce a Docker ecosystem (start multiple containers with the same settings each time).
8.3 Tool Tips - Apptainer
Reproducible computational environments using containers: Introduction to Singularity: Software Carpentries course (Work in progress).
Build custom images in Docker first, for increased portabilty.
Use existing containers where possible:
- Biocontainers Registry: Containerized conda packages.
- Rocker: R in Docker.
- Rocker TidyModels: R + Rstudio + tidyverse + tidymodels + common ML packages.
- Python Data science: Common python dependencies for data science workflows.
Be careful not to commit sensitive data into a container.
8.4 Tool Tips - Nextflow
Nextflow Training from Seqera: Training from writers of Nextflow.
Introduction to Bioinformatics workflows with Nextflow and nf-core: Software Carpentries Course (Work in progress).
RNA-seq Workflow Tutorial: Tutorial writing an RNA-seq workflow to introduce Nextflow fundamentals.
GATK Workflow Tutorial: Tutorial writing a GATK workflow to introduce Nextflow fundamentals.
Use toy examples to test Nextflow contructs.
Channel.of( [ "hi", "there", 1 ], [ "hi", "there", 1 ], [ "see", "me", 2 ], [ "see", "how", 2 ] ) .unique() .groupTuple( by:[0,2] ) .view()
Nextflow documentation: Nextflow Workflow writers best friend. A description of all the available Nextflow functionality.
8.5 Tool Tips - Conda
- Introduction to Conda for (Data) Scientists: Software carpentries course.
- Do not install anything into the base environment.
- I recommend
mamba
(install it into a conda env).