X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=django_simple%2Ftodo%2Fviews.py;h=0021e8a5a1f18ce44403d366bf4b73de27376945;hb=8dce3b49dabcc85baae2b796ae055da8866424bb;hp=cddfc88509041216c1022c80df9d894a6a4e5e78;hpb=9ed732a162468afe926d1982efa882468c5178a3;p=django_unres.git diff --git a/django_simple/todo/views.py b/django_simple/todo/views.py index cddfc88..0021e8a 100644 --- a/django_simple/todo/views.py +++ b/django_simple/todo/views.py @@ -718,7 +718,7 @@ def add_dock(request,task_id): task = get_object_or_404(Task, id=task_id) if request.method == 'POST': if '_example' in request.POST: - data= {'name':task.name,'pdbid':'1L2Y','md_seed':-39912345} + data= {'name':task.name,'pdbid':'1BON:A','pdbid2':'1BON:B','md_seed':-12396738,'md_nstep':500000} form = TaskForm_dock(initial=data) else: form = TaskForm_dock(request.POST,request.FILES) @@ -746,6 +746,7 @@ def add_dock(request,task_id): task.md_ntwx=task.remd_nstex task.md_start="pdbstart" + task.remd_multi_m='["3", "3", "3", "3", "3", "3", "3", "3"]' task.md_pdbref=True task.md_respa=False task.ssbond="" @@ -768,6 +769,7 @@ def add_dock(request,task_id): task.md_seed=form.cleaned_data["md_seed"] task.md_nstep=form.cleaned_data["md_nstep"] + task.md_total_steps=task.md_nstep if any(c.islower() for c in seq): task.md_respa=False @@ -795,13 +797,12 @@ def add_dock_a(request,task_id): if request.method == 'POST': if '_example' in request.POST: data= {'name':task.name,'pdbid':'1L2Y','md_pdbref':True,'md_seed':-39912345} - form = TaskForm_remd(initial=data) + form = TaskForm_dock_a(initial=data) else: - form = TaskForm_remd(request.POST,request.FILES) + form = TaskForm_dock_a(request.POST,request.FILES) if form.is_valid(): task.name=form.cleaned_data["name"] - task.type="remd" - task.md_start=form.cleaned_data["md_start"] + task.type="dock" basename = str(task.owner) suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S") @@ -813,40 +814,63 @@ def add_dock_a(request,task_id): task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] - task.md_pdbref=form.cleaned_data["md_pdbref"] - task.md_ntwx=task.remd_nstex + + pdbid2=form.cleaned_data["pdbid2"] + if pdbid2: + task.myfile2=load_pdbid(pdbid2,task.jobdirname,'plik2.pdb') + task.pdbcode2=pdbid2 + else: + task.myfile2=form.cleaned_data["file2"] + task.md_ntwx=task.remd_nstex + task.md_start="pdbstart" + task.md_pdbref=True + task.md_respa=False + task.ssbond="" + task.md_seq="" - if task.md_start == "pdbstart" or task.md_pdbref: - seq,task.ssbond=from_pdb(task.myfile1) + + seq1,ssbond1=from_pdb(task.myfile1) + seq2,ssbond2=from_pdb(task.myfile2) + + if seq1[-1]=='X' and seq2[0]=='X': + seq=seq1+seq2 + elif seq1[-1]!='X' and seq2[0]!='X': + seq=seq1+'XX'+seq2 else: - seq=seq_add_x(form.cleaned_data["md_seq"]) + seq=seq1+'X'+seq2 + for i in range(0,len(seq),40): task.md_seq=task.md_seq+seq[i:i+40]+" " - if task.md_start != "pdbstart": - task.ssbond='' - task.md_seed=form.cleaned_data["md_seed"] task.md_nstep=form.cleaned_data["md_nstep"] + task.md_total_steps=task.md_nstep + + task.md_dt=form.cleaned_data["md_dt"] + task.md_lang=form.cleaned_data["md_lang"] + task.md_tau=form.cleaned_data["md_tau"] + task.md_scal_fric=form.cleaned_data["md_scal_fric"] + task.min_maxfun=form.cleaned_data["min_maxfun"] + task.remd_nrep=form.cleaned_data["remd_nrep"] + task.remd_nstex=form.cleaned_data["remd_nstex"] + task.md_ntwx=form.cleaned_data["md_ntwx"] + task.md_ntwe=form.cleaned_data["md_ntwe"] + + task.remd_cluter_temp=form.cleaned_data["remd_cluter_temp"] + task.unres_ff=form.cleaned_data["unres_ff"] if any(c.islower() for c in seq): task.md_respa=False task.damino=True - - task.ready=True - - task.save() - if is_lazy_user(request.user): - return redirect('/details1/'+str(task.owner)+'/'+str(task.id)+'/') - else: - return redirect('/') + return redirect('addmlist',task_id=task.id) + else: data= {'name':task.name,'md_seed':-random.randint(10000000,99999999)} - form = TaskForm_remd(initial=data) + form = TaskForm_dock_a(initial=data) basic_adv=False p_type='docking - advanced options' return render(request, 'edit.html', {'form': form, 'task':task, 'basic_adv':basic_adv, 'p_type':p_type}) @@ -1062,7 +1086,7 @@ def refresh_done0(task): task.results_text=text - if task.md_pdbref and task.type=='remd': + if task.md_pdbref and task.type=='remd' or task.type=='dock': for i in range(1,6): try: @@ -1101,10 +1125,38 @@ def refresh_done0(task): task.remd_model4=task.remd_model4+text elif i==5: task.remd_model5=task.remd_model5+text + + if task.type=='dock': + for i in range(1,6): + with open(task.jobdirname+'/dockq_'+str(i)+'.out', 'r') as f: + text='' + for line in f: + if 'Fnat' in line: + text=' Fnat='+line.split()[1] + if 'iRMS' in line: + text=text+' iRMS='+line.split()[1] + if 'LRMS=' in line: + text=text+' LRMS='+line.split()[1] + if 'CAPRI' in line: + text=text+' CAPRI='+line.split()[1] + if 'DockQ_CAPRI' in line: + text=text+' DockQ_CAPRI='+line.split()[1] + if 'DockQ ' in line: + text=text+' DockQ='+line.split()[1] + if i==1: + task.remd_model1=task.remd_model1+text + elif i==2: + task.remd_model2=task.remd_model2+text + elif i==3: + task.remd_model3=task.remd_model3+text + elif i==4: + task.remd_model4=task.remd_model4+text + elif i==5: + task.remd_model5=task.remd_model5+text - if task.type=='remd': + if task.type=='remd' or task.type=='dock': with open(task.jobdirname+'/file_cluster_clust.out_000', 'r') as f: for line in f: @@ -1115,15 +1167,15 @@ def refresh_done0(task): if i>6: break if i==1: - task.remd_model1=task.remd_model1+' Cluster1 probability= '+line1.split()[2] + task.remd_model1=task.remd_model1+' Cluster1 probability= '+line1.split()[-2] elif i==2: - task.remd_model2=task.remd_model2+' Cluster2 probability= '+line1.split()[2] + task.remd_model2=task.remd_model2+' Cluster2 probability= '+line1.split()[-2] elif i==3: - task.remd_model3=task.remd_model3+' Cluster3 probability= '+line1.split()[2] + task.remd_model3=task.remd_model3+' Cluster3 probability= '+line1.split()[-2] elif i==4: - task.remd_model4=task.remd_model4+' Cluster4 probability= '+line1.split()[2] + task.remd_model4=task.remd_model4+' Cluster4 probability= '+line1.split()[-2] elif i==5: - task.remd_model5=task.remd_model5+' Cluster5 probability= '+line1.split()[2] + task.remd_model5=task.remd_model5+' Cluster5 probability= '+line1.split()[-2]