In addition to the core software tools that are available by default, additional software is available via environment modules. For example, although MATLAB is installed on the system, it is not available by default. Instead, we need to “load” its module first, e.g.
[alice@dev1 ~]$ module load matlab
[alice@dev1 ~]$ module list
Currently Loaded Modules:
1) matlab/2021a
Then we can launch MATLAB using:
[alice@dev1 ~]$ matlab -nosplash -nodesktop
To see what other “built-in” modules are available, use:
[alice@dev1 ~]$ module avail
In additional a set of built-in environment modules, there are also modules for software tools that are installed and maintained by other users or research groups. To access these, we first need to load the corresponding “Software Repository” module. For example, to get access to the repository and the software shared by the UCSF Computation Biology and Informatics core (CBI), make sure to load (“enable”) the repository first, e.g.
module load CBI
Then use module avail
to list what modules and versions are available (or see below). Next, to actually get access to one or more of the shared software modules, use module load <name>
or module load <name>/<version>
. Here are a few examples:
module load bowtie2
module load bowtie2/2.4.2
module load r
It is possible to (i) enable a software repository and (ii) load a set of software tools in one call, e.g.
module load CBI r bwa bowtie2/2.4.2
Below are 3 software repositories, each providing a set of software tools.
#%Module 1.0
module-whatis "Amber: Tools for Molecular Simulations"
setenv AMBERHOME /usr/local/amber22
prepend-path PATH /usr/local/amber22/bin
prepend-path LD_LIBRARY_PATH /usr/local/amber22/lib
prepend-path PERL5LIB /usr/local/amber22/lib/perl
prepend-path PYTHONPATH /usr/local/amber22/lib/python3.6/site-packages
setenv QUICK_BASIS /usr/local/amber22/AmberTools/src/quick/basis
#%Module 1.0
module-whatis "NVIDIA CUDA Toolkit libraries"
prepend-path PATH /usr/local/cuda-12.5/bin
prepend-path LD_LIBRARY_PATH /usr/local/cuda-12.5/lib64
setenv CUDA_LIB_PATH /usr/local/cuda-12.5/lib64
#%Module 1.0
module-whatis "Julia programming language"
prepend-path PATH /usr/local/julia-1.6.0/bin
prepend-path MANPATH /usr/local/julia-1.6.0/share/man
#%Module 1.0
module-whatis "Language for technical computing"
prepend-path PATH /usr/local/matlab/R2023b/bin
setenv MLM_LICENSE_FILE 27000@matl1.wynton.ucsf.edu:27000@matl2.wynton.ucsf.edu
#%Module 1.0
module-whatis "MATLAB Runtime for making use of MATLAB Compiler applications"
prepend-path LD_LIBRARY_PATH /usr/local/matlab/R2023b/runtime/glnxa64:/usr/local/matlab/R2023b/bin/glnxa64:/usr/local/matlab/R2023b/sys/os/glnxa64:/usr/local/matlab/R2023b/extern/bin/glnxa64
java -version
and javac -version
(SDK only).help("openjdk: Open Java Development Kit")
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, java")
whatis("URL: https://openjdk.java.net/, https://openjdk.java.net/projects/jdk/ (changelog), https://github.com/openjdk/jdk (source code)")
whatis([[
Description: OpenJDK is a free and open-source implementation of the Java Platform, Standard Edition. It is the result of an effort Sun Microsystems began in 2006.
Examples: `java -version` and `javac -version` (SDK only).
Note: This module loads the Software Development Kit (SDK) version, if available, otherwise the Run-Time Environment (JRE).
]])
local root = "/usr/lib/jvm"
-- Use SDK, if available, otherwise JRE
local home = pathJoin(root, "java" .. "-" .. version)
if not isDir(home) then -- isDir() supports symlinked folders
home = pathJoin(root, "jre" .. "-" .. version)
end
-- Assert that OpenJDK version still exists, because
-- it happens at times that older versions are removed
if not isDir(home) then
LmodError("INTERNAL ERROR: Module " .. name .. "/" .. version .. " is broken, because folder " .. home .. " does not exist on host " .. os.getenv("HOSTNAME") .. ". Please report this to the sysadms.")
end
setenv("JAVA_HOME", home)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("CPATH", pathJoin(home, "include"))
module load CBI
ant -h
help([[
Apache Ant: A Java Library and Command-Line Tool to Build Software
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming")
whatis("URL: https://ant.apache.org/bindownload.cgi, https://ant.apache.org/antnews.html (changelog)")
whatis([[
Description: Apache Ant is a Java library and command-line tool that help building software.
Examples: `ant -h`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
ASCIIGenome --help
, and ASCIIGenome bigWigExample.bw
.help([[
ASCIIGenome: Text Only Genome Viewer
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, viewer, cli, tui")
whatis("URL: https://github.com/dariober/ASCIIGenome, https://github.com/dariober/ASCIIGenome/blob/master/CHANGELOG.md (changelog), https://asciigenome.readthedocs.io/en/latest/ (documentation)")
whatis([[
Description: ASCIIGenome is a genome browser based on command line interface and designed for running from console terminals. Since ASCIIGenome does not require a graphical interface it is particularly useful for quickly visualizing genomic data on remote servers while offering flexibility similar to popular GUI viewers like IGV.
Examples: `ASCIIGenome --help`, and `ASCIIGenome bigWigExample.bw`.
Warning: Only the most recent version of this software will be kept.
]])
-- too long for small screens: `ASCIIGenome http://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20130502/supporting/functional_annotation/filtered/ALL.chr21.phase3_shapeit2_mvncall_integrated_v5.20130502.sites.annotation.vcf.gz`
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, "ASCIIGenome" .. "-" .. version)
prepend_path("PATH", home)
bam
.bam help
.help([[
bamUtil: Programs for Working on SAM/BAM Files
]])
local name = "bamUtil"
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: version control")
whatis("URL: https://genome.sph.umich.edu/wiki/BamUtil, https://github.com/statgen/bamUtil")
whatis("Description: bamUtil is a repository that contains several programs that perform operations on SAM/BAM files. All of these programs are built into a single executable, `bam`. Example: `bam help`.")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
bat README.md
, bat scripts/*.sh
, and bat src/*.c
.help([[
bat: A cat(1) Clone with Syntax Highlighting and Git Integration
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, file viewer, cli, tui")
whatis("URL: https://github.com/sharkdp/bat, https://github.com/sharkdp/bat/blob/master/CHANGELOG.md (changelog)")
whatis([[
Description: A cat(1) clone with syntax highlighting and Git integration.
Examples: `bat README.md`, `bat scripts/*.sh`, and `bat src/*.c`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
prepend_path("MANPATH", pathJoin(home, "share", "man", "man1"))
setup()
function: load "${BATS_SUPPORT_HOME}/load.bash"
and load "${BATS_ASSERT_HOME}/load.bash"
help([[
bats-assert: Assertion Library for Bats (Bash Automated Testing System)
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: bash, shell, testing")
whatis("URL: https://github.com/bats-core/bats-assert, https://github.com/bats-core/bats-assert/releases (changelog), https://bats-core.readthedocs.io/en/stable/faq.html?highlight=assert#how-can-i-use-helper-libraries-like-bats-assert (documentation)")
whatis([[
Description: This is a helper library providing common assertions for Bats.
Examples: In Bats `setup()` function: `load "${BATS_SUPPORT_HOME}/load.bash"` and `load "${BATS_ASSERT_HOME}/load.bash"`
]])
depends_on("bats-support")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("BATS_ASSERT_HOME", home)
bats --version
, bats --help
, man bats
, man 7 bats
, and bats tests/
.help([[
bats: Bash Automated Testing System
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: bash, shell, testing")
whatis("URL: https://github.com/bats-core/bats-core, https://github.com/bats-core/bats-core/blob/master/docs/CHANGELOG.md (changelog), https://bats-core.readthedocs.io/en/stable/ (documentation)")
whatis([[
Description: Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected.
Examples: `bats --version`, `bats --help`, `man bats`, `man 7 bats`, and `bats tests/`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
setup()
function: load "${BATS_SUPPORT_HOME}/load.bash"
and load "${BATS_FILE_HOME}/load.bash"
help([[
bats-file: File-System Assertion Library for Bats (Bash Automated Testing System)
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: bash, shell, testing")
whatis("URL: https://github.com/bats-core/bats-file, https://github.com/bats-core/bats-file/releases (changelog), https://bats-core.readthedocs.io/en/stable/faq.html?highlight=assert#how-can-i-use-helper-libraries-like-bats-file (documentation)")
whatis([[
Description: This is a helper library providing common filesystem related assertions and helpers foor Bats.
Examples: In Bats `setup()` function: `load "${BATS_SUPPORT_HOME}/load.bash"` and `load "${BATS_FILE_HOME}/load.bash"`
]])
depends_on("bats-support")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("BATS_FILE_HOME", home)
setup()
function: load "${BATS_SUPPORT_HOME}/load.bash"
help([[
bats-support: Supporting Library for Bats (Bash Automated Testing System)
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: bash, shell, testing")
whatis("URL: https://github.com/bats-core/bats-support, https://github.com/bats-core/bats-support/releases (changelog), https://bats-core.readthedocs.io/en/stable/faq.html?highlight=assert#how-can-i-use-helper-libraries-like-bats-assert (documentation)")
whatis([[
Description: This is a supporting library providing common functions to test helper libraries written for Bats.
Examples: In Bats `setup()` function: `load "${BATS_SUPPORT_HOME}/load.bash"`
]])
depends_on("bats-core")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("BATS_SUPPORT_HOME", home)
bcftools --version
help([[
BCFtools: Utilities for Variant Calling and Manipulating VCFs and BCFs
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://www.htslib.org/, https://github.com/samtools/bcftools/blob/develop/NEWS (changelog), https://github.com/samtools/bcftools (source code)")
whatis([[
Description: BCFtools is a set of utilities that manipulate variant calls in the Variant Call Format (VCF) and its binary counterpart BCF. All commands work transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.
Examples: `bcftools --version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
pushenv("BCFTOOLS_PLUGINS", pathJoin(home, "libexec", name))
-- Warn about bug https://github.com/samtools/htslib/issues/1236
if (mode() == "load" and version == "1.11") then
LmodMessage("MODULE WARNING: " .. name .. " " .. version .. " has a bug that results in valid but incorrect CIGAR strings. Because of this, it is recommended to use an older or a newer version instead. For details, see https://github.com/samtools/htslib/issues/1236")
end
bcl2fastq --version
help([[
bcl2fastq: Illumina Conversion Software
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, Illumina")
whatis("URL: https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software.html, https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software/downloads.html (changelog)")
whatis([[
Description: bcl2fastq Conversion Software both demultiplexes data and converts BCL files generated by Illumina sequencing systems to standard FASTQ file formats for downstream analysis.
Examples: `bcl2fastq --version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
bedops --version
help([[
BEDOPS: The Fast, Highly Scalable and Easily-Parallelizable Genome Analysis Toolkit
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: ")
whatis("URL: https://bedops.readthedocs.io/, https://bedops.readthedocs.io/en/latest/content/revision-history.html (changelog), https://github.com/bedops/bedops (source code)")
whatis([[
Description: BEDOPS is an open-source command-line toolkit that performs highly efficient and scalable Boolean and other set operations, statistical calculations, archiving, conversion and other management of genomic data of arbitrary scale. Tasks can be easily split by chromosome for distributing whole-genome analyses across a computational cluster.
Examples: `bedops --version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
bedtools --version
and ls $BEDTOOLS2_HOME/genomes/
.help([[
bedtools2: The Swiss Army Knife for Genome Arithmetic
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://github.com/arq5x/bedtools2/, https://bedtools.readthedocs.io/en/latest/content/history.html (changelog), https://bedtools.readthedocs.org (documentation), https://code.google.com/archive/p/bedtools/downloads (legacy)")
whatis([[
Description: Collectively, the bedtools utilities are a swiss-army knife of tools for a wide-range of genomics analysis tasks. The most widely-used tools enable genome arithmetic: that is, set theory on the genome. For example, bedtools allows one to intersect, merge, count, complement, and shuffle genomic intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF/GTF, VCF.
Examples: `bedtools --version` and `ls $BEDTOOLS2_HOME/genomes/`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
-- custom; helps find $BEDTOOLS2_HOME/genomes
pushenv("BEDTOOLS2_HOME", home)
blastx -version
help([[
BLAST+: Basic Local Alignment Search Tool
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, scripting")
whatis("URL: https://blast.ncbi.nlm.nih.gov/Blast.cgi, https://www.ncbi.nlm.nih.gov/books/NBK131777/ (changelog)")
whatis([[
Description: BLAST finds regions of similarity between biological sequences. The program compares nucleotide or protein sequences to sequence databases and calculates the statistical significance.
Examples: `blastx -version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
blat
help([[
BLAT: Fast Sequence Search Command Line Tool
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, alignment")
whatis("URL: https://genome.ucsc.edu/goldenPath/help/blatSpec.html (documentation), https://genome.ucsc.edu/FAQ/FAQblat.html (faq), https://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/ (download), https://github.com/ucscGenomeBrowser/kent/tree/master/src/blat (source code)")
whatis([[
Description: BLAT - client and server combined into a single program, first building the index, then using the index, and then exiting.
Examples: `blat`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
bowtie --version
and ls $BOWTIE_HOME/{genomes,indexes}
help([[
Bowtie: A Fast and Sensitive Gapped Read Aligner
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://bowtie-bio.sourceforge.net/index.shtml, https://bowtie-bio.sourceforge.net/index.shtml (changelog), https://github.com/BenLangmead/bowtie (source code)")
whatis([[
Description: Bowtie is an ultrafast, memory-efficient short read aligner.
Examples: `bowtie --version` and `ls $BOWTIE_HOME/{genomes,indexes}`
Note: This is Bowtie v1 - _not v2_.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
pushenv("BOWTIE_HOME", home)
bowtie2 --version
help([[
Bowtie 2: A Fast and Sensitive Gapped Read Aligner
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://bowtie-bio.sourceforge.net/bowtie2/index.shtml, https://bowtie-bio.sourceforge.net/bowtie2/index.shtml (changelog), https://github.com/BenLangmead/bowtie2 (source code)")
whatis([[
Description: Bowtie 2 is an ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences.
Examples: `bowtie2 --version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
bwa
.help([[
BWA: Burrows-Wheeler Aligner
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: http://bio-bwa.sourceforge.net/, https://github.com/lh3/bwa/blob/master/NEWS.md (changelog), https://github.com/lh3/bwa (source code)")
whatis([[
Description: Burrows-Wheeler Aligner (BWA) is a software package for mapping low-divergent sequences against a large reference genome, such as the human genome.
Examples: `bwa`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
prepend_path("MANPATH", pathJoin(home, "man"))
byobu --version
.help([[
byobu: Elegant Enhancement of the Otherwise Functional, Plain, Practical GNU Screen
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: terminal, SSH")
whatis("URL: https://www.byobu.org/, https://bazaar.launchpad.net/~kirkland/byobu/trunk/view/head:/debian/changelog (changelog), https://github.com/dustinkirkland/byobu (source code)")
whatis([[
Description: Byobu is an elegant enhancement of the otherwise functional, plain, practical GNU Screen. Byobu includes an enhanced profile, configuration utilities, and system status notifications for the GNU screen window manager as well as the Tmux terminal multiplexer.
Examples: `byobu --version`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
cellranger --help
and cellranger --version
.MROFLAGS='--localcores=1 --localmem=8 --limit-loadavg'
making those the default.help([[
Cell Ranger: 10x Genomics Pipeline for Single-Cell Data Analysis
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, 10x genomics")
whatis("URL: https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/what-is-cell-ranger, https://www.10xgenomics.com/support/software/cell-ranger/latest/release-notes/cr-release-notes (changelog), https://github.com/10XGenomics/cellranger (source code)")
whatis([[
Description: Cell Ranger is a set of analysis pipelines that process Chromium Single Cell 3' RNA-seq output to align reads, generate gene-cell matrices and perform clustering and gene expression analysis.
Examples: `cellranger --help` and `cellranger --version`.
Warning: To prevent a single Cell Ranger process from hijacking all CPU and RAM by default, this module sets environment variable `MROFLAGS='--localcores=1 --localmem=8 --limit-loadavg'` making those the default.
]])
load("bcl2fastq")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
-- Make CellRanger run on a single core with little memory by default
-- This prevents a single Cell Ranger process from hijacking all
-- available CPU and memory resources.
-- REFERENCES:
-- * https://martian-lang.org/advanced-features/#job-management
pushenv("MROFLAGS", "--localcores=1 --localmem=8 --limit-loadavg")
-- Assert that the current machine supports x86-64 v2 or greater
setenv("X86_64_LEVEL_ASSERT", "2")
try_load("x86-64-level")
setenv("X86_64_LEVEL_ASSERT", "")
chafa image.png
, chafa --format=iterm image.png
, chafa --format=kitty image.png
, chafa --version
and chafa --help
.help([[
chafa: Chafa (Character Art Facsimile) Terminal Graphics and Character Art Generator
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, shell")
whatis("URL: https://hpjansson.org/chafa/, https://github.com/hpjansson/chafa/blob/master/NEWS (changelog) https://github.com/hpjansson/chafa/releases (releases), https://github.com/hpjansson/chafa (source code)")
whatis([[
Description: Chafa is a command-line utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal. Supports modern terminal graphics formats (Sixels, Kitty, iTerm2, Unicode mosaics) - pick the one that your local terminal supports.
Examples: `chafa image.png`, `chafa --format=iterm image.png`, `chafa --format=kitty image.png`, `chafa --version` and `chafa --help`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
cmake --version
.help([[
CMake: Open-source, Cross-platform Family of Tools Designed to Build, Test and Package Software
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: development, make")
whatis("URL: https://cmake.org/, https://cmake.org/cmake/help/latest/release/index.html (changelog) https://github.com/Kitware/CMake/releases (download)")
whatis([[
Description: CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method. It supports directory hierarchies and applications that depend on multiple libraries.
Examples: `cmake --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "man"))
conda-stage --auto-stage=enable
, and conda-stage --help
.help([[
conda-stage: Stage Conda Environment on Local Disk
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, shell")
whatis("URL: https://github.com/HenrikBengtsson/conda-stage, https://github.com/HenrikBengtsson/conda-stage/blob/develop/NEWS.md (changelog), https://github.com/HenrikBengtsson/conda-stage/tags (releases)")
whatis([[
Description: The 'conda-stage' tool stages a Conda environment to local disk. Working with a Conda environment on local disk can greatly improve the performance as local disk is often much faster than a global, network-based file system, including multi-tenant parallel file systems such as BeeGFS and Lustre often found in high-performance compute (HPC) environments.
Examples: `conda-stage --auto-stage=enable`, and `conda-stage --help`.
Warning: This is work under construction. Your milage may vary! /HB 2022-04-13
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- WORKAROUND: For some reasons, this is required in order for
-- the 'root' part to be included in the 'home' path below in
-- *some* cases. For example, if we do 'conda activate base',
-- 'conda deactivate', and then 'module load conda-stage' we
-- would, for unknown reasons, end up with an empty 'root'.
-- The below seems to force the correct value of 'root'.
-- /HB 2022-09-22
if not isDir(root) then
LmodError("Environment variable 'SOFTWARE_ROOT_CBI' does not specify an existing folder: " .. os.getenv("SOFTWARE_ROOT_CBI"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
pushenv("CONDA_STAGE_PROLOGUE", "module load CBI " .. name)
local script = pathJoin(home, "bin", "conda-stage." .. myShellType())
if not isFile(script) then
LmodError("The " .. name .. " module is not supported for your shell (" .. myShellType() .. "; SHELL=" .. os.getenv("SHELL") .. "). No such file: " .. script)
end
-- Create conda-stage() function, which will overwrite itself after the
-- first invocation
local body = 'source "' .. script .. '"; '
body = body .. 'conda-stage "$@"'
set_shell_function("conda-stage", body, '')
freec
help([[
Control FREEC: Control-FREE Copy Number and Genotype Caller
]])
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: ")
whatis("URL: http://boevalab.com/FREEC/, https://github.com/BoevaLab/FREEC/releases (changelog), https://github.com/BoevaLab/FREEC/ (source code)")
whatis([[
Description: Prediction of copy numbers and allelic content using deep-sequencing data.
Examples: `freec`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local name = "FREEC"
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
cufflinks
help([[
Cufflinks: Transcriptome Assembly and Differential Expression Analysis for RNA-Seq
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: http://cole-trapnell-lab.github.io/cufflinks/, https://github.com/cole-trapnell-lab/cufflinks (source code)")
whatis([[
Description: Cufflinks assembles transcripts, estimates their abundances, and tests for differential expression and regulation in RNA-Seq samples. It accepts aligned RNA-Seq reads and assembles the alignments into a parsimonious set of transcripts. Cufflinks then estimates the relative abundances of these transcripts based on how many reads support each one, taking into account biases in library preparation protocols.
Examples: `cufflinks`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
cutadapt --version
and cutadapt --help
.help([[
Cutadapt: Remove Adapter Sequences from Sequencing Reads
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, genome")
whatis("URL: https://cutadapt.readthedocs.io/en/stable/, https://github.com/marcelm/cutadapt/blob/main/CHANGES.rst (changelog), https://github.com/marcelm/cutadapt (source code)")
whatis([[
Description: Cutadapt finds and removes adapter sequences, primers, poly-A tails and other types of unwanted sequence from your high-throughput sequencing reads.
Requirements: CentOS 7.
Examples: `cutadapt --version` and `cutadapt --help`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
-- if os.getenv("CBI_LINUX") ~= "centos7" then
-- LmodError("The '" .. name .. "' module is not yet supported on " .. os.getenv("CBI_LINUX") .. ". See https://github.com/HenrikBengtsson/CBI-software/issues/102 for updates on this problem.")
-- end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
easycatfs --help
and easycatfs mount /shared/data
.help([[
easycatfs: Easy Read-Only Mounting of Slow Folders onto a Local Drive
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, files, hpc")
whatis("URL: https://github.com/HenrikBengtsson/easycatfs")
whatis([[
Description: This is Linux command-line tool for mounting one or more folders on a network file system on a local disk such that the local-disk folders mirrors everything (read-only) on the network folder. This will result in (i) faster repeated access to files, and (ii) decreased load on the network file system. This is particularly beneficial when working on high-performance compute (HPC) clusters used by hundreds and thousands of processes and users simultaneously.
Examples: `easycatfs --help` and `easycatfs mount /shared/data`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
emacs --version
and emacs -nw
.help([[
GNU Emacs: An Extensible, Customizable, Free/Libre Text Editor
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: editor, text, cli, tui")
whatis("URL: https://www.gnu.org/software/emacs/, https://www.gnu.org/savannah-checkouts/gnu/emacs/emacs.html#Releases (changelog)")
whatis([[
Description: At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing.
Examples: `emacs --version` and `emacs -nw`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
expect -version
, and man expect
.help([[
expect: Programmed Dialogue with Interactive Programs
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: scripting, programming")
whatis("URL: https://core.tcl-lang.org/expect/index, https://core.tcl-lang.org/expect/file?name=ChangeLog&ci=tip (changelog), https://core.tcl-lang.org/expect/dir?ci=tip (source code), https://sourceforge.net/projects/expect/files/Expect/ (download)")
whatis([[
Description: Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications.
Examples: `expect -version`, and `man expect`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "libs"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
fastqc --version
.help([[
FastQC: A Quality Control Analysis Tool for High Throughput Sequencing Data
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, qc")
whatis("URL: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/, https://raw.githubusercontent.com/s-andrews/FastQC/master/RELEASE_NOTES.txt (changelog), https://github.com/s-andrews/FastQC/ (source code)")
whatis([[
Description: FastQC is a program designed to spot potential problems in high throughput sequencing datasets. It runs a set of analyses on one or more raw sequence files in fastq or bam format and produces a report which summarises the results.
Examples: `fastqc --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, "FastQC" .. "-" .. version)
prepend_path("PATH", home)
fclones --version
, fclones --help
, fclones group . --threads main:1
, and fclones group . --depth 1 --threads main:1
.help([[
fclones: Efficient Duplicate File Finder
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli, files")
whatis("URL: https://github.com/pkolaczk/fclones, https://github.com/pkolaczk/fclones/releases (releases), https://docs.rs/fclones/latest/fclones/ (Rust API documentation)")
whatis([[
Description: 'fclones' is a command line utility that identifies groups of identical files and gets rid of the file copies you no longer need. It comes with plenty of configuration options for controlling the search scope and offers many ways of removing duplicates.
Examples: `fclones --version`, `fclones --help`, `fclones group . --threads main:1`, and `fclones group . --depth 1 --threads main:1`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
fzf --version
and emacs "$(fzf)"
.$FZF_HOME/install
. To uninstall, use $FZF_HOME/uninstall
.help([[
fzf: A Command-Line Fuzzy Finder
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: , cli, tui, shell")
whatis("URL: https://github.com/junegunn/fzf, https://github.com/junegunn/fzf/wiki (documentation), https://github.com/junegunn/fzf/blob/master/CHANGELOG.md (changelog), https://github.com/junegunn/fzf/releases (download)")
whatis([[
Description: fzf is a general-purpose command-line fuzzy finder. It's an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc.
Examples: `fzf --version` and `emacs "$(fzf)"`. Note: To install tab completions and key bindinds to your shell, call `$FZF_HOME/install`. To uninstall, use `$FZF_HOME/uninstall`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "man"))
-- Custom
pushenv("FZF_HOME", home)
gatk --help
and gatk --list
.help([[
Genome Analysis Toolkit (GATK): Variant Discovery in High-Throughput Sequencing Data
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, genome")
whatis("URL: https://gatk.broadinstitute.org/hc/en-us, https://github.com/broadinstitute/gatk (source code), https://github.com/broadinstitute/gatk/releases (changelog), https://github.com/broadgsa/gatk (legacy), https://console.cloud.google.com/storage/browser/gatk-software/package-archive (legacy), ftp://ftp.broadinstitute.org/pub/gsa/GenomeAnalysisTK/ (legacy)")
whatis([[
Description: Developed in the Data Sciences Platform at the Broad Institute, the toolkit offers a wide variety of tools with a primary focus on variant discovery and genotyping. Its powerful processing engine and high-performance computing features make it capable of taking on projects of any size.
Requirements: Modern GATK versions require Java (>= 17).
Examples: `gatk --help` and `gatk --list`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
local version_x = string.gsub(version, "[.].*", "")
if version_x == "1" then
-- GATK v1.* requires Java (<= 1.7)
local cluster = os.getenv("CLUSTER") or ""
if (cluster == "tipcc") then
load("jdk/1.7.0")
else
depends_on("openjdk/1.6.0")
end
pushenv("GATK_HOME", home)
elseif version_x == "4" then
if mode() == "load" then
local success=false
-- try all possible openjdk/(>= 17) versions
for version = 17,30 do
module="openjdk/" .. version
if isAvail(module) then
load(module)
success=true
break
end
end
-- try oraclejdk/(>= 17) versions
if not success then
for version = 17,30 do
module="oraclejdk/" .. version
if isAvail(module) then
load(module)
success=true
break
end
end
end
if not success then
LmodError(name .. " requires openjdk/17 or newer, but that is not available on " .. os.getenv("CBI_LINUX") .. " machine " .. os.getenv("HOSTNAME"))
end
end
prepend_path("PATH", home)
else
prepend_path("PATH", home)
end
-- Tweak Java for the current environment
depends_on("java-tweaks")
gcta64
.help([[
GCTA: Genome-wide Complex Trait Analysis
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: genome")
whatis("URL: https://yanglab.westlake.edu.cn/software/gcta/#Overview, https://cnsgenomics.com/software/gcta/, https://github.com/jianyangqt/gcta (source code)")
whatis([[
Description: A tool for Genome-wide Complex Trait Analysis (GCTA).
Examples: `gcta64`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
geos-config --version
.help([[
GEOS: Geometry Engine, Open Source
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: statistics, spatial")
whatis("URL: https://libgeos.org/, https://libgeos.org/usage/download/ (changelog), https://github.com/libgeos/geos/issues (bug reports)")
whatis([[
Description: GEOS (Geometry Engine - Open Source) is a C++ port of the JTS Topology Suite (JTS). It aims to contain the complete functionality of JTS in C++. This includes all the OpenGIS Simple Features for SQL spatial predicate functions and spatial operators, as well as specific JTS enhanced functions. GEOS provides spatial functionality to many other projects and products.
Examples: `geos-config --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
-- execution
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
-- linking
prepend_path("LD_RUN_PATH", pathJoin(home, "lib"))
-- building
prepend_path("CPATH", pathJoin(home, "include"))
prepend_path("CFLAGS", "-I" .. pathJoin(home, "include"), " ")
prepend_path("LDFLAGS", "-L" .. pathJoin(home, "lib"), " ")
git extras --version
and git extras --help
.help([[
git-extras: Little Git Extras
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: version control")
whatis("URL: https://github.com/tj/git-extras, https://github.com/tj/git-extras/releases (releases), https://github.com/tj/git-extras/blob/main/History.md (changelog)")
whatis(
[[Description: GIT utilities -- repo summary, repl, changelog population, author commit percentages and more.
Examples: `git extras --version` and `git extras --help`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
git flow
.help([[
git-flow: Git Extension Git Flow (AVH Edition)
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: version control")
whatis("URL: https://github.com/petervanderdoes/gitflow-avh, https://github.com/petervanderdoes/gitflow-avh/blob/develop/CHANGELOG.md (changelog)")
whatis(
[[Description: A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model.
Examples: `git flow`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
gh
is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git
and your code.gh --version
, gh --help
, gh auth login
, and gh extension install dlvhdr/gh-dash
.help([[
github-cli: GitHub's Official Command Line Tool
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, file viewer, cli, tui")
whatis("URL: https://cli.github.com/, https://cli.github.com/manual/ (documentation), https://github.com/cli/cli/releases (changelog), https://github.com/cli/cli/ (source code), https://github.com/topics/gh-extension (GitHub CLI extensions)")
whatis([[
Description: `gh` is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with `git` and your code.
Examples: `gh --version`, `gh --help`, `gh auth login`, and `gh extension install dlvhdr/gh-dash`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man", "man1"))
gitleaks --version
, and gitleaks --help
.help([[
gitleaks: Protect and Discover Secrets using Gitleaks
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli")
whatis("URL: https://gitleaks.io/, https://github.com/gitleaks/gitleaks/releases (releases), https://github.com/gitleaks/gitleaks (source code)")
whatis([[
Description:
Examples: `gitleaks --version`, and `gitleaks --help`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
gitui --help
, gitui --version
, and gitui
.help([[
gitui: Blazing Fast Terminal-UI for Git Written in Rust
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, git")
whatis("URL: https://github.com/extrawurst/gitui/blob/master/CHANGELOG.md (changelog), https://github.com/extrawurst/gitui (source code)")
whatis([[
Description: GitUI provides you with the comfort of a git GUI but right in your terminal.
Examples: `gitui --help`, `gitui --version`, and `gitui`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
glow README.md
, glow --pager README.md
.help([[
glow: Render Markdown on the CLI, with Pizzazz!
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, file viewer, pager, markdown, cli, tui")
whatis("URL: https://github.com/charmbracelet/glow, https://github.com/charmbracelet/glow/releases (changelog)")
whatis([[
Description: Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI. Use it to discover markdown files, read documentation directly on the command line and stash markdown files to your own private collection so you can read them anywhere. Glow will find local markdown files in subdirectories or a local Git repository.
Examples: `glow README.md`, `glow --pager README.md`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
prepend_path("MANPATH", home)
go version
and go help
.help([[
go: The Go Programming Language
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, shell")
whatis("URL: https://go.dev/, https://go.dev/doc/devel/release (changelog), https://go.dev/dl/ (releases), https://github.com/golang (source code)")
whatis([[
Description: Build simple, secure, scalable systems with Go.
Examples: `go version` and `go help`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
setenv("GOROOT", home)
prepend_path("PATH", pathJoin(home, "bin"))
--cmd
flag, and (iii) custom colours.gping --version
, gping --help
, gping 8.8.8.8 9.9.9.9
, and gping --cmd "curl -o /dev/null https://www.github.com" "wget -O /dev/null https://github.com"
.help([[
gping: Ping, but with a Graph
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: terminal, cli, utility")
whatis("URL: https://github.com/orf/gping, https://github.com/orf/gping/releases (changelog), https://github.com/orf/gping (source code)")
whatis([[
Description: gping comes with the following super-powers: (i) graph the ping time for multiple hosts, (ii) graph the execution time for commands via the `--cmd` flag, and (iii) custom colours.
Examples: `gping --version`, `gping --help`, `gping 8.8.8.8 9.9.9.9`, and `gping --cmd "curl -o /dev/null https://www.github.com" "wget -O /dev/null https://github.com"`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
gsl-config --version
.help([[
GSL: Gnu Scientific Library
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: library")
whatis("URL: https://www.gnu.org/software/gsl/, https://git.savannah.gnu.org/cgit/gsl.git/tree/NEWS (changelog), https://mirror.ibcp.fr/pub/gnu/gsl/ (download), https://git.savannah.gnu.org/cgit/gsl.git/ (source code)")
whatis([[
Description: The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.
Examples: `gsl-config --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
h5stat --version
.help([[
hdf5: A General Purpose Library and File Format for Storing Scientific Data
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: library")
whatis("URL: https://www.hdfgroup.org/downloads/hdf5/, https://portal.hdfgroup.org/display/support/Downloads (changelog), https://www.hdfgroup.org/downloads/hdf5/source-code/ (source code)")
whatis([[
Description: Hierarchical Data Format (HDF) is a set of file formats (HDF4, HDF5) designed to store and organize large amounts of data. The HDF5 format is designed to address some of the limitations of the HDF4 library, and to address current and anticipated requirements of modern systems and applications.
Examples: `h5stat --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
-- prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("CPATH", pathJoin(home, "include"))
-- prepend_path("CFLAGS", "-I" .. pathJoin(home, "include"), " ")
-- prepend_path("LDFLAGS", "-L" .. pathJoin(home, "lib"), " ")
hisat2 --version
and hisat2 --help
.help([[
HISAT2: Graph-based Alignment of Next Generation Sequencing Reads to a Population of Genomes
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: Programming, Statistics")
whatis("URL: https://daehwankimlab.github.io/hisat2/, https://github.com/DaehwanKimLab/hisat2/releases (changelog), https://github.com/DaehwanKimLab/hisat2/ (source code)")
whatis([[
Description: HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes (as well as to a single reference genome). Based on an extension of BWT for graphs [Sirén et al. 2014], we designed and implemented a graph FM index (GFM), an original approach and its first implementation to the best of our knowledge. In addition to using one global GFM index that represents a population of human genomes, HISAT2 uses a large set of small GFM indexes that collectively cover the whole genome (each index representing a genomic region of 56 Kbp, with 55,000 indexes needed to cover the human population). These small indexes (called local indexes), combined with several alignment strategies, enable rapid and accurate alignment of sequencing reads. This new indexing scheme is called a Hierarchical Graph FM index (HGFM).
Examples: `hisat2 --version` and `hisat2 --help`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
htop
is an interactive process viewer for Unix systems. It is a text-mode application (for console or X terminals) and requires ncurses.htop
.help([[
htop: An Interactive Process Viewer for Unix
]])
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "") -- for hidden modules
whatis("Version: " .. version)
whatis("Keywords: system, utility, cli, tui")
whatis("URL: https://htop.dev, https://github.com/htop-dev/htop/blob/main/ChangeLog (changelog), https://github.com/htop-dev/htop (source code)")
whatis([[
Description: `htop` is an interactive process viewer for Unix systems. It is a text-mode application (for console or X terminals) and requires ncurses.
Examples: `htop`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
bgzip --version
, htsfile --version
, and tabix --version
.help([[
HTSlib: C Library for High-Throughput Sequencing Data Formats
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, programming")
whatis("URL: https://www.htslib.org/, https://github.com/samtools/htslib/blob/develop/NEWS (changelog), https://github.com/samtools/htslib (source code)")
whatis([[
Description: HTSlib is an implementation of a unified C library for accessing common file formats, such as SAM, CRAM and VCF, used for high-throughput sequencing data, and is the core library used by samtools and bcftools. HTSlib also provides the bgzip, htsfile, and tabix utilities.
Examples: `bgzip --version`, `htsfile --version`, and `tabix --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
-- Warn about bug https://github.com/samtools/htslib/issues/1236
if (mode() == "load" and version == "1.11") then
LmodMessage("MODULE WARNING: " .. name .. " " .. version .. " has a bug that results in valid but incorrect CIGAR strings. Because of this, it is recommended to use an older or a newer version instead. For details, see https://github.com/samtools/htslib/issues/1236")
end
snp-pileup --help
, dnafrags --help
, ppflag-fixer --help
.help([[
htstools: Tools to Process BAM Files for Downstream Copy-Number Analysis
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://github.com/mskcc/htstools, https://github.com/mskcc/htstools/releases (changelog)")
whatis([[
Description: Contains three tools (dnafrags, ppflag-fixer, snp-pileup) written by Alex Studer to process bam files for downstream copy number analysis.
Examples: `snp-pileup --help`, `dnafrags --help`, `ppflag-fixer --help`.
]])
depends_on("htslib")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
igv --help
, igv --version
, and igv
.help([[
IGV: The Integrative Genomics Viewer
]])
-- local name = myModuleName()
local name = "IGV"
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://software.broadinstitute.org/software/igv/, https://github.com/igvteam/igv/tags (changelog), https://github.com/igvteam/igv/ (source code)")
whatis([[
Description: The Integrative Genomics Viewer (IGV) is a high-performance visualization tool for interactive exploration of large, integrated genomic datasets. It supports a wide variety of data types, including array-based and next-generation sequence data, and genomic annotations.
Examples: `igv --help`, `igv --version`, and `igv`.
Warning: IGV (>= 2.7.0) requires Java 17. Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
-- Parse version x.y.z into x and y
version_x=string.gsub(version, "[.].*$", "")
version_xy=string.gsub(version, version_x .. "[.]", "")
version_y=string.gsub(version_xy, "[.].*$", "")
version_x=tonumber(version_x)
version_y=tonumber(version_y)
-- Identify required Java version
local min_java_version=8
if (version_x >= 2) then
if (version_y >= 17) then
min_java_version=17
elseif (version_y >= 2.5) then
min_java_version=11
end
end
local java_check = 'ver=$(java -version 2>&1 | grep -F "version" | sed -E "s/(.* version |\\")//g"); >&2 echo "Java version: ${ver} [IGV ' .. version .. ' requires Java ' .. min_java_version .. ' or newer]"; ver_x=$(sed -E "s/^1[.]//" <<< "${ver}" | sed "s/[.].*//"); if [[ ${ver_x} -lt ' .. min_java_version .. ' ]]; then >&2 echo "ERROR: Java ${ver_x} detected, but IGV requires Java ' .. min_java_version .. ' or newer: $(java -version 2>&1 | grep -F "version")"; return 1; fi;'
local bash = java_check .. ' ' .. home .. '/igv.sh "$@"'
local csh = home .. '/igv.sh $*'
set_shell_function("igv", bash, csh)
-- Tweak Java for the current environment
depends_on("java-tweaks")
igvtools help
.igvtools
moved to IGV as of IGV (>= 2.5.0).help([[
IGVTools: Tools for Pre-processing HT-Seq Data Files
]])
-- local name = myModuleName()
local name = "IGVTools"
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://software.broadinstitute.org/software/igv/igvtools, https://software.broadinstitute.org/software/igv/2.12.x#LatestVersion (changelog), https://github.com/igvteam/igv/ (source code)")
whatis([[
Description: The igvtools utility provides a set of tools for pre-processing data files.
Examples: `igvtools help`.
Note: `igvtools` moved to IGV as of IGV (>= 2.5.0).
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
inxi --version
, inxi --help
, and inxi -v4 -c6
.help([[
inxi: A Full Featured System Information Script
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli")
whatis("URL: https://smxi.org/docs/inxi.htm, https://smxi.org/docs/inxi-changelog.htm (changelog), https://codeberg.org/smxi/inxi (source code), https://codeberg.org/smxi/inxi/tags (releases)")
whatis([[
Description: Command line system information tool for console and IRC.
Examples: `inxi --version`, `inxi --help`, and `inxi -v4 -c6`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man", "man1"))
jags
and man jags
.help([[
JAGS: Just Another Gibbs Sampler
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: statistics")
whatis("URL: http://mcmc-jags.sourceforge.net/, https://sourceforge.net/p/mcmc-jags/code-0/ci/default/tree/NEWS (changelog), https://sourceforge.net/projects/mcmc-jags/ (source code)")
whatis([[
Description: JAGS is Just Another Gibbs Sampler. It is a program for analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC) simulation not wholly unlike BUGS.
Examples: `jags` and `man jags`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, "JAGS" .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
-- AD HOC:
-- R package 'rjags' uses 'JAGS_LIBDIR' and 'JAGS_INCLUDEDIR' (INSTALL)
-- Comment: Appears not to be needed /HB 2020-03-09
-- pushenv("JAGS_INCLUDEDIR", pathJoin(home, "include"))
-- pushenv("JAGS_LIBDIR", pathJoin(home, "lib"))
-- R package 'runjags' uses 'JAGS_LIB' and 'JAGS_INCLUDE' (README)
-- Comment: Email maintainer about diff to 'rjags' /HB 2020-03-09
-- pushenv("JAGS_INCLUDE", pathJoin(home, "include")) -- Not needed /HB 2020-03-09
pushenv("JAGS_LIB", pathJoin(home, "lib"))
jq --help
, jq --version
, cat in.json | jq .
, and man jq
help([[
jq: Command-line JSON Processor
]])
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "") -- for hidden modules
whatis("Version: " .. version)
whatis("Keywords: utility, cli")
whatis("URL: https://github.com/jqlang/jq, https://github.com/jqlang/jq/blob/master/NEWS.md (changelog), https://jqlang.github.io/jq (documentation)")
whatis([[
Description: jq is a lightweight and flexible command-line JSON processor.
Examples: `jq --help`, `jq --version`, `cat in.json | jq .`, and `man jq`
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
-- Run time
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
-- Compile time
prepend_path("CPATH", pathJoin(home, "include"))
prepend_path("LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
kallisto version
help([[
kallisto: Near-optimal RNA-Seq Quantification
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://pachterlab.github.io/kallisto/about.html, https://github.com/pachterlab/kallisto/releases (changelog), https://github.com/pachterlab/kallisto (source code)")
whatis([[
Description: kallisto is a program for quantifying abundances of transcripts from RNA-Seq data, or more generally of target sequences using high-throughput sequencing reads. It is based on the novel idea of pseudoalignment for rapidly determining the compatibility of reads with targets, without the need for alignment.
Examples: `kallisto version`
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
markdown-link-check --version
, markdown-link-check --help
, markdown-link-check -- *.md
.help([[
markdown-link-check: Checks Links in Markdown Files
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, utility")
whatis("URL: https://github.com/tcort/markdown-link-check, https://github.com/tcort/markdown-link-check/releases (releases)")
whatis([[
Description: Checks all of the hyperlinks in a markdown text to determine if they are alive or dead.
Examples: `markdown-link-check --version`, `markdown-link-check --help`, `markdown-link-check -- *.md`.
]]
)
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "node_modules", ".bin"))
markdownlint --version
, markdownlint --help
, markdownlint -- *.md
.help([[
markdownlint-cli: MarkdownLint Command Line Interface
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, utility")
whatis("URL: https://github.com/igorshubovych/markdownlint-cli (documentation), https://github.com/igorshubovych/markdownlint-cli/releases/ (releases), https://github.com/igorshubovych/markdownlint-cli (source code)")
whatis([[
Description:
Examples: `markdownlint --version`, `markdownlint --help`, `markdownlint -- *.md`.
]]
)
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "node_modules", ".bin"))
mc
and mc --version
.help([[
mc: Midnight Commander
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, files, cli, tui")
whatis("URL: https://midnight-commander.org/, https://github.com/MidnightCommander/mc/blob/master/doc/NEWS (changelog), https://github.com/MidnightCommander/mc (source code), https://github.com/MidnightCommander/mc/tags (download)")
whatis([[
Description: GNU Midnight Commander is a visual file manager. It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the subshell. Internal viewer and editor are included.
Examples: `mc` and `mc --version`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
help([[
[DEFUNCT] Miniconda: A Free Minimal Installer for Conda
]])
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "") -- for hidden modules
local new = "miniconda3/" .. version .. "-py39"
whatis("Version: " .. version)
whatis("Keywords: deprecated, defunct")
whatis([[
Warning: This module is defunct and has been superseeded by module 'miniconda3'. Please use that module instead.
]])
depends_on(new)
LmodError("[DEFUNCT ERROR] The CBI '" .. name .. "/" .. version .. "' module has been renamed to '" .. new .. "'; please use that module instead")
conda --version
, conda create --name=myenv
, conda env list
, conda activate myenv
, conda info
, and conda deactive
.miniforge3
module instead. Also, this module works only in Bash. Also, do not do conda init
. If you do this by mistake, please undo by conda init --reverse
.help([[
[DEPRECATED] Miniconda: A Free Minimal Installer for Conda
]])
local warning = "Use at your own peril! Software tools installed via Conda are known to cause conflicts with other software on the system, including core software provided by the operating system as well as other software from the CBI stack. For example, do not install R packages running R from the CBI stack, while conda is activated."
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "") -- for hidden modules
whatis("Version: " .. version)
whatis("Keywords: files, utility")
whatis("URL: https://docs.conda.io/en/latest/, https://docs.conda.io/en/latest/miniconda.html (documentation), https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links (releases), https://github.com/conda/conda/blob/master/CHANGELOG.md (changelog), https://github.com/conda/conda (source code)")
whatis([[
Description: Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others.
Examples: `conda --version`, `conda create --name=myenv`, `conda env list`, `conda activate myenv`, `conda info`, and `conda deactive`.
Warning: _This module is deprecated as of 2024-08-21, because of Anconda Inc. license issues. Please use the `miniforge3` module instead._ Also, this module works only in Bash. Also, do _not_ do `conda init`. If you do this by mistake, please undo by `conda init --reverse`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
-- Miniconda (>= 23.11.0) [2023-11-30]:
-- Prevent conda from add shortcuts to user's Desktop.
pushenv("CONDA_SHORTCUTS", "false")
if mode() == "load" then
-- ASSERT: Make sure there is no other active conda environment
if os.getenv("CONDA_EXE") then
LmodError("Cannot load " .. name .. " module, because another conda installation is already enabled (detected environment variable CONDA_EXE='" .. os.getenv("CONDA_EXE") .. "'). Have you installed conda on your own? If so, run 'conda config --set auto_activate_base false' and then log out and log back in again. If that is not sufficient, please run 'conda init --reverse' and log out and back in again.")
end
pushenv("CONDA_EXE", pathJoin(home, "bin", "conda"))
pushenv("CONDA_PYTHON_EXE", pathJoin(home, "bin", "python"))
pushenv("_CE_M", "")
pushenv("_CE_CONDA", "")
elseif mode() == "unload" then
pushenv("CONDA_EXE", "false")
pushenv("CONDA_PYTHON_EXE", "false")
pushenv("_CE_M", "false")
pushenv("_CE_CONDA", "false")
end
if mode() == "load" then
LmodWarning("[DEPRECATED] The CBI '" .. name .. "/" .. version .. "' module is deprecated as of 2024-08-21, and it will eventually become defunct. Please use 'miniforge3' instead. The reason for this is license issues introduced by Anconda Inc.")
end
-- Don't edit! Created using:
-- /usr/share/lmod/lmod/libexec/sh_to_modulefile /wynton/home/cbi/shared/software/CBI/miniconda3-24.5.0-0-py312/etc/profile.d/conda.sh
pushenv("CONDA_EXE","/wynton/home/cbi/shared/software/CBI/miniconda3-24.5.0-0-py312/bin/conda")
pushenv("CONDA_PYTHON_EXE","/wynton/home/cbi/shared/software/CBI/miniconda3-24.5.0-0-py312/bin/python")
pushenv("CONDA_SHLVL","0")
prepend_path("PATH","/wynton/home/cbi/shared/software/CBI/miniconda3-24.5.0-0-py312/condabin")
pushenv("_CE_CONDA","")
pushenv("_CE_M","")
set_shell_function("__conda_activate"," \
if [ -n \"${CONDA_PS1_BACKUP:+x}\" ]; then\
PS1=\"$CONDA_PS1_BACKUP\";\
\\unset CONDA_PS1_BACKUP;\
fi;\
\\local ask_conda;\
ask_conda=\"$(PS1=\"${PS1:-}\" __conda_exe shell.posix \"$@\")\" || \\return;\
\\eval \"$ask_conda\";\
__conda_hashr\
","")
set_shell_function("__conda_exe"," \
( \"$CONDA_EXE\" $_CE_M $_CE_CONDA \"$@\" )\
","")
set_shell_function("__conda_hashr"," \
if [ -n \"${ZSH_VERSION:+x}\" ]; then\
\\rehash;\
else\
if [ -n \"${POSH_VERSION:+x}\" ]; then\
:;\
else\
\\hash -r;\
fi;\
fi\
","")
set_shell_function("__conda_reactivate"," \
\\local ask_conda;\
ask_conda=\"$(PS1=\"${PS1:-}\" __conda_exe shell.posix reactivate)\" || \\return;\
\\eval \"$ask_conda\";\
__conda_hashr\
","")
set_shell_function("conda"," \
\\local cmd=\"${1-__missing__}\";\
case \"$cmd\" in \
activate | deactivate)\
__conda_activate \"$@\"\
;;\
install | update | upgrade | remove | uninstall)\
__conda_exe \"$@\" || \\return;\
__conda_reactivate\
;;\
*)\
__conda_exe \"$@\"\
;;\
esac\
","")
conda --version
, conda create --name=myenv
, conda env list
, conda activate myenv
, conda info
, and conda deactive
.conda init
. If you do this by mistake, please undo by conda init --reverse
.help([[
Miniforge: A Free Minimal Installer for Conda
]])
local warning = "Use at your own peril! Software tools installed via Conda are known to cause conflicts with other software on the system, including core software provided by the operating system as well as other software from the CBI stack. For example, do not install R packages running R from the CBI stack, while conda is activated."
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "") -- for hidden modules
whatis("Version: " .. version)
whatis("Keywords: files, utility")
whatis("URL: https://conda-forge.org/, https://conda-forge.org/docs/user/introduction/ (documentation), https://github.com/conda-forge/miniforge/releases (releases), https://github.com/conda/conda/blob/master/CHANGELOG.md (changelog), https://github.com/conda/conda (source code)")
whatis([[
Description: Miniforge is a free minimal installer for conda. Miniforge is a community effort to provide Miniconda-like installers, with the added feature that conda-forge is the default channel.
Examples: `conda --version`, `conda create --name=myenv`, `conda env list`, `conda activate myenv`, `conda info`, and `conda deactive`.
Warning: For now, this module works only in Bash. Also, do _not_ do `conda init`. If you do this by mistake, please undo by `conda init --reverse`.
]])
conflict("miniconda3")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
-- Miniconda (>= 23.11.0) [2023-11-30]:
-- Prevent conda from add shortcuts to user's Desktop.
pushenv("CONDA_SHORTCUTS", "false")
if mode() == "load" then
-- ASSERT: Make sure there is no other active conda environment
if os.getenv("CONDA_EXE") then
LmodError("Cannot load " .. name .. " module, because another conda installation is already enabled (detected environment variable CONDA_EXE='" .. os.getenv("CONDA_EXE") .. "'). Have you installed conda on your own? If so, run 'conda config --set auto_activate_base false' and then log out and log back in again. If that is not sufficient, please run 'conda init --reverse' and log out and back in again.")
end
pushenv("CONDA_EXE", pathJoin(home, "bin", "conda"))
pushenv("CONDA_PYTHON_EXE", pathJoin(home, "bin", "python"))
pushenv("_CE_M", "")
pushenv("_CE_CONDA", "")
elseif mode() == "unload" then
pushenv("CONDA_EXE", "false")
pushenv("CONDA_PYTHON_EXE", "false")
pushenv("_CE_M", "false")
pushenv("_CE_CONDA", "false")
end
-- Don't edit! Created using:
-- /usr/share/lmod/lmod/libexec/sh_to_modulefile /wynton/home/cbi/shared/software/CBI/miniforge3-24.11.0-0/etc/profile.d/conda.sh
pushenv("CONDA_EXE","/wynton/home/cbi/shared/software/CBI/miniforge3-24.11.0-0/bin/conda")
pushenv("CONDA_PYTHON_EXE","/wynton/home/cbi/shared/software/CBI/miniforge3-24.11.0-0/bin/python")
pushenv("CONDA_SHLVL","0")
prepend_path("PATH","/wynton/home/cbi/shared/software/CBI/miniforge3-24.11.0-0/condabin")
pushenv("_CE_CONDA","")
pushenv("_CE_M","")
set_shell_function("__conda_activate"," \
if [ -n \"${CONDA_PS1_BACKUP:+x}\" ]; then\
PS1=\"$CONDA_PS1_BACKUP\";\
\\unset CONDA_PS1_BACKUP;\
fi;\
\\local ask_conda;\
ask_conda=\"$(PS1=\"${PS1:-}\" __conda_exe shell.posix \"$@\")\" || \\return;\
\\eval \"$ask_conda\";\
__conda_hashr\
","")
set_shell_function("__conda_exe"," \
( \"$CONDA_EXE\" $_CE_M $_CE_CONDA \"$@\" )\
","")
set_shell_function("__conda_hashr"," \
if [ -n \"${ZSH_VERSION:+x}\" ]; then\
\\rehash;\
else\
if [ -n \"${POSH_VERSION:+x}\" ]; then\
:;\
else\
\\hash -r;\
fi;\
fi\
","")
set_shell_function("conda"," \
\\local cmd=\"${1-__missing__}\";\
case \"$cmd\" in \
activate | deactivate)\
__conda_activate \"$@\"\
;;\
install | update | upgrade | remove | uninstall)\
__conda_exe \"$@\" || \\return;\
__conda_activate reactivate\
;;\
*)\
__conda_exe \"$@\"\
;;\
esac\
","")
mutect
, which is short for java -Xmx2g -jar "$MUTECT_JAR"
.help([[
muTect: Identification of Somatic Point Mutations in Next Generation Sequencing Data of Cancer Genomes
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, genome")
whatis("URL: https://software.broadinstitute.org/cancer/cga/mutect, https://github.com/broadinstitute/mutect (source code)")
whatis([[
Description: MuTect is a method developed at the Broad Institute for the reliable and accurate identification of somatic point mutations in next generation sequencing data of cancer genomes.
Examples: `mutect`, which is short for `java -Xmx2g -jar "$MUTECT_JAR"`.
Requirements: MuTect (<= 1.1) requires Java v1.7 and will not work with any other Java versions.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
if (version == "1.0.27783") then
-- muTect 1.0.27783 requires Java (<= 1.7)
local cluster = os.getenv("CLUSTER")
if (cluster == "tipcc") then
load("jdk/1.7.0")
else
-- depends_on("openjdk/1.6.0")
end
end
-- Validate proper Java version for older versions of MuTect
if string.match(version, "^1[.][01]") then
local bfr = capture("java -version 2>&1")
for line in string.gmatch(bfr, "[^\n]+") do
if string.match(line, "version") then
if not string.match(line, "1[.]7") then
LmodWarning(myModuleFullName() .. " requires Java v1.7, but you are running " .. line)
end
end
end
end
name = "muTect"
pushenv("MUTECT_HOME", home)
local jarfile = name .. "-" .. version .. ".jar"
pushenv("MUTECT_JAR", pathJoin(home, jarfile))
local bash = 'java -Xmx2g -jar "$MUTECT_HOME/' .. jarfile .. '" "$@"'
local csh = 'java -Xmx2g -jar "$MUTECT_HOME/' .. jarfile .. '" $*'
set_shell_function("mutect", bash, csh)
-- Tweak Java for the current environment
depends_on("java-tweaks")
ncdu --version
, ncdu --help
, and ncdu
. For large cleanup tasks, call ncdu --one-file-system -o ncdu.cache
once to scan all files, and then use ncdu --enable-delete -f ncdu.cache
to clean them out.help([[
ncdu: NCurses Disk Usage
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli, files")
whatis("URL: https://dev.yorhel.nl/ncdu, https://dev.yorhel.nl/ncdu/man2 (documentation), https://dev.yorhel.nl/ncdu/changes2 (changelog), https://code.blicky.net/yorhel/ncdu/ (source code)")
whatis([[
Description: Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find space hogs on a remote server where you don’t have an entire graphical setup available, but it is a useful tool even on regular desktop systems. Ncdu aims to be fast, simple and easy to use, and should be able to run in any minimal POSIX-like environment with ncurses installed.
Examples: `ncdu --version`, `ncdu --help`, and `ncdu`. For large cleanup tasks, call `ncdu --one-file-system -o ncdu.cache` once to scan all files, and then use `ncdu --enable-delete -f ncdu.cache` to clean them out.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
pandoc --version
.help([[
Pandoc: A Universal Document Converter
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, shell")
whatis("URL: https://pandoc.org/, https://pandoc.org/releases.html (changelog), https://github.com/jgm/pandoc (source code)")
whatis([[
Description: Pandoc is a Haskell library and software tool for converting from one markup format to another, and a command-line tool that uses this library.
Examples: `pandoc --version`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
pdfcrop --help
and pdfcrop A4 input.pdf
.help([[
PDFCrop: Crop and Rescale PDFs
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, tool")
whatis("URL: https://www.ctan.org/tex-archive/support/pdfcrop, https://github.com/ho-tex/pdfcrop (source code), https://github.com/ho-tex/pdfcrop/tags/ (changelog)")
whatis([[
Description: PDFCrop crops the white margins of PDF pages and rescales them to fit a standard size sheet of paper. It makes printed pages much easier to read. PDFCrop is particularly useful for resizing journal articles and converting between letter-size and A4 paper.
Examples: `pdfcrop --help` and `pdfcrop A4 input.pdf`.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
PicardCommandLine -h
, which is short for java -jar "$PICARD_HOME/picard.jar" -h
.picard
alias is deprecated. Use function PicardCommandLine
instead. Picard 3 requires Java 17, Picard 2 requires Java 1.8.help([[
Picard: Command-Line Tools for Manipulating High-throughput Sequencing Data and Formats
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://broadinstitute.github.io/picard/, https://github.com/broadinstitute/picard/releases (changelog), https://github.com/broadinstitute/picard (source code)")
whatis([[
Description: Picard is a set of command line tools for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.
Examples: `PicardCommandLine -h`, which is short for `java -jar "$PICARD_HOME/picard.jar" -h`.
Warning: The old `picard` alias is deprecated. Use function `PicardCommandLine` instead. Picard 3 requires Java 17, Picard 2 requires Java 1.8.
]])
local version_x = string.gsub(version, "[.].*", "")
if (version_x == "1") then
-- Pindel 1.64 requires Java (<= 1.6)
depends_on("openjdk/1.6.0")
elseif (version_x == "2") then
-- As of version 2.0.1 (Nov. 2015) Picard requires Java 1.8 (jdk8u66)
depends_on("openjdk/1.8.0")
elseif (version_x == "3") then
-- As of version 3.0.0 (Feb. 2023) Picard requires Java 17
depends_on("openjdk/17")
end
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
pushenv("PICARD_HOME", home)
-- Functions
local bash = 'java -jar "$PICARD_HOME/picard.jar" "$@"'
local csh = 'java -jar "$PICARD_HOME/picard.jar" $*'
set_shell_function("PicardCommandLine", bash, csh)
-- Aliases (deprecated)
set_alias("picard", "java -jar \"$PICARD_HOME/picard.jar\"")
-- Tweak Java for the current environment
depends_on("java-tweaks")
pindel
and pindel --help
.help([[
pindel: Detection of Indels and Structural Variations
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://www.sanger.ac.uk/science/tools/pindel, https://github.com/genome/pindel/tags (changelog), https://github.com/genome/pindel (source code)")
whatis([[
Description: Pindel can detect breakpoints of large deletions, medium sized insertions, inversions, tandem duplications and other structural variants at single-based resolution from next-gen sequence data. It uses a pattern growth approach to identify the breakpoints of these variants from paired-end short reads.
Examples: `pindel` and `pindel --help`.
]])
if (version == "0.2.4t") then
load("samtools/0.1.18")
else
load("htslib")
end
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
plink --help
and plink --version
.--threads ncores
to avoid this, e.g. --threads 1
.help([[
PLINK: Whole Genome Association Analysis Toolset
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: genomics")
whatis("URL: https://www.cog-genomics.org/plink/")
whatis([[
Description: PLINK is a free, open-source whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner. The focus of PLINK is purely on analysis of genotype/phenotype data, so there is no support for steps prior to this (e.g. study design and planning, generating genotype or CNV calls from raw data).
Examples: `plink --help` and `plink --version`.
Warning: This tool runs on all available CPU cores by default, which is bad practice. Please specify option `--threads ncores` to avoid this, e.g. `--threads 1`.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
plink2 --help
, plink2 --version
, and plink2 --threads 1 ...
.--threads ncores
to avoid this, e.g. --threads 1
.help([[
PLINK2: Whole Genome Association Analysis Toolset
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: genomics")
whatis("URL: https://www.cog-genomics.org/plink/2.0/, https://www.cog-genomics.org/plink/2.0/general_usage (documentation), https://www.cog-genomics.org/plink/2.0/#recent (changelog), https://github.com/chrchang/plink-ng (source code)")
whatis([[
Description: PLINK is a free, open-source whole genome association analysis toolset, designed to perform a range of basic, large-scale analyses in a computationally efficient manner. The focus of PLINK is purely on analysis of genotype/phenotype data, so there is no support for steps prior to this (e.g. study design and planning, generating genotype or CNV calls from raw data).
Examples: `plink2 --help`, `plink2 --version`, and `plink2 --threads 1 ...`.
Warning: This tool runs on all available CPU cores by default, which is bad practice. Please specify option `--threads ncores` to avoid this, e.g. `--threads 1`.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
port4me --help
, port4me
, port4me --tool=jupyter
).help([[
port4me: Get the Same, Personal, Free TCP Port over and over
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli")
whatis("URL: https://github.com/HenrikBengtsson/port4me, https://github.com/HenrikBengtsson/port4me/blob/develop/bash/NEWS.md (changelog)")
whatis([[
Description: 'port4me' attempts, with high probability, to provide the user with the same, free port each time, even when used on different days.
Examples: `port4me --help`, `port4me`, `port4me --tool=jupyter`).
Warning: This tool is under development.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
ps
, pstree
, and top
.procs --version
, procs --help
, procs
, procs --tree
, and procs --watch --nand root
.help([[
procs: A Modern Replacement for 'ps' written in Rust
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, cli, tui")
whatis("URL: https://github.com/dalance/procs/, https://github.com/dalance/procs/blob/master/CHANGELOG.md(changelog)")
whatis([[
Description: An alternative to `ps`, `pstree`, and `top`.
Examples: `procs --version`, `procs --help`, `procs`, `procs --tree`, and `procs --watch --nand root`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
geod
, proj
and man proj
.help([[
PROJ: PROJ Coordinate Transformation Software Library
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: statistics, spatial")
whatis("URL: https://proj.org/")
whatis("Description: PROJ is a generic coordinate transformation software that transforms geospatial coordinates from one coordinate reference system (CRS) to another. This includes cartographic projections as well as geodetic transformations. PROJ includes command line applications for easy conversion of coordinates from text files or directly from user input. In addition to the command line utilities PROJ also exposes an application programming interface, or API in short. The API lets developers use the functionality of PROJ in their own software without having to implement similar functionality themselves. Example: `geod`, `proj` and `man proj`.")
if (version >= "7.2.0") then
depends_on("sqlite")
end
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
-- From 'make install':
-- If you ever happen to want to link against installed libraries
-- in a given directory, LIBDIR, you must either use libtool, and
-- specify the full pathname of the library, or use the '-LLIBDIR'
-- flag during linking and do at least one of the following:
-- - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
-- during execution
-- - add LIBDIR to the 'LD_RUN_PATH' environment variable
-- during linking
-- - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
-- - have your system administrator add LIBDIR to '/etc/ld.so.conf'
qtop
(pronounced queue-top) is a tool written in order to monitor the state of Queueing Systems, along with related information relevant on HPC & grid clusters. At present it supports PBS, SGE & OAR families. Please help to increase that list in the Python version of the tool, qtop.py!qtop
, qtop --help
, qtop --version
, and qtop -FGW
.help([[
qtop: Monitor the State of Queueing Systems, Along with Related Information Relevant on HPC & Grid Clusters
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: system, utility, cli, tui")
whatis("URL: https://github.com/qtop/qtop, https://github.com/qtop/qtop/blob/master/CHANGELOG.rst (changelog)")
whatis([[
Description: `qtop` (pronounced queue-top) is a tool written in order to monitor the state of Queueing Systems, along with related information relevant on HPC & grid clusters. At present it supports PBS, SGE & OAR families. Please help to increase that list in the Python version of the tool, qtop.py!
Examples: `qtop`, `qtop --help`, `qtop --version`, and `qtop -FGW`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
append_path("PYTHONPATH", home)
quarto --version
and quarto --help
.help([[
quarto-cli: Open-Source Scientific and Technical Publishing System Built on Pandoc
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: markdown")
whatis("URL: https://quarto.org/, https://quarto.org/docs/guide/ (documentation), https://github.com/quarto-dev/quarto-cli/releases (changelog), https://github.com/quarto-dev/quarto-cli/ (source code)")
whatis([[
Description: Quarto is an open-source scientific and technical publishing system built on Pandoc; (i) Create dynamic content with Python, R, Julia, and Observable, (ii) Author documents as plain text markdown or Jupyter notebooks, (iii) Publish high-quality articles, reports, presentations, websites, blogs, and books in HTML, PDF, MS Word, ePub, and more, (iv) Author with scientific markdown, including equations, citations, crossrefs, figure panels, callouts, advanced layout, and more.
Examples: `quarto --version` and `quarto --help`.
Warning: Only the most recent version of this software will be kept.
]])
depends_on("pandoc")
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
R
, R --version
, and Rscript --version
.help([[
R: The R Programming Language
]])
local name = myModuleName()
local version = "4.3.2-gcc10"
version = string.gsub(version, "^[.]", "") -- for hidden modules
whatis("Version: " .. version)
whatis("Keywords: Programming, Statistics")
whatis("URL: https://www.r-project.org/, https://cran.r-project.org/doc/manuals/r-release/NEWS.html (changelog)")
whatis([[
Description: The R programming language.
Examples: `R`, `R --version`, and `Rscript --version`.
]])
has_devtoolset = function(version)
local path = pathJoin("/opt", "rh", "devtoolset-" .. version)
return(isDir(path))
end
has_gcc_toolset = function(version)
local path = pathJoin("/opt", "rh", "gcc-toolset-" .. version)
return(isDir(path))
end
local name = "R"
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
local path = pathJoin(home, "lib")
if not isDir(path) then
path = pathJoin(home, "lib64")
end
prepend_path("LD_LIBRARY_PATH", pathJoin(path, "R", "lib"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
local v = version
v = string.gsub(v, "-.*", "")
-- WORKAROUND: R 3.6.0 is not compatible with BeeGFS
if v == "3.6.0" then
pushenv("R_INSTALL_STAGED", "false")
else
pushenv("R_INSTALL_STAGED", "true")
end
local r_libs_user
if os.getenv("CBI_LINUX") == "centos7" then
r_libs_user="~/R/%p-library/%v-CBI"
else
r_libs_user="~/R/" .. os.getenv("CBI_LINUX") .. "-" .. "%p-library/%v-CBI"
end
if (v >= "4.1.0") then
local gv = string.gsub(version, v, "")
gv = string.gsub(gv, "-alpha", "")
gv = string.gsub(gv, "-beta", "")
gv = string.gsub(gv, "-rc", "")
gv = string.gsub(gv, "-gcc", "")
if (gv ~= "") then
gv = tonumber(gv)
if (gv > 4) then
r_libs_user = r_libs_user .. "-gcc" .. gv
if has_devtoolset(gv) then
depends_on("scl-devtoolset/" .. gv)
elseif has_gcc_toolset(gv) then
depends_on("scl-gcc-toolset/" .. gv)
end
end
end
end
-- Avoid R CMD build warning on "invalid uid value replaced by that for user 'nobody'"
-- https://stackoverflow.com/questions/30599326
pushenv("R_BUILD_TAR", "tar")
-- In-house env var for R repositories mirrored locally
local r_repos_root = os.getenv("CBI_SHARED_ROOT")
if (r_repos_root) then
LmodMessage("r_repos_root=" .. r_repos_root)
r_repos_root = pathJoin(r_repos_root, "mirrors", "r-mirrors")
pushenv("R_REPOS_ROOT", r_repos_root)
pushenv("R_REPOS_CRAN", "file://" .. pathJoin(r_repos_root, "cran"))
pushenv("R_LOCAL_CRAN", "file://" .. pathJoin(r_repos_root, "cran"))
end
-- R packages built from native code and installed using R from EPEL is *not*
-- always compatible with ditto installed using R from the CBI software stack.
-- Because of this, we will use R_LIBS_USER specific to the CBI stack.
-- However, since some users has already installed to the built-in R_LIBS_USER
-- we will not change this for such users. The heuristic is to check if the
-- built-in R_LIBS_USER folder already exists. If not, then it's safe to use
-- one specific to the CBI stack.
pushenv("R_LIBS_USER", r_libs_user)
-- The R package 'renv' (https://cran.r-project.org/package=renv) is used to create
-- folder-specific R package library folder that help with reproducibility and long-term
-- stability. By setting RENV_PATHS_PREFIX_AUTO=TRUE, these folders are also specific
-- for the current Linux distribution, which avoids problems occurring when updating
-- from, say, CentOS 7 to Rocky 8. This is likely to become the default behavior in
-- 'renv' (https://github.com/rstudio/renv/issues/1211)
pushenv("RENV_PATHS_PREFIX_AUTO", "TRUE")
-- WORKAROUND: utils::download.file(), which is for instance used by install.packages()
-- have a built-in timeout at 60 seconds. This might be too short for some larger
-- Bioconductor annotation packages, e.g.
-- * 'SNPlocs.Hsapiens.dbSNP150.GRCh38' (2.10 GB)
-- * 'MafDb.gnomAD.r2.1.GRCh38' (6.04 GB) => 6 GB/10 min = 600 MB/min = 10 MB/s = 80 Mb/s
-- Use 20 minutes timeout instead of 1 minute, i.e. enought with 40 Mb/s for a 6 GB file
pushenv("R_DEFAULT_INTERNET_TIMEOUT", "1200")
-- WORKAROUND: gert 1.1.0 (2021-01-25) installs toward a static libgit2 that
-- gives 'Illegal instruction' on some hosts (with older CPUs?)
-- See https://github.com/r-lib/gert/issues/117
pushenv("USE_SYSTEM_LIBGIT2", "true")
-- WORKAROUND: Package udunits2 does not install out of the box and requires
-- manually specifying 'configure.args' during install unless we set the
-- following environment variable
local path = "/usr/include/udunits2"
if (isDir(path)) then
pushenv("UDUNITS2_INCLUDE", path)
end
-- WORKAROUND: nloptr 2.0.0 requires CMake (>= 3.15)
-- See https://github.com/astamm/nloptr/issues/104#issuecomment-1111498876
pushenv("CMAKE_BIN", "cmake3")
-- Assert that there is no active Conda environment
assert_no_conda_environment = function()
local conda_env = os.getenv("CONDA_DEFAULT_ENV")
if conda_env ~= nil then
local action = os.getenv("CBI_ON_CONDA") or "warning"
local msg = "Using the " .. "'" .. myModuleName() .. "'" .. " module when a Conda environment is active risks resulting in hard-to-troubleshoot errors due to library conflicts. Make sure to deactivate the currently active Conda " .. "'" .. conda_env .. "'" .. " environment before loading this module, e.g. 'conda deactivate'."
if action == "error" then
LmodError(msg)
elseif action == "warning" then
LmodWarning(msg)
end
end
end
-- Protect against a conflicting Conda stack
if (mode() == "load") then
assert_no_conda_environment()
end
install.packages(\"ggplot2\")
.help([[
R Site Configuration: Tweaks to R for the Current Compute Environment
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: R, configuration")
whatis([[
Description: Sets R options and environment variables customized for the current compute environment. Notably, it configures R to install packages from local CRAN and Bioconductor mirrors without the need for internet access.
Examples: In R, `install.packages(\"ggplot2\")`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
-- Set site-wide (sic!) Renviron and Rprofile files
pushenv("R_ENVIRON", pathJoin(home, "Renviron.site"))
pushenv("R_PROFILE", pathJoin(home, "Rprofile.site"))
rclone --version
, rclone --help
, rclone config
, and man rclone
.help("rclone: Rsync for Cloud Storage and More")
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: files, transfers")
whatis("URL: https://rclone.org/, https://rclone.org/changelog/ (changelog), https://github.com/rclone/rclone (source code)")
whatis([[
Description: Rclone is a command line program to sync files and directories to and from a large number of end points on the local file system, or remote file systems, and in the cloud.
Examples: `rclone --version`, `rclone --help`, `rclone config`, and `man rclone`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
prepend_path("MANPATH", pathJoin(home, "share", "man"))
redis-cli --version
, redis-cli --help
, redis-server --version
, and redis-server --help
.help([[
redis: Remote Dictionary Server
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: database")
whatis("URL: https://redis.io/, https://redis.io/docs/ (docs), https://github.com/redis/redis/releases (changelog), https://github.com/redis/redis (source code)")
whatis([[
Description: Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.
Examples: `redis-cli --version`, `redis-cli --help`, `redis-server --version`, and `redis-server --help`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
restic --help
and restic version
.help([[
restic: Fast, Secure, Efficient Backup Program
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: cli, backup, files")
whatis("URL: https://restic.net, https://restic.readthedocs.io/en/latest/ (documentation), https://github.com/restic/restic/releases (changelog), https://github.com/restic/restic (source code)")
whatis([[
Description: restic is a backup program that is fast, efficient and secure. It supports the three major operating systems (Linux, macOS, Windows) and a few smaller ones (FreeBSD, OpenBSD).
Examples: `restic --help` and `restic version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
prepend_path("MANPATH", pathJoin(home, "man"))
rg --version
and rg -i 'lorem ipsum'
.help([[
ripgrep: Recursively Searches Directories for a Regex Pattern
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utility, files, search")
whatis("URL: https://github.com/BurntSushi/ripgrep, https://github.com/BurntSushi/ripgrep/blob/master/CHANGELOG.md (changelog)")
whatis([[
Description: ripgrep is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep will respect your .gitignore and automatically skip hidden files/directories and binary files. ripgrep is similar to other popular search tools like The Silver Searcher, ack and grep.
Examples: `rg --version` and `rg -i 'lorem ipsum'`.
Warning: Only the most recent version of this software will be kept.
]])
-- Local variables
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
rstudio
. If you get a blank window, retry with QMLSCENE_DEVICE=softwarecontext rstudio
.ssh -X -C ...
.
help([[
[DEPRECATED] RStudio Desktop: The RStudio Desktop IDE for R
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, R, GUI")
whatis("URL: https://posit.co/products/open-source/rstudio/#rstudio-desktop, https://www.rstudio.com/products/rstudio/release-notes/ (changelog), https://github.com/rstudio/rstudio/ (source code)")
whatis([[
Description: The RStudio Desktop is an integrated development environment (IDE) for R, a programming language for statistical computing and graphics.
Examples: `rstudio`. If you get a blank window, retry with `QMLSCENE_DEVICE=softwarecontext rstudio`.
Warning: _This module is deprecates as of 2024-08-30 and no longer maintained; please use the 'rstudio-server' tool instead._ This software works only on the development nodes. It requires an SSH connection with X11 Forwarding enabled. It does _not_ work with X2Go (gives error \"GLX 1.3 or later is required\"). For best performance, use SSH compression when using X11 Forwarding, i.e. `ssh -X -C ...`.
]])
depends_on("r")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
if mode() == "load" then
LmodWarning("[DEPRECATION WARNING] The CBI '" .. name .. "/" .. version .. "' module is deprecated as of 2024-08-30 in favor of 'rstudio-server'; please use that module instead")
end
rserver
.help([[
RStudio Server: The RStudio Server
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, R, GUI")
whatis("URL: https://posit.co/products/open-source/rstudio/#rstudio-server, https://www.rstudio.com/products/rstudio/release-notes/ (changelog), https://github.com/rstudio/rstudio/ (source code)")
whatis([[
Description: The RStudio Server is an integrated development environment (IDE) for R that can be used from the web browser.
Examples: `rserver`.
]])
depends_on("r")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
rsc --help
, rsc start
, and rsc stop
.help([[
RSC: An RStudio Server Controller
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, R, RStudio Server, GUI")
whatis("URL: https://github.com/UCSF-CBI/rstudio-server-controller, https://github.com/UCSF-CBI/rstudio-server-controller/blob/main/NEWS.md (changelog)")
whatis([[
Description: The RStudio Server Controller (RSC) is a tool for launching a personal instance of the RStudio Server on a Linux machine, which then can be access via the web browser, either directly or via SSH tunneling.
Examples: `rsc --help`, `rsc start`, and `rsc stop`.
]])
depends_on("r")
depends_on("rstudio-server")
local home = os.getenv("HOME")
-- System-specific settings
if isDir("/wynton") then
-- Update default to: rsc start --auth=auth-via-env --random-password
pushenv("RSC_AUTH", "auth-via-env")
pushenv("RSC_PASSWORD", "random")
if home and string.find(home, "/protected/") then
pushenv("RSC_SSH_LOGIN_HOSTNAME", "plog1.wynton.ucsf.edu")
else
pushenv("RSC_SSH_LOGIN_HOSTNAME", "log1.wynton.ucsf.edu")
end
elseif isDir("/c4") then
pushenv("RSC_SSH_LOGIN_HOSTNAME", "c4-log1.ucsf.edu")
else
try_load("expect")
end
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
-- Temporary workaround for https://github.com/UCSF-CBI/rstudio-server-controller/issues/91 /2023-12-15
setenv("PORT4ME_PORT_COMMAND", "netstat")
salmon --version
, salmon --help
, and salmon quant --threads=1 ...
.--threads=ncores
to avoid this, e.g. --threads=1
.help([[
salmon: Salmon Provides Fast and Bias-Aware Quantification of Transcript Expression
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://combine-lab.github.io/salmon/, https://salmon.readthedocs.io/en/latest/ (documentation), https://github.com/COMBINE-lab/salmon/releases (changelog), https://github.com/COMBINE-lab/salmon (source code)")
whatis([[
Description: Highly-accurate & wicked fast transcript-level quantification from RNA-seq reads using selective alignment.
Examples: `salmon --version`, `salmon --help`, and `salmon quant --threads=1 ...`.
Warning: This tool runs on all available CPU cores by default, which is bad practice. Please specify option `--threads=ncores` to avoid this, e.g. `--threads=1`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
samtools --version
.help([[
SAMtools: Tools (written in C using htslib) for Manipulating Next-Generation Sequencing Data
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://www.htslib.org/, https://github.com/samtools/samtools/blob/develop/NEWS.md (changelog), https://github.com/samtools/samtools (source code)")
whatis([[
Description: SAMtools is a suite of programs for interacting with high-throughput sequencing data.
Examples: `samtools --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
local version_x = string.gsub(version, "[.].*", "")
if (version_x == "0") then
prepend_path("PATH", home)
prepend_path("PATH", pathJoin(home, "bcftools"))
prepend_path("PATH", pathJoin(home, "misc"))
else
prepend_path("PATH", pathJoin(home, "bin"))
end
prepend_path("MANPATH", pathJoin(home, "share", "man"))
-- Warn about bug https://github.com/samtools/htslib/issues/1236
if (mode() == "load" and version == "1.11") then
LmodMessage("MODULE WARNING: " .. name .. " " .. version .. " has a bug that results in valid but incorrect CIGAR strings. Because of this, it is recommended to use an older or a newer version instead. For details, see https://github.com/samtools/htslib/issues/1236")
end
gcc-toolset-<version>
in the current environment. This is an alternative to calling source scl_source enable gcc-toolset-<version>
, which is an approach that is not officially supported by RedHat.gcc --version
.help([[
SCL GCC Toolset: GNU Compiler Collection, GNU Debugger, etc.
]])
local name = myModuleName()
local version = myModuleVersion()
local scl_name = "gcc-toolset" .. "-" .. version
whatis("Version: " .. version)
whatis("Keywords: programming, gcc")
whatis("URL: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_c_and_cpp_applications_in_rhel_8/additional-toolsets-for-development_developing-applications#gcc-toolset_assembly_additional-toolsets-for-development, https://gcc.gnu.org/develop.html#timeline (GCC release schedule)")
whatis([[
Description: These Developer Toolset provides modern versions of the GNU Compiler Collection, GNU Debugger, and other development, debugging, and performance monitoring tools. Loading these modules enables the corresponding RedHat Software Collection (SCL) `gcc-toolset-<version>` in the current environment. This is an alternative to calling `source scl_source enable gcc-toolset-<version>`, which is an approach that is not officially supported by RedHat.
Examples: `gcc --version`. Warning: Older versions may be removed in the future.
Requirement: Rocky 8.
]])
-- This module is only available on Rocky 8
if os.getenv("CBI_LINUX") ~= "rocky8" then
LmodError("Module '" .. myModuleFullName() .. "' is only available on Rocky 8 machines, but not on host '" .. os.getenv("HOSTNAME") .. "', which runs '" .. os.getenv("CBI_LINUX") .. "'")
end
local home = pathJoin("/opt", "rh", scl_name)
if not isDir(home) then
LmodError("Module '" .. myModuleFullName() .. "' is not supported because this host '" .. os.getenv("HOSTNAME") .. "' does not have path '" .. home .. "'")
end
-- Don't edit! Created using:
-- /usr/share/lmod/lmod/libexec/sh_to_modulefile /opt/rh/gcc-toolset-13/enable
setenv("INFOPATH","/opt/rh/gcc-toolset-13/root/usr/share/info")
prepend_path("LD_LIBRARY_PATH","/opt/rh/gcc-toolset-13/root/usr/lib64")
prepend_path("MANPATH","/opt/rh/gcc-toolset-13/root/usr/share/man")
prepend_path("PATH","/opt/rh/gcc-toolset-13/root/usr/bin")
setenv("PCP_DIR","/opt/rh/gcc-toolset-13/root")
setenv("PKG_CONFIG_PATH","/opt/rh/gcc-toolset-13/root/usr/lib64/pkgconfig")
shellcheck --version
and shellcheck -x ~/.bashrc
.help([[
ShellCheck: A Shell Script Static Analysis Tool
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: programming, shell, sh, bash, dash, ksh")
whatis("URL: https://www.shellcheck.net/, https://github.com/koalaman/shellcheck/blob/master/CHANGELOG.md (changelog), https://github.com/koalaman/shellcheck/ (source code)")
whatis([[
Description: ShellCheck finds bugs in your shell scripts.
Examples: `shellcheck --version` and `shellcheck -x ~/.bashrc`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
echo $HOME
before and after loading this module. To deactive, unload module, or start a new shell.help([[
ShellCheck REPL: Validation of Shell Commands Before Evaluation
]])
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "")
whatis("Version: " .. version)
whatis("Keywords: programming, shell, bash")
whatis("URL: https://github.com/HenrikBengtsson/shellcheck-repl, https://github.com/HenrikBengtsson/shellcheck-repl/blob/master/README.md (documentation), https://github.com/HenrikBengtsson/shellcheck-repl/blob/master/NEWS.md (changelog)")
whatis([[
Description: ShellCheck is a great tool for validating your Unix shell scripts. It will parse the scripts and warn about mistakes, errors, and potential problems. This tool - shellcheck-repl - brings ShellCheck validation to the Bash read-eval-print loop (REPL), i.e. the Bash prompt. Getting this type of validation and feedback at the prompt lowers the risk of damaging mistakes and will help you become a better Bash user and developer.
Examples: Try `echo $HOME` before and after loading this module. To deactive, unload module, or start a new shell.
Warning: Only the most recent version of this software will be kept.
]])
depends_on("shellcheck")
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
local shell = os.getenv("SHELL")
local script = pathJoin(home, "shellcheck-repl.bash")
-- Enable on load
execute{cmd = "source " .. script, modeA = {"load"}}
-- Disable on unload
execute{cmd = "sc_repl_disable", modeA = {"unload"}}
snpEff -help
and SnpSift -help
, which are short for java -jar $SNPEFF_HOME/snpEff/snpEff.jar -help
and java -jar $SNPEFF_HOME/snpEff/SnpSift.jar -help
. In SnpEff (< 5.0), there is also ClinEff -help
, which is short for java -jar $SNPEFF_HOME/ClinEff/ClinEff.jar -help
.help([[
SnpEff: Genetic Variant Annotation and Effect Prediction Toolbox
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: high-throughput sequencing")
whatis("URL: https://pcingola.github.io/SnpEff/, https://github.com/pcingola/SnpEff/tags (changelog), https://github.com/pcingola/SnpEff (source code)")
whatis([[
Description: SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of variants on genes (such as amino acid changes).
Examples: `snpEff -help` and `SnpSift -help`, which are short for `java -jar $SNPEFF_HOME/snpEff/snpEff.jar -help` and `java -jar $SNPEFF_HOME/snpEff/SnpSift.jar -help`. In SnpEff (< 5.0), there is also `ClinEff -help`, which is short for `java -jar $SNPEFF_HOME/ClinEff/ClinEff.jar -help`.
Warning: SnpEff (>= 5.1) requires Java (>= 12).
]])
local name = "snpEff"
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
if (version < "5.1") then
try_load("openjdk/11")
elseif (version >= "5.1") then
try_load("openjdk/17")
end
pushenv("SNPEFF_HOME", home)
local jarfile = pathJoin(home, "snpEff", "snpEff.jar")
pushenv("SNPEFF", jarfile)
local bash = 'java -jar "$SNPEFF_HOME/snpEff/snpEff.jar" "$@"'
local csh = 'java -jar "$SNPEFF_HOME/snpEff/snpEff.jar" $*'
set_shell_function("snpEff", bash, csh)
local jarfile = pathJoin(home, "snpEff", "SnpSift.jar")
pushenv("SNPSIFT", jarfile)
local bash = 'java -jar "$SNPEFF_HOME/snpEff/SnpSift.jar" "$@"'
local csh = 'java -jar "$SNPEFF_HOME/snpEff/SnpSift.jar" $*'
set_shell_function("SnpSift", bash, csh)
local jarfile = pathJoin(home, "clinEff", "ClinEff.jar")
if isFile(jarfile) then
pushenv("CLINEFF", jarfile)
local bash = 'java -jar "$SNPEFF_HOME/ClinEff/ClinEff.jar" "$@"'
local csh = 'java -jar "$SNPEFF_HOME/ClinEff/ClinEff.jar" $*'
set_shell_function("ClinEff", bash, csh)
end
-- Tweak Java for the current environment
depends_on("java-tweaks")
sqlite3 --version
.help([[
sqlite: SQLite Database Engine & Library
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: database, utilize")
whatis("URL: https://sqlite.org/, https://sqlite.org/docs.html (docs), https://github.com/sqlite/sqlite/tags (changelog), https://github.com/sqlite/sqlite (source code)")
whatis([[
Description: SQLite is a relational database management system (RDBMS) contained in a C library. In contrast to many other database management systems, SQLite is not a client–server database engine. Rather, it is embedded into the end program.
Example: `sqlite3 --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
-- Specific to the Linux distribution?
if string.match(myFileName(), "/_" .. os.getenv("CBI_LINUX") .. "/") then
root = pathJoin(root, "_" .. os.getenv("CBI_LINUX"))
end
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
prepend_path("LD_LIBRARY_PATH", pathJoin(home, "lib"))
prepend_path("PKG_CONFIG_PATH", pathJoin(home, "lib", "pkgconfig"))
fastq-dump --help
.fasterq-dump
crashes the local machine, it has been tweaked such that it uses $TMPDIR
rather than $PWD
as the default temporary folder and it will only use two threads instead of six by default.help([[
SRA Toolkit: Tools and Libraries for Using Data in the INSDC Sequence Read Archives
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://github.com/ncbi/sra-tools/wiki (documentation), https://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?view=toolkit_doc (documentation), https://github.com/ncbi/sra-tools/blob/master/CHANGES.md (changelog), https://github.com/ncbi/sra-tools (source code)")
whatis([[
Description: The SRA Toolkit and SDK from NCBI is a collection of tools and libraries for using data in the INSDC Sequence Read Archives.
Examples: `fastq-dump --help`.
Warning: To work around a bug where `fasterq-dump` crashes the local machine, it has been tweaked such that it uses `$TMPDIR` rather than `$PWD` as the default temporary folder and it will only use two threads instead of six by default.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
-- WORKAROUND: fasterq-dump crashes machines!
-- Not sure exactly why, but one hypothesis is that the file system is
-- being hit too hard. The workaround forces 'fasterq-dump' to use
-- 'TMPDIR' for temporary files rather than the current directory [2]
-- [1] https://github.com/ncbi/sra-tools/issues/463#issuecomment-824321890
-- [2] https://github.com/ncbi/sra-tools/issues/161#issuecomment-808294889
-- In-house tests with sratoolkit 2.11.0 shows that it's *not* sufficient
-- to control TMPDIR but also the number of parallel threads [Harry Putnam,
-- 2021-08-20]. Ideally, we would limit it to a single thread, but the
-- tool will ignore '--threads 1' and use the default six threads. [3]
-- [3] https://github.com/ncbi/sra-tools/issues/494
-- In sratoolkit (>= 2.11.2) it might be that we no longer need to use
-- '--threads 2' [4]. As soon as we have verified that in a safe
-- environment, we'll drop it
-- [4] https://github.com/ncbi/sra-tools/issues/463#issuecomment-942410725
-- Workaround only works in shells that support function, i.e. not in csh and tcsh
if myShellType() == "sh" then
set_shell_function("fasterq-dump", 'command fasterq-dump --threads 2 --temp "$(mktemp -d)" "$@"', '')
end
STAR --help
and STAR --version
.help("STAR: Spliced Transcripts Alignment to a Reference")
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://github.com/alexdobin/STAR, https://raw.githubusercontent.com/alexdobin/STAR/master/doc/STARmanual.pdf (docs), https://github.com/alexdobin/STAR/blob/master/CHANGES.md (changelog)")
whatis([[
Description: STAR (Spliced Transcripts Alignment to a Reference) is a fast NGS read aligner for RNA-seq data.
Examples: `STAR --help` and `STAR --version`.
]])
local name = "STAR"
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
tmux
and man tmux
.help([[
tmux: A Terminal Multiplexer
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: screen, tmux")
whatis("URL: https://github.com/tmux/tmux/wiki, https://github.com/tmux/tmux/blob/master/CHANGES (changelog), https://github.com/tmux/tmux (source code)")
whatis([[
Description: tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more.
Examples: `tmux` and `man tmux`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
tophat --version
.help([[
TopHat: A Spliced Read Mapper for RNA-Seq
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: Programming, Statistics")
whatis("URL: https://ccb.jhu.edu/software/tophat/index.shtml, https://ccb.jhu.edu/software/tophat/index.shtml (changelog), https://github.com/infphilo/tophat (source code)")
whatis([[
Description: TopHat is a fast splice junction mapper for RNA-Seq reads. It aligns RNA-Seq reads to mammalian-sized genomes using the ultra high-throughput short read aligner Bowtie, and then analyzes the mapping results to identify splice junctions between exons.
Examples: `tophat --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
LS_COLORS
environment variable is set and output is to tty.tree --help
.help([[
tree: List Content of Directories in a Tree-like Format
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: files, utility, cli")
whatis("URL: https://mama.indstate.edu/users/ice/tree/, https://mama.indstate.edu/users/ice/tree/changes.html (changelog)")
whatis([[
Description: Tree is a recursive directory listing command that produces a depth indented listing of files, which is colorized ala dircolors if the `LS_COLORS` environment variable is set and output is to tty.
Examples: `tree --help`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "man"))
trim_galore --version
, trim_galore --help
, and more "$TRIMGALORE_HOME/Docs/Trim_Galore_User_Guide.md"
.help([[
TrimGalore: Taking Appropriate QC Measures for RRBS-Type or Other -Seq Applications with Trim Galore!
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing, genome")
whatis("URL: https://github.com/FelixKrueger/TrimGalore, https://github.com/FelixKrueger/TrimGalore/blob/master/CHANGELOG.md (changelog)")
whatis([[
Description: A wrapper around Cutadapt and FastQC to consistently apply adapter and quality trimming to FastQ files, with extra functionality for RRBS data.
Examples: `trim_galore --version`, `trim_galore --help`, and `more "$TRIMGALORE_HOME/Docs/Trim_Galore_User_Guide.md"`.
]])
depends_on("cutadapt")
depends_on("fastqc")
name = "TrimGalore"
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
pushenv("TRIMGALORE_HOME", home)
varscan
, which is short for java -jar $VARSCAN_HOME/VarScan.jar
.help([[
VarScan: Variant Detection in Massively Parallel Sequencing Data
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: high-throughput sequencing")
whatis("URL: https://dkoboldt.github.io/varscan/, https://github.com/dkoboldt/varscan/releases (changelog), https://github.com/dkoboldt/varscan (source code)")
whatis([[
Description: VarScan is a platform-independent mutation caller for targeted, exome, and whole-genome resequencing data generated on Illumina, SOLiD, Life/PGM, Roche/454, and similar instruments.
Examples: `varscan`, which is short for `java -jar $VARSCAN_HOME/VarScan.jar`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
name = "VarScan"
local home = pathJoin(root, name .. "-" .. version)
pushenv("VARSCAN_HOME", home)
local bash = 'java -jar "$VARSCAN_HOME/VarScan.jar" "$@"'
local csh = 'java -jar "$VARSCAN_HOME/VarScan.jar" $*'
set_shell_function("varscan", bash, csh)
-- Tweak Java for the current environment
depends_on("java-tweaks")
vcf_validator --help
, vcf-debugulator --help
, and vcf-assembly-checker --help
.help([[
vcf-validator: Validation Suite for Variant Call Format (VCF) Files
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://github.com/EBIvariation/vcf-validator, https://github.com/EBIvariation/vcf-validator/releases (changelog)")
whatis([[
Description: Validator for the Variant Call Format (VCF) implemented using C++11. It includes all the checks from the vcftools suite, and some more that involve lexical, syntactic and semantic analysis of the VCF input.
Examples: `vcf_validator --help`, `vcf-debugulator --help`, and `vcf-assembly-checker --help`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
vcftools --version
.help([[
VCFtools: Tools Written in Perl and C++ for Working with VCF Files
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: sequencing")
whatis("URL: https://vcftools.github.io/, https://github.com/vcftools/vcftools/releases (changelog), https://github.com/vcftools/vcftools (source code)")
whatis([[
Description: VCFtools is a program package designed for working with VCF files, such as those generated by the 1000 Genomes Project. The aim of VCFtools is to provide easily accessible methods for working with complex genetic variation data in the form of VCF files.
Examples: `vcftools --version`.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
pushenv("PERL5LIB", pathJoin(home, "share", "perl5"))
wynton --help
and trash --help
.help([[
wynton-tools: UCSF Wynton HPC Tools
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: utilities")
whatis("URL: https://github.com/ucsf-wynton/wynton-tools, https://github.com/ucsf-wynton/wynton-tools/blob/master/NEWS.md (changelog)")
whatis([[
Description: The UCSF Wynton HPC Tools is a set of command-line tools that queries different aspects of the UCSF Wynton HPC environment. These tools may be useful for systems administrators as well as end-users.
Warning: This is work in development, which means that these tools may change, or even be removed, at anytime without notice.
Examples: `wynton --help` and `trash --help`.
]])
if not isDir("/wynton") then
LmodMessage("NOTE: The '" .. name .. "' module is designed for the UCSF Wynton HPC environment; not all tools may work on your system")
end
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
x86-64-level
and x86-64-level --help
.help([[
x86-64-level: Get the x86-64 Microarchitecture Level on the Current Machine
]])
local name = myModuleName()
local version = myModuleVersion()
version = string.gsub(version, "^[.]", "")
whatis("Version: " .. version)
whatis("Keywords: tools, shell, bash")
whatis("URL: https://github.com/HenrikBengtsson/x86-64-level/, https://github.com/HenrikBengtsson/x86-64-level/blob/develop/NEWS.md (changelog)")
whatis([[
Description: x86-64 is a 64-bit version of the x86 CPU instruction set supported by AMD and Intel CPUs among others. Since the first generations of CPUs, more low-level CPU features have been added over the years. The x86-64 CPU features can be grouped into four CPU microarchitecture levels: x86-64 v1, x86-64 v2, x86-64 v3, and x86-64 v4. This tool checks which CPU level the current machine supports.
Examples: `x86-64-level` and `x86-64-level --help`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", home)
-- Assert x86-64-level on load?
if (mode() == "load") then
local level = os.getenv("X86_64_LEVEL_ASSERT")
if level ~= nul and level ~= "" then
local error = capture("x86-64-level --assert=" .. level .. " 2>&1")
if error ~= "" then
LmodError(error)
end
end
end
yq
is a lightweight and portable command-line YAML, JSON and XML processor. yq
uses jq
like syntax, but works with YAML files as well as JSON, XML, properties, CSV, and TSV.yq --version
, yq --help
.help([[
yq: Lightweight and Portable Command-Line YAML, JSON and XML Processor.
]])
local name = myModuleName()
local version = myModuleVersion()
whatis("Version: " .. version)
whatis("Keywords: terminal, cli, utility")
whatis("URL: https://github.com/mikefarah/yq, https://github.com/mikefarah/yq/releases (changelog), https://github.com/mikefarah/yq (source code)")
whatis([[
Description: `yq` is a lightweight and portable command-line YAML, JSON and XML processor. `yq` uses `jq` like syntax, but works with YAML files as well as JSON, XML, properties, CSV, and TSV.
Examples: `yq --version`, `yq --help`.
Warning: Only the most recent version of this software will be kept.
]])
local root = os.getenv("SOFTWARE_ROOT_CBI")
local home = pathJoin(root, name .. "-" .. version)
prepend_path("PATH", pathJoin(home, "bin"))
prepend_path("MANPATH", pathJoin(home, "share", "man"))
module load Sali
#%Module 1.0
module-whatis "Description: AllosMod utility library"
module-whatis "URL: https://github.com/salilab/allosmod-lib/"
module load modeller
module load dssp
module load profit
set topdir /salilab/diva1/programs/x86_64linux/allosmod
prepend-path PATH ${topdir}/bin
prepend-path PYTHONPATH ${topdir}/python
#%Module 1.0
module-whatis "Description: Amber11, for 64-bit"
module-whatis "URL: http://ambermd.org/"
if [ module-info mode load ] {
if { ! [file exists /wynton/group ] } {
puts stderr "Sorry, this module only works on the Wynton cluster (or other machine that has /wynton/group mounted)"
break
}
if { ! [file exists /wynton/group/sali/AMBER ] } {
puts stderr "Sorry, this module is only available to members of the Sali lab."
break
}
}
setenv AMBERHOME /wynton/group/sali/AMBER/amber11/
prepend-path PATH /wynton/group/sali/AMBER/amber11/bin
prepend-path LD_LIBRARY_PATH /wynton/group/sali/AMBER/amber11/deplib
#%Module 1.0
module-whatis "Description: Anaconda Python distribution"
module-whatis "URL: https://www.anaconda.com/"
conflict conda-forge
prepend-path PATH /salilab/diva1/home/anaconda/py311-2024.02/bin/
if [ module-info mode load ] {
puts stderr "!! The Anaconda module is no longer being updated since it is"
puts stderr " no longer free; please use the conda-forge module instead."
}
#%Module 1.0
module-whatis "Description: Basic Local Alignment Search Tool"
module-whatis "URL: https://blast.ncbi.nlm.nih.gov/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/ncbi-blast-2.12.0+/bin
#%Module 1.0
module-whatis "Description: Basic Local Alignment Search Tool"
module-whatis "URL: https://blast.ncbi.nlm.nih.gov"
prepend-path PATH /salilab/diva1/programs/x86_64linux/blast-2.2.26/bin
#%Module 1.0
module-whatis "Description: The free peer-reviewed portable C++ source libraries"
module-whatis "URL: https://www.boost.org/"
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/boost-1.73.0/lib64
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/boost-1.73.0/include
prepend-path CMAKE_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/boost-1.73.0/lib64
#%Module 1.0
module-whatis "Description: A header-only C++11 serialization library"
module-whatis "URL: http://uscilab.github.io/cereal/"
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/cereal-1.3.2/include
#%Module 1.0
module-whatis "Description: Computational Geometry Algorithms Library"
module-whatis "URL: https://www.cgal.org/"
if { [file exists /etc/centos-release] || [file exists /etc/rocky-release] || [file exists /etc/almalinux-release] } {
module load boost/1.73.0
setenv CGAL_DIR /salilab/diva1/programs/x86_64linux/cgal-5.1/share/cmake/CGAL
} else {
set curMod [module-info name]
puts stderr "'$curMod' does not work on Fedora - ask a sysadmin to install the RPM package instead"
break
}
#%Module 1.0
module-whatis "Description: AlphaFold2 using MMseqs2"
module-whatis "URL: https://github.com/sokrypton/ColabFold"
module-whatis "Examples: for example usage on Wynton, see https://www.rbvi.ucsf.edu/chimerax/data/wynton-colabfold-feb2024/colabfold_wynton.html"
prepend-path PATH /salilab/diva1/programs/x86_64linux/colabfold-20230808.git79d8c6e/localcolabfold/colabfold-conda/bin/
#%Module 1.0
module-whatis "Description: Ligand binding site prediction from protein sequence and structure"
module-whatis "URL: https://compbio.cs.princeton.edu/concavity/"
module load sali-libraries
prepend-path PATH /salilab/diva1/programs/x86_64linux/concavity-0.1/bin
#%Module 1.0
module-whatis "Description: conda-forge Python distribution"
module-whatis "URL: https://conda-forge.org/"
conflict anaconda
prepend-path PATH /salilab/diva1/home/anaconda/miniforge/py312-24.11.0/bin/
#%Module 1.0
module-whatis "Description: CryptoSite utility library"
module-whatis "URL: https://github.com/salilab/cryptosite/"
module load modeller
module load muscle
module load dssp
module load fpocket
module load concavity
module load patch_dock
module load imp
module load blast+
module load usearch
module load python3/scikit/0.21.3
module load python3/biopython
set topdir /salilab/diva1/programs/linux/cryptosite
prepend-path PATH ${topdir}/bin
prepend-path PYTHONPATH ${topdir}/python
#%Module 1.0
module-whatis "NVIDIA CUDA Toolkit libraries, plus cuDNN (v9)"
if ![file exists /usr/bin/g++] {
module load gcc
}
prepend-path PATH /salilab/diva1/programs/x86_64linux/cuda-12.4.0/lib64/cuda/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/cuda-12.4.0/lib64/cuda/lib64
prepend-path PKG_CONFIG_PATH /salilab/diva1/programs/x86_64linux/cuda-12.4.0/lib64/cuda/pkgconfig
setenv CUDA_LIB_PATH /salilab/diva1/programs/x86_64linux/cuda-12.4.0/lib64/cuda/lib64
setenv CUDA_BIN_PATH /salilab/diva1/programs/x86_64linux/cuda-12.4.0/lib64/cuda/bin
#%Module 1.0
module-whatis "Description: A language for writing Python extension modules"
module-whatis "URL: https://cython.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/Cython-3.0.5/bin
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/Cython-3.0.5/lib64/python
#%Module 1.0
module-whatis "Description: A documentation system for C/C++"
module-whatis "URL: http://www.doxygen.org/index.html"
prepend-path PATH /salilab/diva1/programs/x86_64linux/doxygen-1.8.15/bin
#%Module 1.0
module-whatis "Description: Secondary structure assignment"
module-whatis "URL: https://swift.cmbi.umcn.nl/gv/dssp/"
module load sali-libraries
prepend-path PATH /salilab/diva1/programs/x86_64linux/dssp-2.2.1/bin
prepend-path MANPATH /salilab/diva1/programs/x86_64linux/dssp-2.2.1/man
#%Module 1.0
module-whatis "Description: A lightweight C++ template library for vector and matrix math"
module-whatis "URL: http://eigen.tuxfamily.org"
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/eigen-3.3.5/include
#%Module 1.0
module-whatis "Description: Ursula's featuresketch script; run feature_sketch.sh then feature_sketch.py"
prepend-path PATH /salilab/diva1/programs/x86_64linux/featuresketch-3.0/programs/feature_sketch
#%Module 1.0
module-whatis "Description: Protein pocket (cavity) detection algorithm"
module-whatis "URL: https://github.com/Discngine/fpocket"
prepend-path PATH /salilab/diva1/programs/x86_64linux/fpocket-2.0/bin
prepend-path MANPATH /salilab/diva1/programs/x86_64linux/fpocket-2.0/man
#%Module 1.0
module-whatis "Description: Various compilers (C, C++, Objective-C, Java, ...)"
module-whatis "URL: https://gcc.gnu.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/gcc-10.2.1/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/gcc-10.2.1/lib64
if { [file exists /etc/centos-release] || [file exists /etc/rocky-release] || [file exists /etc/almalinux-release] } {
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/gcc-10.2.1/lib64/centos
}
if [ module-info mode load ] {
if { [file exists /etc/centos-release] || [file exists /etc/rocky-release] || [file exists /etc/almalinux-release] } {
puts stderr "!! On Wynton, it is recommended to use Software Collections instead to "
puts stderr " get new versions of the C++ compiler; see "
puts stderr " https://wynton.ucsf.edu/hpc/software/scl.html"
}
}
#%Module 1.0
module-whatis "Description: A PostScript interpreter and renderer"
module-whatis "URL: https://www.ghostscript.com/"
module load sali-libraries
prepend-path PATH /salilab/diva1/programs/x86_64linux/ghostscript-8.70/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/ghostscript-8.70/lib64
prepend-path GS_FONTPATH /salilab/diva1/programs/x86_64linux/ghostscript-8.70/share/fonts/default/Type1
prepend-path GS_FONTPATH /salilab/diva1/programs/x86_64linux/ghostscript-8.70/share/fonts/default/ghostscript
#%Module 1.0
module-whatis "Description: A program for plotting mathematical expressions and data"
module-whatis "URL: http://www.gnuplot.info/"
prepend-path GNUPLOT_FONTPATH /salilab/diva1/programs/linux/fonts
prepend-path PATH /salilab/diva1/programs/x86_64linux/gnuplot-5.4.2/bin
#%Module 1.0
module-whatis "Description: A general purpose library and file format for storing scientific data"
module-whatis "URL: https://support.hdfgroup.org/HDF5/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/hdf5-1.10.7/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/hdf5-1.10.7/lib
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/hdf5-1.10.7/include
prepend-path CMAKE_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/hdf5-1.10.7/lib
#%Module 1.0
module-whatis "Description: Intel Fortran compiler"
module-whatis "URL: http://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html"
prepend-path PATH /salilab/diva1/programs/x86_64linux/ifort-10.1.022/opt/intel/fce/10.1.022/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/ifort-10.1.022/opt/intel/fce/10.1.022/lib
prepend-path MANPATH /salilab/diva1/programs/x86_64linux/ifort-10.1.022/usr/share/man
#%Module 1.0
module-whatis "Description: An X application for displaying and manipulating images"
module-whatis "URL: https://imagemagick.org/"
module load sali-libraries
module load ghostscript
prepend-path PATH /salilab/diva1/programs/x86_64linux/ImageMagick-6.8.8.10/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/ImageMagick-6.8.8.10/lib64
prepend-path PERL5LIB /salilab/diva1/programs/x86_64linux/ImageMagick-6.8.8.10/lib64/perl5
#%Module 1.0
module-whatis "Description: Tomographic reconstruction package"
module-whatis "URL: http://bio3d.colorado.edu/imod/"
module load sali-libraries ifort
setenv IMOD_DIR /salilab/diva1/programs/x86_64linux/imod-4.5.7/IMOD
prepend-path PATH /salilab/diva1/programs/x86_64linux/imod-4.5.7/IMOD/bin
setenv IMOD_PLUGIN_DIR /salilab/diva1/programs/x86_64linux/imod-4.5.7/IMOD/lib/imodplug
setenv IMOD_QTLIBDIR /salilab/diva1/programs/x86_64linux/imod-4.5.7/IMOD/qtlib
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/imod-4.5.7/IMOD/lib
prepend-path MANPATH /salilab/diva1/programs/x86_64linux/imod-4.5.7/man
#%Module 1.0
module-whatis "Description: Integrative Modeling Platform (version 2.22.0, with only usage checks turned on)"
module-whatis "URL: https://integrativemodeling.org/"
module load boost/1.73.0 libtau/1.0.1 opencv/4.3.0 python3/ihm sali-libraries
set topdir "/salilab/diva1/home/imp/main"
set subdir [file readlink "${topdir}/2.22.0"]
if {[file pathtype ${subdir}] == "relative"} {
set subdir "${topdir}/${subdir}"
}
prepend-path PATH ${subdir}/bin/release8
prepend-path LD_LIBRARY_PATH ${subdir}/lib/release8
prepend-path PYTHONPATH ${subdir}/lib/release8
setenv IMP_DIR ${subdir}/lib/release8/cmake/IMP
#%Module 1.0
module-whatis "Description: Integrative Modeling Platform (version 2.22.0, fast build)"
module-whatis "URL: https://integrativemodeling.org/"
module load boost/1.73.0 libtau/1.0.1 opencv/4.3.0 python3/ihm sali-libraries
set topdir "/salilab/diva1/home/imp/main"
set subdir [file readlink "${topdir}/2.22.0"]
if {[file pathtype ${subdir}] == "relative"} {
set subdir "${topdir}/${subdir}"
}
prepend-path PATH ${subdir}/bin/fast8
prepend-path LD_LIBRARY_PATH ${subdir}/lib/fast8
prepend-path PYTHONPATH ${subdir}/lib/fast8
setenv IMP_DIR ${subdir}/lib/fast8/cmake/IMP
#%Module 1.0
module-whatis "Description: Integrative T-cell epitope prediction"
module-whatis "URL: https://github.com/salilab/itcell-lib"
module load imp scwrl
set topdir /salilab/diva1/programs/x86_64linux/itcell-lib
prepend-path PATH ${topdir}/scripts
#%Module 1.0
module-whatis "Description: Code from the SAMBA group at TAU"
module-whatis "URL: https://integrativemodeling.org/libTAU.html"
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/libtau-1.0.1/lib64
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/libtau-1.0.1/include
prepend-path CMAKE_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/libtau-1.0.1/lib64
#%Module 1.0
module-whatis "Description: Dusan Turk's MAIN program"
module-whatis "URL: https://stef.ijs.si/"
set MAIN /salilab/diva1/programs/x86_64linux/MAIN/
setenv MAIN ${MAIN}
setenv MAIN_CMDS "${MAIN}cmds/"
setenv MAIN_CMDS_NEW "${MAIN}cmds_new/"
setenv MAIN_UTILS "${MAIN}utils/"
setenv MAIN_SYMM "${MAIN}symm/"
setenv MAIN_DOC "${MAIN}doc/"
setenv MAIN_COM "${MAIN}doc/com/"
setenv MAIN_MENU "${MAIN}doc/menu/"
setenv MAIN_CONF "${MAIN}config/"
setenv MAIN_R3D_FONT "${MAIN}crke/"
prepend-path PATH "${MAIN}:${MAIN}prog:${MAIN}config"
set-alias mainps "${MAIN}mainps_2013.exe_LINUX_G95-64"
set-alias psmain "${MAIN}mainps_2013.exe_LINUX_G95-64"
set-alias new "${MAIN}new.exe_LINUX_G95-64"
set-alias new_gf "${MAIN}new.exe_LINUX_GFORT"
set-alias l95 "make -f ${MAIN}source/makefile.LINUX_G95-64"
set-alias lgf "make -f ${MAIN}source/.make_new_LINUX_GFORT"
set-alias sou "cd ${MAIN}source"
set-alias tes "cd ${MAIN}test"
#%Module 1.0
module-whatis "Description: Language for technical computing"
module-whatis "URL: https://www.mathworks.com/products/matlab.html"
prepend-path PATH /salilab/diva1/programs/x86_64linux/matlab-r2018b/bin
#%Module 1.0
module-whatis "Description: MiST - Mass spectrometry interaction STatistics"
module-whatis "URL: https://github.com/salilab/mist/"
module load python3/scikit
set topdir /salilab/diva1/programs/linux/mist
prepend-path PATH ${topdir}/bin
#%Module 1.0
module-whatis "Description: MODELLER comparative modeling"
module-whatis "URL: https://salilab.org/modeller/"
set topdir /salilab/diva1/home/modeller/SVN
prepend-path PATH ${topdir}/bin
prepend-path LD_LIBRARY_PATH ${topdir}/lib/x86_64-intel8
prepend-path PYTHONPATH ${topdir}/lib/x86_64-intel8
prepend-path PYTHONPATH ${topdir}/modlib
prepend-path PKG_CONFIG_PATH ${topdir}/lib/x86_64-intel8/pkgconfig
#%Module 1.0
module-whatis "Description: ModPipe (sets \$MODPIPE; only works on the cluster)"
module-whatis "URL: https://salilab.org/modpipe/"
if [file exists /wynton/home] {
setenv MODPIPE /wynton/home/sali/ModPipe/2.3.0
} else {
puts stderr "Sorry, this module only works on the cluster (or other machine that has /wynton/home mounted)"
break
}
#%Module 1.0
module-whatis "Description: Multiple alignment program for protein sequences"
module-whatis "URL: http://www.drive5.com/muscle/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/muscle-3.8.31/bin
#%Module 1.0
module-whatis "Description: A small build system with a focus on speed"
module-whatis "URL: https://ninja-build.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/ninja-1.8.2/bin
#%Module 1.0
module-whatis "Description: Collection of algorithms for computer vision"
module-whatis "URL: https://opencv.org/"
module load hdf5/1.10.7
prepend-path PATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/lib64
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/include/opencv4
prepend-path CMAKE_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/lib64
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/lib/python3.6/site-packages
if { [file exists /etc/centos-release] || [file exists /etc/rocky-release] || [file exists /etc/almalinux-release]} {
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/opencv-4.3.0/lib64/rhel
}
#%Module 1.0
module-whatis "Description: OpenEye products (work on any 64-bit node)"
module-whatis "URL: https://www.eyesopen.com/"
if [file exists /wynton/group] {
if [ module-info mode load ] {
if { ! [file exists /wynton/group/sali/openeye ] } {
puts stderr "Sorry, this module is only available to members of the Sali lab."
break
}
}
prepend-path PATH /wynton/group/sali/openeye/bin
prepend-path PYTHONPATH /wynton/group/sali/openeye/wrappers/v2012.Oct.1/python
setenv OE_LICENSE /wynton/group/sali/openeye/oe_license.txt
} else {
puts stderr "Sorry, this module only works on the Wynton cluster (or other machine that has /wynton/group mounted)"
break
}
#%Module 1.0
module-whatis "Description: Molecular Docking Based on Shape Complementarity Principles"
module-whatis "URL: https://bioinfo3d.cs.tau.ac.il/PatchDock/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/patch_dock-1.3/bin/cdr
prepend-path PATH /salilab/diva1/programs/x86_64linux/patch_dock-1.3/bin
#%Module 1.0
module-whatis "Description: Peptide Classification using Sequence and Structure"
module-whatis "URL: https://github.com/salilab/pcss"
if [file exists /wynton/home/sali] {
module load svm_light
set topdir /wynton/home/sali/peptide
prepend-path PATH ${topdir}/bin
prepend-path PERL5LIB ${topdir}/lib
} else {
puts stderr "Sorry, this module only works on the cluster (or other machine that has /wynton/home/sali mounted)"
break
}
#%Module 1.0
module-whatis "Description: Python-based Hierarchical ENvironment for Integrated Xtallography"
module-whatis "URL: https://www.phenix-online.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/phenix-1.19.1.4122/phenix-1.19.1-4122/build/bin
setenv PHENIX /salilab/diva1/programs/x86_64linux/phenix-1.19.1.4122/phenix-1.19.1-4122
setenv PHENIX_VERSION 1.19.1-4122
#%Module 1.0
module-whatis "Description: ProFit, a protein least squares fitting program"
module-whatis "URL: http://www.bioinf.org.uk/software/profit/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/profit-3.1
#%Module 1.0
module-whatis "Description: Accurate protein secondary structure prediction"
module-whatis "URL: http://bioinf.cs.ucl.ac.uk/psipred/"
module load blast
prepend-path PATH /salilab/diva1/programs/x86_64linux/psipred-4.0/bin
setenv PSIPRED_LIB /salilab/diva1/programs/x86_64linux/psipred-4.0/lib
#%Module 1.0
module-whatis "Description: Classes Without Boilerplate"
module-whatis "URL: https://www.attrs.org/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/attrs-21.2.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Python tools for computational molecular biology"
module-whatis "URL: https://biopython.org/"
conflict python2
module load python3/numpy/1.19.5
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/biopython-1.75/lib64/python
#%Module 1.0
module-whatis "Description: Collection of fast NumPy array functions written in Cython"
module-whatis "URL: https://github.com/pydata/bottleneck"
conflict python2
module load python3/numpy/1.19.5 python3/scipy/1.3.2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/bottleneck-1.3.1/lib64/python
#%Module 1.0
module-whatis "Description: Composable style cycles"
module-whatis "URL: https://github.com/matplotlib/cycler"
conflict python2
module load python3/six
prepend-path PYTHONPATH /salilab/diva1/programs/linux/cycler-0.10.0/lib/python
#%Module 1.0
module-whatis "Description: Powerful extensions to the standard datetime module"
module-whatis "URL: https://dateutil.readthedocs.io/en/stable/"
conflict python2
module load python3/six
prepend-path PYTHONPATH /salilab/diva1/programs/linux/dateutil-2.8.1/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Module to simplify usage of decorators"
module-whatis "URL: https://github.com/micheles/decorator"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/decorator-4.4.1/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: The modular source code checker: pep8 pyflakes and co"
module-whatis "URL: https://gitlab.com/pycqa/flake8"
conflict python2
module load python3/importlib-metadata
module load python3/mccabe
module load python3/pycodestyle
module load python3/pyflakes
prepend-path PYTHONPATH /salilab/diva1/programs/linux/flake8-5.0.4/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/flake8-5.0.4/bin
#%Module 1.0
module-whatis "Description: Clean single-source support for Python 3 and 2"
module-whatis "URL: https://python-future.org/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/future-0.18.2/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/future-0.18.2/bin
#%Module 1.0
module-whatis "Description: Python interface to the Hierarchical Data Format library"
module-whatis "URL: https://www.h5py.org/"
conflict python2
module load python3/numpy/1.19.5 hdf5/1.10.7 python3/six
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/h5py-2.10.0/lib64/python
#%Module 1.0
module-whatis "Description: A high performance implementation of HDBSCAN clustering"
module-whatis "URL: https://github.com/scikit-learn-contrib/hdbscan"
conflict python2
module load python3/numpy/1.19.5 python3/scipy/1.3.2 python3/scikit/0.21.3
prepend-path PYTHONPATH /salilab/diva1/programs/linux/hdbscan-0.8.33/lib64/python
#%Module 1.0
module-whatis "Description: Python package for handling IHM mmCIF files"
module-whatis "URL: https://github.com/ihmwg/python-ihm"
conflict python2
module load python3/msgpack
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/ihm-1.8/lib64/python/site-packages
#%Module 1.0
module-whatis "Description: Read metadata from Python packages"
module-whatis "URL: https://github.com/python/importlib_metadata"
conflict python2
module load python3/zipp
module load python3/toml
module load python3/typing-extensions
prepend-path PYTHONPATH /salilab/diva1/programs/linux/importlib-metadata-3.3.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Brain-dead simple parsing of ini files"
module-whatis "URL: https://github.com/RonnyPfannschmidt/iniconfig"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/iniconfig-1.1.1/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Lightweight pipelining: using Python functions as pipeline jobs"
module-whatis "URL: https://joblib.readthedocs.io/en/latest/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/joblib-0.17.0/lib/python
#%Module 1.0
module-whatis "Description: A fast implementation of the Cassowary constraint solver"
module-whatis "URL: https://github.com/nucleic/kiwi"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/kiwisolver-1.1.0/lib64/python
#%Module 1.0
module-whatis "Description: Python 2D plotting library"
module-whatis "URL: https://matplotlib.org/"
conflict python2
module load python3/cycler
module load python3/numpy/1.19.5
module load python3/pyparsing
module load python3/dateutil
module load python3/pytz
module load python3/kiwisolver
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/matplotlib-3.1.2/lib64/python
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/matplotlib-3.1.2/lib
#%Module 1.0
module-whatis "Description: McCabe checker, plugin for flake8"
module-whatis "URL: https://github.com/pycqa/mccabe"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/mccabe-0.7.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Modular toolkit for Data Processing"
module-whatis "URL: http://mdp-toolkit.sourceforge.net/"
conflict python2
module load python3/scipy python3/future python3/scikit
prepend-path PYTHONPATH /salilab/diva1/programs/linux/mdp-3.6/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Python package for handling ModelCIF mmCIF files"
module-whatis "URL: https://github.com/ihmwg/python-modelcif"
conflict python2
module load python3/ihm
prepend-path PYTHONPATH /salilab/diva1/programs/linux/modelcif-1.2/lib/python/site-packages
#%Module 1.0
module-whatis "Description: A Python MessagePack (de)serializer"
module-whatis "URL: https://msgpack.org/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/msgpack-0.6.2/lib64/python
#%Module 1.0
module-whatis "Description: Creates and Manipulates Graphs and Networks"
module-whatis "URL: https://networkx.github.io/"
conflict python2
module load python3/scipy/1.3.2 python3/pyparsing python3/decorator
prepend-path PYTHONPATH /salilab/diva1/programs/linux/networkx-2.4/lib/python
#%Module 1.0
module-whatis "Description: Discovery-based unittest extension for Python3"
module-whatis "URL: https://nose.readthedocs.io/en/latest/"
prepend-path PYTHONPATH /salilab/diva1/programs/linux/nose-1.3.7/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/nose-1.3.7/bin
#%Module 1.0
module-whatis "Description: Fast numerical array expression evaluator for Python and NumPy"
module-whatis "URL: https://github.com/pydata/numexpr"
conflict python2
module load python3/numpy/1.19.5 python3/packaging
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/numexpr-2.8.1/lib64/python
#%Module 1.0
module-whatis "Description: A fast multidimensional array facility for Python"
module-whatis "URL: https://numpy.org/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/numpy-1.19.5/lib64/python
prepend-path PATH /salilab/diva1/programs/x86_64linux/numpy-1.19.5/bin
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/numpy-1.19.5/lib
#%Module 1.0
module-whatis "Description: Core utilities for Python packages"
module-whatis "URL: https://github.com/pypa/packaging"
conflict python2
module load python3/pyparsing
prepend-path PYTHONPATH /salilab/diva1/programs/linux/packaging-20.8/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Python Data Analysis Library"
module-whatis "URL: https://pandas.pydata.org/"
conflict python2
module load python3/numpy/1.19.5
module load python3/dateutil
module load python3/matplotlib
module load python3/pytz
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/pandas-0.25.3/lib64/python
#%Module 1.0
module-whatis "Description: A Python interface to the pkg-config command line tool"
module-whatis "URL: https://github.com/matze/pkgconfig"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pkgconfig-1.5.1/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: A minimalist production ready plugin system"
module-whatis "URL: https://github.com/pytest-dev/pluggy"
conflict python2
module load python3/importlib-metadata
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pluggy-0.13.1/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Protocol Buffers - Google's data interchange format"
module-whatis "URL: https://developers.google.com/protocol-buffers/"
conflict python2
module load python3/six
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/lib64/python3.6/site-packages
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/lib64
prepend-path PATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/bin
prepend-path EMACSLOADPATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/share/emacs/site-lisp
prepend-path CMAKE_INCLUDE_PATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/include
prepend-path CMAKE_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/protobuf-py36-3.11.2/lib64
#%Module 1.0
module-whatis "Description: Cross-python path, ini-parsing, io, code, log facilities"
module-whatis "URL: https://py.readthedocs.io/en/latest/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/py-1.11.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Python style guide checker"
module-whatis "URL: https://pycodestyle.readthedocs.io/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pycodestyle-2.9.1/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/pycodestyle-2.9.1/bin
#%Module 1.0
module-whatis "Description: Passive checker of Python programs"
module-whatis "URL: https://github.com/PyCQA/pyflakes"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pyflakes-2.5.0/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/pyflakes-2.5.0/bin
#%Module 1.0
module-whatis "Description: An object-oriented approach to text processing"
module-whatis "URL: https://github.com/pyparsing/pyparsing/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/pyparsing-py36-2.4.5/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Way of performing RMSD calculations of large sets of structures"
conflict python2
module load cuda/7.5.18 python3/numpy/1.19.5 python3/scipy/1.3.2
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/pyrmsd-4.3.2
#%Module 1.0
module-whatis "Description: Simple powerful testing with Python"
module-whatis "URL: https://docs.pytest.org/en/latest/"
conflict python2
module load python3/toml
module load python3/importlib-metadata
module load python3/attrs
module load python3/iniconfig
module load python3/packaging
module load python3/pluggy
module load python3/py
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pytest-6.2.1/lib/python3.6/site-packages
prepend-path PATH /salilab/diva1/programs/linux/pytest-6.2.1/bin
#%Module 1.0
module-whatis "Description: World Timezone Definitions for Python"
module-whatis "URL: https://pythonhosted.org/pytz/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/pytz-2019.3/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: A set of python modules for machine learning and data mining"
module-whatis "URL: https://scikit-learn.org/stable/index.html"
conflict python2
module load sali-libraries
module load python3/numpy/1.19.5 python3/scipy/1.3.2 python3/joblib
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/scikit-0.21.3/lib64/python
#%Module 1.0
module-whatis "Description: Scipy: Scientific Tools for Python"
module-whatis "URL: https://www.scipy.org/"
conflict python2
module load python3/numpy/1.19.5
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/scipy-1.3.2/lib64/python
#%Module 1.0
module-whatis "Description: Python 2 and 3 compatibility utilities"
module-whatis "URL: https://github.com/benjaminp/six"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/six-1.16.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Hierarchical datasets in Python"
module-whatis "URL: http://www.pytables.org/"
conflict python2
module load python3/numpy/1.19.5
module load python3/numexpr/2.8.1
module load hdf5/1.10.7
module load python3/six
prepend-path PYTHONPATH /salilab/diva1/programs/x86_64linux/tables-3.6.1/lib64/python
prepend-path PATH /salilab/diva1/programs/x86_64linux/tables-3.6.1/bin
#%Module 1.0
module-whatis "Description: Python Library for Tom's Obvious, Minimal Language"
module-whatis "URL: https://github.com/uiri/toml"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/toml-0.10.2/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Backported and Experimental Type Hints for Python 3.5+"
module-whatis "URL: https://pypi.org/project/typing-extensions/"
conflict python2
prepend-path PYTHONPATH /salilab/diva1/programs/linux/typing-extensions-3.7.4.3/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Backport of pathlib-compatible object wrapper for zip files"
module-whatis "URL: https://github.com/jaraco/zipp"
conflict python2
module load python3/toml
prepend-path PYTHONPATH /salilab/diva1/programs/linux/zipp-3.4.0/lib/python3.6/site-packages
#%Module 1.0
module-whatis "Description: Electron cryo-microscopy refinement"
module-whatis "URL: https://github.com/3dem/relion"
module load cuda/7.5.18
# would use is-avail, but Lmod doesn't support that
if [file exists /etc/modulefiles/mpi/openmpi-x86_64] {
module load mpi/openmpi-x86_64
} elseif [file exists /usr/share/modulefiles/mpi/openmpi-x86_64] {
module load mpi/openmpi-x86_64
}
prepend-path PATH /salilab/diva1/programs/x86_64linux/relion-3.0.git9a02562/bin
# Provide libX11 if not available on the system
if [file exists /lib64/libX11.so.6] {
} else {
prepend-path LD_LIBRARY_PATH /salilab/diva1/programs/x86_64linux/relion-3.0.git9a02562/lib
}
#%Module 1.0
module-whatis "Description: Computational modeling and analysis of protein structures"
module-whatis "URL: https://www.rosettacommons.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/rosetta-3.10/bin
setenv ROSETTA3_DB /salilab/diva1/programs/x86_64linux/rosetta-3.10/database
#%Module 1.0
module-whatis "Description: Makes available libraries usually only present on the Sali interactive nodes"
prepend-path LD_LIBRARY_PATH /salilab/diva1/home/libs/x86_64
if { [file exists /etc/centos-release] || [file exists /etc/rocky-release] || [file exists /etc/almalinux-release]} {
if [file exists /etc/dnf/dnf.conf] {
prepend-path LD_LIBRARY_PATH /salilab/diva1/home/libs/x86_64/centos8
} elseif [file exists /etc/systemd/system.conf] {
prepend-path LD_LIBRARY_PATH /salilab/diva1/home/libs/x86_64/centos7
} else {
prepend-path LD_LIBRARY_PATH /salilab/diva1/home/libs/x86_64/centos
}
} else {
if [file exists /usr/lib64/libtiff.so.6] {
prepend-path LD_LIBRARY_PATH /salilab/diva1/home/libs/x86_64/fedora41
}
}
#%Module 1.0
module-whatis "Description: Protein side-chain conformation prediction program"
module-whatis "URL: http://dunbrack.fccc.edu/lab/scwrl"
prepend-path PATH /salilab/diva1/programs/x86_64linux/scwrl-4.0/bin
#%Module 1.0
module-whatis "Description: Support Vector Machine"
module-whatis "URL: http://svmlight.joachims.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/svm_light-6.0.2
#%Module 1.0
module-whatis "Description: Connects C/C++/Objective C to some high-level programming languages"
module-whatis "URL: http://www.swig.org/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/swig-4.0.2/bin
#%Module 1.0
module-whatis "Description: High-throughput search and clustering tool"
module-whatis "URL: http://www.drive5.com/usearch/"
prepend-path PATH /salilab/diva1/programs/linux/usearch-10.0.240/
#%Module 1.0
module-whatis "Description: Command line interface (web_service.py) to most lab web services"
module-whatis "URL: https://github.com/salilab/saliweb"
prepend-path PATH /salilab/diva1/programs/linux/web_service
#%Module 1.0
module-whatis "Description: Rigid body docking"
module-whatis "URL: http://zdock.umassmed.edu/"
prepend-path PATH /salilab/diva1/programs/x86_64linux/zdock-3.0.2
The above information is updated automatically once an hour by querying module avail
and module spider
.