-
Notifications
You must be signed in to change notification settings - Fork 127
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
General cleanup #447
General cleanup #447
Conversation
|
…nto issue_400 Please enter a commit message to explain why this merge is necessary,
subworkflows/local/mirdeep2.nf
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file was removed in latest dev
workflows/smrnaseq.nf
Outdated
ch_three_prime_adapter = Channel.value(params.three_prime_adapter) | ||
ch_phred_offset = Channel.value(params.phred_offset) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These should be in prepare_genome or pipeline initialisation
bowtie_index = ch_bowtie_index // channel: [genome.1.ebwt, genome.2.ebwt, genome.3.ebwt, genome.4.ebwt, genome.rev.1.ebwt, genome.rev.2.ebwt] | ||
bowtie_index = ch_bowtie_index // channel: [ val(meta), path(index) ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the user inputs the index from a .tar.gz we need to make sure it has this structure. I think currently it has the previous structure (genome.ebwt, etc).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool. We can simply have the channel to be [id:"bowtie_index", [workspace/etc/bowtie_index]]
. It does not have to have the path to the ebwt
files as the modules can handle the whole directory (and mirdeep
cannot handle it without the directory).
subworkflows/local/mirna_quant.nf
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps the module and file name table_merge
and datatable_merge
can have the same name for consistency. Also have a main.nf file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same applies to edger_qc
. Should be main.nf
.
modules.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pigz_uncompress
is no longer used and can be removed
modules.json
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
untarfiles
shall be replaced by untar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not straightforward, lets do it on a separate PR: https://github.com/orgs/nf-core/projects/74/views/7?pane=issue&itemId=81583371
workflows/smrnaseq.nf
Outdated
@@ -53,9 +53,9 @@ workflow NFCORE_SMRNASEQ { | |||
ch_reference_hairpin // channel: [ val(meta), path(fasta) ] | |||
ch_mirna_gtf // channel: [ path(GTF) ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be useful for ch_mirna_gtf
to have a meta as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need it, but will add it for consistency
Are we addressing the whole scope of #400 or some sub-tasks here (in this PR)?
|
Ah, I see, yes we adressing all of the items in the issue, we could also add, I will also add, reviewing parameters modules and subworkflows to check there are no unused items. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've also run nf-core lint
to check TODOs left in the pipeline and found a few issues:
╭───────────────────────╮
│ LINT RESULTS SUMMARY │
├───────────────────────┤
│ [✔] 460 Tests Passed │
│ [?] 1 Test Ignored │
│ [!] 26 Test Warnings │
│ [✗] 1 Test Failed │
╰───────────────────────╯
subworkflows/local/genome_quant.nf
Outdated
@@ -7,7 +7,7 @@ include { BOWTIE_ALIGN as BOWTIE_MAP_GENOME } from '../../modules/nf-core/bowtie | |||
|
|||
workflow GENOME_QUANT { | |||
take: | |||
ch_bowtie_index // channel: [genome.1.ebwt, genome.2.ebwt, genome.3.ebwt, genome.4.ebwt, genome.rev.1.ebwt, genome.rev.2.ebwt] | |||
ch_bowtie_index // channel: [ val(meta), [ path(genome.1.ebwt), path(genome.2.ebwt), path(genome.3.ebwt), path(genome.4.ebwt), path(genome.rev.1.ebwt), path(genome.rev.2.ebwt) ] ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry if I wasn't clear in my previous comment, but for this to work in mirdeep2
ch_bowtie_index
should be of structure:
channel: [ val(meta), [ path(one_directory)]
and not
channel: [ val(meta), [ path(genome.1.ebwt), path(genome.2.ebwt), path(genome.3.ebwt), path(genome.4.ebwt), path(genome.rev.1.ebwt), path(genome.rev.2.ebwt) ] ]
.
Please write me if we need to review this together.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is something that is a bit more tricky to update, I created a new ticket to address it: #451
@@ -55,7 +55,7 @@ workflow PREPARE_GENOME { | |||
ch_bowtie_index = UNTAR_BOWTIE_INDEX.out.files | |||
ch_versions = ch_versions.mix(UNTAR_BOWTIE_INDEX.out.versions) | |||
} else { | |||
ch_bowtie_index = Channel.fromPath("${val_bowtie_index}**ebwt", checkIfExists: true).map{it -> [ [id:it.baseName], it ] }.collect() | |||
ch_bowtie_index = Channel.fromPath("${val_bowtie_index}**ebwt", checkIfExists: true).map{it -> [ [id:'bowtie_index'], it ] }.collect() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mirdeep2
is a bit tricky in how the index should be named:
-p ${index}/${meta2.id} \\ |
So if the path to the index ch_bowtie_index
is something like:
/work/bowtie_index
and the files inside that directory are:
/work/bowtie_index/genome.1.ebwt
/work/bowtie_index/genome.2.ebwt
/work/bowtie_index/genome.3.ebwt
Then the meta should be: genome
.
This renaming is done automatically when indexing the fasta in the else statement:
// Index FASTA with nf-core Bowtie1
INDEX_GENOME ( CLEAN_FASTA.out.output )
ch_versions = ch_versions.mix(INDEX_GENOME.out.versions)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also to be addressed in #451
} | ||
|
||
emit: | ||
fasta = ch_fasta // channel: [ val(meta), path(fasta) ] | ||
has_fasta = bool_has_fasta // boolean | ||
bowtie_index = ch_bowtie_index // channel: [genome.1.ebwt, genome.2.ebwt, genome.3.ebwt, genome.4.ebwt, genome.rev.1.ebwt, genome.rev.2.ebwt] | ||
bowtie_index = ch_bowtie_index // channel: [ val(meta), [ path(genome.1.ebwt), path(genome.2.ebwt), path(genome.3.ebwt), path(genome.4.ebwt), path(genome.rev.1.ebwt), path(genome.rev.2.ebwt) ] ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment, due to how mirdeep2 is structured this should have the structure: channel: [ val(meta), [ path(directory_index)] ]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ch_bowtie_index // channel: [ val(meta), index ] | ||
ch_bowtie_index // channel: [ val(meta), [ path(genome.1.ebwt), path(genome.2.ebwt), path(genome.3.ebwt), path(genome.4.ebwt), path(genome.rev.1.ebwt), path(genome.rev.2.ebwt) ] ] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should not be changed in a nf-core subworkflow as it will break linting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are right, lets take care of it in #451
PR checklist
nf-core lint
).nf-test test main.nf.test -profile test,docker
).nextflow run . -profile debug,test,docker --outdir <OUTDIR>
).docs/usage.md
is updated.docs/output.md
is updated.CHANGELOG.md
is updated.README.md
is updated (including new tool citations and authors/contributors).