def function(seq, category, prefix, suffix, enzymes, with_intron): seq = domesticate_for_synthesis(seq, category, prefix, suffix, enzymes, with_intron)[0] protocol = write_synthesis_protocol(seq) response = HttpResponse(protocol, content_type='text/plain') response['Content-Disposition'] = 'attachment; filename="protocol.txt"' return response
def function(seq, category, prefix, suffix, enzymes, with_intron): seq = domesticate_for_synthesis(seq, category, prefix, suffix, enzymes, with_intron)[1] response = HttpResponse(convert_to_sbol(seq), content_type='xml/plain') response['Content-Disposition'] = 'attachment; ' response['Content-Disposition'] += 'filename="{0}.xml"'.format(seq.id) return response
def function(seq, category, prefix, suffix, enzymes, with_intron): seq = domesticate_for_synthesis(seq, category, prefix, suffix, enzymes, with_intron)[1] response = HttpResponse(seq.format('genbank'), content_type='text/plain') response['Content-Disposition'] = 'attachment; ' response['Content-Disposition'] += 'filename="{0}.gb"'.format(seq.id) return response
def _domestication_view(request, kind): context = RequestContext(request) context.update(csrf(request)) if request.method == 'POST': request_data = request.POST elif request.method == 'GET': request_data = request.GET else: request_data = None if request_data: form = DomesticationForm(request_data, request.FILES) # do domestication if form.is_valid(): seq = form.cleaned_data['seq'] if seq is None: seq = form.cleaned_data['residues'] category = form.cleaned_data.get('category', None) enzymes = form.cleaned_data.get('enzymes', None) if category is None: prefix = form.cleaned_data.get('prefix') suffix = form.cleaned_data.get('suffix') else: try: prefix = CATEGORIES[category][1] suffix = CATEGORIES[category][2] except KeyError: prefix = CRYSPER_CATEGORIES[category][1] suffix = CRYSPER_CATEGORIES[category][2] with_intron = form.cleaned_data['with_intron'] with_intron_str = '1' if with_intron else '0' if kind == 'domestication': try: pcr = domesticate(seq, category, prefix, suffix, enzymes, with_intron)[0] except RuntimeError as error: return render_to_response('goldenbraid_info.html', {'title': 'Can not domesticate sequence', 'info': error}, context_instance=RequestContext(request)) return render_to_response('domestication_result.html', {'category': category, 'prefix': prefix, 'suffix': suffix, 'pcrs': pcr, 'seq': str(seq.seq), 'seq_name': seq.name, 'enzymes': enzymes, 'with_intron': with_intron_str}, context_instance=RequestContext(request)) elif kind == 'synthesis': try: seq_for_syn, prepared_seq = domesticate_for_synthesis(seq, category, prefix, suffix, enzymes, with_intron) except RuntimeError as error: return render_to_response('goldenbraid_info.html', {'title': 'Can not domesticate sequence', 'info': error}, context_instance=RequestContext(request)) return render_to_response('synthesis_result.html', {'category': category, 'prefix': prefix, 'suffix': suffix, 'seq_syn': seq_for_syn, 'seq': str(seq.seq), 'seq_name': prepared_seq.name, 'enzymes': enzymes, 'with_intron': with_intron_str}, context_instance=RequestContext(request)) else: form = DomesticationForm() context['form'] = form context['kind'] = kind template = 'domestication_template.html' content_type = None return render_to_response(template, context, content_type=content_type)