Skip to content
Shell bootloader for bioinformatics.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
build
system
workflows
zsh/fpath
.gitignore
.travis.yml
LICENSE
NEWS
README.md
activate.sh

README.md

koopa 🐢

Travis CI build status Repo status: active

Shell bootloader for bioinformatics.

Requirements

Currently, these POSIX-compliant shells are supported: bash, zsh, ksh.

Dependencies:

  • Linux or macOS. Windows isn't supported.
  • Bash >= 4. Always required, even when using a different interactive shell.
  • Python. Both 2.7 and 3 are supported.

Optional:

  • Conda >= 4.5. Note that conda doesn't currently work with ksh (see issue).

Installation

First, clone the repository:

git clone https://github.com/acidgenomics/koopa.git ~/.koopa

Second, add these lines to your POSIX-compliant shell configuration file.

# koopa shell
# https://github.com/acidgenomics/koopa
# shellcheck source=/dev/null
. "${HOME}/.koopa/activate.sh"

Koopa should now activate at login.

To obtain information about the working environment, run koopa-info.sh.

Troubleshooting

Shell configuration file

Not sure where to source activate.sh in your configuration? Here are some general recommendations, in order of priority for each shell. These can differ depending on the operating system, so refer to your shell documentation for details.

  • bash: .bash_profile, .bashrc.
  • zsh: .zshrc, .zprofile.
  • ksh: .kshrc, .profile.

dotfiles example

Koopa is intended to help simplify the bioinformatics side of a user's shell configuration. Take a look at Mike's dotfiles repo for an example configuration that sources koopa.

Additional configuration

Koopa provides automatic configuration and $PATH variable support for a number of popular bioinformatics tools. When configuring manually, ensure that variables are defined before sourcing activate.sh.

Aspera Connect

Aspera Connect is a secure file transfer application commonly used by numerous organizations, including the NIH and Broad Institute. Koopa will automatically detect Aspera when it is installed at the default path of ~/.aspera/. Otherwise, the installation path can be defined manually using the $ASPERA_EXE variable.

export ASPERA_EXE="${HOME}/.aspera/connect/bin/asperaconnect"

bcbio

bcbio is a Python toolkit that provides modern NGS analysis pipelines for RNA-seq, single-cell RNA-seq, ChIP-seq, and variant calling. Koopa provides automatic configuration support for the Harvard O2 and Odyssey high-performance computing clusters. Otherwise, the installation path can be defined manually using the $BCBIO_EXE variable.

export BCBIO_EXE="/usr/local/bin/bcbio_nextgen.py"

conda

Conda is an open source package management system that provides pre-built binaries using versioned recipes for Linux and macOS.

Koopa supports automatic loading of a default environment. Simply set the $CONDA_DEFAULT_ENV variable to your desired environment name.

export CONDA_DEFAULT_ENV="scikit-learn"

Koopa provides automatic detection and activation support when conda is installed at any of these locations (note priority):

  • ~/anaconda3/
  • ~/miniconda3/
  • /usr/local/anaconda3/
  • /usr/local/miniconda3/

Oherwise, the installation path can be defined manually using the $CONDA_EXE variable.

export CONDA_EXE="${HOME}/anaconda3/bin/conda"

SSH key

On Linux, koopa will launch ssh-agent and attempt to import the default SSH key at ~/.ssh/id_rsa, if the key file exists. A different default key can be defined manually using the $SSH_KEY variable.

export SSH_KEY="${HOME}/.ssh/id_rsa"

On macOS, instead we recommend adding these lines to ~/.ssh/config to use the system keychain:

Host *
    AddKeysToAgent yes
    IdentityFile ~/.ssh/id_rsa
    UseKeychain yes

PGP key

Automatic PGP key support will be added in a future update.

Tools

Upon activation, koopa makes some additional scripts available in $PATH, which are defined in the bin/ directory of the repo. Run koopa-list.sh for a complete list.

You can’t perform that action at this time.