https://github.com/tacc/rgc
RollingGantryCrane pulls and converts containers to LMOD modules
https://github.com/tacc/rgc
Last synced: 2 months ago
JSON representation
RollingGantryCrane pulls and converts containers to LMOD modules
- Host: GitHub
- URL: https://github.com/tacc/rgc
- Owner: TACC
- License: bsd-3-clause
- Created: 2018-11-16T15:12:11.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-10-25T19:10:04.000Z (over 3 years ago)
- Last Synced: 2024-04-16T02:11:42.840Z (about 1 year ago)
- Language: Python
- Homepage: https://tacc.github.io/rgc/
- Size: 624 KB
- Stars: 12
- Watchers: 9
- Forks: 3
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Rolling Gantry Crane
======================================================Pulls containers from either:
- [docker hub](https://hub.docker.com/)
- [quay.io](https://quay.io/)and generates [Lmod](https://github.com/TACC/Lmod) modulefiles for use on HPC systems.
Workflow
------------------------------------------------------- Validates each URL
- Looks for name and tag on specified repsoitory
- Excludes packages that are classified as Libraries on bio.tools
- Pulls data for each URL
- Container
- Metadata from
- bio.tools
- launchpad
- Scans programs on each container's `$PATH`
- Filters out programs based on the following criteria
- Programs exist in baseline images
- ubuntu:xenial
- centos:7
- ubuntu:bionic
- continuumio/miniconda:latest
- biocontainers/biocontainers:latest
- gzynda/build-essential:bionic
- Programs that exist in `-p` percent of images
- Generates Lmod files with
- Metadata
- Exposed executablesRequirements
------------------------------------------------------- docker or singularity
- python 2 or 3
- tqdmPlatorms
------------------------------------------------------- Linux
- MacOSUsage
------------------------------------------------------```
usage: rgc [-h] [-I PATH] [-M PATH] [-C STR] [-P STR] [-r STR]
[--modprefix STR] [--cachedir STR] [-L] [-p INT] [-S] [-f] [-d]
[-t INT] [--version] [-v]
URL [URL ...]rgc - Pulls containers and generates Lmod modulefiles for use on HPC systems
positional arguments:
URL Image urls to pulloptional arguments:
-h, --help show this help message and exit
-I PATH, --imgdir PATH
Directory used to cache singularity images
[./containers]
-M PATH, --moddir PATH
Path to modulefiles [./modulefiles]
-C STR, --contact STR
Contact URL(s) in modules separated by ","
[https://github.com/TACC/rgc/issues]
-P STR, --prefix STR Prefix string to image directory for when an
environment variable is used - not used by default
-r STR, --requires STR
Module prerequisites separated by "," []
--modprefix STR Prefix for all module names bwa/1.12 ->
bwa/[prefix]-1.12
--cachedir STR Directory to cache metadata in [~/rgc_cache]
-L, --include-libs Include containers of libraries
-p INT, --percentile INT
Exclude programs in >= p% of images [25]
-S, --singularity Images are cached as singularity containers - even
when docker is present
-f, --force Force overwrite the cache
-d, --delete-old Delete unused containers and module files
-t INT, --threads INT
Number of concurrent threads to use for pulling [8]
--version show program's version number and exit
-v, --verbose Enable verbose logging
```Examples
------------------------------------------------------Pulling and generating modules for bwa, samtools, and bowtie
```
rgc biocontainers/bwa:0.7.15 biocontainers/samtools:v1.7.0_cv3 biocontainers/bowtie:v1.1.2_cv3
```and if you don't have a system running Lmod, feel free to test in docker
```
$ docker run --privileged --rm -it gzynda/rgc:latest bash$ rgc biocontainers/bwa:0.7.15 biocontainers/samtools:v1.7.0_cv3 biocontainers/bowtie:v1.1.2_cv3
$ module use ${PWD}/modulefiles
$ module avail
$ module load bwa
$ bwa
```