Skip to content

Constraint not compatible with ModelFinder? #166

@alephreish

Description

@alephreish

It seems that constraint is not taken taken into account if the model is not specified explicitly:

$ iqtree2 --version
IQ-TREE multicore version 2.3.0 COVID-edition for Linux 64-bit built Mar 14 2024
Developed by Bui Quang Minh, James Barbetti, Nguyen Lam Tung,
Olga Chernomor, Heiko Schmidt, Dominik Schrempf, Michael Woodhams, Ly Trong Nhan.
$ cat constr.tree 
((Human,Cow),(Seal,Whale));
#
# unconstrained
$ iqtree2 -s $CONDA_PREFIX/example.phy --prefix example.unconstr
# constrained, explicit model
$ iqtree2 -s $CONDA_PREFIX/example.phy -m TIM2+I+G -g constr.tree --prefix example.constr
# constrained, ModelFinder
$ iqtree2 -s $CONDA_PREFIX/example.phy -g constr.tree --prefix example.constr.auto
$ grep constraint example.*.log
example.constr.auto.log:Reading constraint tree constr.tree...
example.constr.auto.log:WARNING: Rooted constraint tree will be treated as unrooted tree
example.constr.log:Reading constraint tree constr.tree...
example.constr.log:WARNING: Rooted constraint tree will be treated as unrooted tree
#
# The constraint+ModelFinder tree is not different from the unconstrained tree:
$ nw_labels constr.tree | xargs nw_prune -v example.unconstr.treefile | nw_display - -w 60
                                      /--------------+ Human
                                      |                     
=-------------------------------------+ /-------+ Seal      
                                      | |                   
                                      \-+  /------+ Cow     
                                        \--+                
                                           \--------+ Whale 
                                                            
 |---------------|---------------|---------------|----      
 0             0.2             0.4             0.6          
 substitutions/site                                         
$ nw_labels constr.tree | xargs nw_prune -v example.constr.auto.treefile | nw_display - -w 60
                                      /--------------+ Human
                                      |                     
=-------------------------------------+ /-------+ Seal      
                                      | |                   
                                      \-+  /------+ Cow     
                                        \--+                
                                           \--------+ Whale 
                                                            
 |---------------|---------------|---------------|----      
 0             0.2             0.4             0.6          
 substitutions/site                                         
#
# The constraint+explicit model tree respects the constraint:
$ nw_labels constr.tree | xargs nw_prune -v example.constr.treefile | nw_display - -w 60
                                      /--------------+ Human
                                      |                     
=-------------------------------------+   /--------+ Seal   
                                      |  /+                 
                                      \--+\--------+ Whale  
                                         |                  
                                         \-------+ Cow      
                                                            
 |---------------|---------------|---------------|----      
 0             0.2             0.4             0.6          
 substitutions/site                                         
$ nw_display constr.tree -w 60
                           /-------------------------+ Human
 /-------------------------+                                
 |                         \-------------------------+ Cow  
=+                                                          
 |                         /-------------------------+ Seal 
 \-------------------------+                                
                           \-------------------------+ Whale

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions