diff --git a/docs/general-questions.md b/docs/general-questions.md index d5fcd73..5e5a6f8 100644 --- a/docs/general-questions.md +++ b/docs/general-questions.md @@ -20,11 +20,6 @@ VMs are great at providing full process isolation for applications: there are ve Containers take a different approach: by leveraging the low-level mechanics of the host operating system, containers provide most of the isolation of virtual machines at a fraction of the computing power. -## Reference - -Containers in Bioinformatics: Applications, Practical Considerations, and Best Practices in Molecular Pathology: [link](https://www.sciencedirect.com/science/article/pii/S1525157822000381?via%3Dihub) - -Docker for beginners: [link](https://docker-curriculum.com/) diff --git a/docs/pipeline_containerization.md b/docs/pipeline_containerization.md index bf8923c..87cdb2e 100644 --- a/docs/pipeline_containerization.md +++ b/docs/pipeline_containerization.md @@ -1,5 +1,3 @@ -# Usecontainer in Snakemake pipeline - To use container in the snakemake pipeline, we can define a container for each rule to use: ``` diff --git a/docs/snakemake_opt4singularity.md b/docs/snakemake_opt4singularity.md new file mode 100644 index 0000000..434d103 --- /dev/null +++ b/docs/snakemake_opt4singularity.md @@ -0,0 +1,17 @@ +The configuration of snakemake command for singularity is recommended to set up in `profile/slurm/config.v8+.yaml`: + +``` +use-singularity: True +singularity-args: ' "--cleanenv --no-home -B /scratch/ccrsf_scratch -B /mnt/ccrsf-static -B /mnt/ccrsf-ifx -B /mnt/ccrsf-raw -B /mnt/ccrsf-active" ' +``` + +The option `-B` is used to bind the corresponding storage space into the container so that the files from scratch/Qumulo can be accessible from inside the container. + +`--no-home`: no host `$HOME` directory mounting. +> Auto-binding feature: By default, Singularity automatically binds several directories (e.g.: `$HOME`, `$PWD`) and in particular it binds the home folder of the host. This features simplifies the usage of Singularity for the users, however it can also lead to unexpected behaviours and frustration. For example, if you have different python packages installed in your host home directory and in the container the host packages maybe used instead f the container ones. To avoid this issue, `--no-home` is used. + +The `--cleanenv` option is used to exclude passing EBV variables frin the host into the container. + +Similar to `--no-home`, `--cleanenv` is used to disable Singularity passing host environment variables (`$PATH`, `$LD_LIBRARY_PATH`, etc) to the container. + +