-
Notifications
You must be signed in to change notification settings - Fork 23
Installation Guide
Just a quick note at the top, if you run into any difficulties during installation, see our troubleshooting guide.
BuddySuite requires Python 3.5 or higher to run. While you can install python directly form python.org, it is highly recommended that you use the Anaconda distribution instead, as it bundles a package manager and virtual environment platform along with the Python interpreter. Installation is usually straightforward, so begin by following the instructions on the main Anaconda download page for your specific operating system.
Once installed, you should be able to access the conda
program from the command line (you may need to restart your terminal, and see here if it doesn't work and you're on a Mac). It's often a good idea to set up a virtual environment to prevent dependency conflicts, allowing you to safely experiment with new software without fear of interfering with other key system functionality. While completely optional, if you do decide to create a dedicated environment for BuddySuite you can set it up as follows (on a Unix system):
$: conda create -n buddy python=3.5
$: source activate buddy
When you are done with BuddySuite for the day, you can easily go back to your original environment:
$: source deactivate
For Windows:
$: conda create -n buddy python=3.5
$: activate buddy
$: deactivate
If running a Debian/Ubuntu-based linux distribution, ensure python-dev
is installed:
$: sudo apt-get update; sudo apt-get install python-dev
If you are relatively new to scientific computing and are working on a Mac, you will probably need to install the OS X developer tools called 'XCode'. There is a step-by-step guide here.
Assuming you have set up Anaconda, use the program 'pip' to download/install BuddySuite and all its dependencies
$: pip install buddysuite
Then run the buddysuite setup script, which will perform a few additional installation steps:
$: buddysuite -setup
Now the BuddySuite tools should all run from your command line! Try it out:
$: seqbuddy -h
If you are relatively new to scientific computing and are working in a Windows environment, it is strongly recommended that you install the console emulator Cmder and gnu on windows. These will seriously make your life better.
Before you can build compiled packages with pip you need the appropriate compilers installed on your system. Minimalist GNU for Windows is a good option, although an easier method is to simply install pre-compiled packages with conda by running the following:
$: conda install numpy scipy biopython
$: pip install buddysuite
$: buddysuite -setup
Alternatively, you can clone or fork the git repository and run the setup.py script manually. You may need to install dependencies individually if going this route; pay attention to any error messages thrown by setup.py, and use pip or conda to install the problem packages.
$: git clone https://github.com/biologyguy/BuddySuite.git
$: cd BuddySuite
$: python3 setup.py install clean
$: buddysuite -setup
It is highly recommend that you create short-form aliases or sym-links for each buddysuite tool, because it makes it much quicker to call the programs from the terminal window. The following short-forms are used throughout the wiki pages:
Tool | Short-form |
---|---|
AlignBuddy | alb |
DatabaseBuddy | db |
PhyloBuddy | pb |
SeqBuddy | sb |
Check that these commands are not currently used in your system PATH:
$: which sb alb pb db
If they are free (i.e., nothing is returned, or there is a note saying "command not found"), then simply copy the following into the .profile or .bashrc file in your home (usually ~/) directory:
alias sb="seqbuddy"
alias alb="alignbuddy"
alias pb="phylobuddy"
alias db="databasebuddy"
If there is a conflict, just select something else that makes sense to you.
Some of the BuddySuite modules rely on optional third-party packages and tools to unlock all of their functionality. You do NOT need to install these unless you actually have use for them! The BuddySuite tools will let you know if/when they should be installed. Note that any third-party dependencies MUST be placed somewhere in your PATH, such as /usr/local/bin
on UNIX machines (see here for a good blog post on how to manage your PATH).
If you intend on helping with development, it is a good idea to install all dependencies so you can properly run all unit tests. There is a script in the main repository called install_dependencies.sh
that should get everything installed, as long as conda is already on your system.
Below is a full listing of the extra programs and the BuddySuite module that uses them.
Four BLAST binaries (makeblastdb, blastcmd, blastp, and blastn) from the NCBI C++ tool kit. The names of these programs in your PATH must be exact for SeqBuddy to recognize them.
The AlignBuddy generate_alignment function wraps the following third party alignment programs:
The PhyloBuddy generate_tree function wraps the following phylogenetic inference packages:
NOTE: The program names for alignment and tree inference is flexible. While AlignBuddy and PhyloBuddy will search your system for a set list of common names, you are free to explicitly pass in an arbitrary program name to the generate_alignment and generate_tree functions, which will then automatically detect what program it actually being called.