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

run pipeline tests with singularity and conda too #185

Merged
merged 20 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ab5e0de
run pipeline tests with singularity and conda too
mirpedrol Jul 25, 2024
7149626
update changelog
mirpedrol Jul 25, 2024
24188cb
set up conda and singularity
mirpedrol Jul 25, 2024
3b6ea5b
run all tests even if one fails
mirpedrol Jul 25, 2024
d0b2b53
fix libjpeg.so.9: No such file or directory error in conda container
mirpedrol Jul 25, 2024
e593c46
fix umi clustering error caused by updating vsearch/cluster module
mirpedrol Jul 25, 2024
4f5282e
update medaca version in conda to solve tensorflow not found error
mirpedrol Jul 25, 2024
899a844
fix medaka process by passing the model as a file
mirpedrol Jul 25, 2024
30e8519
Try fixes
LaurenceKuhl Jul 26, 2024
d7e6d61
fix typo
LaurenceKuhl Jul 26, 2024
2fdc47d
Merge branch 'dev' into add-more-tests
LaurenceKuhl Jul 26, 2024
90da200
Try different conda version for matrice creation
LaurenceKuhl Jul 26, 2024
40d23e6
Merge branch 'add-more-tests' of https://github.com/mirpedrol/crisprs…
LaurenceKuhl Jul 26, 2024
4df0815
Update mageckflute conda recipe for test_screening_rra
LaurenceKuhl Jul 26, 2024
915dccc
set NXF_SINGULARITY_HOME_MOUNT to true for singularity
mirpedrol Aug 1, 2024
dde4ce1
try fixing corrupted cache from mageck flute Singularity container
mirpedrol Aug 1, 2024
be3bdc4
Merge branch 'dev' into add-more-tests
mirpedrol Oct 22, 2024
51b28fb
fix bug in ci.yml
mirpedrol Oct 22, 2024
8e8653e
fix default medaka_model in json schema
mirpedrol Oct 22, 2024
36ba081
Update templates/template_fluteMLE.R
LaurenceKuhl Oct 28, 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
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ jobs:
profile: "conda"
- isMaster: false
profile: "singularity"
fail-fast: false # run all tests even if one fails

steps:
- name: Check out pipeline code
Expand Down Expand Up @@ -88,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_${{ matrix.test_name }}
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.test_name }},${{ matrix.profile }} --outdir ./results_${{ matrix.test_name }}_${{ matrix.profile }}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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))

### General

