Visium HD support
This PR adds support for Visium HD slides.
- [ ] Update metro map with Visium HD
nf-core pipelines lint overall result: Passed :white_check_mark: :warning:
Posted for pipeline commit d664714
+| ✅ 218 tests passed |+
#| ❔ 8 tests were ignored |#
!| ❗ 6 tests had warnings |!
:heavy_exclamation_mark: Test warnings:
- readme - README contains the placeholder
zenodo.XXXXXXX. This should be replaced with the zenodo doi (after the first release). - pipeline_todos - TODO string in
README.md: Add citation for pipeline after first release. Uncomment lines below and update Zenodo doi and badge at the top of this file. - pipeline_todos - TODO string in
README.md: Add bibliography of tools and data used in your pipeline - pipeline_todos - TODO string in
nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs - pipeline_todos - TODO string in
awsfulltest.yml: You can customise AWS full pipeline tests as required - pipeline_todos - TODO string in
nextflow.config: Specify any additional parameters here
:grey_question: Tests ignored:
- files_exist - File is ignored:
conf/igenomes.config - files_exist - File is ignored:
conf/igenomes_ignored.config - files_unchanged - File ignored due to lint config:
.gitattributes - files_unchanged - File ignored due to lint config:
.github/PULL_REQUEST_TEMPLATE.md - files_unchanged - File ignored due to lint config:
assets/nf-core-spatialvi_logo_light.png - files_unchanged - File ignored due to lint config:
docs/images/nf-core-spatialvi_logo_light.png - files_unchanged - File ignored due to lint config:
docs/images/nf-core-spatialvi_logo_dark.png - files_unchanged - File ignored due to lint config:
.gitignoreor.prettierignore
:white_check_mark: Tests passed:
- files_exist - File found:
.gitattributes - files_exist - File found:
.gitignore - files_exist - File found:
.nf-core.yml - files_exist - File found:
.prettierignore - files_exist - File found:
.prettierrc.yml - files_exist - File found:
CHANGELOG.md - files_exist - File found:
CITATIONS.md - files_exist - File found:
CODE_OF_CONDUCT.md - files_exist - File found:
LICENSEorLICENSE.mdorLICENCEorLICENCE.md - files_exist - File found:
nextflow_schema.json - files_exist - File found:
nextflow.config - files_exist - File found:
README.md - files_exist - File found:
.github/.dockstore.yml - files_exist - File found:
.github/CONTRIBUTING.md - files_exist - File found:
.github/ISSUE_TEMPLATE/bug_report.yml - files_exist - File found:
.github/ISSUE_TEMPLATE/config.yml - files_exist - File found:
.github/ISSUE_TEMPLATE/feature_request.yml - files_exist - File found:
.github/PULL_REQUEST_TEMPLATE.md - files_exist - File found:
.github/workflows/branch.yml - files_exist - File found:
.github/workflows/nf-test.yml - files_exist - File found:
.github/actions/get-shards/action.yml - files_exist - File found:
.github/actions/nf-test/action.yml - files_exist - File found:
.github/workflows/linting_comment.yml - files_exist - File found:
.github/workflows/linting.yml - files_exist - File found:
assets/email_template.html - files_exist - File found:
assets/email_template.txt - files_exist - File found:
assets/sendmail_template.txt - files_exist - File found:
assets/nf-core-spatialvi_logo_light.png - files_exist - File found:
conf/modules.config - files_exist - File found:
conf/test.config - files_exist - File found:
conf/test_full.config - files_exist - File found:
docs/images/nf-core-spatialvi_logo_light.png - files_exist - File found:
docs/images/nf-core-spatialvi_logo_dark.png - files_exist - File found:
docs/output.md - files_exist - File found:
docs/README.md - files_exist - File found:
docs/README.md - files_exist - File found:
docs/usage.md - files_exist - File found:
nf-test.config - files_exist - File found:
tests/default.nf.test - files_exist - File found:
main.nf - files_exist - File found:
assets/multiqc_config.yml - files_exist - File found:
conf/base.config - files_exist - File found:
.github/workflows/awstest.yml - files_exist - File found:
.github/workflows/awsfulltest.yml - files_exist - File found:
modules.json - files_exist - File found:
ro-crate-metadata.json - files_exist - File not found check:
.github/ISSUE_TEMPLATE/bug_report.md - files_exist - File not found check:
.github/ISSUE_TEMPLATE/feature_request.md - files_exist - File not found check:
.github/workflows/push_dockerhub.yml - files_exist - File not found check:
.markdownlint.yml - files_exist - File not found check:
.nf-core.yaml - files_exist - File not found check:
.yamllint.yml - files_exist - File not found check:
bin/markdown_to_html.r - files_exist - File not found check:
conf/aws.config - files_exist - File not found check:
docs/images/nf-core-spatialvi_logo.png - files_exist - File not found check:
lib/Checks.groovy - files_exist - File not found check:
lib/Completion.groovy - files_exist - File not found check:
lib/NfcoreTemplate.groovy - files_exist - File not found check:
lib/Utils.groovy - files_exist - File not found check:
lib/Workflow.groovy - files_exist - File not found check:
lib/WorkflowMain.groovy - files_exist - File not found check:
lib/WorkflowSpatialvi.groovy - files_exist - File not found check:
parameters.settings.json - files_exist - File not found check:
pipeline_template.yml - files_exist - File not found check:
Singularity - files_exist - File not found check:
lib/nfcore_external_java_deps.jar - files_exist - File not found check:
.travis.yml - nextflow_config - Found nf-schema plugin
- nextflow_config - Config variable found:
manifest.name - nextflow_config - Config variable found:
manifest.nextflowVersion - nextflow_config - Config variable found:
manifest.description - nextflow_config - Config variable found:
manifest.version - nextflow_config - Config variable found:
manifest.homePage - nextflow_config - Config variable found:
timeline.enabled - nextflow_config - Config variable found:
trace.enabled - nextflow_config - Config variable found:
report.enabled - nextflow_config - Config variable found:
dag.enabled - nextflow_config - Config variable found:
process.cpus - nextflow_config - Config variable found:
process.memory - nextflow_config - Config variable found:
process.time - nextflow_config - Config variable found:
params.outdir - nextflow_config - Config variable found:
params.input - nextflow_config - Config variable found:
validation.help.enabled - nextflow_config - Config variable found:
manifest.mainScript - nextflow_config - Config variable found:
timeline.file - nextflow_config - Config variable found:
trace.file - nextflow_config - Config variable found:
report.file - nextflow_config - Config variable found:
dag.file - nextflow_config - Config variable found:
validation.help.beforeText - nextflow_config - Config variable found:
validation.help.afterText - nextflow_config - Config variable found:
validation.help.command - nextflow_config - Config variable found:
validation.summary.beforeText - nextflow_config - Config variable found:
validation.summary.afterText - nextflow_config - Config variable (correctly) not found:
params.nf_required_version - nextflow_config - Config variable (correctly) not found:
params.container - nextflow_config - Config variable (correctly) not found:
params.singleEnd - nextflow_config - Config variable (correctly) not found:
params.igenomesIgnore - nextflow_config - Config variable (correctly) not found:
params.name - nextflow_config - Config variable (correctly) not found:
params.enable_conda - nextflow_config - Config variable (correctly) not found:
params.max_cpus - nextflow_config - Config variable (correctly) not found:
params.max_memory - nextflow_config - Config variable (correctly) not found:
params.max_time - nextflow_config - Config variable (correctly) not found:
params.validationFailUnrecognisedParams - nextflow_config - Config variable (correctly) not found:
params.validationLenientMode - nextflow_config - Config variable (correctly) not found:
params.validationSchemaIgnoreParams - nextflow_config - Config variable (correctly) not found:
params.validationShowHiddenParams - nextflow_config - Config
timeline.enabledhad correct value:true - nextflow_config - Config
report.enabledhad correct value:true - nextflow_config - Config
trace.enabledhad correct value:true - nextflow_config - Config
dag.enabledhad correct value:true - nextflow_config - Config
manifest.namebegan withnf-core/ - nextflow_config - Config variable
manifest.homePagebegan with https://github.com/nf-core/ - nextflow_config - Config
dag.fileended with.html - nextflow_config - Config variable
manifest.nextflowVersionstarted with >= or !>= - nextflow_config - Config
manifest.versionends indev:1.0dev - nextflow_config - Config
params.custom_config_versionis set tomaster - nextflow_config - Config
params.custom_config_baseis set tohttps://raw.githubusercontent.com/nf-core/configs/master - nextflow_config - Lines for loading custom profiles found
- nextflow_config - nextflow.config contains configuration profile
test - nextflow_config - Config default value correct: params.spaceranger_reference= https://cf.10xgenomics.com/supp/spatial-exp/refdata-gex-GRCh38-2020-A.tar.gz
- nextflow_config - Config default value correct: params.hd_bin_size= 8
- nextflow_config - Config default value correct: params.qc_min_counts= 500
- nextflow_config - Config default value correct: params.qc_min_genes= 250
- nextflow_config - Config default value correct: params.qc_min_spots= 1
- nextflow_config - Config default value correct: params.qc_mito_threshold= 20.0
- nextflow_config - Config default value correct: params.qc_ribo_threshold= 0.0
- nextflow_config - Config default value correct: params.qc_hb_threshold= 100.0
- nextflow_config - Config default value correct: params.cluster_n_hvgs= 2000
- nextflow_config - Config default value correct: params.cluster_resolution= 1.0
- nextflow_config - Config default value correct: params.svg_autocorr_method= moran
- nextflow_config - Config default value correct: params.n_top_svgs= 14
- nextflow_config - Config default value correct: params.integration_cluster_resolution= 1.0
- nextflow_config - Config default value correct: params.integration_n_hvgs= 2000
- nextflow_config - Config default value correct: params.custom_config_version= master
- nextflow_config - Config default value correct: params.custom_config_base= https://raw.githubusercontent.com/nf-core/configs/master
- nextflow_config - Config default value correct: params.publish_dir_mode= copy
- nextflow_config - Config default value correct: params.max_multiqc_email_size= 25.MB
- nextflow_config - Config default value correct: params.validate_params= true
- nextflow_config - Config default value correct: params.pipelines_testdata_base_path= https://raw.githubusercontent.com/nf-core/test-datasets/
- nf_test_content - 'tests/default.nf.test' contains
outdirparameter - nf_test_content - 'tests/default.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/test_downstream.nf.test' contains
outdirparameter - nf_test_content - 'tests/test_downstream.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/test_spaceranger_ffpe_v1.nf.test' contains
outdirparameter - nf_test_content - 'tests/test_spaceranger_ffpe_v1.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/test_spaceranger_ffpe_hd.nf.test' contains
outdirparameter - nf_test_content - 'tests/test_spaceranger_ffpe_hd.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/nextflow.config' contains
modules_testdata_base_path - nf_test_content - 'tests/nextflow.config' contains
pipelines_testdata_base_path - nf_test_content - 'nf-test.config' sets a
testsDir - nf_test_content - 'nf-test.config' sets a
workDir - nf_test_content - 'nf-test.config' sets a
configFile - files_unchanged -
.prettierrc.ymlmatches the template - files_unchanged -
CODE_OF_CONDUCT.mdmatches the template - files_unchanged -
LICENSEmatches the template - files_unchanged -
.github/.dockstore.ymlmatches the template - files_unchanged -
.github/CONTRIBUTING.mdmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/bug_report.ymlmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/config.ymlmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/feature_request.ymlmatches the template - files_unchanged -
.github/workflows/branch.ymlmatches the template - files_unchanged -
.github/workflows/linting_comment.ymlmatches the template - files_unchanged -
.github/workflows/linting.ymlmatches the template - files_unchanged -
assets/email_template.htmlmatches the template - files_unchanged -
assets/email_template.txtmatches the template - files_unchanged -
assets/sendmail_template.txtmatches the template - files_unchanged -
docs/README.mdmatches the template - actions_nf_test - '.github/workflows/nf-test.yml' is triggered on expected events
- actions_nf_test - '.github/workflows/nf-test.yml' checks minimum NF version
- actions_awstest - '.github/workflows/awstest.yml' is triggered correctly
- actions_awsfulltest -
.github/workflows/awsfulltest.ymlis triggered correctly - actions_awsfulltest -
.github/workflows/awsfulltest.ymldoes not use-profile test - readme - README Nextflow minimum version badge matched config. Badge:
24.10.5, Config:24.10.5 - readme - README nf-core template version badge found.
- pipeline_if_empty_null - No
ifEmpty(null)strings found - plugin_includes - No wrong validation plugin imports have been found
- pipeline_name_conventions - Name adheres to nf-core convention
- template_strings - Did not find any Jinja template strings (0 files)
- schema_lint - Schema lint passed
- schema_lint - Schema title + description lint passed
- schema_lint - Input mimetype lint passed: 'text/csv'
- schema_params - Schema matched params returned from nextflow config
- system_exit - No
System.exitcalls found - actions_schema_validation - Workflow validation passed: linting_comment.yml
- actions_schema_validation - Workflow validation passed: fix_linting.yml
- actions_schema_validation - Workflow validation passed: download_pipeline.yml
- actions_schema_validation - Workflow validation passed: awstest.yml
- actions_schema_validation - Workflow validation passed: awsfulltest.yml
- actions_schema_validation - Workflow validation passed: linting.yml
- actions_schema_validation - Workflow validation passed: template-version-comment.yml
- actions_schema_validation - Workflow validation passed: release-announcements.yml
- actions_schema_validation - Workflow validation passed: branch.yml
- actions_schema_validation - Workflow validation passed: clean-up.yml
- actions_schema_validation - Workflow validation passed: nf-test.yml
- merge_markers - No merge markers found in pipeline files
- modules_json - Only installed modules found in
modules.json - multiqc_config -
assets/multiqc_config.ymlfound and not ignored. - multiqc_config -
assets/multiqc_config.ymlcontainsreport_section_order - multiqc_config -
assets/multiqc_config.ymlcontainsexport_plots - multiqc_config -
assets/multiqc_config.ymlcontainsreport_comment - multiqc_config -
assets/multiqc_config.ymlfollows the ordering scheme of the minimally required plugins. - multiqc_config -
assets/multiqc_config.ymlcontains a matching 'report_comment'. - multiqc_config -
assets/multiqc_config.ymlcontains 'export_plots: true'. - modules_structure - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
- local_component_structure - local subworkflows directory structure is correct 'subworkflows/local/TOOL/SUBTOOL'
- base_config -
conf/base.configfound and not ignored. - modules_config -
conf/modules.configfound and not ignored. - modules_config -
SPACERANGER_UNTAR_REFERENCEfound inconf/modules.configand Nextflow scripts. - modules_config -
UNTAR_SPACERANGER_INPUTfound inconf/modules.configand Nextflow scripts. - modules_config -
FASTQCfound inconf/modules.configand Nextflow scripts. - modules_config -
SPACERANGER_COUNTfound inconf/modules.configand Nextflow scripts. - modules_config -
MULTIQCfound inconf/modules.configand Nextflow scripts. - modules_config -
READ_DATAfound inconf/modules.configand Nextflow scripts. - modules_config -
MERGE_SDATAfound inconf/modules.configand Nextflow scripts. - modules_config -
INTEGRATE_SDATAfound inconf/modules.configand Nextflow scripts. - nfcore_yml - Repository type in
.nf-core.ymlis valid:pipeline - nfcore_yml - nf-core version in
.nf-core.ymlis set to the latest version:3.3.2 - rocrate_readme_sync - RO-Crate descriptions are in sync with
README.md.
Run details
- nf-core/tools version 3.3.2
- Run at
2025-09-05 13:44:22
[!WARNING] Newer version of the nf-core template is available.
Your pipeline is using an old version of the nf-core template: 3.3.1. Please update your pipeline to the latest version.
For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.
On the Visium HD flag, wouldn't it be more convenient using the slide serial number prefix to determine Visium version instead of requiring a dedicated flag? Prefixes are defined here, would be "H1" for current version of Visium HD.
On the Visium HD flag, wouldn't it be more convenient using the slide serial number prefix to determine Visium version instead of requiring a dedicated flag? Prefixes are defined here, would be "H1" for current version of Visium HD.
So you mean that we remove the --visium_hd flag, and instead rely on the first one or two characters of the slide column in the input csv? That's an option indeed. But if we take the first two digits, then the pipeline won't work when 10X starts making H2, even if they keep backward compatibility. What would be the best approach? @fasterius do you have an opinion on this?
If we can read the correct parameters from the samplesheet that's great, as long as it doesn't introduce issues with misidentifying anything. Regarding backwards compatibility, why wouldn't the pipeline work anymore when 10X starts making H2? If we're matching for H1 we can also match for H2 or HN, no?
If we're matching for
H1we can also match forH2orHN, no?
Definitely, I was more thinking that it means updating the pipeline at each new version, but that's probably needed anyway to update SR versions etc. So yes sounds like a good idea to check Visium version from slide id!
I now removed the --visium_hd flag in https://github.com/nf-core/spatialvi/pull/101/commits/dd9a8ba2cd6e13bda1d6e0f63655fd4b896cda1f For downstream analysis, as we do not give "slide" parameter, I use the existence of a "binned_outputs" folder in the SpaceRanger output.