Skip to content

Releases: ZengZichao/MarkerFinder

MarkerFinder 0.1.1

Choose a tag to compare

@ZengZichao ZengZichao released this 18 Oct 11:41
a3de370

First release published to PyPI: pip install markerfinder.

Highlights

  • Clean-install ete3 fixed. ete3 3.1.3 declares no dependencies but imports
    six internally; a fresh install used to yield an unimportable ete3, silently
    degrading every MAD / monophyly measurement to "unmeasured". six is now a
    declared runtime dependency.
  • CPython 3.10 and newer supported, no upper bound. The removed
    standard-library cgi module (PEP 594) no longer blocks 3.13+; a minimal
    stand-in is installed only when the real module is absent.
  • HGT-aware, quality-aware marker selection with the integrative
    (concatenation + coalescence) marker-consistency framework — dynamic marker
    sets, phylogenetic HGT screening, and adaptive parameters for incomplete MAGs.
  • scripts/make_review_package.py: builds a genuinely anonymous peer-review
    package and proves it (the build fails on any residual identifying-string hit).
  • worked_example/ ships the provenance record the manuscript cites, as a
    recipe pending one real author run.
  • Hardened validation layer: manifest digests match the committed files, and
    unfetchable dependencies are reported as skips with the stated reason instead
    of indistinguishable failures.

Quality gates

  • Fast suite: 1043 collected / 1043 passed / 0 skipped in CI on CPython
    3.10, 3.11, 3.12, 3.13 and 3.14.
  • Acceptance layer (real genomes, real tools): 153 cases, archived run in
    validation/results/ — see docs/TEST-REPORT.EN.md for the exact vintage
    of each layer's numbers.

Install

pip install markerfinder          # from PyPI
markerfinder --version            # verify
markerfinder --check              # 49-item environment self-check

External tools (hmmsearch, mafft, trimal, FastTree, optional iqtree)
are required for full runs; see MANUAL.EN.md / environment.yml.

Full changelog: CHANGELOG.md

MarkerFinder v0.1.0

Choose a tag to compare

@ZengZichao ZengZichao released this 30 Sep 15:02

MarkerFinder v0.1.0 — initial public release

MarkerFinder is an adaptive, HGT-aware phylogenomic pipeline for prokaryotic marker gene selection and species tree inference.

Highlights

  • Adaptive marker selection — HMM-based scan of input genomes (Pfam/TIGRFAM profiles) or direct intake of GTDB-Tk marker alignments; no hard-coded marker pool
  • Phylogeny-based HGT screening — MAD rooting + monophyly proportion, or RF/quartet comparison against a reference species tree; markers graded, never silently averaged
  • Dual-strategy species-tree inference — concatenation (IQ-TREE3 / FastTree2) and coalescence (ASTRAL-III), with normalized Robinson–Foulds + quartet conflict detection
  • Optional marker-level cross-consistency grading (--hgt-mode consistency|hybrid) — CONSISTENT / INCONSISTENT / INCONCLUSIVE per marker
  • Reference-legality validation — a reference object that is unresolved, too small, not covering, or has focal clades collapsed is never used for scoring
  • Self-check assertion layer — every registered check carries a must-fail (negative) fixture; a validation suite of end-to-end runs on real genomes with archived results ships with the release
  • 988 fast tests; bilingual documentation (English primary, Chinese)

Conceptual origin note

The integrative (concatenation + coalescence) marker-consistency idea is methodologically derived from Steenwyk, J. L. & King, N. (2025), Science 390, 751–756, doi:10.1126/science.adw9456 — a paper retracted at the authors' own request on 2026-02-05 (retraction notice: Thorp, H. H., 2026, Science 391, 564, doi:10.1126/science.aef5589). The retraction concerns the paper's biological conclusion, not its methodological framework. MarkerFinder borrows only the methodological framework; its implementation, evaluation and conclusions are independent. See README § Conceptual Origin for the element-by-element mapping into this codebase.

Documentation