- Run pipeline tests with docker, singularity and conda on CI ([#185](https://github.com/nf-core/crisprseq/pull/185))

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

### Fixed
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,10 @@ nextflow run nf-core/crisprseq --input samplesheet.csv --analysis <targeted/scre
> [!WARNING]
> Please provide pipeline parameters via the CLI or Nextflow `-params-file` option. Custom config files including those provided by the `-c` Nextflow option can be used to provide any configuration _**except for parameters**_; see [docs](https://nf-co.re/docs/usage/getting_started/configuration#custom-configuration-files).

> [!WARNING]
> Since Nextflow 23.07.0, Nextflow no longer mounts the host's HOME directory when using Apptainer or Singularity. MAGeCKFlute needs HOME directory write access. As a workaround, you can revert to the old behavior by setting the environment variable NXF_APPTAINER_HOME_MOUNT or NXF_SINGULARITY_HOME_MOUNT to true in the machine from which you launch the pipeline.
> `export NXF_SINGULARITY_HOME_MOUNT=true; nextflow run nf-core/crisprseq --input samplesheet.csv --analysis screening --outdir <OUTDIR> -profile <singularity/aptainer>`

For more details and further functionality, please refer to the [usage documentation](https://nf-co.re/crisprseq/usage) and the [parameter documentation](https://nf-co.re/crisprseq/parameters).

## Pipeline output
Expand Down
2 changes: 1 addition & 1 deletion conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ process {
}

withName: MEDAKA {
ext.args = '-m r941_min_high_g303'
ext.args = { "-m ${model}" }
ext.prefix = { "${reads.baseName}_medakaConsensus" }
}

Expand Down
3 changes: 2 additions & 1 deletion modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@
"racon": {
"branch": "master",
"git_sha": "f5ed3ac0834b68e80a00a06a61d04ce8e896f275",
"installed_by": ["modules"]
"installed_by": ["modules"],
"patch": "modules/nf-core/racon/racon.diff"
},
"samtools/index": {
"branch": "master",
Expand Down
6 changes: 3 additions & 3 deletions modules/local/mageck/flutemle.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ process MAGECK_FLUTEMLE {
tag "$prefix"
label 'process_high'

conda "bioconda::bioconductor-mageckflute=2.2.0"
conda "bioconda::bioconductor-mageckflute==2.6.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bioconductor-mageckflute:2.2.0--r42hdfd78af_0':
'biocontainers/bioconductor-mageckflute:2.2.0--r42hdfd78af_0' }"
'https://depot.galaxyproject.org/singularity/bioconductor-mageckflute:2.6.0--r43hdfd78af_0':
'biocontainers/bioconductor-mageckflute:2.6.0--r43hdfd78af_0' }"

input:
tuple val(meta), path(gene_summary)
Expand Down
6 changes: 3 additions & 3 deletions modules/local/mageck/graphrra.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ process MAGECK_GRAPHRRA {
tag "$meta.treatment"
label 'process_single'

conda "bioconda::bioconductor-mageckflute=2.2.0"
conda "bioconda::bioconductor-mageckflute==2.6.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mageckflute:2.2.0--r42hdfd78af_0':
'biocontainers/bioconductor-mageckflute:2.2.0--r42hdfd78af_0' }"
'https://depot.galaxyproject.org/singularity/bioconductor-mageckflute:2.6.0--r43hdfd78af_0':
'biocontainers/bioconductor-mageckflute:2.6.0--r43hdfd78af_0' }"

input:
tuple val(meta), path(gene_summary)
Expand Down
2 changes: 1 addition & 1 deletion modules/local/matricescreation.nf
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
process MATRICESCREATION {
label 'process_single'

conda 'r-ggplot2=3.4.3 bioconductor-shortread=1.58.0 r-ggpubr=0.6.0 r-ggmsa=1.0.2 r-seqmagick=0.1.6 r-tidyr=1.3.0 r-ggseqlogo=0.1 r-cowplot=1.1.1 r-seqinr=4.2_30 r-optparse=1.7.3 r-dplyr=1.1.2 r-plyr=1.8.8 r-stringr=1.5.0 r-plotly=4.10.2'
conda 'conda-forge::r-base==4.0'
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-6de07928379e6eface08a0019c4a1d6b5192e805:0d77388f37ddd923a087f7792e30e83ab54c918c-0' :
'biocontainers/mulled-v2-6de07928379e6eface08a0019c4a1d6b5192e805:0d77388f37ddd923a087f7792e30e83ab54c918c-0' }"
Expand Down
3 changes: 2 additions & 1 deletion modules/local/orient_reference.nf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ process ORIENT_REFERENCE {
tag "$meta.id"
label 'process_single'

conda "r-seqinr=4.2_16 bioconductor-biostrings=2.62.0 bioconductor-shortread=1.52.0"
// jpeg is required in the conda container to fix a "libjpeg.so.9: No such file or directory" error
conda "r-seqinr=4.2_16 bioconductor-biostrings=2.62.0 bioconductor-shortread=1.52.0 jpeg=9d"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-63136bce0d642de81864be727b6b42a26026e33b:d3ce5caf7bcbf6cecedcf51b0135646831c01e77-0' :
'biocontainers/mulled-v2-63136bce0d642de81864be727b6b42a26026e33b:d3ce5caf7bcbf6cecedcf51b0135646831c01e77-0' }"
Expand Down
2 changes: 1 addition & 1 deletion modules/local/venndiagram.nf
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ process VENNDIAGRAM {
label 'process_low'


conda "bioconda::r-venndiagram=1.6.16"
conda "conda-forge::r-ggvenn=0.1.10"
container "ghcr.io/qbic-pipelines/rnadeseq:dev"

input:
Expand Down
2 changes: 1 addition & 1 deletion modules/nf-core/medaka/environment.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions modules/nf-core/medaka/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions modules/nf-core/medaka/medaka.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions modules/nf-core/racon/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

32 changes: 32 additions & 0 deletions modules/nf-core/racon/racon.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 15 additions & 15 deletions modules/nf-core/vsearch/cluster/main.nf

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

51 changes: 50 additions & 1 deletion modules/nf-core/vsearch/cluster/vsearch-cluster.diff

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion nextflow.config
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ params {

// UMI parameters
umi_bin_size = 1
medaka_model = 'r941_min_high_g303'
medaka_model = 'https://github.com/nanoporetech/medaka/raw/master/medaka/data/r941_min_high_g303_model.hdf5'

// Vsearch options
vsearch_minseqlength = 55
Expand Down
2 changes: 1 addition & 1 deletion nextflow_schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
},
"medaka_model": {
"type": "string",
"default": "r941_min_high_g303",
"default": "https://github.com/nanoporetech/medaka/raw/master/medaka/data/r941_min_high_g303_model.hdf5",
"fa_icon": "fas fa-font",
"description": "Medaka model (-m) to use according to the basecaller used."
}
Expand Down
8 changes: 8 additions & 0 deletions templates/template_fluteMLE.R
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@
####
#### graphs mageck MLE

# Required to fix corrupted cache from Singularity container
library(BiocFileCache)
bfc <- BiocFileCache("~/.cache/R/ExperimentHub")
res <- bfcquery(bfc, "experimenthub.index.rds", field="rname", exact=TRUE)
bfcremove(bfc, rids=res\$rid)
library(ExperimentHub)
eh = ExperimentHub()

library(MAGeCKFlute)
library(clusterProfiler)
library(ggplot2)
Expand Down
3 changes: 2 additions & 1 deletion workflows/crisprseq_targeted.nf
Original file line number Diff line number Diff line change
Expand Up @@ -507,7 +507,8 @@ workflow CRISPRSEQ_TARGETED {
//
MEDAKA (
ch_clusters_sequence
.join(RACON_2.out.improved_assembly)
.join(RACON_2.out.improved_assembly),
Channel.value( file(params.medaka_model) )
)
ch_versions = ch_versions.mix(MEDAKA.out.versions.first())

Expand Down
Loading