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 sequence(request, pk, spk): seq = Sequence.objects.get(pk=spk) form = SequenceForm( instance=seq, # sn = seq.sequenceName, initial={ 'organism': seq.getOrganism(), 'sequenceName': seq.sequenceName }) form.organism = seq.getOrganism() featureFormDic = {} qualifierFormDic = {} for f in seq.feature_set.all(): featureFormDic[f] = FeatureForm(instance=f, mt=seq.moltype, initial={'featureKey': f.featureKey}) qualifierFormList = [] for q in f.qualifier_set.all(): qualifierFormList.append( QualifierForm(feature=f, instance=q, initial={'qualifierName': q.qualifierName})) qualifierFormDic[f] = qualifierFormList return render( request, 'sequencelistings/sequence.html', { 'form': form, 'seq': seq, 'featureFormDic': featureFormDic, 'qualifierFormDic': qualifierFormDic, })
def sequence(request, pk, spk): seq = Sequence.objects.get(pk=spk) form = SequenceForm(instance=seq, initial={'organism': seq.getOrganism()}) form.organism = seq.getOrganism() featureFormDic = {} qualifierFormDic = {} for f in seq.feature_set.all(): featureFormDic[f] = FeatureForm(instance=f, mt=seq.moltype, initial={'featureKey': f.featureKey}) qualifierFormList = [] for q in f.qualifier_set.all(): qualifierFormList.append(QualifierForm(feature=f, instance=q, initial={'qualifierName': q.qualifierName})) qualifierFormDic[f] = qualifierFormList # if request.method == 'POST': # if form.is_valid(): # cd = form.cleaned_data # # fk = cd['featureKey'] # fl = cd['location'] # f = Feature.objects.create(sequence=seq, featureKey=fk, location=fl) # f.save() # return HttpResponseRedirect(reverse('sequencelistings:detail', args=(pk,))) # else: # form = FeatureForm(mt=seq.moltype) return render(request, 'sequencelistings/sequence.html', {'form': form, 'seq': seq, 'featureFormDic': featureFormDic, 'qualifierFormDic': qualifierFormDic,})
def index(): form = SequenceForm() details = [] if form.validate_on_submit(): for seq in re.findall(r'[ACGT]{23}', form.sequence.data.upper()): scores = calculator.calculate_sequence(seq) details.append({"sequence": seq, "scores": scores}) if form.csv.data: return render_csv(details) return render_template('index.html', form=form, details=details)
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_form(request): t = loader.get_template('fragment/MNform.html') meta = MetaForm() seq = SequenceForm() c = RequestContext(request, { 'meta': meta, 'seq': seq, 'title':'Manually add a Fragment', 'action': 'import/manual/add/',}) return HttpResponse(t.render(c))
def sequence(request, pk, spk): seq = Sequence.objects.get(pk=spk) form = SequenceForm(instance=seq, initial={'organism': seq.getOrganism()}) form.organism = seq.getOrganism() featureFormDic = {} qualifierFormDic = {} for f in seq.feature_set.all(): featureFormDic[f] = FeatureForm(instance=f, mt=seq.moltype, initial={'featureKey': f.featureKey}) qualifierFormList = [] for q in f.qualifier_set.all(): qualifierFormList.append(QualifierForm(feature=f, instance=q, initial={'qualifierName': q.qualifierName})) qualifierFormDic[f] = qualifierFormList return render(request, 'sequencelistings/sequence.html', {'form': form, 'seq': seq, 'featureFormDic': featureFormDic, 'qualifierFormDic': qualifierFormDic,})