Skip to content

5. Gene prediction (Helixer)

Helixer produces the backbone HelixForge refines: the gene models (--helixer) and the per-base confidence predictions (--helixer-h5). Run its three steps separately so the intermediate H5 files are preserved.

Reproduced verbatim, with its real parameters. Step 2 requires a GPU (apptainer exec --nv):

#!/bin/bash
GENOME="/scratch/gilbreth/aseethar/helixer/Zm-B73-REFERENCE-NAM-5.0.fa"
SIF="/scratch/gilbreth/aseethar/helixer/helixer-docker_helixer_v0.3.6_cuda_12.2.2-cudnn8_1.sif"
SPECIES="Zea-mays-subsp-mays-B73"
OUTDIR="helixer_output"
MODEL_PATH="${HOME}/.local/share/Helixer/models/land_plant/land_plant_v0.3_a_0080.h5"
mkdir -p ${OUTDIR}
# Step 1: FASTA -> H5 (required; user had this commented but the H5 is needed downstream)
apptainer exec ${SIF} fasta2h5.py --species ${SPECIES} --h5-output-path ${OUTDIR}/${SPECIES}_input.h5 --fasta-path ${GENOME}
# Step 2: predictions (GPU)
apptainer exec --nv ${SIF} HybridModel.py --load-model-path ${MODEL_PATH} --test-data ${OUTDIR}/${SPECIES}_input.h5 --prediction-output-path ${OUTDIR}/${SPECIES}_predictions.h5 --batch-size 8
# Step 3: GFF3
apptainer exec ${SIF} helixer_post_bin ${OUTDIR}/${SPECIES}_input.h5 ${OUTDIR}/${SPECIES}_predictions.h5 100 0.1 0.8 100 ${OUTDIR}/${SPECIES}_helixer.gff3
StepToolOutputUsed by
1fasta2h5.pyhelixer_output/Zea-mays-subsp-mays-B73_input.h5step 3 + reconcile (metadata sibling)
2HybridModel.py (GPU)helixer_output/Zea-mays-subsp-mays-B73_predictions.h5step 3 + reconcile --helixer-h5
3helixer_post_binhelixer_output/Zea-mays-subsp-mays-B73_helixer.gff3reconcile --helixer

The four positional numbers to helixer_post_bin (100 0.1 0.8 100) are Helixer's post-processing parameters, window size, edge/peak thresholds, and minimum coding length, left exactly as the run used them.

  • helixer_output/Zea-mays-subsp-mays-B73_helixer.gff3--helixer
  • helixer_output/Zea-mays-subsp-mays-B73_predictions.h5--helixer-h5 (with its _input.h5 sibling)

Next: reconcile everything →