Git Product home page Git Product logo

partitionfinder's Introduction

PartitionFinder

PartitionFinderMorphology is a Python2 program for choosing partitioning schemes for discrete character data. You can use them before running a phylogenetic analysis, in order to decide how to divide up your sequence data into separate blocks before analysis.

Operating System

Mac, Linux and Windows are supported.

Manual

is in the /docs folder.

Quick Start

  • Make sure you have Anaconda Python 2.7 installed first, if not, go to the Anaconda website to download.
  1. Open Terminal (on a Mac or Linux machine) or Command Prompt (on Windows) and cd to the directory with PartitionFinder in it

  2. Run PartitionFinder by typing at the command prompt:

    python PartitionFinderMorphology.py example

This will run the included example analysis for PartitionFinder. More generally, the command line for PartitionFinder looks like this:

python <PartitionFinderMorphology.py> <foldername>

where <PartitionFinderMorphology.py> is the full file-path to the PartitionFinderMorphology.py file and is the full filepath to a folder with a phylip alignemnt and associated .cfg file.

##Morphology has some special caveats.

  • If you use automated partition discovery, this is based on the TIGER of Cummins and McInerney (2011) as implemented by Fransden et al. (2015). Because this identifies characters that are dissimilar in evolutionary rate to other characters in the matrix (see paper for a discussion), some partitions may be quite small. That a partitioning scheme is supported statistically is not a guarantee that you will estimate a more correct topology using it, or that a Bayesian topology search will arrive at convergence using this scheme. We strongly suggest comparing trees between partitioned and unpartitioned runs, and, as always, performing multiple rounds of topology estimation for any given set of parameters.
  • If all the data in your dataset are binary, specify 'binary' on line 10.
  • The command line option 'asc-corr=lewis' is an ascertainment bias correction. Unless you have collected invarient sites, you need to specify an ascertainment correction. 'asc-corr=lewis' is the correction described in Paul Lewis' 2001 paper introducing the Mk model. More information can be found on the RAxML website. If you call this correction, the program syntax will look like so:
python PartitionFinderMorphology.py examples/morphology --cmdline-extras=' --asc-corr=lewis'
  • In order to take advantage of these important corrections, make sure you are using at least version 8.1.13 from the RAxML github.
  • Phylip is not a standard format for morphology, but it is very simple. It is simply the a one-line header with the name of species and characters, separated by a space. However, you do need to remove spaces from species names. If you would rather do this programmatically, in the helper_scripts directory, find the script converter.py. It is called via:
    python converter.py 'path to files' 'files extension' 'format of input files' 'format you need'

For example, to convert a nexus file in the current working directory, type:

    python converter.py . .nex nexus phylip

This script depends on the Dendropy library.

For more details, read the manual.

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.