scrnaseq icon indicating copy to clipboard operation
scrnaseq copied to clipboard

Upgrade simpleaf and alevinqc

Open DongzeHE opened this issue 1 year ago • 4 comments

Dear scrnaseq developers (and @rob-p, of course ;P ),

This PR is related to #312. I did the following things:

  1. Update simpleaf version from 0.10.0 to 0.17.2
  2. Update alevinqc version from 1.12.1 to 1.18.0
  3. Add parameter no_piscem in nextflow.config for switching from the default piscem mapper to salmon
  4. Add parameter use_selective_alignment in nextflow.config for switching the mapping strategy from the default pseudo-alignment with structure constraints to selective alignment
  5. Add alevin-fry and simpleaf citations into Citation.md
  6. Replace *_t2g_3col.tsv with *t2g_3col.tsv in SIMPLEAF_INDEX process because the latest simpleaf calls it t2g_3col.tsv, without prefix
  7. Replace the salmon_index parameter with simpleaf_index, because the latest simpleaf can take both prebuilt salmon and piscem indices and salmon_index seems 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.md is updated.
  • [ ] Output Documentation in docs/output.md is updated.
  • [ ] CHANGELOG.md is updated. As I am not sure when this PR will be merged, I leave it here.
  • [x] README.md is updated (including new tool citations and authors/contributors).

DongzeHE avatar Aug 15 '24 00:08 DongzeHE

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 image

grst avatar Aug 15 '24 06:08 grst

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.png does 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:

:white_check_mark: Tests passed:

Run details

  • nf-core/tools version 2.14.1
  • Run at 2024-08-15 14:17:49

github-actions[bot] avatar Aug 15 '24 14:08 github-actions[bot]

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

DongzeHE avatar Aug 15 '24 14:08 DongzeHE

Let's worry about linting as the last step once you switched to the central nf-core modules.

grst avatar Aug 15 '24 18:08 grst

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.

grst avatar Jan 15 '25 07:01 grst

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

DongzeHE avatar Jan 15 '25 16:01 DongzeHE

[!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.

nf-core-bot avatar Jan 20 '25 17:01 nf-core-bot