nf-core / nf-core/tools

Pull online test-datasets with `nf-core pipelines download`

Open
#4,370 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

download enhancement
Dominant language
Python
Stars
322
Forks
255
Avg merge
2d 3h
Merged PRs (30d)
5

Description

Description of feature

When using nf-core pipelines download with the test datasets, which refers to online resources, the run is not locally executable. Pulling referenced URLs would be a useful feature for test runs.

I have written a small script that does exactly that. It takes a resolved config from nextflow config -flat "${config_path}" -profile "${test_profile}" > "${resolved_config_path}" and pulls referenced http(s) protocol files. It's still pretty simple, but it looks up dependencies recursively and replaces their references with local pulls.

What is currently not in scope of the script:

  • Pulling S3 buckets and other protocols
  • Filtering out resources that don't need pulling e.g. project websites

fetch.py

Would this be a desired feature for nf-core/tools?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the attached fetch.py and the existing nf-core pipelines download command, then trace how its resolved Nextflow configuration is produced. Confirm how HTTP(S) resources should be identified, downloaded recursively, and rewritten for local test runs; done means the test dataset is locally executable while S3 and other protocols remain out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.