diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index ee10093a0..c047dcb1e 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -94,12 +94,12 @@ jobs: - name: Run verify_runtimes.sh run: | chmod +x test_scripts/verify_runtime.sh - ./test_scripts/verify_runtime.sh time_log_iqtree2.tsv time_log_iqtree3.tsv Linux-clang-${{ matrix.clang-version }} + ./test_scripts/verify_runtime.sh time_log_iqtree2.tsv time_log_iqtree3.tsv Linux-x86-64 - name: Run verify_memory.sh run: | chmod +x test_scripts/verify_memory.sh - ./test_scripts/verify_memory.sh time_log_iqtree2.tsv time_log_iqtree3.tsv Linux-clang-${{ matrix.clang-version }} + ./test_scripts/verify_memory.sh time_log_iqtree2.tsv time_log_iqtree3.tsv Linux-x86-64 build-linux-aarch64: name: Linux aarch64 diff --git a/main/phylotesting.cpp b/main/phylotesting.cpp index 0fdfbcd1a..2f91aeec7 100644 --- a/main/phylotesting.cpp +++ b/main/phylotesting.cpp @@ -3192,7 +3192,7 @@ CandidateModel CandidateModelSet::test(Params ¶ms, PhyloTree* in_tree, Model else cout << getSeqTypeName(in_tree->aln->seq_type); cout << " models (sample size: " << ssize << " epsilon: " << params.modelfinder_eps << ") ..." << endl; - if (params.model_test_and_tree == 0) + if (params.model_test_and_tree == 0 && verbose_mode >= VB_MED) cout << " No. Model -LnL df AIC AICc BIC" << endl; } diff --git a/test_scripts/test_data/expected_memory.tsv b/test_scripts/test_data/expected_memory.tsv index 78fee8255..1f2e4f4cf 100644 --- a/test_scripts/test_data/expected_memory.tsv +++ b/test_scripts/test_data/expected_memory.tsv @@ -1,26 +1,29 @@ -Command diff-threshold Linux-gcc-9 Linux-gcc-12 Linux-aarch64 mac-os-x86-64 mac-os-arm64 windows-x86 -build/iqtree3 -s test_scripts/test_data/turtle.fa -B 1000 -T 1 -seed 73073 4 18.98 18.89 17.73 13.53 15.53 20.09 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -seed 73073 7 19.04 19.05 17.79 13.18 13.97 20.16 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle.merge -seed 73073 7 19.15 19.08 17.99 13.54 15.52 17.65 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.merge.best_scheme.nex -z test_scripts/test_data/turtle.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle.test -seed 73073 -T 1 3 27.80 27.77 26.76 22.50 23.45 28.15 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m GTR+F+I+R3+T -te test_scripts/test_data/turtle.trees -T 1 --prefix test_scripts/test_data/turtle.mix -seed 73073 3 9.79 10.05 8.92 4.39 5.44 9.45 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex.best_scheme.nex -z test_scripts/test_data/turtle.trees -n 0 -wpl --prefix test_scripts/test_data/turtle.wpl -seed 73073 -T 1 3 9.27 9.30 8.18 3.61 4.75 9.43 -build/iqtree3 -s test_scripts/test_data/turtle.fa -S test_scripts/test_data/turtle.nex --prefix test_scripts/test_data/turtle.loci -T 1 -seed 73073 7 10.43 10.55 8.79 5.66 6.59 10.3 -build/iqtree3 -t test_scripts/test_data/turtle.nex.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 3 6.30 6.55 5.92 2.29 2.75 6.57 -build/iqtree3 -t test_scripts/test_data/turtle.fa.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 3 6.30 6.55 5.92 2.27 3.00 6.59 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR+FO,GTR+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.link -seed 73073 -T 1 3 9.17 9.05 7.92 3.47 4.80 9.2 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR{1,1,1,1,1,1}+FO,GTR{1,1,1,1,1,1}+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.jc.link -seed 73073 -T 1 3 9.17 8.84 7.92 3.74 4.49 9.36 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle.nex.constr -T 1 -seed 73073 7 10.57 10.45 8.80 5.86 6.78 10.43 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle.nex.constr2 -T 1 -seed 73073 7 18.82 18.70 17.55 13.29 14.00 19.74 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX+MF --prefix test_scripts/test_data/turtle.mixfinder -T 1 -seed 73073 7 14.55 15.50 11.68 9.21 9.28 20.19 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -B 1000 -T 1 -seed 73073 5 25.57 25.66 24.47 21.26 15.77 26.65 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -seed 73073 7 76.22 67.05 26.73 23.80 16.39 28.9 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle_aa.merge -seed 73073 12 41.34 31.46 26.11 22.30 16.56 28.35 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.merge.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle_aa.test -seed 73073 -T 1 5 33.53 33.46 32.43 31.32 30.30 33.82 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -n 0 -wpl --prefix test_scripts/test_data/turtle_aa.wpl -seed 73073 -T 1 6 18.26 18.32 16.95 14.17 12.81 14.99 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -S test_scripts/test_data/turtle_aa.nex --prefix test_scripts/test_data/turtle_aa.loci -T 1 -seed 73073 7 16.49 16.11 13.53 11.07 9.69 14.96 -build/iqtree3 -t test_scripts/test_data/turtle_aa.nex.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 3 6.30 6.55 5.92 2.38 3.06 6.74 -build/iqtree3 -t test_scripts/test_data/turtle_aa.fasta.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 3 6.29 6.55 5.93 2.29 3.09 6.64 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MIX{LG+F,WAG+F} --prefix test_scripts/test_data/turtle_aa.mix -seed 73073 -T 1 3 11.79 11.80 10.67 6.39 6.78 11.94 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle_aa.nex.constr -T 1 -seed 73073 20 59.79 60.66 18.28 18.67 10.61 16.95 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle_aa.nex.constr2 -T 1 -seed 73073 7 63.79 70.88 26.53 23.55 16.72 26.39 +Command diff-threshold Linux-x86-64 Linux-aarch64 mac-os-x86-64 mac-os-arm64 windows-x86 thr-Linux-x86-64 thr-Linux-aarch64 thr-mac-os-x86-64 thr-mac-os-arm64 thr-windows-x86 +build/iqtree3 -s test_scripts/test_data/turtle.fa -B 1000 -T 1 -seed 73073 4 18.89 17.73 13.53 15.53 20.09 4 3 3 5 17 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -seed 73073 7 19.05 17.79 13.18 13.97 20.16 4 3 3 4 15 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle.merge -seed 73073 7 19.08 17.99 13.54 15.52 17.65 4 3 3 4 13 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.merge.best_scheme.nex -z test_scripts/test_data/turtle.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle.test -seed 73073 -T 1 3 27.77 26.76 22.50 23.45 28.15 5 3 3 4 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m GTR+F+I+R3+T -te test_scripts/test_data/turtle.trees -T 1 --prefix test_scripts/test_data/turtle.mix -seed 73073 3 10.05 8.92 4.39 5.44 9.45 4 3 3 4 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex.best_scheme.nex -z test_scripts/test_data/turtle.trees -n 0 -wpl --prefix test_scripts/test_data/turtle.wpl -seed 73073 -T 1 3 9.30 8.18 3.61 4.75 9.43 5 3 3 4 4 +build/iqtree3 -s test_scripts/test_data/turtle.fa -S test_scripts/test_data/turtle.nex --prefix test_scripts/test_data/turtle.loci -T 1 -seed 73073 7 10.55 8.79 5.66 6.59 10.3 5 3 3 4 3 +build/iqtree3 -t test_scripts/test_data/turtle.nex.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 3 6.55 5.92 2.29 2.75 6.57 4 3 3 3 8 +build/iqtree3 -t test_scripts/test_data/turtle.fa.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 3 6.55 5.92 2.27 3.00 6.59 4 3 3 3 9 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR+FO,GTR+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.link -seed 73073 -T 1 3 9.05 7.92 3.47 4.80 9.2 4 3 3 3 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR{1,1,1,1,1,1}+FO,GTR{1,1,1,1,1,1}+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.jc.link -seed 73073 -T 1 3 8.84 7.92 3.74 4.49 9.36 4 3 3 3 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle.nex.constr -T 1 -seed 73073 7 10.45 8.80 5.86 6.78 10.43 5 3 3 4 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle.nex.constr2 -T 1 -seed 73073 7 18.70 17.55 13.29 14.00 19.74 4 3 3 4 16 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX+MF --prefix test_scripts/test_data/turtle.mixfinder -T 1 -seed 73073 7 15.50 11.68 9.21 9.28 20.19 9 3 3 5 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -o phrynops -m GTR+G --prefix test_scripts/test_data/turtle.nex.outgroup -T 1 -seed 73073 5 12.38 10.25 4.89 5.85 12.87 5 4 3 3 3 +build/iqtree3 -s test_scripts/test_data/turtle.fa -lmap 100 -o phrynops -m GTR+G --prefix test_scripts/test_data/turtle.lmap.outgroup -T 1 -seed 73073 5 12.12 9.75 4.75 5.60 12.50 5 3 3 3 3 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -B 1000 -T 1 -seed 73073 5 25.66 24.47 21.26 15.77 26.65 4 3 3 6 21 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -seed 73073 7 67.05 26.73 23.80 16.39 28.9 5 3 3 11 12 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle_aa.merge -seed 73073 12 31.46 26.11 22.30 16.56 28.35 4 3 3 13 16 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.merge.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle_aa.test -seed 73073 -T 1 5 33.46 32.43 31.32 30.30 33.82 5 3 6 4 3 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -n 0 -wpl --prefix test_scripts/test_data/turtle_aa.wpl -seed 73073 -T 1 6 18.32 16.95 14.17 12.81 14.99 8 7 8 8 4 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -S test_scripts/test_data/turtle_aa.nex --prefix test_scripts/test_data/turtle_aa.loci -T 1 -seed 73073 7 16.11 13.53 11.07 9.69 14.96 7 3 3 4 4 +build/iqtree3 -t test_scripts/test_data/turtle_aa.nex.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 3 6.55 5.92 2.38 3.06 6.74 4 3 3 3 9 +build/iqtree3 -t test_scripts/test_data/turtle_aa.fasta.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 3 6.55 5.93 2.29 3.09 6.64 4 3 3 3 8 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MIX{LG+F,WAG+F} --prefix test_scripts/test_data/turtle_aa.mix -seed 73073 -T 1 3 11.80 10.67 6.39 6.78 11.94 5 3 3 4 3 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle_aa.nex.constr -T 1 -seed 73073 20 60.66 18.28 18.67 10.61 16.95 35 7 8 4 4 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle_aa.nex.constr2 -T 1 -seed 73073 7 70.88 26.53 23.55 16.72 26.39 19 3 3 11 17 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MUTSEL -ft AUTO --prefix test_scripts/test_data/turtle_aa.mutsel -T 1 -seed 73073 20 99.37 109.84 92.42 52.47 101.18 12 6 20 10 6 diff --git a/test_scripts/test_data/expected_runtime.tsv b/test_scripts/test_data/expected_runtime.tsv index 726084b05..91ac3ed83 100644 --- a/test_scripts/test_data/expected_runtime.tsv +++ b/test_scripts/test_data/expected_runtime.tsv @@ -1,26 +1,29 @@ -Command diff-threshold Linux-gcc-9 Linux-gcc-12 Linux-aarch64 mac-os-x86-64 mac-os-arm64 windows-x86 -build/iqtree3 -s test_scripts/test_data/turtle.fa -B 1000 -T 1 -seed 73073 2 3.24 3.32 5.03 3.62 2.96 4.55 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -seed 73073 2 3.46 3.59 4.32 3.63 2.74 4.06 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle.merge -seed 73073 2 3.35 3.49 5.01 4.14 3.00 3.86 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.merge.best_scheme.nex -z test_scripts/test_data/turtle.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle.test -seed 73073 -T 1 2 1.34 1.31 0.74 0.85 0.78 3.26 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m GTR+F+I+R3+T -te test_scripts/test_data/turtle.trees -T 1 --prefix test_scripts/test_data/turtle.mix -seed 73073 2 2.43 2.36 3.76 2.29 2.52 2.85 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex.best_scheme.nex -z test_scripts/test_data/turtle.trees -n 0 -wpl --prefix test_scripts/test_data/turtle.wpl -seed 73073 -T 1 2 0.05 0.05 0.05 0.13 0.04 0.62 -build/iqtree3 -s test_scripts/test_data/turtle.fa -S test_scripts/test_data/turtle.nex --prefix test_scripts/test_data/turtle.loci -T 1 -seed 73073 3 3.64 3.82 4.88 3.90 2.94 3.86 -build/iqtree3 -t test_scripts/test_data/turtle.nex.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.01 0.02 0.01 0.4 -build/iqtree3 -t test_scripts/test_data/turtle.fa.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.01 0.02 0.01 0.41 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR+FO,GTR+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.link -seed 73073 -T 1 2 0.79 0.82 1.23 0.69 0.64 0.4 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR{1,1,1,1,1,1}+FO,GTR{1,1,1,1,1,1}+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.jc.link -seed 73073 -T 1 2 0.70 0.74 1.09 0.82 0.71 0.41 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle.nex.constr -T 1 -seed 73073 3 3.05 3.17 3.83 3.62 2.22 3.47 -build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle.nex.constr2 -T 1 -seed 73073 3 3.50 3.58 4.25 3.95 2.49 4.27 -build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX+MF --prefix test_scripts/test_data/turtle.mixfinder -T 1 -seed 73073 3 9.15 8.47 14.31 9.81 8.20 0.42 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -B 1000 -T 1 -seed 73073 12 62.06 65.05 100.61 35.56 40.99 35.76 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -seed 73073 12 71.33 72.66 116.11 44.03 46.82 41.86 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle_aa.merge -seed 73073 12 65.65 67.02 106.90 39.94 40.45 37.61 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.merge.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle_aa.test -seed 73073 -T 1 2 2.66 2.61 3.17 1.43 1.61 3.26 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -n 0 -wpl --prefix test_scripts/test_data/turtle_aa.wpl -seed 73073 -T 1 2 1.80 1.83 2.92 1.08 1.27 1.62 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -S test_scripts/test_data/turtle_aa.nex --prefix test_scripts/test_data/turtle_aa.loci -T 1 -seed 73073 12 55.46 56.38 89.44 34.67 35.94 32.52 -build/iqtree3 -t test_scripts/test_data/turtle_aa.nex.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.01 0.02 0.02 0.4 -build/iqtree3 -t test_scripts/test_data/turtle_aa.fasta.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.01 0.02 0.01 0.41 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MIX{LG+F,WAG+F} --prefix test_scripts/test_data/turtle_aa.mix -seed 73073 -T 1 3 13.04 13.33 21.36 7.23 8.97 7.53 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle_aa.nex.constr -T 1 -seed 73073 12 61.22 61.69 99.07 37.95 39.54 35.39 -build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle_aa.nex.constr2 -T 1 -seed 73073 12 82.86 85.39 135.76 49.92 53.91 48.37 +Command diff-threshold Linux-x86-64 Linux-aarch64 mac-os-x86-64 mac-os-arm64 windows-x86 +build/iqtree3 -s test_scripts/test_data/turtle.fa -B 1000 -T 1 -seed 73073 2 3.32 5.03 3.62 2.96 4.55 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -seed 73073 2 3.59 4.32 3.63 2.74 4.06 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle.merge -seed 73073 2 3.49 5.01 4.14 3.00 3.86 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.merge.best_scheme.nex -z test_scripts/test_data/turtle.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle.test -seed 73073 -T 1 2 1.31 0.74 0.85 0.78 3.26 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m GTR+F+I+R3+T -te test_scripts/test_data/turtle.trees -T 1 --prefix test_scripts/test_data/turtle.mix -seed 73073 2 2.36 3.76 2.29 2.52 2.85 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex.best_scheme.nex -z test_scripts/test_data/turtle.trees -n 0 -wpl --prefix test_scripts/test_data/turtle.wpl -seed 73073 -T 1 2 0.05 0.05 0.13 0.04 0.62 +build/iqtree3 -s test_scripts/test_data/turtle.fa -S test_scripts/test_data/turtle.nex --prefix test_scripts/test_data/turtle.loci -T 1 -seed 73073 3 3.82 4.88 3.90 2.94 3.86 +build/iqtree3 -t test_scripts/test_data/turtle.nex.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.02 0.01 0.4 +build/iqtree3 -t test_scripts/test_data/turtle.fa.treefile --gcf test_scripts/test_data/turtle.loci.treefile -s test_scripts/test_data/turtle.fa --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.02 0.01 0.41 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR+FO,GTR+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.link -seed 73073 -T 1 2 0.82 1.23 0.69 0.64 0.4 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX{GTR{1,1,1,1,1,1}+FO,GTR{1,1,1,1,1,1}+FO} --link-exchange-rates --prefix test_scripts/test_data/turtle.mix.jc.link -seed 73073 -T 1 2 0.74 1.09 0.82 0.71 0.41 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle.nex.constr -T 1 -seed 73073 3 3.17 3.83 3.62 2.22 3.47 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle.nex.constr2 -T 1 -seed 73073 3 3.58 4.25 3.95 2.49 4.27 +build/iqtree3 -s test_scripts/test_data/turtle.fa -m MIX+MF --prefix test_scripts/test_data/turtle.mixfinder -T 1 -seed 73073 3 8.47 14.31 9.81 8.20 0.42 +build/iqtree3 -s test_scripts/test_data/turtle.fa -p test_scripts/test_data/turtle.nex -o phrynops -m GTR+G --prefix test_scripts/test_data/turtle.nex.outgroup -T 1 -seed 73073 3 1.16 3.01 2.29 2.04 2.35 +build/iqtree3 -s test_scripts/test_data/turtle.fa -lmap 100 -o phrynops -m GTR+G --prefix test_scripts/test_data/turtle.lmap.outgroup -T 1 -seed 73073 3 1.09 2.39 1.25 1.46 2.18 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -B 1000 -T 1 -seed 73073 12 65.05 100.61 35.56 40.99 35.76 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -seed 73073 12 72.66 116.11 44.03 46.82 41.86 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -B 1000 -T 1 -m MFP+MERGE -rcluster 10 --prefix test_scripts/test_data/turtle_aa.merge -seed 73073 12 67.02 106.90 39.94 40.45 37.61 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.merge.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -zb 10000 -au -n 0 --prefix test_scripts/test_data/turtle_aa.test -seed 73073 -T 1 2 2.61 3.17 1.43 1.61 3.26 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex.best_scheme.nex -z test_scripts/test_data/turtle_aa.trees -n 0 -wpl --prefix test_scripts/test_data/turtle_aa.wpl -seed 73073 -T 1 2 1.83 2.92 1.08 1.27 1.62 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -S test_scripts/test_data/turtle_aa.nex --prefix test_scripts/test_data/turtle_aa.loci -T 1 -seed 73073 12 56.38 89.44 34.67 35.94 32.52 +build/iqtree3 -t test_scripts/test_data/turtle_aa.nex.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.02 0.02 0.4 +build/iqtree3 -t test_scripts/test_data/turtle_aa.fasta.treefile --gcf test_scripts/test_data/turtle_aa.loci.treefile -s test_scripts/test_data/turtle_aa.fasta --scf 100 -seed 73073 -T 1 1 0.01 0.01 0.02 0.01 0.41 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MIX{LG+F,WAG+F} --prefix test_scripts/test_data/turtle_aa.mix -seed 73073 -T 1 3 13.33 21.36 7.23 8.97 7.53 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree --prefix test_scripts/test_data/turtle_aa.nex.constr -T 1 -seed 73073 12 61.69 99.07 37.95 39.54 35.39 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -p test_scripts/test_data/turtle_aa.nex -g test_scripts/test_data/turtle.constr.tree2 -B 1000 -alrt 1000 --prefix test_scripts/test_data/turtle_aa.nex.constr2 -T 1 -seed 73073 12 85.39 135.76 49.92 53.91 48.37 +build/iqtree3 -s test_scripts/test_data/turtle_aa.fasta -m MUTSEL -ft AUTO --prefix test_scripts/test_data/turtle_aa.mutsel -T 1 -seed 73073 30 70.45 141.13 88.99 87.10 69.25 diff --git a/test_scripts/verify_memory.ps1 b/test_scripts/verify_memory.ps1 index d67671776..d0deedc0f 100644 --- a/test_scripts/verify_memory.ps1 +++ b/test_scripts/verify_memory.ps1 @@ -21,6 +21,22 @@ $thresholds = foreach ($line in $thresholdLines) { [PSCustomObject]@{ Command = $parts[0]; Threshold = [double]$parts[1] } } +# Per-platform threshold column "thr-" when present, else diff-threshold. +# Peak memory is not comparable across platforms, so one shared allowance is either +# too tight on the noisy ones or meaningless on the quiet ones. +if ($FallbackColumn -ne "") { + $hdr = (Get-Content $thresholdFile -TotalCount 1) -split "`t" + $thrIdx = $hdr.IndexOf("thr-$FallbackColumn") + if ($thrIdx -ge 0) { + Write-Host "Using per-platform thresholds: thr-$FallbackColumn" + for ($i = 0; $i -lt $thresholds.Count; $i++) { + $thresholds[$i].Threshold = [double]($thresholdLines[$i] -split "`t")[$thrIdx] + } + } else { + Write-Host "No thr-$FallbackColumn column; using the shared diff-threshold" + } +} + # Resolve fallback column index $fallbackValues = @() if ($FallbackColumn -ne "") { diff --git a/test_scripts/verify_memory.sh b/test_scripts/verify_memory.sh index bd21ecaaf..a6b5d5b0f 100644 --- a/test_scripts/verify_memory.sh +++ b/test_scripts/verify_memory.sh @@ -19,8 +19,20 @@ tmp_fallback=$(mktemp) tmp_iqtree2=$(mktemp) tmp_iqtree3=$(mktemp) -# Command and diff-threshold columns (columns 1 and 2) -tail -n +2 "$threshold_file" | cut -f1,2 > "$tmp_thresholds" +# Per-platform threshold column "thr-" when present, else diff-threshold. +# Peak memory is not comparable across platforms, so one shared allowance is either +# too tight on the noisy ones or meaningless on the quiet ones. +thr_index=2 +if [ -n "$fallback_column" ]; then + idx=$(head -1 "$threshold_file" | tr '\t' '\n' | awk -v c="thr-$fallback_column" '$0 == c {print NR}') + if [ -n "$idx" ]; then + thr_index=$idx + echo "Using per-platform thresholds: thr-$fallback_column" + else + echo "No thr-$fallback_column column; using the shared diff-threshold" + fi +fi +tail -n +2 "$threshold_file" | cut -f1,"$thr_index" > "$tmp_thresholds" # Pre-defined fallback expected values for the given platform column if [ -n "$fallback_column" ]; then