Using Git

From BioPerl
(Redirected from Using Subversion)
Jump to: navigation, search

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.


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.

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://

Alternatively, you can checkout (or clone) a specific BioPerl package such as bioperl-db (assuming you know what you are doing):

$ git clone 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:


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.


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
Personal tools
Main Links