Skip to main content

Seqera

Added in version 26.04
warning

Preview feature: may change in a future release.

The seqera executor runs pipeline tasks using Seqera Intelligent Compute. It submits each task to the Seqera scheduler service.

To enable this executor, set process.executor = 'seqera' in the nextflow.config file. Every pipeline process must specify a Docker image using the container directive. The pipeline work directory must be located in an S3 bucket.

Use the following process directives to control resource requests and other job characteristics:

The following hints are supported:

  • machineRequirement.capacityMode
  • machineRequirement.diskAllocation
  • machineRequirement.diskEncrypted
  • machineRequirement.diskIops
  • machineRequirement.diskMountPath
  • machineRequirement.diskSize
  • machineRequirement.diskThroughputMiBps
  • machineRequirement.diskType
  • machineRequirement.machineTypes
  • machineRequirement.maxSpotAttempts
  • machineRequirement.provisioning
  • predictionModel

The machineRequirement.* hints override the corresponding field of the seqera.executor.machineRequirement config scope on a per-process basis. The predictionModel hint overrides the run-level seqera.executor.predictionModel for a single process. Set it to qr/v1 or qr/v2 to select a model, or to none to disable resource prediction for that process even when the run enables a model. When omitted, the process inherits the run-level prediction model. Use keys as-is, or with the seqera/ prefix to restrict them to this executor.

For example, to override the provisioning mode for a single process:

process hello {
hints 'seqera/machineRequirement.provisioning': 'spotFirst'

script:
"""
your_command --here
"""
}

To disable resource prediction for a single process when the run sets a model:

process hello {
hints 'seqera/predictionModel': 'none'

script:
"""
your_command --here
"""
}

See the seqera scope for the full config reference.

Disk support

When a process specifies the disk directive, the Seqera executor provisions storage for the task container. It supports two disk allocation strategies:

  • task (default): Nextflow creates a dedicated EBS volume for each task at launch time. This provides isolated storage with configurable volume type, IOPS, throughput, and encryption.

  • node: Uses the instance storage attached at the cluster level. Tasks running on the same node share this storage, which does not support EBS-specific options.

Task allocation (EBS volumes)

By default, Nextflow uses a gp3 volume with 325 MiB/s throughput, the recommended settings for Fusion. You can customize the EBS volume configuration:

seqera {
executor {
machineRequirement {
diskAllocation = 'task' // Per-task EBS volume (default)
diskType = 'ebs/io1' // Use provisioned IOPS SSD
diskIops = 10000 // Required for io1/io2
diskThroughputMiBps = 500 // Throughput for gp3 volumes
diskEncrypted = true // Enable KMS encryption
diskMountPath = '/data' // Container mount path (default: /tmp)
}
}
}

Supported volume types: ebs/gp3 (default), ebs/gp2, ebs/io1, ebs/io2, ebs/st1, ebs/sc1.

Node allocation (instance storage)

To use instance storage instead of per-task EBS volumes:

seqera {
executor {
machineRequirement {
diskAllocation = 'node' // Use instance storage
}
}
}
note

The EBS-specific options (diskType, diskIops, diskThroughputMiBps, diskEncrypted) do not apply to node allocation. Specifying them causes an error.