ABLE is a program for the joint inference of arbitrary population histories and the genome-wide recombination rate using data from multiple whole genome sequences or fragmented assemblies (e.g. UCE's, RADSeq, and targeted exomes). It makes use of the distribution of blockwise SFS (bSFS) patterns which retain information on the variation in genealogies spanning short-range linkage blocks across the genome. ABLE does not require phased data as the bSFS does not distinguish the sampled lineage in which a mutation has occurred. Like with the SFS, outgroup information can be also be ignored by folding the bSFS. ABLE takes advantage of openmp parallelization and is tailored for studying the population histories of model as well as non-model species.
ABLE stands for Approximate Blockwise Likelihood Estimation and is written in C/C++.
It is easiest to build an ABLE binary under all flavours of Linux. ABLE requires the GNU Compiler Collection (gcc)
and GNU Make (make)
for a smooth installation and has been tested using gcc 4.8.4 and make 3.81. It is also useful to have git installed for seamless updates of the latest version of ABLE. If you do not have gcc, make or git, you can use your OS specific package handling utility.
Under Ubuntu this corresponds to the following in a terminal
sudo apt-get install build-essential git
Other dependencies such as the GNU Scientific Library (GSL) and the Non-Linear Optimization (NLopt) library are automatically installed by following the instructions outlined below.
-
Clone the
ABLErepository. Ifgitis not available see the next section (or here).git clone https://github.com/champost/ABLE.git -
Change directory
cd ABLE -
If you are installing
ABLEfor the first time you might have to compile theGSLandNLoptlibraries from source. This can take some time as the command below performs a static installation of the libraries. You can skip this step if you already have these libraries installed system-wide or if you are simply updatingABLEto the latest version (see next section).make deps -
Finally, build an
ABLEbinarymake clean && make all
If you want ABLE to be accessible from everywhere, such as your data folder, you might want to
cp ABLE ~/bin
This ensures that you can execute the program by specifying ABLE ... instead of ./ABLE ... from the installation folder. This holds only if ~/bin exists and is part of your $PATH environment variable.
As mentioned above, git considerably simplifies the process (or headache) of updating ABLE. You simply have to change your current working directory to that of ABLE and execute the following
git pull
make clean && make all
If git not available on your machine you can try looking for solutions here. Alternatively, you can download the ABLE repository somewhere on your computer as shown below.
wget https://github.com/champost/ABLE/archive/master.tar.gz
Untar the archive using
tar -xzf master.tar.gz
and manually compare the contents of the ABLE-master directory with your ABLE installation and replace the files that have changed in size.
With or without git, you will seldom need to recompile the libraries that ABLE depends upon and in which case you will have to run the make deps command before compiling an ABLE binary with make clean && make all. This information will be clearly stated in the Release notes and/or the ABLE documentation.
- You can read the full
ABLEdocumentation online or downoad the PDF. - Please report bugs and feature requests at : https://github.com/champost/ABLE/issues.
- General questions/announcements regarding
ABLEand for the benefit of all can be posted to groupABLE. - An accompanying draft illustrating the performance of
ABLEis available on bioRxiv.