Skip to content

Commit 3dd74fb

Browse files
2.1.0 "Olive Tin Hamster"
2 parents c95201d + df4729f commit 3dd74fb

File tree

76 files changed

+1993
-1191
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1993
-1191
lines changed

.github/markdownlint.yml

Lines changed: 0 additions & 12 deletions
This file was deleted.

.github/workflows/awsfulltest.yml

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,17 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Launch workflow via tower
17-
uses: nf-core/tower-action@master
17+
uses: nf-core/tower-action@v2
1818
with:
1919
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
20-
bearer_token: ${{ secrets.TOWER_BEARER_TOKEN }}
20+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
2121
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
2222
pipeline: ${{ github.repository }}
23-
revision: ${{ github.sha }}
24-
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/mhcquant/work-${{ github.sha }}
25-
# Add full size test data (but still relatively small datasets for few samples)
26-
# on the `test_full.config` test runs with only one set of parameters
27-
# Then specify `-profile test_full` instead of `-profile test` on the AWS batch command
23+
revision: ${{ github.sha } }
24+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/mhcquant/work-${{ github.sha }}
2825
parameters: |
2926
{
30-
"outdir" : "s3://${{ secrets.AWS_S3_BUCKET }}/mhcquant/results-${{ github.sha }}",
27+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/mhcquant/results-${{ github.sha }}"
3128
}
32-
profiles: '[ "test_full", "aws_tower" ]'
29+
profiles: test,aws_tower
30+
pre_run_script: 'export NXF_VER=21.10.3'

.github/workflows/awstest.yml

Lines changed: 18 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,28 @@
11
name: nf-core AWS test
2-
# This workflow is triggered on push to the master branch.
3-
# It can be additionally triggered manually with GitHub actions workflow dispatch.
4-
# It runs the -profile 'test' on AWS batch.
2+
# This workflow can be triggered manually with the GitHub actions workflow dispatch button.
3+
# It runs the -profile 'test' on AWS batch
54

65
on:
76
workflow_dispatch:
8-
9-
env:
10-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
11-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
12-
TOWER_ACCESS_TOKEN: ${{ secrets.AWS_TOWER_TOKEN }}
13-
AWS_JOB_DEFINITION: ${{ secrets.AWS_JOB_DEFINITION }}
14-
AWS_JOB_QUEUE: ${{ secrets.AWS_JOB_QUEUE }}
15-
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
16-
177
jobs:
18-
run-awstest:
8+
run-tower:
199
name: Run AWS tests
2010
if: github.repository == 'nf-core/mhcquant'
2111
runs-on: ubuntu-latest
2212
steps:
23-
- name: Setup Miniconda
24-
uses: conda-incubator/setup-miniconda@v2
25-
with:
26-
auto-update-conda: true
27-
python-version: 3.7
28-
- name: Install awscli
29-
run: conda install -c conda-forge awscli
30-
- name: Start AWS batch job
13+
- name: Launch workflow via tower
14+
uses: nf-core/tower-action@v2
3115

32-
# For example: adding multiple test runs with different parameters
33-
# Remember that you can parallelise this by using strategy.matrix
34-
run: |
35-
aws batch submit-job \
36-
--region eu-west-1 \
37-
--job-name nf-core-mhcquant \
38-
--job-queue $AWS_JOB_QUEUE \
39-
--job-definition $AWS_JOB_DEFINITION \
40-
--container-overrides '{"command": ["nf-core/mhcquant", "-r '"${GITHUB_SHA}"' -profile test --outdir s3://'"${AWS_S3_BUCKET}"'/mhcquant/results-'"${GITHUB_SHA}"' -w s3://'"${AWS_S3_BUCKET}"'/mhcquant/work-'"${GITHUB_SHA}"' -with-tower"], "environment": [{"name": "TOWER_ACCESS_TOKEN", "value": "'"$TOWER_ACCESS_TOKEN"'"}]}'
16+
with:
17+
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
18+
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
19+
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
20+
pipeline: ${{ github.repository }}
21+
revision: ${{ github.sha }}
22+
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/mhcquant/work-${{ github.sha }}
23+
parameters: |
24+
{
25+
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/mhcquant/results-${{ github.sha }}"
26+
}
27+
profiles: test,aws_tower
28+
pre_run_script: 'export NXF_VER=21.10.3'

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
strategy:
2424
matrix:
2525
# Nextflow versions: check pipeline minimum and current latest
26-
nxf_ver: ["21.04.0", ""]
26+
nxf_ver: ['21.10.3', '']
2727
steps:
2828
- name: Check out pipeline code
2929
uses: actions/checkout@v2

CHANGELOG.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,35 @@
11
# nf-core/mhcquant: Changelog
22

