fluct putty correct for multichain
[django_unres.git] / django_simple / todo / views.py
index 521a300..61d5b61 100644 (file)
@@ -124,11 +124,27 @@ def add(request):
 def add_min(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':'1BDD'}
+        form = TaskForm_min(initial=data)     
+     else:
         form = TaskForm_min(request.POST,request.FILES)
         if form.is_valid():
              task.name=form.cleaned_data["name"]
              task.type="min"
-             task.myfile1=form.cleaned_data["file1"]
+             pdbid=form.cleaned_data["pdbid"]
+
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
 
              seq,task.ssbond=from_pdb(task.myfile1)
              task.md_seq=""
@@ -136,9 +152,6 @@ def add_min(request,task_id):
                     task.md_seq=task.md_seq+seq[i:i+40]+" "
 
              task.ready=True
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
              
              task.save()
              if is_lazy_user(request.user):
@@ -156,6 +169,10 @@ def add_min(request,task_id):
 def add_min_a(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':'1EI0','unres_ff':'opt-wtfsa-2'}
+        form = TaskForm_min_a(initial=data)     
+     else:
         form = TaskForm_min_a(request.POST,request.FILES)
         if form.is_valid():
              task.name=form.cleaned_data["name"]
@@ -166,7 +183,20 @@ def add_min_a(request,task_id):
              task.min_maxmin=form.cleaned_data["min_maxmin"]
              task.min_maxfun=form.cleaned_data["min_maxfun"]
              task.min_pdbout=form.cleaned_data["min_pdbout"]
-             task.myfile1=form.cleaned_data["file1"]
+
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+             
+             pdbid=form.cleaned_data["pdbid"]
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
+
              task.min_unres_pdb=form.cleaned_data["min_unres_pdb"]
              task.unres_ff=form.cleaned_data["unres_ff"]
              task.boxx=form.cleaned_data["boxx"]
@@ -178,11 +208,7 @@ def add_min_a(request,task_id):
              for i in range(0,len(seq),40):
                 task.md_seq=task.md_seq+seq[i:i+40]+" "
                                                            
-
              task.ready=True
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
              
              task.save()
              if is_lazy_user(request.user):
@@ -200,6 +226,11 @@ def add_min_a(request,task_id):
 def add_md(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':'1IGD','md_start':'pdbstart',
+        'md_pdbref':True,'md_temp':200}
+        form = TaskForm_md(initial=data)     
+     else:
         form = TaskForm_md(request.POST,request.FILES)
         if form.is_valid():
              task.name=form.cleaned_data["name"]
@@ -208,8 +239,19 @@ def add_md(request,task_id):
              task.md_start=form.cleaned_data["md_start"]
              task.md_temp=form.cleaned_data["md_temp"]
              task.md_nstep=form.cleaned_data["md_nstep"]
-             
-             task.myfile1=form.cleaned_data["file1"]
+
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+
+             pdbid=form.cleaned_data["pdbid"]
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
              task.md_pdbref=form.cleaned_data["md_pdbref"]             
 
              task.md_seq=""
@@ -225,9 +267,6 @@ def add_md(request,task_id):
                 task.ssbond=''
 
              task.ready=True
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
              
              task.save()
              if is_lazy_user(request.user):
@@ -245,12 +284,28 @@ def add_md(request,task_id):
 def add_md_a(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_start':'extconf',
+         'md_pdbref':True,'md_mdpdb':True}
+        form = TaskForm_md_a(initial=data)     
+     else:
         form = TaskForm_md_a(request.POST,request.FILES)
         if form.is_valid():
              task.name=form.cleaned_data["name"]
              task.type="md"
 
-             task.myfile1=form.cleaned_data["file1"]
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+
+             pdbid=form.cleaned_data["pdbid"]
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
              task.md_start=form.cleaned_data["md_start"]
              task.md_pdbref=form.cleaned_data["md_pdbref"]             
 
@@ -283,9 +338,6 @@ def add_md_a(request,task_id):
 
              
              task.ready=True
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
              
              task.save()
              if is_lazy_user(request.user):
@@ -303,12 +355,28 @@ def add_md_a(request,task_id):
 def add_remd(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_pdbref':True}
+        form = TaskForm_remd(initial=data)     
+     else:
         form = TaskForm_remd(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.myfile1=form.cleaned_data["file1"]
+
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+
+             pdbid=form.cleaned_data["pdbid"]
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
              task.md_pdbref=form.cleaned_data["md_pdbref"]
              task.md_ntwx=task.remd_nstex 
 
@@ -330,9 +398,6 @@ def add_remd(request,task_id):
 
              task.ready=True
              
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
              
              task.save()
              if is_lazy_user(request.user):
@@ -350,12 +415,29 @@ def add_remd(request,task_id):
 def add_remd_a(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':'1E0G','md_pdbref':True,
+         'md_nstep':500000,'md_lang':'berendsen','unres_ff':'opt-wtfsa-2',
+         'remd_cluter_temp':280}
+        form = TaskForm_remd_a(initial=data)     
+     else:
         form = TaskForm_remd_a(request.POST,request.FILES)
         if form.is_valid():
              task.name=form.cleaned_data["name"]
              task.type="remd"
 
-             task.myfile1=form.cleaned_data["file1"]
+             basename = str(task.owner)
+             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
+             task.jobdirname = "_".join([basename, suffix])
+
+             pdbid=form.cleaned_data["pdbid"]
+             if pdbid:
+              os.mkdir(task.jobdirname)
+              task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb',
+                     task.jobdirname+'/plik.pdb')     
+              task.pdbcode=pdbid
+             else:
+              task.myfile1=form.cleaned_data["file1"]
              task.md_start=form.cleaned_data["md_start"]  
              task.md_pdbref=form.cleaned_data["md_pdbref"]                        
 
@@ -387,14 +469,9 @@ def add_remd_a(request,task_id):
              task.boxy=form.cleaned_data["boxy"]             
              task.boxz=form.cleaned_data["boxz"]             
 
-
              task.remd_cluter_temp=form.cleaned_data["remd_cluter_temp"]
              task.unres_ff=form.cleaned_data["unres_ff"]
              
-             basename = str(task.owner)
-             suffix = datetime.datetime.now().strftime("%y%m%d_%H%M%S")
-             task.jobdirname = "_".join([basename, suffix])
-             
              task.save()
              return redirect('addmlist',task_id=task.id)
     else:
@@ -524,15 +601,15 @@ def refresh_done0(task):
                   
            elif task.type=='remd':
              j=0
-             text="Acceptance for replica exchanges\n"
+             text="Acceptance for replica exchanges and number of exchange attempts\n"
              for line in f:
                         
                if 'ACC' in line:
                     j+=1
-                    text=text+line
+                    text=text+' '.join(line.split()[2:])+"\n"
                     if j==task.remd_nrep:
                        j=1
-                       text="Acceptance for replica exchanges\n"+line
+                       text="Acceptance for replica exchanges and number of exchange attempts\n"+' '.join(line.split()[2:])+"\n"
 
                if 'Total wall' in line:
                   text=text+line
@@ -547,15 +624,15 @@ def refresh_done0(task):
             with open(task.jobdirname+'/file_wham_T'+str(int(task.remd_cluter_temp))+'K_000'+str(i)+'.pdb', 'r') as f:
                  line=f.readline()
                  if i==1:
-                     task.remd_model1=' '.join(line.split()[-6:])
+                     task.remd_model1='Cluster1 '+' '.join(line.split()[-3:])
                  elif i==2:
-                     task.remd_model2=' '.join(line.split()[-6:])
+                     task.remd_model2='Cluster2 '+' '.join(line.split()[-3:])
                  elif i==3:
-                     task.remd_model3=' '.join(line.split()[-6:])
+                     task.remd_model3='Cluster3 '+' '.join(line.split()[-3:])
                  elif i==4:
-                     task.remd_model4=' '.join(line.split()[-6:])
+                     task.remd_model4='Cluster4 '+' '.join(line.split()[-3:])
                  elif i==5:
-                     task.remd_model5=' '.join(line.split()[-6:])
+                     task.remd_model5='Cluster5 '+' '.join(line.split()[-3:])
            except EnvironmentError:
             print 'file_wham_T*pdb open error'
           for i in range(1,6):