comparison jackknifed_beta_diversity_through_plots_html_generation.py @ 0:c1bd0c560018 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime commit bcbe76277f3e60303faf826f8ce7f018bc663a9a-dirty
author bebatut
date Tue, 02 Feb 2016 05:50:37 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c1bd0c560018
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 import sys
5 import os
6 import argparse
7 import re
8
9
10 def generate_index_html(dir_list, args):
11 with open('index.html','w') as index_html_file:
12 index_html_file.write('<html>\n')
13 index_html_file.write('\t<head><title>Jackknifed beta diversity results</title></head>\n')
14 index_html_file.write('\t<body>\n')
15 index_html_file.write('\t\t<a href="http://www.qiime.org" target="_blank"><img src="http://qiime.org/_static/wordpressheader.png" alt="www.qiime.org""/></a>\n')
16 index_html_file.write('\t\t<p>\n')
17 index_html_file.write('\t\t\tBeta diversity metrics\n')
18 index_html_file.write('\t\t\t<ul>\n')
19
20 for directory in dir_list:
21 if directory == 'rarefaction':
22 index_html_file.write('\t\t\t\t<li>' + directory)
23 index_html_file.write('\t\t\t\t<ul>\n')
24 for file_name in os.listdir(args.data_directory + '/' + directory):
25 index_html_file.write('\t\t\t\t\t<li><a href="' + directory +
26 '/' + file_name + '">' + file_name + '</a></li>\n')
27 index_html_file.write('\t\t\t\t</ul>\n')
28 index_html_file.write('\t\t\t\t</li>\n')
29
30 elif directory != 'unrarefied_bdiv':
31 index_html_file.write('\t\t\t\t<li>' + directory)
32 index_html_file.write('\t\t\t\t<ul>\n')
33
34 index_html_file.write('\t\t\t\t\t<li>Rare distance matrix\n')
35 index_html_file.write('\t\t\t\t\t<ul>\n')
36 for file_name in os.listdir(args.data_directory + '/' + directory + '/rare_dm'):
37 index_html_file.write('\t\t\t\t\t<li><a href="' + directory +
38 '/rare_dm/' + file_name + '">' + file_name + '</a></li>\n')
39 index_html_file.write('\t\t\t\t\t</ul>\n')
40 index_html_file.write('\t\t\t\t\t</li>\n')
41
42 index_html_file.write('\t\t\t\t\t<li>Rare UPGMA tree\n')
43 index_html_file.write('\t\t\t\t\t<ul>\n')
44 for file_name in os.listdir(args.data_directory + '/' + directory + '/rare_upgma'):
45 index_html_file.write('\t\t\t\t\t<li><a href="' + directory +
46 '/rare_upgma/' + file_name + '">' + file_name + '</a></li>\n')
47 index_html_file.write('\t\t\t\t\t</ul>\n')
48 index_html_file.write('\t\t\t\t\t</li>\n')
49
50 index_html_file.write('\t\t\t\t\t<li>PCoA\n')
51 index_html_file.write('\t\t\t\t\t<ul>\n')
52 for file_name in os.listdir(args.data_directory + '/' + directory + '/pcoa'):
53 index_html_file.write('\t\t\t\t\t<li><a href="' + directory +
54 '/pcoa/' + file_name + '">' + file_name + '</a></li>\n')
55 index_html_file.write('\t\t\t\t\t</ul>\n')
56 index_html_file.write('\t\t\t\t\t</li>\n')
57
58 index_html_file.write('\t\t\t\t\t<li><a href="' + directory +
59 '/emperor_pcoa_plots/index.html">PCoA plots</a></td></li>\n')
60
61 index_html_file.write('\t\t\t\t</ul>\n')
62 index_html_file.write('\t\t\t\t</li>\n')
63
64 index_html_file.write('\t\t\t</ul>\n')
65 index_html_file.write('\t\t</p>\n')
66 index_html_file.write('\t</body>\n')
67 index_html_file.write('</html>\n')
68
69 def build_html(args):
70 os.mkdir(args.html_dir)
71
72 dir_list = [ name for name in os.listdir(args.data_directory) if
73 os.path.isdir(os.path.join(args.data_directory, name)) ]
74
75 generate_index_html(dir_list, args)
76
77 os.system('cp -r index.html ' + args.html_dir)
78
79 for directory in dir_list:
80 os.system('cp -r ' + args.data_directory + '/' + directory + ' ' +
81 args.html_dir)
82
83 os.system('mv ' + args.html_dir + '/index.html ' + args.html_file)
84
85 if __name__ == '__main__':
86 parser = argparse.ArgumentParser()
87 parser.add_argument('--data_directory', required=True)
88 parser.add_argument('--html_file', required=True)
89 parser.add_argument('--html_dir', required=True)
90 args = parser.parse_args()
91
92 build_html(args)