scrnaseq
scrnaseq copied to clipboard
Upgrade simpleaf and alevinqc
Dear scrnaseq developers (and @rob-p, of course ;P ),
This PR is related to #312. I did the following things:
- Update simpleaf version from 0.10.0 to 0.17.2
- Update alevinqc version from 1.12.1 to 1.18.0
- Add parameter
no_pisceminnextflow.configfor switching from the defaultpiscemmapper to salmon - Add parameter
use_selective_alignmentinnextflow.configfor switching the mapping strategy from the default pseudo-alignment with structure constraints to selective alignment - Add alevin-fry and simpleaf citations into
Citation.md - Replace
*_t2g_3col.tsvwith*t2g_3col.tsvinSIMPLEAF_INDEXprocess because the latest simpleaf calls itt2g_3col.tsv, without prefix - Replace the
salmon_indexparameter withsimpleaf_index, because the latest simpleaf can take both prebuilt salmon and piscem indices andsalmon_indexseems not precise anymore. Please feel free to change this back.
Moreover, alevin-fry and simpleaf, as standalone software tools, are the successors of the alevin module in salmon. In the documentation, I saw that salmon, salmon alevin, alevin-fry, and simpleaf are used interchangeably. Although it doesn't hurt, it might cause confusion because the output directory generated by them have distinct layouts and contents. It might be great if we could update the doc. I can create another PR for updating the documentation if you think this might be useful!!
PR checklist
- [x] This comment contains a description of changes (with reason).
- [ ] If you've fixed a bug or added code that should be tested, add tests!
- [ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
- [ ] If necessary, also make a PR on the nf-core/scrnaseq branch on the nf-core/test-datasets repository.
- [ ] Make sure your code lints (
nf-core lint). Sorry, I don't know what this means. - [x] Ensure the test suite passes (
nextflow run . -profile test,docker --outdir <OUTDIR>). - [x] Check for unexpected warnings in debug mode (
nextflow run . -profile debug,test,docker --outdir <OUTDIR>).- I encountered a working when using the test profile.
WARN: There's no process matching config selector: .*:CELLRANGER_COUNT -- Did you mean: CELLRANGER_COUNT? - [x] Usage Documentation in
docs/usage.mdis updated. - [ ] Output Documentation in
docs/output.mdis updated. - [ ]
CHANGELOG.mdis updated. As I am not sure when this PR will be merged, I leave it here. - [x]
README.mdis updated (including new tool citations and authors/contributors).
Make sure your code lints (nf-core lint).
Sorry, I don't know what this means.
The nf-core CLI provides some linting check that ensures certain quality and consistency criteria are met. The same checks are performed by the CI (see "nf-core linting" check below) and is currently failing because of
nf-core lint overall result: Failed :x:
Posted for pipeline commit ec7f08e
+| ✅ 203 tests passed |+
#| ❔ 4 tests were ignored |#
!| ❗ 3 tests had warnings |!
-| ❌ 1 tests failed |-
:x: Test failures:
- files_unchanged -
docs/images/nf-core-scrnaseq_logo_light.pngdoes not match the template
:heavy_exclamation_mark: Test warnings:
- pipeline_todos - TODO string in
main.nf: Optionally add in-text citation tools to this list. - pipeline_todos - TODO string in
main.nf: Optionally add bibliographic entries to this list. - pipeline_todos - TODO string in
main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
:grey_question: Tests ignored:
- files_exist - File is ignored:
lib/Utils.groovy - files_unchanged - File ignored due to lint config:
.github/ISSUE_TEMPLATE/bug_report.yml - template_strings - template_strings
- schema_params - schema_params
: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:
.editorconfig - 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/ci.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-scrnaseq_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-scrnaseq_logo_light.png - files_exist - File found:
docs/images/nf-core-scrnaseq_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:
main.nf - files_exist - File found:
assets/multiqc_config.yml - files_exist - File found:
conf/base.config - files_exist - File found:
conf/igenomes.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 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-scrnaseq_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/Workflow.groovy - files_exist - File not found check:
lib/WorkflowMain.groovy - files_exist - File not found check:
lib/WorkflowScrnaseq.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 - 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:
params.validationShowHiddenParams - nextflow_config - Config variable found:
params.validationSchemaIgnoreParams - 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 (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
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:2.8.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.aligner= alevin
- nextflow_config - Config default value correct: params.protocol= auto
- nextflow_config - Config default value correct: params.igenomes_base= s3://ngi-igenomes/igenomes/
- nextflow_config - Config default value correct: params.simpleaf_rlen= 91
- nextflow_config - Config default value correct: params.star_feature= Gene
- nextflow_config - Config default value correct: params.kb_workflow= standard
- 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.max_cpus= 16
- nextflow_config - Config default value correct: params.max_memory= 128.GB
- nextflow_config - Config default value correct: params.max_time= 240.h
- 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/
- files_unchanged -
.gitattributesmatches the template - 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/config.ymlmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/feature_request.ymlmatches the template - files_unchanged -
.github/PULL_REQUEST_TEMPLATE.mdmatches 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 -
assets/nf-core-scrnaseq_logo_light.pngmatches the template - files_unchanged -
docs/images/nf-core-scrnaseq_logo_dark.pngmatches the template - files_unchanged -
docs/README.mdmatches the template - files_unchanged -
.gitignorematches the template - files_unchanged -
.prettierignorematches the template - actions_ci - '.github/workflows/ci.yml' is triggered on expected events
- actions_ci - '.github/workflows/ci.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:
23.04.0, Config:23.04.0 - readme - README Zenodo placeholder was replaced with DOI.
- pipeline_name_conventions - Name adheres to nf-core convention
- schema_lint - Schema lint passed
- schema_lint - Schema title + description lint passed
- schema_lint - Input mimetype lint passed: 'text/csv'
- system_exit - No
System.exitcalls found - actions_schema_validation - Workflow validation passed: awstest.yml
- actions_schema_validation - Workflow validation passed: branch.yml
- actions_schema_validation - Workflow validation passed: fix-linting.yml
- actions_schema_validation - Workflow validation passed: linting.yml
- actions_schema_validation - Workflow validation passed: clean-up.yml
- actions_schema_validation - Workflow validation passed: ci.yml
- actions_schema_validation - Workflow validation passed: linting_comment.yml
- actions_schema_validation - Workflow validation passed: awsfulltest.yml
- actions_schema_validation - Workflow validation passed: download_pipeline.yml
- actions_schema_validation - Workflow validation passed: release-announcements.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'
- base_config -
conf/base.configfound and not ignored. - modules_config -
conf/modules.configfound and not ignored. - modules_config -
FASTQCfound inconf/modules.configand Nextflow scripts. - modules_config -
MULTIQCfound inconf/modules.configand Nextflow scripts. - modules_config -
EMPTYDROPS_CELL_CALLINGfound inconf/modules.configand Nextflow scripts. - modules_config -
MTX_TO_H5ADfound inconf/modules.configand Nextflow scripts. - modules_config -
GTF_GENE_FILTERfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKGTFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKREFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_COUNTfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGERARC_MKGTFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGERARC_MKREFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGERARC_COUNTfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKGTFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKREFfound inconf/modules.configand Nextflow scripts. - modules_config -
UNIVERSCfound inconf/modules.configand Nextflow scripts. - modules_config -
GFFREAD_TXP2GENEfound inconf/modules.configand Nextflow scripts. - modules_config -
SIMPLEAF_INDEXfound inconf/modules.configand Nextflow scripts. - modules_config -
SIMPLEAF_QUANTfound inconf/modules.configand Nextflow scripts. - modules_config -
ALEVINQCfound inconf/modules.configand Nextflow scripts. - modules_config -
STAR_ALIGNfound inconf/modules.configand Nextflow scripts. - modules_config -
STAR_GENOMEGENERATEfound inconf/modules.configand Nextflow scripts. - modules_config -
STAR_ALIGNfound inconf/modules.configand Nextflow scripts. - modules_config -
KALLISTOBUSTOOLS_REFfound inconf/modules.configand Nextflow scripts. - modules_config -
KALLISTOBUSTOOLS_COUNTfound inconf/modules.configand Nextflow scripts. - modules_config -
FASTQCfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_SCRNASEQfound inconf/modules.configand Nextflow scripts. - modules_config -
GUNZIPfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKGTFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKREFfound inconf/modules.configand Nextflow scripts. - modules_config -
CELLRANGER_MKVDJREFfound 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:2.14.1
Run details
- nf-core/tools version 2.14.1
- Run at
2024-08-15 14:17:49
For nf-core CI / aligner: alevin ; NF: 23.04.0 (pull_request), I tested alevinqc locally. It worked fine.
For nf-core linting / pre-commit (pull_request), I ran nf-core lint --fix files_unchanged locally and pushed, it worked fine with no error, but the check still failed. I am not sure how to fix docs/images/nf-core-scrnaseq_logo_light.png does not match the template
Let's worry about linting as the last step once you switched to the central nf-core modules.
Hi @DongzeHE,
do you have any estimate when you can take this up again? There's a bunch of open issues related to alevin and I'd hope this update would address most of them. Please let us know in case you are blocked by anything you need from our side.
Hi George,
I will work on this over the long weekend. It takes long because we haven’t fixed the issue with nf-core test caused by the stochasticity in an simpleaf dependency (cc @rob-p here). Specifically, because of the parallelization setting, cuttlefish builds the index without maintaining the order of the reference sequences, so the index files and the count matrix might differ in each run. As a workaround, I will modify the nf-core test functions to only check the existence of required files instead of the md5sum.
Best, Dongze
[!WARNING] Newer version of the nf-core template is available.
Your pipeline is using an old version of the nf-core template: 3.1.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.