Mercurial > repos > iuc > qiime_jackknifed_beta_diversity
annotate beta_diversity_through_plots_html_generation.py @ 0:f9df45b8425a draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
| author | iuc | 
|---|---|
| date | Thu, 18 May 2017 09:31:46 -0400 | 
| parents | |
| children | d865ba1d276e | 
| rev | line source | 
|---|---|
| 
0
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env python | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
2 # -*- coding: utf-8 -*- | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
3 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
4 import argparse | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
5 import os | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
6 import re | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
7 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
8 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
9 def generate_index_html(dir_list, args): | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
10 with open(args.html_file, 'w') as index_html_file: | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
11 s = "" | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
12 s += '<html>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
13 s += '\t<head><title>PCoA beta diversity results</title></head>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
14 s += '\t<body>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
15 s += '\t\t<a href="http://www.qiime.org" target="_blank">' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
16 s += '<img src="http://qiime.org/_static/wordpressheader.png" ' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
17 s += 'alt="www.qiime.org""/></a>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
18 s += '\t\t<p>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
19 s += '\t\t\tBeta diversity metrics\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
20 s += '\t\t\t<ul>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
21 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
22 for directory in dir_list: | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
23 regexp_result = re.search( | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
24 '([a-zA-Z\_]*)_emperor_pcoa_plot', | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
25 directory) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
26 metric = regexp_result.group(1) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
27 s += '\t\t\t\t<li>' + metric + ': ' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
28 s += '<a href="' + directory | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
29 s += '/index.html">PCoA results</a></td>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
30 s += '\t\t\t\t</li>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
31 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
32 s += '\t\t\t</ul>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
33 s += '\t\t</p>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
34 s += '\t</body>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
35 s += '</html>\n' | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
36 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
37 index_html_file.write(s) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
38 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
39 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
40 def build_html(args): | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
41 os.mkdir(args.html_dir) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
42 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
43 dir_list = [name for name in os.listdir(args.data_directory) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
44 if os.path.isdir(os.path.join( | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
45 args.data_directory, | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
46 name))] | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
47 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
48 generate_index_html(dir_list, args) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
49 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
50 for directory in dir_list: | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
51 input_path = os.path.join(args.data_directory, directory) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
52 cmd = 'cp -r ' + input_path + ' ' + args.html_dir | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
53 os.system(cmd) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
54 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
55 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
56 if __name__ == '__main__': | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
57 parser = argparse.ArgumentParser() | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
58 parser.add_argument('--data_directory', required=True) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
59 parser.add_argument('--html_file', required=True) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
60 parser.add_argument('--html_dir', required=True) | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
61 args = parser.parse_args() | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
62 | 
| 
 
f9df45b8425a
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 
iuc 
parents:  
diff
changeset
 | 
63 build_html(args) | 
