From 09d8f1ad7fcf63b808700900406d6eaea98d9700 Mon Sep 17 00:00:00 2001 From: Jon Palmer Date: Tue, 9 Jun 2026 16:50:52 -0700 Subject: [PATCH 1/2] fix: repair malformed CITATION.cff fields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both cff-version and version were left as `version = "26.5.22"` (looks like a sed substitution that grabbed too much), making the file invalid CFF — GitHub's "Cite this repository" widget, cffconvert, and any DOI/Zenodo integration would all reject it. Set them to their intended values: - cff-version: 1.2.0 (the CFF schema version) - version: 26.5.22 (the project version, matches pyproject.toml) Verified with `cffconvert --validate` against schema 1.2.0 and a sample BibTeX render. --- CITATION.cff | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index cde0668..babe0cb 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,4 +1,4 @@ -cff-version: version = "26.5.22" +cff-version: 1.2.0 title: 'funannotate2: eukaryotic genome annotation' message: >- If you use this software, please cite it using the @@ -17,5 +17,5 @@ keywords: - functional annotation - consensus gene models license: BSD-2-Clause -version: version = "26.5.22" +version: 26.5.22 date-released: '2026-05-24' From 61b89c844941f7953efafb331ff957160e97a969 Mon Sep 17 00:00:00 2001 From: Jon Palmer Date: Tue, 9 Jun 2026 16:50:52 -0700 Subject: [PATCH 2/2] docs: correct inv_contig_map comment in predict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The inline comment claimed inv_contig_map "maps simplified names back to original", but the dict comprehension inverts contig_name_map ({simplified: original}) into {original: simplified} — i.e. the opposite direction. The runtime usage is correct (it matches annorefine.bam2hints' contig_map contract: keys are input/BAM contig names, values are output/hint contig names), but the comment misleads anyone tracing the BAM hint path. Replace with an accurate description of why the inversion is needed: the BAM file references the user's original contig names while everything downstream uses the simplified names produced by simplify_headers_drop. No behavior change. --- funannotate2/predict.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/funannotate2/predict.py b/funannotate2/predict.py index 7bbe0f8..e78a423 100755 --- a/funannotate2/predict.py +++ b/funannotate2/predict.py @@ -205,7 +205,11 @@ def predict(args): contig_name_map = simplify_headers_drop( args.fasta, GenomeFasta, GenomeMito, drop=list(mito_contigs.keys()) ) - # Create inverse contig map for BAM processing (maps simplified names back to original) + # Build the BAM->simplified contig map for annorefine.bam2hints. The BAM + # file references the user's original contig names, but everything + # downstream (per-contig FASTAs, hints files) uses the simplified names + # produced by simplify_headers_drop, so we need {original: simplified}. + # contig_name_map is {simplified: original}, so invert it here. inv_contig_map = {value: key for key, value in contig_name_map.items()} maskedRegions = os.path.join(misc_dir, "softmasked-regions.bed") asmGaps = os.path.join(misc_dir, "assembly-gaps.bed")