docking working version
[django_unres.git] / django_simple / todo / views.py
index 092b9bd..6e8b105 100644 (file)
@@ -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,23 +814,52 @@ 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
@@ -840,13 +870,11 @@ def add_dock_a(request,task_id):
              
              
              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 +1090,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:
@@ -1104,7 +1132,7 @@ def refresh_done0(task):
 
 
 
-         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: