From 68f9649491decda4fb80a36e6da25064c565ed2f Mon Sep 17 00:00:00 2001 From: Adrian Altenhoff Date: Wed, 4 Nov 2026 20:49:50 +0100 Subject: [PATCH] fix: ImpliedLosses looks up taxonomic levels by name _count_untouched_clades compares species tree nodes by identity, but the scoring tree (full_species_tree) and the trees of the separately pickled levels are different copies. Every nested level therefore counted one extra loss; a complete 1:1 family over the 30 fungi-30 species got ImpliedLosses=22 at Fungi instead of 0. _hog_implied_losses now resolves the sub-HOGs' levels by name in the scoring tree, so all comparisons stay within one tree object. Golden snapshots regenerated: apart from ImpliedLosses values (and the order of siblings, which the snapshot sorts by their text), all 13 are unchanged. The sum of all ImpliedLosses values in the snapshots drops from 1483 to 910. Fixes #115 Co-Authored-By: Claude Opus 5.5 --- FastOMA/_hog_class.py | 13 +- tests/data/fungi30/golden/F0413304.txt | 10 +- tests/data/fungi30/golden/F0453151.txt | 44 +++--- tests/data/fungi30/golden/F0459413.txt | 16 +- tests/data/fungi30/golden/F0476910.txt | 14 +- tests/data/fungi30/golden/F0477229.txt | 14 +- tests/data/fungi30/golden/F0478382.txt | 4 +- tests/data/fungi30/golden/F0480898.txt | 18 +-- tests/data/fungi30/golden/F0489906.txt | 6 +- tests/data/fungi30/golden/F0848191.txt | 190 +++++++++++------------ tests/data/fungi30/golden/F0848294.txt | 44 +++--- tests/data/fungi30/golden/F1085561.txt | 58 +++---- tests/data/fungi30/golden/clust12762.txt | 18 +-- tests/test_hog_class.py | 27 +++- 14 files changed, 250 insertions(+), 226 deletions(-) diff --git a/FastOMA/_hog_class.py b/FastOMA/_hog_class.py index ced8d8c..f5d836a 100644 --- a/FastOMA/_hog_class.py +++ b/FastOMA/_hog_class.py @@ -92,21 +92,26 @@ def _hog_implied_losses(hog: "HOG", tree_node: TreeNode) -> int: Mirrors _tax_overlap's _tax_now-based grouping of _subhogs, but sums losses per group member instead of intersecting/folding lineages: a group of sub-hogs sharing the same _tax_now represents a duplication, and each such paralogous copy's losses are counted independently - so that one copy's presence in a species can't mask a sibling copy's loss there.""" + so that one copy's presence in a species can't mask a sibling copy's loss there. + + The sub-hogs' taxonomic levels are looked up by name in `tree_node`'s tree: their `_tax_now` + nodes belong to other tree objects (the pruned working tree, and a separate copy per pickled + level), and ete3 nodes only compare by identity.""" subhogs = getattr(hog, "_subhogs", None) if not subhogs: return 0 + index = _species_name_index(tree_node) losses = 0 clade_groups = {} for sh in subhogs: clade_groups.setdefault(sh._tax_now.name, []).append(sh) - for subhogs_of_clade in clade_groups.values(): - clade_node = subhogs_of_clade[0]._tax_now + for clade_name, subhogs_of_clade in clade_groups.items(): + clade_node = index[clade_name] for sh in subhogs_of_clade: losses += _hog_implied_losses(sh, clade_node) - reached_nodes = [subhogs_of_clade[0]._tax_now for subhogs_of_clade in clade_groups.values()] + reached_nodes = [index[clade_name] for clade_name in clade_groups] losses += _count_untouched_clades(tree_node, reached_nodes) return losses diff --git a/tests/data/fungi30/golden/F0413304.txt b/tests/data/fungi30/golden/F0413304.txt index eba9aca..15f0910 100644 --- a/tests/data/fungi30/golden/F0413304.txt +++ b/tests/data/fungi30/golden/F0413304.txt @@ -1,10 +1,10 @@ # 4 input proteins, 2 groups, 4 proteins in groups -orthologGroup Fungi CompletenessScore=0.0667 ImpliedLosses=2 TCSScore=0.0 - tr|A0A1Y2ETJ6|A0A1Y2ETJ6_9FUNG - tr|A0AA35IW45|A0AA35IW45_SACMI - -orthologGroup Fungi CompletenessScore=0.0667 ImpliedLosses=3 TCSScore=0.0 +orthologGroup Fungi CompletenessScore=0.0667 ImpliedLosses=5 TCSScore=0.0 paralogGroup tr|A0A1Y2AI63|A0A1Y2AI63_9FUNG tr|A0ABQ8PQ38|A0ABQ8PQ38_9FUNG + +orthologGroup Fungi CompletenessScore=0.0667 ImpliedLosses=5 TCSScore=0.0 + tr|A0A1Y2ETJ6|A0A1Y2ETJ6_9FUNG + tr|A0AA35IW45|A0AA35IW45_SACMI diff --git a/tests/data/fungi30/golden/F0453151.txt b/tests/data/fungi30/golden/F0453151.txt index a72b62e..b92660f 100644 --- a/tests/data/fungi30/golden/F0453151.txt +++ b/tests/data/fungi30/golden/F0453151.txt @@ -1,7 +1,7 @@ # 101 input proteins, 1 groups, 86 proteins in groups -orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=120 TCSScore=20.314 - orthologGroup Dikarya CompletenessScore=0.6923 ImpliedLosses=118 TCSScore=17.4933 +orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=114 TCSScore=20.314 + orthologGroup Dikarya CompletenessScore=0.6923 ImpliedLosses=112 TCSScore=17.4933 orthologGroup Basidiomycota CompletenessScore=0.375 ImpliedLosses=3 TCSScore=2.2 paralogGroup orthologGroup Ustilaginomycotina CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.6667 @@ -12,33 +12,33 @@ orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=120 TCSScore=20.314 tr|A0A0F7S400|A0A0F7S400_9BASI tr|M7XCB9|M7XCB9_RHOT1 paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.4444 ImpliedLosses=4 TCSScore=1.5 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.4444 ImpliedLosses=2 TCSScore=1.5 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6IG66|A0A7J6IG66_COLFN tr|A0AAX4IHJ5|A0AAX4IHJ5_9PEZI orthologGroup Sordariomycetidae CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A2P5HUN9|A0A2P5HUN9_DIAHE tr|A0ABQ8NNB3|A0ABQ8NNB3_PYRGI orthologGroup leotiomyceta CompletenessScore=0.25 ImpliedLosses=8 TCSScore=4.25 - orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=2 TCSScore=0.6667 + orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=1 TCSScore=0.6667 orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A395SPL0|A0A395SPL0_FUSSP tr|A0A8H5KVI5|A0A8H5KVI5_GIBSU tr|G9N0Q0|G9N0Q0_HYPVG tr|F2PYR0|F2PYR0_TRIEC - orthologGroup leotiomyceta CompletenessScore=0.9375 ImpliedLosses=101 TCSScore=5.0161 + orthologGroup leotiomyceta CompletenessScore=0.9375 ImpliedLosses=94 TCSScore=5.0161 paralogGroup - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9VRU9|A0A1L9VRU9_ASPGL tr|A0A1V6PLF3|A0A1V6PLF3_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7NX54|A0A1B7NX54_9EURO tr|F2Q0I0|F2Q0I0_TRIEC tr|A0A0D2FPJ6|A0A0D2FPJ6_CLAB1 paralogGroup - orthologGroup Eurotiomycetidae CompletenessScore=0.75 ImpliedLosses=6 TCSScore=0.8 + orthologGroup Eurotiomycetidae CompletenessScore=0.75 ImpliedLosses=5 TCSScore=0.8 paralogGroup tr|A0A1B7NXM4|A0A1B7NXM4_9EURO tr|F2PIH5|F2PIH5_TRIEC @@ -53,19 +53,19 @@ orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=120 TCSScore=20.314 tr|F2PM61|F2PM61_TRIEC tr|F2PV36|F2PV36_TRIEC paralogGroup - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395S0Z2|A0A395S0Z2_FUSSP tr|A0A8H5P5V9|A0A8H5P5V9_GIBSU tr|A0A9P9JQS6|A0A9P9JQS6_FUSSL - orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=2 TCSScore=1.0 + orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=1 TCSScore=1.0 orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A395SR55|A0A395SR55_FUSSP tr|A0A8H5PCB0|A0A8H5PCB0_GIBSU paralogGroup tr|G9MUQ4|G9MUQ4_HYPVG tr|G9MZ61|G9MZ61_HYPVG - orthologGroup Hypocreomycetidae CompletenessScore=0.5 ImpliedLosses=4 TCSScore=0.6667 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreomycetidae CompletenessScore=0.5 ImpliedLosses=3 TCSScore=0.6667 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6ID17|A0A7J6ID17_COLFN tr|A0AAX4J184|A0AAX4J184_9PEZI tr|A0A395S871|A0A395S871_FUSSP @@ -82,17 +82,17 @@ orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=120 TCSScore=20.314 tr|G9MUY2|G9MUY2_HYPVG tr|G9N4C5|G9N4C5_HYPVG tr|A0ABQ8NPS7|A0ABQ8NPS7_PYRGI - orthologGroup Sordariomycetes CompletenessScore=0.5556 ImpliedLosses=5 TCSScore=3.4 - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.5556 ImpliedLosses=3 TCSScore=3.4 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SQY0|A0A395SQY0_FUSSP tr|A0A8H5Q5X1|A0A8H5Q5X1_GIBSU tr|A0A9P9HA30|A0A9P9HA30_FUSSL tr|G9MWP4|G9MWP4_HYPVG tr|A0A2P5IFJ7|A0A2P5IFJ7_DIAHE - orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=6 TCSScore=2.3333 - orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=4 TCSScore=1.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=3 TCSScore=2.3333 + orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=2 TCSScore=1.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4IDB4|A0AAX4IDB4_9PEZI tr|L2FJK3|L2FJK3_COLFN orthologGroup Hypocreales CompletenessScore=0.5 ImpliedLosses=2 TCSScore=0.0 @@ -122,7 +122,7 @@ orthologGroup Fungi CompletenessScore=0.6667 ImpliedLosses=120 TCSScore=20.314 paralogGroup tr|A0A7C8I9Y5|A0A7C8I9Y5_9PLEO tr|A0A7C8IAS7|A0A7C8IAS7_9PLEO - orthologGroup Fungiincertaesedis CompletenessScore=0.5 ImpliedLosses=1 TCSScore=0.9091 + orthologGroup Fungiincertaesedis CompletenessScore=0.5 ImpliedLosses=2 TCSScore=0.9091 paralogGroup tr|A0A1Y1YU83|A0A1Y1YU83_9FUNG tr|A0A1Y2A814|A0A1Y2A814_9FUNG diff --git a/tests/data/fungi30/golden/F0459413.txt b/tests/data/fungi30/golden/F0459413.txt index 9ef5d78..1a0e939 100644 --- a/tests/data/fungi30/golden/F0459413.txt +++ b/tests/data/fungi30/golden/F0459413.txt @@ -1,15 +1,15 @@ # 26 input proteins, 1 groups, 26 proteins in groups -orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=25 TCSScore=20.6538 - orthologGroup Basidiomycota CompletenessScore=0.25 ImpliedLosses=1 TCSScore=0.6667 +orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=33 TCSScore=20.6538 + orthologGroup Basidiomycota CompletenessScore=0.25 ImpliedLosses=4 TCSScore=0.6667 paralogGroup tr|M7WKC3|M7WKC3_RHOT1 tr|M7XDE6|M7XDE6_RHOT1 tr|A0A067TG69|A0A067TG69_GALM3 paralogGroup - orthologGroup leotiomyceta CompletenessScore=0.4375 ImpliedLosses=7 TCSScore=4.1111 + orthologGroup leotiomyceta CompletenessScore=0.4375 ImpliedLosses=9 TCSScore=4.1111 orthologGroup Sordariomycetes CompletenessScore=0.4444 ImpliedLosses=4 TCSScore=4.0 - orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=2 TCSScore=1.0 + orthologGroup Hypocreales CompletenessScore=0.75 ImpliedLosses=1 TCSScore=1.0 orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A8H5NQD1|A0A8H5NQD1_GIBSU tr|A0A9P9KTM1|A0A9P9KTM1_FUSSL @@ -23,16 +23,16 @@ orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=25 TCSScore=20.653 paralogGroup tr|A0A7C8IAK2|A0A7C8IAK2_9PLEO tr|A0A7C8MMZ9|A0A7C8MMZ9_9PLEO - orthologGroup leotiomyceta CompletenessScore=0.5625 ImpliedLosses=16 TCSScore=9.5 + orthologGroup leotiomyceta CompletenessScore=0.5625 ImpliedLosses=18 TCSScore=9.5 paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=7 TCSScore=7.3333 + orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=6 TCSScore=7.3333 paralogGroup - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=3 TCSScore=2.2857 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=2.2857 paralogGroup orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A395SGZ3|A0A395SGZ3_FUSSP tr|A0A9P9KT16|A0A9P9KT16_FUSSL - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.5 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.5 paralogGroup tr|A0A9P9HBT0|A0A9P9HBT0_FUSSL tr|A0A9P9KT27|A0A9P9KT27_FUSSL diff --git a/tests/data/fungi30/golden/F0476910.txt b/tests/data/fungi30/golden/F0476910.txt index 64dde85..46b64f0 100644 --- a/tests/data/fungi30/golden/F0476910.txt +++ b/tests/data/fungi30/golden/F0476910.txt @@ -1,10 +1,10 @@ # 34 input proteins, 1 groups, 33 proteins in groups -orthologGroup Fungi CompletenessScore=0.3667 ImpliedLosses=19 TCSScore=12.1515 +orthologGroup Fungi CompletenessScore=0.3667 ImpliedLosses=38 TCSScore=12.1515 paralogGroup - orthologGroup Dikarya CompletenessScore=0.3077 ImpliedLosses=7 TCSScore=9.0 - orthologGroup leotiomyceta CompletenessScore=0.375 ImpliedLosses=4 TCSScore=1.8571 - orthologGroup Sordariomycetes CompletenessScore=0.3333 ImpliedLosses=2 TCSScore=2.0 + orthologGroup Dikarya CompletenessScore=0.3077 ImpliedLosses=14 TCSScore=9.0 + orthologGroup leotiomyceta CompletenessScore=0.375 ImpliedLosses=6 TCSScore=1.8571 + orthologGroup Sordariomycetes CompletenessScore=0.3333 ImpliedLosses=5 TCSScore=2.0 orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A395SBE1|A0A395SBE1_FUSSP tr|A0A9P9R990|A0A9P9R990_FUSSL @@ -33,12 +33,12 @@ orthologGroup Fungi CompletenessScore=0.3667 ImpliedLosses=19 TCSScore=12.1515 tr|A0A0C3CHJ8|A0A0C3CHJ8_HEBCY tr|A0A0C3CIW7|A0A0C3CIW7_HEBCY tr|A0A067STW1|A0A067STW1_GALM3 - orthologGroup leotiomyceta CompletenessScore=0.125 ImpliedLosses=3 TCSScore=0.0 + orthologGroup leotiomyceta CompletenessScore=0.125 ImpliedLosses=5 TCSScore=0.0 tr|A0A164Z8X8|A0A164Z8X8_XYLHT tr|A0A1V6NNK1|A0A1V6NNK1_PENDC orthologGroup leotiomyceta CompletenessScore=0.25 ImpliedLosses=3 TCSScore=4.2 - orthologGroup Eurotiomycetes CompletenessScore=0.6 ImpliedLosses=2 TCSScore=3.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.6667 + orthologGroup Eurotiomycetes CompletenessScore=0.6 ImpliedLosses=1 TCSScore=3.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 paralogGroup tr|A0A1L9V458|A0A1L9V458_ASPGL tr|A0A1L9VLC0|A0A1L9VLC0_ASPGL diff --git a/tests/data/fungi30/golden/F0477229.txt b/tests/data/fungi30/golden/F0477229.txt index 838bf74..d69917d 100644 --- a/tests/data/fungi30/golden/F0477229.txt +++ b/tests/data/fungi30/golden/F0477229.txt @@ -1,22 +1,22 @@ # 27 input proteins, 1 groups, 21 proteins in groups -orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=15 TCSScore=16.0476 +orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=17 TCSScore=16.0476 orthologGroup Agaricales CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.6667 paralogGroup tr|A0A067S4V6|A0A067S4V6_GALM3 tr|A0A067T8Z9|A0A067T8Z9_GALM3 tr|A0A0C3CZU8|A0A0C3CZU8_HEBCY - orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=13 TCSScore=6.1111 - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.75 + orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=11 TCSScore=6.1111 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 paralogGroup tr|F2PXP9|F2PXP9_TRIEC tr|F2PYJ4|F2PYJ4_TRIEC tr|F2Q4D0|F2Q4D0_TRIEC tr|A0A1B7P4W4|A0A1B7P4W4_9EURO paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=5 TCSScore=4.1 - orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=3 TCSScore=2.25 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.8333 + orthologGroup Sordariomycetes CompletenessScore=0.6667 ImpliedLosses=3 TCSScore=4.1 + orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=2 TCSScore=2.25 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.8333 paralogGroup tr|A0A7J6ICM4|A0A7J6ICM4_COLFN tr|A0A7J6IHN8|A0A7J6IHN8_COLFN @@ -24,7 +24,7 @@ orthologGroup Dikarya CompletenessScore=0.4615 ImpliedLosses=15 TCSScore=16.047 tr|A0A7J6JBZ8|A0A7J6JBZ8_COLFN tr|L2GDX0|L2GDX0_COLFN tr|A0AAX4I0N0|A0AAX4I0N0_9PEZI - orthologGroup Hypocreales CompletenessScore=0.5 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=0.5 ImpliedLosses=2 TCSScore=0.0 tr|A0A9P9JYY1|A0A9P9JYY1_FUSSL tr|G9MTS0|G9MTS0_HYPVG orthologGroup Sordariomycetidae CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 diff --git a/tests/data/fungi30/golden/F0478382.txt b/tests/data/fungi30/golden/F0478382.txt index 0519f65..233c409 100644 --- a/tests/data/fungi30/golden/F0478382.txt +++ b/tests/data/fungi30/golden/F0478382.txt @@ -1,7 +1,7 @@ # 4 input proteins, 1 groups, 3 proteins in groups -orthologGroup leotiomyceta CompletenessScore=0.1875 ImpliedLosses=2 TCSScore=1.3333 - orthologGroup Hypocreomycetidae CompletenessScore=0.3333 ImpliedLosses=1 TCSScore=0.0 +orthologGroup leotiomyceta CompletenessScore=0.1875 ImpliedLosses=7 TCSScore=1.3333 + orthologGroup Hypocreomycetidae CompletenessScore=0.3333 ImpliedLosses=4 TCSScore=0.0 tr|A0A8H5V9V0|A0A8H5V9V0_GIBSU tr|A0AAX4IL06|A0AAX4IL06_9PEZI tr|A0A7C8ICJ0|A0A7C8ICJ0_9PLEO diff --git a/tests/data/fungi30/golden/F0480898.txt b/tests/data/fungi30/golden/F0480898.txt index 6f11392..b516cc5 100644 --- a/tests/data/fungi30/golden/F0480898.txt +++ b/tests/data/fungi30/golden/F0480898.txt @@ -1,8 +1,8 @@ # 24 input proteins, 1 groups, 24 proteins in groups -orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=21 TCSScore=6.5833 +orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=19 TCSScore=6.5833 paralogGroup - orthologGroup Eurotiomycetidae CompletenessScore=0.5 ImpliedLosses=1 TCSScore=1.5 + orthologGroup Eurotiomycetidae CompletenessScore=0.5 ImpliedLosses=2 TCSScore=1.5 paralogGroup tr|A0A1L9V4W9|A0A1L9V4W9_ASPGL tr|A0A1L9V7S2|A0A1L9V7S2_ASPGL @@ -12,31 +12,31 @@ orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=21 TCSScore=6. paralogGroup orthologGroup Sordariomycetes CompletenessScore=0.3333 ImpliedLosses=7 TCSScore=2.8 paralogGroup - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6JGH0|A0A7J6JGH0_COLFN tr|A0AAX4I0Q8|A0AAX4I0Q8_9PEZI tr|L2FWK4|L2FWK4_COLFN paralogGroup tr|A0ABQ8NRX1|A0ABQ8NRX1_PYRGI tr|A0ABQ8NYR1|A0ABQ8NYR1_PYRGI - orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=8 TCSScore=3.9091 - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=3 TCSScore=3.9091 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5I609|A0A2P5I609_DIAHE tr|A0ABQ8NGB4|A0ABQ8NGB4_PYRGI tr|V5IKJ7|V5IKJ7_NEUCR paralogGroup - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6J4I6|A0A7J6J4I6_COLFN tr|A0AAX4I0H8|A0AAX4I0H8_9PEZI - orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=4 TCSScore=2.0 + orthologGroup Hypocreomycetidae CompletenessScore=0.6667 ImpliedLosses=2 TCSScore=2.0 orthologGroup Fusarium CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A8H5Q8E8|A0A8H5Q8E8_GIBSU tr|A0A9P9L841|A0A9P9L841_FUSSL paralogGroup - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4ICN6|A0AAX4ICN6_9PEZI tr|L2FCD7|L2FCD7_COLFN - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4ITE2|A0AAX4ITE2_9PEZI tr|L2FSM0|L2FSM0_COLFN tr|A0A7J6J952|A0A7J6J952_COLFN diff --git a/tests/data/fungi30/golden/F0489906.txt b/tests/data/fungi30/golden/F0489906.txt index 7ec79fa..d6f20ea 100644 --- a/tests/data/fungi30/golden/F0489906.txt +++ b/tests/data/fungi30/golden/F0489906.txt @@ -1,10 +1,10 @@ # 6 input proteins, 1 groups, 6 proteins in groups -orthologGroup Dikarya CompletenessScore=0.1923 ImpliedLosses=5 TCSScore=8.1667 +orthologGroup Dikarya CompletenessScore=0.1923 ImpliedLosses=23 TCSScore=8.1667 paralogGroup - orthologGroup leotiomyceta CompletenessScore=0.25 ImpliedLosses=3 TCSScore=1.75 + orthologGroup leotiomyceta CompletenessScore=0.25 ImpliedLosses=9 TCSScore=1.75 orthologGroup Eurotiomycetes CompletenessScore=0.6 ImpliedLosses=2 TCSScore=0.6667 - orthologGroup Eurotiomycetidae CompletenessScore=0.5 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Eurotiomycetidae CompletenessScore=0.5 ImpliedLosses=2 TCSScore=0.0 tr|A0A1B7NPW6|A0A1B7NPW6_9EURO tr|A0A1L9VKP1|A0A1L9VKP1_ASPGL tr|A0A0D2ESI3|A0A0D2ESI3_CLAB1 diff --git a/tests/data/fungi30/golden/F0848191.txt b/tests/data/fungi30/golden/F0848191.txt index 4b35b7a..f2efa2e 100644 --- a/tests/data/fungi30/golden/F0848191.txt +++ b/tests/data/fungi30/golden/F0848191.txt @@ -1,52 +1,52 @@ # 175 input proteins, 4 groups, 167 proteins in groups -orthologGroup Fungi CompletenessScore=0.7333 ImpliedLosses=32 TCSScore=22.3611 - orthologGroup Dikarya CompletenessScore=0.7308 ImpliedLosses=28 TCSScore=18.8387 - orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=25 TCSScore=13.6333 - orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=24 TCSScore=9.1034 +orthologGroup Fungi CompletenessScore=0.7333 ImpliedLosses=14 TCSScore=22.3611 + orthologGroup Dikarya CompletenessScore=0.7308 ImpliedLosses=12 TCSScore=18.8387 + orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=9 TCSScore=13.6333 + orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=9 TCSScore=9.1034 paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.3333 ImpliedLosses=4 TCSScore=1.3333 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.3333 ImpliedLosses=3 TCSScore=1.3333 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4I2Q2|A0AAX4I2Q2_9PEZI tr|L2FU61|L2FU61_COLFN tr|A0A2P5HLA9|A0A2P5HLA9_DIAHE - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.3333 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.3333 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4I2R5|A0AAX4I2R5_9PEZI tr|L2G588|L2G588_COLFN - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SEL3|A0A395SEL3_FUSSP tr|A0A8H5PFR4|A0A8H5PFR4_GIBSU tr|A0A9P9RCW9|A0A9P9RCW9_FUSSL tr|G9N6T3|G9N6T3_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5HL47|A0A2P5HL47_DIAHE tr|Q7S836|Q7S836_NEUCR tr|Q96UW1|Q96UW1_PYRGI - orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=11 TCSScore=5.125 - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=5.125 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9VYU4|A0A1L9VYU4_ASPGL tr|A0A1V6P8M2|A0A1V6P8M2_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7NPZ8|A0A1B7NPZ8_9EURO tr|F2PUU8|F2PUU8_TRIEC tr|A0A0D2ELH6|A0A0D2ELH6_CLAB1 - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.3333 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.3333 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4I8K4|A0AAX4I8K4_9PEZI tr|L2FXL1|L2FXL1_COLFN - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395RLI0|A0A395RLI0_FUSSP tr|A0A8H5UZ13|A0A8H5UZ13_GIBSU tr|A0A9P9HJ80|A0A9P9HJ80_FUSSL tr|G9MGW2|G9MGW2_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5I8E1|A0A2P5I8E1_DIAHE tr|A0ABQ8N4J5|A0ABQ8N4J5_PYRGI tr|Q7S7W1|Q7S7W1_NEUCR @@ -55,7 +55,7 @@ orthologGroup Fungi CompletenessScore=0.7333 ImpliedLosses=32 TCSScore=22.3611 tr|A0AA35IRL9|A0AA35IRL9_SACMI sp|Q9UT43|ATC8_SCHPO tr|A0AAW0G776|A0AAW0G776_9APHY - orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=3 TCSScore=1.2 + orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=2 TCSScore=1.2 paralogGroup tr|A0A1Y1ZPJ8|A0A1Y1ZPJ8_9FUNG tr|A0A1Y2B225|A0A1Y2B225_9FUNG @@ -64,32 +64,32 @@ orthologGroup Fungi CompletenessScore=0.7333 ImpliedLosses=32 TCSScore=22.3611 tr|A0ABN7UHV8|A0ABN7UHV8_GIGMA tr|A0ABQ8PV12|A0ABQ8PV12_9FUNG -orthologGroup Fungi CompletenessScore=0.9667 ImpliedLosses=22 TCSScore=15.2188 - orthologGroup Dikarya CompletenessScore=0.9615 ImpliedLosses=19 TCSScore=13.2 - orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=13 TCSScore=11.7222 - orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=12 TCSScore=8.1176 - orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=11 TCSScore=5.125 - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 +orthologGroup Fungi CompletenessScore=0.9667 ImpliedLosses=1 TCSScore=15.2188 + orthologGroup Dikarya CompletenessScore=0.9615 ImpliedLosses=1 TCSScore=13.2 + orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=11.7222 + orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=8.1176 + orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=5.125 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9VMD5|A0A1L9VMD5_ASPGL tr|A0A1V6PLY2|A0A1V6PLY2_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7P7I3|A0A1B7P7I3_9EURO tr|F2PM24|F2PM24_TRIEC tr|A0A0D2IQY6|A0A0D2IQY6_CLAB1 - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.3333 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.3333 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6J338|A0A7J6J338_COLFN tr|A0AAX4HZ44|A0AAX4HZ44_9PEZI - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SAR2|A0A395SAR2_FUSSP tr|A0A8H5PDA4|A0A8H5PDA4_GIBSU tr|A0A9P9L1T3|A0A9P9L1T3_FUSSL tr|G9MMK6|G9MMK6_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5IDA2|A0A2P5IDA2_DIAHE tr|A0ABQ8P235|A0ABQ8P235_PYRGI tr|Q7RZL3|Q7RZL3_NEUCR @@ -97,19 +97,19 @@ orthologGroup Fungi CompletenessScore=0.9667 ImpliedLosses=22 TCSScore=15.2188 tr|A0A7C8MRI7|A0A7C8MRI7_9PLEO tr|A0AA35IX53|A0AA35IX53_SACMI sp|O94296|ATC3_SCHPO - orthologGroup Basidiomycota CompletenessScore=0.875 ImpliedLosses=5 TCSScore=1.7143 - orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Basidiomycota CompletenessScore=0.875 ImpliedLosses=1 TCSScore=1.7143 + orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A067SYV3|A0A067SYV3_GALM3 tr|A0A0C3C8P4|A0A0C3C8P4_HEBCY tr|B0D0Z2|B0D0Z2_LACBS tr|A0AAW0GDM5|A0AAW0GDM5_9APHY - orthologGroup Ustilaginomycotina CompletenessScore=0.6667 ImpliedLosses=2 TCSScore=0.0 + orthologGroup Ustilaginomycotina CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A0F7S3X1|A0A0F7S3X1_9BASI tr|A0A316UVR8|A0A316UVR8_9BASI tr|M7XXB6|M7XXB6_RHOT1 - orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=2 TCSScore=1.4286 - orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.6667 + orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.4286 + orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 paralogGroup tr|A0AAD7V2H0|A0AAD7V2H0_9FUNG tr|A0AAD7XWI9|A0AAD7XWI9_9FUNG @@ -120,32 +120,32 @@ orthologGroup Fungi CompletenessScore=0.9667 ImpliedLosses=22 TCSScore=15.2188 tr|A0A1Y2FFW8|A0A1Y2FFW8_9FUNG tr|A0ABQ8PU82|A0ABQ8PU82_9FUNG -orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=28 TCSScore=13.175 - orthologGroup Dikarya CompletenessScore=1.0 ImpliedLosses=19 TCSScore=12.6071 - orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=13 TCSScore=11.7222 - orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=12 TCSScore=8.1176 - orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=11 TCSScore=5.125 - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 +orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=12 TCSScore=13.175 + orthologGroup Dikarya CompletenessScore=1.0 ImpliedLosses=0 TCSScore=12.6071 + orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=11.7222 + orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=8.1176 + orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=5.125 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9VD89|A0A1L9VD89_ASPGL tr|A0A1V6PG37|A0A1V6PG37_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7P7T3|A0A1B7P7T3_9EURO tr|F2PZY6|F2PZY6_TRIEC tr|A0A0D2GF51|A0A0D2GF51_CLAB1 - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.3333 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.3333 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4I8R9|A0AAX4I8R9_9PEZI tr|L2G5Z9|L2G5Z9_COLFN - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SM71|A0A395SM71_FUSSP tr|A0A8H5PY59|A0A8H5PY59_GIBSU tr|A0A9P9KN43|A0A9P9KN43_FUSSL tr|G9MH84|G9MH84_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5IDQ5|A0A2P5IDQ5_DIAHE tr|A0ABQ8NXB0|A0ABQ8NXB0_PYRGI tr|Q1K7F7|Q1K7F7_NEUCR @@ -153,17 +153,17 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=28 TCSScore=13.175 tr|A0A7C8MF34|A0A7C8MF34_9PLEO tr|A0AA35J0Z5|A0AA35J0Z5_SACMI sp|Q10309|ATC7_SCHPO - orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=5 TCSScore=2.4 - orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=2 TCSScore=1.0 - orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A067TE99|A0A067TE99_GALM3 tr|A0A0C3C0S6|A0A0C3C0S6_HEBCY tr|B0DWL6|B0DWL6_LACBS paralogGroup tr|A0AAW0FB63|A0AAW0FB63_9APHY tr|A0AAW0G052|A0AAW0G052_9APHY - orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.6667 - orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 + orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A0P1BME0|A0A0P1BME0_9BASI tr|A0A316ULH2|A0A316ULH2_9BASI tr|A0A0F7S4M1|A0A0F7S4M1_9BASI @@ -171,8 +171,8 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=28 TCSScore=13.175 tr|M7WHX4|M7WHX4_RHOT1 tr|M7XR38|M7XR38_RHOT1 paralogGroup - orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.8333 - orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.8333 + orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAD7UTJ8|A0AAD7UTJ8_9FUNG tr|A0ABN7UYE4|A0ABN7UYE4_GIGMA paralogGroup @@ -187,11 +187,11 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=28 TCSScore=13.175 tr|A0A1Y2E329|A0A1Y2E329_9FUNG tr|A0A1Y2E5M3|A0A1Y2E5M3_9FUNG -orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=44 TCSScore=12.7797 +orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=25 TCSScore=12.7797 paralogGroup - orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=8 TCSScore=2.5455 - orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.6667 - orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=3 TCSScore=2.5455 + orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 + orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A0P1BQC6|A0A0P1BQC6_9BASI tr|A0A316UXC2|A0A316UXC2_9BASI tr|A0A0F7RS93|A0A0F7RS93_9BASI @@ -199,39 +199,39 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=44 TCSScore=12.7797 orthologGroup Agaricales CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A067T192|A0A067T192_GALM3 tr|A0A0C2YFW7|A0A0C2YFW7_HEBCY - orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A067SUC6|A0A067SUC6_GALM3 tr|A0A0C3CJ14|A0A0C3CJ14_HEBCY tr|B0DQ40|B0DQ40_LACBS tr|A0AAW0GKU4|A0AAW0GKU4_9APHY tr|A0AAW0GN29|A0AAW0GN29_9APHY tr|M7WXI4|M7WXI4_RHOT1 - orthologGroup Dikarya CompletenessScore=0.9615 ImpliedLosses=22 TCSScore=13.0667 - orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=13 TCSScore=11.3333 - orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=12 TCSScore=8.1053 - orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=11 TCSScore=5.3529 - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Dikarya CompletenessScore=0.9615 ImpliedLosses=5 TCSScore=13.0667 + orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=11.3333 + orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=8.1053 + orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=5.3529 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9V8A8|A0A1L9V8A8_ASPGL tr|A0A1V6PFJ5|A0A1V6PFJ5_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7P546|A0A1B7P546_9EURO tr|F2PX54|F2PX54_TRIEC tr|A0A0D2HRY1|A0A0D2HRY1_CLAB1 - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.5 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.5 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6IT22|A0A7J6IT22_COLFN tr|A0AAX4IIC0|A0AAX4IIC0_9PEZI - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SBU8|A0A395SBU8_FUSSP tr|A0A8H5V8Q5|A0A8H5V8Q5_GIBSU tr|A0A9P9KZI6|A0A9P9KZI6_FUSSL tr|G9MQ06|G9MQ06_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.5 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.5 paralogGroup tr|A0A2P5HKR8|A0A2P5HKR8_DIAHE tr|A0A2P5I0U7|A0A2P5I0U7_DIAHE @@ -246,14 +246,14 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=44 TCSScore=12.7797 sp|O36028|ATCZ_SCHPO sp|Q09891|ATCX_SCHPO paralogGroup - orthologGroup Basidiomycota CompletenessScore=0.875 ImpliedLosses=6 TCSScore=2.25 - orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.6667 - orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Basidiomycota CompletenessScore=0.875 ImpliedLosses=2 TCSScore=2.25 + orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 + orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A0P1BP52|A0A0P1BP52_9BASI tr|A0A316V1J6|A0A316V1J6_9BASI tr|A0A0F7S488|A0A0F7S488_9BASI paralogGroup - orthologGroup Agaricomycetes CompletenessScore=0.75 ImpliedLosses=2 TCSScore=0.6667 + orthologGroup Agaricomycetes CompletenessScore=0.75 ImpliedLosses=1 TCSScore=0.6667 orthologGroup Agaricales CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A067TK84|A0A067TK84_GALM3 tr|A0A0C3CJD5|A0A0C3CJD5_HEBCY @@ -267,15 +267,15 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=44 TCSScore=12.7797 tr|A0A1Y2AY62|A0A1Y2AY62_9FUNG tr|A0A1Y2CGT1|A0A1Y2CGT1_9FUNG tr|A0ABM8W4B7|A0ABM8W4B7_GIGMA - orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=2 TCSScore=1.75 - orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.6667 + orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=1 TCSScore=1.75 + orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 paralogGroup tr|A0ABN7UQ65|A0ABN7UQ65_GIGMA tr|A0ABN7VFB1|A0ABN7VFB1_GIGMA tr|A0AAD7V148|A0AAD7V148_9FUNG tr|A0ABQ8PP77|A0ABQ8PP77_9FUNG - orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=2 TCSScore=2.0 - orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.75 + orthologGroup Fungiincertaesedis CompletenessScore=0.75 ImpliedLosses=1 TCSScore=2.0 + orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 paralogGroup tr|A0AAD7UYQ7|A0AAD7UYQ7_9FUNG tr|A0AAD7VBQ1|A0AAD7VBQ1_9FUNG diff --git a/tests/data/fungi30/golden/F0848294.txt b/tests/data/fungi30/golden/F0848294.txt index 99f4225..63c392d 100644 --- a/tests/data/fungi30/golden/F0848294.txt +++ b/tests/data/fungi30/golden/F0848294.txt @@ -1,31 +1,31 @@ # 30 input proteins, 1 groups, 30 proteins in groups -orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=22 TCSScore=16.1333 - orthologGroup Dikarya CompletenessScore=1.0 ImpliedLosses=19 TCSScore=13.0385 - orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=13 TCSScore=11.7222 - orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=12 TCSScore=8.1176 - orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=11 TCSScore=5.125 - orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.4 - orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=3 TCSScore=1.0 - orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 +orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=0 TCSScore=16.1333 + orthologGroup Dikarya CompletenessScore=1.0 ImpliedLosses=0 TCSScore=13.0385 + orthologGroup Ascomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=11.7222 + orthologGroup saccharomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=8.1176 + orthologGroup leotiomyceta CompletenessScore=1.0 ImpliedLosses=0 TCSScore=5.125 + orthologGroup Eurotiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.4 + orthologGroup Eurotiomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Aspergillaceae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1L9VWY3|A0A1L9VWY3_ASPGL tr|A0A1V6PIE3|A0A1V6PIE3_PENDC - orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Onygenales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A1B7P792|A0A1B7P792_9EURO tr|F2PQY5|F2PQY5_TRIEC tr|A0A0D2HIH0|A0A0D2HIH0_CLAB1 - orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.3333 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=4 TCSScore=2.0 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=3.3333 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4HY75|A0AAX4HY75_9PEZI tr|L2G5M7|L2G5M7_COLFN - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395RH59|A0A395RH59_FUSSP tr|A0A8H5NX32|A0A8H5NX32_GIBSU tr|A0A9P9RC40|A0A9P9RC40_FUSSL tr|G9N112|G9N112_HYPVG - orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetidae CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A2P5HL36|A0A2P5HL36_DIAHE tr|A0A6P8AUH6|A0A6P8AUH6_PYRGI tr|Q7RYM3|Q7RYM3_NEUCR @@ -33,21 +33,21 @@ orthologGroup Fungi CompletenessScore=1.0 ImpliedLosses=22 TCSScore=16.1333 tr|A0A7C8MU77|A0A7C8MU77_9PLEO tr|A0AA35IZ99|A0AA35IZ99_SACMI sp|Q1MTQ9|NIP7_SCHPO - orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=5 TCSScore=2.125 - orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.75 - orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Basidiomycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.125 + orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.75 + orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A067TQ63|A0A067TQ63_GALM3 tr|A0A0C3CUS6|A0A0C3CUS6_HEBCY tr|B0CR22|B0CR22_LACBS tr|A0AAW0GQL6|A0AAW0GQL6_9APHY - orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.6667 - orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Ustilaginomycotina CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.6667 + orthologGroup Exobasidiomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A0P1BJE5|A0A0P1BJE5_9BASI tr|A0A316UL47|A0A316UL47_9BASI tr|A0A0F7RSB9|A0A0F7RSB9_9BASI tr|M7XIG2|M7XIG2_RHOT1 - orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=2 TCSScore=0.5 - orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Fungiincertaesedis CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.5 + orthologGroup Mucoromycota CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAD7VCH9|A0AAD7VCH9_9FUNG tr|A0ABN7VXY4|A0ABN7VXY4_GIGMA tr|A0A1Y2AHI4|A0A1Y2AHI4_9FUNG diff --git a/tests/data/fungi30/golden/F1085561.txt b/tests/data/fungi30/golden/F1085561.txt index 26e2893..57e82df 100644 --- a/tests/data/fungi30/golden/F1085561.txt +++ b/tests/data/fungi30/golden/F1085561.txt @@ -1,47 +1,28 @@ # 28 input proteins, 2 groups, 28 proteins in groups -orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=12 TCSScore=5.0 +orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=15 TCSScore=8.1111 paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.2222 ImpliedLosses=4 TCSScore=0.0 - tr|A0A2P5I218|A0A2P5I218_DIAHE - tr|G9N994|G9N994_HYPVG - orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=6 TCSScore=2.8571 - orthologGroup Hypocreomycetidae CompletenessScore=0.8333 ImpliedLosses=4 TCSScore=1.6 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 - tr|A0AAX4IGD7|A0AAX4IGD7_9PEZI - tr|L2FZ33|L2FZ33_COLFN - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 - tr|A0A395SGQ3|A0A395SGQ3_FUSSP - tr|A0A8H5V7B3|A0A8H5V7B3_GIBSU - tr|A0A9P9L341|A0A9P9L341_FUSSL - orthologGroup Sordariomycetidae CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 - tr|A0ABQ8N552|A0ABQ8N552_PYRGI - tr|Q7S4T5|Q7S4T5_NEUCR - tr|A0A0D2G4K5|A0A0D2G4K5_CLAB1 - -orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=18 TCSScore=8.1111 - paralogGroup - orthologGroup Sordariomycetes CompletenessScore=0.5556 ImpliedLosses=6 TCSScore=1.8 - orthologGroup Hypocreomycetidae CompletenessScore=0.5 ImpliedLosses=4 TCSScore=0.6667 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.5556 ImpliedLosses=4 TCSScore=1.8 + orthologGroup Hypocreomycetidae CompletenessScore=0.5 ImpliedLosses=3 TCSScore=0.6667 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4J405|A0AAX4J405_9PEZI tr|L2FYR0|L2FYR0_COLFN tr|A0A9P9HDS3|A0A9P9HDS3_FUSSL orthologGroup Sordariomycetidae CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A2P5HMI4|A0A2P5HMI4_DIAHE tr|A7UWI4|A7UWI4_NEUCR - orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=8 TCSScore=5.8182 - orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=6 TCSScore=3.1 - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=3 TCSScore=5.8182 + orthologGroup Hypocreomycetidae CompletenessScore=1.0 ImpliedLosses=1 TCSScore=3.1 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0AAX4J1E3|A0AAX4J1E3_9PEZI tr|L2FT04|L2FT04_COLFN paralogGroup - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395RWT8|A0A395RWT8_FUSSP tr|A0A8H5KT52|A0A8H5KT52_GIBSU tr|A0A9P9KTM8|A0A9P9KTM8_FUSSL - orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=2 TCSScore=1.0 - orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Hypocreales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=1.0 + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A395SBD1|A0A395SBD1_FUSSP tr|A0A8H5QE56|A0A8H5QE56_GIBSU tr|A0A9P9K4X7|A0A9P9K4X7_FUSSL @@ -51,3 +32,22 @@ orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=18 TCSScore=8. tr|A0A2P5HYD3|A0A2P5HYD3_DIAHE tr|A0ABQ8NQ87|A0ABQ8NQ87_PYRGI tr|A0A1B7P2U9|A0A1B7P2U9_9EURO + +orthologGroup leotiomyceta CompletenessScore=0.625 ImpliedLosses=9 TCSScore=5.0 + paralogGroup + orthologGroup Sordariomycetes CompletenessScore=0.2222 ImpliedLosses=4 TCSScore=0.0 + tr|A0A2P5I218|A0A2P5I218_DIAHE + tr|G9N994|G9N994_HYPVG + orthologGroup Sordariomycetes CompletenessScore=0.7778 ImpliedLosses=2 TCSScore=2.8571 + orthologGroup Hypocreomycetidae CompletenessScore=0.8333 ImpliedLosses=1 TCSScore=1.6 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 + tr|A0AAX4IGD7|A0AAX4IGD7_9PEZI + tr|L2FZ33|L2FZ33_COLFN + orthologGroup Fusarium CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 + tr|A0A395SGQ3|A0A395SGQ3_FUSSP + tr|A0A8H5V7B3|A0A8H5V7B3_GIBSU + tr|A0A9P9L341|A0A9P9L341_FUSSL + orthologGroup Sordariomycetidae CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 + tr|A0ABQ8N552|A0ABQ8N552_PYRGI + tr|Q7S4T5|Q7S4T5_NEUCR + tr|A0A0D2G4K5|A0A0D2G4K5_CLAB1 diff --git a/tests/data/fungi30/golden/clust12762.txt b/tests/data/fungi30/golden/clust12762.txt index ed2d387..a1639b5 100644 --- a/tests/data/fungi30/golden/clust12762.txt +++ b/tests/data/fungi30/golden/clust12762.txt @@ -1,9 +1,9 @@ # 32 input proteins, 1 groups, 32 proteins in groups -orthologGroup Fungi CompletenessScore=0.4667 ImpliedLosses=27 TCSScore=13.1875 - orthologGroup Dikarya CompletenessScore=0.5 ImpliedLosses=26 TCSScore=9.0645 - orthologGroup leotiomyceta CompletenessScore=0.5 ImpliedLosses=8 TCSScore=3.2 - orthologGroup Eurotiomycetes CompletenessScore=0.4 ImpliedLosses=1 TCSScore=0.0 +orthologGroup Fungi CompletenessScore=0.4667 ImpliedLosses=35 TCSScore=13.1875 + orthologGroup Dikarya CompletenessScore=0.5 ImpliedLosses=33 TCSScore=9.0645 + orthologGroup leotiomyceta CompletenessScore=0.5 ImpliedLosses=9 TCSScore=3.2 + orthologGroup Eurotiomycetes CompletenessScore=0.4 ImpliedLosses=2 TCSScore=0.0 tr|A0A0D2EY06|A0A0D2EY06_CLAB1 tr|A0A1L9V481|A0A1L9V481_ASPGL orthologGroup Sordariomycetes CompletenessScore=0.5556 ImpliedLosses=6 TCSScore=2.0 @@ -11,17 +11,17 @@ orthologGroup Fungi CompletenessScore=0.4667 ImpliedLosses=27 TCSScore=13.1875 tr|A0A2P5HSU6|A0A2P5HSU6_DIAHE tr|A0ABQ8NCJ7|A0ABQ8NCJ7_PYRGI paralogGroup - orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.0 + orthologGroup Colletotrichum CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.0 tr|A0A7J6J7J9|A0A7J6J7J9_COLFN tr|A0AAX4I094|A0AAX4I094_9PEZI - orthologGroup Hypocreomycetidae CompletenessScore=0.3333 ImpliedLosses=2 TCSScore=0.0 + orthologGroup Hypocreomycetidae CompletenessScore=0.3333 ImpliedLosses=4 TCSScore=0.0 tr|A0A7J6IMQ8|A0A7J6IMQ8_COLFN tr|A0A8H5QA53|A0A8H5QA53_GIBSU paralogGroup tr|A0A7C8IE91|A0A7C8IE91_9PLEO tr|A0A7C8MPZ1|A0A7C8MPZ1_9PLEO paralogGroup - orthologGroup Basidiomycota CompletenessScore=0.5 ImpliedLosses=7 TCSScore=1.8333 + orthologGroup Basidiomycota CompletenessScore=0.5 ImpliedLosses=9 TCSScore=1.8333 paralogGroup orthologGroup Agaricales CompletenessScore=0.6667 ImpliedLosses=1 TCSScore=0.0 tr|A0A067T9C5|A0A067T9C5_GALM3 @@ -32,8 +32,8 @@ orthologGroup Fungi CompletenessScore=0.4667 ImpliedLosses=27 TCSScore=13.1875 tr|A0A067TFH6|A0A067TFH6_GALM3 tr|A0A0F7RU98|A0A0F7RU98_9BASI paralogGroup - orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=2 TCSScore=2.0 - orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=1 TCSScore=0.8571 + orthologGroup Agaricomycetes CompletenessScore=1.0 ImpliedLosses=0 TCSScore=2.0 + orthologGroup Agaricales CompletenessScore=1.0 ImpliedLosses=0 TCSScore=0.8571 paralogGroup tr|A0A0C2XVI8|A0A0C2XVI8_HEBCY tr|A0A0C3BYI6|A0A0C3BYI6_HEBCY diff --git a/tests/test_hog_class.py b/tests/test_hog_class.py index 54ee0bf..fe88cef 100644 --- a/tests/test_hog_class.py +++ b/tests/test_hog_class.py @@ -223,10 +223,6 @@ def test_to_orthoxml_with_scores(sp): assert _tags(e)[:4] == ["score", "score", "score", "property"] -@pytest.mark.xfail(strict=True, reason="BUG: ImpliedLosses compares species tree nodes by identity " - "(_count_untouched_clades, _hog_class.py:82-86), but the scoring tree " - "(full_species_tree) and the trees of the separately pickled levels are " - "different copies, so every nested level counts one extra loss") @pytest.mark.parametrize("pickled", [False, True], ids=["in-memory", "pickled-per-level"]) @pytest.mark.parametrize("present,expected_losses", [(["A", "B", "C", "D"], 0), (["A", "C"], 2)], ids=["complete", "two-clades-lost"]) @@ -250,6 +246,29 @@ def level(h): assert e.find("score[@id='ImpliedLosses']").get("value") == str(expected_losses) +def test_implied_losses_with_duplication_independent_of_tree_copies(): + # ((A,B)AB,(C,D)CD)root with a duplication at AB: copy 1 has A and B, copy 2 only A; C present, D lost. + # The value must not depend on whether the levels share one tree object. + import pickle + + def build(tree, level): + a1, a2 = (level(leaf_hog(pid(n, "A", i), tree)) for n, i in (("a1", 1), ("a2", 2))) + b1, c1 = level(leaf_hog(pid("b1", "B", 3), tree)), level(leaf_hog(pid("c1", "C", 4), tree)) + copy1 = level(merged_hog([a1, b1], tree & "AB")) + copy2 = level(merged_hog([a2], tree & "AB")) + return level(merged_hog([copy1, copy2, c1], tree)) + + def losses(top, scoring_tree): + return top.to_orthoxml(scoring_tree).find("score[@id='ImpliedLosses']").get("value") + + single = species_tree("((A,B)AB,(C,D)CD)root;") + expected = losses(build(single, lambda h: h), single) + full = species_tree("((A,B)AB,(C,D)CD)root;") + work = full.copy() + pickled = build(work, lambda h: pickle.loads(pickle.dumps([h]))[0]) + assert losses(pickled, full) == expected == "2" # D lost, and B lost in copy 2 + + def test_to_orthoxml_inparalogs_give_paralog_group(sp): h = merged_hog([leaf_hog(A1, sp), leaf_hog(A2, sp)], sp & "A") e = h.to_orthoxml(sp, NO_SCORES)