{% extends "base.html" %}
+{% load index %}
{% load i18n lazysignup_tags %}
{% block content %}
<button onclick="plusDivs(1)">❯</button>
</div>
</li>
-
+
+ {% for iii in "12345" %}
+
+ {% with istr=forloop.counter|stringformat:"s" %}
+ {% with MODELi="MODEL"|add:istr|add:".pdb" %}
+ {% with viewporti="viewport_M"|add:istr %}
+ {% with toggleRefi="toggleRefM"|add:istr %}
+ {% with toggleSidechainsi="toggleSidechainsM"|add:istr %}
+
<div class="model">
-<!-- <li class="list-group-item task-item">
- <div class="col-md-2"> model1 after conversion
- to allatom
- {{ task.remd_model1|linebreaks }}
- </div>
- <div class="col-md-10">
- <a
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL1.pdb">
- <img
- src="/myfiles/download-file/{{task.jobdirname}}/model1.png" width="500">
- </a></div>
- </li> -->
- <li class="list-group-item task-item">
- <div class="col-md-2"> model1
- {% if not task.damino %}
- after conversion to allatom
- {% endif %}
- {{ task.remd_model1|linebreaks }}
- NGL viewer</div>
- <div class="col-md-10" id="viewport_M1"
- style="width:500px;height:500px;">
- </div>
- </li>
- <li class="list-group-item task-item">
- <div class="col-md-12">
- {% if task.md_pdbref %}
- <button id="toggleRefM1">Reference structure on/off</button>
- {% endif %}
- <button id="toggleSidechainsM1">Side-chains on/off</button>
- <a class="btn btn-default"
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL1.pdb">Download</a>
- </div>
- </li>
-
- </div>
- <div class="model">
-<!-- <li class="list-group-item task-item">
- <div class="col-md-2"> model2 after conversion
- to allatom
- {{ task.remd_model2|linebreaks }}
- </div>
- <div class="col-md-10">
- <a
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL2.pdb">
- <img
- src="/myfiles/download-file/{{task.jobdirname}}/model2.png" width="500">
- </a></div>
- </li> -->
- <li class="list-group-item task-item">
- <div class="col-md-2"> model2
- {% if not task.damino %}
- after conversion to allatom
- {% endif %}
- {{ task.remd_model2|linebreaks }}
- NGL viewer</div>
- <div class="col-md-10" id="viewport_M2"
- style="width:500px;height:500px;">
- </div>
- </li>
- <li class="list-group-item task-item">
- <div class="col-md-12">
- {% if task.md_pdbref %}
- <button id="toggleRefM2">Reference structure on/off</button>
- {% endif %}
- <button id="toggleSidechainsM2">Side-chains on/off</button>
- <a class="btn btn-default"
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL2.pdb">Download</a>
- </div>
- </li>
-
-
- </div>
- <div class="model">
-<!-- <li class="list-group-item task-item">
- <div class="col-md-2"> model3 after conversion
- to allatom
- {{ task.remd_model3|linebreaks }}
- </div>
- <div class="col-md-10">
- <a
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL3.pdb">
- <img
- src="/myfiles/download-file/{{task.jobdirname}}/model3.png" width="500">
- </a></div>
- </li>-->
<li class="list-group-item task-item">
- <div class="col-md-2"> model3
- {% if not task.damino %}
- after conversion to allatom
- {% endif %}
- {{ task.remd_model3|linebreaks }}
- NGL viewer</div>
- <div class="col-md-10" id="viewport_M3"
- style="width:500px;height:500px;">
- </div>
- </li>
- <li class="list-group-item task-item">
- <div class="col-md-12">
- {% if task.md_pdbref %}
- <button id="toggleRefM3">Reference structure on/off</button>
- {% endif %}
- <button id="toggleSidechainsM3">Side-chains on/off</button>
- <a class="btn btn-default"
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL3.pdb">Download</a>
- </div>
- </li>
-
- </div>
- <div class="model">
-<!-- <li class="list-group-item task-item">
- <div class="col-md-2"> model4 after conversion
- to allatom
- {{ task.remd_model4|linebreaks }}
- </div>
- <div class="col-md-10">
- <a
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL4.pdb">
- <img
- src="/myfiles/download-file/{{task.jobdirname}}/model4.png" width="500">
- </a></div>
- </li>-->
- <li class="list-group-item task-item">
- <div class="col-md-2"> model4
- {% if not task.damino %}
- after conversion to allatom
- {% endif %}
- {{ task.remd_model4|linebreaks }}
- NGL viewer</div>
- <div class="col-md-10" id="viewport_M4"
- style="width:500px;height:500px;">
- </div>
- </li>
- <li class="list-group-item task-item">
- <div class="col-md-12">
- {% if task.md_pdbref %}
- <button id="toggleRefM4">Reference structure on/off</button>
- {% endif %}
- <button id="toggleSidechainsM4">Side-chains on/off</button>
- <a class="btn btn-default"
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL4.pdb">Download</a>
- </div>
- </li>
-
- </div>
- <div class="model">
-<!-- <li class="list-group-item task-item">
- <div class="col-md-2"> model5 after conversion
- to allatom
- {{ task.remd_model5|linebreaks }}
- </div>
- <div class="col-md-10">
- <a
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">
- <img
- src="/myfiles/download-file/{{task.jobdirname}}/model5.png" width="500">
- </a></div>
- </li>-->
- <li class="list-group-item task-item">
- <div class="col-md-2"> model5
+ <div class="col-md-2"> model {{ iii }}
{% if not task.damino %}
after conversion to allatom
{% endif %}
- {{ task.remd_model5|linebreaks }}
+ {{ remd_models|index:forloop.counter|linebreaks }}
NGL viewer</div>
- <div class="col-md-10" id="viewport_M5"
+ <div class="col-md-10" id={{viewporti}}
style="width:500px;height:500px;">
</div>
</li>
<li class="list-group-item task-item">
<div class="col-md-12">
{% if task.md_pdbref %}
- <button id="toggleRefM5">Reference structure on/off</button>
+ <button id={{toggleRefi}}>Reference structure on/off</button>
{% endif %}
- <button id="toggleSidechainsM5">Side-chains on/off</button>
+ <button id={{toggleSidechainsi}}>Side-chains on/off</button>
<a class="btn btn-default"
- href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">Download</a>
+ href="/myfiles/download-file/{{task.jobdirname}}/{{MODELi}}">Download</a>
</div>
</li>
-
</div>
+ {% endwith %}
+ {% endwith %}
+ {% endwith %}
+ {% endwith %}
+ {% endwith %}
+ {% endfor %}
+
{% endif %}
{% endif %}
{% if task.type == "remd" or task.type == "dock" %}
<script>
-function display_model(numstr){
+function display_model(num){
+ numstr=num.toString();
{% if task.md_pdbref %}
var stage = new NGL.Stage("viewport_M"+numstr);
stage.setParameters( { backgroundColor: "white",fogFar: 60, fogNear: 45 } );
},false);
-display_model("1")
+display_model(1)
var slideIndex = 1;
}
x[slideIndex-1].style.display = "block";
- if (lista[slideIndex-1] == 0 && slideIndex == 2) {
- display_model("2")
- }
-
- if (lista[slideIndex-1] == 0 && slideIndex == 3) {
- display_model("3")
- }
-
- if (lista[slideIndex-1] == 0 && slideIndex == 4) {
- display_model("4")
- }
-
- if (lista[slideIndex-1] == 0 && slideIndex == 5) {
- display_model("5")
+ if (lista[slideIndex-1] == 0) {
+ display_model(slideIndex)
}
-
if (lista[slideIndex-1] == 0) {lista[slideIndex-1]=1}
}
</script>
@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):
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):
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):
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':
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: