Skip to content

Software Version Management

BioGrids provides version control for reproducible research workflows. Most software packages have multiple versions available: current default, previous stable, latest release, and specialized builds.

Viewing Available Versions

Check Version Information

# List versions for specific software
biogrids-info -l blast

Example output:

Version information for: /programs/x86_64-linux/blast

Default version:                    2.12.0
In-use version:                     2.12.0
Installed versions:                 2.12.0 2.11.0 2.10.1 2.9.0
Overrides use this shell variable:  BLAST_X

Cross-Platform Information

# Show versions for all platforms
biogrids-info -L python

# CLI version management
biogrids-cli list blast --all-versions
biogrids-cli info blast

Setting Version Preferences

Temporary (Current Session)

# Bash/Zsh
export BLAST_X=2.11.0
export PYTHON_X=3.8.12

# Tcsh/Csh  
setenv BLAST_X 2.11.0
setenv PYTHON_X 3.8.12

Persistent (All Sessions)

Create ~/.biogrids.conf:

# Personal version preferences
PYTHON_X=3.9.7
R_X=4.2.1
BLAST_X=2.12.0

# Specialized versions
RELION_X=3.1.1_cu9.2     # CUDA-enabled
GROMACS_X=2022.4         # CPU-only

Edit configuration file:

biogrids-overrides -e

Version Selection Priority

BioGrids uses this hierarchy (highest to lowest priority):

  1. Environment variables - export BLAST_X=2.11.0
  2. User configuration - ~/.biogrids.conf
  3. Host configuration - /programs/local/conf/hostname.conf
  4. Site configuration - /programs/local/conf/site.conf
  5. BioGrids default - Standard default version

Check Configuration Status

biogrids-info --config-status

Example output:

Configuration options in effect for this shell:
 Variable             Setting         Configuration
  BLAST_X              2.11.0          personal
  PYTHON_X             3.8.12          site  
  R_X                  4.2.1           default

Variable Naming Convention

Version variables use the format <SOFTWARE>_<PLATFORM>: - Linux: <SOFTWARE>_X (e.g., BLAST_X, PYTHON_X) - macOS: <SOFTWARE>_M (e.g., BLAST_M, PYTHON_M)

Common Variables

Software Linux Variable macOS Variable
BLAST BLAST_X BLAST_M
Python PYTHON_X PYTHON_M
R R_X R_M
SAMtools SAMTOOLS_X SAMTOOLS_M

Specialized Versions

GPU-Enabled Versions

# GPU versions (CUDA support)
RELION_X=3.1.1_cu11.2
TENSORFLOW_X=2.8.0_gpu
PYTORCH_X=1.11.0_cu113

# CPU-only versions
RELION_X=3.1.1
TENSORFLOW_X=2.8.0_cpu

Compiler-Specific Builds

# Intel compiler optimized
BLAST_X=2.12.0_intel
GROMACS_X=2022.4_intel

# GCC builds (standard)
BLAST_X=2.12.0_gcc

Management Commands

Version Information

biogrids-info <software> -l          # List versions
biogrids-info <software> --current   # Show current version
biogrids-overrides -e                # Edit configuration

Quick Commands

# Set version preference
biogrids-set-version blast 2.11.0

# Reset to default
biogrids-reset-version blast

# Show current overrides
biogrids-show-overrides

Research Reproducibility

Document Environment

# Export current versions
biogrids-export-versions > research_environment.conf

# Restore environment later
biogrids-import-versions research_environment.conf

Version Testing

# Test new version
biogrids-test-version blast 2.13.0 --script test.sh

# Compare performance
biogrids-benchmark blast@2.12.0 blast@2.13.0 --test benchmark.sh

Troubleshooting

Common Issues

# Version not available
biogrids-cli list blast --all-versions
biogrids-cli install blast@2.11.0

# Version conflicts
biogrids-diagnose-conflicts
biogrids-info blast --precedence

# Reset configuration
biogrids-reset-versions --all

Disabling Software

# Disable software completely
echo "BLAST_X=disable" >> ~/.biogrids.conf

# Temporarily disable
export BLAST_X=disable

Getting Help