Skip to content

precimed/container_template

Repository files navigation

Project container_template

This is a template repository for Singularity/Dockerfile containers/images and build scripts

Build status

License DOI Documentation Status Flake8 lint Dockerfile lint Container build push Use this Template

Citation

If you use this material for scientific publications, please cite it as follows:

Espen Hagen, Bayram Cevdet Akdeniz, Alexandr Frei. (2022). precimed/container_template: container_template-0.1.0rc0 (v0.1.0rc0). Zenodo. https://doi.org/10.5281/zenodo.7244728

Getting started

To use these codes, do not clone or fork this repository, but click the green Use this template button above.

You may then create a new repository on a GitHub organization or user account (<user>) under a new project name (<project>), that can be cloned by issuing in a terminal application

git clone git@github.com:<user>/<project>.git
cd <project>

The codes may then be adapted further to suit the requirements of the project, as described next

Setup-requirements

After cloning the template repository as described above a few requirements must be in place. Some scripts rely on Python with some packages available in the Python environment.

One convenient way to set up a Python environment is Conda, available via Miniconda or Miniforge. Assuming one of these Python distributions is installed, issue the following to create a new Python environment using conda:

conda create -n <container_template> python=3 pip  # create environment named <container_template>
conda activate <container_template>  # activates enviromnent <container_template>
pip install -r setup-requirements.txt

Initial setup

To set up your own project from this template, issue in the terminal:

python scripts/init.py

The script is interactive, and will prompt the user for some info. It will modify certain files in the <project> directory and also replace this README file. Some files may also be renamed. Remember to commit and push the changes after running the setup script (scripts/init.py):

git add <file1> <file2> ...
git commit -m "initial setup"
git push

The remaining codes may then be added to and be modified further to suit the requirements of the <project>. See the updated project README.md file for further instructions.