view qualimap_bamqc.py @ 35:a3e9c80894dd draft

planemo upload for repository https://github.com/scottx611x/qualimap2 commit dc78b7c4b1780b316ca4aba2be247969ac1100ec-dirty
author scottx611x
date Thu, 26 Jul 2018 16:55:10 -0400
parents 7e359370b5a2
children 0e6aeed62025
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

OUTPUT_DIR = "qualimap_results"


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()

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

    print(os.listdir(args.out_dir))

    shutil.move(args.out_dir + "/genome_results.txt", "./genome_results.txt")
    shutil.move(args.out_dir + "/qualimapReport.html", "./qualimapReport.html")
    shutil.make_archive(
        './raw_data_qualimapReport',
        'zip',
        args.out_dir + '/raw_data_qualimapReport'
    )


if __name__ == "__main__":
    main()