3+
## v2.1.0 nf-core/mhcquant "Olive Tin Hamster" - 2021/12/09
4+
5+
### `Added`
6+
7+
- Inclusion of assets/schema_input.json
8+
- Added the multiQC again to report the versions
9+
- MHCquant parameters are now directly assigned to the argument of the
10+
11+
### `Fixed`
12+
13+
- Fixed typos
14+
- [#165] - Raise memory requirements of FeatureFinderIdentification step
15+
- [#176] - Pipeline crashes when setting the --skip_quantification flag
16+
17+
### `Dependencies`
18+
19+
Note, since the pipeline is now using Nextflow DSL2, each process will be run with its own [Biocontainer](https://biocontainers.pro/#/registry). This means that on occasion it is entirely possible for the pipeline to be using different versions of the same tool. However, the overall software dependency changes compared to the last release have been listed below for reference.
20+
21+
| Dependency | Old version | New version |
22+
| --------------------- | ----------- | ----------- |
23+
| `openms` | 2.5.0 | 2.6.0 |
24+
| `openms-thirdparty` | 2.5.0 | 2.6.0 |
25+
| `thermorawfileparser` | 1.2.3 | 1.3.4 |
26+
27+
> **NB:** Dependency has been **updated** if both old and new version information is present.
28+
> **NB:** Dependency has been **added** if just the new version information is present.
29+
> **NB:** Dependency has been **removed** if version information isn't present.
30+
31+
### `Deprecated`
32+
333
## v2.0.0 nf-core/mhcquant "Steel Beagle" - 2021/09/03
434

535
### `Added`
@@ -60,7 +90,7 @@ DSL1 to DSL2 conversion
6090

6191
- raise OpenMS version to 2.5
6292
- adapt workflow accoringly with new options
63-
- remove specifying input as file dirs eg "data/*.mzML"
93+
- remove specifying input as file dirs eg "data/\*.mzML"
6494

6595
### `Dependencies`
6696

CITATIONS.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# nf-core/rnaseq: Citations
1+
# nf-core/mhcquant: Citations
22

33
## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)
44

@@ -22,6 +22,9 @@
2222
* [OpenMS](https://pubmed.ncbi.nlm.nih.gov/27575624/)
2323
> Röst H, Sachsenberg T, Aiche S, Bielow C, Weisser H, Aicheler F, Andreotti S, Ehrlich HC, Gutenbrunner P, Kenar E, Liang X, Nahnsen S, Nilse L, Pfeuffer J, Rosenberger G, Rurik M, Schmitt U, Veit J, Walzer M, Wojnar D, Wolski WE, Schilling O, Choudhary JS, Malmström L, Aebersold R, Reinert K, Kohlbacher O. OpenMS: a flexible open-source software platform for mass spectrometry data analysis. Nat Methods 13, 741–748 (2016). doi: 10.1038/nmeth.3959. PubMed PMID: 27575624
2424
25+
* [MultiQC](https://www.ncbi.nlm.nih.gov/pubmed/27312411/)
26+
> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.
27+
2528
## Software packaging/containerisation tools
2629

2730
* [Anaconda](https://anaconda.com)

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) Leon Bichmann
3+
Copyright (c) Leon Bichmann, Marissa Dubbelaar
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,62 @@
11
# ![nf-core/mhcquant](docs/images/nf-core-mhcquant_logo.png)
22

3-
**Identify and quantify peptides from mass spectrometry raw data**.
3+
[![GitHub Actions CI Status](https://github.com/nf-core/mhcquant/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/mhcquant/actions?query=workflow%3A%22nf-core+CI%22)
4+
[![GitHub Actions Linting Status](https://github.com/nf-core/mhcquant/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/mhcquant/actions?query=workflow%3A%22nf-core+linting%22)
5+
[![AWS CI](https://img.shields.io/badge/CI%20tests-full%20size-FF9900?labelColor=000000&logo=Amazon%20AWS)](https://nf-co.re/mhcquant/results)
6+
[![Cite with Zenodo](http://img.shields.io/badge/DOI-10.5281/zenodo.5407955-1073c8?labelColor=000000)](https://doi.org/10.5281/zenodo.5407955)
47

5-
[![GitHub Actions CI Status](https://github.com/nf-core/mhcquant/workflows/nf-core%20CI/badge.svg)](https://github.com/nf-core/mhcquant/actions)
6-
[![GitHub Actions Linting Status](https://github.com/nf-core/mhcquant/workflows/nf-core%20linting/badge.svg)](https://github.com/nf-core/mhcquant/actions)
7-
[![Nextflow](https://img.shields.io/badge/nextflow-%E2%89%A521.04.0-brightgreen.svg)](https://www.nextflow.io/)
8+
[![Nextflow](https://img.shields.io/badge/nextflow%20DSL2-%E2%89%A521.10.3-23aa62.svg?labelColor=000000)](https://www.nextflow.io/)
9+
[![run with conda](http://img.shields.io/badge/run%20with-conda-3EB049?labelColor=000000&logo=anaconda)](https://docs.conda.io/en/latest/)
10+
[![run with docker](https://img.shields.io/badge/run%20with-docker-0db7ed?labelColor=000000&logo=docker)](https://www.docker.com/)
11+
[![run with singularity](https://img.shields.io/badge/run%20with-singularity-1d355c.svg?labelColor=000000)](https://sylabs.io/docs/)
812

9-
[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](https://bioconda.github.io/)
10-
[![Docker](https://img.shields.io/docker/automated/nfcore/mhcquant.svg)](https://hub.docker.com/r/nfcore/mhcquant)
11-
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23mhcquant-4A154B?logo=slack)](https://nfcore.slack.com/channels/mhcquant)
13+
[![Get help on Slack](http://img.shields.io/badge/slack-nf--core%20%23mhcquant-4A154B?labelColor=000000&logo=slack)](https://nfcore.slack.com/channels/mhcquant)
14+
[![Follow on Twitter](http://img.shields.io/badge/twitter-%40nf__core-1DA1F2?labelColor=000000&logo=twitter)](https://twitter.com/nf_core)
15+
[![Watch on YouTube](http://img.shields.io/badge/youtube-nf--core-FF0000?labelColor=000000&logo=youtube)](https://www.youtube.com/c/nf-core)
1216

1317
## Introduction
1418

15-
nfcore/mhcquant is a bioinformatics analysis pipeline used for quantitative processing of data dependent (DDA) peptidomics data.
19+
**nfcore/mhcquant** is a bioinformatics analysis pipeline used for quantitative processing of data dependent (DDA) peptidomics data.
1620

1721
It was specifically designed to analyse immunopeptidomics data, which deals with the analysis of affinity purified, unspecifically cleaved peptides that have recently been discussed intensively in [the context of cancer vaccines](https://www.nature.com/articles/ncomms13404).
1822

1923
The workflow is based on the OpenMS C++ framework for computational mass spectrometry. RAW files (mzML) serve as inputs and a database search (Comet) is performed based on a given input protein database. FDR rescoring is applied using Percolator based on a competitive target-decoy approach (reversed decoys). For label free quantification all input files undergo identification based retention time alignment (MapAlignerIdentification), and targeted feature extraction matching ids between runs (FeatureFinderIdentification). In addition, a variant calling file (vcf) can be specified to translate variants into proteins that will be included in the database search and binding predictions on specified alleles (alleles.tsv) using MHCFlurry (Class 1) or MHCNugget (Class 2) can be directly run on the output peptide lists. Moreover, if a vcf file was specified, neoepitopes will automatically be determined and binding predictions can also directly be predicted for them.
2024

21-
The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible.
25+
The pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The [Nextflow DSL2](https://www.nextflow.io/docs/latest/dsl2.html) implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from [nf-core/modules](https://github.com/nf-core/modules) in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!
26+
27+
On release, automated continuous integration tests run the pipeline on a full-sized dataset on the AWS cloud infrastructure. This ensures that the pipeline runs on AWS, has sensible resource allocation defaults set to run on real-world datasets, and permits the persistent storage of results to benchmark between pipeline releases and other analysis sources. The results obtained from the full-sized test can be viewed on the [nf-core website](https://nf-co.re/mhcquant/results).
28+
29+
## Pipeline summary
30+
31+
1. Present QC for raw reads ([`MultiQC`](http://multiqc.info/))
2232

2333
![overview](assets/MHCquant_scheme.png)
2434
(This chart was created with the help of [Lucidchart](https://www.lucidchart.com))
2535

2636
## Quick Start
2737

28-
1. Install [`nextflow`](https://nf-co.re/usage/installation) (`>=21.04.0`)
38+
1. Install [`Nextflow`](https://www.nextflow.io/docs/latest/getstarted.html#installation) (`>=21.10.3`)
2939

30-
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_
40+
2. Install any of [`Docker`](https://docs.docker.com/engine/installation/), [`Singularity`](https://www.sylabs.io/guides/3.0/user-guide/), [`Podman`](https://podman.io/), [`Shifter`](https://nersc.gitlab.io/development/shifter/how-to-use/) or [`Charliecloud`](https://hpc.github.io/charliecloud/) for full pipeline reproducibility _(please only use [`Conda`](https://conda.io/miniconda.html) as a last resort; see [docs](https://nf-co.re/usage/configuration#basic-configuration-profiles))_.
3141

3242
3. Download the pipeline and test it on a minimal dataset with a single command:
3343

34-
```bash
44+
```console
3545
nextflow run nf-core/mhcquant -profile test,<docker/singularity/podman/shifter/charliecloud/conda/institute>
3646
```
3747

38-
> Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.
48+
> * Please check [nf-core/configs](https://github.com/nf-core/configs#documentation) to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use `-profile <institute>` in your command. This will enable either `docker` or `singularity` and set the appropriate execution settings for your local compute environment.
49+
> * If you are using `singularity` then the pipeline will auto-detect this and attempt to download the Singularity images directly as opposed to performing a conversion from Docker images. If you are persistently observing issues downloading Singularity images directly due to timeout or network issues then please use the `--singularity_pull_docker_container` parameter to pull and convert the Docker image instead. Alternatively, it is highly recommended to use the [`nf-core download`](https://nf-co.re/tools/#downloading-pipelines-for-offline-use) command to pre-download all of the required containers before running the pipeline and to set the [`NXF_SINGULARITY_CACHEDIR` or `singularity.cacheDir`](https://www.nextflow.io/docs/latest/singularity.html?#singularity-docker-hub) Nextflow options to be able to store and re-use the images from a central location for future pipeline runs.
50+
> * If you are using `conda`, it is highly recommended to use the [`NXF_CONDA_CACHEDIR` or `conda.cacheDir`](https://www.nextflow.io/docs/latest/conda.html) settings to store the environments in a central location for future pipeline runs.
3951

4052
4. Start running your own analysis!
4153

4254
```bash
4355
nextflow run nf-core/mhcquant -profile test,<docker/singularity/podman/shifter/charliecloud/conda/institute>
4456
--input 'samples.tsv'
4557
--fasta 'SWISSPROT_2020.fasta'
46-
--allele_sheet 'alleles.tsv'
47-
--predict_class_1
58+
--allele_sheet 'alleles.tsv'
59+
--predict_class_1
4860
--refine_fdr_on_predicted_subset
4961
```
5062

@@ -84,7 +96,7 @@ For further information or help, don't hesitate to get in touch on the [Slack `#
8496

8597
## Citations
8698

87-
If you use `nf-core/mhcquant` for your analysis, please cite:
99+
If you use `nf-core/mhcquant` for your analysis, please cite it using the following doi: [10.5281/zenodo.5407955](https://doi.org/10.5281/zenodo.5407955) and the corresponding manuscript:
88100

89101
> **MHCquant: Automated and Reproducible Data Analysis for Immunopeptidomics**
90102
>
@@ -93,6 +105,8 @@ If you use `nf-core/mhcquant` for your analysis, please cite:
93105
> Journal of Proteome Research 2019 18 (11), 3876-3884
94106
> DOI: 10.1021/acs.jproteome.9b00313
95107

108+
An extensive list of references for the tools used by the pipeline can be found in the [`CITATIONS.md`](CITATIONS.md) file.
109+
96110
You can cite the `nf-core` publication as follows:
97111

98112
> **The nf-core framework for community-curated bioinformatics pipelines.**

assets/schema_input.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-07/schema",
3+
"$id": "https://raw.githubusercontent.com/nf-core/mhcquant/master/assets/schema_input.json",
4+
"title": "nf-core/mhcquant pipeline - params.input schema",
5+
"description": "Schema for the file provided with params.input",
6+
"type": "array",
7+
"items": {
8+
"type": "object",
9+
"properties": {
10+
"ID": {
11+
"type": "integer",
12+
"errorMessage": "Provide an unique identifier for the replicate, must be a numeric value"
13+
},
14+
"Sample": {
15+
"type": "string",
16+
"pattern": "^\\S+-?",
17+
"errorMessage": "Sample name must be provided and cannot contain spaces"
18+
},
19+
"Condition": {
20+
"type": "string",
21+
"pattern": "^\\S+-?",
22+
"errorMessage": "Sample condition must be provided and cannot contain spaces"
23+
},
24+
"ReplicateFileName": {
25+
"type": "string",
26+
"errorMessage": "MS file spaces and must have extension '.raw' or '.mzml'",
27+
"anyOf": [
28+
{
29+
"type": "string",
30+
"pattern": "^\\S+-?\\.raw$"
31+
},
32+
{
33+
"type": "string",
34+
"pattern": "^\\S+-?\\.mzml$"
35+
}
36+
]
37+
}
38+
},
39+
"required": [
40+
"ID",
41+
"Sample",
42+
"Condition",
43+
"ReplicateFileName"
44+
]
45+
}
46+
}

0 commit comments

Comments
 (0)