Skip to content

[BVBRC] pseudogene/partial_cds annotation gap for genomes #39

Description

@jananiravi

Problem: pseudogenes/invalid genes stall downstream analysis with BV-BRC genomes

Summary

Genome 1282.2719 contains at least 25 CDS features whose translated sequence has an internal premature stop codon — i.e., verifiably non-functional/pseudogenized ORFs — none of which are reflected in any BV-BRC-reported metadata field. The GFF's own pseudogene feature-type annotation reports 0 for this genome, and the genome-summary partial_cds/partial_cds_ratio fields also report 0. This genome additionally lacks ##sequence-region header lines in its GFF3 (present in every other genome we checked) and uses self-referential placeholder contig IDs (see below), suggesting it was processed through an older or different annotation pipeline than typical current BV-BRC submissions.

Evidence

Method summary (the "how")

SourceWhat it measuresHow we computed it
GFF pseudogene feature typeGenes BV-BRC's own annotation pipeline explicitly labeled pseudogene in column 3 of the .PATRIC.gffgrep -c $'\tpseudogene\t' <genome>.PATRIC.gff
BV-BRC partial_cdsBV-BRC's own summary-stats field for incomplete/partial CDS callsp3-all-genomes --eq genome_id,<id> --attr partial_cds,partial_cds_ratio
Panaroo invalid-gene countCDS whose translated sequence contains an internal premature stop codon (checked by actually translating each CDS, not reading any annotation field)Ran panaroo --remove-invalid-genes --refind-mode off, grepped its stderr for "invalid gene! ... Has stop: True", and counted per source GFF

Comparison table

GenomeContigsGFF pseudogene countBV-BRC partial_cdsBV-BRC partial_cds_ratioBV-BRC hypothetical_cdsPanaroo invalid-gene count (ours)
1282.2719400055325
1282.31291030005250
904315.314418005660
904320.38759006000
904330.35647004390
(remaining 12S. epidermidisgenomes)36–9018–340
(all 73S. argenteusgenomes)10–300 total (all 73 genomes)

How we found it

We were debugging a severe Panaroo pangenome-construction slowdown (see context below) and, while testing panaroo --remove-invalid-genes in isolation, found that Panaroo's own CDS-translation check flags 25 genes in 1282.2719 as invalid due to internal stop codons. Cross-checking against BV-BRC's reported fields for the same genome (p3-all-genomes --eq genome_id,1282.2719 --attr partial_cds,partial_cds_ratio) returned 0 for both, and the GFF3 file itself contains zero features labeled pseudogene.

Reproduction

# Genome: 1282.2719 (Staphylococcus epidermidis strain CSF41498)
# GFF: fetched via BV-BRC CLI, p3-genome-fasta / genome GFF export
# BV-BRC-reported fields (all 0, despite the genes below being demonstrably broken):
p3-all-genomes --eq genome_id,1282.2719 --attr genome_id,cds,partial_cds,partial_cds_ratio,hypothetical_cds
# → 1282.2719 2490 0 0 553
# Genes independently confirmed to contain an internal premature stop codon
# (verified by translating the CDS sequence directly, via Panaroo v1.5.1's
# `--remove-invalid-genes` check):
fig|1282.2719.peg.62, peg.134, peg.219, peg.273, peg.438, peg.627, peg.656,
peg.657, peg.672, peg.993, peg.997, peg.1410, peg.1434, peg.1714, peg.1722,
peg.1796, peg.1808, peg.1917, peg.2000, peg.2115, peg.2305, peg.2378,
peg.2465, peg.2478, peg.2481

Additional annotation-pipeline inconsistencies on this genome

  • Missing ##sequence-region header lines in the GFF3 (present on every other genome we checked in this species).
  • Contig identifiers behave like real NCBI accessions (CP030246 etc.) rather than the synthetic placeholder pattern (<genome_id>.con.NNNN) seen on other older-pipeline genomes — so this isn't simply "unassembled," it's specifically the pseudogene/partial-CDS annotation that's missing.

Why this matters

Consumers relying on partial_cds/pseudogene fields to filter low-quality or degenerate gene calls (e.g., for pangenome analysis, comparative genomics, or QC pipelines) will silently retain genomes with substantial numbers of non-functional gene calls that these fields were designed to flag. In our case, this caused a severe (>100x) performance degradation in a downstream tool (Panaroo) that trusts gene-level input and only detects the problem via a full CDS translation check — something most consumers of BV-BRC data won't run themselves.

Ask

Could BV-BRC confirm whether partial_cds/pseudogene calling was skipped or failed for this genome's annotation run, and whether other genomes from the same submission batch/pipeline version are similarly affected?

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions