diff --git a/workflow/main.nf b/workflow/main.nf index f89abdb7391ccbf43ec279d2b83524abd20adb8c..2a210bbb74d7b1490a33d6a0510b4907688fae1d 100644 --- a/workflow/main.nf +++ b/workflow/main.nf @@ -487,6 +487,8 @@ process diffPeaks { // Collect Software Versions and references process softwareReport { + publishDir "$outDir/${task.process}", mode: 'copy' + input: file trimReads_vf from trimReadsVersions.collect() diff --git a/workflow/tests/test_generate_software_references.py b/workflow/tests/test_generate_software_references.py new file mode 100644 index 0000000000000000000000000000000000000000..1aeb6d3c862290cf327fa44449d9b12cbc4e0979 --- /dev/null +++ b/workflow/tests/test_generate_software_references.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python3 + +import pytest +import os +import utils + +test_output_path = os.path.dirname(os.path.abspath(__file__)) + \ + '/../output/softwareReport/' + + +@pytest.mark.singleend +def test_software_references(): + assert os.path.exists(os.path.join(test_output_path, 'software_references_mqc.txt')) + + +@pytest.mark.singleend +def test_nextflow_version(): + assert os.path.exists(os.path.join(test_output_path, 'version_nextflow.txt')) + + +@pytest.mark.singleend +def test_software_versions(): + assert os.path.exists(os.path.join(test_output_path, 'software_versions_mqc.yaml')) + + +@pytest.mark.singleend +def test_software_versions_output(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 15 + + +@pytest.mark.singleskip_true +def test_software_versions_output_rep(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 13 diff --git a/workflow/tests/test_generate_software_versions.py b/workflow/tests/test_generate_software_versions.py new file mode 100644 index 0000000000000000000000000000000000000000..77489a8c14ecf45c3ec90bd8b353b090ae7215fb --- /dev/null +++ b/workflow/tests/test_generate_software_versions.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import pytest +import os +import utils + +test_output_path = os.path.dirname(os.path.abspath(__file__)) + \ + '/../output/softwareReport/' + + +@pytest.mark.singleend +def test_software_versions(): + assert os.path.exists(os.path.join(test_output_path, 'software_versions_mqc.yaml')) + + +@pytest.mark.singleend +def test_software_versions_output(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 15 + + +@pytest.mark.singleskip_true +def test_software_versions_output_rep(): + software_versions = os.path.join(test_output_path, 'software_versions_mqc.yaml') + with open(software_versions, 'r') as stream: + data_loaded = yaml.load(stream) + + assert len(data_loaded['data'].split('<dt>')) == 13