preparation for number of clusters <> 5
[django_unres.git] / django_simple / todo / views.py
index e819090..bd70a61 100644 (file)
@@ -975,7 +975,16 @@ def addmlist(request,task_id):
 @login_required
 def details(request,task_id):
     task = get_object_or_404(Task, id=task_id)
-    return render(request, "details.html",{'task':task})
+    try:
+     remd_models=json.loads(task.remd_models)
+    except:
+     remd_models=[]
+     remd_models.append(task.remd_model1)
+     remd_models.append(task.remd_model2)
+     remd_models.append(task.remd_model3)
+     remd_models.append(task.remd_model4)
+     remd_models.append(task.remd_model5)
+    return render(request, "details.html",{'task':task,'remd_models':remd_models})
 
 
 def details1(request,user_id,task_id):
@@ -1153,20 +1162,12 @@ def refresh_done0(task):
 
          if task.md_pdbref and task.type=='remd' or task.type=='dock' and task.md_seq2 == '':
          
+          remd_models=[]
           for i in range(1,6):
            try:
             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='Cluster1 '+' '.join(line.split()[-3:])
-                 elif i==2:
-                     task.remd_model2='Cluster2 '+' '.join(line.split()[-3:])
-                 elif i==3:
-                     task.remd_model3='Cluster3 '+' '.join(line.split()[-3:])
-                 elif i==4:
-                     task.remd_model4='Cluster4 '+' '.join(line.split()[-3:])
-                 elif i==5:
-                     task.remd_model5='Cluster5 '+' '.join(line.split()[-3:])
+                 remd_models.append('Cluster'+str(i)+' '.join(line.split()[-3:]))
            except EnvironmentError:
             print 'file_wham_T*pdb open error'
           for i in range(1,6):
@@ -1180,16 +1181,7 @@ def refresh_done0(task):
                  if 'GDT-TS-score=' in line:
                    text=text+' GDT_TS='+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
+               remd_models[i-1]=remd_models[i-1]+text
           
           if task.type=='dock':
            for i in range(1,6):
@@ -1209,16 +1201,7 @@ def refresh_done0(task):
                  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
+               remd_models[i-1]=remd_models[i-1]+text
 
 
          if task.type=='remd' or task.type=='dock':  
@@ -1231,18 +1214,12 @@ def refresh_done0(task):
                   i+=1
                   if i>6:
                        break
-                  if i==1:
-                     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]
-                  elif i==3:
-                     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]
-                  elif i==5:
-                     task.remd_model5=task.remd_model5+' Cluster5 probability= '+line1.split()[-2]
+                  try:
+                    remd_models[i-1]=remd_models[i-1]+' Cluster'+str(i)+'probability= '+line1.split()[-2]
+                  except:
+                    print i
                      
-         
+         task.remd_models=json.dumps(remd_models)
 
          task.save()
       elif os.path.isfile(task.jobdirname+'/file_GB000.stat') and not task.done: