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

[Do not merge!] Pseudo PR for first release #133

Closed
wants to merge 883 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
883 commits
Select commit Hold shift + click to select a range
fc14e3f
Merge pull request #89 from tillenglert/bugfix/peptide_lengths
tillenglert Aug 2, 2023
ba29802
Add new parameter to
tillenglert Aug 2, 2023
0740fe1
Include new parameter in process_input
tillenglert Aug 2, 2023
87633e5
Additional checks in epytope_predict to circumvent errors
tillenglert Aug 2, 2023
8efd391
python black
tillenglert Aug 2, 2023
1f902d6
Update Changelog
tillenglert Aug 2, 2023
3f4ba65
Add check for peptide length parameter and replace exit with error
tillenglert Aug 2, 2023
cba996e
Add comment on check
tillenglert Aug 2, 2023
81bfb31
update changelog
tillenglert Aug 2, 2023
488ce19
Add test to allow all peptide lengths for mouse test
tillenglert Aug 2, 2023
e02e13a
Change larger mosue test including also taxa to reduce the number of …
tillenglert Aug 2, 2023
3ae3c66
Add test taxa only
tillenglert Aug 3, 2023
a88ebc0
add test bins only
tillenglert Aug 3, 2023
432c4d3
Add tests to gh ci
tillenglert Aug 3, 2023
c6ba6ed
Add correct name and remove ncbi from test all peptide lengths
tillenglert Aug 3, 2023
e859215
Add test taxa to tests run with gh secrets
tillenglert Aug 3, 2023
119a158
Add comment to add ncbi mail and pw
tillenglert Aug 3, 2023
e1c5c07
remove todos in test profile
tillenglert Aug 3, 2023
39fa300
Add tests for mhcflurry and mhcnuggets
tillenglert Aug 3, 2023
5d65ada
Adjust line in usage.md for test not needing any configuration additi…
tillenglert Aug 3, 2023
b277395
Use mhc2 alleles test for mhcnuggets class 2
tillenglert Aug 3, 2023
7e65b30
[automated] Fix linting with Prettier
nf-core-bot Aug 4, 2023
9c9cd5f
update changelog
tillenglert Aug 4, 2023
69a6953
Update workflow overview figures
tillenglert Aug 11, 2023
fa15159
Add white background to overview figure
tillenglert Aug 11, 2023
17da32b
Update changelog
tillenglert Aug 11, 2023
4e49f61
change parameter name
tillenglert Sep 8, 2023
0a4d1b3
Update nextflow_schema.json
tillenglert Sep 8, 2023
210b4fe
Apply suggestions from code review
tillenglert Sep 8, 2023
2968449
Update parameter allow_inconsistent_pep_lengths
tillenglert Sep 8, 2023
713ace9
Merge pull request #91 from tillenglert/feature/allow_allpep_lengths
tillenglert Sep 11, 2023
3f69f4b
Merge pull request #92 from tillenglert/bugfix/peptide_length_check
tillenglert Sep 11, 2023
93a9cff
Update Overview Figure
tillenglert Sep 11, 2023
20435fd
Merge branch 'dev' into overview_figure_update
tillenglert Sep 11, 2023
992820b
Merge branch 'dev' into CI_tests
tillenglert Sep 11, 2023
8ab5217
Apply suggestions from code review
tillenglert Sep 11, 2023
1dfc608
Update conf/test_mhcnuggets_2.config
tillenglert Sep 12, 2023
2d34c3e
Add/change tests according to suggestions
tillenglert Sep 12, 2023
2d115ad
Update Overview figure according to suggestions
tillenglert Sep 12, 2023
b9d4fd5
Split out downstream visualisations chunk size parameter
tillenglert Sep 12, 2023
69e7106
Reduce chunk size by scaling in merge predictions buffer
tillenglert Sep 12, 2023
5c3cdda
Use parameter to reduce files ending up in merge predictions buffer
tillenglert Sep 12, 2023
05d95e3
typo in parameter
tillenglert Sep 12, 2023
dbc777a
Update Overview figure
tillenglert Sep 13, 2023
abbbfa2
Merge pull request #94 from tillenglert/overview_figure_update
tillenglert Sep 13, 2023
d657603
Use 4kk as chunk size -> number of jobs reduced to 160
tillenglert Sep 13, 2023
7579adb
Fix typo in peptide lengths
tillenglert Sep 13, 2023
dced421
Update CHANGELOG
tillenglert Sep 13, 2023
8160cfb
create versioning directory in test-datasets
tillenglert Sep 14, 2023
1fc49b3
Merge branch 'dev' into CI_tests
tillenglert Sep 14, 2023
151d7e4
[automated] Fix linting with Prettier
nf-core-bot Sep 14, 2023
5021b67
Add label long to epitope prediction as for MHCflurry the processes r…
tillenglert Sep 18, 2023
4873e95
Optional merge buffer
tillenglert Sep 18, 2023
b5edc16
Update Changelog
tillenglert Sep 18, 2023
eb225ce
reduce number of characters for output in prediction
tillenglert Sep 19, 2023
4b12f2b
Update nf schema
tillenglert Sep 19, 2023
8cf98c3
Merge pull request #95 from tillenglert/bugfix/peptide_lengths
tillenglert Sep 19, 2023
4b9bc5c
Merge branch 'dev' into feature/Chunk_size_rework
tillenglert Sep 19, 2023
d93322e
more verbose multimap and branch
tillenglert Sep 26, 2023
15ec56f
Change to samplesheet instead of input
tillenglert Sep 26, 2023
4d7bd0c
rename samplesheet for mouse assembly only
tillenglert Sep 26, 2023
fe1e70a
Update CHANGELOG.md
tillenglert Sep 26, 2023
6b61415
Merge pull request #96 from tillenglert/feature/Chunk_size_rework
tillenglert Sep 27, 2023
c51f7ad
Merge branch 'dev' into CI_tests
tillenglert Oct 2, 2023
2e8e11b
Merge pull request #93 from tillenglert/CI_tests
tillenglert Oct 16, 2023
f794e93
Merge branch 'dev' into nf-core-template-merge-2.10
tillenglert Oct 16, 2023
1c478e0
Forgot to add test_all to nextflow.config
tillenglert Oct 16, 2023
defbdba
Update Changelog
tillenglert Oct 16, 2023
07b5974
Remove test_bins and test_tiny
tillenglert Oct 16, 2023
8bea247
Merge pull request #98 from tillenglert/bugfix/CI_test_all
tillenglert Oct 17, 2023
2a50309
Merge branch 'dev' into nf-core-template-merge-2.10
tillenglert Oct 17, 2023
5f72aae
reset multiqc config
tillenglert Oct 17, 2023
f2d4247
fix linting
tillenglert Oct 17, 2023
2601169
Merge pull request #97 from nf-core/nf-core-template-merge-2.10
tillenglert Nov 10, 2023
eb93b26
Merge remote-tracking branch 'upstream/nf-core-template-merge-2.13' i…
tillenglert Feb 27, 2024
cc489dd
Readd schema_input.json -> needs to be adjusted to our needs
tillenglert Feb 27, 2024
ff65c32
Implement metapep input to input_schema.json
tillenglert Mar 3, 2024
7979436
fix merge errors and implement template further
tillenglert Mar 3, 2024
3350cca
Update Multiqc
tillenglert Mar 3, 2024
b307183
fix unifying models and reimplement
tillenglert Mar 3, 2024
69e02e4
fix model information subbranch
tillenglert Mar 3, 2024
81b245a
Merge remote-tracking branch 'upstream/nf-core-template-merge-2.13.1'…
tillenglert Mar 4, 2024
dbb2bed
fix mhcflury permission error -> docker issue
tillenglert Mar 4, 2024
29180b3
python ruff formatting
tillenglert Mar 4, 2024
1c8c6b7
fix and deprecate docker.userEmulation
tillenglert Mar 8, 2024
9c9c9ad
Add allele regex to schema_input.json
tillenglert Mar 8, 2024
eb12e89
Remove TODO from metapep.nf
tillenglert Mar 8, 2024
166b154
Add citations text and bibliography to utils
tillenglert Mar 8, 2024
10cbd27
Merge pull request #106 from tillenglert/template_update_2.13
tillenglert Mar 11, 2024
a9ee974
Copy CHangelog to clean branch
tillenglert Mar 11, 2024
c079cf9
[automated] Fix code linting
nf-core-bot Mar 11, 2024
a81e448
Merge pull request #110 from tillenglert/changelog_cleanup
tillenglert Mar 18, 2024
cd80158
Add strain level check
tillenglert Mar 18, 2024
c7a331b
Add the option for assembly id within the input tsv for taxids
tillenglert Mar 18, 2024
4dad83e
Add the format of the input taxa tsv to the input documentation
tillenglert Mar 18, 2024
ab26aeb
make the tsv format readable
tillenglert Mar 18, 2024
c14056b
Add CI test for specific assembly taxa input
tillenglert Mar 18, 2024
cea89e3
[automated] Fix code linting
nf-core-bot Mar 18, 2024
f7235c8
Refactor input tsv check
tillenglert Mar 19, 2024
13a6637
Add warning of mixed specific assemblyID and taxID and output log of …
tillenglert Mar 19, 2024
363ff60
Append the documentation by a section about the input type taxa and s…
tillenglert Mar 19, 2024
61647d1
[automated] Fix code linting
nf-core-bot Mar 19, 2024
6641b10
Add log of Entrez download to output.md
tillenglert Mar 19, 2024
529a553
[automated] Fix code linting
nf-core-bot Mar 19, 2024
2b1f02b
Remove dead code of bare proteins input path
tillenglert Mar 19, 2024
7af27d7
Readability
tillenglert Mar 20, 2024
6791c90
Chunked efetch and esummary for more than 9999 protein ids (maximum o…
tillenglert Mar 20, 2024
909cc17
Comments and casting assembly length to int
tillenglert Mar 20, 2024
1431ed0
Add maximum number of chunks parameter
tillenglert Mar 26, 2024
5329034
Add information on how to use the assembly_ids for reproducibility
tillenglert Mar 26, 2024
3edf5e4
Add the usage of taxa_assemblies.tsv
tillenglert Mar 26, 2024
60d3d98
readd deleted sentence
tillenglert Mar 26, 2024
abbd7ce
remove whitespaces in download_proteins.nf
tillenglert Mar 26, 2024
a00fec5
Append some words on how to use the pipeline in a second run in regar…
tillenglert Mar 26, 2024
acedaa6
Update docs/usage.md
tillenglert Mar 26, 2024
b0a8c71
Merge pull request #111 from tillenglert/dl_proteins_input
tillenglert Mar 26, 2024
ea5c060
Add maximum chunk number in prediciton chunk generation
tillenglert Mar 27, 2024
37afb83
Merge branch 'dev' into Download_Proteins_todos
tillenglert Mar 27, 2024
b39ab38
Merge branch 'dev' into cleanup_proteins_type_input
tillenglert Mar 27, 2024
fe66069
Merge pull request #112 from tillenglert/cleanup_proteins_type_input
tillenglert Mar 27, 2024
797dcb7
Update bin/download_proteins_entrez.py
tillenglert Mar 27, 2024
81f19da
fix chunking end of chunk
tillenglert Mar 27, 2024
679143c
Merge pull request #115 from tillenglert/Download_Proteins_todos
tillenglert Apr 12, 2024
b5fd2e5
Add warning that maximum chunk number is reduced
tillenglert Apr 19, 2024
617e7b4
Change description of parameter a bit
tillenglert Apr 19, 2024
db30e03
Move chunk size increase to top of the code to circumvent an error fo…
tillenglert Apr 19, 2024
2058f83
Merge branch 'dev' into maximum_chunk_number
tillenglert Apr 19, 2024
835a2eb
Remove TODOs and add contributors
tillenglert Apr 19, 2024
797223f
[automated] Fix code linting
nf-core-bot Apr 19, 2024
8e97db1
init nf test and add initial test for pipeline
tillenglert Apr 19, 2024
7745229
Change CI to include nf-test (no ncbi credentials)
tillenglert Apr 19, 2024
7cdbefd
fix ci paths to samplesheets
tillenglert Apr 19, 2024
83e85e5
remove nf-test nextflow.config for now
tillenglert Apr 19, 2024
5190cdb
Create placeholder tests for all test profiles (still no ncbi login)
tillenglert Apr 19, 2024
56ba42f
fix coassembly placeholder
tillenglert Apr 19, 2024
11d5b6e
add linting exceptions
tillenglert Apr 19, 2024
2e7a802
Adjust contributors
skrakau Apr 19, 2024
0d30528
Add additional test profiles
tillenglert Apr 22, 2024
4799088
Merge pull request #117 from tillenglert/README_Todos
tillenglert Apr 22, 2024
34aa983
Merge remote-tracking branch 'upstream/dev' into dev
tillenglert Apr 22, 2024
218e00f
Merge branch 'dev' into maximum_chunk_number
tillenglert Apr 22, 2024
643061a
Add additional test profiles, needing the github secrets
tillenglert Apr 26, 2024
7ccb3dd
Code Review
tillenglert Apr 26, 2024
8453941
enable conda
tillenglert May 3, 2024
03da0ce
update subworkflow utils
tillenglert May 3, 2024
f5cecb9
Catch divide by zero error in process_input subworkflow
tillenglert May 8, 2024
d6abf00
update nf-test to latest version
tillenglert May 8, 2024
5300d5a
code review
tillenglert May 8, 2024
f711619
Update .github/workflows/ci.yml
tillenglert May 8, 2024
34759b4
forgot to change tag to profile
tillenglert May 8, 2024
7045007
Remove the checking out of test data
tillenglert May 8, 2024
44e2b07
remove "raw"/"endraw"
tillenglert May 8, 2024
5d05bfa
Merge pull request #121 from tillenglert/update-utils-subworkflow
tillenglert May 8, 2024
a5a9ec8
Merge branch 'dev' into nf-test_implementation
tillenglert May 8, 2024
1e19b9a
Merge branch 'dev' into maximum_chunk_number
tillenglert May 8, 2024
046772d
Merge branch 'dev' into enable-conda
tillenglert May 8, 2024
936ebbc
Merge pull request #120 from tillenglert/enable-conda
tillenglert May 8, 2024
a91dfe7
Merge branch 'dev' into nf-test_implementation
tillenglert May 8, 2024
b2947e8
Merge branch 'dev' into maximum_chunk_number
tillenglert May 8, 2024
ec9292e
Merge pull request #116 from tillenglert/maximum_chunk_number
tillenglert May 8, 2024
7001a17
Merge branch 'dev' into nf-test_implementation
tillenglert May 8, 2024
879ee06
ignore actions_ci linting
tillenglert May 8, 2024
ccf2e5b
Prepare merge and solve merge conflicts
tillenglert May 10, 2024
2102af6
add pipeline testdata base path (forgot in one test)
tillenglert May 10, 2024
048c2cc
Also add myself to authors in pipeline manifest (oversight before)
tillenglert May 10, 2024
ccb10aa
update License according to manifest
tillenglert May 10, 2024
d6c467c
remove cache lenient label
tillenglert Jun 7, 2024
e26ff5b
Merge pull request #123 from nf-core/nf-core-template-merge-2.14.1
tillenglert Jun 10, 2024
ce01b45
Merge branch 'dev' into nf-test_implementation
tillenglert Jun 10, 2024
6db5834
Merge pull request #118 from tillenglert/nf-test_implementation
tillenglert Jun 10, 2024
f89574b
Apply stash to new branch:
tillenglert Jun 25, 2024
637bedb
[automated] Fix code linting
nf-core-bot Jun 25, 2024
006d8b8
Add secrets to CI tests
tillenglert Jun 25, 2024
dd327c1
remove nf-test config environment and set in ci
tillenglert Jun 25, 2024
fb3c4c2
Update docs/usage.md
tillenglert Jul 1, 2024
9c5acc0
Merge pull request #124 from tillenglert/ncbi_params2secret
tillenglert Jul 1, 2024
7c899e6
remove testdata
tillenglert Jul 12, 2024
c126e27
Merge pull request #126 from tillenglert/remove_testfiles
tillenglert Jul 17, 2024
57fd30a
nf-test assertions
tillenglert Jul 18, 2024
5ffeb38
Add nf-test snapshots
tillenglert Jul 18, 2024
76ce8da
updated snaps to new sorting strategy
tillenglert Aug 5, 2024
90118eb
Refactoring and Sorting for deterministic table generation
tillenglert Aug 6, 2024
5c9bb1b
Merge pull request #127 from tillenglert/refactor_reproducibility
tillenglert Aug 6, 2024
e431d5b
Merge branch 'dev' into nf-test_assertions_new
tillenglert Aug 6, 2024
707375c
remove bank lines from *.nf.test
tillenglert Aug 6, 2024
3b46b3c
Merge pull request #128 from tillenglert/nf-test_assertions_new
tillenglert Aug 6, 2024
d0711e6
fix plot generation
tillenglert Aug 6, 2024
890b4a1
add figures to tests
tillenglert Aug 6, 2024
8923d02
Merge pull request #129 from tillenglert/bugfix/figure_creation
tillenglert Aug 7, 2024
1f45f7b
prepare release 1.0.0
tillenglert Aug 7, 2024
14a0066
remove "dev" from links to nf-core website and github repository
tillenglert Aug 8, 2024
a09de95
Merge pull request #131 from tillenglert/prepare_release_1.0.0
tillenglert Aug 8, 2024
6fe565c
Add nf-test citation and sort alphabetically
tillenglert Aug 16, 2024
54fcb6c
Suggestion by @mashehu
tillenglert Aug 16, 2024
bbdd342
include nf-core/setup_nf-test for github ci
tillenglert Aug 16, 2024
df13fce
Add metapep logo without patching mutliqc module
tillenglert Aug 16, 2024
99fc506
Add minimum values to chunk sizes, peptide lenghts and removed overlo…
tillenglert Aug 16, 2024
6b50995
Code alignments
tillenglert Sep 5, 2024
2d03674
remove duplicated publishdir in module
tillenglert Sep 5, 2024
dddc96d
shortened python package version calls
tillenglert Sep 5, 2024
0521047
Shift `COLLECT_STATS` module to after predictions, add binders, chang…
tillenglert Sep 6, 2024
2d42736
change colname
tillenglert Sep 6, 2024
8d7e5c5
Review comments and change calculation of binders to save ressources
tillenglert Sep 13, 2024
2a7f521
fix bug in `generate_protein_and_entity_ids.py`
tillenglert Sep 13, 2024
dde3c9b
update test snapshots
tillenglert Sep 13, 2024
eddab30
Remove TODO (solved by PR https://github.com/nf-core/metapep/pull/135)
tillenglert Sep 13, 2024
4d52218
Add bugfix from https://github.com/nf-core/metapep/pull/135 for testi…
tillenglert Sep 13, 2024
922682c
Update all tests to include the `stats.tsv` instead of `stats.txt`
tillenglert Sep 13, 2024
1d998e0
Update all test snapshots
tillenglert Sep 16, 2024
825420d
Merge pull request #135 from tillenglert/bugfix/duplicated_rows_prote…
tillenglert Sep 16, 2024
879e41b
Merge branch 'dev' into multiqc_additional_stats
tillenglert Sep 16, 2024
9cf2794
fix multiqc for model info branch
tillenglert Sep 16, 2024
2fb5df0
Change according to suggestion of @skrakau and fix alleles not assign…
tillenglert Sep 20, 2024
529182c
drop prediction_score column
tillenglert Sep 20, 2024
1dff437
code and comment refactorings
tillenglert Sep 20, 2024
a9a3d8e
Update all snapshots for new stats module
tillenglert Sep 27, 2024
5f00c9b
update test bins
tillenglert Sep 30, 2024
e968570
Licensing
tillenglert Sep 30, 2024
68258d0
Merge pull request #134 from tillenglert/multiqc_additional_stats
tillenglert Sep 30, 2024
8391100
gen_prediction_chunks change to main() and move global var
tillenglert Oct 1, 2024
59e7a2c
Add verbose error to gen_prediction_chunks
tillenglert Oct 1, 2024
d3571cc
Fix intendations in modules
tillenglert Oct 1, 2024
fdb594a
Indent In main workflow
tillenglert Oct 1, 2024
48d049e
More Indents
tillenglert Oct 1, 2024
ebb6264
remove echo of allele_id
tillenglert Oct 1, 2024
a639869
found another indent mishap
tillenglert Oct 1, 2024
6b1aafd
Add tags to the plot modules
tillenglert Oct 1, 2024
d31a60b
Merge branch 'dev' into release1.0.0_review_changes
tillenglert Oct 1, 2024
d77b4cb
fix linting
tillenglert Oct 1, 2024
516714e
Add fancy release name
tillenglert Oct 1, 2024
954de99
missed semicolon
tillenglert Oct 1, 2024
65372b7
Merge pull request #140 from tillenglert/release1.0.0_review_changes
tillenglert Oct 9, 2024
33d29bf
bump nf-test version to 0.9.0
tillenglert Oct 18, 2024
39ee13f
Merge pull request #144 from tillenglert/bump_nf-test_version
tillenglert Oct 18, 2024
35fc190
Merge remote-tracking branch 'upstream/TEMPLATE' into template_update…
tillenglert Nov 4, 2024
28100e2
skip fastqc and igenomes for future template updates
tillenglert Nov 4, 2024
5a67ece
Move ignore igenomes to parameter
tillenglert Nov 4, 2024
798a595
ignore gitignore files unchanged linting error
tillenglert Nov 4, 2024
26979e2
smaller linting errors
tillenglert Nov 4, 2024
5523038
update git tags for multiqc
tillenglert Nov 4, 2024
014ef4b
update all subworkflows to latest
tillenglert Nov 4, 2024
c9b044a
Update test configs
tillenglert Nov 4, 2024
dbafb1c
Update CITATIONS.md
tillenglert Nov 4, 2024
4229478
Second look to CI tests
tillenglert Nov 4, 2024
516901b
copy paste error
tillenglert Nov 4, 2024
8431012
Merge pull request #145 from tillenglert/template_update_3.0.2
tillenglert Nov 5, 2024
3b873a1
Comment out the testing of conda
tillenglert Nov 12, 2024
ce8101d
Merge pull request #146 from tillenglert/Fix_conda_tests
tillenglert Nov 13, 2024
70a3c96
Use enum instead of pattern suggested by @nvnieuwk
tillenglert Nov 13, 2024
b4a9a29
Merge pull request #147 from tillenglert/nf-shema_enum
tillenglert Nov 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 127 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: nf-core CI
# This workflow runs the pipeline with the minimal test dataset to check that it completes without any syntax errors
name: nf-core CI
on:
push:
branches:
Expand All @@ -11,6 +11,7 @@ on:

env:
NXF_ANSI_LOG: false
NFT_VER: "0.9.0"
NXF_SINGULARITY_CACHEDIR: ${{ github.workspace }}/.singularity
NXF_SINGULARITY_LIBRARYDIR: ${{ github.workspace }}/.singularity

Expand All @@ -19,28 +20,125 @@ concurrency:
cancel-in-progress: true

jobs:
test:
name: "Run pipeline with test data (${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }})"
test_profile_standard:
name: nf-test with standard profiles
# Only run on push if this is the nf-core dev branch (merged PRs)
if: "${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/metapep') }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
NXF_VER:
- "24.04.2"
- "latest-everything"
profile:
- "conda"
# - "conda"
- "docker"
- "singularity"
test_name:
- "test"
- "test_model_information"
- "test_mouse_all_pep_lengths"
- "test_assembly_only"
- "test_bins_only"
- "test_coassembly"
- "test_mhcflurry"
- "test_mhcnuggets_1"
- "test_mhcnuggets_2"
isMaster:
- ${{ github.base_ref == 'master' }}
# Exclude conda and singularity on dev
exclude:
# - isMaster: false
# profile: "conda"
- isMaster: false
profile: "conda"
profile: "singularity"

steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4

- name: Set up Nextflow
uses: nf-core/setup-nextflow@v2
with:
version: "${{ matrix.NXF_VER }}"

- name: Set up Apptainer
if: matrix.profile == 'singularity'
uses: eWaterCycle/setup-apptainer@main

- name: Set up Singularity
if: matrix.profile == 'singularity'
run: |
mkdir -p $NXF_SINGULARITY_CACHEDIR
mkdir -p $NXF_SINGULARITY_LIBRARYDIR

- name: Set up Miniconda
if: matrix.profile == 'conda'
uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3
with:
miniconda-version: "latest"
auto-update-conda: true
conda-solver: libmamba
channels: conda-forge,bioconda

- name: Set up Conda
if: matrix.profile == 'conda'
run: |
echo $(realpath $CONDA)/condabin >> $GITHUB_PATH
echo $(realpath python) >> $GITHUB_PATH

- name: Clean up Disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: ${{ env.NFT_VER }}

- name: Run nf-test
run: |
nf-test test --tag ${{ matrix.test_name }} --profile ${{ matrix.test_name }},${{ matrix.profile }} --junitxml=test.xml --verbose

- name: Output log on failure
if: failure()
run: |
sudo apt install bat > /dev/null
batcat --decorations=always --color=always ${{ github.workspace }}/.nf-test/tests/*/output/pipeline_info/software_versions.yml

- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: always() # always run even if the previous step fails
with:
report_paths: "*.xml"

test_profile_download:
name: nf-test with profiles needing entrez downloads
Copy link
Author

Choose a reason for hiding this comment

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

why do you do this as separate job?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Because the pipeline optionally can download assemblies from Entrez using taxids, for this a registered account is needed (implemented as nextflow secrets). The GitHub secrets defined on the repository (used then in the process) are only available to PRs from nf-core/metapep, but not any forks! We decided before the download "path" is not tested at all, the tests run after merging the PR on dev, so if there is something failing it is not unnoticed.

# Only run on PRs from branches of nf-core/metapep repository or on push if this is the nf-core dev branch (merged PRs)
# (GitHub secrets are not accessible for workflows from forks)
if: "${{ github.event.pull_request.head.repo.full_name == 'nf-core/metapep' || (github.event_name == 'push' && github.repository == 'nf-core/metapep') }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
NXF_VER:
- "24.04.2"
- "latest-everything"
profile:
# - "conda"
- "docker"
- "singularity"
test_name:
- "test_all"
- "test_mouse"
- "test_taxa_only"
- "test_taxa_specific_assembly"
isMaster:
- ${{ github.base_ref == 'master' }}
# Exclude conda and singularity on dev
exclude:
# - isMaster: false
# profile: "conda"
- isMaster: false
profile: "singularity"
steps:
Expand Down Expand Up @@ -80,6 +178,28 @@ jobs:
- name: Clean up Disk space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1

- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
- name: Install nf-test
uses: nf-core/setup-nf-test@v1
with:
version: ${{ env.NFT_VER }}

- name: Run nf-test
env:
NCBI_EMAIL: ${{ secrets.NCBI_EMAIL }}
NCBI_KEY: ${{ secrets.NCBI_KEY }}
run: |
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results
nextflow secrets set NCBI_EMAIL ${{ secrets.NCBI_EMAIL }}
nextflow secrets set NCBI_KEY ${{ secrets.NCBI_KEY }}
nf-test test --tag ${{ matrix.test_name }} --profile ${{ matrix.test_name }},${{ matrix.profile }} --junitxml=test.xml --verbose

- name: Output log on failure
if: failure()
run: |
sudo apt install bat > /dev/null
batcat --decorations=always --color=always ${{ github.workspace }}/.nf-test/tests/*/output/pipeline_info/software_versions.yml

- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: always() # always run even if the previous step fails
with:
report_paths: "*.xml"
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ results/
testing/
testing*
*.pyc
.nf-test/
results_test/*
.nf-test*
null/
6 changes: 5 additions & 1 deletion .nf-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ lint:
actions_ci: false
files_exist:
- conf/igenomes.config
files_unchanged:
- .gitignore
nf_core_version: 3.0.2
org_path: null
repository_type: pipeline
Expand All @@ -14,6 +16,8 @@ template:
name: metapep
org: nf-core
outdir: .
skip_features: null
skip_features:
- fastqc
- igenomes
version: 1.0.0
update: null
34 changes: 29 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,38 @@
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v1.0.0 - [date]
## v1.0.0 - nf-core/metapep "Golden Megalodon" - [2022-01-20]

Initial release of nf-core/metapep, created with the [nf-core](https://nf-co.re/) template.
First release of [nf-core/metapep](https://nf-co.re/metapep), based on [nf-core](https://nf-co.re) standards and [nf-core/tools](https://nf-co.re/tools) template version 1.14.1.

### `Added`

### `Fixed`
- Download proteins for input type taxa from [Entrez](https://www.ncbi.nlm.nih.gov/Web/Search/entrezfs.html).
- Predict proteins for input type assembly or bins using [Prodigal](https://github.com/hyattpd/Prodigal).
- Generate peptides from proteins.
- Split peptide files into chunks for parallel prediction and report stats.
- Predict epitopes for given alleles and peptides using [SYFPEITHI](http://www.syfpeithi.de), [MHCflurry](https://github.com/openvax/mhcflurry) or [MHCnuggets](https://github.com/KarchinLab/mhcnuggets).
- Downstream visualizations between conditions (different microbiomes assemblies, bins, taxids or same input class with different weights) given within samplesheet
- binding affinities
- entity binding ratios
- Summarize workflow using MultiQC

### `Dependencies`
- Relational datamodel to handle large amounts of data
Tables defined within model:

### `Deprecated`
- `alleles.tsv`
- `condition_alleles.tsv`
- `conditions.tsv`
- `entities_proteins.tsv`
- `entities.tsv`
- `microbiomes_entities.no_weights.tsv`
- `microbiome_entities.nucl.tsv`
- `microbiomes_entities.tsv`
- `microbiomes.tsv`
- `preptides.tsv.gz`
- `predictions.tsv.gz`
- `proteins_peptides.tsv`
- `proteins.tsv.gz`
- `stats.txt`

- Additional subworkflow to fetch possible model and peptide lengths for the prediction tools
80 changes: 77 additions & 3 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,89 @@

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## [nf-test](https://www.biorxiv.org/content/10.1101/2024.05.25.595877v1)

> L. Forer, S. Schönherr Improving the Reliability and Quality of Nextflow Pipelines with nf-test. bioRxiv 2024.05.25.595877; doi: 10.1101/2024.05.25.595877

## Pipeline tools

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
- [Entrez](https://pubmed.ncbi.nlm.nih.gov/15608257/)

> Maglott D, Ostell J, Pruitt KD, Tatusova T. Entrez Gene: gene-centered information at NCBI. Nucleic Acids Res. 2005 Jan 1;33(Database issue):D54-8. doi: 10.1093/nar/gki031. Update in: Nucleic Acids Res. 2007 Jan;35(Database issue):D26-31. PMID: 15608257; PMCID: PMC539985.

- [Epytope](https://academic.oup.com/bioinformatics/article/32/13/2044/1743767)

> Schubert, B., Walzer, M., Brachvogel, H-P., Sozolek, A., Mohr, C., and Kohlbacher, O. (2016). FRED 2 - An Immunoinformatics Framework for Python. Bioinformatics 2016; doi: 10.1093/bioinformatics/btw113

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
- [MHCflurry](https://dx.doi.org/10.1016/j.cels.2018.05.014)

> Timothy J. O’Donnell, Alex Rubinsteyn, Maria Bonsack, Angelika B. Riemer, Uri Laserson, Jeff Hammerbacher. MHC flurry: open-source class I MHC binding affinity prediction. Cell systems 7(1), 129-132 (2018). doi: 10.1016/j.cels.2018.05.014.

- [MHCnuggets](https://dx.doi.org/10.1158/2326-6066.CIR-19-0464)

> Xiaoshan M. Shao, Rohit Bhattacharya, Justin Huang, I.K. Ashok Sivakumar, Collin Tokheim, Lily Zheng, Dylan Hirsch, Benjamin Kaminow, Ashton Omdahl, Maria Bonsack, Angelika B. Riemer, Victor E. Velculescu, Valsamo Anagnostou, Kymberleigh A. Pagel and Rachel Karchin. High-throughput prediction of MHC class i and ii neoantigens with MHCnuggets. Cancer Immunology Research 8(3), 396-408 (2020). doi: 10.1158/2326-6066.CIR-19-0464.

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

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

- [pigz](https://zlib.net/pigz/)

- [Prodigal](https://pubmed.ncbi.nlm.nih.gov/20211023/)

> Hyatt D, Chen GL, Locascio PF, Land ML, Larimer FW, Hauser LJ. Prodigal: prokaryotic gene recognition and translation initiation site identification. BMC Bioinformatics. 2010 Mar 8;11:119. doi: 10.1186/1471-2105-11-119. PMID: 20211023; PMCID: PMC2848648.

- [SYFPEITHI](https://pubmed.ncbi.nlm.nih.gov/10602881/)

> Hans-Georg Rammensee, Jutta Bachmann, Niels Nikolaus Emmerich, Oskar Alexander Bachor, Stefan Stevanovic: SYFPEITHI: database for MHC ligands and peptide motifs. Immunogenetics (1999) 50: 213-219

## Python Packages

- [Python](https://www.python.org/)

> Python Core Team (2022). Python: A dynamic, open source programming language. Python Software Foundation. https://www.python.org/.

- [biopython](https://academic.oup.com/bioinformatics/article/25/11/1422/330687)

> Cock PA, Antao T, Chang JT, Chapman BA, Cox CJ, Dalke A, Friedberg I, Hamelryck T, Kauff F, Wilczynski B and de Hoon MJL (2009) Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics, 25, 1422-1423. https://doi.org/10.1093/bioinformatics/btp163.

- [numpy](https://www.nature.com/articles/s41586-020-2649-2)

> Harris, C.R., Millman, K.J., van der Walt, S.J. et al. Array programming with NumPy. Nature 585, 357–362 (2020). DOI: 10.1038/s41586-020-2649-2. https://www.nature.com/articles/s41586-020-2649-2.

- [pandas](https://doi.org/10.5281/zenodo.3509134)

> The pandas development team. (2023). pandas-dev/pandas: Pandas (v2.0.3). Zenodo. https://doi.org/10.5281/zenodo.8092754

## R Packages

- [R](https://www.R-project.org/)

> R Core Team (2022). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/.

- [data.table](https://cran.r-project.org/package=data.table)

> Dowle Matt (2022). data.table: Extension of 'data.frame'.

- [dplyr](https://dplyr.tidyverse.org)

> Wickham H, François R, Henry L, Müller K, Vaughan D (2023). dplyr: A Grammar of Data Manipulation. https://dplyr.tidyverse.org, https://github.com/tidyverse/dplyr.

- [ggplot2](https://cran.r-project.org/package=ggplot2)

> H. Wickham (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York.

- [ggpubr](https://cran.r-project.org/package=ggpubr)

> Kassambara Alboukadel (2023). ggpubr: 'ggplot2' Based Publication Ready Plots.

- [optparse](https://CRAN.R-project.org/package=optparse)

> Trevor L Davis (2022). optparse: Command Line Option Parser.

- [stringr](https://stringr.tidyverse.org)

> Wickham H (2022). stringr: Simple, Consistent Wrappers for Common String Operations. https://stringr.tidyverse.org, https://github.com/tidyverse/stringr.

## Software packaging/containerisation tools

Expand Down
Loading
Loading