Using Git
The BioPerl source code is available from the Git repository on GitHub.
This page describes some basic Git commands for working with the BioPerl source code. See also: Getting BioPerl.
You need to have the git client installed. Here is one set of instructions. Mac OSX download and install is easier here.
Developers, see the advanced usage notes, including some standard development workflows.
Contents |
Git primer
Before you begin, you may consider reading these excellent primers put together by the Parrot project, which also apply quite well to BioPerl.
- Git Terminology guide (80% generic, 20% parrot specific).
- Git Workflow guide (80% generic, 20% parrot specific).
Download BioPerl from GitHub
To checkout (or clone) the BioPerl core package (most people only want the core package) from GitHub, use:
$ git clone git://github.com/bioperl/bioperl-live.git
Alternatively, you can checkout (or clone) a specific BioPerl package such as bioperl-db (assuming you know what you are doing):
$ git clone git://github.com/bioperl/bioperl-db.git
Note: For the full list of packages, see the #Appendix.
To use this 'live' version of BioPerl, you need to tell Perl where to find it. This is typically done by adjusting the PERL5LIB environment variable. Assuming you checked out the code above into $HOME/src, set this in your .bash_profile or .profile:
export PERL5LIB="$HOME/src/bioperl-live:$PERL5LIB"
or if you use tcsh, in .cshrc:
setenv PERL5LIB "$HOME/src/bioperl-live:$PERL5LIB"
This setting will override any other bioperl installation you may have. To test the version of BioPerl that you are running, use:
$ perl -MBio::Perl -le 'print Bio::Perl->VERSION;'
Release tags and branches
By default, after 'cloning' (above), your checkout is on the BioPerl 'master' development branch. Git makes it easy to switch to a release tag or branch. For more information on these version control concepts see the repositories and branches section of the Git user's manual.
To list tags and branches, use:
$ git tag -l $ git branch -r
To checkout a release tag or branch (for example), use:
$ git checkout bioperl-release-1-6-1 # tag $ git checkout origin/release-1-6-2 # branch
Keeping up to date
To pull all the latest updates into your local repository, hit:
$ git pull
It is recommended to run this command every time you start to work on code (or if you know there has been a bug fix).
Forking and Pull Requests
The preferred procedure for most developers to contribute changes to BioPerl is to fork the project on GitHub, make changes, and then send a pull request on GitHub to the main BioPerl project describing the changes.
GitHub itself has excellent documentation on forking and pull requests, see:
Notes
Git commit messages and links to diffs are posted to the bioperl-guts mailing list, and are available on the RSS feeds as well. See also Tracking Git commits.
Appendix
Bioperl GitHub Repositories
| bioperl-live | Core package including parsers and main objects |
| bioperl-run | Wrapper package around key applications |
| bioperl-db | BioPerl DB is the Perl API that accesses the BioSQL schema |
| bioperl-dev | Bioperl-dev is a development repository for exploratory package (users welcome!) |
| bioperl-ext | Ext package has C extensions including alignment routines and link to staden IO library for sequence trace reads. |
| bioperl-network | Network package can be used to read and analyze protein-protein interaction networks |
| bioperl-pedigree | Pedigree package has objects for Pedigrees, Individuals, Markers, & Genotypes |
| bioperl-gui | GUI package which for Perl-Tk objects for a Graphical User Interface. Serves as the basis for Genquire |
| bioperl-microarray | Microarray package has preliminary objects for microarray data |