Overview
nf-core provides a collection of open source pipelines and workflows. This workflow can be launched via API/SDK or via Web Walkthrough.
nf-core Launch via API/SDK
You can launch nf-core workflows programmatically using the Form Bio CLI/SDK tool to call the Form Bio API.
- Upload any relevant input data / files
- For transferring large files or transferring from Cloud Providers like AWS S3, Azure, Box use the Form Data Transfer Service
# Upload files to Form Bio project
$ formbio storage cp -r ./local-files/sequences formbio://${org}/${project}
- Create input parameters for a given nf-core workflow as a JSON params list
- You can Use nf-coreās web UI Launcher to create the JSON parameters.
- Note: any input files should be of the URI scheme:
formbio://${project}/${org}/${filepath}
- You then can launch a workflow via the API using the Form Bio CLI/SDK:
- See docs on how to use the Form Bio CLI/SDK to run workflows via the API
For example, to launch nf-core/bamtofastq workflow:
# Run nf-core/bamtofastq workflow
$ formbio workflow run \
--run-name 'nf-core_bamtofastq_re-run_1' \
--org formbio \
--project formbio-workflows \
--repo nf-core \
--workflow formbio/formbio-workflows/nf-core \
--version main \
--execution-engine nextflow \
-- \
--outdir='{{formbio.params.output}}' \
# nf-core JSON input params
--params='{
"input": "https://raw.githubusercontent.com/nf-core/test-datasets/bamtofastq/samplesheet/test_bam_samplesheet.csv"
}' \
--workflow='nf-core/bamtofastq' \
--workflowVersion='2.1.0'
Another example to launch nf-core/taxprofiler using formbio input files:
$ formbio workflow run \
--run-name 'nf-core-tax-profiler' \
--org formbio \
--project formbio-workflows \
--repo nf-core \
--workflow formbio/formbio-workflows/nf-core \
--version main \
--execution-engine nextflow \
-- \
--outdir='{{formbio.params.output}}' \
# nf-core JSON input params
--params='{
"input": "formbio://formbio/formbio-workflows/nf-core-data/taxprofiler/samplesheet.csv",
"databases": "formbio://formbio/formbio-workflows/nf-core-data/taxprofiler/database_v1.1.csv",
"perform_shortread_qc": true,
"perform_longread_qc": true,
"shortread_qc_mergepairs": true,
"perform_shortread_complexityfilter": true,
"perform_shortread_hostremoval": true,
"perform_longread_hostremoval": true,
"perform_runmerging": true,
"hostremoval_reference": "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta",
"run_kaiju": true,
"run_kraken2": true,
"run_bracken": true,
"run_malt": false,
"run_metaphlan": true,
"run_centrifuge": true,
"run_diamond": true,
"run_krakenuniq": true,
"run_motus": false,
"run_ganon": true,
"run_krona": true,
"run_kmcp": true,
"kmcp_mode": 0,
"krona_taxonomy_directory": "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/sarscov2/metagenome/krona_taxonomy.tab",
"malt_save_reads": true,
"kraken2_save_reads": true,
"centrifuge_save_reads": true,
"run_profile_standardisation": true
}' \
--workflow='nf-core/taxprofiler' \
--workflowVersion='1.1.2'
nf-core Launch via Web Walkthrough
- Navigate to the ānf-coreā launcher card. You can also find this workflow using the search bar in the top right corner, or by using the ānf-coreā filter on the left-hand side. Select the nf-core workflow, which will navigate directly to Launcher.
- Launcher Tabs
- Search for the desired nf-core repository. The nf-core workflow repository supports many different workflows.
- Search for workflow version of selected workflow repository
- To determine which parameters are needed, click the link below the search bar for the documentation for the selected workflow and version.
- Navigate to the āParametersā tab to see list of parameters required for the JSON input. Required parameters are indicated by a yellow ārequiredā box on the right side.
- For each desired/required parameter, include the JSON key and give it a value.
- Note:
outdir
parameter should be omitted for our workflow, as this get specified in the API. - Note: Any file or directory paths should point to its
formbio://
path - You can use the nf-core websiteās āLaunchā functionality to map which fields to populate in the JSON input field for this workflow.
- E.g. for
rnafusion
: https://nf-co.re/rnafusion/3.0.1/parameters ā Click on āLaunch versionā to see which JSON fields to populate into the nf-core workflow - Go to the Review & Submit tab at the top and give the workflow run a name. Click āRun Workflowā in the bottom right corner to begin analysis.
If you already know which parameters are required for the version you chose, you can skip to Step 2e. Otherwise, proceed to Step 2c.
{
"input": "formbio://formbio/formbio-workflows/nf-core-data/taxprofiler/samplesheet.csv",
"databases": "formbio://formbio/formbio-workflows/nf-core-data/taxprofiler/database_v1.1.csv",
"perform_shortread_qc": true,
"perform_longread_qc": true,
"shortread_qc_mergepairs": true,
"perform_shortread_complexityfilter": true,
"perform_shortread_hostremoval": true,
"perform_longread_hostremoval": true,
"perform_runmerging": true,
"hostremoval_reference": "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta",
"run_kaiju": true,
"run_kraken2": true,
"run_bracken": true,
"run_malt": false,
"run_metaphlan": true,
"run_centrifuge": true,
"run_diamond": true,
"run_krakenuniq": true,
"run_motus": false,
"run_ganon": true,
"run_krona": true,
"run_kmcp": true,
"kmcp_mode": 0,
"krona_taxonomy_directory": "https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/sarscov2/metagenome/krona_taxonomy.tab",
"malt_save_reads": true,
"kraken2_save_reads": true,
"centrifuge_save_reads": true,
"run_profile_standardisation": true
}