Assess whether a genome annotation is good enough to publish or submit, and diagnose what is wrong when it is not, using BUSCO (conserved single-copy ortholog recovery), OMArk (proteome completeness, consistency, contamination), CheckM2 (prokaryotic completeness/contamination), and a gene-set sanity panel (gene count, mono-exonic fraction, protein-length distribution, mRNA:gene ratio, coding density). The orienting principle: BUSCO measures only the easy conserved core, so the diagnostic that matters is assembly-BUSCO vs proteome-BUSCO on the same assembly, gene count is a vanity metric, and a green BUSCO can sit on top of a proteome full of chimeric, fragmented, or contaminant models.
# Completeness and consistency
conda install -c bioconda busco omark compleasm
# Prokaryotic completeness/contamination
conda install -c bioconda checkm2
# Python sanity panel
pip install gffutils matplotlib pandas
Tell your AI agent what you want to do: - "Is my annotation good enough to publish - run BUSCO on the proteome and the genome and compare" - "My vertebrate annotation has 45,000 genes - is that haplotigs, unmasked repeats, or split models?" - "Run CheckM2 on my MAG before I trust the annotation numbers" - "Check whether my proteome has contaminant or chimeric models with OMArk"
"Run BUSCO in proteins mode on my delivered proteome and in genome mode on the assembly with the deep clade dataset, and tell me which one is the limiting factor."
"My BUSCO is 98% but the annotation looks rough - run OMArk and the gene-set sanity panel to find the over-prediction."
"BUSCO-Duplicated is 12% - is this real WGD or uncollapsed haplotigs? Check synteny and ploidy."
"Compute the mono-exonic fraction and protein-length distribution - is this annotation full of TE ORFs?"
"Gate my bacterial annotation on CheckM2 completeness and contamination, then check coding density."
"Run BUSCO on my lifted annotation vs the reference to see how many conserved genes the transfer lost."
-m proteins AND -m genome on the same assembly and compare (the diagnostic fork)-m proteins on the delivered proteome - genome-mode BUSCO does its own gene-finding and is not your annotation's score.eukaryota_odb10 (~255 genes) is trivially easy; a 99% there is not a 99% on a 5,500-gene clade set.