3fab6ad2513a74dc79c036d7e56cb17b52ebd3e9
[htsworkflow.git] / scripts / retrieve_config
1 #!/usr/bin/env python
2 import sys
3 from htsworkflow.pipelines.retrieve_config import *
4 from htsworkflow.pipelines import retrieve_config
5 from htsworkflow.pipelines.genome_mapper import getAvailableGenomes
6 from htsworkflow.pipelines.genome_mapper import constructMapperDict
7
8 #Turn on built-in command-line parsing.
9 retrieve_config.DISABLE_CMDLINE = False
10
11 def main(args=None):
12   #Display help if no args are presented
13   if len(sys.argv) == 1:
14     sys.argv.append('-h')
15     
16   options = getCombinedOptions()
17   msg_list = ['ERROR MESSAGES:']
18   if options.output_filepath is None:
19     msg_list.append("  Output filepath argument required. -o <filepath> or --output=<filepath>")
20     
21   if options.flowcell is None:
22     msg_list.append("  Flow cell argument required. -f <flowcell> or --flowcell=<flowcell>")
23     
24   if options.url is None:
25     msg_list.append("  URL argument required (-u <url> or --url=<url>), or entry\n" \
26                     "    in /etc/ga_frontend/ga_frontend.conf or ~/.ga_frontend.conf")
27   if options.genome_dir is None:
28     msg_list.append("  genome_dir argument required (-g <genome_dir> or \n" \
29                     "    --genome_dir=<genome_dir>, or entry in \n" \
30                     "    /etc/ga_frontend/ga_frontend.conf or ~/.ga_frontend.conf")
31     
32   if len(msg_list) > 1:
33     print '\n'.join(msg_list)
34     return 1
35   
36   saveConfigFile(options.flowcell, options.url, options.output_filepath)
37
38   f = open(options.output_filepath, 'r')
39   data = f.read()
40   f.close()
41
42   genome_dict = getAvailableGenomes(options.genome_dir)
43   mapper_dict = constructMapperDict(genome_dict)
44
45   f = open(options.output_filepath, 'w')
46   f.write(data % (mapper_dict))
47   f.close()
48   
49   return 0
50   
51 if __name__ == "__main__":
52   sys.exit(main(sys.argv[1:]))