Fork me on GitHub

iqtree-ultrafast-bootstrap: Construct a phylogenetic tree with IQ-TREE with bootstrap supports.

Citations
  • Diep Thi Hoang, Olga Chernomor, Arndt von Haeseler, Bui Quang Minh, and Le Sy Vinh. Ufboot2: improving the ultrafast bootstrap approximation. Molecular Biology and Evolution, 35(2):518–522, 2017. doi:10.1093/molbev/msx281.

  • Subha Kalyaanamoorthy, Bui Quang Minh, Thomas K F Wong, Arndt von Haeseler, and Lars S Jermiin. Modelfinder: fast model selection for accurate phylogenetic estimates. Nature Methods, 14(6):587–589, 2017. URL: http://dx.doi.org/10.1038/nmeth.4285, doi:10.1038/nmeth.4285.

  • Bui Quang Minh, Minh Anh Thi Nguyen, and Arndt von Haeseler. Ultrafast approximation for phylogenetic bootstrap. Molecular Biology and Evolution, 30(5):1188–1195, 2013. URL: http://doi.org/10.1093/molbev/mst024, doi:10.1093/molbev/mst024.

  • Bui Quang Minh, Heiko A Schmidt, Olga Chernomor, Dominik Schrempf, Michael D Woodhams, Arndt von Haeseler, and Robert Lanfear. Iq-tree 2: new models and efficient methods for phylogenetic inference in the genomic era. Molecular Biology and Evolution, 37(5):1530–1534, 2020. URL: http://dx.doi.org/10.1093/molbev/msaa015, doi:10.1093/molbev/msaa015.

Docstring:

