Package: tapir
Purposetapircontains programs to estimate and plot phylogenetic informativeness for
large datasets.Citing tapirWhen using tapir, please cite:Faircloth BC, Chang J, Alfaro ME:tapirenables high throughput analysis of
phylogenetic informativeness.https://github.com/faircloth-lab/tapirTownsend JP: Profiling phylogenetic informativeness. Systematic Biol. 2007,
56:222-231.Pond SLK, Frost SDW, Muse SV: HyPhy: hypothesis testing using phylogenies.
Bioinformatics 2005, 21:676-679.Dependencieshyphy2 (pleasedownloador build asingle-threadedhyphy2)Python 2.6numpyscipydendropyInstallationForALLplatforms, you must download a hyphy binary for your
platform (osx or linux) and place that within your $PATH:wget https://github.com/downloads/faircloth-lab/tapir/hyphy2.osx.gz
gunzip hyphy2.*.gz
chmod 0700 hyphy2.*
mv hyphy2.* ~/Bin/hyphy2To install the other dependencies (numpy, scipy), you may need to
install a Fortran compiler on linux/osx:LinuxOn linux (ubuntu/debian), use:apt-get install gfortran libatlas-base-dev liblapack-devInstall tapir and dependencies, which include numpy and scipy (the
reason we installed the dependencies above):pip install tapirTo plot results, you will also need to:apt-get install r-base r-base-dev
pip install rpy2OSXIt is easiest just to install thescipy superpack.  This will install the
dependencies that tapir needs.  After installing the superpack, using
pip, install tapir:pip install tapirAlternatively, you can simply try to install tapir using:pip install tapirTo plot results, you need toinstall Rand then install rpy2:pip install rpy2Other OSsInstallnumpy,scipy,
anddendropyfor your
platform.  Then:wget http://pypi.python.org/packages/source/t/tapir/tapir-1.0.tar.gz
tar -xzvf tapir-1.0.tar.gz
cd tapir*
python setup.py build
python setup.py test
python setup.py installPlottingPlotting is optional.  To install the plotting dependencies, see
Installation, above.TestingIf you didn’t run the tests usingpython setup.py testabove, you can also:import tapir
tapir.test()UseTheestimate_p_i.pycode calls a batch file for hyphy that is intemplates/.  This file needs to be in the same position relative to
wherever you putestimate_p_i.py.  If you install thins as above, you’ll
be fine, for the moment.To run:cd /path/to/tapir/

python tapir_compute.py Input_Folder_of_Nexus_Files/ Input.tree \
    --output Output_Directory \
    --epochs=32-42,88-98,95-105,164-174 \
    --times=37,93,100,170 \
    --multiprocessing–multiprocessingis optional, without it, each locus will be run
consecutively.If you have already run the above and saved results to your output
folder (see below), you can use the pre-existing site-rate records
rather than estimating those again with:python tapir_compute.py Input_Folder_of_Site_Rate_JSON_Files/ Input.tree \
   --output Output_Directory \
   --epochs=32-42,88-98,95-105,164-174 \
   --times=37,93,100,170 \
   --multiprocessing \
   --site-ratesResultstapir writes results to asqlitedatabase in the
output directory of your choosing.  This directory also holds site rate
files inJSONformat for each locus passed
throughtapir_compute.py.You can access the results in the database as follows.  For more examples,
including plotting, see thedocumentationcrank up sqlite:sqlite3  Output_Directory/phylogenetic-informativeness.sqliteget integral data for all epochs:select locus, interval, pi from loci, interval where loci.id = interval.idget integral data for a specific epoch:select locus, interval, pi from loci, interval
where interval = '95-105' and loci.id = interval.id;get the count of loci having max(PI) at different epochs:create temporary table max as select id, max(pi) as max from interval group by id;

create temporary table t as select interval.id, interval, max from interval, max
where interval.pi = max.max;

select interval, count(*) from t group by interval;Plotting Resultstapir contains plotting scripts to help you plot data within a results database
and compare data between different databases.  tapir uses RPY and R to
do this.  You can also plot data directly in R.  Until we finish the
documentation, please see thewikifor examples.AcknowledgementsBCF thanks SP Hubbell, PA Gowaty, RT Brumfield, TC Glenn, NG Crawford,
JE McCormack, and M Reasel. JHLC and MEA thank J Eastman and J Brown for
thoughtful comments about PI. We thank Francesc Lopez-Giraldez and
Jeffrey Townsend for providing us with a copy of their web-application
source code and helpful discussion.