Skip to content

helixforge parallel tasks

Expand a command template over the plan → an executor-agnostic task file.

Step 2 of the chunked path. Expands a command template over every chunk in plan.json; the default template is a per-chunk helixforge reconcile built from the inputs you attach, so it works out of the box. Run the resulting file with any executor (GNU parallel, a Slurm array, xargs, HyperShell), then parallel aggregate the per-chunk outputs.

Template placeholders, substituted per chunk: {chunk_id} {region} {seqid} {start} {end} {start_0} {end_0} {size} {id_start} {novel_start} {output_dir} ({region}/{start_0}/{end_0} are internal 0-based; {seqid}/{start}/{end} are 1-based inclusive for the CLI.)

Output:

  • -o/--output: the task file, one command per chunk (one line each)
  • --wrapper: an optional reusable per-task wrapper script (with --wrapper-setup lines) so cluster setup runs once per task
OptionDescription
--genomeGenome FASTA (required). (required)
--helixerHelixer GFF3 (required). (required)
--helixer-h5Helixer confidence HDF5: a combined file, the '_input.h5' metadata half, or the '_predictions.h5' softmax half (the partner half is auto-detected as the sibling, or named via --helixer-input-h5).
--helixer-input-h5Helixer '_input.h5' metadata half (coordinate mapping). Needed only when --helixer-h5 is a bare '_predictions.h5' whose '*_input.h5' sibling is not co-located. Mirrors 'confidence --input-h5'.
--stringtieStringTie GTF, one per sample. Comma-separated or repeated. (repeatable)
--stringtie-listFile of StringTie GTF paths, one per line (blank lines and # comments ignored).
--bamRNA-seq BAM. Comma-separated or repeated. (repeatable)
--bam-listFile of BAM paths, one per line (blank lines and # comments ignored).
--bigwigCoverage bigWig. Comma-separated or repeated. (repeatable)
--bigwig-listFile of bigWig paths, one per line (blank lines and # comments ignored).
--star-sjSTAR SJ.out.tab. Comma-separated or repeated. (repeatable)
--star-sj-listFile of SJ.out.tab paths, one per line (blank lines and # comments ignored).
--miniprotminiprot GFF for backstop CDS projection. Not a substitute for --protein-db; does not enable Mikado.
--protein-dbProtein FASTA for DIAMOND homology. Required (with StringTie) to enable Mikado reconciliation and isoform discovery.
--te-annotationEDTA TE GFF3. Flags TE-overlapping models (TE_OVERLAP) and reclassifies good-ORF genes above --te-overlap-threshold as transposable_element. Uses the EDTA Classification order; knob/satellite/low-complexity never gate.
--te-overlap-thresholdModel-fraction TE overlap at/above which a good-ORF gene is reclassified transposable_element (default 0.5). (default: 0.5)
--te-classEDTA Classification order to treat as a TE (repeatable). Default covers true TE orders (LTR, DNA, MITE, TIR, Helitron, LINE, SINE) and excludes knob/satellite/low-complexity. (repeatable)
--transdecoder-bin-dir
--backstop-transdecoder, --no-backstop-transdecoder(default: False)
--portcullis-bin
--mikado-bin(default: mikado)
--diamond-bin(default: diamond)
--mikado-configure, --no-mikado-configure(default: True)
--functional-annotation, --no-functional-annotationRun the opt-in functional-annotation hook (InterProScan / eggNOG). (default: False)
--functional-toolAnnotation tool(s) to run for --functional-annotation. (choices: interproscan/eggnog/both; default: interproscan)
--functional-dbeggNOG data dir (required for --functional-tool eggnog/both).
--interproscan-binInterProScan binary (bare command or absolute path). (default: interproscan.sh)
--eggnog-bineggNOG-mapper binary (bare command or absolute path). (default: emapper.py)
--transl-tableNCBI genetic-code table id for CDS validation (default 1 = standard nuclear code). (default: 1)
--transl-table-mapPer-seqid genetic-code overrides; lines 'seqid=table' (e.g. chrMt=1, chrPt=11). 'seqid<TAB/space>table' also accepted. Overrides --transl-table for the named seqids.
--scoring-profile(choices: strict/permissive; default: strict)
--helixer-reference, --no-helixer-referenceInject Helixer as is_reference=true. (default: True)
--helixer-support-weightScale external helixer_support (0 disables coupling). (default: 1.0)
--output-prefix(default: helixforge)
--report-path
--id-map-path
--work-dir
--regionseqid or seqid:start-end.
--chunk-id
--id-baseLowest HFG number for this chunk's reserved range. (default: 1)
--novel-baseLowest HFG number for this chunk's novel sub-range. (default: 90000)
--procs(default: 1)
--threads(default: 4)
--min-tpm(default: 0.5)
--min-samples(default: 1)
--coverage-threshold(default: 2.0)
--near-zero-coverage(default: 0.1)
--as-report, --no-as-report(default: True)
--only-confirmed-introns, --allow-unconfirmed-introns(default: True)
--max-isoforms(default: 5)
--keep-retained-introns, --drop-retained-introns(default: False)
--pad, --no-padUnify isoform termini (the strongest consistency lever). (default: True)
--chimera-split, --no-chimera-split(default: True)
--flank(default: 200)
--reciprocal-overlap(default: 0.5)
--min-cds-overlap(default: 0.6)
--min-cdna-overlap(default: 0.6)
--admit-novel, --no-admit-novel(default: False)
--novel-evidence-floor
--trace-primary, --no-trace-primaryElect the canonical/primary isoform per gene by ranked-choice voting (TRaCE) instead of highest combined_score. (default: False)
--trace-max-aedTRaCE: max AED for a sample to vote for a candidate. (default: 0.5)
--trace-min-tpmTRaCE: min TPM for a sample's assembled transcript to vote. (default: 0.5)
--trace-min-overlapTRaCE: min proportion-overlap for a sample transcript to vote. (default: 0.5)
--trace-weight-domainTRaCE: domain-coverage voter weight. (default: 9.0)
--trace-weight-proteinTRaCE: protein (CDS) length voter weight. (default: 6.0)
--trace-weight-cdnaTRaCE: transcript (cDNA) length voter weight. (default: 3.0)
--trace-use-domain, --no-trace-use-domainTRaCE: include the domain-coverage voter when per-isoform domain coverage is available. (default: True)
--short-cds-threshold(default: 300)
--short-exon-threshold(default: 10)
--long-intron-threshold(default: 100000)
--junction-tolerance(default: 0)
--junction-min-reads(default: 3)
--planplan.json from parallel plan. (required)
--commandCommand template with chunk placeholders ({chunk_id} {region} {seqid} {start} {end} {start_0} {end_0} {size} {id_start} {novel_start} {output_dir}). Default: a per-chunk helixforge reconcile built from the attached inputs.
-o, --outputTask file to write (one command per chunk). (default: tasks.txt)
--output-dirPer-chunk output directory ({output_dir} placeholder). (default: chunks)
--wrapperAlso write a reusable per-task wrapper script (setup once).
--wrapper-setupSetup line for the wrapper (module load / conda activate); repeatable. (repeatable)
--include-loggingRedirect each task's stdout/stderr to /logs/.log. (default: False)
--helixforge-binhelixforge binary used in the default command template. (default: helixforge)
Terminal window
# default template (per-chunk reconcile from the attached inputs)
helixforge parallel tasks --plan plan.json \
--genome maize.fa --helixer helixer.gff3 --helixer-h5 preds.h5 \
--stringtie-list stringtie.list -o tasks.txt
parallel -j 16 < tasks.txt # or: hs cluster tasks.txt --num-tasks 16
# full override + cluster setup wrapper
helixforge parallel tasks --plan plan.json --genome g.fa --helixer h.gff3 \
--command 'helixforge reconcile --genome g.fa --helixer h.gff3 \
--region {region} --id-base {id_start} \
--output-prefix {output_dir}/{chunk_id}' \
--wrapper run_chunk.sh --wrapper-setup 'module load helixforge' -o tasks.txt