mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-11-11 04:33:10 +00:00
104f896a26
* Add functionality to handle vbz compression In order for nanopolish to be able handle the default compression for Mk1C Minions (vbz) it must be aware of where to find the plugin. Exporting the HDF5_PLUGIN_PATH found in the conda install (also used to make the biocontainer image) is the solution * Make the HDF5_PLUGIN_PATH more configurable Allow the HDF5_PLUGIN_PATH to be changed via a section in a config file e.g ``` params { modules { ..... 'nanopore_artic_minion' { ..... hd5_plugin_path = '/usr/local/lib/python3.6/site-packages/ont_fast5_api/vbz_plugin' } ...... } } ``` * Update modules/artic/minion/main.nf * Export HDF5_PLUGIN_PATH The HDF5_PLUGIN_PATH variable should be exported for `artic minion` to use it Co-authored-by: Harshil Patel <drpatelh@users.noreply.github.com>
68 lines
2.9 KiB
Text
68 lines
2.9 KiB
Text
process ARTIC_MINION {
|
|
tag "$meta.id"
|
|
label 'process_high'
|
|
|
|
conda (params.enable_conda ? "bioconda::artic=1.2.1" : null)
|
|
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
|
|
'https://depot.galaxyproject.org/singularity/artic:1.2.1--py_0' :
|
|
'quay.io/biocontainers/artic:1.2.1--py_0' }"
|
|
|
|
input:
|
|
tuple val(meta), path(fastq)
|
|
path fast5_dir
|
|
path sequencing_summary
|
|
path ("primer-schemes/${scheme}/V${scheme_version}/${scheme}.reference.fasta")
|
|
path ("primer-schemes/${scheme}/V${scheme_version}/${scheme}.scheme.bed")
|
|
path medaka_model
|
|
val scheme
|
|
val scheme_version
|
|
|
|
output:
|
|
tuple val(meta), path("${prefix}.*") , emit: results
|
|
tuple val(meta), path("${prefix}.sorted.bam") , emit: bam
|
|
tuple val(meta), path("${prefix}.sorted.bam.bai") , emit: bai
|
|
tuple val(meta), path("${prefix}.trimmed.rg.sorted.bam") , emit: bam_trimmed
|
|
tuple val(meta), path("${prefix}.trimmed.rg.sorted.bam.bai") , emit: bai_trimmed
|
|
tuple val(meta), path("${prefix}.primertrimmed.rg.sorted.bam") , emit: bam_primertrimmed
|
|
tuple val(meta), path("${prefix}.primertrimmed.rg.sorted.bam.bai"), emit: bai_primertrimmed
|
|
tuple val(meta), path("${prefix}.consensus.fasta") , emit: fasta
|
|
tuple val(meta), path("${prefix}.pass.vcf.gz") , emit: vcf
|
|
tuple val(meta), path("${prefix}.pass.vcf.gz.tbi") , emit: tbi
|
|
tuple val(meta), path("*.json"), optional:true , emit: json
|
|
path "versions.yml" , emit: versions
|
|
|
|
script:
|
|
def args = task.ext.args ?: ''
|
|
prefix = task.ext.prefix ?: "${meta.id}"
|
|
def version = scheme_version.toString().toLowerCase().replaceAll('v','')
|
|
def fast5 = fast5_dir ? "--fast5-directory $fast5_dir" : ""
|
|
def summary = sequencing_summary ? "--sequencing-summary $sequencing_summary" : ""
|
|
def model = ""
|
|
if (args.tokenize().contains('--medaka')) {
|
|
fast5 = ""
|
|
summary = ""
|
|
model = file(medaka_model).exists() ? "--medaka-model ./$medaka_model" : "--medaka-model $medaka_model"
|
|
}
|
|
def hd5_plugin_path = task.ext.hd5_plugin_path ? "export HDF5_PLUGIN_PATH=" + task.ext.hd5_plugin_path : "export HDF5_PLUGIN_PATH=/usr/local/lib/python3.6/site-packages/ont_fast5_api/vbz_plugin"
|
|
"""
|
|
$hd5_plugin_path
|
|
|
|
artic \\
|
|
minion \\
|
|
$args \\
|
|
--threads $task.cpus \\
|
|
--read-file $fastq \\
|
|
--scheme-directory ./primer-schemes \\
|
|
--scheme-version $version \\
|
|
$model \\
|
|
$fast5 \\
|
|
$summary \\
|
|
$scheme \\
|
|
$prefix
|
|
|
|
cat <<-END_VERSIONS > versions.yml
|
|
"${task.process}":
|
|
artic: \$(artic --version 2>&1 | sed 's/^.*artic //; s/ .*\$//')
|
|
END_VERSIONS
|
|
"""
|
|
}
|