Mercurial > repos > iuc > virannot_rps2tsv
annotate rps2tree_html.py @ 5:aac02a3a395c draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 31e7eb490fbaa2b1f34f0e0f154a6f82ad2f2f82
| author | iuc | 
|---|---|
| date | Mon, 04 Aug 2025 19:14:00 +0000 | 
| parents | bbaa89f070f4 | 
| children | 
| rev | line source | 
|---|---|
| 0 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 1 #!/usr/bin/env python3 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 2 import argparse | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 3 import csv | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 4 import logging | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 5 import sys | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 6 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 7 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 8 logging.basicConfig(level=logging.INFO) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 9 logger = logging.getLogger(__name__) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 10 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 11 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 12 def main(): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 13 options = _set_options() | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 14 data, headers = _read_map_file(options.map) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 15 html = _print_html(data, headers, options.out) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 16 index_file = options.out + '/index.html' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 17 fh = open(index_file, mode='w') | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 18 fh.write(html) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 19 fh.close() | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 20 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 21 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 22 def _get_google_script_headers(data, headers, out_dir): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 23 html = '<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 24 html += '<script type="text/javascript">' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 25 html += 'google.charts.load(\'current\', {\'packages\':[\'table\']});' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 26 chart_names, java_scripts = _get_google_js(data, headers, out_dir) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 27 for i in range(0, len(chart_names)): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 28 html += 'google.charts.setOnLoadCallback(' + chart_names[i].replace('-', '_') + ');' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 29 html += 'function ' + chart_names[i].replace('-', '_') + '() {' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 30 html += java_scripts[i] + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 31 html += '}' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 32 html += '</script>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 33 return html | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 34 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 35 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 36 def _get_google_js(data, headers, out_dir): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 37 java_scripts = [] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 38 chart_names = [] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 39 for cdd in data: | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 40 chart_names.append(cdd['cdd_id'] + '_' + cdd['description']) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 41 js = 'var data = new google.visualization.DataTable();' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 42 mat, head = _parse_csv(out_dir + '/' + cdd['cluster_nb_reads_files']) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 43 for el in head: | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 44 if el == '#OTU_name': | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 45 js += 'data.addColumn(\'string\', \'' + el + '\');' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 46 elif el == 'taxonomy': | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 47 js += 'data.addColumn(\'string\', \'' + el + '\');' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 48 elif el == 'contigs_list' or el == 'seq_list': | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 49 js += 'data.addColumn(\'string\', \'' + el + '\');' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 50 else: | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 51 js += 'data.addColumn(\'number\', \'' + el + '\');' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 52 js += 'data.addRows([' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 53 for j in range(0, len(mat)): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 54 js += '[\'' + mat[j][head[0]] + '\'' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 55 for i in range(1, len(head) - 2): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 56 js += ',' + mat[j][head[i]] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 57 js += ',\'' + mat[j][head[len(head) - 2]] + '\'' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 58 js += ',\'' + mat[j][head[len(head) - 1]] + '\'' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 59 js += ']' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 60 if j != (len(mat) - 1): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 61 js += ',' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 62 js += "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 63 js += ']);' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 64 js += 'var table = new google.visualization.Table(document.getElementById(\'' + (cdd['cdd_id'] + '_' + cdd['description']).replace('-', '_') + '_div' + '\'));' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 65 js += 'table.draw(data, {showRowNumber: false, width: \'70%\', height: \'70%\'});' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 66 java_scripts.append(js) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 67 return chart_names, java_scripts | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 68 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 69 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 70 def _parse_csv(file): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 71 fh = open(file) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 72 reader = csv.reader(fh, delimiter="\t") | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 73 data = list(reader) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 74 headers = data[0] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 75 matrix = [] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 76 for i in range(1, len(data)): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 77 dict = {} | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 78 for j in range(0, len(data[i])): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 79 if data[i][j] == '': | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 80 dict[headers[j]] = None | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 81 elif data[i][j] == 'null': | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 82 dict[headers[j]] = None | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 83 else: | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 84 dict[headers[j]] = data[i][j] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 85 matrix.append(dict) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 86 return matrix, headers | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 87 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 88 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 89 def _print_html(data, headers, out_dir): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 90 html = '<html>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 91 html += '<head>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 92 html += '<title>' + 'rps2tree' + '</title>' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 93 html += _get_google_script_headers(data, headers, out_dir) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 94 html += '</head>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 95 html += '<div style="text-align:center">' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 96 html += '<h1 align=center>rps2tree</h1>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 97 html += '<body>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 98 html += _print_data(data, headers) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 99 html += '</body>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 100 html += '</div>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 101 html += '</html>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 102 return html | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 103 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 104 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 105 def _print_data(data, headers): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 106 html = '' | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 107 for cdd in data: | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 108 html += '<h2>' + cdd['cdd_id'] + ' ' + cdd['description'] + '</h2>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 109 html += '<p>' + cdd['full_description'] + '</br>' + '</p>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 110 html += '<div id="' + (cdd['cdd_id'] + '_' + cdd['description']).replace('-', '_') + '_div' + '"></div>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 111 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 112 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 113 html += '<img src=' + cdd['tree_files'] + ' href="' + cdd['tree_files'] + '">' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 114 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 115 html += '<a href="' + cdd['align_files'] + '">' + cdd['align_files'] + '</a>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 116 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 117 html += '<a href="' + cdd['cluster_files'] + '">' + cdd['cluster_files'] + '</a>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 118 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 119 html += '<a href="' + cdd['cluster_nb_reads_files'] + '">' + cdd['cluster_nb_reads_files'] + '</a>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 120 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 121 html += '<a href="' + cdd['pairwise_files'] + '">' + cdd['pairwise_files'] + '</a>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 122 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 123 html += '</br>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 124 html += '<hr>' + "\n" | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 125 return html | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 126 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 127 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 128 def _read_map_file(file): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 129 reader = csv.reader(file, delimiter="\t") | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 130 data = list(reader) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 131 headers = data[0] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 132 headers[0] = headers[0][1:] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 133 map_obj = [] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 134 for i in range(1, len(data)): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 135 dict = {} | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 136 if len(data[i]) != len(headers): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 137 sys.exit('line and headers not the same length.') | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 138 for j in range(0, len(headers)): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 139 dict[headers[j]] = data[i][j] | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 140 map_obj.append(dict) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 141 return map_obj, headers | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 142 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 143 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 144 def _set_options(): | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 145 parser = argparse.ArgumentParser() | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 146 parser.add_argument('-m', '--map', help='The map file produced by rps2tree.pl script.', action='store', type=argparse.FileType('r'), required=True) | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 147 parser.add_argument('-o', '--out', help='The title for the HTML page.', action='store', type=str, default='./') | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 148 args = parser.parse_args() | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 149 return args | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 150 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 151 | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 152 if __name__ == "__main__": | 
| 
bbaa89f070f4
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/virAnnot commit 3a3b40c15ae5e82334f016e88b1f3c5bbbb3b2cd
 iuc parents: diff
changeset | 153 main() | 
