diff qualimap_bamqc.py @ 0:a6d048668f7f draft

planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
author refinery-platform
date Mon, 30 Jul 2018 09:56:10 -0400
parents
children a2438e0f1bbf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/qualimap_bamqc.py	Mon Jul 30 09:56:10 2018 -0400
@@ -0,0 +1,53 @@
+#!/usr/bin/env python
+from __future__ import print_function
+import argparse
+import os
+from subprocess import check_call, CalledProcessError
+import shutil
+import sys
+
+QUALIMAP_OUPUT_DIR = "qualimap_results"
+
+
+def qualimap_bamqc(bam_filename, jv_mem_size):
+    qualimap_command = [
+        "qualimap", "bamqc",
+        "-bam " + bam_filename,
+        "-outdir " + QUALIMAP_OUPUT_DIR,
+        "--java-mem-size=" + jv_mem_size
+    ]
+
+    try:
+        check_call(qualimap_command)
+    except CalledProcessError:
+        print("Error running the qualimap bamqc", file=sys.stderr)
+
+
+def main():
+    parser = argparse.ArgumentParser(
+        description="Generate Bam Quality Statistics"
+    )
+    parser.add_argument('--input_file')
+    parser.add_argument('--out_dir')
+    parser.add_argument('--out_results')
+    parser.add_argument('--out_zip')
+    parser.add_argument('--java_mem_size')
+
+    args = parser.parse_args()
+
+    qualimap_bamqc(args.input_file, args.java_mem_size)
+
+    shutil.make_archive(
+        'raw_data_qualimapReport',
+        'zip',
+        os.path.join(QUALIMAP_OUPUT_DIR, 'raw_data_qualimapReport')
+    )
+
+    shutil.move("raw_data_qualimapReport.zip", args.out_zip)
+    shutil.move(
+        os.path.join(QUALIMAP_OUPUT_DIR, "genome_results.txt"),
+        args.out_results
+    )
+
+if __name__ == "__main__":
+    main()