Mercurial > repos > bebatut > qiime
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jackknifed_beta_diversity_through_plots_html_generation.py Tue Feb 02 05:50:37 2016 -0500 @@ -0,0 +1,92 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys +import os +import argparse +import re + + +def generate_index_html(dir_list, args): + with open('index.html','w') as index_html_file: + index_html_file.write('<html>\n') + index_html_file.write('\t<head><title>Jackknifed beta diversity results</title></head>\n') + index_html_file.write('\t<body>\n') + 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') + index_html_file.write('\t\t<p>\n') + index_html_file.write('\t\t\tBeta diversity metrics\n') + index_html_file.write('\t\t\t<ul>\n') + + for directory in dir_list: + if directory == 'rarefaction': + index_html_file.write('\t\t\t\t<li>' + directory) + index_html_file.write('\t\t\t\t<ul>\n') + for file_name in os.listdir(args.data_directory + '/' + directory): + index_html_file.write('\t\t\t\t\t<li><a href="' + directory + + '/' + file_name + '">' + file_name + '</a></li>\n') + index_html_file.write('\t\t\t\t</ul>\n') + index_html_file.write('\t\t\t\t</li>\n') + + elif directory != 'unrarefied_bdiv': + index_html_file.write('\t\t\t\t<li>' + directory) + index_html_file.write('\t\t\t\t<ul>\n') + + index_html_file.write('\t\t\t\t\t<li>Rare distance matrix\n') + index_html_file.write('\t\t\t\t\t<ul>\n') + for file_name in os.listdir(args.data_directory + '/' + directory + '/rare_dm'): + index_html_file.write('\t\t\t\t\t<li><a href="' + directory + + '/rare_dm/' + file_name + '">' + file_name + '</a></li>\n') + index_html_file.write('\t\t\t\t\t</ul>\n') + index_html_file.write('\t\t\t\t\t</li>\n') + + index_html_file.write('\t\t\t\t\t<li>Rare UPGMA tree\n') + index_html_file.write('\t\t\t\t\t<ul>\n') + for file_name in os.listdir(args.data_directory + '/' + directory + '/rare_upgma'): + index_html_file.write('\t\t\t\t\t<li><a href="' + directory + + '/rare_upgma/' + file_name + '">' + file_name + '</a></li>\n') + index_html_file.write('\t\t\t\t\t</ul>\n') + index_html_file.write('\t\t\t\t\t</li>\n') + + index_html_file.write('\t\t\t\t\t<li>PCoA\n') + index_html_file.write('\t\t\t\t\t<ul>\n') + for file_name in os.listdir(args.data_directory + '/' + directory + '/pcoa'): + index_html_file.write('\t\t\t\t\t<li><a href="' + directory + + '/pcoa/' + file_name + '">' + file_name + '</a></li>\n') + index_html_file.write('\t\t\t\t\t</ul>\n') + index_html_file.write('\t\t\t\t\t</li>\n') + + index_html_file.write('\t\t\t\t\t<li><a href="' + directory + + '/emperor_pcoa_plots/index.html">PCoA plots</a></td></li>\n') + + index_html_file.write('\t\t\t\t</ul>\n') + index_html_file.write('\t\t\t\t</li>\n') + + index_html_file.write('\t\t\t</ul>\n') + index_html_file.write('\t\t</p>\n') + index_html_file.write('\t</body>\n') + index_html_file.write('</html>\n') + +def build_html(args): + os.mkdir(args.html_dir) + + dir_list = [ name for name in os.listdir(args.data_directory) if + os.path.isdir(os.path.join(args.data_directory, name)) ] + + generate_index_html(dir_list, args) + + os.system('cp -r index.html ' + args.html_dir) + + for directory in dir_list: + os.system('cp -r ' + args.data_directory + '/' + directory + ' ' + + args.html_dir) + + os.system('mv ' + args.html_dir + '/index.html ' + args.html_file) + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--data_directory', required=True) + parser.add_argument('--html_file', required=True) + parser.add_argument('--html_dir', required=True) + args = parser.parse_args() + + build_html(args)