diff --git a/doc/Advanced-Tutorial.md b/doc/Advanced-Tutorial.md index d64b32c..a0deb43 100644 --- a/doc/Advanced-Tutorial.md +++ b/doc/Advanced-Tutorial.md @@ -143,8 +143,7 @@ Choosing the right partitioning scheme --------------------------------------
-ModelFinder implements a greedy strategy ([Lanfear et al., 2012]) that starts with the full partition model and subsequentially -merges two genes until the model fit does not increase any further: +ModelFinder integrates the PartitionFinder algorithm ([Lanfear et al., 2012]) that starts with the full partition model and subsequently merges two partition subsets until the model fit does not increase any further: iqtree -s example.phy -p example.nex -m MFP+MERGE # for version 1.x change -p to -spp @@ -166,16 +165,14 @@ To resemble PartitionFinder and save time: iqtree -s example.phy -p example.nex -m TESTMERGEONLY # for version 1.x change -p to -spp +Starting with version 3.1.4, PartitionFinder supports the marginal Akaike Information Criterion (mAIC; [Susko et al., 2026]) as an optional criterion for partition merging. To apply PartitionFinder-mAIC: -To reduce the computational burden IQ-TREE implements the *relaxed hierarchical clustering algorithm* ([Lanfear et al., 2014]), which is invoked via `-rcluster` option: - - iqtree -s example.phy -p example.nex -m MF+MERGE -rcluster 10 - # for version 1.x change -p to -spp - - -to only examine the top 10% partition merging schemes (similar to the `--rcluster-percent 10` option in PartitionFinder). + iqtree -s example.phy -p example.nex -m MFP+MERGE -merit mAIC +If you use PartitionFinder-mAIC in a publication, please cite: +> __H. Ren, T.K.F. Wong, C. Jiang, E. Susko, R. Lanfear, B.Q. Minh__ (2026) PartitionFinder-mAIC: Phylogenetic Partitioning using Marginal Akaike Information Criterion _bioRxiv_. +The PartitionFinder implementation includes several algorithms. The options for controlling the details of partitioning scheme selection are documented in the [Automatic model selection](https://iqtree.github.io/doc/Command-Reference#automatic-model-selection) section of the Command Reference. Ultrafast bootstrapping with partition model -------------------------------------------- @@ -586,6 +583,7 @@ See [Command Reference](Command-Reference) for a complete list of all options av [Kishino et al., 1990]: https://doi.org/10.1007/BF02109483 [Kishino and Hasegawa, 1989]: https://doi.org/10.1007/BF02100115 [Lanfear et al., 2012]: https://doi.org/10.1093/molbev/mss020 +[Susko et al., 2026]: https://doi.org/10.1093/sysbio/syag013 [Lanfear et al., 2014]: https://doi.org/10.1186/1471-2148-14-82 [Lopez et al., 2002]: http://mbe.oxfordjournals.org/content/19/1/1.full [Nei et al., 2001]: https://doi.org/10.1073/pnas.051611498 diff --git a/doc/Command-Reference.md b/doc/Command-Reference.md index aa59d83..7d91974 100644 --- a/doc/Command-Reference.md +++ b/doc/Command-Reference.md @@ -204,8 +204,7 @@ Automatic model selection -------------------------
-The default model (e.g., `HKY+F` for DNA, `LG` for protein data) may not fit well to the data. Therefore, IQ-TREE -allows to automatically determine the best-fit model via a series of `-m TEST...` option: +The default model (e.g., `HKY+F` for DNA, `LG` for protein data) may not fit well to the data. Therefore, IQ-TREE allows to automatically determine the best-fit model via a series of `-m TEST...` option: |Option| Usage and meaning | |----------------------|------------------------------------------------------------------------------| @@ -231,33 +230,34 @@ IQ-TREE version 1.6 or later allows to additionally test [Lie Markov DNA models] When [a partition file is specified](#partition-model-options) then you can append `MERGE` keyword into `-m` option to find the best-fit partitioning scheme like PartitionFinder ([Lanfear et al., 2012]). More specifically, -|Option| Usage and meaning | -|----------------------|------------------------------------------------------------------------------| -| `-m TESTMERGEONLY` | Select best-fit partitioning scheme by possibly merging partitions to reduce over-parameterization and increase model fit. It implements the greedy algorithm of PartitionFinder. | -| `-m TESTMERGE` | Like `-m TESTMERGEONLY` but immediately followed by tree reconstruction using the best partitioning scheme found. | -| `-m TESTNEWMERGEONLY` or `-m MF+MERGE` | Like `-m TESTMERGEONLY` but additionally includes FreeRate model. | -| `-m TESTNEWMERGE` or `-m MFP+MERGE` | Like `-m MF+MERGE` but immediately followed by tree reconstruction using the best partitioning scheme found. | -| `-rcluster` | Specify the percentage for the relaxed clustering algorithm ([Lanfear et al., 2014]) to speed up the computation instead of the default slow greedy algorithm. This is similar to `--rcluster-percent` option of PartitionFinder. For example, with `-rcluster 10` only the top 10% partition schemes are considered to save computations. | -| `-rclusterf` | Similar to `-rcluster` but using the **fast** relaxed clustering algorithm ([Lanfear et al., 2017]) of PartitionFinder2. Introduced in version 1.6. | -| `-rcluster-max` | Specify the absolute maximum number of partition pairs in the paritition merging phase. Default: the larger of 1000 and 10 times the number of partitions. This option is similar to `--rcluster-max` option of PartitionFinder2. | +| Option | Usage and meaning | +| -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `-m TESTMERGEONLY` | Select best-fit partitioning scheme by possibly merging partitions to reduce over-parameterization and increase model fit. It implements the greedy algorithm of PartitionFinder. | +| `-m TESTMERGE` | Like `-m TESTMERGEONLY` but immediately followed by tree reconstruction using the best partitioning scheme found. | +| `-m TESTNEWMERGEONLY` or `-m MF+MERGE` | Like `-m TESTMERGEONLY` but additionally includes FreeRate model. | +| `-m TESTNEWMERGE` or `-m MFP+MERGE` | Like `-m MF+MERGE` but immediately followed by tree reconstruction using the best partitioning scheme found. | +| `--merge` | Specify either `rcluster` (relaxed clustering algorithm: at each iteration, evaluates only the top k% partition schemes and merges best one; [Lanfear et al., 2014]), `rclusterf` (**fast** relaxed clustering algorithm: similar to `rcluster` but merges multiple compatible schemes at once; [Lanfear et al., 2017]) or `greedy` (greedy algorithm: at each iteration, evaluates all candidate schemes and merges the best one; [Lanfear et al., 2012]) algorithm. *DEFAULT: `rclusterf`* | +| `-rcluster` | Specify the percentage for the relaxed clustering algorithm. This is similar to `--rcluster-percent` option of PartitionFinder. For example, with `-rcluster 10` only the top 10% partition schemes are evaluated. This automatically selects the relaxed clustering algorithm. *DEFAULT: 10* | +| `-rclusterf` | Similar to `-rcluster` but using the **fast** relaxed clustering algorithm of PartitionFinder2. This automatically selects the fast relaxed clustering algorithm. Introduced in version 1.6. *DEFAULT: 10* | +| `-rcluster-max` | Specify the absolute maximum number of partition pairs in the paritition merging phase. This option is similar to `--rcluster-max` option of PartitionFinder2. *DEFAULT: 10 times the number of partitions* | > **WARNING**: For versions <= 1.5.X, all commands with `-m ...MERGE...` will always perform an edge-unlinked partition scheme finding even if `-spp` option is used. Only in the next phase of tree reconstruction, then an edge-linked partition model is used. However, for versions 1.6.X onwards, the edge-linked partition finding is performed by `-spp` option. Several parameters can be set to e.g. reduce computations: -|Option| Usage and meaning | -|-------------|------------------------------------------------------------------------------| -| `-mset` | Specify the name of a program (`raxml`, `phyml` or `mrbayes`) to restrict to only those models supported by the specified program. Alternatively, one can specify a comma-separated list of base models. For example, `-mset WAG,LG,JTT` will restrict model selection to WAG, LG, and JTT instead of all 18 AA models to save computations. | -| `-msub` | Specify either `nuclear`, `mitochondrial`, `chloroplast` or `viral` to restrict to those AA models designed for specified source. | -| `-mfreq` | Specify a comma-separated list of frequency types for model selection. *DEFAULT: `-mfreq FU,F` for protein models (FU = AA frequencies given by the protein matrix, F = empirical AA frequencies from the data), `-mfreq ,F1x4,F3x4,F` for codon models* | -| `-mrate` | Specify a comma-separated list of rate heterogeneity types for model selection. *DEFAULT: `-mrate E,I,G,I+G` for standard procedure, `-mrate E,I,G,I+G,R` for new selection procedure*. (E means Equal/homogeneous rate model). | -| `-cmin` | Specify minimum number of categories for FreeRate model. *DEFAULT: 2* | -| `-cmax` | Specify maximum number of categories for FreeRate model. It is recommended to increase if alignment is long enough. *DEFAULT: 10* | -| `-merit` | Specify either `AIC`, `AICc` or `BIC` for the optimality criterion to apply for new procedure. *DEFAULT: all three criteria are considered* | -| `-mtree` | Turn on full tree search for each model considered, to obtain more accurate result. Only recommended if enough computational resources are available. *DEFAULT: fixed starting tree* | -| `-mredo` | Ignore model checkpoint file computed earlier. *DEFAULT: model checkpoint file (if exists) is loaded to reuse previous computations* | -| `-madd` | Specify a comma-separated list of mixture models to additionally consider for model selection. For example, `-madd LG4M,LG4X` to additionally include these two [protein mixture models](Substitution-Models#protein-models). | -| `-mdef` | Specify a [NEXUS model file](Complex-Models#nexus-model-file) to define new models. | +| Option | Usage and meaning | +| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `-mset` | Specify the name of a program (`raxml`, `phyml` or `mrbayes`) to restrict to only those models supported by the specified program. Alternatively, one can specify a comma-separated list of base models. For example, `-mset WAG,LG,JTT` will restrict model selection to WAG, LG, and JTT instead of all 18 AA models to save computations. | +| `-msub` | Specify either `nuclear`, `mitochondrial`, `chloroplast` or `viral` to restrict to those AA models designed for specified source. | +| `-mfreq` | Specify a comma-separated list of frequency types for model selection. *DEFAULT: `-mfreq FU,F` for protein models (FU = AA frequencies given by the protein matrix, F = empirical AA frequencies from the data), `-mfreq ,F1x4,F3x4,F` for codon models* | +| `-mrate` | Specify a comma-separated list of rate heterogeneity types for model selection. *DEFAULT: `-mrate E,I,G,I+G` for standard procedure, `-mrate E,I,G,I+G,R` for new selection procedure*. (E means Equal/homogeneous rate model). | +| `-cmin` | Specify minimum number of categories for FreeRate model. *DEFAULT: 2* | +| `-cmax` | Specify maximum number of categories for FreeRate model. It is recommended to increase if alignment is long enough. *DEFAULT: 10* | +| `-merit` | Specify either `AIC`, `AICc` or `BIC` for the optimality criterion to apply for model selection. Addtionally, `mAIC` option ([Susko et al., 2026]) is available as partition model selection criterion. *DEFAULT: `BIC`* | +| `-mtree` | Turn on full tree search for each model considered, to obtain more accurate result. Only recommended if enough computational resources are available. *DEFAULT: fixed starting tree* | +| `-mredo` | Ignore model checkpoint file computed earlier. *DEFAULT: model checkpoint file (if exists) is loaded to reuse previous computations* | +| `-madd` | Specify a comma-separated list of mixture models to additionally consider for model selection. For example, `-madd LG4M,LG4X` to additionally include these two [protein mixture models](Substitution-Models#protein-models). | +| `-mdef` | Specify a [NEXUS model file](Complex-Models#nexus-model-file) to define new models. | >**NOTE**: Some of the above options require a comma-separated list, which should not contain any empty space! @@ -271,7 +271,7 @@ Several parameters can be set to e.g. reduce computations: iqtree -s prot.phy -m MF -mset WAG,LG,JTT -* Find the best partitioning scheme for alignment `data.phy` and partition file `partition.nex` with a relaxed clustering at 10% to save time: +* Find the best partitioning scheme for alignment `data.phy` and partition file `partition.nex` with a relaxed clustering at 10%: iqtree -s data.phy -spp partition.nex -m TESTMERGEONLY -rcluster 10 @@ -803,6 +803,7 @@ The first few lines of the output file example.phy.sitelh (printed by `-wslr` op [Lanfear et al., 2012]: https://doi.org/10.1093/molbev/mss020 [Lanfear et al., 2014]: https://doi.org/10.1186/1471-2148-14-82 [Lanfear et al., 2017]: https://doi.org/10.1093/molbev/msw260 +[Susko et al., 2026]: https://doi.org/10.1093/sysbio/syag013 [Lartillot and Philippe, 2004]: https://doi.org/10.1093/molbev/msh112 [Ly-Trong et al., 2024]: https://doi.org/10.1093/molbev/msae134 [Minh et al., 2013]: https://doi.org/10.1093/molbev/mst024