Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kallisto quantification #1106

Merged
merged 66 commits into from
Nov 15, 2023
Merged

Kallisto quantification #1106

merged 66 commits into from
Nov 15, 2023

Conversation

pinin4fjords
Copy link
Member

@pinin4fjords pinin4fjords commented Oct 31, 2023

Adding Kallisto quantification as an alternative to Salmon:

  • Created combined pseudo-alignment subworkflow with salmon and kallisto as options
  • Modes not specific to salmon (tximport etc) made more generic and renamed
  • Tidied up tx2gene.py. It was pretty unreadable, and I had to change it to deal with kallisto files anyway.
  • Pulled in multiqc fix

Provisos:

  • Ideally we'd use the 'abundance.h5' from Kallisto, but it needs a separate library, which then means a mulled container etc. I've left it to the .tsv outputs for now, and turned off inferential replicates for Kallisto, to prevent it looking for the .h5 files and failing to read them.
  • I've had to hard code default fragment length for single-ended Kallisto, no way round it.

Note: I've handled strandedness parameters in Kallisto via the modules.conf. This is in line with up-to-date nf-core conventions which dictate a minimal set of assumptions on the meta content, but contrasts with the Salmon module, where there are quite a few assumptions baked in.

Will close #514 #1050 #1101

PR checklist

  • 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/rnaseq branch on the nf-core/test-datasets repository.
  • Make sure your code lints (nf-core lint).
  • Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
  • Usage Documentation in docs/usage.md is updated.
  • Output Documentation in docs/output.md is updated.
  • CHANGELOG.md is updated.
  • README.md is updated (including new tool citations and authors/contributors).

Copy link

This PR is against the master branch ❌

  • Do not close this PR
  • Click Edit and change the base to dev
  • This CI test will remain failed until you push a new commit

Hi @pinin4fjords,

It looks like this pull-request is has been made against the nf-core/rnaseq master branch.
The master branch on nf-core repositories should always contain code from the latest release.
Because of this, PRs to master are only allowed if they come from the nf-core/rnaseq dev branch.

You do not need to close this PR, you can change the target branch to dev by clicking the "Edit" button at the top of this page.
Note that even after this, the test will continue to show as failing until you push a new commit.

Thanks again for your contribution!

@pinin4fjords pinin4fjords changed the base branch from master to dev October 31, 2023 15:36
Copy link

github-actions bot commented Oct 31, 2023

nf-core lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 5ad263a

+| ✅ 145 tests passed       |+
#| ❔   6 tests were ignored |#
!| ❗   4 tests had warnings |!

❗ Test warnings:

  • files_exist - File not found: .github/workflows/awstest.yml
  • files_exist - File not found: .github/workflows/awsfulltest.yml
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in WorkflowRnaseq.groovy: Optionally add in-text citation tools to this list.

❔ Tests ignored:

  • files_unchanged - File ignored due to lint config: assets/email_template.html
  • files_unchanged - File ignored due to lint config: assets/email_template.txt
  • files_unchanged - File ignored due to lint config: lib/NfcoreTemplate.groovy
  • files_unchanged - File ignored due to lint config: .gitignore or .prettierignore or pyproject.toml
  • actions_awstest - 'awstest.yml' workflow not found: /home/runner/work/rnaseq/rnaseq/.github/workflows/awstest.yml
  • multiqc_config - multiqc_config

✅ Tests passed:

Run details

  • nf-core/tools version 2.10
  • Run at 2023-11-14 20:12:20

Copy link
Member

@maxulysse maxulysse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good already

Copy link

github-actions bot commented Nov 3, 2023

Python linting (black) is failing

To keep the code consistent with lots of contributors, we run automated code consistency checks.
To fix this CI test, please run:

  • Install black: pip install black
  • Fix formatting errors in your pipeline: black .

Once you push these changes the test should pass, and you can hide this comment 👍

We highly recommend setting up Black in your code editor so that this formatting is done automatically on save. Ask about it on Slack for help!

Thanks again for your contribution!

Comment on lines 61 to 64

if [ -f ${prefix}.log.txt ]; then
cp ${prefix}.log.txt ${prefix}/kallisto_quant.log
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should update the nf-core/module with this change and then re-install here so we don't have to patch it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually this would be fixed by changing the stdout redirection above.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will need to keep that file outside of the directory because we need to pass it to MultiQC. So using this logic is the best way I think.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, I'll make both write to the dir and copy out for consistency though.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Think we're good though @drpatelh - if you could check that module PR to make sure you're happy, we can get it merged and updated here.

nextflow.config Outdated Show resolved Hide resolved
tower.yml Show resolved Hide resolved
@pinin4fjords
Copy link
Member Author

@nf-core-bot fix linting

@pinin4fjords
Copy link
Member Author

@nf-core-bot fix linting

Copy link
Member

@drpatelh drpatelh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 Awesome! Nice work @pinin4fjords ! Good to go.

@drpatelh drpatelh merged commit ab9df9a into dev Nov 15, 2023
29 checks passed
@drpatelh drpatelh deleted the kallisto_quant branch November 21, 2023 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants