diff --git a/software/bedtools/fixbedcoordinates/functions.nf b/software/bedtools/fixbedcoordinates/functions.nf deleted file mode 100644 index d25eea86..00000000 --- a/software/bedtools/fixbedcoordinates/functions.nf +++ /dev/null @@ -1,59 +0,0 @@ -/* - * ----------------------------------------------------- - * Utility functions used in nf-core DSL2 module files - * ----------------------------------------------------- - */ - -/* - * Extract name of software tool from process name using $task.process - */ -def getSoftwareName(task_process) { - return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() -} - -/* - * Function to initialise default values and to generate a Groovy Map of available options for nf-core modules - */ -def initOptions(Map args) { - def Map options = [:] - options.args = args.args ?: '' - options.args2 = args.args2 ?: '' - options.publish_by_id = args.publish_by_id ?: false - options.publish_dir = args.publish_dir ?: '' - options.publish_files = args.publish_files - options.suffix = args.suffix ?: '' - return options -} - -/* - * Tidy up and join elements of a list to return a path string - */ -def getPathFromList(path_list) { - def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries - paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes - return paths.join('/') -} - -/* - * Function to save/publish module results - */ -def saveFiles(Map args) { - if (!args.filename.endsWith('.version.txt')) { - def ioptions = initOptions(args.options) - def path_list = [ ioptions.publish_dir ?: args.publish_dir ] - if (ioptions.publish_by_id) { - path_list.add(args.publish_id) - } - if (ioptions.publish_files instanceof Map) { - for (ext in ioptions.publish_files) { - if (args.filename.endsWith(ext.key)) { - def ext_list = path_list.collect() - ext_list.add(ext.value) - return "${getPathFromList(ext_list)}/$args.filename" - } - } - } else if (ioptions.publish_files == null) { - return "${getPathFromList(path_list)}/$args.filename" - } - } -} diff --git a/software/bedtools/fixbedcoordinates/main.nf b/software/bedtools/fixbedcoordinates/main.nf deleted file mode 100644 index a7f1e5ec..00000000 --- a/software/bedtools/fixbedcoordinates/main.nf +++ /dev/null @@ -1,41 +0,0 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [:] -def options = initOptions(params.options) - -def VERSION = '2.29' - -process BEDTOOLS_FIXBEDCOORDINATES { - tag "$meta.id" - label 'process_medium' - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) } - - conda (params.enable_conda ? "bioconda::bedtools =2.29.2" : null) - if (workflow.containerEngine == 'singularity' && !params.pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/bedtools:2.29.2--hc088bd4_0 " - } else { - container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0" - } - - input: - tuple val(meta), path("*.sloprefseq.bed") - - output: - tuple val(meta), path("*.sloprefseqsorted.bed"), emit: bed - path "*.version.txt", emit: version - - script: - def software = getSoftwareName(task.process) - def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" - // sorted via chromosome, then by start position - """ - awk -F '\\t' 'length($1) <= 5 {{ print }}' ${prefix}.sloprefseq.bed | - awk '{{ if ($2 > $3) {{ t = $2; $2 = $3; $3 = t; }} \ - else if ($2 == $3) {{ $3 += 1; }} print $0; }}' OFS='\\t' - \ - | sort-bed > ${prefix}.sloprefseqsorted.bed - echo $VERSION > ${software}.version.txt - """ -} diff --git a/software/bedtools/fixbedcoordinates/meta.yml b/software/bedtools/fixbedcoordinates/meta.yml deleted file mode 100644 index ad6e0cac..00000000 --- a/software/bedtools/fixbedcoordinates/meta.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: bedtools_fixbedcoordinates -description: Removes chrXYZ_random entries in hg18, fixes alignments if start is after the end and -sorts the entries - -keywords: - - bed - - length - - sort - - tools: - - bedtools: - description: | - A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types. - documentation: https://bedtools.readthedocs.io/en/latest/ - -params: - - outdir: - type: string - description: | - The pipeline's output directory. By default, the module will - output files into `$params.outdir/` - - publish_dir_mode: - type: string - description: | - Value for the Nextflow `publishDir` mode parameter. - Available: symlink, rellink, link, copy, copyNoFollow, move. - - enable_conda: - type: boolean - description: | - Run the module with Conda using the software specified - via the `conda` directive -input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: List of bed files - pattern: "*.{bed}" -output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: Edited bed file - pattern: "*.{bed}" - - version: - type: file - description: File containing software version - pattern: "*.{version.txt}" diff --git a/software/bedtools/removegenes/main.nf b/software/bedtools/removegenes/main.nf index bbbb6c48..e1e0b435 100644 --- a/software/bedtools/removegenes/main.nf +++ b/software/bedtools/removegenes/main.nf @@ -4,9 +4,7 @@ include { initOptions; saveFiles; getSoftwareName } from './functions' params.options = [:] def options = initOptions(params.options) -def VERSION = '4.11' - -process BEDTOOLS_SLOPEREFSEQ { +process BEDTOOLS_REMOVEGENES { tag "$meta.id" label 'process_medium' publishDir "${params.outdir}", @@ -21,11 +19,11 @@ process BEDTOOLS_SLOPEREFSEQ { } input: - path metatranscripts - tuple val(meta), path("*.sloprefseqsorted.bed") + tuple val(meta), path(slopbed) + path metatranscript output: - tuple val(meta), path("*.nogenes.bed"), emit: bed + tuple val(meta), path("*.nogenes.bed"), emit: nogenesbed path "*.version.txt", emit: version script: @@ -33,8 +31,8 @@ process BEDTOOLS_SLOPEREFSEQ { def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" // sorted via chromosome, then by start position """ - bedtools intersect -a $metatranscripts -b ${prefix}.sloprefseqsorted.bed -v \\ - sort -k1,1 -k2,2n > {prefix}.nogenes.bed - echo $VERSION > ${software}.version.txt + bedtools intersect -a $metatranscript -b $slopbed -v \\ + | sortBed > ${prefix}.nogenes.bed + bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt """ } \ No newline at end of file diff --git a/software/bedtools/removegenes/meta.yml b/software/bedtools/removegenes/meta.yml index 2aed0cbb..8d90e964 100644 --- a/software/bedtools/removegenes/meta.yml +++ b/software/bedtools/removegenes/meta.yml @@ -1,5 +1,5 @@ name: bedtools_removegenes -description: Adds 1 KB to the front of the genes and 10 KB to the end of the sequence. +description: Removes the intergenic regions from GRO-Seq Transcripts keywords: diff --git a/software/bedtools/slopRefseq/main.nf b/software/bedtools/slopRefseq/main.nf deleted file mode 100644 index fb643375..00000000 --- a/software/bedtools/slopRefseq/main.nf +++ /dev/null @@ -1,39 +0,0 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [:] -def options = initOptions(params.options) - -def VERSION = '4.11' - -process BEDTOOLS_SLOPEREFSEQ { - tag "$meta.id" - label 'process_medium' - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) } - - conda (params.enable_conda ? "bioconda::bedtools =2.29.2" : null) - if (workflow.containerEngine == 'singularity' && !params.pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/bedtools:2.29.2--hc088bd4_0 " - } else { - container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0" - } - - input: - path sizes - tuple val(meta), path(beds) - - output: - tuple val(meta), path("*.sloprefseq.bed"), emit: bed - path "*.version.txt", emit: version - - script: - def software = getSoftwareName(task.process) - def beds_files = beds.sort() - def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" - """ - slopBed -i $beds -g $sizes -l ${params.upstream} -r {params.downstream} > ${prefix}.sloprefseq.bed - echo $VERSION > ${software}.version.txt - """ -} diff --git a/software/bedtools/slopRefseq/meta.yml b/software/bedtools/slopRefseq/meta.yml deleted file mode 100644 index 641ef80d..00000000 --- a/software/bedtools/slopRefseq/meta.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: bedtools_sloperefseq -description: Adds 1 KB to the front of the genes and 10 KB to the end of the sequence. - - -keywords: - - bed - - slopBed - - downstream - - upstream -tools: - - bedtools: - description: | - A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types. - documentation: https://bedtools.readthedocs.io/en/latest/ - -params: - - outdir: - type: string - description: | - The pipeline's output directory. By default, the module will - output files into `$params.outdir/` - - publish_dir_mode: - type: string - description: | - Value for the Nextflow `publishDir` mode parameter. - Available: symlink, rellink, link, copy, copyNoFollow, move. - - enable_conda: - type: boolean - description: | - Run the module with Conda using the software specified - via the `conda` directive -input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: List of bed files - pattern: "*.{bed}" -output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: Edited bed file - pattern: "*.{bed}" - - version: - type: file - description: File containing software version - pattern: "*.{version.txt}" \ No newline at end of file diff --git a/software/bedtools/sloprefseq/functions.nf b/software/bedtools/sloprefseq/functions.nf deleted file mode 100644 index 54dc8fe8..00000000 --- a/software/bedtools/sloprefseq/functions.nf +++ /dev/null @@ -1,59 +0,0 @@ -/* - * ----------------------------------------------------- - * Utility functions used in nf-core DSL2 module files - * ----------------------------------------------------- - */ - -/* - * Extract name of software tool from process name using $task.process - */ -def getSoftwareName(task_process) { - return task_process.tokenize(':')[-1].tokenize('_')[0].toLowerCase() -} - -/* - * Function to initialise default values and to generate a Groovy Map of available options for nf-core modules - */ -def initOptions(Map args) { - def Map options = [:] - options.args = args.args ?: '' - options.args2 = args.args2 ?: '' - options.publish_by_id = args.publish_by_id ?: false - options.publish_dir = args.publish_dir ?: '' - options.publish_files = args.publish_files - options.suffix = args.suffix ?: '' - return options -} - -/* - * Tidy up and join elements of a list to return a path string - */ -def getPathFromList(path_list) { - def paths = path_list.findAll { item -> !item?.trim().isEmpty() } // Remove empty entries - paths = paths.collect { it.trim().replaceAll("^[/]+|[/]+\$", "") } // Trim whitespace and trailing slashes - return paths.join('/') -} - -/* - * Function to save/publish module results - */ -def saveFiles(Map args) { - if (!args.filename.endsWith('.version.txt')) { - def ioptions = initOptions(args.options) - def path_list = [ ioptions.publish_dir ?: args.publish_dir ] - if (ioptions.publish_by_id) { - path_list.add(args.publish_id) - } - if (ioptions.publish_files instanceof Map) { - for (ext in ioptions.publish_files) { - if (args.filename.endsWith(ext.key)) { - def ext_list = path_list.collect() - ext_list.add(ext.value) - return "${getPathFromList(ext_list)}/$args.filename" - } - } - } else if (ioptions.publish_files == null) { - return "${getPathFromList(path_list)}/$args.filename" - } - } -} \ No newline at end of file diff --git a/software/bedtools/sloprefseq/main.nf b/software/bedtools/sloprefseq/main.nf deleted file mode 100644 index dbaaa311..00000000 --- a/software/bedtools/sloprefseq/main.nf +++ /dev/null @@ -1,39 +0,0 @@ -// Import generic module functions -include { initOptions; saveFiles; getSoftwareName } from './functions' - -params.options = [upstream: 1, - downstream: 10 ] - -def options = initOptions(params.options) - -process BEDTOOLS_SLOPREFSEQ { - tag "$meta.id" - label 'process_medium' - publishDir "${params.outdir}", - mode: params.publish_dir_mode, - saveAs: { filename -> saveFiles(filename:filename, options:params.options, publish_dir:getSoftwareName(task.process), publish_id:meta.id) } - - conda (params.enable_conda ? "bioconda::bedtools =2.29.2" : null) - if (workflow.containerEngine == 'singularity' && !params.pull_docker_container) { - container "https://depot.galaxyproject.org/singularity/bedtools:2.29.2--hc088bd4_0 " - } else { - container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0" - } - - input: - tuple val(meta), path(beds) - path sizes - - output: - tuple val(meta), path("*.sloprefseq.bed"), emit: bed - path "*.version.txt", emit: version - - script: - def software = getSoftwareName(task.process) - def beds_files = beds.sort() - def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}" - """ - slopBed -i ln -s ${beds[0]} -g ln -s $sizes -l ${params.upstream} -r ${params.downstream} > ${prefix}.sloprefseq.bed - bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt - """ -} diff --git a/software/bedtools/sloprefseq/meta.yml b/software/bedtools/sloprefseq/meta.yml deleted file mode 100644 index 641ef80d..00000000 --- a/software/bedtools/sloprefseq/meta.yml +++ /dev/null @@ -1,55 +0,0 @@ -name: bedtools_sloperefseq -description: Adds 1 KB to the front of the genes and 10 KB to the end of the sequence. - - -keywords: - - bed - - slopBed - - downstream - - upstream -tools: - - bedtools: - description: | - A set of tools for genomic analysis tasks, specifically enabling genome arithmetic (merge, count, complement) on various file types. - documentation: https://bedtools.readthedocs.io/en/latest/ - -params: - - outdir: - type: string - description: | - The pipeline's output directory. By default, the module will - output files into `$params.outdir/` - - publish_dir_mode: - type: string - description: | - Value for the Nextflow `publishDir` mode parameter. - Available: symlink, rellink, link, copy, copyNoFollow, move. - - enable_conda: - type: boolean - description: | - Run the module with Conda using the software specified - via the `conda` directive -input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: List of bed files - pattern: "*.{bed}" -output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - bed: - type: file - description: Edited bed file - pattern: "*.{bed}" - - version: - type: file - description: File containing software version - pattern: "*.{version.txt}" \ No newline at end of file diff --git a/software/bedtools/sloprefseq/test/input/A.bed b/software/bedtools/sloprefseq/test/input/A.bed deleted file mode 100644 index dc9a4f0c..00000000 --- a/software/bedtools/sloprefseq/test/input/A.bed +++ /dev/null @@ -1,5 +0,0 @@ -chr1 951 1061 -chr1 1300 1420 -chr1 1400 1500 - - diff --git a/software/bedtools/sloprefseq/test/input/genome.sizes b/software/bedtools/sloprefseq/test/input/genome.sizes deleted file mode 100644 index 8cc54558..00000000 --- a/software/bedtools/sloprefseq/test/input/genome.sizes +++ /dev/null @@ -1 +0,0 @@ -chr1 1780869 diff --git a/software/bedtools/sloprefseq/test/main.nf b/software/bedtools/sloprefseq/test/main.nf deleted file mode 100644 index 834c1add..00000000 --- a/software/bedtools/sloprefseq/test/main.nf +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.preview.dsl = 2 - -include { BEDTOOLS_SLOPREFSEQ } from '../../sloprefseq/main.nf' addParams( options: [publish_dir:'test_bed_file']) - -// Define input channels - -// Run the workflow -workflow test_bed_file{ - def input = [] - input = [ [ id:'test', single_end:true ], - [ file("${baseDir}/input/A.bed", checkIfExists: true),] ] - - BEDTOOLS_SLOPREFSEQ ( - input, - file("${baseDir}/input/genome.sizes", checkIfExists: true) - ) - - -} - -workflow { - test_bed_file() -} diff --git a/software/bedtools/sloprefseq/test/nextflow.config b/software/bedtools/sloprefseq/test/nextflow.config deleted file mode 100644 index 4ee101de..00000000 --- a/software/bedtools/sloprefseq/test/nextflow.config +++ /dev/null @@ -1,20 +0,0 @@ - -params { - outdir = "output/" - publish_dir_mode = "copy" - enable_conda = false -} - -profiles { - conda { - params.enable_conda = true - } - docker { - docker.enabled = true - docker.runOptions = '-u \$(id -u):\$(id -g)' - } - singularity { - singularity.enabled = true - singularity.autoMounts = true - } -}