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)