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+)"],