Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into nf-core-template-merge…
Browse files Browse the repository at this point in the history
…-3.0.2
  • Loading branch information
mashehu committed Oct 16, 2024
2 parents a84c3df + 584c989 commit 7bcb14d
Show file tree
Hide file tree
Showing 220 changed files with 145,127 additions and 311 deletions.
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,6 @@ indent_size = unset
# ignore python and markdown
[*.{py,md}]
indent_style = unset

[/assets/hgnc_complete_set.txt]
trim_trailing_whitespace = unset
8 changes: 3 additions & 5 deletions .github/workflows/awsfulltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,7 @@ jobs:
test $CURRENT_APPROVALS_COUNT -ge 2 || exit 1 # At least 2 approvals are required
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
# TODO nf-core: You can customise AWS full pipeline tests as required
# Add full size test data (but still relatively small datasets for few samples)
# on the `test_full.config` test runs with only one set of parameters

with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
Expand All @@ -44,9 +42,9 @@ jobs:
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/crisprseq/results-${{ github.sha }}"
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/crisprseq/results-${{ github.sha }}/targeted_test"
}
profiles: test_full
profiles: test_targeted_full

- uses: actions/upload-artifact@v4
with:
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/awsfulltest_screening.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: nf-core AWS full size tests screening
# This workflow is triggered on published releases.
# It can be additionally triggered manually with GitHub actions workflow dispatch button.
# It runs the -profile 'test_full' on AWS batch

on:
release:
types: [published]
workflow_dispatch:
jobs:
run-platform:
name: Run AWS full tests
if: github.repository == 'nf-core/crisprseq'
runs-on: ubuntu-latest
steps:
- name: Launch workflow via Seqera Platform
uses: seqeralabs/action-tower-launch@v2
with:
workspace_id: ${{ secrets.TOWER_WORKSPACE_ID }}
access_token: ${{ secrets.TOWER_ACCESS_TOKEN }}
compute_env: ${{ secrets.TOWER_COMPUTE_ENV }}
revision: ${{ github.sha }}
workdir: s3://${{ secrets.AWS_S3_BUCKET }}/work/crisprseq/work-${{ github.sha }}
parameters: |
{
"hook_url": "${{ secrets.MEGATESTS_ALERTS_SLACK_HOOK_URL }}",
"outdir": "s3://${{ secrets.AWS_S3_BUCKET }}/crisprseq/results-${{ github.sha }}/screening_test"
}
profiles: test_screening_full
- uses: actions/upload-artifact@v3
with:
name: Tower debug log file
path: |
seqera_platform_action_*.log
seqera_platform_action_*.json
9 changes: 8 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ jobs:
- "singularity"
test_name:
- "test"
- "test_screening"
- "test_screening_paired"
- "test_screening_rra"
- "test_targeted"
- "test_umis"
- "test_screening_count_table"
isMaster:
- ${{ github.base_ref == 'master' }}
# Exclude conda and singularity on dev
Expand All @@ -43,6 +49,7 @@ jobs:
profile: "conda"
- isMaster: false
profile: "singularity"

steps:
- name: Check out pipeline code
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
Expand Down Expand Up @@ -82,4 +89,4 @@ jobs:

- name: "Run pipeline with test data ${{ matrix.NXF_VER }} | ${{ matrix.test_name }} | ${{ matrix.profile }}"
run: |
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results_${{ matrix.test_name }}
1 change: 1 addition & 0 deletions .nf-core.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
bump_version: null
lint:
files_exist:
# We skip the linting of these files as we have splitted tests between targeted and screening
- conf/test.config
- conf/test_full.config
files_unchanged:
Expand Down
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.3
hooks:
- id: ruff # linter
args: [--fix, --exit-non-zero-on-fix] # sort imports and fix
- id: ruff-format # formatter
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.1.0"
hooks:
Expand Down
105 changes: 99 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,107 @@
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).

