Launch Nextflow pipeline executions on cloud (AWS, Google Cloud, Azure) and HPC clusters (Slurm, LSF, etc.) through Seqera Platform. Seqera Platform manages the target compute environment, executes the pipeline from a remote Git repository, and provides monitoring.
Requires Nextflow 26.04 or later (for the nextflow auth and nextflow launch commands).
Main Flow
- Configure the compute environment — select a Seqera Platform compute environment for the target cloud or cluster.
- Ensure the pipeline is in a remote Git repository — Seqera Platform launches pipelines from GitHub (or a compatible Git host such as GitLab or Bitbucket). If the local pipeline is not yet hosted, assist the user in setting up the repository.
- Upload local changes — push any uncommitted local changes to the remote so the launched run reflects the user's current code.
- Launch with
nextflow launch— submit the pipeline by passing the Git repository URL and the expected parameters.
Step 1: Authenticate with Seqera Platform
Check whether the user is already authenticated:
nextflow auth status
If not authenticated, sign in:
nextflow auth login
This opens a browser for authentication. Wait for the user to complete the login flow before proceeding.
Step 2: Configure the Compute Environment
List available compute environments using the Seqera API:
call_seqera_api(
service: "platform",
api_name: "platform_list_compute_envs",
parameters: {}
)
Selecting the compute environment:
- Present the available compute environments to the user (name, platform type, region/cluster).
- If multiple environments are available, ask the user which one to use.
- If only one is available, propose it and ask for confirmation.
- Confirm the selected compute environment with the user before launching.
Step 3: Ensure the Pipeline Is in a Remote Git Repository
Seqera Platform launches pipelines from a remote Git URL — it cannot launch directly from a local path. Verify the pipeline directory is a Git repository connected to a remote on GitHub (or a compatible host like GitLab or Bitbucket).
Check the current state:
git remote -v
git status
If the pipeline is not yet a Git repository or has no remote, assist the user in setting it up:
- Initialize the repository if needed:
git init git add . git commit -m "Initial pipeline commit" - Help the user create a remote repository (e.g., on GitHub via
gh repo create) or ask for an existing remote URL. - Add the remote and push:
git remote add origin <repo-url> git push -u origin main
Step 4: Upload Local Changes
Before launching, push any local changes so the remote reflects the code that should run:
git status
git add <files>
git commit -m "<message>"
git push
If the working tree is clean and the local branch is in sync with the remote, skip this step.
Step 5: Launch the Pipeline
Use nextflow launch with the Git repository URL and parameters:
nextflow launch <git-repo-url> \
-r <revision> \
--input <input> \
--outdir <outdir> \
[additional --params...]
Examples
Launch a pipeline from GitHub:
nextflow launch https://github.com/org/pipeline \
-r main \
--input samplesheet.csv \
--outdir s3://bucket/results
Launch an nf-core pipeline:
nextflow launch https://github.com/nf-core/rnaseq \
-r 3.14.0 \
--input samplesheet.csv \
--outdir s3://bucket/results \
--genome GRCh38
Key options
| Option | Description |
|---|---|
-r <revision> |
Pipeline version, branch, or tag |
--input |
Input samplesheet or data |
--outdir |
Output directory (cloud storage when running on cloud CEs) |
-params-file params.yml |
Parameters file |
-resume |
Resume a previous execution |
Step 6: Monitor the Execution
nextflow launch returns a run URL on Seqera Platform. Present this URL to the user so they can monitor progress in the Platform UI.
Critical Rules
- AUTHENTICATE first — check
nextflow auth statusbefore attempting to launch. - CONFIRM the compute environment — always show the user the selected CE before launching.
- REQUIRE a remote Git repository — the pipeline must be hosted on GitHub or a compatible Git host. If not, help the user set it up before launching.
- PUSH local changes first — the launched run uses the remote code, so local edits must be committed and pushed.
- PASS the Git repository URL to
nextflow launch, not a local path. - PIN the revision — always use
-rto target a specific branch, tag, or commit for reproducibility. - USE cloud storage for
--outdirwhen the target CE runs on a cloud platform (s3://, gs://, az://). - PRESENT the run URL returned by
nextflow launchso the user can monitor the run.