pypi lifton 1.0.11
LiftOn v1.0.11

latest releases: 1.0.14, 1.0.13, 1.0.12...
3 months ago

A single-fix release. If you lift plant genomes — or any annotation produced with -copies — upgrade.

pip install -U lifton

Fixed

UNIQUE constraint failed: features.id aborted the run on some annotations v1.0.8 handled.

gffutils disambiguates a repeated cds-X by renaming it to cds-X_1 — which is exactly the suffix Liftoff's -copies mode gives extra gene copies. When that generated name already belonged to a real feature, the insert failed and LiftOn exited. Two ids in the rice benchmark trigger it, and two is enough to lose a whole genome.

v1.0.8 recovered because its fallback renamed repeats into a _dup<n> namespace that cannot collide. v1.0.10 replaced that with a no-op to stop rewriting logical IDs — a sound goal, since renaming the segments of one discontinuous CDS splits a single feature in two — but it left the fallback identical to the strategy that had just failed.

LiftOn now renames only ids that are both repeated and whose <id>_<n> already exists in the file, using facts the preflight scan already collects. On the rice input that is 2 ids; the other 4,677 shared CDS ids, which are legitimate discontinuous CDS, are untouched.

Measured across the benchmark corpus: v1.0.8 ingests 34 of 34 inputs, v1.0.10 ingested 31, v1.0.11 ingests 34. Same error class as #47, #12 and #7.

A defect in the database-build fallback is no longer reported as a bad input file. The strategy handlers catch Exception so a malformed annotation falls through to the next strategy; that breadth also swallowed programming errors raised inside the fallback itself. NameError, AttributeError, TypeError and ImportError now propagate.

Everything else

Unchanged from v1.0.10 — see its release notes and CHANGELOG.md.

Found by re-benchmarking the release against v1.0.8 across the full corpus.

Don't miss a new lifton release

NewReleases is sending notifications on new releases.