4860b27015aeb5b61b72e581025661c738715314
[django_unres.git] / django_simple / todo / templates / details1.html
1 {% extends "base.html" %}
2
3 {% load i18n lazysignup_tags %}
4 {% block content %}
5
6 {% if task.owner|is_lazy_user %}
7
8 <ul class="list-group">
9
10 <li class="list-group-item new-task-item task-item">
11
12 <div class="col-md-2 form-group">
13 <form action="/refresh_done1/{{task.id}}/" method="post">
14 {% csrf_token %}
15 <input type="submit" class="btn" value="Refresh" name="refreshbtn">
16 </form>
17 </div>
18
19 <div class="col-md-10 form-group">
20 <h5 style="text-align:right;float:right;">
21 {% if not task.done %}
22  {% if task.running > 0  %}
23   {% if task.running == 100  %}
24   postprocessing
25   {% else %}
26   running
27   {% endif %}
28  {% else %}
29   waiting in the queue to start
30  {% endif %}
31 {% endif %}
32 </h5>
33 </div>
34 </li>
35 </ul>
36
37 <h3> Task <b>{{ task.name }}</b></h3>
38 Created {{ task.created_date  }}
39         <ul class="list-group">
40
41                         <li class="list-group-item task-item">
42                                 <div class="col-md-4"> done ?</div>
43                                 <div class="col-md-8">
44                                         {% if task.done %}
45                                                 <span class="fa fa-check-square-o"></span>
46                                             {% if task.type == "md" or task.type == "remd" %}
47                                               <form action="restart/"
48                                                 method="get"
49                                                 style="text-align;float:right;">
50                                                 {% csrf_token %}
51                                                  <input type="submit" 
52                                                  class="btn btn-default" 
53                                                  value="Restart"
54                                                  name="restartbtn">
55                                                  </button>
56                                               </form>
57                                             {% endif %}  
58                                         {% else %}
59                                           {% if task.running > 0  %}
60                                                 <span class="fa fa-spinner
61                                                 fa-spin"></span>
62                                                 {{ task.running }}%
63                                           {% else %}
64                                                 <span class="fa fa-square-o"></span>
65                                           {% endif %}
66                                         {% endif %}
67
68                                 </div>
69                         </li>   
70 <div>
71     <fieldset class="majorpoints">
72     <legend class="majorpointslegend"
73     style="background-color:#d3d3d3;cursor: pointer;">Show input parameters</legend>
74     <div class="hiders" style="display:none" >
75
76                         <li class="list-group-item task-item">
77                             <div class="col-md-6"> type </div>
78                             <div class="col-md-6">{{ task.type }}</div>
79                         </li>           
80          
81                         <li class="list-group-item task-item">
82                             <div class="col-md-6"> force field </div>
83                             <div class="col-md-6">{{ task.unres_ff }}</div>
84                         </li>           
85
86                         <li class="list-group-item task-item">
87                             <div class="col-md-4"> sequence </div>
88                             <div class="col-md-8 monospace">{{ task.md_seq}}</div>
89                         </li>           
90
91                         <li class="list-group-item task-item">
92                             <div class="col-md-4"> secondary structure
93                             restraints </div>
94                             <div class="col-md-8 monospace">{{ task.md_2d}}</div>
95                         </li>           
96
97
98                         <li class="list-group-item task-item">
99                             <div class="col-md-6"> SSBOND </div>
100                             <div class="col-md-6">{{ task.ssbond}}</div>
101                         </li>           
102
103                         
104         {% if task.type == "min" %}
105
106
107                         <li class="list-group-item task-item">
108                             <div class="col-md-6"> algorithm</div>
109                             <div class="col-md-6">{{ task.min_choice }}</div>
110                         </li>           
111                         <li class="list-group-item task-item">
112                             <div class="col-md-6"> overlap</div>
113                             <div class="col-md-6">{{ task.min_overlap }}</div>
114                         </li>           
115                         <li class="list-group-item task-item">
116                             <div class="col-md-6"> searchsc</div>
117                             <div class="col-md-6">{{ task.min_searchsc }}</div>
118                         </li>           
119                         <li class="list-group-item task-item">
120                             <div class="col-md-6"> maxmin</div>
121                             <div class="col-md-6">{{ task.min_maxmin }}</div>
122                         </li>           
123                         <li class="list-group-item task-item">
124                             <div class="col-md-6"> maxfun</div>
125                             <div class="col-md-6">{{ task.min_maxfun }}</div>
126                         </li>           
127                         <li class="list-group-item task-item">
128                             <div class="col-md-6"> pdbout</div>
129                             <div class="col-md-6">{{ task.min_pdbout }}</div>
130                         </li>           
131                         <li class="list-group-item task-item">
132                             <div class="col-md-6"> input pdb </div>
133                             <div class="col-md-6">{{ task.myfile1 }}</div>
134                         </li>           
135                         <li class="list-group-item task-item">
136                             <div class="col-md-6"> pdb code</div>
137                             <div class="col-md-6">{{ task.pdbcode }}</div>
138                         </li>           
139                         <li class="list-group-item task-item">
140                             <div class="col-md-6"> unres_pdb</div>
141                             <div class="col-md-6">{{ task.min_unres_pdb }}</div>
142                         </li>           
143                         
144         {% endif %}
145         {% if task.type == "md" %}
146                         <li class="list-group-item task-item">
147                             <div class="col-md-6"> starting </div>
148                             <div class="col-md-6">{{ task.md_start}}</div>
149                         </li>           
150                         
151                         <li class="list-group-item task-item">
152                             <div class="col-md-6"> input pdb </div>
153                             <div class="col-md-6">{{ task.myfile1 }}</div>
154                         </li>           
155                         <li class="list-group-item task-item">
156                             <div class="col-md-6"> pdb code</div>
157                             <div class="col-md-6">{{ task.pdbcode }}</div>
158                         </li>           
159                         <li class="list-group-item task-item">
160                             <div class="col-md-6"> seed </div>
161                             <div class="col-md-6">{{ task.md_seed}}</div>
162                         </li>           
163                         <li class="list-group-item task-item">
164                             <div class="col-md-6"> pdbref </div>
165                             <div class="col-md-6">{{ task.md_pdbref}}</div>
166                         </li>           
167                         <li class="list-group-item task-item">
168                             <div class="col-md-6"> respa </div>
169                             <div class="col-md-6">{{ task.md_respa}}</div>
170                         </li>           
171                         <li class="list-group-item task-item">
172                             <div class="col-md-6"> temperature </div>
173                             <div class="col-md-6">{{ task.md_temp}}</div>
174                         </li>           
175                         <li class="list-group-item task-item">
176                             <div class="col-md-6"> nstep </div>
177                             <div class="col-md-6">{{ task.md_nstep}}</div>
178                         </li>           
179                         <li class="list-group-item task-item">
180                             <div class="col-md-6"> total steps (with restarts) </div>
181                             <div class="col-md-6">{{ task.md_total_steps}}</div>
182                         </li>           
183                         <li class="list-group-item task-item">
184                             <div class="col-md-6"> ntwe </div>
185                             <div class="col-md-6">{{ task.md_ntwe}}</div>
186                         </li>           
187                         <li class="list-group-item task-item">
188                             <div class="col-md-6"> ntwx </div>
189                             <div class="col-md-6">{{ task.md_ntwx}}</div>
190                         </li>           
191                         <li class="list-group-item task-item">
192                             <div class="col-md-6"> dt </div>
193                             <div class="col-md-6">{{ task.md_dt}}</div>
194                         </li>           
195                         <li class="list-group-item task-item">
196                             <div class="col-md-6"> thermostat </div>
197                             <div class="col-md-6">{{ task.md_lang}}</div>
198                         </li>           
199                         
200                         {% if task.md_lang == "berendsen" %}
201                         
202                         <li class="list-group-item task-item">
203                             <div class="col-md-6"> tau </div>
204                             <div class="col-md-6">{{ task.md_tau}}</div>
205                         </li>           
206                         
207                         {% else %}
208                         
209                         <li class="list-group-item task-item">
210                             <div class="col-md-6"> scal_fric </div>
211                             <div class="col-md-6">{{ task.md_scal_fric}}</div>
212                         </li>   
213                         
214                         {% endif %}
215                                 
216                         <li class="list-group-item task-item">
217                             <div class="col-md-6"> mdpdb </div>
218                             <div class="col-md-6">{{ task.md_mdpdb}}</div>
219                         </li>           
220                         <li class="list-group-item task-item">
221                             <div class="col-md-6"> RESPA </div>
222                             <div class="col-md-6">{{ task.md_respa}}</div>
223                         </li>           
224                         
225                         
226         {% endif %}
227
228         {% if task.type == "remd" or task.type == "dock" %}
229
230                         <li class="list-group-item task-item">
231                             <div class="col-md-6"> nrep </div>
232                             <div class="col-md-6">{{ task.remd_nrep}}</div>
233                         </li>           
234                         <li class="list-group-item task-item">
235                             <div class="col-md-6"> starting </div>
236                             <div class="col-md-6">{{ task.md_start}}</div>
237                         </li>           
238                         
239                         <li class="list-group-item task-item">
240                             <div class="col-md-6"> input pdb </div>
241                             <div class="col-md-6">{{ task.myfile1 }}</div>
242                         </li>           
243                         <li class="list-group-item task-item">
244                             <div class="col-md-6"> pdb code</div>
245                             <div class="col-md-6">{{ task.pdbcode }}</div>
246                         </li>           
247                         {% if task.type == "dock" %}
248                         <li class="list-group-item task-item">
249                             <div class="col-md-6"> input pdb2 </div>
250                             <div class="col-md-6">{{ task.myfile2 }}</div>
251                         </li>           
252                         <li class="list-group-item task-item">
253                             <div class="col-md-6"> pdb code2</div>
254                             <div class="col-md-6">{{ task.pdbcode2 }}</div>
255                         </li>           
256                         <li class="list-group-item task-item">
257                             <div class="col-md-6"> dock_peptide</div>
258                             <div class="col-md-6">{{ task.dock_peptide }}</div>
259                         </li>           
260                         
261                         {% endif %}
262                         <li class="list-group-item task-item">
263                             <div class="col-md-6"> seed </div>
264                             <div class="col-md-6">{{ task.md_seed}}</div>
265                         </li>           
266                         <li class="list-group-item task-item">
267                             <div class="col-md-6"> pdbref </div>
268                             <div class="col-md-6">{{ task.md_pdbref}}</div>
269                         </li>           
270                         {% if task.md_start == "pdbstart" %}
271                         <li class="list-group-item task-item">
272                             <div class="col-md-6"> preminim maxfun </div>
273                             <div class="col-md-6">{{ task.min_maxfun }}</div>
274                         </li>           
275                         {% endif %}
276                         <li class="list-group-item task-item">
277                             <div class="col-md-6"> respa </div>
278                             <div class="col-md-6">{{ task.md_respa}}</div>
279                         </li>           
280                         <li class="list-group-item task-item">
281                             <div class="col-md-6"> nstep </div>
282                             <div class="col-md-6">{{ task.md_nstep}}</div>
283                         </li>           
284                         <li class="list-group-item task-item">
285                             <div class="col-md-6"> total steps (with restarts) </div>
286                             <div class="col-md-6">{{ task.md_total_steps}}</div>
287                         </li>           
288                         <li class="list-group-item task-item">
289                             <div class="col-md-6"> ntwe </div>
290                             <div class="col-md-6">{{ task.md_ntwe}}</div>
291                         </li>           
292                         <li class="list-group-item task-item">
293                             <div class="col-md-6"> nstex </div>
294                             <div class="col-md-6">{{ task.remd_nstex}}</div>
295                         </li>           
296                         <li class="list-group-item task-item">
297                             <div class="col-md-6"> ntwx </div>
298                             <div class="col-md-6">{{ task.md_ntwx}}</div>
299                         </li>                                   
300                         <li class="list-group-item task-item">
301                             <div class="col-md-6"> dt </div>
302                             <div class="col-md-6">{{ task.md_dt}}</div>
303                         </li>           
304                         <li class="list-group-item task-item">
305                             <div class="col-md-6"> thermostat </div>
306                             <div class="col-md-6">{{ task.md_lang}}</div>
307                         </li>           
308                         
309                         {% if task.md_lang == "berendsen" %}
310                         
311                         <li class="list-group-item task-item">
312                             <div class="col-md-6"> tau </div>
313                             <div class="col-md-6">{{ task.md_tau}}</div>
314                         </li>           
315                         
316                         {% else %}
317                         
318                         <li class="list-group-item task-item">
319                             <div class="col-md-6"> scal_fric </div>
320                             <div class="col-md-6">{{ task.md_scal_fric}}</div>
321                         </li>   
322                         
323                         {% endif %}
324
325                         <li class="list-group-item task-item">
326                             <div class="col-md-6"> RESPA </div>
327                             <div class="col-md-6">{{ task.md_respa}}</div>
328                         </li>           
329                                 
330                         <li class="list-group-item task-item">
331                             <div class="col-md-6"> temperatures </div>
332                             <div class="col-md-6">{{ task.remd_multi_t}}</div>
333                         </li>           
334                         <li class="list-group-item task-item">
335                             <div class="col-md-6"> multiplex </div>
336                             <div class="col-md-6">{{ task.remd_multi_m}}</div>
337                         </li>           
338                         <li class="list-group-item task-item">
339                             <div class="col-md-6"> temperature for clustering</div>
340                             <div class="col-md-6">{{ task.remd_cluter_temp}}</div>
341                         </li>           
342                         {% if task.saxs_data != "" %}                   
343                         <li class="list-group-item task-item">
344                             <div class="col-md-6"> wsaxs </div>
345                             <div class="col-md-6">{{ task.wsaxs }}</div>
346                         </li>           
347                         <li class="list-group-item task-item">
348                             <div class="col-md-6"> scal_rad (saxs) </div>
349                             <div class="col-md-6">{{ task.scal_rad }}</div>
350                         </li>           
351                         <li class="list-group-item task-item">
352                             <div class="col-md-6"> saxs distribution </div>
353                             <div class="col-md-6"><pre> {{ task.saxs_data }}</pre></div>
354                         </li>           
355                         {% endif %}
356
357         {% endif %}
358
359                         <li class="list-group-item task-item">
360                             <div class="col-md-6"> Box X Y Z</div>
361                             <div class="col-md-2">{{ task.boxx}}</div>
362                             <div class="col-md-2">{{ task.boxy}}</div>                      
363                             <div class="col-md-2">{{ task.boxz}}</div>                      
364                         </li>           
365
366 </div>
367 </div>
368         <p>
369         <h3> Results </h3>
370                         <li class="list-group-item task-item">
371                             <div class="col-md-4"> Directory </div>
372                             <div class="col-md-8">
373                             <a href="/myfiles/list/{{task.jobdirname}}/">
374                             {{ task.jobdirname }}
375                             </a>
376                             {% if task.done %}
377                             &nbsp;
378                             <a class="btn btn-default"
379                             href="/{{task.id}}/all.zip">
380                             Download as zip</a>
381                             {% endif %}
382                             </div>
383                         </li>           
384
385
386         {% if task.done %}
387                         
388                         {% if task.type == "min" %}
389                         
390                         <li class="list-group-item task-item">
391                             <div class="col-md-2"> Etot </div>
392                             <div class="col-md-10">{{ task.etot }}</div>
393                         </li>           
394 <!--                    
395                         <li class="list-group-item task-item">
396                           <div class="col-md-2"> UNRES model </div>
397                           <div class="col-md-10"> 
398                           <a
399                            href="/myfiles/download-file/{{task.jobdirname}}/unres.pse">
400                           <img 
401                           src="/myfiles/download-file/{{task.jobdirname}}/unres.png"
402                           width="500"></a> </div>
403                         </li>
404 -->
405                         <li class="list-group-item task-item">
406                           <div class="col-md-2"> UNRES model NGL viewer</div>
407                           <div class="col-md-10" id="viewport_unres"
408                           style="width:500px;height:500px;"> 
409                           </div>
410                         </li>
411
412
413 <!--
414                         <li class="list-group-item task-item">
415                           <div class="col-md-2"> Structure overlap </div>
416                           <div class="col-md-10"> <img 
417                           src="/myfiles/download-file/{{task.jobdirname}}/unres_overlap.png"
418                           width="500"> </div>
419                         </li>
420 -->
421                         <li class="list-group-item task-item">
422                           <div class="col-md-2"> Structure overlap NGL viewer</div>
423                           <div class="col-md-10" id="viewport_min"
424                           style="width:500px;height:500px;"> 
425                           </div>
426                         </li>
427                         <li class="list-group-item task-item">
428                <div class="col-md-12">
429                <button id="toggleAllatom">Input structure on/off</button>
430                <button id="toggleSidechains2">Side-chains on/off</button>
431                </div>
432                         </li>
433                         {% endif %}
434
435                         <li class="list-group-item task-item">
436                             <div class="col-md-2"> Results </div>
437                             <div class="col-md-10">{{ task.results_text|linebreaks }}</div>
438                         </li>           
439                         
440                         {% if task.type == "md" %}
441
442                         <li class="list-group-item task-item">
443                           <div class="col-md-2"> Temperature histogram </div>
444                           <div class="col-md-10"> <img 
445                           src="/myfiles/download-file/{{task.jobdirname}}/temp_hist.png"
446                           width="500"> </div>
447                         </li>
448
449                         <li class="list-group-item task-item">
450                           <div class="col-md-2"> Potential energy </div>
451                           <div class="col-md-10"> <img 
452                           src="/myfiles/download-file/{{task.jobdirname}}/md_ene.png"
453                           width="500"> </div>
454                         </li>
455
456                             <li class="list-group-item task-item">
457                             <div class="col-md-2"> Movie </div>
458                             <div class="col-md-10"> 
459
460                             <video width="500" height="400"
461                             preload="auto" controls="controls">
462                             <source
463                             src="/myfiles/download-file/{{task.jobdirname}}/md.ogv"
464                             type="video/ogg; codecs=theora"> </source>
465                             </video>
466                           
467                             </div>
468                             </li>
469
470 {% if task.md_mdpdb %}
471                         <li class="list-group-item task-item">
472                           <div class="col-md-2"> Trajectory NGL viewer</div>
473                           <div class="col-md-10" id="viewport_traj"
474                           style="width:500px;height:500px;"> 
475                           </div>
476                         </li>
477                         <li class="list-group-item task-item">
478                <div class="col-md-6">
479 <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
480 </div>
481 <div class="col-md-6">
482 <button id="toggleRunMDs">run/pause MD</button>  
483 <button id="toggleSidechains1">side-chains on/off</button>                        
484 </div>
485                         </li>
486
487 {% endif %}
488                             
489                         <li class="list-group-item task-item">
490                           <div class="col-md-2"> Radius of gyration based
491                           on C<sup>α</sup> coordinates </div>
492                           <div class="col-md-10"> <img 
493                           src="/myfiles/download-file/{{task.jobdirname}}/md_gyr.png"
494                           width="500"> </div>
495                         </li>
496                             
497
498                 
499                            {% if task.md_pdbref %}
500                         <li class="list-group-item task-item">
501                           <div class="col-md-2"> C<sup>&alpha;</sup> RMSD </div>
502                           <div class="col-md-10"> <img 
503                           src="/myfiles/download-file/{{task.jobdirname}}/md_rms.png"
504                           width="500"> </div>
505                         </li>
506
507                         <li class="list-group-item task-item">
508                           <div class="col-md-2"> fraction of native
509                           side-chain concacts </div>
510                           <div class="col-md-10"> <img 
511                           src="/myfiles/download-file/{{task.jobdirname}}/md_fracn.png"
512                           width="500"> </div>
513                         </li>
514                         
515                            {% endif %}
516
517                            {% if task.md_start == "pdbstart" %}
518                         <li class="list-group-item task-item">
519                           <div class="col-md-2"> fluctuations </div>
520                           <div class="col-md-10"> <img 
521                           src="/myfiles/download-file/{{task.jobdirname}}/fluct_plot.png"
522                           width="500"> </div>
523                         </li>
524 <!--
525                         <li class="list-group-item task-item">
526                           <div class="col-md-2"> fluctuations putty on
527                           starting structure</div>
528                           <div class="col-md-10"> 
529                           <a
530                           href="/myfiles/download-file/{{task.jobdirname}}/fluct.pse">
531                           <img 
532                           src="/myfiles/download-file/{{task.jobdirname}}/fluct.png"
533                           width="500"></a> </div>
534                         </li>
535 -->
536                         <li class="list-group-item task-item">
537                           <div class="col-md-2"> fluctuations putty on
538                           starting structure NGL viewer</div>
539                           <div class="col-md-10" id="viewport_putty"
540                           style="width:500px;height:500px;"> 
541                           </div>
542                         </li>
543
544                         
545                            {% endif %}
546
547
548
549                         {% endif %}
550                         
551                         {% if task.type == "remd" or task.type == "dock" %}
552                         
553                         <li class="list-group-item task-item">
554                           <div class="col-md-2"> Energy histogram </div>
555                           <div class="col-md-10"> <img 
556                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ene_hist.png"
557                           width="500"> </div>
558                         </li>
559
560                         <li class="list-group-item task-item">
561                           <div class="col-md-2"> Energy vs. temperature </div>
562                           <div class="col-md-10"> <img 
563                           src="/myfiles/download-file/{{task.jobdirname}}/remd_Tene.png"
564                           width="500"> </div>
565                         </li>
566                         
567                         <li class="list-group-item task-item">
568                           <div class="col-md-2"> Cv vs. temperature </div>
569                           <div class="col-md-10"> <img 
570                           src="/myfiles/download-file/{{task.jobdirname}}/remd_cv.png"
571                           width="500"> </div>
572                         </li>
573                         
574                            {% if task.md_pdbref %}
575
576                         <li class="list-group-item task-item">
577                           <div class="col-md-2"> Average C<sup>&alpha;</sup> RMSD vs. temperature </div>
578                           <div class="col-md-10"> <img 
579                           src="/myfiles/download-file/{{task.jobdirname}}/remd_rmsd.png"
580                           width="500"> </div>
581                         </li>
582
583                         <li class="list-group-item task-item">
584                           <div class="col-md-2"> potential energy vs.
585                           C<sup>&alpha;</sup> RMSD</div>
586                           <div class="col-md-10"> <img 
587                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ene_rms.png"
588                           width="500"> </div>
589                         </li>
590
591                         <li class="list-group-item task-item">
592                           <div class="col-md-2"> C<sup>&alpha;</sup> RMSD vs. step*replica
593                           colored by bath temperature</div>
594                           <div class="col-md-10"> <img 
595                           src="/myfiles/download-file/{{task.jobdirname}}/remd_step_rms.png"
596                           width="500"> </div>
597                         </li>
598
599                         
600                            {% endif %} 
601                           
602                         <li class="list-group-item task-item">
603                           <div class="col-md-2"> exchanges (walk in T) </div>
604                           <div class="col-md-10"> <img 
605                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ex.png"
606                           width="500"> </div>
607                         </li>
608                         
609                            {% if task.saxs_data != "" %}
610                         <li class="list-group-item task-item">
611                           <div class="col-md-2"> P(r) of input SAXS data and
612                           calculated for 5 models and the input pdb</div>
613                           <div class="col-md-10"> <img 
614                           src="/myfiles/download-file/{{task.jobdirname}}/saxs.png"
615                           width="500"> </div>
616                         </li>
617                            {% endif %}
618                         
619         <li class="list-group-item task-item">
620         <div class="col-md-4">
621         <button onclick="plusDivs(-1)">&#10094;</button> 
622         </div>
623         <div class="col-md-6">
624         select model
625         </div>
626         <div class="col-md-2">
627         <button onclick="plusDivs(1)">&#10095;</button>
628         </div>
629         </li>           
630                         
631                         <div class="model">
632 <!--                    <li class="list-group-item task-item">
633                           <div class="col-md-2"> model1 after conversion
634                           to allatom 
635                           {{ task.remd_model1|linebreaks }}
636                           </div>
637                           <div class="col-md-10"> 
638                           <a
639                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL1.pdb">
640                           <img
641                           src="/myfiles/download-file/{{task.jobdirname}}/model1.png" width="500">
642                           </a></div>
643                         </li> -->                       
644                         <li class="list-group-item task-item">
645                           <div class="col-md-2"> model1 
646                           {% if not task.damino %}
647                           after conversion to allatom 
648                           {% endif %}
649                           {{ task.remd_model1|linebreaks }}
650                           NGL viewer</div>
651                           <div class="col-md-10" id="viewport_M1"
652                           style="width:500px;height:500px;"> 
653                           </div>
654                         </li>
655                         <li class="list-group-item task-item">
656                <div class="col-md-12">
657                {% if task.md_pdbref %}
658                <button id="toggleRefM1">Reference structure on/off</button>
659                {% endif %}
660                <button id="toggleSidechainsM1">Side-chains on/off</button>
661                <a class="btn btn-default"
662                href="/myfiles/download-file/{{task.jobdirname}}/MODEL1.pdb">Download</a>               
663                </div>
664                         </li>
665                         
666                         </div>
667                         <div class="model">
668 <!--                    <li class="list-group-item task-item">
669                           <div class="col-md-2"> model2 after conversion
670                           to allatom 
671                           {{ task.remd_model2|linebreaks }}
672                           </div>
673                           <div class="col-md-10"> 
674                           <a
675                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL2.pdb">
676                           <img
677                           src="/myfiles/download-file/{{task.jobdirname}}/model2.png" width="500">
678                           </a></div>
679                         </li> -->
680                         <li class="list-group-item task-item">
681                           <div class="col-md-2"> model2 
682                           {% if not task.damino %}
683                           after conversion to allatom
684                           {% endif %}
685                           {{ task.remd_model2|linebreaks }}
686                           NGL viewer</div>
687                           <div class="col-md-10" id="viewport_M2"
688                           style="width:500px;height:500px;"> 
689                           </div>
690                         </li>
691                         <li class="list-group-item task-item">
692                <div class="col-md-12">
693                {% if task.md_pdbref %}
694                <button id="toggleRefM2">Reference structure on/off</button>
695                {% endif %}
696                <button id="toggleSidechainsM2">Side-chains on/off</button>
697                <a class="btn btn-default"
698                href="/myfiles/download-file/{{task.jobdirname}}/MODEL2.pdb">Download</a>               
699                </div>
700                         </li>
701                         
702                         
703                         </div>
704                         <div class="model">
705 <!--                    <li class="list-group-item task-item">
706                           <div class="col-md-2"> model3 after conversion
707                           to allatom 
708                           {{ task.remd_model3|linebreaks }}
709                           </div>
710                           <div class="col-md-10"> 
711                           <a
712                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL3.pdb">
713                           <img
714                           src="/myfiles/download-file/{{task.jobdirname}}/model3.png" width="500">
715                           </a></div>
716                         </li>-->
717                         <li class="list-group-item task-item">
718                           <div class="col-md-2"> model3 
719                           {% if not task.damino %}
720                           after conversion to allatom
721                           {% endif %}
722                           {{ task.remd_model3|linebreaks }}
723                           NGL viewer</div>
724                           <div class="col-md-10" id="viewport_M3"
725                           style="width:500px;height:500px;"> 
726                           </div>
727                         </li>
728                         <li class="list-group-item task-item">
729                <div class="col-md-12">
730                {% if task.md_pdbref %}
731                <button id="toggleRefM3">Reference structure on/off</button>
732                {% endif %}
733                <button id="toggleSidechainsM3">Side-chains on/off</button>
734                <a class="btn btn-default"
735                href="/myfiles/download-file/{{task.jobdirname}}/MODEL3.pdb">Download</a>               
736                </div>
737                         </li>
738                         
739                         </div>
740                         <div class="model">
741 <!--                    <li class="list-group-item task-item">
742                           <div class="col-md-2"> model4 after conversion
743                           to allatom 
744                           {{ task.remd_model4|linebreaks }}
745                           </div>
746                           <div class="col-md-10"> 
747                           <a
748                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL4.pdb">
749                           <img
750                           src="/myfiles/download-file/{{task.jobdirname}}/model4.png" width="500">
751                           </a></div>
752                         </li>-->
753                         <li class="list-group-item task-item">
754                           <div class="col-md-2"> model4 
755                           {% if not task.damino %}
756                           after conversion to allatom
757                           {% endif %}
758                           {{ task.remd_model4|linebreaks }}
759                           NGL viewer</div>
760                           <div class="col-md-10" id="viewport_M4"
761                           style="width:500px;height:500px;"> 
762                           </div>
763                         </li>
764                         <li class="list-group-item task-item">
765                <div class="col-md-12">
766                {% if task.md_pdbref %}
767                <button id="toggleRefM4">Reference structure on/off</button>
768                {% endif %}
769                <button id="toggleSidechainsM4">Side-chains on/off</button>
770                <a class="btn btn-default"
771                href="/myfiles/download-file/{{task.jobdirname}}/MODEL4.pdb">Download</a>               
772                </div>
773                         </li>
774                         
775                         </div>
776                         <div class="model">
777 <!--                    <li class="list-group-item task-item">
778                           <div class="col-md-2"> model5 after conversion
779                           to allatom 
780                           {{ task.remd_model5|linebreaks }}
781                           </div>
782                           <div class="col-md-10"> 
783                           <a
784                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">
785                           <img
786                           src="/myfiles/download-file/{{task.jobdirname}}/model5.png" width="500">
787                           </a></div>
788                         </li>-->
789                         <li class="list-group-item task-item">
790                           <div class="col-md-2"> model5 
791                           {% if not task.damino %}
792                           after conversion to allatom 
793                           {% endif %}
794                           {{ task.remd_model5|linebreaks }}
795                           NGL viewer</div>
796                           <div class="col-md-10" id="viewport_M5"
797                           style="width:500px;height:500px;"> 
798                           </div>
799                         </li>
800                         <li class="list-group-item task-item">
801                <div class="col-md-12">
802                {% if task.md_pdbref %}
803                <button id="toggleRefM5">Reference structure on/off</button>
804                {% endif %}
805                <button id="toggleSidechainsM5">Side-chains on/off</button>
806                <a class="btn btn-default"
807                href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">Download</a>               
808                </div>
809                         </li>
810                         
811                         </div>
812                         {% endif %}
813
814         {% endif %}             
815
816         </ul>
817 {% else %}
818 <h2>
819 Regular user cannot use this link.
820 </h2>
821 {% endif %}
822         
823 <script src="/static/jquery.min.js"></script>
824 <script src="https://unpkg.com/ngl"></script>
825
826 <script>
827 $('.majorpointslegend').click(function(){
828     $(this.parentNode).find('.hiders').toggle();
829     if($(this.parentNode).find('.majorpointslegend').text()=='Show input parameters'){
830         $(this.parentNode).find('.majorpointslegend').text('Hide input parameters');
831     }else{
832         $(this.parentNode).find('.majorpointslegend').text('Show input parameters');
833     }    
834 });
835 </script>
836
837 {% if task.type == "remd" or task.type == "dock" %}
838 <script>
839 function display_model(numstr){
840
841 {% if task.md_pdbref %}
842   var stage = new NGL.Stage("viewport_M"+numstr);
843   stage.setParameters( { backgroundColor: "white",fogFar: 60, fogNear: 45 } );
844   Promise.all([
845       stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/plik1.pdb" ,{defaultRepresentation: false}) .then( function( o ){
846         o.addRepresentation( "cartoon",{ name:"ref", color:"grey"
847         })
848         o.addRepresentation( "line", {name:"refsc",visible: false,
849          sele:"not hydrogen and sidechainAttached"
850         })    
851         return o
852       }),
853       stage.loadFile(
854       "/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){
855  {% if task.damino %}
856         o.addRepresentation( "licorice",{ name: "unres", color:
857                "residueindex",colorScale:["blue","cyan", "green",
858                "yellow","orange", "red"], sele:".CA"
859                        })
860         o.addRepresentation( "licorice",{ name: "unressc", visible: false, color:
861        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
862         , sele:"*" })    
863  {% else %}
864         o.addRepresentation( "cartoon",{ name: "unres", color:
865                "residueindex",colorScale:["blue","cyan", "green",
866                "yellow","orange", "red"]
867                        })
868         o.addRepresentation( "line",{ name: "unressc", visible: false, color:
869        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
870         , sele:"not hydrogen and sidechainAttached" })    
871  {% endif %}
872         return o
873       })
874   ]).then(function (ol1) {
875    ol1[ 1 ].superpose(ol1[ 0 ], false, ".CA")
876    ol1[ 0 ].autoView()
877   })             
878             var ref=true;
879             var side=false;
880             var toggleAll = document.getElementById( "toggleRefM"+numstr );
881             toggleAll.addEventListener( "click", function(){
882                         ref=! ref;                                
883                         stage.getRepresentationsByName(
884                                 "ref" ).list.forEach( function( repre ){
885                                 repre.setVisibility( !repre.visible );
886                         } );
887                 if (side) {
888                         stage.getRepresentationsByName(
889                                 "refsc" ).list.forEach( function( repre ){
890                                 repre.setVisibility( !repre.visible );
891                         } );
892                 }
893
894             } );
895      var toggleSidechains =document.getElementById("toggleSidechainsM"+numstr );
896      toggleSidechains.addEventListener( "click", function(){
897              side=!side;
898              if (ref) {
899                  stage.getRepresentationsByName(
900                         "refsc" ).list.forEach( function( repre ){
901                         repre.setVisibility( !repre.visible );
902              } );
903       }
904       stage.getRepresentationsByName("unressc").list.forEach( function( repre ){
905                         repre.setVisibility( !repre.visible );
906         } );
907
908       } );
909 {% else %}
910   var stage = new NGL.Stage("viewport_M"+numstr);
911   stage.setParameters( { backgroundColor: "white",fogFar: 60, fogNear: 45 } );
912   stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){
913  {% if task.damino %}
914         o.addRepresentation( "licorice",{ name: "unres", color:
915                "residueindex",colorScale:["blue","cyan", "green",
916                "yellow","orange", "red"],sele:".CA"
917                        });
918         o.addRepresentation( "licorice",{ name: "unressc", visible: false, color:
919        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
920         , sele:"*" });
921  {% else %}
922         o.addRepresentation( "cartoon",{ name: "unres", color:
923                "residueindex",colorScale:["blue","cyan", "green",
924                "yellow","orange", "red"]
925                        });
926         o.addRepresentation( "line",{ name: "unressc", visible: false, color:
927        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
928         , sele:"not hydrogen and sidechainAttached" });
929  {% endif %}
930         o.autoView();
931   })             
932      var toggleSidechains =document.getElementById("toggleSidechainsM"+numstr );
933      toggleSidechains.addEventListener( "click", function(){
934       stage.getRepresentationsByName("unressc").list.forEach( function( repre ){
935                         repre.setVisibility( !repre.visible );
936         } );
937
938       } );
939
940 {% endif %}
941 }
942
943
944 window.addEventListener("resize", 
945 function (event) {
946       stage.handleResize();
947 },false);
948
949
950 display_model("1")
951
952
953 var slideIndex = 1;
954 var y = document.getElementsByClassName("model");
955 var lista=[];
956 var ii;
957 for (ii = 0; ii < y.length; ii++) {
958  lista.push(0)
959 }
960 lista[0]=1;
961 showDivs(slideIndex);
962
963 function plusDivs(n) {
964   showDivs(slideIndex += n);
965 }
966
967 function showDivs(n) {
968   var i;
969   var x = document.getElementsByClassName("model");
970   if (n > x.length) {slideIndex = 1}
971   if (n < 1) {slideIndex = x.length}
972   for (i = 0; i < x.length; i++) {
973      x[i].style.display = "none";
974   }
975   x[slideIndex-1].style.display = "block";
976   
977   if (lista[slideIndex-1] == 0 && slideIndex == 2) {
978     display_model("2")  
979   }
980   
981   if (lista[slideIndex-1] == 0 && slideIndex == 3) {
982      display_model("3")  
983   }
984
985   if (lista[slideIndex-1] == 0 && slideIndex == 4) {
986      display_model("4")  
987   }
988
989   if (lista[slideIndex-1] == 0 && slideIndex == 5) {
990      display_model("5")  
991   }
992     
993   
994   if (lista[slideIndex-1] == 0) {lista[slideIndex-1]=1}
995 }
996 </script>
997 {% endif %}
998
999 {% if not task.done %}
1000 <script>
1001 function worker() {
1002   $.ajax({
1003     data:{csrfmiddlewaretoken: '{{ csrf_token }}'},
1004     url: "/refresh_done1/{{task.id}}/", 
1005     type:"post",
1006     success: function(data) {
1007       document.location.reload();
1008     },
1009     complete: function() {
1010       // Schedule the next request when the current one's complete
1011       setTimeout(worker, 30000);
1012     }
1013   });
1014 };
1015 $(document).ready(function() {
1016   // run the first time; all subsequent calls will take care of themselves
1017   setTimeout(worker, 30000);
1018 });
1019 </script>
1020 {% endif %} 
1021         
1022
1023 {% if task.type == "min" %}
1024 <script>
1025 window.addEventListener("resize",
1026      function (event) {
1027      stage.handleResize();
1028      },false);
1029                
1030 var stage_unres = new NGL.Stage("viewport_unres");
1031 stage_unres.setParameters( { backgroundColor: "white" } );
1032 /**
1033 [color_Red, color_Green, color_Blue, ellipsoid_width, ellipsoid_length ]
1034 */
1035 var resdb = {   'CYS': [1.000, 1.000, 0.000, 1.33741, 2.96868],
1036                 'MET': [0.000, 1.000, 0.000, 1.36694, 3.08863],
1037                 'PHE': [0.000, 0.392, 0.000, 1.48323, 3.04238],
1038                 'ILE': [0.000, 1.000, 0.000, 1.44098, 3.17389],
1039                 'LEU': [0.000, 1.000, 0.000, 1.51054, 2.52078],
1040                 'VAL': [0.000, 1.000, 0.000, 1.42072, 2.68924],
1041                 'TRP': [0.000, 0.392, 0.000, 1.23867, 3.47403],
1042                 'TYR': [0.596, 0.984, 0.596, 1.23060, 3.35434],
1043                 'ALA': [0.000, 1.000, 0.000, 1.23266, 1.72686],
1044                 'GLY': [1.000, 1.000, 1.000, 1.24626, 1.11383],
1045                 'THR': [1.000, 0.000, 1.000, 1.28674, 2.59210],
1046                 'SER': [1.000, 0.000, 1.000, 1.22820, 1.68800],
1047                 'GLN': [1.000, 0.000, 1.000, 1.24239, 2.22201],
1048                 'ASN': [1.000, 0.000, 1.000, 1.24447, 2.24946],
1049                 'GLU': [1.000, 0.000, 0.000, 1.25448, 2.05551],
1050                 'ASP': [1.000, 0.000, 0.000, 1.25417, 1.77556],
1051                 'HIS': [1.000, 0.000, 1.000, 1.21103, 3.02627],
1052                 'ARG': [0.000, 0.000, 1.000, 1.13573, 3.25143],
1053                 'LYS': [0.000, 0.000, 1.000, 1.22604, 4.50054],
1054                 'PRO': [0.000, 1.000, 1.000, 1.35131, 2.20525]
1055                         };
1056 stage_unres.loadFile("/myfiles/download-file/{{task.jobdirname}}/file_GB000.pdb", {defaultRepresentation: false}).then
1057        (function ( o ){
1058        var shape = new NGL.Shape("shape")
1059        var chain = ""
1060        o.addRepresentation("licorice");
1061        o.structure.eachAtom(function(atom){
1062          if (atom.atomname == "CA" && atom.chainname == chain) {
1063           px=CAx+(atom.x-CAx)/2;
1064           py=CAy+(atom.y-CAy)/2;
1065           pz=CAz+(atom.z-CAz)/2;
1066           shape.addSphere([px,py,pz],[0.643, 0.933, 0.960],0.6,"p");
1067          }
1068          if (atom.atomname == "CA") {
1069          chain= atom.chainname
1070          CAx= atom.x;
1071          CAy= atom.y
1072          CAz= atom.z
1073          }
1074          if (atom.atomname == "CB") {
1075           mx = (atom.x-CAx);
1076           my = (atom.y-CAy);
1077           mz = (atom.z-CAz);
1078           norm=Math.sqrt(mx*mx+my*my+mz*mz);
1079           res=atom.resname;
1080           var longaxis=resdb[res][4]
1081           var shortaxis=resdb[res][3]
1082           mx = mx /norm*longaxis;
1083           my = my /norm*longaxis;
1084           mz = mz /norm*longaxis;
1085           resn=res+atom.resno
1086           shape.addEllipsoid([ atom.x, atom.y, atom.z ], 
1087               [ resdb[res][0], resdb[res][1], resdb[res][2]], 
1088               shortaxis, [ mx, my, mz ], [ 0, shortaxis, 0 ],resn);
1089          }
1090        });
1091        var shapeComp = stage_unres.addComponentFromObject(shape)
1092        shapeComp.addRepresentation("buffer")
1093        o.autoView();
1094 });
1095
1096
1097
1098 var stage = new NGL.Stage("viewport_min");
1099 stage.setParameters( { backgroundColor: "white" } );
1100 Promise.all([
1101   stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/file_GB000.pdb" ,{defaultRepresentation: false}) .then( function( o ){
1102      o.addRepresentation( "backbone",{ color:
1103        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
1104      })
1105      o.addRepresentation( "licorice",{ color:
1106        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange","red"]
1107      })    
1108      return o
1109   }),
1110       
1111   stage.loadFile("/myfiles/download-file/{{task.jobdirname}}/plik.pdb",{defaultRepresentation: false}) .then( function( o ){
1112      o.addRepresentation( "backbone",{ name: "allatom", color:
1113        "residueindex",colorScale:["blue","cyan", "green","yellow","orange", "red"]
1114      })
1115      o.addRepresentation( "line",{ name: "allatomsc", color:
1116        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
1117        ,sele:"not hydrogen and sidechainAttached" 
1118      })    
1119      return o
1120   })
1121 ]).then(function (ol) {
1122    ol[ 0 ].superpose(ol[ 1 ], false, ".CA")
1123    ol[ 0 ].autoView()
1124 })             
1125
1126 var allatom=true;
1127 var side=true;
1128 var toggleAll = document.getElementById( "toggleAllatom" );
1129 toggleAll.addEventListener( "click", function(){
1130                         allatom=! allatom;                                
1131                         stage.getRepresentationsByName(
1132                                 "allatom" ).list.forEach( function( repre ){
1133                                 repre.setVisibility( !repre.visible );
1134                         } );
1135             if (side) {
1136                         stage.getRepresentationsByName(
1137                                 "allatomsc" ).list.forEach( function( repre ){
1138                                 repre.setVisibility( !repre.visible );
1139                         } );
1140             }
1141 } );
1142 var toggleSidechains = document.getElementById("toggleSidechains2" );
1143 toggleSidechains.addEventListener( "click", function(){
1144           side=!side;
1145           if (allatom) {
1146                 stage.getRepresentationsByName(
1147                         "allatomsc" ).list.forEach( function( repre ){
1148                                 repre.setVisibility( !repre.visible );
1149                 } );
1150                                                       
1151           }
1152           stage.getRepresentationsByName("licorice").list.forEach( function( repre ){
1153                 repre.setVisibility( !repre.visible );
1154           } );
1155
1156 } );
1157 </script>
1158 {% endif %}
1159
1160 {% if task.type == "md" and task.md_start == "pdbstart" %}
1161 <script>
1162 window.addEventListener("resize",
1163      function (event) {
1164      stage.handleResize();
1165      },false);
1166
1167 var stage = new NGL.Stage("viewport_putty");
1168 stage.setParameters( { backgroundColor: "white" } );
1169
1170 var tooltip = document.createElement("div")
1171 Object.assign(tooltip.style, {
1172   display: "none",
1173   position: "fixed",
1174   zIndex: 10,
1175   pointerEvents: "none",
1176   backgroundColor: "rgba( 0, 0, 0, 0.6 )",
1177   color: "lightgrey",
1178   padding: "8px",
1179   fontFamily: "sans-serif"
1180 })
1181 document.body.appendChild(tooltip)
1182
1183 stage.loadFile("/myfiles/download-file/{{task.jobdirname}}/plik_bf.pdb", {defaultRepresentation: false}).then 
1184        (function ( o ){
1185        o.addRepresentation("tube",{ color: "bfactor" , scale: 0.25,
1186        sele: "backbone",
1187        radius:"bfactor",
1188        colorScale:["blue","cyan", "green", "yellow","orange", "red"] });
1189        o.addRepresentation("licorice",{sele:"sidechainAttached and CYS and not hydrogen"});
1190        o.autoView();
1191 })
1192
1193 // remove default hoverPick mouse action
1194 stage.mouseControls.remove("hoverPick")
1195
1196 stage.signals.hovered.add(function (pickingProxy) {
1197   if (pickingProxy && (pickingProxy.atom || pickingProxy.bond)) {
1198     var atom = pickingProxy.atom || pickingProxy.closestBondAtom
1199     var mp = pickingProxy.mouse.position
1200     var bf= atom.bfactor.toFixed(2)
1201     tooltip.innerText = atom.qualifiedName()+" Fluctuation="+ bf
1202     tooltip.style.bottom = window.innerHeight - mp.y + 3 + "px"
1203     tooltip.style.left = mp.x + 3 + "px"
1204     tooltip.style.display = "block"
1205   } else {
1206     tooltip.style.display = "none"
1207   }
1208 })
1209 </script>
1210 {% endif %}     
1211
1212 {% if task.type == "md" and task.md_mdpdb %}
1213 <script>
1214 window.addEventListener("resize",
1215      function (event) {
1216      stage.handleResize();
1217      },false);
1218
1219       var stage = new NGL.Stage("viewport_traj");
1220       stage.setParameters( { backgroundColor: "white" } );
1221       stage.setParameters( { cameraType: "orthographic" } ); 
1222       var traj;
1223       var player;
1224       stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/file_MD000.pdb", { 
1225        asTrajectory: true } ) .then( function( o ){
1226         o.setName ("unres_md");
1227         o.addRepresentation( "backbone",{ color:
1228        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
1229         });
1230         o.addRepresentation( "licorice",{ color:
1231        "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"]
1232         });        
1233         o.setPosition([0, 0, 100]);
1234         o.autoView();
1235         o.addTrajectory();
1236       });
1237
1238             var toggleSidechains = document.getElementById( "toggleSidechains1" );
1239             toggleSidechains.addEventListener( "click", function(){
1240                                                         stage.getRepresentationsByName( "licorice" ).list.forEach( function( repre ){
1241                                                                         repre.setVisibility( !repre.visible );
1242                                                         } );
1243             } );
1244
1245
1246       function numberWithCommas(x) {
1247                 return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
1248       }
1249       var toggleRunMDs = document.getElementById( "toggleRunMDs" );
1250       var isRunning = false;
1251       toggleRunMDs.addEventListener( "click", function(){
1252          var trajComp = stage.getComponentsByName("unres_md").list[0].trajList[0];
1253          var player = new NGL.TrajectoryPlayer(trajComp.trajectory, {timeout: 10, mode: "once"});
1254                                 if( !isRunning ){
1255                                         player.play();
1256                                         isRunning = true;
1257
1258                     trajComp.signals.frameChanged.add(function(){
1259                       var fnum=trajComp.trajectory.currentFrame+1;                   
1260                       clipRange.value = fnum;
1261                       clipRange_val.innerHTML = numberWithCommas(parseInt(clipRange.value*1));
1262                     });
1263
1264                                 }else{
1265                                         player.play();
1266                                         player.pause();
1267                                         isRunning = false;
1268                                 }
1269       } );      
1270       var clipRange = document.getElementById( "clipRange" );
1271       var clipRange_val = document.getElementById( "clipRange_val" );
1272       clipRange.oninput = function( e ){
1273                 var trajComp = stage.getComponentsByName("unres_md").list[0].trajList[0];
1274                 trajComp.setFrame(e.target.value-1)
1275                 clipRange_val.innerHTML = numberWithCommas(parseInt(e.target.value*1));
1276       };      
1277
1278 </script>
1279 {% endif %}     
1280
1281
1282 {% endblock %}