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")

Source What it measures How we computed it
GFF pseudogene feature type Genes BV-BRC's own annotation pipeline explicitly labeled pseudogene in column 3 of the .PATRIC.gff grep -c $'\tpseudogene\t' <genome>.PATRIC.gff
BV-BRC partial_cds BV-BRC's own summary-stats field for incomplete/partial CDS calls p3-all-genomes --eq genome_id,<id> --attr partial_cds,partial_cds_ratio
Panaroo invalid-gene count CDS 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

Genome Contigs GFF pseudogene count BV-BRC partial_cds BV-BRC partial_cds_ratio BV-BRC hypothetical_cds Panaroo invalid-gene count (ours)
1282.2719 4 0 0 0 553 25
1282.3129 103 0 0 0 525 0
904315.3 144 18 0 0 566 0
904320.3 87 59 0 0 600 0
904330.3 56 47 0 0 439 0
(remaining 12 S. epidermidis genomes) 36–90 18–34 0
(all 73 S. argenteus genomes) 10–30 0 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