<div class="col-md-8">
{% if task.done %}
<span class="fa fa-check-square-o"></span>
+ {% if task.type == "md" or task.type == "remd" %}
+ <form action="restart/"
+ method="get"
+ style="text-align;float:right;">
+ {% csrf_token %}
+ <input type="submit"
+ class="btn btn-default"
+ value="Restart"
+ name="restartbtn">
+ </button>
+ </form>
+ {% endif %}
{% else %}
{% if task.running > 0 %}
<span class="fa fa-spinner
fa-spin"></span>
{{ task.running }}%
+ {% if task.running == 100 %}
+ postprocessing
+ {% endif %}
{% else %}
<span class="fa fa-square-o"></span>
{% endif %}
<div class="col-md-6"> type </div>
<div class="col-md-6">{{ task.type }}</div>
</li>
+
+ <li class="list-group-item task-item">
+ <div class="col-md-6"> pbsjob </div>
+ <div class="col-md-6">{{ task.pbsjob }}</div>
+ </li>
+
<li class="list-group-item task-item">
<div class="col-md-6"> force field </div>
<div class="col-md-6">{{ task.md_nstep}}</div>
</li>
<li class="list-group-item task-item">
+ <div class="col-md-6"> total steps (with restarts) </div>
+ <div class="col-md-6">{{ task.md_total_steps}}</div>
+ </li>
+ <li class="list-group-item task-item">
<div class="col-md-6"> ntwe </div>
<div class="col-md-6">{{ task.md_ntwe}}</div>
</li>
{% endif %}
- {% if task.type == "remd" %}
+ {% if task.type == "remd" or task.type == "dock" %}
<li class="list-group-item task-item">
<div class="col-md-6"> nrep </div>
<div class="col-md-6"> pdb code</div>
<div class="col-md-6">{{ task.pdbcode }}</div>
</li>
+ {% if task.type == "dock" %}
+ <li class="list-group-item task-item">
+ <div class="col-md-6"> input pdb2 </div>
+ <div class="col-md-6">{{ task.myfile2 }}</div>
+ </li>
+ <li class="list-group-item task-item">
+ <div class="col-md-6"> pdb code2</div>
+ <div class="col-md-6">{{ task.pdbcode2 }}</div>
+ </li>
+ <li class="list-group-item task-item">
+ <div class="col-md-6"> dock_peptide</div>
+ <div class="col-md-6">{{ task.dock_peptide }}</div>
+ </li>
+
+ {% endif %}
<li class="list-group-item task-item">
<div class="col-md-6"> seed </div>
<div class="col-md-6">{{ task.md_seed}}</div>
<div class="col-md-6">{{ task.md_nstep}}</div>
</li>
<li class="list-group-item task-item">
+ <div class="col-md-6"> total steps (with restarts) </div>
+ <div class="col-md-6">{{ task.md_total_steps}}</div>
+ </li>
+ <li class="list-group-item task-item">
<div class="col-md-6"> ntwe </div>
<div class="col-md-6">{{ task.md_ntwe}}</div>
</li>
<a href="/myfiles/list/{{task.jobdirname}}/">
{{ task.jobdirname }}
</a>
+ {% if task.done %}
+
+ <a class="btn btn-default"
+ href="/{{task.id}}/all.zip">
+ Download as zip</a>
+ {% endif %}
</div>
</li>
<div class="col-md-2"> Etot </div>
<div class="col-md-10">{{ task.etot }}</div>
</li>
-
+<!--
<li class="list-group-item task-item">
<div class="col-md-2"> UNRES model </div>
<div class="col-md-10">
src="/myfiles/download-file/{{task.jobdirname}}/unres.png"
width="500"></a> </div>
</li>
+-->
+ <li class="list-group-item task-item">
+ <div class="col-md-2"> UNRES model NGL viewer</div>
+ <div class="col-md-10" id="viewport_unres"
+ style="width:500px;height:500px;">
+ </div>
+ </li>
+
<!--
<li class="list-group-item task-item">
<div class="col-md-2"> Movie </div>
<div class="col-md-10">
- <video width="500" height="400" preload controls>
+ <video width="500" height="400"
+ preload="auto" controls="controls">
<source
src="/myfiles/download-file/{{task.jobdirname}}/md.ogv"
type="video/ogg; codecs=theora"> </source>
</li>
<li class="list-group-item task-item">
<div class="col-md-6">
-<input id="clipRange" type="range" value=0 min=0 max= {% widthratio task.md_nstep task.md_ntwx 1 %} step=1 ></input><span id="clipRange_val">0</span> frame
+<input id="clipRange" type="range" value=1 min=1 max= {% widthratio task.md_total_steps task.md_ntwx 1 %} step=1 ></input><span id="clipRange_val">1</span> frame
</div>
<div class="col-md-6">
<button id="toggleRunMDs">run/pause MD</button>
{% if task.md_pdbref %}
<li class="list-group-item task-item">
- <div class="col-md-2"> RMSD </div>
+ <div class="col-md-2"> C<sup>α</sup> RMSD </div>
<div class="col-md-10"> <img
src="/myfiles/download-file/{{task.jobdirname}}/md_rms.png"
width="500"> </div>
{% endif %}
- {% if task.type == "remd" %}
+ {% if task.type == "remd" or task.type == "dock" %}
<li class="list-group-item task-item">
<div class="col-md-2"> Energy histogram </div>
{% if task.md_pdbref %}
<li class="list-group-item task-item">
- <div class="col-md-2"> Average RMSD vs. temperature </div>
+ <div class="col-md-2"> Average C<sup>α</sup> RMSD vs. temperature </div>
<div class="col-md-10"> <img
src="/myfiles/download-file/{{task.jobdirname}}/remd_rmsd.png"
width="500"> </div>
</li>
<li class="list-group-item task-item">
- <div class="col-md-2"> potential energy vs. RMSD</div>
+ <div class="col-md-2"> potential energy vs.
+ C<sup>α</sup> RMSD</div>
<div class="col-md-10"> <img
src="/myfiles/download-file/{{task.jobdirname}}/remd_ene_rms.png"
width="500"> </div>
</li>
<li class="list-group-item task-item">
- <div class="col-md-2"> RMSD vs. step*replica
+ <div class="col-md-2"> C<sup>α</sup> RMSD vs. step*replica
colored by bath temperature</div>
<div class="col-md-10"> <img
src="/myfiles/download-file/{{task.jobdirname}}/remd_step_rms.png"
</a></div>
</li> -->
<li class="list-group-item task-item">
- <div class="col-md-2"> model1 after conversion
- to allatom {{ task.remd_model1|linebreaks }}
+ <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;">
<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>
</a></div>
</li> -->
<li class="list-group-item task-item">
- <div class="col-md-2"> model2 after conversion
- to allatom {{ task.remd_model2|linebreaks }}
+ <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;">
<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>
</a></div>
</li>-->
<li class="list-group-item task-item">
- <div class="col-md-2"> model3 after conversion
- to allatom {{ task.remd_model3|linebreaks }}
+ <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;">
<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>
</a></div>
</li>-->
<li class="list-group-item task-item">
- <div class="col-md-2"> model4 after conversion
- to allatom {{ task.remd_model4|linebreaks }}
+ <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;">
<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>
</a></div>
</li>-->
<li class="list-group-item task-item">
- <div class="col-md-2"> model5 after conversion
- to allatom {{ task.remd_model5|linebreaks }}
+ <div class="col-md-2"> model5
+ {% if not task.damino %}
+ after conversion to allatom
+ {% endif %}
+ {{ task.remd_model5|linebreaks }}
NGL viewer</div>
<div class="col-md-10" id="viewport_M5"
style="width:500px;height:500px;">
<button id="toggleRefM5">Reference structure on/off</button>
{% endif %}
<button id="toggleSidechainsM5">Side-chains on/off</button>
+ <a class="btn btn-default"
+ href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">Download</a>
</div>
</li>
});
</script>
-{% if task.type == "remd" %}
+{% if task.type == "remd" or task.type == "dock" %}
<script>
function display_model(numstr){
}),
stage.loadFile(
"/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){
+ {% if task.damino %}
+ o.addRepresentation( "licorice",{ name: "unres", color:
+ "residueindex",colorScale:["blue","cyan", "green",
+ "yellow","orange", "red"], sele:".CA"
+ })
+ o.addRepresentation( "licorice",{ name: "unressc", visible: false, color:
+ "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
+ , sele:"*" })
+ {% else %}
o.addRepresentation( "cartoon",{ name: "unres", color:
"residueindex",colorScale:["blue","cyan", "green",
"yellow","orange", "red"]
o.addRepresentation( "line",{ name: "unressc", visible: false, color:
"residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
, sele:"not hydrogen and sidechainAttached" })
+ {% endif %}
return o
})
]).then(function (ol1) {
- ol1[ 0 ].superpose(ol1[ 1 ], false, ".CA")
+ ol1[ 1 ].superpose(ol1[ 0 ], false, ".CA")
ol1[ 0 ].autoView()
})
var ref=true;
var stage = new NGL.Stage("viewport_M"+numstr);
stage.setParameters( { backgroundColor: "white",fogFar: 60, fogNear: 45 } );
stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){
+ {% if task.damino %}
+ o.addRepresentation( "licorice",{ name: "unres", color:
+ "residueindex",colorScale:["blue","cyan", "green",
+ "yellow","orange", "red"],sele:".CA"
+ });
+ o.addRepresentation( "licorice",{ name: "unressc", visible: false, color:
+ "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
+ , sele:"*" });
+ {% else %}
o.addRepresentation( "cartoon",{ name: "unres", color:
"residueindex",colorScale:["blue","cyan", "green",
"yellow","orange", "red"]
o.addRepresentation( "line",{ name: "unressc", visible: false, color:
"residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
, sele:"not hydrogen and sidechainAttached" });
+ {% endif %}
o.autoView();
})
var toggleSidechains =document.getElementById("toggleSidechainsM"+numstr );
setTimeout(worker, 30000);
});
</script>
-{% endif %}
-
+{% endif %}
{% if task.type == "min" %}
<script>
stage.handleResize();
},false);
+var stage_unres = new NGL.Stage("viewport_unres");
+stage_unres.setParameters( { backgroundColor: "white" } );
+/**
+[color_Red, color_Green, color_Blue, ellipsoid_width, ellipsoid_length ]
+*/
+var resdb = { 'CYS': [1.000, 1.000, 0.000, 1.33741, 2.96868],
+ 'MET': [0.000, 1.000, 0.000, 1.36694, 3.08863],
+ 'PHE': [0.000, 0.392, 0.000, 1.48323, 3.04238],
+ 'ILE': [0.000, 1.000, 0.000, 1.44098, 3.17389],
+ 'LEU': [0.000, 1.000, 0.000, 1.51054, 2.52078],
+ 'VAL': [0.000, 1.000, 0.000, 1.42072, 2.68924],
+ 'TRP': [0.000, 0.392, 0.000, 1.23867, 3.47403],
+ 'TYR': [0.596, 0.984, 0.596, 1.23060, 3.35434],
+ 'ALA': [0.000, 1.000, 0.000, 1.23266, 1.72686],
+ 'GLY': [1.000, 1.000, 1.000, 1.24626, 1.11383],
+ 'THR': [1.000, 0.000, 1.000, 1.28674, 2.59210],
+ 'SER': [1.000, 0.000, 1.000, 1.22820, 1.68800],
+ 'GLN': [1.000, 0.000, 1.000, 1.24239, 2.22201],
+ 'ASN': [1.000, 0.000, 1.000, 1.24447, 2.24946],
+ 'GLU': [1.000, 0.000, 0.000, 1.25448, 2.05551],
+ 'ASP': [1.000, 0.000, 0.000, 1.25417, 1.77556],
+ 'HIS': [1.000, 0.000, 1.000, 1.21103, 3.02627],
+ 'ARG': [0.000, 0.000, 1.000, 1.13573, 3.25143],
+ 'LYS': [0.000, 0.000, 1.000, 1.22604, 4.50054],
+ 'PRO': [0.000, 1.000, 1.000, 1.35131, 2.20525]
+ };
+stage_unres.loadFile("/myfiles/download-file/{{task.jobdirname}}/file_GB000.pdb", {defaultRepresentation: false}).then
+ (function ( o ){
+ var shape = new NGL.Shape("shape")
+ var chain = ""
+ o.addRepresentation("licorice");
+ o.structure.eachAtom(function(atom){
+ if (atom.atomname == "CA" && atom.chainname == chain) {
+ px=CAx+(atom.x-CAx)/2;
+ py=CAy+(atom.y-CAy)/2;
+ pz=CAz+(atom.z-CAz)/2;
+ shape.addSphere([px,py,pz],[0.643, 0.933, 0.960],0.6,"p");
+ }
+ if (atom.atomname == "CA") {
+ chain= atom.chainname
+ CAx= atom.x;
+ CAy= atom.y
+ CAz= atom.z
+ }
+ if (atom.atomname == "CB") {
+ mx = (atom.x-CAx);
+ my = (atom.y-CAy);
+ mz = (atom.z-CAz);
+ norm=Math.sqrt(mx*mx+my*my+mz*mz);
+ res=atom.resname;
+ var longaxis=resdb[res][4]
+ var shortaxis=resdb[res][3]
+ mx = mx /norm*longaxis;
+ my = my /norm*longaxis;
+ mz = mz /norm*longaxis;
+ resn=res+atom.resno
+ shape.addEllipsoid([ atom.x, atom.y, atom.z ],
+ [ resdb[res][0], resdb[res][1], resdb[res][2]],
+ shortaxis, [ mx, my, mz ], [ 0, shortaxis, 0 ],resn);
+ }
+ });
+ var shapeComp = stage_unres.addComponentFromObject(shape)
+ shapeComp.addRepresentation("buffer")
+ o.autoView();
+});
+
+
+
var stage = new NGL.Stage("viewport_min");
stage.setParameters( { backgroundColor: "white" } );
Promise.all([
o.addRepresentation( "licorice",{ color:
"residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
});
+ o.setPosition([0, 0, 100]);
o.autoView();
o.addTrajectory();
});
isRunning = true;
trajComp.signals.frameChanged.add(function(){
- var fnum=trajComp.trajectory.currentFrame;
+ var fnum=trajComp.trajectory.currentFrame+1;
clipRange.value = fnum;
clipRange_val.innerHTML = numberWithCommas(parseInt(clipRange.value*1));
});
var clipRange_val = document.getElementById( "clipRange_val" );
clipRange.oninput = function( e ){
var trajComp = stage.getComponentsByName("unres_md").list[0].trajList[0];
- trajComp.setFrame(e.target.value)
+ trajComp.setFrame(e.target.value-1)
clipRange_val.innerHTML = numberWithCommas(parseInt(e.target.value*1));
};