diff --git a/workflow/main.nf b/workflow/main.nf index ddeb067dc952c3d85d499fd1dcd81e7df0f3f774..ceed1c12bc6a9dd939199e32e7197bffc6df8db2 100644 --- a/workflow/main.nf +++ b/workflow/main.nf @@ -17,6 +17,8 @@ params.cutoffRatio = 1.2 params.outDir= "$baseDir/output" params.extendReadsLen = 100 params.topPeakCount = 600 +params.references = "$baseDir/../docs/references.md" + // Check inputs if( params.bwaIndex ){ @@ -475,7 +477,7 @@ process diffPeaks { """ } -// Collect Software Versions +// Collect Software Versions and references process softwareVersions { input: diff --git a/workflow/scripts/generate_references.py b/workflow/scripts/generate_references.py new file mode 100644 index 0000000000000000000000000000000000000000..0b7582f18c00ada5114497f58717434b47e0651b --- /dev/null +++ b/workflow/scripts/generate_references.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python + +'''Make header for HTML of references.''' + +import argparse +import subprocess +import shlex +import logging + +EPILOG = ''' +For more details: + %(prog)s --help +''' + +# SETTINGS + +logger = logging.getLogger(__name__) +logger.addHandler(logging.NullHandler()) +logger.propagate = False +logger.setLevel(logging.INFO) + + +def get_args(): + '''Define arguments.''' + + parser = argparse.ArgumentParser( + description=__doc__, epilog=EPILOG, + formatter_class=argparse.RawDescriptionHelpFormatter) + + parser.add_argument('-r', '--reference', + help="The reference file (markdown format).", + required=True) + + parser.add_argument('-o', '--output', + help="The out file name.", + default='references') + + args = parser.parse_args() + return args + + +def main(): + args = get_args() + reference = args.reference + output = args.output + + out_filename = output + '_mqc.txt' + + # Header for HTML + print(''' + # id: 'References' + # section_name: 'References' + # description: 'This section describes references for the tools used.' + # plot_type: 'html' + ''' + , file = open(out_filename, "w") + ) + + # Turn Markdown into HTML + references_html = 'bash -c "pandoc {} >> {}"' + references_html = references_html.format(reference, out_filename) + subprocess.check_call(shlex.split(references_html)) + + +if __name__ == '__main__': + main() diff --git a/workflow/scripts/software_report.py b/workflow/scripts/software_report.py index 2e605e3bb952fe3ffd891fa04800edb7f01650a0..5f9abe1aed34ba27b9d5aba0ed334533497a554a 100644 --- a/workflow/scripts/software_report.py +++ b/workflow/scripts/software_report.py @@ -7,6 +7,7 @@ from __future__ import print_function from collections import OrderedDict import re + software_regex = { 'Trim Galore!': ['version_trimgalore.txt', r"version (\S+)"], 'Cutadapt': ['version_cutadapt.txt', r"Version (\S+)"],