comparison beta_diversity_through_plots_wrapper.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
3 # create a html output for beta_diverity_through_plots.py
4 # to replace beta_diversity_through_plot_html.py in qiime 1.8
5 # Leroi Laura laura.leroi@ifremer.fr
6
7 import optparse
8 import os
9 import sys
10 import subprocess
11
12 # Create html template
13 def html_maker(metrics):
14
15 tag=""
16 plots = metrics.split(',')
17 for i in range(0, len(plots)):
18 tag = tag+"""\t\t<option value='%s_emperor_pcoa_plot/index.html'>%s</option>\n""" % (plots[i], plots[i])
19 template_html= """
20 <!doctype html>
21 <html lang="en">
22 <head>
23 <meta charset="utf-8">
24 <script type="text/javascript" src="/galaxy/static/scripts/libs/jquery/jquery.js"></script>
25 </head>
26 <body>
27 <label for="outputs">Select a beta-diversity metric :</label>
28 <select id="outputs" name="outputs">
29 %s
30 </select>
31 <br/>
32 <br/>
33 <iframe id="plot" name="plot" style="position:absolute; width: 90%%; height: 90%%;" src="" frameborder="0"></iframe>
34 <script>
35 $(document).ready(function(){
36 var str = "";
37 $( "#outputs option:selected" ).each(function() {
38 str += $( this ).val() + " ";
39 $("#plot").attr("src", str);
40 });
41
42 });
43 $( "#outputs" ).change(function () {
44 var str = "";
45 $( "#outputs option:selected" ).each(function() {
46 str += $( this ).val() + " ";
47 $("#plot").attr("src", str);
48 });
49 }).change();
50 </script>
51 </body>
52 </html> """ % (tag)
53 return template_html
54
55
56 def html_matrix_maker(metrics):
57
58 tag=""
59 plots = metrics.split(',')
60 for i in range(0, len(plots)):
61 tag = tag+"""\t\t<a href='%s_dm.txt'>%s_dm</a><br/>\n""" % (plots[i], plots[i])
62
63 template_html= """
64 <!doctype html>
65 <html lang="en">
66 <body>
67 <label>Metrics matrix : </label><br/>
68 %s
69 </body>
70 </html> """ % (tag)
71 return template_html
72
73
74 def main():
75
76 #On importe l environnemnent envqiime
77 pipe = subprocess.Popen(". /home12/caparmor/bioinfo/GALAXY_DEV/ourenv/envqiime; python -c 'import os; print \"newenv = %r\" % os.environ'", stdout=subprocess.PIPE, shell=True)
78 exec(pipe.communicate()[0])
79 os.environ.update(newenv)
80
81 #New parser
82 parser = optparse.OptionParser()
83 #beta diversity options
84 parser.add_option('--metrics',dest='metrics')
85 parser.add_option('--biom',dest='biom')
86 parser.add_option('--mapping',dest='mapping')
87 parser.add_option('--tree',dest='tree')
88 parser.add_option('--depth',dest='depth')
89 parser.add_option('--masterhtml',dest='masterhtml')
90 parser.add_option('--outputfolder',dest='outputfolder')
91 parser.add_option('--matrixhtml',dest='matrixhtml')
92
93 (options,args) = parser.parse_args()
94
95 #New hmtl template
96 master = open('./master.html', 'w')
97 master.write(html_maker(options.metrics))
98 master.close()
99 #On lance le fichier avec les options precisees pour l'affichage html
100 os.system("mv master.html %s" % options.masterhtml)
101
102 #parameter file, which specifies changes to the default behavior
103 parameters = open('./parameters.txt','w')
104 parameters.write("beta_diversity:metrics %s" % options.metrics)
105 parameters.close()
106
107 if options.depth:
108 if options.tree :
109 os.system("beta_diversity_through_plots.py -i %s -m %s -t %s -e %s -o %s -p ./parameters.txt >& file_log.txt" % (options.biom, options.mapping, options.tree, options.depth, options.outputfolder))
110 else :
111 os.system("beta_diversity_through_plots.py -i %s -m %s -e %s -o %s -p ./parameters.txt >& file_log.txt" % (options.biom, options.mapping, options.depth, options.outputfolder))
112 else:
113 if options.tree :
114 os.system("beta_diversity_through_plots.py -i %s -m %s -t %s -o %s -p ./parameters.txt >& file_log.txt" % (options.biom, options.mapping, options.tree, options.outputfolder))
115 else :
116 os.system("beta_diversity_through_plots.py -i %s -m %s -o %s -p ./parameters.txt >& file_log.txt" % (options.biom, options.mapping, options.outputfolder))
117
118 os.system("mkdir %s/txt" % (options.outputfolder))
119 os.system("mv %s/*_dm.txt %s/txt" %(options.outputfolder,options.outputfolder))
120 os.system("compress_path.py -i %s/txt -o %s" % (options.outputfolder,options.matrixhtml))
121
122 if __name__=="__main__":
123 main()
124