BioGrids Installation Manager CLI
biogrids-cli is the command-line installation manager for the BioGrids software collection. It provides powerful automation capabilities and advanced configuration options for managing bioinformatics software installations.
Overview
The BioGrids CLI installation manager offers: - Complete command-line control over software installation and management - Scriptable operations for automation and deployment - Advanced configuration options not available in the GUI - Interchangeable use with the GUI installation manager - Multi-platform support for Linux and macOS systems
Download and Installation
Download Links
All versions are available on the downloads page.
Installation Process
Linux and macOS
# Download using curl (recommended to avoid quarantine issues on macOS)
curl -k -LO https://biogrids.org/downloads/latest/biogrids-cli_linux.tar.gz
# Extract the archive
tar -zxf biogrids-cli_linux.tar.gz
# The biogrids-cli executable is ready to use
./biogrids-cli --help
macOS-Specific Notes
If you encounter an "unidentified developer" warning on macOS:
Apple Silicon Macs require Rosetta 2 for most BioGrids software:
System Requirements
Prerequisites
- BioGrids Consortium membership and user account
- Internet connection for downloads and updates
- Sufficient disk space for selected software packages
Permissions
- Installation directory: Default
/opt/biogrids(customizable) - Programs symlink:
/programs→/opt/biogrids(requires sudo on initial setup) - Daily operations: No admin privileges required after initial setup
Recommendations
- Dedicated user account: Consider creating a
biogridsuser for multi-user systems - Sudo access: Required for initial setup and system-level configuration
- Backup strategy: Important for site installations with many users
Getting Started
Account Activation
First-time setup requires activating your BioGrids account:
Example:
Activation Options
Key options:
- --no-link: Skip /programs symlink creation (no sudo required)
- --target <path>: Specify custom installation directory
- --skip-folder-checking: Overwrite existing installations
- -k, --credential-key <key>: Single credential key activation
Example without sudo:
biogrids-cli activate harvard_bio123 jsmith 3NHMCPpGreyJi48v0DaeYjH6l5duRNyO --no-link --target ~/biogrids
Basic Usage
Getting Help
# General help
biogrids-cli --help
# Subcommand help
biogrids-cli install --help
biogrids-cli list --help
Listing Software
Available Software
# List all available software
biogrids-cli list
# List with detailed information
biogrids-cli list --long-format
# List specific software
biogrids-cli list blast python r
# List all versions of a package
biogrids-cli list blast --all-versions
Software Collections
# List available collections
biogrids-cli list --collections
# Examples of collections
# - Genomics
# - Proteomics
# - Structural Biology
# - Machine Learning
Installed Software
# Show installed packages (colored output)
biogrids-cli list
# Default versions only
biogrids-cli list --default-versions
Software Information
Get detailed information about specific software:
Example output:
Package information for blast (x86_64-linux):
Package: BLAST+
Name slug: blast
Architecture: x86_64-linux
Available version(s):
* 2.12.0 (installed, default)
* 2.11.0 (installed)
* 2.10.1
Collection(s): Genomics, Sequence Analysis
Description:
Basic Local Alignment Search Tool (BLAST) finds regions of local similarity
between sequences for nucleotide and protein sequence analysis.
Links:
Website: https://blast.ncbi.nlm.nih.gov/
Manual: https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs
Installing Software
Basic Installation
# Install default version
biogrids-cli install blast
# Install specific version
biogrids-cli install blast@2.11.0
# Install multiple packages
biogrids-cli install blast python r
Advanced Installation Options
# Install all versions of a package
biogrids-cli install blast --all-versions
# Install software collection
biogrids-cli install -c "Genomics"
# Install all available software (full collection)
biogrids-cli install --all-titles
# Install with parallel downloads
biogrids-cli install blast python r -j 4
# Reinstall existing packages
biogrids-cli install blast --reinstall
Installation Examples
Install bioinformatics essentials:
Install complete genomics suite:
Site installation (all software):
Managing Software
Updates and Upgrades
Check for Updates
# List available updates
biogrids-cli updates
# Example output:
# The following installed packages have updates available (x86_64-linux):
# - blast@2.12.0 => 2.13.0 (new default)
# - samtools@1.15 (patch for installed default version)
Perform Updates
# Update specific software
biogrids-cli update blast
# Update all installed software
biogrids-cli update --all-titles
Removing Software
# Remove specific software
biogrids-cli remove blast
# Remove specific version
biogrids-cli remove blast@2.11.0
# Remove multiple packages
biogrids-cli remove blast@2.11.0 python@3.8
Cleaning Obsolete Software
Advanced Features
Account Management
Migration Between Accounts
# Migrate to new BioGrids account (useful when changing labs)
biogrids-cli migrate-account [new-site] [new-user] [new-key]
# Interactive migration
biogrids-cli migrate-account
Configuration Backup and Restore
# Save current installation configuration
biogrids-cli save > biogrids-config.json
# Restore from saved configuration
biogrids-cli reactivate biogrids-config.json
Automation and Scheduling
Automated Updates
Add to crontab for automatic updates:
# Check for updates every 15 minutes
*/15 * * * * /programs/x86_64-linux/biogrids_installer/latest/biogrids-cli update --all-titles --yes --quiet
Site Management (Admin Mode)
# Install all new software, update existing, remove obsolete
biogrids-cli admin
# Install all versions (comprehensive collection)
biogrids-cli admin --all-versions
# Multi-platform site installation (Linux + macOS)
biogrids-cli admin --all-versions --linux --darwin -j 8
Crontab Management
# Set up automatic updates
biogrids-cli crontab
# Custom crontab with options
biogrids-cli crontab --all-versions -j 4
Configuration Management
Rebuild Environment
Custom Configuration
# List current configuration
biogrids-cli config
# Set proxy configuration
biogrids-cli config set proxy-server http://proxy.company.com:8080
biogrids-cli config set proxy-username myusername
# Set parallel download threads
biogrids-cli config set parallel-downloads 8
Multi-User Systems
Shared Installation Management
For systems with multiple users, create a dedicated service account:
# Create biogrids service account
sudo adduser biogrids
# Configure sudoers for biogrids management
sudo tee /etc/sudoers.d/biogrids << EOF
%biogrids-users ALL=(biogrids) NOPASSWD: /programs/x86_64-linux/biogrids_installer/latest/biogrids-cli
EOF
# Add users to biogrids group
sudo usermod -a -G biogrids-users username
User Access
# Users run biogrids-cli as biogrids user
sudo -u biogrids biogrids-cli list
sudo -u biogrids biogrids-cli install blast
Integration and Scripting
Environment Variables
# BioGrids environment variables
export BIOGRIDS_ROOT="/opt/biogrids"
export BIOGRIDS_ARCH="x86_64-linux"
# Source BioGrids environment
source /programs/biogrids.shrc
Scripting Examples
Installation script for new systems:
#!/bin/bash
# install-biogrids-essentials.sh
# Essential bioinformatics software
PACKAGES="blast samtools bwa python r bowtie2 tophat cufflinks"
echo "Installing BioGrids essentials..."
biogrids-cli install $PACKAGES -j 4
echo "Installation complete!"
biogrids-cli list --default-versions
Update script with error handling:
#!/bin/bash
# update-biogrids.sh
LOG_FILE="/var/log/biogrids-updates.log"
echo "$(date): Starting BioGrids update" >> $LOG_FILE
if biogrids-cli update --all-titles --yes >> $LOG_FILE 2>&1; then
echo "$(date): Update successful" >> $LOG_FILE
else
echo "$(date): Update failed - check logs" >> $LOG_FILE
exit 1
fi
Troubleshooting
Common Issues
Network and Connectivity
# Test connection to BioGrids servers
curl -I https://biogrids.org
# Check proxy configuration
biogrids-cli config list | grep proxy
Permission Problems
# Check installation directory permissions
ls -la /opt/biogrids/
# Fix ownership (if needed)
sudo chown -R biogrids:biogrids /opt/biogrids/
Environment Issues
# Verify BioGrids environment
echo $BIOGRIDS_ROOT
ls -la /programs
# Rebuild environment configuration
biogrids-cli rebuild
Log Files
# Check installation logs
tail -f ~/.biogrids/logs/installation.log
# View error logs
grep ERROR ~/.biogrids/logs/*.log
Getting Help
For CLI-specific issues:
- Email: help@biogrids.org
- Include: Command output, error messages, system information
- Provide: BioGrids CLI version: biogrids-cli --version
- Attach: Relevant log files from ~/.biogrids/logs/
Integration with GUI
The CLI and GUI installation managers work seamlessly together: - Same installation: Both tools manage the same software collection - Interchangeable: Switch between CLI and GUI as needed - Complementary: Use GUI for browsing, CLI for automation - Shared configuration: Settings and software selections are synchronized
This flexibility allows you to use the best tool for each task while maintaining a consistent BioGrids environment.