Skip to content

1. Inputs overview

This tutorial is a complete, end-to-end maize Zea mays B73 walkthrough, written in the order data actually flows. Every command is the real command used to produce the benchmarked annotation; parameters are not simplified.

A single helixforge reconcile run turns the B73 Helixer prediction into a tiered, isoform-aware annotation. It consumes three kinds of evidence, each prepared in its own step:

  1. Genome + Helixer prediction, the backbone that reconciliation refines.
  2. RNA-seq, 21 paired-end B73 samples → STAR alignments (BAM + splice junctions) → StringTie assemblies.
  3. Protein homology, a SwissProt-plants FASTA → a miniprot genome alignment, plus the same FASTA as the DIAMOND database.

The remaining tutorial pages produce those inputs; this page maps each finished file to the reconcile flag it satisfies.

The B73 reference genome, NAM v5 assembly: Zm-B73-REFERENCE-NAM-5.0.fa (~2.4 Gb, 10 chromosomes plus scaffolds). Index it once with samtools faidx.

Each sample has _R1.fq.gz and _R2.fq.gz (150 bp paired-end). Sample IDs follow B73_<stage>_<tissue>_<replicate>:

StageTissueSample IDs
8 DASrootB73_8DAS_root_MN01011, B73_8DAS_root_MN01012
8 DASshootB73_8DAS_shoot_MN01021, B73_8DAS_shoot_MN01022
V11baseB73_V11_base_MN01031, B73_V11_base_MN01032
V11middleB73_V11_middle_MN01041, B73_V11_middle_MN01042, B73_V11_middle_MN01043
V11tipB73_V11_tip_MN01051, B73_V11_tip_MN01052
V18tasselB73_V18_tassel_MN01061, B73_V18_tassel_MN01062
V18earB73_V18_ear_MN01071, B73_V18_ear_MN01072
R1antherB73_R1_anther_MN01081, B73_R1_anther_MN01082
16 DAPembryoB73_16DAP_embryo_MN01101, B73_16DAP_embryo_MN01102
16 DAPendospermB73_16DAP_endosperm_MN01091, B73_16DAP_endosperm_MN01092

Put the sample IDs in a samples.txt file, every downstream step loops over it:

samples.txt
B73_8DAS_root_MN01011
B73_8DAS_root_MN01012
B73_8DAS_shoot_MN01021
B73_8DAS_shoot_MN01022
B73_V11_base_MN01031
B73_V11_base_MN01032
B73_V11_middle_MN01041
B73_V11_middle_MN01042
B73_V11_middle_MN01043
B73_V11_tip_MN01051
B73_V11_tip_MN01052
B73_V18_tassel_MN01061
B73_V18_tassel_MN01062
B73_V18_ear_MN01071
B73_V18_ear_MN01072
B73_R1_anther_MN01081
B73_R1_anther_MN01082
B73_16DAP_embryo_MN01101
B73_16DAP_embryo_MN01102
B73_16DAP_endosperm_MN01091
B73_16DAP_endosperm_MN01092

A single SwissProt-plants FASTA feeds both protein inputs, there is no second protein source to find:

  • utils fetch-db downloads and formats it → swissprot_plants/uniprot_sprot_plants.fasta
  • utils align aligns it to the genome with miniprot → Zm-B73-sw-plants-miniprot.gff3
  • reconcile takes the same FASTA directly as --protein-db

Every reconcile input flag and the maize file that satisfies it. Each flag is confirmed against helixforge reconcile --help (see the reconcile CLI reference):

reconcile flagFileProduced in
--genomegenome/Zm-B73-REFERENCE-NAM-5.0.fa(reference download)
--helixerhelixer_output/Zea-mays-subsp-mays-B73_helixer.gff3Step 5 · Helixer
--helixer-h5helixer_output/Zea-mays-subsp-mays-B73_predictions.h5Step 5 · Helixer
--stringtie-liststringtie.fofnStep 3 · StringTie
--bam-listbam.fofnStep 2 · STAR
--star-sj-listsj.fofnStep 2 · STAR
--miniprotZm-B73-sw-plants-miniprot.gff3Step 4 · Protein
--protein-dbswissprot_plants/uniprot_sprot_plants.fastaStep 4 · Protein

By the end of the tutorial the working directory looks like this, the paths match the reconcile command verbatim:

  • Directorymaize_b73/
    • helixforge.sif
    • samples.txt
    • Directorygenome/
      • Zm-B73-REFERENCE-NAM-5.0.fa
      • Zm-B73-REFERENCE-NAM-5.0.fa.fai
    • Directorystar_index/ STAR genome index
    • Directorybam/ STAR outputs: per-sample BAM + SJ.out.tab
    • Directorystringtie/ per-sample StringTie GTFs
    • Directoryhelixer_output/
      • Zea-mays-subsp-mays-B73_input.h5
      • Zea-mays-subsp-mays-B73_predictions.h5
      • Zea-mays-subsp-mays-B73_helixer.gff3
    • Directoryswissprot_plants/
      • uniprot_sprot_plants.fasta
    • Zm-B73-sw-plants-miniprot.gff3
    • bam.fofn
    • sj.fofn
    • stringtie.fofn

Next: align the RNA-seq reads with STAR →