The Debian Med project packages bioinformatics and other medically relevant software for the Debian operating system. We collect many of them in a Singularity container and create one module per package on Deigo.
ml bioinfo-ugrp-modules DebianMed
ml av
Enjoy !
See oist/BioinfoUgrp_DebianMed_Images on how to create a Docker image with GitHub actions.
Pull the Docker image built on GitHub.
export DEBVERSION=12.0
singularity pull DebianMed_${DEBVERSION}.sif docker://ghcr.io/oist/bioinfougrp_debianmed_images:${DEBVERSION}
To see all the packages that the med-bio
metapackage Recommends
:
ml singularity
./DebianMed_$DEBVERSION.sif apt show med-bio | grep Recommends
To generate a list of all the bioinformatics packages recommended by the med-bio and med-cloud metapackages:
PKGLIST=$(./DebianMed_$DEBVERSION.sif apt show med-bio med-cloud |
grep Recommends |
sed 's/ |/,/'g | # Sanitize pipe symbols representive alternatives
cut -d' ' -f2- | # Remove 'Recommends: '
sed -e 's/, /\n/g' | # Make it a space-separated pacakge list
sort -u | # Remove duplicates and in the next command, remove R packages
grep -v -e r-cran -e r-bioc -e r-other )
Command to generate all the modules, with a few extra goodies. Note that the goodie list must be the same as in the singularity definition file above.
for package in $PKGLIST source-highlight
do
../../BioinfoUgrp/mkDebMedModule.sh $package
done
Make sure the module and modulefiles created are writable for the group:
umask 002
Or if you did not use umask
, add the write permissions after:
chmod g+w file_name
After creating a new module, if it is not seen by ml av
, delete the cache:
rm -rf ~/.lmod.d/.cache
This module was generated by hand as it needs complex setting of environment variables.
mkdir -p /bucket/BioinfoUgrp/DebianMed/$DEBVERSION/modules/biosyntax-less/1.0.0b-2
cd /bucket/BioinfoUgrp/DebianMed/$DEBVERSION/modules/biosyntax-less/1.0.0b-2
cat > src-hilite-lesspipe-bio.sh <<__END__
#!/bin/sh
LC_ALL=C singularity exec /bucket/BioinfoUgrp/DebianMed/$DEBVERSION/DebianMed_$DEBVERSION.sif /usr/share/source-highlight/src-hilite-lesspipe-bio.sh "\$@"
__END__
chmod 775 src-hilite-lesspipe-bio.sh
mkdir -p /bucket/BioinfoUgrp/DebianMed/$DEBVERSION/modulefiles/biosyntax-less/
cat > /bucket/BioinfoUgrp/DebianMed/$DEBVERSION/modulefiles/biosyntax-less/1.0.0b-2.lua <<__END__
-- Default settings
local modroot = "/bucket/BioinfoUgrp/DebianMed/$DEBVERSION"
local appname = myModuleName()
local appversion = myModuleVersion()
local apphome = pathJoin(modroot, "modules", "biosyntax-less", appversion)
-- Package information
whatis("Name: "..appname)
whatis("Version: "..appversion)
whatis("URL: ".."https://github.com/oist/BioinfoUgrp")
whatis("Category: ".." bioinformatics")
whatis("Keywords: ".." Bioinformatics, Debian")
whatis("Description: ".." Syntax Highlighting for Computational Biology")
help([[This module runs from Singularity image of Debian Med.
Please contact the Bioinfo user group for details.]])
-- Package settings
depends_on("singularity", "source-highlight")
-- Adatpted from /usr/share/doc/biosyntax-less/rc_append.txt
pushenv("HIGHLIGHT", "/usr/share/source-highlight")
pushenv("LESSOPEN", "| " .. apphome .. "/src-hilite-lesspipe-bio.sh %s")
pushenv("LESS", " -R ")
set_alias("less", "less -NSi -# 10")
-- -N: add line numbers
-- -S: don't wrap lines (force to single line)
-- -# 10: Horizontal scroll distance
-- Explicit call of <file format>-less for piping data
-- i.e: samtools view -h aligned_hits.bam | sam-less
-- Core syntaxes (default)
set_alias("clustal-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/clustal.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/fasta.style | less")
set_alias("bed-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/bed.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/sam.style | less")
set_alias("fa-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/fasta.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/fasta.style | less")
set_alias("fq-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/fastq.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/fasta.style | less")
set_alias("gtf-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/gtf.lang --outlang-def=\$HIGHLIGHT/bioSyntax-vcf.outlang --style-file=\$HIGHLIGHT/vcf.style | less")
set_alias("pdb-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/pdb.lang --outlang-def=\$HIGHLIGHT/bioSyntax-vcf.outlang --style-file=\$HIGHLIGHT/pdb.style | less")
set_alias("sam-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/sam.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/sam.style | less")
set_alias("vcf-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/vcf.lang --outlang-def=\$HIGHLIGHT/bioSyntax-vcf.outlang --style-file=\$HIGHLIGHT/vcf.style | less")
set_alias("bam-less", "sam-less")
-- Auxillary syntaxes (uncomment to activate)
set_alias("fai-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/faidx.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/sam.style | less")
set_alias("flagstat-less", "source-highlight -f esc --lang-def=\$HIGHLIGHT/flagstat.lang --outlang-def=\$HIGHLIGHT/bioSyntax.outlang --style-file=\$HIGHLIGHT/sam.style | less")
__END__
Test them before !
cat > /apps/.bioinfo-ugrp-modulefiles81/DebianMed/$DEBVERSION.lua <<__END__
-- Setup Modulepath for packages built by this compiler
-- local mroot = os.getenv("MODULEPATH_ROOT")
prepend_path("MODULEPATH", "/bucket/BioinfoUgrp/DebianMed/$DEBVERSION/modulefiles")
__END__
- Parse description from Debian package
- Export man pages and add MANPATH to the Lua module.