comparison snippy_core_wrapper.py @ 20:3bbfe41787af draft

planemo upload commit bf653fc1bf39312caf070843fbde7b2570330917-dirty
author dfornika
date Fri, 08 Mar 2019 20:46:56 -0500
parents
children
comparison
equal deleted inserted replaced
19:8a6b951f6ec2 20:3bbfe41787af
1 #!/usr/bin/env python
2
3 # --------------------------------------
4 #
5 # snippy_core_wrapper.py
6 #
7 # This is an intermediary script between snippy-core.xml and snippy-core
8 # It:
9 # - Copys the supplied zipped snippy output files to the working dir
10 # - Untars them to their datafile name
11 # - Builds the snippy-core command
12 # - Runs the snippy-core command
13 #
14 # --------------------------------------
15
16 import argparse
17 import os
18 import subprocess
19 from shutil import copyfile
20
21
22 def main():
23
24 parser = argparse.ArgumentParser()
25 parser.add_argument('-r', '--ref', help='Reference fasta', required=True)
26 parser.add_argument('-i', '--indirs', help='Comma-separated list of input datasets')
27 args = parser.parse_args()
28
29 snippy_core_command_line = ['snippy-core', '--ref', args.ref]
30
31 for input_dataset in args.indirs.split(','):
32 base_name = os.path.basename(input_dataset)
33 copyfile(input_dataset, base_name)
34 subprocess.Popen(['tar', '-xf', base_name]).wait()
35
36 extracted_dirs = [f for f in os.listdir('.') if os.path.isdir(f) ]
37 for extracted_dir in extracted_dirs:
38 snippy_core_command_line.append(extracted_dir)
39
40 subprocess.Popen(snippy_core_command_line).wait()
41
42
43 if __name__ == '__main__':
44 main()