Skip to content

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

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:

# Remove quarantine attribute
xattr -d com.apple.quarantine biogrids-cli

Apple Silicon Macs require Rosetta 2 for most BioGrids software:

# Install Rosetta 2 if not already present
/usr/sbin/softwareupdate --install-rosetta

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 biogrids user 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:

biogrids-cli activate [site] [user] [key]

Example:

biogrids-cli activate harvard_bio123 jsmith 3NHMCPpGreyJi48v0DaeYjH6l5duRNyO

Activation Options

biogrids-cli activate --help

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:

biogrids-cli info blast

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:

biogrids-cli install blast samtools bwa python r

Install complete genomics suite:

biogrids-cli install -c "Genomics" --all-versions

Site installation (all software):

biogrids-cli install --all-titles --all-versions -j 8

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

# List obsolete packages
biogrids-cli obsolete

# Remove obsolete packages
biogrids-cli clean

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

# Rebuild configuration files (troubleshooting)
biogrids-cli rebuild

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.