Fast and Accurate Supertree Estimation
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
datasets
dendropy
matrix_representation
newick_modified
spruce
superfine
README.md
runSuperFine.py

README.md

SuperFine

Fast and Accurate Supertree Estimation

SuperFine is a meta-method that utilizes a novel two-step procedure in order to improve the accuracy and scalability of supertree methods. The paper SuperFine: Fast and Accurate Supertree Estimation (see [1]) is, probably, the best introduction to SuperFine.

SuperFine allows to create supertrees from source trees, as those provided in the datasets directory. There are two main methods, from which one can choose, to compute a supertree, those are:

  • Matrix Representation with Parsimony (MRP); and
  • Matrix Representation with Likelihood (MRL).
To run MRP analyses, PAUP* has to be available on the system used to run the runSuperFine.py script. On the same way, to run MRL analyses, FastTree has also to be available on the system. In a Unix-like system, to find out if PAUP* and FastTree are available one may issue one of the following commands at a command line:
  • paup
  • which paup
  • FastTree
  • which FastTree
Obviously, these binaries may exist but with different names (e.g. PAUP, fasttree, and so forth). Thus, is up to the user find these tools or, alternatively, make them available. However, one should notice that SuperFine expects paup and FastTree (case-sensitive!) binaries to be available.

At the moment of this writing, 14.November.2016, this version of SuperFine was successfully tested with:

  • Python versions 2.7 and 3;
  • PAUP* version 4a150; and
  • FastTree version 2.1.9
To download PAUP* visit http://people.sc.fsu.edu/~dswofford/paup_test/, and to download FastTree visit http://www.microbesonline.org/fasttree/. Again, notice that SuperFine expects the binaries paup and FastTree to be available system-wide.

If you use SuperFine in your research we would appreciate if you cite [1], you may also be interested in [2][3][4].

How to Run

Passing the -h argument to the runSuperFine.py script allows to print a help message, which is useful to learn how to use SuperFine.

Usage Examples
python ./runSuperFine.py -h
python ./runSuperFine.py -r rmrp ./datasets/biological/seabirds/kennedy.source_trees_manual
python ./runSuperFine.py -r rmrp ./datasets/simulated/100-taxa/50/sm_data.0.source_trees
python ./runSuperFine.py -r fml ./datasets/biological/seabirds/kennedy.source_trees_manual
python ./runSuperFine.py -r fml ./datasets/simulated/100-taxa/50/sm_data.0.source_trees

References

[1] M. S. Swenson, R. Suri, C. R. Linder, T. Warnow, SuperFine: Fast and Accurate Supertree Estimation, in: Systematic Biology, Vol. 61, Oxford University Press, 2012, pp. 214–227.
[2] D. T. Neves, T. Warnow, J. L. Sobral, K. Pingali, Parallelizing SuperFine, in: Proceedings of the 27th Annual ACM Symposium on Applied Computing, SAC ’12, ACM, 2012, pp. 1361–1367.
[3] D. T. Neves, J. L. Sobral, Towards a Faster and Accurate Supertree Inference, in: 20th IEEE Symposium on Computers and Communications, ISCC ’15, IEEE, 2015.
[4] D. T. Neves, J. L. Sobral, Parallel SuperFine - A Tool for Fast and Accurate Supertree Estimation: Features and Limitations, in: Future Generation Computer Systems, Elsevier, 2016.