BuddySuite is a collection of command line utilities written in Python for working with biological data.
The BuddySuite modules are ‘one-stop-shop’ command-line tools for common biological data file manipulations. Formats are detected automatically, conversions are seamless, and you can pipe into or out of the modules to build custom bioinformatics workflows, allowing you to spend more time analyzing your sequences, alignments, and phylogenetic trees, instead of wrangling them.
For example, the following command reads in three sequence files (all in different formats), pulls out records with RefSeq identifiers, calls MAFFT to generate an alignment, shifts gaps to force a codon alignment, calls RAxML to infer a phylogeny, and then roots the tree at its midpoint.
$: seqbuddy seqs1.gb seqs2.embl seqs3.fasta --pull_records "[XN]M" | alignbuddy --generate_alignment mafft | alignbuddy --enforce_triplets | phylobuddy --generate_tree raxmlHPC-SSE3 | phylobuddy --root
BuddySuite is a Python3 project, developed and extensively tested on Linux and Mac OS X. Full release versions are also tested on Windows before release, so should work as expected on Vista and above.
The simplest way to get up and running is:
$: pip install buddysuite $: buddysuite -setup
Further instructions are available in the installation guide.
Each tool in the BuddySuite has been extensively documented in the wiki, complete with worked examples and explanations for all arguments/options.
All of the individual Buddy toolkits are located in the ‘buddysuite’ directory and the ‘develop’ branch is where all new features have been implemented. If you’re interested in contributing, please refer to the developer page for further information.
We are currently working on a manuscript for peer review, but until then there is a pre-print on bioRxiv that can be cited if you use BuddySuite in your work.
Any comments you have would be really appreciated. Please feel free to add issues in the GitHub issue tracker or contact Steve Bond (lead developer) directly at email@example.com.