Mercurial > repos > bebatut > qiime
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) |
