mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 11:08:17 +00:00
Optional output from the VEP-moduel (#1775)
* Making the output from the VEP-moduel (ENSEMBLVEP) optionally vcf, json or tab. #1774 * Trying to fix tests * Still trying to fix tests * Fetching the vep-output-file-extension from the args. * Update meta.yml * WIP: Adding tests for vep-output json and tab * updated the test.yml Co-authored-by: nvnieuwk <101190534+nvnieuwk@users.noreply.github.com> Co-authored-by: nvnieuwk <nicolas.vannieuwkerke@ugent.be>
This commit is contained in:
parent
9dbaffff88
commit
30f72e2482
5 changed files with 97 additions and 13 deletions
|
@ -17,7 +17,9 @@ process ENSEMBLVEP {
|
||||||
path extra_files
|
path extra_files
|
||||||
|
|
||||||
output:
|
output:
|
||||||
tuple val(meta), path("*.ann.vcf"), emit: vcf
|
tuple val(meta), path("*.ann.vcf") , optional:true, emit: vcf
|
||||||
|
tuple val(meta), path("*.ann.tab") , optional:true, emit: tab
|
||||||
|
tuple val(meta), path("*.ann.json") , optional:true, emit: json
|
||||||
path "*.summary.html" , emit: report
|
path "*.summary.html" , emit: report
|
||||||
path "versions.yml" , emit: versions
|
path "versions.yml" , emit: versions
|
||||||
|
|
||||||
|
@ -26,16 +28,15 @@ process ENSEMBLVEP {
|
||||||
|
|
||||||
script:
|
script:
|
||||||
def args = task.ext.args ?: ''
|
def args = task.ext.args ?: ''
|
||||||
|
def file_extension = args.contains("--vcf") ? 'vcf' : args.contains("--json")? 'json' : args.contains("--tab")? 'tab' : 'vcf'
|
||||||
def prefix = task.ext.prefix ?: "${meta.id}"
|
def prefix = task.ext.prefix ?: "${meta.id}"
|
||||||
def dir_cache = cache ? "\${PWD}/${cache}" : "/.vep"
|
def dir_cache = cache ? "\${PWD}/${cache}" : "/.vep"
|
||||||
def reference = fasta ? "--fasta $fasta" : ""
|
def reference = fasta ? "--fasta $fasta" : ""
|
||||||
|
|
||||||
"""
|
"""
|
||||||
mkdir $prefix
|
|
||||||
|
|
||||||
vep \\
|
vep \\
|
||||||
-i $vcf \\
|
-i $vcf \\
|
||||||
-o ${prefix}.ann.vcf \\
|
-o ${prefix}.ann.${file_extension} \\
|
||||||
$args \\
|
$args \\
|
||||||
$reference \\
|
$reference \\
|
||||||
--assembly $genome \\
|
--assembly $genome \\
|
||||||
|
@ -44,10 +45,8 @@ process ENSEMBLVEP {
|
||||||
--cache_version $cache_version \\
|
--cache_version $cache_version \\
|
||||||
--dir_cache $dir_cache \\
|
--dir_cache $dir_cache \\
|
||||||
--fork $task.cpus \\
|
--fork $task.cpus \\
|
||||||
--vcf \\
|
--stats_file ${prefix}.summary.html \\
|
||||||
--stats_file ${prefix}.summary.html
|
|
||||||
|
|
||||||
rm -rf $prefix
|
|
||||||
|
|
||||||
cat <<-END_VERSIONS > versions.yml
|
cat <<-END_VERSIONS > versions.yml
|
||||||
"${task.process}":
|
"${task.process}":
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name: ENSEMBLVEP
|
name: ENSEMBLVEP
|
||||||
description: Ensembl Variant Effect Predictor (VEP)
|
description: Ensembl Variant Effect Predictor (VEP). The output-file-format is controlled through `task.ext.args`.
|
||||||
keywords:
|
keywords:
|
||||||
- annotation
|
- annotation
|
||||||
tools:
|
tools:
|
||||||
|
@ -49,8 +49,18 @@ output:
|
||||||
- vcf:
|
- vcf:
|
||||||
type: file
|
type: file
|
||||||
description: |
|
description: |
|
||||||
annotated vcf
|
annotated vcf (optional)
|
||||||
pattern: "*.ann.vcf"
|
pattern: "*.ann.vcf"
|
||||||
|
- tab:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
tab file with annotated variants (optional)
|
||||||
|
pattern: "*.ann.tab"
|
||||||
|
- json:
|
||||||
|
type: file
|
||||||
|
description: |
|
||||||
|
json file with annotated variants (optional)
|
||||||
|
pattern: "*.ann.json"
|
||||||
- report:
|
- report:
|
||||||
type: file
|
type: file
|
||||||
description: VEP report file
|
description: VEP report file
|
||||||
|
|
|
@ -4,6 +4,43 @@ nextflow.enable.dsl = 2
|
||||||
|
|
||||||
include { ENSEMBLVEP } from '../../../modules/ensemblvep/main.nf'
|
include { ENSEMBLVEP } from '../../../modules/ensemblvep/main.nf'
|
||||||
|
|
||||||
|
include { ENSEMBLVEP as ENSEMBLVEP_JSON } from '../../../modules/ensemblvep/main.nf'
|
||||||
|
include { ENSEMBLVEP as ENSEMBLVEP_TAB } from '../../../modules/ensemblvep/main.nf'
|
||||||
|
include { ENSEMBLVEP as ENSEMBLVEP_VCF } from '../../../modules/ensemblvep/main.nf'
|
||||||
|
|
||||||
|
workflow test_ensemblvep_fasta_json {
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
|
||||||
|
ENSEMBLVEP_JSON ( input, "WBcel235", "caenorhabditis_elegans", "104", [], fasta, [] )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_ensemblvep_fasta_tab {
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
|
||||||
|
ENSEMBLVEP_TAB ( input, "WBcel235", "caenorhabditis_elegans", "104", [], fasta, [] )
|
||||||
|
}
|
||||||
|
|
||||||
|
workflow test_ensemblvep_fasta_vcf {
|
||||||
|
input = [
|
||||||
|
[ id:'test' ], // meta map
|
||||||
|
file(params.test_data['sarscov2']['illumina']['test_vcf'], checkIfExists: true)
|
||||||
|
]
|
||||||
|
|
||||||
|
fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true)
|
||||||
|
|
||||||
|
ENSEMBLVEP_VCF ( input, "WBcel235", "caenorhabditis_elegans", "104", [], fasta, [] )
|
||||||
|
}
|
||||||
|
|
||||||
workflow test_ensemblvep_fasta {
|
workflow test_ensemblvep_fasta {
|
||||||
input = [
|
input = [
|
||||||
[ id:'test' ], // meta map
|
[ id:'test' ], // meta map
|
||||||
|
|
|
@ -6,4 +6,18 @@ process {
|
||||||
container = 'nfcore/vep:104.3.WBcel235'
|
container = 'nfcore/vep:104.3.WBcel235'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
withName: ENSEMBLVEP_JSON {
|
||||||
|
container = 'nfcore/vep:104.3.WBcel235'
|
||||||
|
ext.args = '--json'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: ENSEMBLVEP_TAB {
|
||||||
|
container = 'nfcore/vep:104.3.WBcel235'
|
||||||
|
ext.args = '--tab'
|
||||||
|
}
|
||||||
|
|
||||||
|
withName: ENSEMBLVEP_VCF {
|
||||||
|
container = 'nfcore/vep:104.3.WBcel235'
|
||||||
|
ext.args = '--vcf'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,27 @@
|
||||||
|
- name: ensemblvep test_ensemblvep_fasta_json
|
||||||
|
command: nextflow run ./tests/modules/ensemblvep -entry test_ensemblvep_fasta_json -c ./tests/config/nextflow.config -c ./tests/modules/ensemblvep/nextflow.config
|
||||||
|
tags:
|
||||||
|
- ensemblvep
|
||||||
|
files:
|
||||||
|
- path: output/ensemblvep/test.ann.json
|
||||||
|
- path: output/ensemblvep/test.summary.html
|
||||||
|
|
||||||
|
- name: ensemblvep test_ensemblvep_fasta_tab
|
||||||
|
command: nextflow run ./tests/modules/ensemblvep -entry test_ensemblvep_fasta_tab -c ./tests/config/nextflow.config -c ./tests/modules/ensemblvep/nextflow.config
|
||||||
|
tags:
|
||||||
|
- ensemblvep
|
||||||
|
files:
|
||||||
|
- path: output/ensemblvep/test.ann.tab
|
||||||
|
- path: output/ensemblvep/test.summary.html
|
||||||
|
|
||||||
|
- name: ensemblvep test_ensemblvep_fasta_vcf
|
||||||
|
command: nextflow run ./tests/modules/ensemblvep -entry test_ensemblvep_fasta_vcf -c ./tests/config/nextflow.config -c ./tests/modules/ensemblvep/nextflow.config
|
||||||
|
tags:
|
||||||
|
- ensemblvep
|
||||||
|
files:
|
||||||
|
- path: output/ensemblvep/test.ann.vcf
|
||||||
|
- path: output/ensemblvep/test.summary.html
|
||||||
|
|
||||||
- name: ensemblvep test_ensemblvep_fasta
|
- name: ensemblvep test_ensemblvep_fasta
|
||||||
command: nextflow run ./tests/modules/ensemblvep -entry test_ensemblvep_fasta -c ./tests/config/nextflow.config -c ./tests/modules/ensemblvep/nextflow.config
|
command: nextflow run ./tests/modules/ensemblvep -entry test_ensemblvep_fasta -c ./tests/config/nextflow.config -c ./tests/modules/ensemblvep/nextflow.config
|
||||||
tags:
|
tags:
|
||||||
|
|
Loading…
Reference in a new issue