7. Outputs
With --output-prefix testing-4_<chr>, each reconcile pass writes a set of files sharing
that stem. (For a --scatter run, the merged outputs use --out-prefix, defaulting to
--output-prefix, plus a manifest.)
| File | Contents |
|---|---|
<prefix>.gff3 | Full reconciled annotation, all genes, all tiers, isoform-aware (1-based GFF3). |
<prefix>.tier1.gff3 | Tier 1 only. |
<prefix>.tier2.gff3 | Cumulative: Tier 1 + Tier 2. |
<prefix>.tier3.gff3 | Cumulative: Tier 1 + Tier 2 + Tier 3. |
<prefix>.report.tsv | Per-gene report, one row per gene (columns below). |
<prefix>.id_map.json | Helixer-locus → HFG ID map (keeps IDs stable across reruns). |
<prefix>.report.json / .report.html / .run_stats.json | Machine- and human-readable run summaries. |
<out-prefix>.manifest.json | (chunked runs only) plan + chunk prefixes + id_map. |
Reading the tiers
Section titled “Reading the tiers”Tiers rank evidence strength, Tier 1 is what you trust most. The assignment is driven by the model's ORF and its homology support:
| Tier | Meaning |
|---|---|
| Tier 1 | Coherent CDS + protein-homology support (DIAMOND hit or positive BLAST score). The evidence-backed, highest-confidence set. |
| Tier 2 | Coherent CDS but no homology (CDS-only), a good ORF without a protein match. |
| Tier 3 | Helixer-only backstop, no projected CDS, but expressed / low-coverage RNA-seq support, a rescued silent gene. |
| Tier 4 | Silent backstop with no CDS and no expression; also where TE-reclassified models are demoted. |
Reading the biotypes
Section titled “Reading the biotypes”Biotype is driven by the model's own ORF, not by whether evidence happens to corroborate it:
protein_coding, the model carries a complete/coherent ORF. A good-ORF gene is coding regardless of expression or homology; absence of corroboration lowers confidence within coding (flaggedPUTATIVE_CODING) rather than making it non-coding.lncRNA/ncRNA, no coherent ORF; never placed in Tier 1/2.transposable_element, only when a TE annotation (--te-annotation) is supplied and the model's TE overlap crosses the threshold; demoted to Tier 4.
The per-gene report
Section titled “The per-gene report”<prefix>.report.tsv has one row per gene with these columns:
gene_id, seqid, start, end, strand, tier, origin, biotype,primary_transcript_id, num_isoforms, num_as_events, has_cds, protein_id,max_tpm, junction_support, helixer_support, combined_score, aed, flagsUseful columns to scan:
| Column | Tells you |
|---|---|
tier, biotype | Confidence and coding class (above). |
origin | Where the model came from (Mikado-reconciled vs HELIXER_ONLY backstop). |
num_isoforms, num_as_events | Isoform multiplicity and alternative-splicing events recovered. |
max_tpm, junction_support | RNA-seq expression and splice-junction backing. |
helixer_support, combined_score, aed | Predictor confidence, the Mikado score, and annotation edit distance. |
protein_id, has_cds | Homology accession (if any) and whether a CDS was emitted. |
flags | QC flags, e.g. PUTATIVE_CODING, TE_OVERLAP, TIER_n. |
Inspect and summarise
Section titled “Inspect and summarise”# Before/after table vs the raw Helixer inputhelixforge stats --helixer helixer_output/Zea-mays-subsp-mays-B73_helixer.gff3 \ --helixforge testing-4_chr1.gff3
# Annotation summary (gene/transcript counts, biotypes, CDS lengths)helixforge utils summarize --gff3 testing-4_chr1.gff3
# Keep only Tier 1, protein_codinghelixforge utils filter --gff3 testing-4_chr1.gff3 --out tier1.gff3 --max-tier 1See stats, utils summarize, and
utils filter.