Usage: qiime phylogeny iqtree-ultrafast-bootstrap [OPTIONS]

  Construct a phylogenetic tree using IQ-TREE (http://www.iqtree.org/) with
  automatic model selection and bootstrap supports.

Inputs:
  --i-alignment ARTIFACT FeatureData[AlignedSequence]
                          Aligned sequences to be used for phylogenetic
                          reconstruction.                           [required]
Parameters:
  --p-seed INTEGER        Random number seed. If not set, program defaults
                          will be used. See IQ-TREE manual for details.
                                                                    [optional]
  --p-n-cores NTHREADS    The number of cores to use for parallel processing.
                          Use `auto` to let IQ-TREE automatically determine
                          the optimal number of cores to use.     [default: 1]
  --p-n-cores-max NTHREADS
                          Limits the maximum number of cores to be used when
                          'n-cores' is set to 'auto'.               [optional]
  --p-n-runs INTEGER      Number of indepedent runs. Multiple  independent
    Range(1, None)        runs (e.g. 10) can outperform a single run in terms
                          of likelihood maximisation.             [default: 1]
  --p-substitution-model TEXT Choices('JC', 'JC+I', 'JC+G', 'JC+I+G',
    'JC+R2', 'JC+R3', 'JC+R4', 'JC+R5', 'JC+R6', 'JC+R7', 'JC+R8', 'JC+R9',
    'JC+R10', 'F81', 'F81+I', 'F81+G', 'F81+I+G', 'F81+R2', 'F81+R3',
    'F81+R4', 'F81+R5', 'F81+R6', 'F81+R7', 'F81+R8', 'F81+R9', 'F81+R10',
    'K80', 'K80+I', 'K80+G', 'K80+I+G', 'K80+R2', 'K80+R3', 'K80+R4',
    'K80+R5', 'K80+R6', 'K80+R7', 'K80+R8', 'K80+R9', 'K80+R10', 'HKY',
    'HKY+I', 'HKY+G', 'HKY+I+G', 'HKY+R2', 'HKY+R3', 'HKY+R4', 'HKY+R5',
    'HKY+R6', 'HKY+R7', 'HKY+R8', 'HKY+R9', 'HKY+R10', 'TNe', 'TNe+I',
    'TNe+G', 'TNe+I+G', 'TNe+R2', 'TNe+R3', 'TNe+R4', 'TNe+R5', 'TNe+R6',
    'TNe+R7', 'TNe+R8', 'TNe+R9', 'TNe+R10', 'TN', 'TN+I', 'TN+G', 'TN+I+G',
    'TN+R2', 'TN+R3', 'TN+R4', 'TN+R5', 'TN+R6', 'TN+R7', 'TN+R8', 'TN+R9',
    'TN+R10', 'K81', 'K81+I', 'K81+G', 'K81+I+G', 'K81+R2', 'K81+R3',
    'K81+R4', 'K81+R5', 'K81+R6', 'K81+R7', 'K81+R8', 'K81+R9', 'K81+R10',
    'K81u', 'K81u+I', 'K81u+G', 'K81u+I+G', 'K81u+R2', 'K81u+R3', 'K81u+R4',
    'K81u+R5', 'K81u+R6', 'K81u+R7', 'K81u+R8', 'K81u+R9', 'K81u+R10', 'TPM2',
    'TPM2+I', 'TPM2+G', 'TPM2+I+G', 'TPM2+R2', 'TPM2+R3', 'TPM2+R4',
    'TPM2+R5', 'TPM2+R6', 'TPM2+R7', 'TPM2+R8', 'TPM2+R9', 'TPM2+R10',
    'TPM2u', 'TPM2u+I', 'TPM2u+G', 'TPM2u+I+G', 'TPM2u+R2', 'TPM2u+R3',
    'TPM2u+R4', 'TPM2u+R5', 'TPM2u+R6', 'TPM2u+R7', 'TPM2u+R8', 'TPM2u+R9',
    'TPM2u+R10', 'TPM3', 'TPM3+I', 'TPM3+G', 'TPM3+I+G', 'TPM3+R2', 'TPM3+R3',
    'TPM3+R4', 'TPM3+R5', 'TPM3+R6', 'TPM3+R7', 'TPM3+R8', 'TPM3+R9',
    'TPM3+R10', 'TPM3u', 'TPM3u+I', 'TPM3u+G', 'TPM3u+I+G', 'TPM3u+R2',
    'TPM3u+R3', 'TPM3u+R4', 'TPM3u+R5', 'TPM3u+R6', 'TPM3u+R7', 'TPM3u+R8',
    'TPM3u+R9', 'TPM3u+R10', 'TIMe', 'TIMe+I', 'TIMe+G', 'TIMe+I+G',
    'TIMe+R2', 'TIMe+R3', 'TIMe+R4', 'TIMe+R5', 'TIMe+R6', 'TIMe+R7',
    'TIMe+R8', 'TIMe+R9', 'TIMe+R10', 'TIM', 'TIM+I', 'TIM+G', 'TIM+I+G',
    'TIM+R2', 'TIM+R3', 'TIM+R4', 'TIM+R5', 'TIM+R6', 'TIM+R7', 'TIM+R8',
    'TIM+R9', 'TIM+R10', 'TIM2e', 'TIM2e+I', 'TIM2e+G', 'TIM2e+I+G',
    'TIM2e+R2', 'TIM2e+R3', 'TIM2e+R4', 'TIM2e+R5', 'TIM2e+R6', 'TIM2e+R7',
    'TIM2e+R8', 'TIM2e+R9', 'TIM2e+R10', 'TIM2', 'TIM2+I', 'TIM2+G',
    'TIM2+I+G', 'TIM2+R2', 'TIM2+R3', 'TIM2+R4', 'TIM2+R5', 'TIM2+R6',
    'TIM2+R7', 'TIM2+R8', 'TIM2+R9', 'TIM2+R10', 'TIM3e', 'TIM3e+I',
    'TIM3e+G', 'TIM3e+I+G', 'TIM3e+R2', 'TIM3e+R3', 'TIM3e+R4', 'TIM3e+R5',
    'TIM3e+R6', 'TIM3e+R7', 'TIM3e+R8', 'TIM3e+R9', 'TIM3e+R10', 'TIM3',
    'TIM3+I', 'TIM3+G', 'TIM3+I+G', 'TIM3+R2', 'TIM3+R3', 'TIM3+R4',
    'TIM3+R5', 'TIM3+R6', 'TIM3+R7', 'TIM3+R8', 'TIM3+R9', 'TIM3+R10', 'TVMe',
    'TVMe+I', 'TVMe+G', 'TVMe+I+G', 'TVMe+R2', 'TVMe+R3', 'TVMe+R4',
    'TVMe+R5', 'TVMe+R6', 'TVMe+R7', 'TVMe+R8', 'TVMe+R9', 'TVMe+R10', 'TVM',
    'TVM+I', 'TVM+G', 'TVM+I+G', 'TVM+R2', 'TVM+R3', 'TVM+R4', 'TVM+R5',
    'TVM+R6', 'TVM+R7', 'TVM+R8', 'TVM+R9', 'TVM+R10', 'SYM', 'SYM+I',
    'SYM+G', 'SYM+I+G', 'SYM+R2', 'SYM+R3', 'SYM+R4', 'SYM+R5', 'SYM+R6',
    'SYM+R7', 'SYM+R8', 'SYM+R9', 'SYM+R10', 'GTR', 'GTR+I', 'GTR+G',
    'GTR+I+G', 'GTR+R2', 'GTR+R3', 'GTR+R4', 'GTR+R5', 'GTR+R6', 'GTR+R7',
    'GTR+R8', 'GTR+R9', 'GTR+R10', 'MFP', 'TEST')
                          Model of Nucleotide Substitution.If not provided,
                          IQ-TREE will determine the best fit substitution
                          model automatically.                [default: 'MFP']
  --p-bootstrap-replicates INTEGER
    Range(1000, None)     The number of bootstrap searches to perform.
                          Minimum of 1000 recomended.          [default: 1000]
  --p-n-init-pars-trees INTEGER
    Range(1, None)        Number of initial parsimony trees. If not set,
                          program defaults will be used. See IQ-TREE manual
                          for details.                              [optional]
  --p-n-top-init-trees INTEGER
    Range(1, None)        Number of top initial trees. If not set, program
                          defaults will be used. See IQ-TREE manual for
                          details.                                  [optional]
  --p-n-best-retain-trees INTEGER
    Range(1, None)        Number of best trees retained during search. If not
                          set, program defaults will be used. See IQ-TREE
                          manual for details.                       [optional]
  --p-stop-iter INTEGER   Number of unsuccessful iterations to stop. If not
    Range(1, None)        set, program defaults will be used. See IQ-TREE
                          manual for details.                       [optional]
  --p-perturb-nni-strength NUMBER
    Range(0.01, 1.0)      Perturbation strength for randomized NNI. If not
                          set, program defaults will be used. See IQ-TREE
                          manual for details.                       [optional]
  --p-spr-radius INTEGER  Radius for parsimony SPR search. If not set,
    Range(1, None)        program defaults will be used. See IQ-TREE manual
                          for details.                              [optional]
  --p-n-max-ufboot-iter INTEGER
    Range(1, None)        Maximum number of iterations. If not set, program
                          defaults will be used. See IQ-TREE manual for
                          details.                                  [optional]
  --p-n-ufboot-steps INTEGER
    Range(1, None)        Number of iterations for UFBoot stopping rule. If
                          not set, program defaults will be used.See IQ-TREE
                          manual for details.                       [optional]
  --p-min-cor-ufboot NUMBER
    Range(0.51, 0.99)     Minimum correlation coefficient. If not set,
                          program defaults will be used.See IQ-TREE manual for
                          details.                                  [optional]
  --p-ep-break-ufboot NUMBER
    Range(0.01, 0.99)     Epsilon value to break tie. If not set, program
                          defaults will be used. See IQ-TREE manual for
                          details.                                  [optional]
  --p-allnni / --p-no-allnni
                          Perform more thorough NNI search.   [default: False]
  --p-alrt INTEGER        Single branch test method. Number of bootstrap
    Range(1000, None)     replicates to perform an SH-like approximate
                          likelihood ratio test (SH-aLRT). Minimum of 1000
                          replicates is required. Can be used with other
                          'single branch test methods'. Values reported in the
                          order of: alrt, lbp, abayes.              [optional]
  --p-abayes / --p-no-abayes
                          Single branch test method. Performs an approximate
                          Bayes test. Can be used with other 'single branch
                          test methods' and ultrafast bootstrap. Values
                          reported in the order of: alrt, lbp, abayes, ufboot.
                                                              [default: False]
  --p-lbp INTEGER         Single branch test method. Number of bootstrap
    Range(1000, None)     replicates to perform a fast local bootstrap
                          probability method. Minimum of 1000 replicates is
                          required. Can be used with other 'single branch test
                          methods'. Values reported in the order of: alrt,
                          lbp, abayes, ufboot.                      [optional]
  --p-bnni / --p-no-bnni  Optimize UFBoot trees by NNI on bootstrap
                          alignment. This option reduces the risk of
                          overestimating branch supports with UFBoot due to
                          severe model violations.            [default: False]
  --p-safe / --p-no-safe  Safe likelihood kernel to avoid numerical
                          underflow.                          [default: False]
Outputs:
  --o-tree ARTIFACT       The resulting phylogenetic tree.
    Phylogeny[Unrooted]                                             [required]
Miscellaneous:
  --output-dir PATH       Output unspecified results to a directory
  --verbose / --quiet     Display verbose output to stdout and/or stderr
                          during execution of this action. Or silence output
                          if execution is successful (silence is golden).
  --example-data PATH     Write example data and exit.
  --citations             Show citations and exit.
  --help                  Show this message and exit.

Import:

from qiime2.plugins.phylogeny.methods import iqtree_ultrafast_bootstrap

Docstring:

Construct a phylogenetic tree with IQ-TREE with bootstrap supports.

Construct a phylogenetic tree using IQ-TREE (http://www.iqtree.org/) with
automatic model selection and bootstrap supports.

Parameters
----------
alignment : FeatureData[AlignedSequence]
    Aligned sequences to be used for phylogenetic reconstruction.
seed : Int, optional
    Random number seed. If not set, program defaults will be used. See IQ-
    TREE manual for details.
n_cores : Threads, optional
    The number of cores to use for parallel processing. Use `auto` to let
    IQ-TREE automatically determine the optimal number of cores to use.
n_cores_max : Threads, optional
    Limits the maximum number of cores to be used when 'n_cores' is set to
    'auto'.
n_runs : Int % Range(1, None), optional
    Number of indepedent runs. Multiple  independent runs (e.g. 10) can
    outperform a single run in terms of likelihood maximisation.
substitution_model : Str % Choices('JC', 'JC+I', 'JC+G', 'JC+I+G', 'JC+R2', 'JC+R3', 'JC+R4', 'JC+R5', 'JC+R6', 'JC+R7', 'JC+R8', 'JC+R9', 'JC+R10', 'F81', 'F81+I', 'F81+G', 'F81+I+G', 'F81+R2', 'F81+R3', 'F81+R4', 'F81+R5', 'F81+R6', 'F81+R7', 'F81+R8', 'F81+R9', 'F81+R10', 'K80', 'K80+I', 'K80+G', 'K80+I+G', 'K80+R2', 'K80+R3', 'K80+R4', 'K80+R5', 'K80+R6', 'K80+R7', 'K80+R8', 'K80+R9', 'K80+R10', 'HKY', 'HKY+I', 'HKY+G', 'HKY+I+G', 'HKY+R2', 'HKY+R3', 'HKY+R4', 'HKY+R5', 'HKY+R6', 'HKY+R7', 'HKY+R8', 'HKY+R9', 'HKY+R10', 'TNe', 'TNe+I', 'TNe+G', 'TNe+I+G', 'TNe+R2', 'TNe+R3', 'TNe+R4', 'TNe+R5', 'TNe+R6', 'TNe+R7', 'TNe+R8', 'TNe+R9', 'TNe+R10', 'TN', 'TN+I', 'TN+G', 'TN+I+G', 'TN+R2', 'TN+R3', 'TN+R4', 'TN+R5', 'TN+R6', 'TN+R7', 'TN+R8', 'TN+R9', 'TN+R10', 'K81', 'K81+I', 'K81+G', 'K81+I+G', 'K81+R2', 'K81+R3', 'K81+R4', 'K81+R5', 'K81+R6', 'K81+R7', 'K81+R8', 'K81+R9', 'K81+R10', 'K81u', 'K81u+I', 'K81u+G', 'K81u+I+G', 'K81u+R2', 'K81u+R3', 'K81u+R4', 'K81u+R5', 'K81u+R6', 'K81u+R7', 'K81u+R8', 'K81u+R9', 'K81u+R10', 'TPM2', 'TPM2+I', 'TPM2+G', 'TPM2+I+G', 'TPM2+R2', 'TPM2+R3', 'TPM2+R4', 'TPM2+R5', 'TPM2+R6', 'TPM2+R7', 'TPM2+R8', 'TPM2+R9', 'TPM2+R10', 'TPM2u', 'TPM2u+I', 'TPM2u+G', 'TPM2u+I+G', 'TPM2u+R2', 'TPM2u+R3', 'TPM2u+R4', 'TPM2u+R5', 'TPM2u+R6', 'TPM2u+R7', 'TPM2u+R8', 'TPM2u+R9', 'TPM2u+R10', 'TPM3', 'TPM3+I', 'TPM3+G', 'TPM3+I+G', 'TPM3+R2', 'TPM3+R3', 'TPM3+R4', 'TPM3+R5', 'TPM3+R6', 'TPM3+R7', 'TPM3+R8', 'TPM3+R9', 'TPM3+R10', 'TPM3u', 'TPM3u+I', 'TPM3u+G', 'TPM3u+I+G', 'TPM3u+R2', 'TPM3u+R3', 'TPM3u+R4', 'TPM3u+R5', 'TPM3u+R6', 'TPM3u+R7', 'TPM3u+R8', 'TPM3u+R9', 'TPM3u+R10', 'TIMe', 'TIMe+I', 'TIMe+G', 'TIMe+I+G', 'TIMe+R2', 'TIMe+R3', 'TIMe+R4', 'TIMe+R5', 'TIMe+R6', 'TIMe+R7', 'TIMe+R8', 'TIMe+R9', 'TIMe+R10', 'TIM', 'TIM+I', 'TIM+G', 'TIM+I+G', 'TIM+R2', 'TIM+R3', 'TIM+R4', 'TIM+R5', 'TIM+R6', 'TIM+R7', 'TIM+R8', 'TIM+R9', 'TIM+R10', 'TIM2e', 'TIM2e+I', 'TIM2e+G', 'TIM2e+I+G', 'TIM2e+R2', 'TIM2e+R3', 'TIM2e+R4', 'TIM2e+R5', 'TIM2e+R6', 'TIM2e+R7', 'TIM2e+R8', 'TIM2e+R9', 'TIM2e+R10', 'TIM2', 'TIM2+I', 'TIM2+G', 'TIM2+I+G', 'TIM2+R2', 'TIM2+R3', 'TIM2+R4', 'TIM2+R5', 'TIM2+R6', 'TIM2+R7', 'TIM2+R8', 'TIM2+R9', 'TIM2+R10', 'TIM3e', 'TIM3e+I', 'TIM3e+G', 'TIM3e+I+G', 'TIM3e+R2', 'TIM3e+R3', 'TIM3e+R4', 'TIM3e+R5', 'TIM3e+R6', 'TIM3e+R7', 'TIM3e+R8', 'TIM3e+R9', 'TIM3e+R10', 'TIM3', 'TIM3+I', 'TIM3+G', 'TIM3+I+G', 'TIM3+R2', 'TIM3+R3', 'TIM3+R4', 'TIM3+R5', 'TIM3+R6', 'TIM3+R7', 'TIM3+R8', 'TIM3+R9', 'TIM3+R10', 'TVMe', 'TVMe+I', 'TVMe+G', 'TVMe+I+G', 'TVMe+R2', 'TVMe+R3', 'TVMe+R4', 'TVMe+R5', 'TVMe+R6', 'TVMe+R7', 'TVMe+R8', 'TVMe+R9', 'TVMe+R10', 'TVM', 'TVM+I', 'TVM+G', 'TVM+I+G', 'TVM+R2', 'TVM+R3', 'TVM+R4', 'TVM+R5', 'TVM+R6', 'TVM+R7', 'TVM+R8', 'TVM+R9', 'TVM+R10', 'SYM', 'SYM+I', 'SYM+G', 'SYM+I+G', 'SYM+R2', 'SYM+R3', 'SYM+R4', 'SYM+R5', 'SYM+R6', 'SYM+R7', 'SYM+R8', 'SYM+R9', 'SYM+R10', 'GTR', 'GTR+I', 'GTR+G', 'GTR+I+G', 'GTR+R2', 'GTR+R3', 'GTR+R4', 'GTR+R5', 'GTR+R6', 'GTR+R7', 'GTR+R8', 'GTR+R9', 'GTR+R10', 'MFP', 'TEST'), optional
    Model of Nucleotide Substitution.If not provided, IQ-TREE will
    determine the best fit substitution model automatically.
bootstrap_replicates : Int % Range(1000, None), optional
    The number of bootstrap searches to perform. Minimum of 1000
    recomended.
n_init_pars_trees : Int % Range(1, None), optional
    Number of initial parsimony trees. If not set, program defaults will be
    used. See IQ-TREE manual for details.
n_top_init_trees : Int % Range(1, None), optional
    Number of top initial trees. If not set, program defaults will be used.
    See IQ-TREE manual for details.
n_best_retain_trees : Int % Range(1, None), optional
    Number of best trees retained during search. If not set, program
    defaults will be used. See IQ-TREE manual for details.
stop_iter : Int % Range(1, None), optional
    Number of unsuccessful iterations to stop. If not set, program defaults
    will be used. See IQ-TREE manual for details.
perturb_nni_strength : Float % Range(0.01, 1.0), optional
    Perturbation strength for randomized NNI. If not set, program defaults
    will be used. See IQ-TREE manual for details.
spr_radius : Int % Range(1, None), optional
    Radius for parsimony SPR search. If not set, program defaults will be
    used. See IQ-TREE manual for details.
n_max_ufboot_iter : Int % Range(1, None), optional
    Maximum number of iterations. If not set, program defaults will be
    used. See IQ-TREE manual for details.
n_ufboot_steps : Int % Range(1, None), optional
    Number of iterations for UFBoot stopping rule. If not set, program
    defaults will be used.See IQ-TREE manual for details.
min_cor_ufboot : Float % Range(0.51, 0.99), optional
    Minimum correlation coefficient. If not set, program defaults will be
    used.See IQ-TREE manual for details.
ep_break_ufboot : Float % Range(0.01, 0.99), optional
    Epsilon value to break tie. If not set, program defaults will be used.
    See IQ-TREE manual for details.
allnni : Bool, optional
    Perform more thorough NNI search.
alrt : Int % Range(1000, None), optional
    Single branch test method. Number of bootstrap replicates to perform an
    SH-like approximate likelihood ratio test (SH-aLRT). Minimum of 1000
    replicates is required. Can be used with other 'single branch test
    methods'. Values reported in the order of: alrt, lbp, abayes.
abayes : Bool, optional
    Single branch test method. Performs an approximate Bayes test. Can be
    used with other 'single branch test methods' and ultrafast bootstrap.
    Values reported in the order of: alrt, lbp, abayes, ufboot.
lbp : Int % Range(1000, None), optional
    Single branch test method. Number of bootstrap replicates to perform a
    fast local bootstrap probability method. Minimum of 1000 replicates is
    required. Can be used with other 'single branch test methods'. Values
    reported in the order of: alrt, lbp, abayes, ufboot.
bnni : Bool, optional
    Optimize UFBoot trees by NNI on bootstrap alignment. This option
    reduces the risk of overestimating branch supports with UFBoot due to
    severe model violations.
safe : Bool, optional
    Safe likelihood kernel to avoid numerical underflow.

Returns
-------
tree : Phylogeny[Unrooted]
    The resulting phylogenetic tree.