def download_data_set(request, data_set_id, what, file_ext): us = get_session(request) data_sets = DataSet.get_common_data_sets() if us is None else us.get_all_allowed_dataset_set() if what == 'reference': data_set_id, file_ext = DataSet.split_seq_ext(data_set_id + file_ext) try: ds = data_sets.get(dirname=data_set_id) except DataSet.DoesNotExist: return HttpResponseNotFound('Data set %s was not found' % data_set_id) if what == 'reference': fpath = os.path.join(ds.get_dirpath(), ds.reference_fname) if DataSet.split_seq_ext(fpath)[1] != file_ext: return HttpResponseNotFound() return __download(fpath, data_set_id + file_ext) else: if what == 'genes': fpath = os.path.join(ds.get_dirpath(), ds.genes_fname) elif what == 'operons': fpath = os.path.join(ds.get_dirpath(), ds.operons_fname) else: return HttpResponseNotFound() if DataSet.split_genes_ext(fpath)[1] != file_ext: return HttpResponseNotFound() return __download(fpath, data_set_id + '_' + what + file_ext)
def reorder_report_columns_ajax(request): user_session = get_session(request) if user_session is None: return HttpResponseNotFound('No user session for this session_key') try: report_id = request.GET['reportId'] except KeyError: return HttpResponseNotFound('Value of reportId needed') try: order = map(int, request.GET['order'].split()) # 3 1 4 2 except KeyError: return HttpResponseNotFound('Order was not provided') except ValueError: return HttpResponseNotFound('Incorrect order: should be space-separated numbers, like "3 1 5 3""') try: qs = QuastSession.objects.get(report_id=report_id) except QuastSession.DoesNotExist: return HttpResponseNotFound('Report %s not found' % report_id) with open(os.path.join(qs.get_dirpath(), 'report.json')) as report_f: report = json.loads(report_f.read()) report['order'] = order # for group in report['report']: # for metric in group[1]: # values_by_asm_names = dict(zip(report['assembliesNames'], metric['values'])) # metric['values'] = [values_by_asm_names[name] for name in new_assembly_names] # new order # report['assembliesNames'] = new_assembly_names with open(os.path.join(qs.get_dirpath(), 'report.json'), 'w') as report_f: report_f.write(json.dumps(report)) return HttpResponse()
def icarus_contig_size_viewer(request, link): user_session = get_session(request) return icarus_view(user_session, dict(settings.TEMPLATE_ARGS_BY_DEFAULT), request, link, is_contig_size_plot=True)
def icarus_alignment_viewer(request, link): user_session = get_session(request) return icarus_view(user_session, dict(settings.TEMPLATE_ARGS_BY_DEFAULT), request, link)
def icarus(request, link): user_session = get_session(request) return icarus_view(user_session, dict(settings.TEMPLATE_ARGS_BY_DEFAULT), request, link, is_menu=True)
def report(request, link): user_session = get_session(request) return report_view(user_session, dict(settings.TEMPLATE_ARGS_BY_DEFAULT), request, link)