mirror of
https://github.com/MillironX/nf-core_modules.git
synced 2024-12-22 11:08:17 +00:00
Added all modules with basic functionality and updated meta.yml files.
This commit is contained in:
parent
89e5473b44
commit
a984c1be7c
33 changed files with 1081 additions and 9 deletions
|
@ -45,9 +45,13 @@ output:
|
|||
- bed:
|
||||
type: file
|
||||
description: Edited bed file
|
||||
pattern: "*.{slopbed}"
|
||||
pattern: "*.{complement.bed}"
|
||||
|
||||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
60
software/bedtools/genomecov/functions.nf
Normal file
60
software/bedtools/genomecov/functions.nf
Normal file
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* -----------------------------------------------------
|
||||
* 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 ?: ''
|
||||
options.sizeA - args.sizeA ?: '-sizeA'
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
31
software/bedtools/genomecov/main.nf
Normal file
31
software/bedtools/genomecov/main.nf
Normal file
|
@ -0,0 +1,31 @@
|
|||
// Import generic module functions
|
||||
include { initOptions; saveFiles; getSoftwareName } from './functions'
|
||||
|
||||
def options = initOptions(params.options)
|
||||
|
||||
process BEDTOOLS_GENOMECOV {
|
||||
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)
|
||||
container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(bams)
|
||||
path sizes
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.bed"), emit: coverage
|
||||
path "*.version.txt", emit: version
|
||||
|
||||
script:
|
||||
def software = getSoftwareName(task.process)
|
||||
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
|
||||
"""
|
||||
bedtools genomecov -ibam $bams -g $sizes ${options.args} > ${prefix}.bed
|
||||
bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt
|
||||
"""
|
||||
}
|
58
software/bedtools/genomecov/meta.yml
Normal file
58
software/bedtools/genomecov/meta.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
name: bedtools_genomecov
|
||||
description: Computes histograms (default), per-base reports (-d) and BEDGRAPH (-bg) summaries of feature coverage (e.g., aligned sequences) for a given genome.
|
||||
keywords:
|
||||
- bed
|
||||
- bam
|
||||
- genomecov
|
||||
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/<SOFTWARE>`
|
||||
- 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 ]
|
||||
- bam:
|
||||
type: file
|
||||
description: List of bam files
|
||||
pattern: "*.{bed}"
|
||||
output:
|
||||
- meta:
|
||||
type: map
|
||||
description: |
|
||||
Groovy Map containing sample information
|
||||
e.g. [ id:'test', single_end:false ]
|
||||
- bed:
|
||||
type: file
|
||||
description: Computed bed file
|
||||
pattern: "*.{bed}"
|
||||
|
||||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
Binary file not shown.
1
software/bedtools/genomecov/test/input/genome.sizes
Normal file
1
software/bedtools/genomecov/test/input/genome.sizes
Normal file
|
@ -0,0 +1 @@
|
|||
chr1 1780869
|
23
software/bedtools/genomecov/test/main.nf
Normal file
23
software/bedtools/genomecov/test/main.nf
Normal file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
include { BEDTOOLS_GENOMECOV } from '../main.nf' addParams( options: [publish_dir:'test_bed_file'] )
|
||||
// Define input channels
|
||||
|
||||
// Run the workflow
|
||||
workflow test_bed_file {
|
||||
def input = []
|
||||
input = [ [ id:'test'],
|
||||
[ file("${baseDir}/input/JK2067_downsampled_s0.1.bam", checkIfExists: true),] ]
|
||||
|
||||
BEDTOOLS_GENOMECOV (
|
||||
input,
|
||||
file("${baseDir}/input/genome.sizes", checkIfExists: true) )
|
||||
|
||||
}
|
||||
|
||||
workflow {
|
||||
test_bed_file()
|
||||
}
|
||||
|
||||
|
20
software/bedtools/genomecov/test/nextflow.config
Normal file
20
software/bedtools/genomecov/test/nextflow.config
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
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
|
||||
}
|
||||
}
|
294
software/bedtools/genomecov/test/output/test_bed_file/test.bed
Normal file
294
software/bedtools/genomecov/test/output/test_bed_file/test.bed
Normal file
|
@ -0,0 +1,294 @@
|
|||
1 0 249204716 249250621 0.999816
|
||||
1 1 43780 249250621 0.000175647
|
||||
1 2 1412 249250621 5.66498e-06
|
||||
1 3 539 249250621 2.16248e-06
|
||||
1 4 96 249250621 3.85154e-07
|
||||
1 5 58 249250621 2.32698e-07
|
||||
1 6 20 249250621 8.02405e-08
|
||||
2 0 243163429 243199373 0.999852
|
||||
2 1 34966 243199373 0.000143775
|
||||
2 2 788 243199373 3.24014e-06
|
||||
2 3 108 243199373 4.4408e-07
|
||||
2 4 6 243199373 2.46711e-08
|
||||
2 5 7 243199373 2.8783e-08
|
||||
2 6 18 243199373 7.40134e-08
|
||||
2 7 9 243199373 3.70067e-08
|
||||
2 8 22 243199373 9.04608e-08
|
||||
2 9 20 243199373 8.22371e-08
|
||||
3 0 197987095 198022430 0.999822
|
||||
3 1 34330 198022430 0.000173364
|
||||
3 2 846 198022430 4.27224e-06
|
||||
3 3 133 198022430 6.71641e-07
|
||||
3 4 6 198022430 3.02996e-08
|
||||
3 5 9 198022430 4.54494e-08
|
||||
3 6 11 198022430 5.55493e-08
|
||||
4 0 191126526 191154276 0.999855
|
||||
4 1 26574 191154276 0.000139019
|
||||
4 2 1004 191154276 5.2523e-06
|
||||
4 3 82 191154276 4.28973e-07
|
||||
4 4 83 191154276 4.34204e-07
|
||||
4 5 7 191154276 3.66196e-08
|
||||
5 0 180886808 180915260 0.999843
|
||||
5 1 27410 180915260 0.000151507
|
||||
5 2 923 180915260 5.10184e-06
|
||||
5 3 118 180915260 6.52239e-07
|
||||
5 4 1 180915260 5.52745e-09
|
||||
6 0 171084991 171115067 0.999824
|
||||
6 1 28629 171115067 0.000167308
|
||||
6 2 1305 171115067 7.62645e-06
|
||||
6 3 92 171115067 5.3765e-07
|
||||
6 4 25 171115067 1.46101e-07
|
||||
6 5 12 171115067 7.01282e-08
|
||||
6 6 7 171115067 4.09081e-08
|
||||
6 7 6 171115067 3.50641e-08
|
||||
7 0 159111304 159138663 0.999828
|
||||
7 1 26666 159138663 0.000167565
|
||||
7 2 440 159138663 2.76488e-06
|
||||
7 3 183 159138663 1.14994e-06
|
||||
7 4 70 159138663 4.39868e-07
|
||||
8 0 146341699 146364022 0.999848
|
||||
8 1 21455 146364022 0.000146587
|
||||
8 2 759 146364022 5.1857e-06
|
||||
8 3 37 146364022 2.52794e-07
|
||||
8 4 72 146364022 4.91924e-07
|
||||
9 0 141187603 141213431 0.999817
|
||||
9 1 24761 141213431 0.000175345
|
||||
9 2 998 141213431 7.06732e-06
|
||||
9 3 13 141213431 9.20592e-08
|
||||
9 4 30 141213431 2.12444e-07
|
||||
9 5 26 141213431 1.84118e-07
|
||||
10 0 135509469 135534747 0.999813
|
||||
10 1 24236 135534747 0.000178818
|
||||
10 2 776 135534747 5.72547e-06
|
||||
10 3 167 135534747 1.23216e-06
|
||||
10 4 11 135534747 8.116e-08
|
||||
10 5 7 135534747 5.16473e-08
|
||||
10 6 4 135534747 2.95127e-08
|
||||
10 7 1 135534747 7.37818e-09
|
||||
10 8 2 135534747 1.47564e-08
|
||||
10 9 4 135534747 2.95127e-08
|
||||
10 10 3 135534747 2.21345e-08
|
||||
10 11 8 135534747 5.90255e-08
|
||||
10 12 2 135534747 1.47564e-08
|
||||
10 13 7 135534747 5.16473e-08
|
||||
10 14 9 135534747 6.64036e-08
|
||||
10 15 3 135534747 2.21345e-08
|
||||
10 16 7 135534747 5.16473e-08
|
||||
10 17 5 135534747 3.68909e-08
|
||||
10 18 26 135534747 1.91833e-07
|
||||
11 0 134983075 135006516 0.999826
|
||||
11 1 22281 135006516 0.000165036
|
||||
11 2 904 135006516 6.69597e-06
|
||||
11 3 191 135006516 1.41475e-06
|
||||
11 4 4 135006516 2.96282e-08
|
||||
11 5 61 135006516 4.5183e-07
|
||||
12 0 133825601 133851895 0.999804
|
||||
12 1 25225 133851895 0.000188455
|
||||
12 2 801 133851895 5.98423e-06
|
||||
12 3 145 133851895 1.08329e-06
|
||||
12 4 55 133851895 4.10902e-07
|
||||
12 5 4 133851895 2.98838e-08
|
||||
12 6 64 133851895 4.7814e-07
|
||||
13 0 115155062 115169878 0.999871
|
||||
13 1 14274 115169878 0.000123939
|
||||
13 2 347 115169878 3.01294e-06
|
||||
13 3 142 115169878 1.23296e-06
|
||||
13 4 24 115169878 2.08388e-07
|
||||
13 5 11 115169878 9.55111e-08
|
||||
13 6 18 115169878 1.56291e-07
|
||||
14 0 107333562 107349540 0.999851
|
||||
14 1 15532 107349540 0.000144686
|
||||
14 2 191 107349540 1.77923e-06
|
||||
14 3 121 107349540 1.12716e-06
|
||||
14 4 88 107349540 8.19752e-07
|
||||
14 5 46 107349540 4.28507e-07
|
||||
15 0 102515396 102531392 0.999844
|
||||
15 1 15486 102531392 0.000151037
|
||||
15 2 366 102531392 3.56964e-06
|
||||
15 3 144 102531392 1.40445e-06
|
||||
16 0 90333722 90354753 0.999767
|
||||
16 1 20001 90354753 0.000221361
|
||||
16 2 820 90354753 9.07534e-06
|
||||
16 3 71 90354753 7.85792e-07
|
||||
16 4 44 90354753 4.86969e-07
|
||||
16 5 11 90354753 1.21742e-07
|
||||
16 6 5 90354753 5.53374e-08
|
||||
16 7 3 90354753 3.32025e-08
|
||||
16 8 2 90354753 2.2135e-08
|
||||
16 9 5 90354753 5.53374e-08
|
||||
16 10 6 90354753 6.64049e-08
|
||||
16 11 3 90354753 3.32025e-08
|
||||
16 12 3 90354753 3.32025e-08
|
||||
16 13 12 90354753 1.3281e-07
|
||||
16 14 2 90354753 2.2135e-08
|
||||
16 15 20 90354753 2.2135e-07
|
||||
16 16 23 90354753 2.54552e-07
|
||||
17 0 81170932 81195210 0.999701
|
||||
17 1 23491 81195210 0.000289315
|
||||
17 2 692 81195210 8.52267e-06
|
||||
17 3 11 81195210 1.35476e-07
|
||||
17 4 17 81195210 2.09372e-07
|
||||
17 5 10 81195210 1.2316e-07
|
||||
17 6 34 81195210 4.18744e-07
|
||||
17 7 23 81195210 2.83268e-07
|
||||
18 0 78063262 78077248 0.999821
|
||||
18 1 13667 78077248 0.000175045
|
||||
18 2 262 78077248 3.35565e-06
|
||||
18 3 19 78077248 2.43349e-07
|
||||
18 4 33 78077248 4.22658e-07
|
||||
18 5 5 78077248 6.40391e-08
|
||||
19 0 59108190 59128983 0.999648
|
||||
19 1 19902 59128983 0.000336586
|
||||
19 2 610 59128983 1.03164e-05
|
||||
19 3 27 59128983 4.56629e-07
|
||||
19 4 116 59128983 1.96181e-06
|
||||
19 5 33 59128983 5.58102e-07
|
||||
19 6 44 59128983 7.44136e-07
|
||||
19 7 3 59128983 5.07365e-08
|
||||
19 8 3 59128983 5.07365e-08
|
||||
19 9 19 59128983 3.21331e-07
|
||||
19 10 9 59128983 1.5221e-07
|
||||
19 11 27 59128983 4.56629e-07
|
||||
20 0 63012076 63025520 0.999787
|
||||
20 1 12945 63025520 0.000205393
|
||||
20 2 397 63025520 6.29904e-06
|
||||
20 3 102 63025520 1.61839e-06
|
||||
21 0 48122958 48129895 0.999856
|
||||
21 1 6643 48129895 0.000138022
|
||||
21 2 149 48129895 3.09579e-06
|
||||
21 3 91 48129895 1.89072e-06
|
||||
21 4 15 48129895 3.11657e-07
|
||||
21 5 39 48129895 8.10307e-07
|
||||
22 0 51293939 51304566 0.999793
|
||||
22 1 10237 51304566 0.000199534
|
||||
22 2 285 51304566 5.55506e-06
|
||||
22 3 105 51304566 2.0466e-06
|
||||
X 0 155247415 155270560 0.999851
|
||||
X 1 22268 155270560 0.000143414
|
||||
X 2 756 155270560 4.86892e-06
|
||||
X 3 50 155270560 3.22019e-07
|
||||
X 4 18 155270560 1.15927e-07
|
||||
X 5 18 155270560 1.15927e-07
|
||||
X 6 4 155270560 2.57615e-08
|
||||
X 7 3 155270560 1.93211e-08
|
||||
X 8 9 155270560 5.79633e-08
|
||||
X 9 7 155270560 4.50826e-08
|
||||
X 10 12 155270560 7.72845e-08
|
||||
Y 0 59371245 59373566 0.999961
|
||||
Y 1 2321 59373566 3.90915e-05
|
||||
MT 0 3945 16569 0.238095
|
||||
MT 1 4850 16569 0.292715
|
||||
MT 2 3384 16569 0.204237
|
||||
MT 3 2390 16569 0.144245
|
||||
MT 4 1097 16569 0.066208
|
||||
MT 5 575 16569 0.0347034
|
||||
MT 6 224 16569 0.0135192
|
||||
MT 7 93 16569 0.00561289
|
||||
MT 8 11 16569 0.00066389
|
||||
GL000226.1 0 14927 15008 0.994603
|
||||
GL000226.1 1 81 15008 0.00539712
|
||||
GL000240.1 0 41815 41933 0.997186
|
||||
GL000240.1 1 109 41933 0.00259938
|
||||
GL000240.1 2 9 41933 0.000214628
|
||||
GL000243.1 0 43287 43341 0.998754
|
||||
GL000243.1 1 54 43341 0.00124593
|
||||
GL000237.1 0 45784 45867 0.99819
|
||||
GL000237.1 1 83 45867 0.00180958
|
||||
GL000191.1 0 106392 106433 0.999615
|
||||
GL000191.1 1 41 106433 0.000385219
|
||||
GL000227.1 0 128301 128374 0.999431
|
||||
GL000227.1 1 73 128374 0.000568651
|
||||
GL000228.1 0 128928 129120 0.998513
|
||||
GL000228.1 1 192 129120 0.00148699
|
||||
GL000214.1 0 137590 137718 0.999071
|
||||
GL000214.1 1 128 137718 0.000929436
|
||||
GL000221.1 0 155362 155397 0.999775
|
||||
GL000221.1 1 35 155397 0.00022523
|
||||
GL000220.1 0 159710 161802 0.987071
|
||||
GL000220.1 1 1762 161802 0.0108899
|
||||
GL000220.1 2 298 161802 0.00184176
|
||||
GL000220.1 3 17 161802 0.000105067
|
||||
GL000220.1 4 15 161802 9.27059e-05
|
||||
GL000213.1 0 164203 164239 0.999781
|
||||
GL000213.1 1 36 164239 0.000219193
|
||||
GL000211.1 0 166452 166566 0.999316
|
||||
GL000211.1 1 114 166566 0.000684413
|
||||
GL000217.1 0 172108 172149 0.999762
|
||||
GL000217.1 1 41 172149 0.000238166
|
||||
GL000224.1 0 179651 179693 0.999766
|
||||
GL000224.1 1 42 179693 0.000233732
|
||||
GL000212.1 0 186823 186858 0.999813
|
||||
GL000212.1 1 35 186858 0.000187308
|
||||
GL000222.1 0 186783 186861 0.999583
|
||||
GL000222.1 1 78 186861 0.000417423
|
||||
GL000200.1 0 186924 187035 0.999407
|
||||
GL000200.1 1 111 187035 0.000593472
|
||||
GL000194.1 0 191355 191469 0.999405
|
||||
GL000194.1 1 114 191469 0.000595397
|
||||
GL000225.1 0 211019 211173 0.999271
|
||||
GL000225.1 1 154 211173 0.00072926
|
||||
GL000192.1 0 547447 547496 0.99991
|
||||
GL000192.1 1 49 547496 8.94984e-05
|
||||
hs37d5 0 35470929 35477943 0.999802
|
||||
hs37d5 1 6883 35477943 0.000194008
|
||||
hs37d5 2 111 35477943 3.1287e-06
|
||||
hs37d5 3 20 35477943 5.63731e-07
|
||||
GL000207.1 0 4262 4262 1
|
||||
GL000229.1 0 19913 19913 1
|
||||
GL000231.1 0 27386 27386 1
|
||||
GL000210.1 0 27682 27682 1
|
||||
GL000239.1 0 33824 33824 1
|
||||
GL000235.1 0 34474 34474 1
|
||||
GL000201.1 0 36148 36148 1
|
||||
GL000247.1 0 36422 36422 1
|
||||
GL000245.1 0 36651 36651 1
|
||||
GL000197.1 0 37175 37175 1
|
||||
GL000203.1 0 37498 37498 1
|
||||
GL000246.1 0 38154 38154 1
|
||||
GL000249.1 0 38502 38502 1
|
||||
GL000196.1 0 38914 38914 1
|
||||
GL000248.1 0 39786 39786 1
|
||||
GL000244.1 0 39929 39929 1
|
||||
GL000238.1 0 39939 39939 1
|
||||
GL000202.1 0 40103 40103 1
|
||||
GL000234.1 0 40531 40531 1
|
||||
GL000232.1 0 40652 40652 1
|
||||
GL000206.1 0 41001 41001 1
|
||||
GL000236.1 0 41934 41934 1
|
||||
GL000241.1 0 42152 42152 1
|
||||
GL000242.1 0 43523 43523 1
|
||||
GL000230.1 0 43691 43691 1
|
||||
GL000233.1 0 45941 45941 1
|
||||
GL000204.1 0 81310 81310 1
|
||||
GL000198.1 0 90085 90085 1
|
||||
GL000208.1 0 92689 92689 1
|
||||
GL000209.1 0 159169 159169 1
|
||||
GL000218.1 0 161147 161147 1
|
||||
GL000199.1 0 169874 169874 1
|
||||
GL000216.1 0 172294 172294 1
|
||||
GL000215.1 0 172545 172545 1
|
||||
GL000205.1 0 174588 174588 1
|
||||
GL000219.1 0 179198 179198 1
|
||||
GL000223.1 0 180455 180455 1
|
||||
GL000195.1 0 182896 182896 1
|
||||
GL000193.1 0 189789 189789 1
|
||||
NC_007605 0 171823 171823 1
|
||||
genome 0 3136893859 3137454505 0.999821
|
||||
genome 1 532145 3137454505 0.00016961
|
||||
genome 2 19633 3137454505 6.25762e-06
|
||||
genome 3 5118 3137454505 1.63126e-06
|
||||
genome 4 1926 3137454505 6.13873e-07
|
||||
genome 5 939 3137454505 2.99287e-07
|
||||
genome 6 453 3137454505 1.44385e-07
|
||||
genome 7 141 3137454505 4.49409e-08
|
||||
genome 8 49 3137454505 1.56178e-08
|
||||
genome 9 55 3137454505 1.75301e-08
|
||||
genome 10 30 3137454505 9.56189e-09
|
||||
genome 11 38 3137454505 1.21117e-08
|
||||
genome 12 5 3137454505 1.59365e-09
|
||||
genome 13 19 3137454505 6.05586e-09
|
||||
genome 14 11 3137454505 3.50603e-09
|
||||
genome 15 23 3137454505 7.33078e-09
|
||||
genome 16 30 3137454505 9.56189e-09
|
||||
genome 17 5 3137454505 1.59365e-09
|
||||
genome 18 26 3137454505 8.28697e-09
|
59
software/bedtools/intersect/functions.nf
Normal file
59
software/bedtools/intersect/functions.nf
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* -----------------------------------------------------
|
||||
* 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"
|
||||
}
|
||||
}
|
||||
}
|
30
software/bedtools/intersect/main.nf
Normal file
30
software/bedtools/intersect/main.nf
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Import generic module functions
|
||||
include { initOptions; saveFiles; getSoftwareName } from './functions'
|
||||
|
||||
def options = initOptions(params.options)
|
||||
|
||||
process BEDTOOLS_INTERSECT {
|
||||
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)
|
||||
container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(beds)
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.intersect.bed"), emit: intersect
|
||||
path "*.version.txt", emit: version
|
||||
|
||||
script: // TODO change script to account for multiple possible intersections
|
||||
def software = getSoftwareName(task.process)
|
||||
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
|
||||
"""
|
||||
bedtools intersect -a ${beds[0]} -b ${beds[1]} ${options.args} > ${prefix}.intersect.bed
|
||||
bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt
|
||||
"""
|
||||
}
|
58
software/bedtools/intersect/read.yml
Normal file
58
software/bedtools/intersect/read.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
name: bedtools_intersect
|
||||
description: allows one to screen for overlaps between two sets of genomic features.
|
||||
|
||||
keywords:
|
||||
- bed
|
||||
- intersect
|
||||
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/<SOFTWARE>`
|
||||
- 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: Overlapped bed file
|
||||
pattern: "*.{intersect.bed}"
|
||||
|
||||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
5
software/bedtools/intersect/test/input/A.bed
Normal file
5
software/bedtools/intersect/test/input/A.bed
Normal file
|
@ -0,0 +1,5 @@
|
|||
chr1 951 1061
|
||||
chr1 1300 1420
|
||||
chr1 1400 1500
|
||||
|
||||
|
1
software/bedtools/intersect/test/input/B.bed
Normal file
1
software/bedtools/intersect/test/input/B.bed
Normal file
|
@ -0,0 +1 @@
|
|||
chr1 999 1010
|
19
software/bedtools/intersect/test/main.nf
Normal file
19
software/bedtools/intersect/test/main.nf
Normal file
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env nextflow
|
||||
nextflow.enable.dsl = 2
|
||||
include { BEDTOOLS_INTERSECT } from '../main.nf' addParams( options: [publish_dir:'test_bed_file'] )
|
||||
// Run the workflow
|
||||
workflow test_bed_file {
|
||||
def input = []
|
||||
input = [ [ id:'test'],
|
||||
[ file("${baseDir}/input/A.bed", checkIfExists: true),
|
||||
file("${baseDir}/input/B.bed", checkIfExists: true) ] ]
|
||||
|
||||
BEDTOOLS_INTERSECT( input )
|
||||
|
||||
}
|
||||
|
||||
workflow {
|
||||
test_bed_file()
|
||||
}
|
||||
|
||||
|
20
software/bedtools/intersect/test/nextflow.config
Normal file
20
software/bedtools/intersect/test/nextflow.config
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
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
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
chr1 999 1010
|
59
software/bedtools/merge/functions.nf
Normal file
59
software/bedtools/merge/functions.nf
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* -----------------------------------------------------
|
||||
* 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"
|
||||
}
|
||||
}
|
||||
}
|
30
software/bedtools/merge/main.nf
Normal file
30
software/bedtools/merge/main.nf
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Import generic module functions
|
||||
include { initOptions; saveFiles; getSoftwareName } from './functions'
|
||||
|
||||
def options = initOptions(params.options)
|
||||
|
||||
process BEDTOOLS_MERGE {
|
||||
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)
|
||||
container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(beds)
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.merged.bed"), emit: merge
|
||||
path "*.version.txt", emit: version
|
||||
|
||||
script:
|
||||
def software = getSoftwareName(task.process)
|
||||
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
|
||||
"""
|
||||
bedtools merge -i $beds ${options.args} > ${prefix}.merged.bed
|
||||
bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt
|
||||
"""
|
||||
}
|
58
software/bedtools/merge/meta.yml
Normal file
58
software/bedtools/merge/meta.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
name: bedtools_merge
|
||||
description: combines overlapping or “book-ended” features in an interval file into a single feature which spans all of the combined features.
|
||||
|
||||
keywords:
|
||||
- bed
|
||||
- merge
|
||||
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/<SOFTWARE>`
|
||||
- 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: Overlapped bed file
|
||||
pattern: "*.{merged.bed}"
|
||||
|
||||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
5
software/bedtools/merge/test/input/A.bed
Normal file
5
software/bedtools/merge/test/input/A.bed
Normal file
|
@ -0,0 +1,5 @@
|
|||
chr1 951 1061
|
||||
chr1 1300 1420
|
||||
chr1 1400 1500
|
||||
|
||||
|
20
software/bedtools/merge/test/main.nf
Normal file
20
software/bedtools/merge/test/main.nf
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env nextflow
|
||||
nextflow.enable.dsl = 2
|
||||
include { BEDTOOLS_MERGE } from '../main.nf' addParams( options: [publish_dir:'test_bed_file'] )
|
||||
// Define input channels
|
||||
// TODO ensure input file is presorted (could use output of sort module)
|
||||
// Run the workflow
|
||||
workflow test_bed_file {
|
||||
def input = []
|
||||
input = [ [ id:'test'],
|
||||
[ file("${baseDir}/input/A.bed", checkIfExists: true),] ]
|
||||
|
||||
BEDTOOLS_MERGE( input )
|
||||
|
||||
}
|
||||
|
||||
workflow {
|
||||
test_bed_file()
|
||||
}
|
||||
|
||||
|
20
software/bedtools/merge/test/nextflow.config
Normal file
20
software/bedtools/merge/test/nextflow.config
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
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
|
||||
}
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
chr1 951 1061
|
||||
chr1 1300 1500
|
|
@ -22,12 +22,6 @@ def initOptions(Map args) {
|
|||
options.publish_dir = args.publish_dir ?: ''
|
||||
options.publish_files = args.publish_files
|
||||
options.suffix = args.suffix ?: ''
|
||||
options.l = args.l ?: ''
|
||||
options.r = args.r ?: ''
|
||||
options.b = args.b ?: ''
|
||||
options.s = args.s ?: ''
|
||||
options.pct = args.pct ?: true
|
||||
options.header = args.header ?: true
|
||||
return options
|
||||
}
|
||||
|
||||
|
|
|
@ -72,4 +72,8 @@ output:
|
|||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
59
software/bedtools/sort/functions.nf
Normal file
59
software/bedtools/sort/functions.nf
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* -----------------------------------------------------
|
||||
* 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"
|
||||
}
|
||||
}
|
||||
}
|
30
software/bedtools/sort/main.nf
Normal file
30
software/bedtools/sort/main.nf
Normal file
|
@ -0,0 +1,30 @@
|
|||
// Import generic module functions
|
||||
include { initOptions; saveFiles; getSoftwareName } from './functions'
|
||||
|
||||
def options = initOptions(params.options)
|
||||
|
||||
process BEDTOOLS_SORT {
|
||||
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)
|
||||
container "quay.io/biocontainers/bedtools:2.29.2--hc088bd4_0"
|
||||
|
||||
input:
|
||||
tuple val(meta), path(beds)
|
||||
|
||||
output:
|
||||
tuple val(meta), path("*.sort.bed"), emit: sort
|
||||
path "*.version.txt", emit: version
|
||||
|
||||
script:
|
||||
def software = getSoftwareName(task.process)
|
||||
def prefix = options.suffix ? "${meta.id}${options.suffix}" : "${meta.id}"
|
||||
"""
|
||||
bedtools sort -i $beds ${options.args} > ${prefix}.sort.bed
|
||||
bedtools --version | sed -e "s/Bedtools v//g" > ${software}.version.txt
|
||||
"""
|
||||
}
|
58
software/bedtools/sort/meta.yml
Normal file
58
software/bedtools/sort/meta.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
name: bedtools_sort
|
||||
description: Sorts a feature file by chromosome and other criteria.
|
||||
|
||||
keywords:
|
||||
- bed
|
||||
- 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/<SOFTWARE>`
|
||||
- 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: Sorted bed file
|
||||
pattern: "*.{sort.bed}"
|
||||
|
||||
- version:
|
||||
type: file
|
||||
description: File containing software version
|
||||
pattern: "*.{version.txt}"
|
||||
|
||||
authors:
|
||||
-"@Emiller88"
|
||||
-"@sruthipsuresh"
|
5
software/bedtools/sort/test/input/A.bed
Normal file
5
software/bedtools/sort/test/input/A.bed
Normal file
|
@ -0,0 +1,5 @@
|
|||
chr1 951 1061
|
||||
chr1 1300 1420
|
||||
chr1 1400 1500
|
||||
|
||||
|
21
software/bedtools/sort/test/main.nf
Normal file
21
software/bedtools/sort/test/main.nf
Normal file
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env nextflow
|
||||
|
||||
nextflow.enable.dsl = 2
|
||||
include { BEDTOOLS_SORT } from '../main.nf' addParams( options: [publish_dir:'test_bed_file'] )
|
||||
// Define input channels
|
||||
|
||||
// Run the workflow
|
||||
workflow test_bed_file {
|
||||
def input = []
|
||||
input = [ [ id:'test'],
|
||||
[ file("${baseDir}/input/A.bed", checkIfExists: true),] ]
|
||||
|
||||
BEDTOOLS_SORT( input )
|
||||
|
||||
}
|
||||
|
||||
workflow {
|
||||
test_bed_file()
|
||||
}
|
||||
|
||||
|
20
software/bedtools/sort/test/nextflow.config
Normal file
20
software/bedtools/sort/test/nextflow.config
Normal file
|
@ -0,0 +1,20 @@
|
|||
|
||||
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
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
chr1 951 1061
|
||||
chr1 1300 1420
|
||||
chr1 1400 1500
|
Loading…
Reference in a new issue