Git Product home page Git Product logo

phyx's Introduction

phyx logo

phyx performs phylogenetics analyses on trees and sequences. See installation instructions for Linux and Mac including any dependencies on the wiki here or below. A list of the current programs with examples can be found here.

Authors: Joseph W. Brown, Joseph F. Walker, and Stephen A. Smith

License: GPL https://www.gnu.org/licenses/gpl-3.0.html

Installation instructions

phyx requires a few dependencies. Since installation of these dependencies differs on Linux vs. Mac OSX, we've separated the instructions below.

Mac install

Mac has become increasingly difficult to support at the command line with changes every version on location and standards for compilation tools. First, distribution of compiled programs is very difficult. Furthermore, Mac now defaults to clang as a C/C++ compiler, which does not support OpenMP. For Mac OSX 10.12, we have found that you can install with clang using the simple instructions and [homebrew] (http://brew.sh/) or using a fresh installation of gcc from here. Instructions for both are below (don't use both, choose one, probably the simple one). For simple instructions click here, and for advanced instructions click here.

Install with Homebrew (simple instructions)

The instructions below assume homebrew, which is convenient for dealing with dependencies.

  1. Install the homebrew package manager:

     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  2. Install dependencies from homebrew:

     brew install git
     brew install cmake
     brew install homebrew/science/nlopt
    
  3. On to phyx. first, clone the repository (if you haven't already):

     git clone https://github.com/FePhyFoFum/phyx.git
    
  4. Install the final dependency, armadillo, (included with phyx):

     cd phyx/deps
     tar -xzf armadillo-7.400.2.tgz
     cd armadillo-7.400.2
     ./configure
     make
     sudo make install
    
  5. Install phyx

     cd ../../src
     ./configure
     make
     python run_tests.py
    

If you want to install it so it is available anywhere in your system, do:

    sudo make install

Install with HPC GCC (advanced instructions)

  1. Install gcc and gfortran. Download gcc-6.2-bin.tar.gz or more recent from http://hpc.sourceforge.net/. Install with:

     sudo tar -xvf gcc-6.2-bin.tar -C /
    
  2. Install autoconf from http://ftp.gnu.org/gnu/autoconf/. Get autoconf-latest.tar.gz, then:

     tar -xzf autoconf-latest.tar.gz
     cd autoconf-2.69
     ./configure --prefix=/usr/local/autoconf-2.69
     make
     sudo make install
     ln -s autoconf-2.69 /usr/local/autoconf
    
  3. On to phyx. first, clone the repository (if you haven't already):

     git clone https://github.com/FePhyFoFum/phyx.git
    
  4. Install cmake and install Armadillo. Get cmake from https://cmake.org/download/. I got https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz. Get armadillo from the deps directory or http://arma.sourceforge.net/download.html, get the stable one. Untar it. Double click the Cmake.app. Click "Browse source..." and choose the armadillo folder that was created after untaring. Click "Browse build..." and choose the same folder as browse source. Click "Configure" and then click "Generate". Go to the terminal and browse to that armadillo folder and type:

     make
     sudo make install
    
  5. Install nlopt. Get armadillo from the deps directory or go to http://ab-initio.mit.edu/wiki/index.php/NLopt#Download_and_installation and download the latest (probably nlopt-2.4.2.tar.gz). Untar and browse in the terminal to that directory:

     ./configure --with-cxx --without-octave --without-matlab
     make
     sudo make install
    
  6. Compile phyx. Now you can go to the src directory of phyx and type:

     ./configure
     make
     python run_tests.py
     sudo make install
    

and all the programs should compile without issue.

Linux install

These instructions work for most ubuntu versions as well as debian.

  1. Install general dependencies:

     sudo apt-get install git
     sudo apt-get install autotools-dev
     sudo apt-get install autoconf
     sudo apt-get install automake
     sudo apt-get install cmake
     sudo apt-get install libtool
     sudo apt-get install liblapack-dev
     sudo apt-get install libatlas-cpp-0.6-dev
    
  2. Clone the phyx repo (if you haven't already):

     git clone https://github.com/FePhyFoFum/phyx.git
    
  3. Install nlopt dependency (default is C, we need C++; not available from apt-get):

     cd phyx/deps
     tar -xvzf nlopt-2.4.2.tar.gz
     cd nlopt-2.4.2
     ./configure --with-cxx --without-octave --without-matlab
     make
     sudo make install
    
  4. Install armadillo dependency
    Note: it is possible to get from apt-get, but need version >= 5.2:

     sudo apt-get install libarmadillo-dev
    

On debian it was necessary to use backports:

    sudo apt-get -t jessie-backports install libarmadillo-dev

If that is not possible, compile the provided code:

    cd phyx/deps
    tar -xvzf armadillo-7.400.2.tgz
    cd armadillo-7.400.2
    ./configure
    make
    sudo make install
  1. Finally, install phyx:

     cd phyx/src
     ./configure
     make
     python run_tests.py
    

If you want to install it so it is available anywhere in your system, do:

    sudo make install

phyx's People

Contributors

josephwb avatar blackrim avatar jfwalker avatar chinchliff avatar

Watchers

Jianjun Jin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.