Hi IQ-Tree team,
I ran into some unexpected behavior from IQ-Tree recently that I wanted to document here for other users and out of curiosity.
When building trees with both v2.2.2.7 and v2.1.4 for Linux I've observed that adding the -v flag to the IQ-Tree call changes what is printed to the branch support/node ID field in the output. When running without -v (iqtree -s input.fasta -B 1000 -T AUTO --mem 4G --prefix verb_test), both the ML and consensus trees (.treefile and .contree) have a single field displaying the UFboot support, as expected, e.g. in this small portion of the .iqtree file for the ML tree:
+----[taxon 1]
|
| +--[taxon 2]
| +--| (100)
| | +--[taxon 3]
+--| (100)
...
Adding the -v flag (iqtree -s input.fasta -B 1000 -T AUTO --mem 4G --prefix verb_test -v) causes two values to be printed to the node ID field in the ML tree: the UFboot support and an integer value, presumably the node ID/number, properly separated by "/" delimiter, as shown here:
+----[taxon 1]
| (345)
| +--[taxon 2]
| +--| (343/100)
| | +--[taxon 3]
+--| (344/100)
...
However, in the consensus tree (.contree file and the trees in .iqtree file), only the node ID/number is printed, meaning that the branch support is lost for the consensus tree:
+----[taxon 1]
| (345)
| +--[taxon 2]
| +--| (343)
| | +--[taxon 3]
+--| (344)
...
This is true of all the output files, including the newick-formatted trees in both .iqtree and .treefile/.contree.
Is this intentional behavior, and if so, what is the rationale behind omitting branch support on the consensus tree only when running with -v? I couldn't find anything in the documentation, but it might be useful for other users to know before running a lengthy job from which they would like to report a consensus tree with branch support.
Thanks,
John