From ea5fd4180ba5a6dcddf3c23918c0b75abb9f50c4 Mon Sep 17 00:00:00 2001 From: Petar Petrov Date: Fri, 9 Sep 2022 04:23:03 +0100 Subject: [PATCH] academic/iqtree: Added (Efficient phylogenomic software by ML) Signed-off-by: Dave Woodfall --- academic/iqtree/README | 62 ++++++++++++++++++++++ academic/iqtree/References | 35 +++++++++++++ academic/iqtree/iqtree.SlackBuild | 86 +++++++++++++++++++++++++++++++ academic/iqtree/iqtree.info | 10 ++++ academic/iqtree/slack-desc | 19 +++++++ 5 files changed, 212 insertions(+) create mode 100644 academic/iqtree/README create mode 100644 academic/iqtree/References create mode 100644 academic/iqtree/iqtree.SlackBuild create mode 100644 academic/iqtree/iqtree.info create mode 100644 academic/iqtree/slack-desc diff --git a/academic/iqtree/README b/academic/iqtree/README new file mode 100644 index 0000000000..00f5a25553 --- /dev/null +++ b/academic/iqtree/README @@ -0,0 +1,62 @@ +iqtree (IQ-TREE): Efficient and versatile phylogenomic software by +maximum likelihood (ML) + +The IQ-TREE software was created as the successor of IQPNNI and TREE- +PUZZLE (thus the name IQ-TREE). IQ-TREE was motivated by the rapid +accumulation of phylogenomic data, leading to a need for efficient +phylogenomic software that can handle a large amount of data and provide +more complex models of sequence evolution. To this end, IQ-TREE can +utilize multicore computers and distributed parallel computing to speed +up the analysis. IQ-TREE automatically performs checkpointing to resume +an interrupted analysis. + +As input IQ-TREE accepts all common sequence alignment formats including +PHYLIP, FASTA, Nexus, Clustal and MSF. As output IQ-TREE will write a +self-readable report file (name suffix .iqtree), a NEWICK tree file +(.treefile) which can be visualized by tree viewer programs such as +FigTree, Dendroscope or iTOL. + +Key features +- Efficient search algorithm: Fast and effective stochastic algorithm to + reconstruct phylogenetic trees by maximum likelihood. IQ-TREE compares + favorably to RAxML and PhyML in terms of likelihood while requiring + similar amount of computing time. +- Ultrafast bootstrap: An ultrafast bootstrap approximation (UFBoot) to + assess branch supports. UFBoot is 10 to 40 times faster than RAxML + rapid bootstrap and obtains less biased support values. +- Ultrafast model selection: An ultrafast and automatic model selection + (ModelFinder) which is 10 to 100 times faster than jModelTest and + ProtTest. ModelFinder also finds best-fit partitioning scheme like + PartitionFinder. +- Big Data Analysis: Supporting huge datasets with thousands of + sequences or millions of alignment sites via checkpointing, safe + numerical and low memory mode. Multicore CPUs and parallel MPI system + are utilized to speedup analysis. +- Phylogenetic testing: Several fast branch tests like SH-aLRT and a + Bayes test and tree topology tests like the approximately unbiased + (AU) test. + +The strength of IQ-TREE is the availability of a wide variety of +phylogenetic models: +- Common models: All common substitution models for DNA, protein, codon, + binary and morphological data with rate heterogeneity among sites and + ascertainment bias correction for e.g. SNP data. +- Partition models: Allowing individual models for different genomic + loci (e.g. genes or codon positions), mixed data types, mixed rate + heterogeneity types, linked or unlinked branch lengths between + partitions. +- Mixture models: fully customizable mixture models and empirical + protein mixture models and. +- Polymorphism-aware models: Accounting for incomplete lineage sorting + to infer species tree from genome-wide population data. + +CITING: +To maintain IQ-TREE, support users and secure fundings, it is important +that you cite the papers, whenever the corresponding features were +applied for your analysis. Note that the paper of Nguyen et al. (2015) +only described the tree search algorithm. Thus, it is not enough to only +cite this paper if you, for example, use partition models, where +Chernomor et al. (2016) should be cited. + +Check the "References" file in the package doc folder, as well as, the +program's web-page. diff --git a/academic/iqtree/References b/academic/iqtree/References new file mode 100644 index 0000000000..37b6382d9c --- /dev/null +++ b/academic/iqtree/References @@ -0,0 +1,35 @@ +How to cite? +To maintain IQ-TREE, support users and secure fundings, it is important for us that you cite the following papers, whenever the corresponding features were applied for your analysis. Note that the paper of Nguyen et al. (2015) only described the tree search algorithm. Thus, it is not enough to only cite this paper if you, for example, use partition models, where Chernomor et al. (2016) should be cited. + +General citation for IQ-TREE 2: +B.Q. Minh, H.A. Schmidt, O. Chernomor, D. Schrempf, M.D. Woodhams, A. von Haeseler, R. Lanfear (2020) IQ-TREE 2: New models and efficient methods for phylogenetic inference in the genomic era. Mol. Biol. Evol., 37:1530-1534. https://doi.org/10.1093/molbev/msaa015 + +When using concordance factors please cite: +B.Q. Minh, M.W. Hahn, R. Lanfear (2020) New methods to calculate concordance factors for phylogenomic datasets. Mol. Biol. Evol. https://doi.org/10.1093/molbev/msaa106 + +When using heterotachy models please cite: +S.M. Crotty, B.Q. Minh, N.G. Bean, B.R. Holland, J. Tuke, L.S. Jermiin, A. von Haeseler (2020) GHOST: Recovering historical signal from heterotachously-evolved sequence alignments. Syst. Biol., 69:249-264. https://doi.org/10.1093/sysbio/syz051 + +When using the tests of symmetry please cite: +S. Naser-Khdour, B.Q. Minh, W. Zhang, E.A. Stone, R. Lanfear (2019) The Prevalence and Impact of Model Violations in Phylogenetic Analysis. Genome Biol. Evol., 11:3341-3352. https://doi.org/10.1093/gbe/evz193 + +When using polymorphism-aware models please cite: +D. Schrempf, B.Q. Minh, A. von Haeseler, C. Kosiol (2019) Polymorphism-aware species trees with advanced mutation models, bootstrap, and rate heterogeneity. Mol. Biol. Evol., 36:1294–1301. https://doi.org/10.1093/molbev/msz043 + +When performing ultrafast bootstrap (UFBoot) please cite: +D.T. Hoang, O. Chernomor, A. von Haeseler, B.Q. Minh, L.S. Vinh (2018) UFBoot2: Improving the ultrafast bootstrap approximation. Mol. Biol. Evol., 35:518–522. https://doi.org/10.1093/molbev/msx281 + +When using posterior mean site frequency model (PMSF) please cite: +H.C. Wang, B.Q. Minh, S. Susko, A.J. Roger (2018) Modeling site heterogeneity with posterior mean site frequency profiles accelerates accurate phylogenomic estimation. Syst. Biol., 67:216–235. https://doi.org/10.1093/sysbio/syx068 + +When using model selection (ModelFinder) please cite: +S. Kalyaanamoorthy, B.Q. Minh, T.K.F. Wong, A. von Haeseler, L.S. Jermiin (2017) ModelFinder: Fast model selection for accurate phylogenetic estimates. Nat. Methods, 14:587-589. https://doi.org/10.1038/nmeth.4285 + +When using partition models please cite: +O. Chernomor, A. von Haeseler, B.Q. Minh (2016) Terrace aware data structure for phylogenomic inference from supermatrices. Syst. Biol., 65:997-1008. https://doi.org/10.1093/sysbio/syw037 + +When using IQ-TREE web server please cite: +J. Trifinopoulos, L.-T. Nguyen, A. von Haeseler, B.Q. Minh (2016) W-IQ-TREE: a fast online phylogenetic tool for maximum likelihood analysis.. Nucleic Acids Res., 44:W232-W235. https://doi.org/10.1093/nar/gkw256 + +For IQ-TREE 1 please cite: +L.-T. Nguyen, H.A. Schmidt, A. von Haeseler, B.Q. Minh (2015) IQ-TREE: A fast and effective stochastic algorithm for estimating maximum likelihood phylogenies.. Mol. Biol. Evol., 32:268-274. https://doi.org/10.1093/molbev/msu300 diff --git a/academic/iqtree/iqtree.SlackBuild b/academic/iqtree/iqtree.SlackBuild new file mode 100644 index 0000000000..b65622a9ba --- /dev/null +++ b/academic/iqtree/iqtree.SlackBuild @@ -0,0 +1,86 @@ +#!/bin/bash + +# Slackware build script for + +# Copyright 2022 Petar Petrov slackalaxy at gmail dot com +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=iqtree +VERSION=${VERSION:-2.2.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION-Linux +tar xvf $CWD/$PRGNAM-$VERSION-Linux.tar.gz +cd $PRGNAM-$VERSION-Linux +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +install -D -m755 bin/iqtree2 $PKG/usr/bin/iqtree2 + +cd $PKG/usr/bin/ +ln -s iqtree2 $PRGNAM +cd - + +mkdir -p $PKG/usr/share/$PRGNAM +cp -a example.* models.nex $PKG/usr/share/$PRGNAM + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild +cat $CWD/References > $PKG/usr/doc/$PRGNAM-$VERSION/References + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/academic/iqtree/iqtree.info b/academic/iqtree/iqtree.info new file mode 100644 index 0000000000..83486db533 --- /dev/null +++ b/academic/iqtree/iqtree.info @@ -0,0 +1,10 @@ +PRGNAM="iqtree" +VERSION="2.2.0" +HOMEPAGE="http://www.iqtree.org/" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/iqtree/iqtree2/releases/download/v2.2.0/iqtree-2.2.0-Linux.tar.gz" +MD5SUM_x86_64="d968f9f563dc98dbb7f188d192cffc8e" +REQUIRES="" +MAINTAINER="Petar Petrov" +EMAIL="slackalaxy@gmail.com" diff --git a/academic/iqtree/slack-desc b/academic/iqtree/slack-desc new file mode 100644 index 0000000000..cecc57ba48 --- /dev/null +++ b/academic/iqtree/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +iqtree: iqtree (Efficient and versatile phylogenomic software by ML) +iqtree: +iqtree: The IQ-TREE software was created as the successor of IQPNNI and +iqtree: TREE-PUZZLE. IQ-TREE can utilize multicore computers and +iqtree: distributed parallel computing to speed up the analysis. IQ-TREE +iqtree: automatically performs checkpointing to resume an interrupted +iqtree: analysis. +iqtree: +iqtree: http://www.iqtree.org/ +iqtree: https://github.com/Cibiv/IQ-TREE +iqtree: