Skip to content

Containers and Packaging

Young-Chan Park edited this page Jul 13, 2021 · 4 revisions

**Note:**These remarks are intended for the curious or container power-user. Reading this is not needed for normal use. In addition, Singularity Hub has been deprecated, so we moved the containers to https://cloud.sylabs.io/library/hmgu-itg/default/burden_testing

Originally, the container was written as a Singularity definition file, with the objective of hosting the container as a readily-available resource on Singularity Hub. In the process of building, the singularity file stored in the repository clones the repository itself, which contains all the scripts and executables it needs to perform its scientific function.

However, the container has to download large files, particularly the Ensembl VEP cache (~15Gb), which makes the image too large and too long to build on Singularity Hub. The Singularity recipe was converted to a Dockerfile, and the resulting container uploaded to Docker hub at agilly/hmgu_itg. This was then bootstrapped into the Singularity container described in the Singularity_via_docker recipe.

⚠️ Pulling from singularity hub currently doesn't work (because of the above): The below historical command won't pull anything. For now you will have to build locally from Docker Hub (second and third commands)

In order to pull from Singularity Hub:

singularity pull shub://hmgu-itg/burden_testing

We also have a Docker version if you have that installed and don't want to use another containerisation software:

docker pull agilly/burden_testing

Finally, if you want to make adjustments to the container (e.g. add software of your own), clone the repository, and edit the Dockerfile. If you are more Singularity-inclined, you can use the file Singularity_from_docker as a recipe, after adding your requirements and changes:

singularity build burden.1.5b Singularity_via_docker