Skip to content

High Level modules for the Low Level Phylogenetic Likelihood Library

License

Notifications You must be signed in to change notification settings

ddarriba/pll-modules

Repository files navigation

pll-modules

High Level modules for the Low Level Phylogenetic Likelihood Library

Introduction

Clone & compile

PLL-Modules depends on the PLL library submodule (libs/libpll), so you have to clone the repository as follows:

git clone --recursive https://github.com/ddarriba/pll-modules

or

git clone https://github.com/ddarriba/pll-modules
git submodule update --init --recursive

To compile and install module with the bundled version libpll, run:

./install-with-libpll.sh [TARGET_DIR]

Alternatively, if you want to use a different version of libpll, you can run:

./autogen.sh
./configure CPPFLAGS="-Ipath/to/libpll" LDFLAGS="-Lpath/to/libpll"
make
make install    # as root, otherwise run: sudo make install

PLL-Modules can now also be built using cmake:

mkdir build
cd build
cmake ..
make

On can also build specific modules only using (remove the modules you do not need):

cmake
cmake -DPLLMODULES_COMPONENTS="optimize;algorithm;binary;msa;tree;util" ..

The library will be installed on the operating system's standard paths. For some GNU/Linux distributions it might be necessary to add that standard path (typically /usr/local/lib) to /etc/ld.so.conf and run ldconfig.

Microsoft Windows compatibility was tested with a cross-compiler and seems to work out-of-the-box using MingW.

Documentation

PLL-Modules is documented with Doxygen. Run the following command to generate the API description in HTML and LaTeX formats:

doxygen doxy.cfg

Afterwards, the html API documentation is available at doc/html/index.html. Additionally, you can generate pdf documentation by compiling the LaTeX output:

cd doc/latex
make

Usage examples

Please refer to the wiki page and/or the examples directory.

Documentation

Please refer to the wiki page.

Available functionality

Below is a list of available modules in the current version. Check each individual README.md file in the correspondent subdirectory for more information.

Module Prefix Description
binary pllmod_bin_ Binary I/O
msa pllmod_msa_ MSA management
optimize pllmod_opt_ Optimization algorithms
tree pllmod_tree_ Tree management
util pllmod_util_ Convenience functions
algorithm pllmod_algo_ High level algorithms