def add_sequence(request, pk): sl = SequenceListing.objects.get(pk=pk) if request.method == 'POST': organism = request.POST.get('organism') form = SequenceForm(request.POST) if form.is_valid(): cd = form.cleaned_data raw_residues = cd['residues'] sequence_instance = Sequence(sequenceListing = sl, length = len(cd['residues']), moltype = cd['moltype'], residues = cd['residues'] ) sequence_instance.save() feature_source_helper(sequence_instance, organism) # create a note qualifier to indicate the a formula if applicable if '(' in raw_residues: value_for_note = 'note' if cd['moltype'] == 'AA': value_for_note = 'NOTE' feature_instance = Feature.objects.filter(sequence = sequence_instance)[0] note_qualifier_instance = Qualifier.objects.create(feature=feature_instance, qualifierName=value_for_note, qualifierValue=raw_residues) note_qualifier_instance.save() return HttpResponseRedirect(reverse('sequencelistings:detail', args=(pk,))) else: form = SequenceForm() return render(request, 'sequencelistings/add_seq.html', {'form': form, 'pk': pk, 'seql': sl})
def add_sequence(request, pk): # print 'add_sequence invoked' if request.method == 'POST': organism = request.POST.get('organism') form = SequenceForm(request.POST) if form.is_valid(): sl = SequenceListing.objects.get(pk=pk) cd = form.cleaned_data sequence_instance = Sequence(sequenceListing = sl, length = len(cd['residues']), moltype = cd['moltype'], residues = cd['residues'] ) sequence_instance.save() value_for_source = 'source' if cd['moltype'] == 'AA': value_for_source = 'SOURCE' value_for_organism = 'organism' if cd['moltype'] == 'AA': value_for_organism = 'ORGANISM' value_for_moltype = 'mol_type' if cd['moltype'] == 'AA': value_for_moltype = 'MOL_TYPE' feature_instance = Feature.objects.create(sequence=sequence_instance, featureKey=value_for_source, location='1..%s' % sequence_instance.length) feature_instance.save() organism_qualifier_instance = Qualifier.objects.create(feature=feature_instance, qualifierName=value_for_organism, qualifierValue=organism) organism_qualifier_instance.save() mol_type_qualifier_instance = Qualifier.objects.create(feature=feature_instance, qualifierName=value_for_moltype, qualifierValue=util.MOL_TYPE_QUALIFIER_VALUES[cd['moltype']]) mol_type_qualifier_instance.save() return HttpResponseRedirect(reverse('sequencelistings:detail', args=(pk,))) else: form = SequenceForm() return render(request, 'sequencelistings/add_seq.html', {'form': form, 'pk': pk})
def add_sequence(request, pk): sl = SequenceListing.objects.get(pk=pk) currentSeqIdNo = len(sl.sequence_set.all()) + 1 currentSequenceName = 'seq_%i' % currentSeqIdNo if request.method == 'POST': form = SequenceForm(request.POST) if form.is_valid(): print 'form is valid' cd = form.cleaned_data raw_residues = cd['residues'] sequence_instance = Sequence(sequenceListing=sl, sequenceName=cd['sequenceName'], length=len(cd['residues']), moltype=cd['moltype'], residues=cd['residues'], skipped=cd['skipped']) sequence_instance.save() organism = request.POST.get('organism') qualmoltype = request.POST.get('qualmoltype') feature_source_helper(sequence_instance, organism, qualmoltype) # create a note qualifier to indicate the a formula if applicable if '(' in raw_residues: value_for_note = 'note' if cd['moltype'] == 'AA': value_for_note = 'NOTE' feature_instance = Feature.objects.filter( sequence=sequence_instance)[0] note_qualifier_instance = Qualifier.objects.create( feature=feature_instance, qualifierName=value_for_note, qualifierValue=raw_residues) note_qualifier_instance.save() return HttpResponseRedirect( reverse('sequencelistings:edit_seql', args=(pk, ))) else: print 'Form not valid.' else: form = SequenceForm(initial={'sequenceName': currentSequenceName}) return render(request, 'sequencelistings/add_seq.html', { 'form': form, 'pk': pk, 'seql': sl })
def manual_add(request): """Add a fragment manually""" if request.method == 'GET': meta = MetaForm(request.GET) seq = SequenceForm(request.GET) if meta.is_valid() and seq.is_valid(): record = SeqRecord( seq.cleaned_data['seq'], name=meta.cleaned_data['name'], id=meta.cleaned_data['name'], description=meta.cleaned_data['desc']) Gene.add(record, 'MN', request.user) return JsonResponse('OK'); #figure out what the errors where errors = meta.errors errors.update(seq.errors) return JsonResponse(errors, ERROR) raise Http404
def manual_add(request): """Add a fragment manually""" if request.method == 'GET': meta = MetaForm(request.GET) seq = SequenceForm(request.GET) if meta.is_valid() and seq.is_valid(): record = SeqRecord( seq.cleaned_data['seq'], name=meta.cleaned_data['name'], id=meta.cleaned_data['name'], description=meta.cleaned_data['desc']) Gene.add(record, 'MN', request.user) return JsonResponse('OK'); #figure out what the errors where errors = meta.errors errors.update(seq.errors) return JsonResponse(errors, ERROR) raise Http404