Skip to content

docs: add usage, output, and samplesheet schema documentation - #23

Merged
hyphaltip merged 2 commits into
mainfrom
refactor/issue-12-nfcore-hygiene
Jun 29, 2026
Merged

docs: add usage, output, and samplesheet schema documentation#23
hyphaltip merged 2 commits into
mainfrom
refactor/issue-12-nfcore-hygiene

Conversation

@hyphaltip

Copy link
Copy Markdown
Member

Summary

Complete the nf-core-inspired documentation and schema requirements (issue #12). Add comprehensive user-facing documentation for pipeline usage and output structure, along with a JSON schema for samplesheet validation.

Key changes

  • docs/usage.md — Quick-start guide covering:

    • Profile composition (pipeline × executor × provisioning)
    • Samplesheet format with required/optional columns and examples
    • Runtime sample filtering (--asmid, --taxon, --n_test)
    • Key parameters with descriptions
    • Resume, stub-run, and EarlGrey masking workflows
  • docs/output.md — Complete output directory reference:

    • Directory tree showing all output locations and purposes
    • Key outputs table (annotations, cleaned genomes, RNA-seq, statistics, TE libraries)
    • Explanation of the storeDir persistence model (outputs accumulate across runs; deleting a file forces re-execution)
    • Distinction between storeDir (most outputs) and publishDir (SRA, antiSMASH, InterProScan, SignalP)
  • assets/schema_input.json — JSON Schema (draft 2020-12) for samplesheet validation:

    • Required fields: SPECIES, ASMID, LOCUSTAG, BUSCO_LINEAGE
    • Optional fields: STRAIN, TRANSL_TABLE, NCBI_TAXONID, GENOME, taxonomic ranks
    • Descriptions and error messages for each field
    • Defaults for optional fields
  • nextflow.config — Add validation block:

    • lenientMode = true to accept string representations ("true"/"1") from CLI args in NF 26.x
    • monochromeLogs = false for readable schema validation output
  • REFACTORING_PLAN.md — Update status:

  • .github/REFACTOR_ISSUES.md — Close issue Annotation subworkflow (Phase 8) #12 checklist:

    • All documentation and schema items marked done
    • Naming + submission decision recorded

Implementation notes

  • The samplesheet schema is referenced by nf-schema plugin (already in nextflow.config) for runtime validation
  • Output documentation emphasizes the storeDir caching model, which is central to the pipeline's resume behavior on NFS-mounted filesystems
  • Usage guide includes both common workflows (annotate, EarlGrey) and advanced filtering patterns
  • All paths are relative to launchDir unless noted as overridable parameters

https://claude.ai/code/session_01AbWwmm9v6dJn13sgAJn3Sa

hyphaltip and others added 2 commits June 29, 2026 15:31
docs/usage.md     — quick-start, profile axis table, samplesheet column reference,
                    filtering flags, key params, resume/stub/EarlGrey recipes
docs/output.md    — full directory layout, per-output descriptions, storeDir vs
                    publishDir persistence model
assets/schema_input.json — JSON Schema for samples.csv (required: SPECIES, ASMID,
                    LOCUSTAG, BUSCO_LINEAGE; optional: STRAIN, TRANSL_TABLE,
                    NCBI_TAXONID, GENOME, taxonomy rank columns)
REFACTORING_PLAN.md / REFACTOR_ISSUES.md — issues #11 + #12 marked done; naming
                    decision recorded: stay nf-core-inspired, do not submit
                    (nf_funannotate1 naming kept; container-per-module and nf-test
                    not pursued for this HPC-first pipeline). Epic closed.

Stub gate: 15/0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbWwmm9v6dJn13sgAJn3Sa
NF 26.04.4 passes all CLI args as strings; nf-schema 2.6.1 validates them
before Groovy type coercion, rejecting --n_test 1, --skip_fcs true, etc.
lenientMode = true accepts string representations of typed params from CLI
while still enforcing structure and required-field rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AbWwmm9v6dJn13sgAJn3Sa
@hyphaltip
hyphaltip merged commit 4a7c6b3 into main Jun 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant