Skip to content

v2.3.0 - #4

Merged
charlesfoster merged 22 commits into
mainfrom
dev
Aug 3, 2026
Merged

v2.3.0#4
charlesfoster merged 22 commits into
mainfrom
dev

Conversation

@charlesfoster

Copy link
Copy Markdown
Owner

See CHANGELOG.md for full details.

charlesfoster and others added 22 commits March 25, 2026 14:12
Adds a README subsection explaining how to build a --literature-csv
lookup table for pathogens other than SARS-CoV-2, covering the
required gene/mutation columns, gene-name matching against the
supplied GFF3 annotation, and pointers to the bundled mock template.
Bacterial references commonly reuse gene names across replicons (e.g.
repA on both a chromosome and a plasmid). gene_lengths_from_gff3 and
generate_gene_table previously aggregated CDS lengths and mutation
counts by gene name alone, so two unrelated genes sharing a name on
different contigs had their stats silently summed into one row.

- gene_lengths_from_gff3 now tracks CDS lengths per (contig, gene) and
  only disambiguates the output label, e.g. "repA (chrom1)" vs
  "repA (plasmid1)", when a name actually collides across contigs.
  Names confined to a single contig stay unqualified.
- generate_gene_table splits colliding gene names by chrom using the
  results table's own chrom column.
- Added ambiguous_gene_names() to flag collisions directly from the
  annotation, closing an edge case where a colliding gene only has
  variants on one contig in a given run and would otherwise be dropped
  when merged against the gene-length scaffold.
- No change in output for single-contig references or multi-segment
  references with uniquely-named segments (e.g. 8-segment influenza).

Adds tests/test_annotation_processing.py and three new tests in
tests/test_analysis.py covering the single-contig baseline, the
colliding-name split, and the ambiguous-genes edge case. Starts
CHANGELOG.md to track revision-cycle changes going forward.
…ling and duplicate-row plotting, add PAO1 validation scripts, correct README/CHANGELOG
…id numpy 2.5's Python-3.12-only PEP 695 stub syntax
@charlesfoster
charlesfoster merged commit dcc09d9 into main Aug 3, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant