Skip to content

Commit

Permalink
Merge pull request #448 from atrigila/add_mirdeep_sbwf
Browse files Browse the repository at this point in the history
Add nf-core `mirdeep2` and a test case
  • Loading branch information
atrigila authored Sep 27, 2024
2 parents 57d3ba2 + 289f9aa commit adc43db
Show file tree
Hide file tree
Showing 43 changed files with 1,456 additions and 150 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [[#439]](https://github.com/nf-core/smrnaseq/pull/439) - Fix [Fix paired end samples processing](https://github.com/nf-core/smrnaseq/issues/415) - Fix paired end sample handling and add test profile.
- [[#441]](https://github.com/nf-core/smrnaseq/pull/441) - Migrate [local contaminant bowtie to nf-core](https://github.com/nf-core/smrnaseq/issues/436) - Replace local processes with `BOWTIE2_ALIGN`.
- [[#443]](https://github.com/nf-core/smrnaseq/pull/443) - Migrate [mirna and genome_quant bowtie to nf-core](https://github.com/nf-core/smrnaseq/issues/436) - Replace local processes with `BOWTIE_ALIGN`.
- [[#448]](https://github.com/nf-core/smrnaseq/pull/448) - Migrate local mirdeep to [nf-core mirdeep2 modules and subworkflow](https://github.com/nf-core/smrnaseq/issues/443) and generate [test profile for mirdeep2](https://github.com/nf-core/smrnaseq/issues/399).

## v2.3.1 - 2024-04-18 - Gray Zinc Dalmation Patch

Expand Down
25 changes: 10 additions & 15 deletions conf/modules.config
Original file line number Diff line number Diff line change
Expand Up @@ -539,24 +539,19 @@ process {
// MIRDEEP
//

withName: 'PIGZ_UNCOMPRESS' {
tag = {"${meta.id}"}
stageInMode = 'copy'
withName: 'MIRDEEP2_MAPPER' {
ext.args = "-c -j -m -v"
publishDir = [ enabled: false ]
}

withName: 'NFCORE_SMRNASEQ:MIRDEEP2:MIRDEEP2_MAPPER' {
publishDir = [
path: { "${params.outdir}/mirdeep2/mapper" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]
withName: 'SEQKIT_REPLACE' {
ext.args = "-p '\s.+'"
ext.suffix = "fasta"
publishDir = [ enabled: false ]
}
withName: 'NFCORE_SMRNASEQ:MIRDEEP2:MIRDEEP2_RUN' {
publishDir = [
path: { "${params.outdir}/mirdeep2/run" },
mode: params.publish_dir_mode,
saveAs: { filename -> filename.equals('versions.yml') ? null : filename }
]

withName: 'MIRDEEP2_MIRDEEP2' {
errorStrategy = { task.exitStatus in (255) ? 'ignore' : '' }
}

//
Expand Down
6 changes: 3 additions & 3 deletions conf/test_mirgenedb.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
*/

params {
config_profile_name = 'Test profile with mirgeneDB inputs'
config_profile_description = 'Minimal test dataset to check pipeline function with mirgeneDB inputs'
config_profile_name = 'Test profile with mirgeneDB inputs and run mirdeep2'
config_profile_description = 'Minimal test dataset to check pipeline function with mirgeneDB inputs and run mirdeep2'

// Limit resources so that this can run on GitHub Actions
max_cpus = 2
Expand All @@ -30,7 +30,7 @@ params {
mirgenedb_gff = "https://github.com/nf-core/test-datasets/raw/smrnaseq/MirGeneDB/mirgenedb_hsa.gff"
mirgenedb_species = "Hsa"

skip_mirdeep = true
skip_mirdeep = false
save_intermediates = true

}
Expand Down
6 changes: 3 additions & 3 deletions docs/output.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,9 @@ If `--save_intermediates` is specified, these files will be placed in this direc

**Output directory: `results/mirdeep2`**

- `mirdeep/timestamp_sample.bed` File with the known and novel miRNAs in bed format.
- `mirdeep/timestamp_sample.csv` File with an overview of all detected miRNAs (known and novel) in csv format.
- `mirdeep/timestamp_sample.html` A HTML report with an overview of all detected miRNAs (known and novel) in html format.
- `mirdeep2/result_{sample.id}.bed` File with the known and novel miRNAs in bed format.
- `mirdeep2/result_{sample.id}.csv` File with an overview of all detected miRNAs (known and novel) in csv format.
- `mirdeep2/result_{sample.id}.html` A HTML report with an overview of all detected miRNAs (known and novel) in html format.

## miRTrace

Expand Down
6 changes: 6 additions & 0 deletions docs/usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ Contamination filtering of the sequencing reads is optional and can be invoked u
- `pirna`: Used to supply a FASTA file containing piRNA contamination sequence. e.g. The FASTA file is first compared to the available miRNA sequences and overlaps are removed.
- `other_contamination`: Used to supply an additional filtering set. The FASTA file is first compared to the available miRNA sequences and overlaps are removed.

## mirDeep2

If the software encounters an error with exit status 255, it will be ignored, and the pipeline will continue to complete. In such cases, the pipeline will log a note that includes the path to the work directory where the issue occurred. You can inspect this work directory to examine your input data and troubleshoot the issue.

Error 255 is typically related to the core algorithm of miRDeep generating empty output files. This often happens when the reads being processed do not correspond to putative mature miRNA sequences, or if the provided precursors do not meet the criteria for valid miRNA precursors, both of which may stem from the input reads used. A common cause of this error is running the pipeline with a small subset of the input reads.

### UMI handling

The pipeline handles UMIs with two tools. Umicollapse to deduplicate on entire read sequence after 3'adapter removal. Followed by Umitools-extract to extract the miRNA adapter and UMI. This can be achieved by using the parameters for UMI handling as follows (in this case for QIAseq miRNA Library Kit):
Expand Down
25 changes: 25 additions & 0 deletions modules.json
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,16 @@
"git_sha": "06c8865e36741e05ad32ef70ab3fac127486af48",
"installed_by": ["modules"]
},
"mirdeep2/mapper": {
"branch": "master",
"git_sha": "757f60e5656283122cd6ec37d4679483bebb7312",
"installed_by": ["fastq_find_mirna_mirdeep2"]
},
"mirdeep2/mirdeep2": {
"branch": "master",
"git_sha": "757f60e5656283122cd6ec37d4679483bebb7312",
"installed_by": ["fastq_find_mirna_mirdeep2"]
},
"mirtop/counts": {
"branch": "master",
"git_sha": "196062335bb9ec979075bf2212f64a369b927b0d",
Expand Down Expand Up @@ -131,12 +141,22 @@
"git_sha": "407ff4b579f5ae5a3b842b675cd75005d112b8ba",
"installed_by": ["modules"]
},
"seqkit/fq2fa": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
"installed_by": ["fastq_find_mirna_mirdeep2"]
},
"seqkit/grep": {
"branch": "master",
"git_sha": "06c8865e36741e05ad32ef70ab3fac127486af48",
"installed_by": ["modules"],
"patch": "modules/nf-core/seqkit/grep/seqkit-grep.diff"
},
"seqkit/replace": {
"branch": "master",
"git_sha": "666652151335353eef2fcd58880bcef5bc2928e1",
"installed_by": ["fastq_find_mirna_mirdeep2"]
},
"umicollapse": {
"branch": "master",
"git_sha": "06c8865e36741e05ad32ef70ab3fac127486af48",
Expand Down Expand Up @@ -176,6 +196,11 @@
"git_sha": "46eca555142d6e597729fcb682adcc791796f514",
"installed_by": ["subworkflows"]
},
"fastq_find_mirna_mirdeep2": {
"branch": "master",
"git_sha": "757f60e5656283122cd6ec37d4679483bebb7312",
"installed_by": ["subworkflows"]
},
"utils_nextflow_pipeline": {
"branch": "master",
"git_sha": "5caf7640a9ef1d18d765d55339be751bb0969dfa",
Expand Down
43 changes: 0 additions & 43 deletions modules/local/mirdeep2_mapper.nf

This file was deleted.

42 changes: 0 additions & 42 deletions modules/local/mirdeep2_run.nf

This file was deleted.

7 changes: 7 additions & 0 deletions modules/nf-core/mirdeep2/mapper/environment.yml

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

53 changes: 53 additions & 0 deletions modules/nf-core/mirdeep2/mapper/main.nf

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

50 changes: 50 additions & 0 deletions modules/nf-core/mirdeep2/mapper/meta.yml

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

Loading

0 comments on commit adc43db

Please sign in to comment.