From b5facb2db2990a73325779311571f5892405dfa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Langer?= <61791748+bjlang@users.noreply.github.com> Date: Thu, 7 Jul 2022 22:40:31 +0200 Subject: [PATCH] Ataqv mkarv (#1857) * first draft * fix test run * Apply suggestions from code review Co-authored-by: Jose Espinosa-Carrasco * Update tests/modules/ataqv/mkarv/test.yml * Update tests/modules/ataqv/mkarv/test.yml * Update tests/modules/ataqv/mkarv/test.yml * Update tests/modules/ataqv/mkarv/test.yml * Update tests/modules/ataqv/mkarv/test.yml * Update modules/ataqv/mkarv/nextflow.config * Delete nextflow.config * Update tests/modules/ataqv/mkarv/test.yml * fix linting * fix linting Co-authored-by: bjlang <> Co-authored-by: Jose Espinosa-Carrasco --- modules/ataqv/mkarv/main.nf | 35 +++++++++++++++ modules/ataqv/mkarv/meta.yml | 31 +++++++++++++ tests/config/pytest_modules.yml | 4 ++ tests/modules/ataqv/mkarv/main.nf | 19 ++++++++ tests/modules/ataqv/mkarv/nextflow.config | 5 +++ tests/modules/ataqv/mkarv/test.yml | 55 +++++++++++++++++++++++ 6 files changed, 149 insertions(+) create mode 100644 modules/ataqv/mkarv/main.nf create mode 100644 modules/ataqv/mkarv/meta.yml create mode 100644 tests/modules/ataqv/mkarv/main.nf create mode 100644 tests/modules/ataqv/mkarv/nextflow.config create mode 100644 tests/modules/ataqv/mkarv/test.yml diff --git a/modules/ataqv/mkarv/main.nf b/modules/ataqv/mkarv/main.nf new file mode 100644 index 00000000..3a0550d4 --- /dev/null +++ b/modules/ataqv/mkarv/main.nf @@ -0,0 +1,35 @@ +process ATAQV_MKARV { + label 'process_medium' + + conda (params.enable_conda ? "bioconda::ataqv=1.3.0" : null) + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ataqv:1.3.0--py39hccc85d7_2': + 'quay.io/biocontainers/ataqv:1.3.0--py39hccc85d7_2' }" + + input: + path json + + output: + path "html" , emit: html + path "versions.yml", emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + """ + mkarv \\ + $args \\ + --concurrency $task.cpus \\ + --force \\ + ./html/ \\ + ${json.join(' ')} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + # mkarv: \$( mkarv --version ) # Use this when version string has been fixed + ataqv: \$( ataqv --version ) + END_VERSIONS + """ +} diff --git a/modules/ataqv/mkarv/meta.yml b/modules/ataqv/mkarv/meta.yml new file mode 100644 index 00000000..8da66c61 --- /dev/null +++ b/modules/ataqv/mkarv/meta.yml @@ -0,0 +1,31 @@ +name: "ataqv_mkarv" +description: mkarv function of a corresponding ataqv tool +keywords: + - mkarv +tools: + - "ataqv": + description: "ataqv is a toolkit for measuring and comparing ATAC-seq results. It was written to help understand how well ATAC-seq assays have worked, and to make it easier to spot differences that might be caused by library prep or sequencing." + homepage: "https://github.com/ParkerLab/ataqv/blob/master/README.rst" + documentation: "https://github.com/ParkerLab/ataqv/blob/master/README.rst" + tool_dev_url: "https://github.com/ParkerLab/ataqv" + doi: "" + licence: "['GPL v3']" + +input: + - json: + type: file + description: The JSON file with ataqv metrics + pattern: "*.json" + +output: + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" + - html: + type: directory + description: Web application to visualize results in HTML format + pattern: "*.html" + +authors: + - "@bjlang" diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index 93267270..6658ffc9 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -86,6 +86,10 @@ ataqv/ataqv: - modules/ataqv/ataqv/** - tests/modules/ataqv/ataqv/** +ataqv/mkarv: + - modules/ataqv/mkarv/** + - tests/modules/ataqv/mkarv/** + atlas/call: - modules/atlas/call/** - tests/modules/atlas/call/** diff --git a/tests/modules/ataqv/mkarv/main.nf b/tests/modules/ataqv/mkarv/main.nf new file mode 100644 index 00000000..d5bab5c5 --- /dev/null +++ b/tests/modules/ataqv/mkarv/main.nf @@ -0,0 +1,19 @@ +#!/usr/bin/env nextflow + +nextflow.enable.dsl = 2 + +include { ATAQV_ATAQV } from '../../../../modules/ataqv/ataqv/main.nf' +include { ATAQV_MKARV } from '../../../../modules/ataqv/mkarv/main.nf' + +workflow test_ataqv_mkarv { + + input = [ + [ id:'test', single_end:false ], + file(params.test_data['sarscov2']['illumina']['test_paired_end_bam'], checkIfExists: true), + [], + [] + ] + + ATAQV_ATAQV ( input, 'human', [], [], [] ) + ATAQV_MKARV ( ATAQV_ATAQV.out.json.collect{ it[1]} ) +} diff --git a/tests/modules/ataqv/mkarv/nextflow.config b/tests/modules/ataqv/mkarv/nextflow.config new file mode 100644 index 00000000..8730f1c4 --- /dev/null +++ b/tests/modules/ataqv/mkarv/nextflow.config @@ -0,0 +1,5 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + +} diff --git a/tests/modules/ataqv/mkarv/test.yml b/tests/modules/ataqv/mkarv/test.yml new file mode 100644 index 00000000..fc6e3801 --- /dev/null +++ b/tests/modules/ataqv/mkarv/test.yml @@ -0,0 +1,55 @@ +- name: ataqv mkarv test_ataqv_mkarv + command: nextflow run ./tests/modules/ataqv/mkarv -entry test_ataqv_mkarv -c ./tests/config/nextflow.config -c ./tests/modules/ataqv/mkarv/nextflow.config + tags: + - ataqv/mkarv + - ataqv + + files: + - path: output/ataqv/html/css/ataqv.css + md5sum: 7bb9e18974018dd29bdc12a46a6d6d65 + - path: output/ataqv/html/css/datatables.buttons.min.css + md5sum: 675306abc9d3239314f2c66c0e22ef7a + - path: output/ataqv/html/css/datatables.fontawesome.css + md5sum: 716d7a3edd2c75e712b1ffe26f12a861 + - path: output/ataqv/html/css/datatables.min.css + md5sum: 00ef3e39d9302618395ab189ec8bcd9f + - path: output/ataqv/html/css/font-awesome.min.css + md5sum: 89916fa773ce96569604016ef25cab50 + - path: output/ataqv/html/css/normalize.css + md5sum: 40d20cc85100840580df4346bb99d7ed + - path: output/ataqv/html/data/1.json.gz + - path: output/ataqv/html/fonts/FontAwesome.otf + md5sum: 9ccfa32dd4cd1b8e83f68899d85bd5e6 + - path: output/ataqv/html/fonts/fontawesome-webfont.eot + md5sum: 404a525502f8e5ba7e93b9f02d9e83a9 + - path: output/ataqv/html/fonts/fontawesome-webfont.svg + md5sum: bae4a87c1e5dff40baa3f49d52f5347a + - path: output/ataqv/html/fonts/fontawesome-webfont.ttf + md5sum: fb650aaf10736ffb9c4173079616bf01 + - path: output/ataqv/html/fonts/fontawesome-webfont.woff + md5sum: 891e3f340c1126b4c7c142e5f6e86816 + - path: output/ataqv/html/fonts/fontawesome-webfont.woff2 + md5sum: 926c93d201fe51c8f351e858468980c3 + - path: output/ataqv/html/fonts/sourcesanspro-regular.woff + md5sum: f7bd788f18b8c4bb93dd37d140348e1e + - path: output/ataqv/html/fonts/sourcesanspro-regularit.woff + md5sum: c3638b17f4fd76dae12fe2ae14571e57 + - path: output/ataqv/html/fonts/sourcesanspro-semibold.woff + md5sum: e7fc8925d9364e9d177d9e1d08bb1855 + - path: output/ataqv/html/fonts/sourcesanspro-semiboldit.woff + md5sum: f1d255aa459786dfc6aa2e488ac01245 + - path: output/ataqv/html/index.html + md5sum: bf7747be761e56ad7c54c842ac88461a + - path: output/ataqv/html/js/ataqv.js + md5sum: feb291b7839e9e43ed304565e3a605d9 + - path: output/ataqv/html/js/configuration.js + md5sum: 073bc07f1371e28a97098f8b10469ae4 + - path: output/ataqv/html/js/d3.min.js + md5sum: db69fb2626a71a286ee772d673138aca + - path: output/ataqv/html/js/datatables.min.js + md5sum: e369b872620dadb05e4eb555b81f9112 + - path: output/ataqv/html/js/jszip.min.js + md5sum: 09e492cb492ffa75484bbe10f1f721d1 + - path: output/ataqv/test.ataqv.json + contains: + - '"properly_paired_and_mapped_reads": 192,'