## v2.3.0 - [date]
## [v2.3.0 - Lime Nightingale](https://github.com/nf-core/crisprseq/releases/tag/2.3.0) - [16.10.2024]

Initial release of nf-core/crisprseq, created with the [nf-core](https://nf-co.re/) template.
### Added

- Add module to classify samples by clonality ([#178](https://github.com/nf-core/crisprseq/pull/178))
- Add DrugZ, a module for chemogenetic interaction ([#168](https://github.com/nf-core/crisprseq/pull/168))
- Add Hitselection, a module for subsetting more likely true positives for KO screen based on the protein protein interaction ([#191](https://github.com/nf-core/crisprseq/pull/191))
- Make the use of gene essentiality module more user friendly and readable in the code ([#194](https://github.com/nf-core/crisprseq/pull/194))

### Fixed

- Fix cutadapt 3' and 5' no such variable found bug ([#187](https://github.com/nf-core/crisprseq/pull/187))
- Fix design matrix bug that introduced dots instead of a hyphen ([#190](https://github.com/nf-core/crisprseq/pull/190))
- Make output of FluteMLE optional as when some pathways produce bugs some channels are then empty ([#190](https://github.com/nf-core/crisprseq/pull/190))
- Fix a typo in crisprcleanr/normalize, when a user inputs a file ([#192](https://github.com/nf-core/crisprseq/pull/192))

## [v2.2.1 Romarin Curie - patch](https://github.com/nf-core/crisprseq/releases/tag/2.2.1) - [23.07.2024]

### Fixed

- Fix singularity image pull tag for MAGeCKFlute ([#160](https://github.com/nf-core/crisprseq/pull/160))
- Escape dollar signs in `containerOptions` ([#163](https://github.com/nf-core/crisprseq/pull/163))
- Fix error in R script when adding patterns ([#170](https://github.com/nf-core/crisprseq/pull/170))
- Skip MAGeCKFlute when the function produces an error within the R package ([#171](https://github.com/nf-core/crisprseq/pull/170))

## [v2.2.0 - Romarin Curie](https://github.com/nf-core/crisprseq/releases/tag/2.2.0) - [20.06.2024]

### Added

- Template update to 2.11.1 ([#105](https://github.com/nf-core/crisprseq/pull/105))
- Added a csv input option for crisprcleanr ([#105](https://github.com/nf-core/crisprseq/pull/105))
- Added a contrasts parameter so the pipeline automatically creates design matrices and MAGeCK MLE ([#109](https://github.com/nf-core/crisprseq/pull/109))
- Added bowtie2 and three prime and five prime adapter trimming ([#103](https://github.com/nf-core/crisprseq/pull/103) and [#123](https://github.com/nf-core/crisprseq/pull/123))
- Added `--day0_label` and `FluteMLE` for MLE data [#126](https://github.com/nf-core/crisprseq/pull/126)
- Template update to 2.13.1 ([#124](https://github.com/nf-core/crisprseq/pull/124))
- Metromap added in the docs ([#128](https://github.com/nf-core/crisprseq/pull/128))
- Added MAGeCK count table in the multiqc ([#131](https://github.com/nf-core/crisprseq/pull/131))
- Added additional plots to Tower output ([#130](https://github.com/nf-core/crisprseq/pull/130))

### Fixed

- Adapt cutadapt module to work with single-end and paired-end reads again ([#121](https://github.com/nf-core/crisprseq/pull/121))
- Fix premature completion of the pipeline when paired-end reads were merged ([#145](https://github.com/nf-core/crisprseq/pull/145))
- Create empty \*-QC-indels.csv file if alignments not found. ([#138](https://github.com/nf-core/crisprseq/pull/138))
- Fix `--reference_fasta` and `--protospacer` parameters ([#144](https://github.com/nf-core/crisprseq/pull/144))

## [v2.1.1 - Jamon Salas - patch](https://github.com/nf-core/crisprseq/releases/tag/2.1.1) - [14.12.2023]

### Added

### `Added`
- Update all modules to the last version in nf-core/modules ([#92](https://github.com/nf-core/crisprseq/pull/92))
- More documentation for screening analysis. ([#99](https://github.com/nf-core/crisprseq/pull/99))
- Contrasts are now given under a different flag and MAGeCK MLE and BAGEL2 are automatically run instead of MAGeCK RRA. ([#99](https://github.com/nf-core/crisprseq/pull/99))
- Added cutadapt for screening analysis ([#95](https://github.com/nf-core/crisprseq/pull/95))

### `Fixed`
### Fixed

### `Dependencies`
- Fixed paired-end for screening analysis ([#94](https://github.com/nf-core/crisprseq/pull/94))

### `Deprecated`
## [v2.1.0 - Jamon Salas](https://github.com/nf-core/crisprseq/releases/tag/2.1.0) - [14.11.2023]

### Added

- Template update v2.9 ([#52](https://github.com/nf-core/crisprseq/pull/52))
- Use `Channel.fromSamplesheet()` from `nf-validation` to validate input sample sheets and create an input channel ([#58](https://github.com/nf-core/crisprseq/pull/58))
- BAGEL2 as a module which detects gene essentiality ([#60](https://github.com/nf-core/crisprseq/pull/60))
- Add custom plots to MultiQC report (cutadapt module, read processing, edition, edition QC) ([#64](https://github.com/nf-core/crisprseq/pull/64))
- Template update v2.10 ([#79](https://github.com/nf-core/crisprseq/pull/79))

### Fixed

- Change to `process_high` for the mageck mle module ([#60](https://github.com/nf-core/crisprseq/pull/60))
- Fix paired-end samplesheet file for screening ([#60](https://github.com/nf-core/crisprseq/pull/60))
- Summary processes don't modify the input file anymore, allowing resuming these processes ([#66](https://github.com/nf-core/crisprseq/pull/66))
- Do not stash unexistent files, use empty lists instead. Fixes AWS tests ([#67](https://github.com/nf-core/crisprseq/pull/67))
- Rename process `merging_summary` to `preprocessing_summary` to improve clarity ([#69](https://github.com/nf-core/crisprseq/pull/69))
- Fix modules `BWA_INDEX` and `BOWTIE2_BUILD` after module update, new versions accept a meta map ([#76](https://github.com/nf-core/crisprseq/pull/76))
- Update targeted metromap ([#78](https://github.com/nf-core/crisprseq/pull/78))

### Deprecated

## [v2.0.0 - Paprika Lovelace](https://github.com/nf-core/crisprseq/releases/tag/2.0.0) - [05.07.2023]

### Added

- Crisprseq screening analysis : mageck mle, mageck rra, mageck count and crisprcleanr-normalize ([#22](https://github.com/nf-core/crisprseq/pull/22))
- Add new parameter `--analysis` to select analysis type (screening/targeted) ([#27](https://github.com/nf-core/crisprseq/pull/27))
- Tests to run screening analysis ([#926]https://github.com/nf-core/test-datasets/pull/926)
- Metro map for targeted analysis ([#35](https://github.com/nf-core/crisprseq/pull/35))
- Add new parameters `--reference` and `--protospacer` ([#45](https://github.com/nf-core/crisprseq/pull/45))
- Add UMI clustering to crisprseq-targeted ([#24](https://github.com/nf-core/crisprseq/pull/24))
- Template update v2.8 ([#21](https://github.com/nf-core/crisprseq/pull/21))

### Fixed

- Fix warning "module used more than once" ([#25](https://github.com/nf-core/crisprseq/pull/25))
- Remove profile `aws_tower`, update from nf-core/tools v2.9 to make full tests pass ([#50](https://github.com/nf-core/crisprseq/pull/50))
- Remove `quay.io` from all containers ([#50](https://github.com/nf-core/crisprseq/pull/50))
- Fix resources on test screening full ([#50](https://github.com/nf-core/crisprseq/pull/56))
- Fix id in crisprcleanr-normalize ([#50](https://github.com/nf-core/crisprseq/pull/56))

## [v1.0 - Salted Hypatia](https://github.com/nf-core/crisprseq/releases/tag/1.0) - [02.02.2023]

Initial release of nf-core/crisprseq, created with the [nf-core](https://nf-co.re/) template.
47 changes: 45 additions & 2 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,46 @@

> 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.
## [Crispr-Analytics](https://doi.org/10.1371/journal.pcbi.1011137)

> Sanvicente-García M, García-Valiente A, Jouide S, Jaraba-Wallace J, Bautista E, Escobosa M, et al. (2023) CRISPR-Analytics (CRISPR-A): A platform for precise analytics and simulations for gene editing. PLoS Comput Biol 19(5): e1011137. https://doi.org/10.1371/journal.pcbi.1011137
## Pipeline tools

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)

> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
> Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].
- [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.
- [Pear](https://cme.h-its.org/exelixis/web/software/pear/)

- [Seqtk](https://github.com/lh3/seqtk)

- [Bowtie2](https://doi.org/10.1038/nmeth.1923)

> Langmead B, Salzberg S. Fast gapped-read alignment with Bowtie 2. Nature Methods. 2012, 9:357-359.
- [BWA](http://www.ncbi.nlm.nih.gov/pubmed/19451168)

> Li H. and Durbin R. (2009) Fast and accurate short read alignment with Burrows-Wheeler Transform. Bioinformatics, 25:1754-60. [PMID: 19451168]
- [Minimap2](https://doi.org/10.1093/bioinformatics/bty191)

> Li, H. (2018). Minimap2: pairwise alignment for nucleotide sequences. Bioinformatics, 34:3094-3100. doi:10.1093/bioinformatics/bty191
- [Cutadapt](https://doi.org/10.14806/ej.17.1.200)

> Martin, M. (2011). Cutadapt removes adapter sequences from high-throughput sequencing reads. EMBnet.journal, 17(1), pp. 10-12. doi:https://doi.org/10.14806/ej.17.1.200
- [Samtools](10.1093/bioinformatics/btp352)

> Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15;25(16):2078-9. doi: 10.1093/bioinformatics/btp352. Epub 2009 Jun 8. PMID: 19505943; PMCID: PMC2723002.
- [MAGeCKFlute](https://doi.org/10.1038/s41596-018-0113-7)
> Wang, B., Wang, M., Zhang, W. et al. Integrative analysis of pooled CRISPR genetic screens using MAGeCKFlute. Nat Protoc 14, 756–780 (2019).
## Software packaging/containerisation tools

Expand All @@ -28,6 +59,18 @@

> Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.
- [MAGeCK](https://pubmed.ncbi.nlm.nih.gov/25476604/)

> Li W, Xu H, Xiao T, Cong L, Love MI, Zhang F, Irizarry RA, Liu JS, Brown M, Liu XS. MAGeCK enables robust identification of essential genes from genome-scale CRISPR/Cas9 knockout screens. Genome Biol. 2014;15(12):554.
- [CRISPRcleanR](https://pubmed.ncbi.nlm.nih.gov/30103702/)

> Li, W. et al. Quality control, modeling, and visualization of CRISPR screens with MAGeCK-VISPR. Genome Biology 16, 281, doi:10.1186/s13059-015-0843-6 (2015).
- [BAGEL2](https://pubmed.ncbi.nlm.nih.gov/33407829/)

> Kim E, Hart T. Improved analysis of CRISPR fitness screens and reduced off-target effects with the BAGEL2 gene essentiality classifier. Genome Med. 2021 Jan 6;13(1):2. doi: 10.1186/s13073-020-00809-3. PMID: 33407829; PMCID: PMC7789424.
- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

> da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.
Expand Down
Loading

0 comments on commit 7bcb14d

Please sign in to comment.