Mercurial > repos > refinery-platform > qualimap2_bamqc
annotate qualimap_bamqc.py @ 4:1eafa8e45fb3 draft
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 97fe8b42ff36c06e404df0fa77c8e8a865ae0fcf-dirty
author | refinery-platform |
---|---|
date | Mon, 30 Jul 2018 11:49:21 -0400 |
parents | a6d048668f7f |
children | a2438e0f1bbf |
rev | line source |
---|---|
0
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
1 #!/usr/bin/env python |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
2 from __future__ import print_function |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
3 import argparse |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
4 import os |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
5 from subprocess import check_call, CalledProcessError |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
6 import shutil |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
7 import sys |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
8 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
9 QUALIMAP_OUPUT_DIR = "qualimap_results" |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
10 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
11 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
12 def qualimap_bamqc(bam_filename, jv_mem_size): |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
13 qualimap_command = [ |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
14 "qualimap", "bamqc", |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
15 "-bam " + bam_filename, |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
16 "-outdir " + QUALIMAP_OUPUT_DIR, |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
17 "--java-mem-size=" + jv_mem_size |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
18 ] |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
19 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
20 try: |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
21 check_call(qualimap_command) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
22 except CalledProcessError: |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
23 print("Error running the qualimap bamqc", file=sys.stderr) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
24 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
25 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
26 def main(): |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
27 parser = argparse.ArgumentParser( |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
28 description="Generate Bam Quality Statistics" |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
29 ) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
30 parser.add_argument('--input_file') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
31 parser.add_argument('--out_dir') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
32 parser.add_argument('--out_results') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
33 parser.add_argument('--out_zip') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
34 parser.add_argument('--java_mem_size') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
35 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
36 args = parser.parse_args() |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
37 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
38 qualimap_bamqc(args.input_file, args.java_mem_size) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
39 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
40 shutil.make_archive( |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
41 'raw_data_qualimapReport', |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
42 'zip', |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
43 os.path.join(QUALIMAP_OUPUT_DIR, 'raw_data_qualimapReport') |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
44 ) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
45 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
46 shutil.move("raw_data_qualimapReport.zip", args.out_zip) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
47 shutil.move( |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
48 os.path.join(QUALIMAP_OUPUT_DIR, "genome_results.txt"), |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
49 args.out_results |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
50 ) |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
51 |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
52 if __name__ == "__main__": |
a6d048668f7f
planemo upload for repository https://github.com/refinery-platform/qualimap2 commit 88b5467f336ac3b6b5d3a6e824273a183e5184b6
refinery-platform
parents:
diff
changeset
|
53 main() |