view qualimap_bamqc.py @ 39:2284e9b4c6b2 draft

planemo upload for repository https://github.com/scottx611x/qualimap2 commit dc78b7c4b1780b316ca4aba2be247969ac1100ec-dirty
author scottx611x
date Fri, 27 Jul 2018 11:42:35 -0400
parents 6b6e03e84a42
children 98944e914637
line wrap: on
line source

#!/usr/bin/env python
from __future__ import print_function
import argparse
import os
from subprocess import check_call, CalledProcessError
import shutil
import sys


def qualimap_bamqc(bam_filename, genomecov_file, out_dir, jv_mem_size):
    qualimap_command = [
        "qualimap", "bamqc",
        "-bam " + bam_filename,
        "-oc " + genomecov_file,
        "-outdir " + out_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_genome_file')
    parser.add_argument('--out_dir')
    parser.add_argument('--java_mem_size')

    args = parser.parse_args()
    print(args)

    output_dir = os.path.dirname(args.out_genome_file)

    qualimap_bamqc(
        args.input_file,
        args.out_genome_file,
        args.out_dir,
        args.java_mem_size
    )

    shutil.make_archive(
        'raw_data_qualimapReport',
        'zip',
        args.out_dir + '/raw_data_qualimapReport'
    )

    shutil.move("raw_data_qualimapReport.zip", os.path.join(output_dir, file_name)

    [
        shutil.move(os.path.join(args.out_dir, file_name), os.path.join(output_dir, file_name))
        for file_name in [
            "genome_results.txt",
            "qualimapReport.html"
        ]
    ]
    
if __name__ == "__main__":
    main()