Mercurial > repos > iuc > qiime_validate_mapping_file
annotate beta_diversity_through_plots_html_generation.py @ 6:1fe225d38243 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
| author | iuc | 
|---|---|
| date | Tue, 30 Oct 2018 19:47:53 -0400 | 
| parents | 51ce498c97f4 | 
| children | 
| rev | line source | 
|---|---|
| 0 
51ce498c97f4
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 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 2 # -*- coding: utf-8 -*- | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 3 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 4 import argparse | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 5 import os | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 6 import re | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 7 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 8 | 
| 
51ce498c97f4
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): | 
| 
51ce498c97f4
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: | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 11 s = "" | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 12 s += '<html>\n' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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">' | 
| 
51ce498c97f4
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" ' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 21 | 
| 
51ce498c97f4
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: | 
| 
51ce498c97f4
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( | 
| 6 
1fe225d38243
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
 iuc parents: 
0diff
changeset | 24 r'([a-zA-Z\_]*)_emperor_pcoa_plot', | 
| 0 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 25 directory) | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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 + ': ' | 
| 
51ce498c97f4
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 | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 31 | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
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' | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 35 s += '</html>\n' | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 36 | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 38 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 39 | 
| 
51ce498c97f4
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): | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 42 | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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( | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 45 args.data_directory, | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 46 name))] | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 47 | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 49 | 
| 
51ce498c97f4
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: | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 53 os.system(cmd) | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 54 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 55 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 56 if __name__ == '__main__': | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 57 parser = argparse.ArgumentParser() | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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) | 
| 
51ce498c97f4
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() | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 62 | 
| 
51ce498c97f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit c9bf747b23b4a9d6adc20c7740b9247c22654862
 iuc parents: diff
changeset | 63 build_html(args) | 
