Pipeline Guide
Foundry supports both Via and nf-core/Nextflow pipelines. This guide explains how to import each type into Foundry.
Importing Via Pipelines
To import Via pipelines, you must have admin permissions. Contact support@viascientific.com for more details.
- Go to the Pipelines page and click Create Pipeline.
- Open the Import tab and click Import Via Pipeline.
- Drag and drop one or more importable Foundry pipeline files (with
.vfor.dnextensions). - Review the changes and confirm the import.
After the import completes, you will be redirected to the newly imported pipeline.
Importing nf-core / Nextflow Pipelines
Foundry can import and run nf-core pipelines as well as other standard Nextflow pipelines.
- Go to the Pipelines page and click Create Pipeline.
- Open the Import tab.
- Choose the Repository type: Public or Private.
a) Public Repository
Use this option if your pipeline repository is publicly accessible.
- Select Public as the repository type.
- Enter the Repository URL (for example,
https://github.com/nf-core/sarek). - (Optional) Enter the tag/branch you want to use (for example,
3.6.1). - Set the Pipeline Type:
- Choose
nf-coreif this is an nf-core pipeline. - Choose
nextflowfor other Nextflow pipelines.
- Choose
- Click Pull Pipeline to import it into Foundry.
b) Private Repository
Use this option if your pipeline repository is private.
- Select Private as the repository type.
- Choose the repository credentials you configured under Profile → Integration Tokens.
- Enter the Repository URL (for example,
https://github.com/nf-core/sarek). - (Optional) Enter the tag/branch you want to use (for example,
3.6.1). - Set the Pipeline Type:
- Choose
nf-coreif this is an nf-core pipeline. - Choose
nextflowfor other Nextflow pipelines.
- Choose
- Click Pull Pipeline to import it into Foundry.
Standards for nf-core–like Pipelines
To ensure a smooth experience with nf-core or nf-core–like pipelines, we recommend following these standards.
1. Pipeline Input Schema (nextflow_schema.json)
For nf-core–style pipelines, Foundry relies on nextflow_schema.json to display pipeline inputs on the Run page.
- You can refer to nf-core examples, such as:
Example inputs – nf-core/rnaseqnextflow_schema.json - If your pipeline doesn’t yet have a
nextflow_schema.jsonfile, you can create one using the
Pipeline Schema Builder Tool.
Important: Ensure that all inputs are organized within a group section.
In the schema builder, click Add Group and define parameters inside that group.
Example nextflow_schema.json structure:
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/YOUR_PIPELINE/master/nextflow_schema.json",
"title": "Nextflow pipeline parameters",
"description": "This pipeline uses Nextflow and processes some kind of data. The JSON Schema was built using the nf-core pipeline schema builder.",
"type": "object",
"definitions": {
"new_group_1": {
"title": "New Group 1",
"type": "object",
"description": "",
"default": "",
"properties": {
"new_param_1": {
"type": "string"
},
"new_param_2": {
"type": "string"
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/new_group_1"
}
]
}
2. Publish Location and params.outdir
For each run, Foundry defines a publish location in the Run page → Advanced tab.
- This field is auto-filled based on the run environment; so you do not need to set it manually on the run page.
- Foundry then sets
params.outdirby taking this publish location and appending the suffix:"/report{runID}".
This approach lets Foundry organize outputs consistently across runs without requiring you to manage output paths manually.
In your Nextflow pipelines, set the publish directory to params.outdir.
This aligns your custom pipeline with nf-core conventions and Foundry’s expectations.
Once this is done, Foundry will no longer show params.outdir as a separate input on the run form.
3. Showing Report Files in the Report Tab
To display specific report files under the Report tab in Foundry:
- Add a YAML configuration file named either
tower.ymlorfoundry.ymlto your pipeline repository. - The configuration file should follow the nf-core format.
You can see an example configuration here: https://github.com/nf-core/rnaseq/blob/master/tower.yml
reports:
multiqc_report.html:
display: "MultiQC HTML report"
"**/star_salmon/**/deseq2.plots.pdf":
display: "All samples STAR Salmon DESeq2 QC PDF plots"
Any report files matching the patterns defined in tower.yml or foundry.yml will appear in Foundry’s Report section for that run.