printout as on etoh
[django_unres.git] / django_simple / todo / views.py
index 2134ae5..f1fb202 100644 (file)
@@ -5,6 +5,7 @@ from .forms import *
 from .models import Task
 import datetime
 import os
+import subprocess
 
 res_codes = [
                 # 20 canonical amino acids
@@ -14,6 +15,8 @@ res_codes = [
                 ('LEU', 'L'), ('ARG', 'R'), ('TRP', 'W'), ('ALA', 'A'),
                 ('VAL', 'V'), ('GLU', 'E'), ('TYR', 'Y'), ('MET', 'M'),
                 ('HSD', 'H'),('HSE', 'H'),('HSP', 'H'),
+                ('HIE', 'H'), ('HID', 'H'),('HIP', 'H'),
+                ('CYX', 'C'),
                ]
 
 three_to_one = dict(res_codes)
@@ -45,7 +48,7 @@ def from_pdb(file):
                                                                                     
             if line[0:3] == 'END':
               break
-    if sequence[-1] == 'XX':
+    while sequence[-1] == 'XX':
             del sequence[-1]
     if sequence[0] != 'G':
             sequence.insert(0,'X')
@@ -60,6 +63,7 @@ def from_pdb(file):
 def index(request):
     user = request.user
     tasks = Task.objects.filter(owner=user)
+    variable = ''
     return render(request, "index.html", {
             'tasks': tasks
         })
@@ -402,7 +406,7 @@ def refresh_done(request):
                        
          task.results_text=text
 
-         if task.md_pdbref:
+         if task.md_pdbref and task.type=='remd':
          
           for i in range(1,6):
             with open(task.jobdirname+'/file_wham_T'+str(int(task.remd_cluter_temp))+'K_000'+str(i)+'.pdb', 'r') as f:
@@ -425,14 +429,32 @@ def refresh_done(request):
            task.running =1
          else:
            with open(task.jobdirname+'/file_GB000.stat', 'r') as f:
+              line=''
               for line in f:
                 pass
-              if line:
+              if line != '':
                 last = line.split()[0]
               else:
                 last = 0
-           task.running=1+int(last)*100.0/task.md_nstep
+           task.running=int(1+int(last)*100.0/task.md_nstep)
            if task.running>100:
              task.running=100
          task.save()
-    return redirect('/')        
+
+    proc = subprocess.Popen('/opt/torque/bin/qstat', stdout=subprocess.PIPE)
+    njob=0
+    nq=0
+    for line in proc.stdout:
+      if 'piasek4' in line:
+        if line.split()[1]=='test_server':
+          njob+=1
+          if line.split()[-2]=='Q':
+            nq+=1
+    variable='Idle jobs='+str(nq)+' Total jobs='+str(njob)
+
+    return render(request, "index.html", {
+                'tasks': tasks ,
+                'variable' : variable
+                        })
+    
+#   return redirect('/')