Helpful RAFT options

Most off-the-shelf runs only need a project id, workflow, version, and manifest. The options below are useful when you need more control over how RAFT sets up or runs a project.

Project setup options

Use --setup-only to create the project without launching Nextflow:

$ raft run \
    --project-id my-project \
    --workflow lens \
    --version v1.9-dev \
    --manifest my_manifest.tsv \
    --setup-only

This writes the RAFT project directory, workflow files, loaded modules, manifest, and parameter configuration, then stops before the Nextflow run. It is useful when you want to inspect or edit the generated project before execution.

--setup-only is not a no-write dry run. RAFT does not currently provide a mode that previews every setup action without creating or editing project files.

Use --skip-downloads with off-the-shelf setup when you want to create the project structure without downloading reference files or demonstration FASTQs:

$ raft run \
    --project-id my-project \
    --workflow lens \
    --version v1.9-dev \
    --manifest my_manifest.tsv \
    --setup-only \
    --skip-downloads

This still initializes the project, fetches workflow configuration, and loads workflow modules. Module loading can take a few minutes.

Use --workflow-profile to apply a prepared workflow configuration instead of launching the config generator:

$ raft run \
    --project-id my-project \
    --workflow lens \
    --version v1.9-dev \
    --manifest my_manifest.tsv \
    --workflow-profile standard

standard means the default profile for that workflow/species/input combination. Some workflows may provide additional profile names.

Use --edit-manifest to open the manifest generator even when you provide an existing manifest:

$ raft run \
    --project-id my-project \
    --workflow lens \
    --version v1.9-dev \
    --manifest my_manifest.tsv \
    --edit-manifest

Execution options

Use --profile to pass a Nextflow runtime profile:

$ raft run --project-id my-project --profile slurm

Use --max-mem and --max-cpu to pass workflow-level resource caps:

$ raft run \
    --project-id my-project \
    --max-mem 256.GB \
    --max-cpu 32

These become Nextflow workflow parameters such as --max_mem and --max_cpu.

Use --nf-params to pass additional parameters directly to Nextflow when running an existing project:

$ raft run \
    --project-id my-project \
    --nf-params "--some_param value --another_param TRUE"

Use --no-resume to disable Nextflow resume behavior:

$ raft run --project-id my-project --no-resume

Output and report options

By default, RAFT removes the previous outputs/ directory before running an existing project. Use --keep-previous-outputs to leave existing outputs in place:

$ raft run --project-id my-project --keep-previous-outputs

Use --no-reports to skip Nextflow report, trace, DAG, and timeline generation:

$ raft run --project-id my-project --no-reports

Use --show-all-processes to show unfiltered Nextflow output. Without this option, RAFT hides some noisy status and warning lines:

$ raft run --project-id my-project --show-all-processes

Workflow behavior options

By default, RAFT sets params.clean_intermediates to an empty string ('') before running when that parameter exists in the generated workflow. Use --delete-intermediates to opt into cleanup:

$ raft run --project-id my-project --delete-intermediates

Use --include-all-samples to set every params.*include_all_samples assignment in workflow/main.nf to "TRUE" before running:

$ raft run --project-id my-project --include-all-samples

This is workflow-dependent. It only changes parameters that already exist in the generated workflow.

Dataset and cloud options

Use --dataset instead of --manifest when running a supported dataset-prep workflow:

$ raft run \
    --project-id hugolo-demo \
    --workflow lens \
    --version v1.9-dev \
    --dataset HugoLo_IPRES_2016

Use --bucket for advanced CLI bucket-backed runs:

$ raft run \
    --project-id my-project \
    --workflow lens \
    --version v1.9-dev \
    --bucket gs://my-bucket/raft

When bucket routing is active, RAFT infers cloud resource-label defaults from the bucket scheme:

  • s3:// uses AWS-oriented defaults

  • gs:// uses GCP-oriented defaults

Use --references-bucket to point RAFT at a specific bucket or bucket prefix for references. RAFT writes references under references/ there and, unless you also pass --shared-bucket, uses that same bucket root for params.shared_dir under shared/:

$ raft run \
    --project-id my-project \
    --references-bucket s3://my-bucket/reference-cache

Use --project-bucket to point project, work, FASTQ, and metadata paths at a specific bucket or bucket prefix:

$ raft run \
    --project-id my-project \
    --project-bucket s3://my-bucket/project-root

--bucket is mutually exclusive with both --project-bucket and --references-bucket. --project-bucket and --references-bucket can be used together. --shared-bucket is an optional override for params.shared_dir and cannot be combined with --bucket.

Use --shared-bucket to point params.shared_dir somewhere else. RAFT stores shared files under shared/ beneath that bucket root:

$ raft run \
    --project-id my-project \
    --references-bucket s3://my-bucket/reference-cache \
    --shared-bucket s3://my-bucket/shared-cache

Use --fastqs-bucket with another bucket-routing option when you already have FASTQs staged in a bucket. RAFT searches within that bucket or prefix, reuses the discovered directory as global_fq_dir, and only then attempts local FASTQ uploads for any missing files:

$ raft run \
    --project-id my-project \
    --project-bucket s3://my-bucket/project-root \
    --fastqs-bucket s3://my-bucket/fastq-cache

Use --metadata-bucket with another bucket-routing option when you already have metadata staged in a bucket. RAFT searches within that bucket or prefix, reuses the discovered directory as metadata_dir, and only uploads local metadata if additional files still need to be staged:

$ raft run \
    --project-id my-project \
    --project-bucket s3://my-bucket/project-root \
    --metadata-bucket s3://my-bucket/metadata-cache

Use --resource-label KEY=VALUE to override cloud resource labels for a specific bucket-backed run. You can pass it more than once:

$ raft run \
    --project-id my-project \
    --project-bucket s3://my-bucket/project-root \
    --resource-label team=vincent \
    --resource-label owner=spvensko

For workspace-wide defaults, edit .raft.cfg under cloud.resource_labels. RAFT prints a reminder about this when you launch a bucket-backed run.

For OTS workflows, --references-bucket now stages only the references declared by the workflow metadata, so a bucket-backed run no longer depends on those references already being installed in the local RAFT references tree.

Note

Bucket names cannot contain underscores. Use hyphens instead.

For s3:// targets, RAFT expects the aws CLI to be installed. For gs:// targets, RAFT expects local Google Application Default Credentials (ADC), commonly created with gcloud auth application-default login. RAFT uses the Python Google Cloud Storage client for gs:// transfers. Bucket-backed runs follow that same default. Pass --delete-intermediates if you want cleanup enabled.

For most cloud users considering the experimental BYOC launcher described in Running RAFT on the cloud is the preferred path.

Global options

Use --verbose or -V for more logging:

$ raft --verbose run --project-id my-project

Use --silent or -q to suppress informational output, including the message of the day:

$ raft --silent run --project-id my-project

Use --bypass-dependencies only for advanced testing or constrained environments where you intentionally want to skip dependency checks:

$ raft --bypass-dependencies run --project-id my-project