saxs input data normalization and plot for input pdb
[django_unres.git] / django_simple / todo / templates / details.html
1 {% extends "base.html" %}
2
3 {% load i18n lazysignup_tags %}
4 {% block content %}
5
6 {% if user|is_lazy_user %}
7 <ul class="list-group">
8
9 <li class="list-group-item new-task-item task-item">
10
11 <div class="col-md-2 form-group">
12 <form action="/refresh_done/" method="post">
13 {% csrf_token %}
14 <input type="submit" class="btn" value="Refresh" name="refreshbtn">
15 </form>
16 </div>
17
18 <div class="col-md-10 form-group">
19 <h5 style="text-align:right;float:right;">
20 {% if not task.done %}
21  {% if task.running > 0  %}
22   {% if task.running == 100  %}
23   postprocessing
24   {% else %}
25   running
26   {% endif %}
27  {% else %}
28   waiting in the queue to start
29  {% endif %}
30 {% endif %}
31 </h5>
32 </div>
33 </li>
34 </ul>
35 {% endif %}
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                                         {% else %}
47                                           {% if task.running > 0  %}
48                                                 <span class="fa fa-spinner
49                                                 fa-spin"></span>
50                                                 {{ task.running }}%
51                                           {% else %}
52                                                 <span class="fa fa-square-o"></span>
53                                           {% endif %}
54                                         {% endif %}
55
56                                 </div>
57                         </li>   
58 <div>
59     <fieldset class="majorpoints">
60     <legend class="majorpointslegend"
61     style="background-color:#d3d3d3;cursor: pointer;">Show input parameters</legend>
62     <div class="hiders" style="display:none" >
63
64                         <li class="list-group-item task-item">
65                             <div class="col-md-6"> type </div>
66                             <div class="col-md-6">{{ task.type }}</div>
67                         </li>           
68          
69                         <li class="list-group-item task-item">
70                             <div class="col-md-6"> force field </div>
71                             <div class="col-md-6">{{ task.unres_ff }}</div>
72                         </li>           
73
74                         <li class="list-group-item task-item">
75                             <div class="col-md-4"> sequence </div>
76                             <div class="col-md-8 monospace">{{ task.md_seq}}</div>
77                         </li>           
78
79                         <li class="list-group-item task-item">
80                             <div class="col-md-4"> secondary structure
81                             restraints </div>
82                             <div class="col-md-8 monospace">{{ task.md_2d}}</div>
83                         </li>           
84
85
86                         <li class="list-group-item task-item">
87                             <div class="col-md-6"> SSBOND </div>
88                             <div class="col-md-6">{{ task.ssbond}}</div>
89                         </li>           
90
91                         
92         {% if task.type == "min" %}
93
94
95                         <li class="list-group-item task-item">
96                             <div class="col-md-6"> algorithm</div>
97                             <div class="col-md-6">{{ task.min_choice }}</div>
98                         </li>           
99                         <li class="list-group-item task-item">
100                             <div class="col-md-6"> overlap</div>
101                             <div class="col-md-6">{{ task.min_overlap }}</div>
102                         </li>           
103                         <li class="list-group-item task-item">
104                             <div class="col-md-6"> searchsc</div>
105                             <div class="col-md-6">{{ task.min_searchsc }}</div>
106                         </li>           
107                         <li class="list-group-item task-item">
108                             <div class="col-md-6"> maxmin</div>
109                             <div class="col-md-6">{{ task.min_maxmin }}</div>
110                         </li>           
111                         <li class="list-group-item task-item">
112                             <div class="col-md-6"> maxfun</div>
113                             <div class="col-md-6">{{ task.min_maxfun }}</div>
114                         </li>           
115                         <li class="list-group-item task-item">
116                             <div class="col-md-6"> pdbout</div>
117                             <div class="col-md-6">{{ task.min_pdbout }}</div>
118                         </li>           
119                         <li class="list-group-item task-item">
120                             <div class="col-md-6"> input pdb </div>
121                             <div class="col-md-6">{{ task.myfile1 }}</div>
122                         </li>           
123                         <li class="list-group-item task-item">
124                             <div class="col-md-6"> pdb code</div>
125                             <div class="col-md-6">{{ task.pdbcode }}</div>
126                         </li>           
127                         <li class="list-group-item task-item">
128                             <div class="col-md-6"> unres_pdb</div>
129                             <div class="col-md-6">{{ task.min_unres_pdb }}</div>
130                         </li>           
131                         
132         {% endif %}
133         {% if task.type == "md" %}
134                         <li class="list-group-item task-item">
135                             <div class="col-md-6"> starting </div>
136                             <div class="col-md-6">{{ task.md_start}}</div>
137                         </li>           
138                         
139                         <li class="list-group-item task-item">
140                             <div class="col-md-6"> input pdb </div>
141                             <div class="col-md-6">{{ task.myfile1 }}</div>
142                         </li>           
143                         <li class="list-group-item task-item">
144                             <div class="col-md-6"> pdb code</div>
145                             <div class="col-md-6">{{ task.pdbcode }}</div>
146                         </li>           
147                         <li class="list-group-item task-item">
148                             <div class="col-md-6"> seed </div>
149                             <div class="col-md-6">{{ task.md_seed}}</div>
150                         </li>           
151                         <li class="list-group-item task-item">
152                             <div class="col-md-6"> pdbref </div>
153                             <div class="col-md-6">{{ task.md_pdbref}}</div>
154                         </li>           
155                         <li class="list-group-item task-item">
156                             <div class="col-md-6"> respa </div>
157                             <div class="col-md-6">{{ task.md_respa}}</div>
158                         </li>           
159                         <li class="list-group-item task-item">
160                             <div class="col-md-6"> temperature </div>
161                             <div class="col-md-6">{{ task.md_temp}}</div>
162                         </li>           
163                         <li class="list-group-item task-item">
164                             <div class="col-md-6"> nstep </div>
165                             <div class="col-md-6">{{ task.md_nstep}}</div>
166                         </li>           
167                         <li class="list-group-item task-item">
168                             <div class="col-md-6"> ntwe </div>
169                             <div class="col-md-6">{{ task.md_ntwe}}</div>
170                         </li>           
171                         <li class="list-group-item task-item">
172                             <div class="col-md-6"> ntwx </div>
173                             <div class="col-md-6">{{ task.md_ntwx}}</div>
174                         </li>           
175                         <li class="list-group-item task-item">
176                             <div class="col-md-6"> dt </div>
177                             <div class="col-md-6">{{ task.md_dt}}</div>
178                         </li>           
179                         <li class="list-group-item task-item">
180                             <div class="col-md-6"> thermostat </div>
181                             <div class="col-md-6">{{ task.md_lang}}</div>
182                         </li>           
183                         
184                         {% if task.md_lang == "berendsen" %}
185                         
186                         <li class="list-group-item task-item">
187                             <div class="col-md-6"> tau </div>
188                             <div class="col-md-6">{{ task.md_tau}}</div>
189                         </li>           
190                         
191                         {% else %}
192                         
193                         <li class="list-group-item task-item">
194                             <div class="col-md-6"> scal_fric </div>
195                             <div class="col-md-6">{{ task.md_scal_fric}}</div>
196                         </li>   
197                         
198                         {% endif %}
199                                 
200                         <li class="list-group-item task-item">
201                             <div class="col-md-6"> mdpdb </div>
202                             <div class="col-md-6">{{ task.md_mdpdb}}</div>
203                         </li>           
204                         <li class="list-group-item task-item">
205                             <div class="col-md-6"> RESPA </div>
206                             <div class="col-md-6">{{ task.md_respa}}</div>
207                         </li>           
208                         
209                         
210         {% endif %}
211
212         {% if task.type == "remd" %}
213
214                         <li class="list-group-item task-item">
215                             <div class="col-md-6"> nrep </div>
216                             <div class="col-md-6">{{ task.remd_nrep}}</div>
217                         </li>           
218                         <li class="list-group-item task-item">
219                             <div class="col-md-6"> starting </div>
220                             <div class="col-md-6">{{ task.md_start}}</div>
221                         </li>           
222                         
223                         <li class="list-group-item task-item">
224                             <div class="col-md-6"> input pdb </div>
225                             <div class="col-md-6">{{ task.myfile1 }}</div>
226                         </li>           
227                         <li class="list-group-item task-item">
228                             <div class="col-md-6"> pdb code</div>
229                             <div class="col-md-6">{{ task.pdbcode }}</div>
230                         </li>           
231                         <li class="list-group-item task-item">
232                             <div class="col-md-6"> seed </div>
233                             <div class="col-md-6">{{ task.md_seed}}</div>
234                         </li>           
235                         <li class="list-group-item task-item">
236                             <div class="col-md-6"> pdbref </div>
237                             <div class="col-md-6">{{ task.md_pdbref}}</div>
238                         </li>           
239                         <li class="list-group-item task-item">
240                             <div class="col-md-6"> respa </div>
241                             <div class="col-md-6">{{ task.md_respa}}</div>
242                         </li>           
243                         <li class="list-group-item task-item">
244                             <div class="col-md-6"> nstep </div>
245                             <div class="col-md-6">{{ task.md_nstep}}</div>
246                         </li>           
247                         <li class="list-group-item task-item">
248                             <div class="col-md-6"> ntwe </div>
249                             <div class="col-md-6">{{ task.md_ntwe}}</div>
250                         </li>           
251                         <li class="list-group-item task-item">
252                             <div class="col-md-6"> nstex </div>
253                             <div class="col-md-6">{{ task.remd_nstex}}</div>
254                         </li>           
255                         <li class="list-group-item task-item">
256                             <div class="col-md-6"> ntwx </div>
257                             <div class="col-md-6">{{ task.md_ntwx}}</div>
258                         </li>                                   
259                         <li class="list-group-item task-item">
260                             <div class="col-md-6"> dt </div>
261                             <div class="col-md-6">{{ task.md_dt}}</div>
262                         </li>           
263                         <li class="list-group-item task-item">
264                             <div class="col-md-6"> thermostat </div>
265                             <div class="col-md-6">{{ task.md_lang}}</div>
266                         </li>           
267                         
268                         {% if task.md_lang == "berendsen" %}
269                         
270                         <li class="list-group-item task-item">
271                             <div class="col-md-6"> tau </div>
272                             <div class="col-md-6">{{ task.md_tau}}</div>
273                         </li>           
274                         
275                         {% else %}
276                         
277                         <li class="list-group-item task-item">
278                             <div class="col-md-6"> scal_fric </div>
279                             <div class="col-md-6">{{ task.md_scal_fric}}</div>
280                         </li>   
281                         
282                         {% endif %}
283
284                         <li class="list-group-item task-item">
285                             <div class="col-md-6"> RESPA </div>
286                             <div class="col-md-6">{{ task.md_respa}}</div>
287                         </li>           
288                                 
289                         <li class="list-group-item task-item">
290                             <div class="col-md-6"> temperatures </div>
291                             <div class="col-md-6">{{ task.remd_multi_t}}</div>
292                         </li>           
293                         <li class="list-group-item task-item">
294                             <div class="col-md-6"> multiplex </div>
295                             <div class="col-md-6">{{ task.remd_multi_m}}</div>
296                         </li>           
297                         <li class="list-group-item task-item">
298                             <div class="col-md-6"> temperature for clustering</div>
299                             <div class="col-md-6">{{ task.remd_cluter_temp}}</div>
300                         </li>           
301                         {% if task.saxs_data != "" %}                   
302                         <li class="list-group-item task-item">
303                             <div class="col-md-6"> wsaxs </div>
304                             <div class="col-md-6">{{ task.wsaxs }}</div>
305                         </li>           
306                         <li class="list-group-item task-item">
307                             <div class="col-md-6"> scal_rad (saxs) </div>
308                             <div class="col-md-6">{{ task.scal_rad }}</div>
309                         </li>           
310                         <li class="list-group-item task-item">
311                             <div class="col-md-6"> saxs distribution </div>
312                             <div class="col-md-6"><pre> {{ task.saxs_data }}</pre></div>
313                         </li>           
314                         {% endif %}
315
316         {% endif %}
317
318                         <li class="list-group-item task-item">
319                             <div class="col-md-6"> Box X Y Z</div>
320                             <div class="col-md-2">{{ task.boxx}}</div>
321                             <div class="col-md-2">{{ task.boxy}}</div>                      
322                             <div class="col-md-2">{{ task.boxz}}</div>                      
323                         </li>           
324
325 </div>
326 </div>
327         <p>
328         <h3> Results </h3>
329                         <li class="list-group-item task-item">
330                             <div class="col-md-4"> Directory </div>
331                             <div class="col-md-8">
332                             <a href="/myfiles/list/{{task.jobdirname}}/">
333                             {{ task.jobdirname }}
334                             </a>
335                             </div>
336                         </li>           
337
338
339         {% if task.done %}
340                         
341                         {% if task.type == "min" %}
342                         
343                         <li class="list-group-item task-item">
344                             <div class="col-md-2"> Etot </div>
345                             <div class="col-md-10">{{ task.etot }}</div>
346                         </li>           
347                         
348                         <li class="list-group-item task-item">
349                           <div class="col-md-2"> UNRES model </div>
350                           <div class="col-md-10"> 
351                           <a
352                            href="/myfiles/download-file/{{task.jobdirname}}/unres.pse">
353                           <img 
354                           src="/myfiles/download-file/{{task.jobdirname}}/unres.png"
355                           width="500"></a> </div>
356                         </li>
357
358
359                         <li class="list-group-item task-item">
360                           <div class="col-md-2"> Structure overlap </div>
361                           <div class="col-md-10"> <img 
362                           src="/myfiles/download-file/{{task.jobdirname}}/unres_overlap.png"
363                           width="500"> </div>
364                         </li>
365
366
367                         {% endif %}
368
369                         <li class="list-group-item task-item">
370                             <div class="col-md-2"> Results </div>
371                             <div class="col-md-10">{{ task.results_text|linebreaks }}</div>
372                         </li>           
373                         
374                         {% if task.type == "md" %}
375
376                         <li class="list-group-item task-item">
377                           <div class="col-md-2"> Temperature histogram </div>
378                           <div class="col-md-10"> <img 
379                           src="/myfiles/download-file/{{task.jobdirname}}/temp_hist.png"
380                           width="500"> </div>
381                         </li>
382
383                         <li class="list-group-item task-item">
384                           <div class="col-md-2"> Potential energy </div>
385                           <div class="col-md-10"> <img 
386                           src="/myfiles/download-file/{{task.jobdirname}}/md_ene.png"
387                           width="500"> </div>
388                         </li>
389
390                             <li class="list-group-item task-item">
391                             <div class="col-md-2"> Movie </div>
392                             <div class="col-md-10"> 
393
394                             <video width="500" height="400" preload controls>
395                             <source
396                             src="/myfiles/download-file/{{task.jobdirname}}/md.ogv"
397                             type="video/ogg; codecs=theora"> </source>
398                             </video>
399                           
400                             </div>
401                             </li>
402                             
403                         <li class="list-group-item task-item">
404                           <div class="col-md-2"> Radius of gyration based
405                           on C<sup>α</sup> coordinates </div>
406                           <div class="col-md-10"> <img 
407                           src="/myfiles/download-file/{{task.jobdirname}}/md_gyr.png"
408                           width="500"> </div>
409                         </li>
410                             
411
412                 
413                            {% if task.md_pdbref %}
414                         <li class="list-group-item task-item">
415                           <div class="col-md-2"> RMSD </div>
416                           <div class="col-md-10"> <img 
417                           src="/myfiles/download-file/{{task.jobdirname}}/md_rms.png"
418                           width="500"> </div>
419                         </li>
420
421                         <li class="list-group-item task-item">
422                           <div class="col-md-2"> fraction of native
423                           side-chain concacts </div>
424                           <div class="col-md-10"> <img 
425                           src="/myfiles/download-file/{{task.jobdirname}}/md_fracn.png"
426                           width="500"> </div>
427                         </li>
428                         
429                            {% endif %}
430
431                            {% if task.md_start == "pdbstart" %}
432                         <li class="list-group-item task-item">
433                           <div class="col-md-2"> fluctuations </div>
434                           <div class="col-md-10"> <img 
435                           src="/myfiles/download-file/{{task.jobdirname}}/fluct_plot.png"
436                           width="500"> </div>
437                         </li>
438
439                         <li class="list-group-item task-item">
440                           <div class="col-md-2"> fluctuations putty on
441                           starting structure</div>
442                           <div class="col-md-10"> 
443                           <a
444                           href="/myfiles/download-file/{{task.jobdirname}}/fluct.pse">
445                           <img 
446                           src="/myfiles/download-file/{{task.jobdirname}}/fluct.png"
447                           width="500"></a> </div>
448                         </li>
449                         
450                            {% endif %}
451
452
453
454                         {% endif %}
455                         
456                         {% if task.type == "remd" %}
457                         
458                         <li class="list-group-item task-item">
459                           <div class="col-md-2"> Energy histogram </div>
460                           <div class="col-md-10"> <img 
461                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ene_hist.png"
462                           width="500"> </div>
463                         </li>
464
465                         <li class="list-group-item task-item">
466                           <div class="col-md-2"> Energy vs. temperature </div>
467                           <div class="col-md-10"> <img 
468                           src="/myfiles/download-file/{{task.jobdirname}}/remd_Tene.png"
469                           width="500"> </div>
470                         </li>
471                         
472                         <li class="list-group-item task-item">
473                           <div class="col-md-2"> Cv vs. temperature </div>
474                           <div class="col-md-10"> <img 
475                           src="/myfiles/download-file/{{task.jobdirname}}/remd_cv.png"
476                           width="500"> </div>
477                         </li>
478                         
479                            {% if task.md_pdbref %}
480
481                         <li class="list-group-item task-item">
482                           <div class="col-md-2"> Average RMSD vs. temperature </div>
483                           <div class="col-md-10"> <img 
484                           src="/myfiles/download-file/{{task.jobdirname}}/remd_rmsd.png"
485                           width="500"> </div>
486                         </li>
487
488                         <li class="list-group-item task-item">
489                           <div class="col-md-2"> potential energy vs. RMSD</div>
490                           <div class="col-md-10"> <img 
491                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ene_rms.png"
492                           width="500"> </div>
493                         </li>
494
495                         <li class="list-group-item task-item">
496                           <div class="col-md-2"> RMSD vs. step*replica
497                           colored by bath temperature</div>
498                           <div class="col-md-10"> <img 
499                           src="/myfiles/download-file/{{task.jobdirname}}/remd_step_rms.png"
500                           width="500"> </div>
501                         </li>
502
503                         
504                            {% endif %} 
505                           
506                         <li class="list-group-item task-item">
507                           <div class="col-md-2"> exchanges (walk in T) </div>
508                           <div class="col-md-10"> <img 
509                           src="/myfiles/download-file/{{task.jobdirname}}/remd_ex.png"
510                           width="500"> </div>
511                         </li>
512                         
513                            {% if task.saxs_data != "" %}
514                         <li class="list-group-item task-item">
515                           <div class="col-md-2"> P(r) of input SAXS data and
516                           calculated for 5 models and the input pdb</div>
517                           <div class="col-md-10"> <img 
518                           src="/myfiles/download-file/{{task.jobdirname}}/saxs.png"
519                           width="500"> </div>
520                         </li>
521                            {% endif %}
522                         
523         <li class="list-group-item task-item">
524         <div class="col-md-4">
525         <button onclick="plusDivs(-1)">&#10094;</button> 
526         </div>
527         <div class="col-md-6">
528         select model
529         </div>
530         <div class="col-md-2">
531         <button onclick="plusDivs(1)">&#10095;</button>
532         </div>
533         </li>           
534                         
535                         <div class="model">
536                         <li class="list-group-item task-item">
537                           <div class="col-md-2"> model1 after conversion
538                           to allatom 
539                           {{ task.remd_model1|linebreaks }}
540                           </div>
541                           <div class="col-md-10"> 
542                           <a
543                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL1.pdb">
544                           <img
545                           src="/myfiles/download-file/{{task.jobdirname}}/model1.png" width="500">
546                           </a></div>
547                         </li>
548                         </div>
549                         <div class="model">
550                         <li class="list-group-item task-item">
551                           <div class="col-md-2"> model2 after conversion
552                           to allatom 
553                           {{ task.remd_model2|linebreaks }}
554                           </div>
555                           <div class="col-md-10"> 
556                           <a
557                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL2.pdb">
558                           <img
559                           src="/myfiles/download-file/{{task.jobdirname}}/model2.png" width="500">
560                           </a></div>
561                         </li>
562                         </div>
563                         <div class="model">
564                         <li class="list-group-item task-item">
565                           <div class="col-md-2"> model3 after conversion
566                           to allatom 
567                           {{ task.remd_model3|linebreaks }}
568                           </div>
569                           <div class="col-md-10"> 
570                           <a
571                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL3.pdb">
572                           <img
573                           src="/myfiles/download-file/{{task.jobdirname}}/model3.png" width="500">
574                           </a></div>
575                         </li>
576                         </div>
577                         <div class="model">
578                         <li class="list-group-item task-item">
579                           <div class="col-md-2"> model4 after conversion
580                           to allatom 
581                           {{ task.remd_model4|linebreaks }}
582                           </div>
583                           <div class="col-md-10"> 
584                           <a
585                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL4.pdb">
586                           <img
587                           src="/myfiles/download-file/{{task.jobdirname}}/model4.png" width="500">
588                           </a></div>
589                         </li>
590                         </div>
591                         <div class="model">
592                         <li class="list-group-item task-item">
593                           <div class="col-md-2"> model5 after conversion
594                           to allatom 
595                           {{ task.remd_model5|linebreaks }}
596                           </div>
597                           <div class="col-md-10"> 
598                           <a
599                           href="/myfiles/download-file/{{task.jobdirname}}/MODEL5.pdb">
600                           <img
601                           src="/myfiles/download-file/{{task.jobdirname}}/model5.png" width="500">
602                           </a></div>
603                         </li>
604                         </div>
605                         {% endif %}
606
607         {% endif %}             
608
609         </ul>
610         
611 <script src="/static/jquery.min.js"></script>
612
613 <script>
614 $('.majorpointslegend').click(function(){
615     $(this.parentNode).find('.hiders').toggle();
616     if($(this.parentNode).find('.majorpointslegend').text()=='Show input parameters'){
617         $(this.parentNode).find('.majorpointslegend').text('Hide input parameters');
618     }else{
619         $(this.parentNode).find('.majorpointslegend').text('Show input parameters');
620     }    
621 });
622 </script>
623
624 <script>
625 var slideIndex = 1;
626 showDivs(slideIndex);
627
628 function plusDivs(n) {
629   showDivs(slideIndex += n);
630 }
631
632 function showDivs(n) {
633   var i;
634   var x = document.getElementsByClassName("model");
635   if (n > x.length) {slideIndex = 1}
636   if (n < 1) {slideIndex = x.length}
637   for (i = 0; i < x.length; i++) {
638      x[i].style.display = "none";
639   }
640   x[slideIndex-1].style.display = "block";
641 }
642 </script>
643
644 {% if not task.done %}
645 <script>
646 function worker() {
647   $.ajax({
648     data:{csrfmiddlewaretoken: '{{ csrf_token }}'},
649     url: "/refresh_done/", 
650     type:"post",
651     success: function(data) {
652       document.location.reload();
653     },
654     complete: function() {
655       // Schedule the next request when the current one's complete
656       setTimeout(worker, 30000);
657     }
658   });
659 };
660 $(document).ready(function() {
661   // run the first time; all subsequent calls will take care of themselves
662   setTimeout(worker, 30000);
663 });
664 </script>
665 {% endif %} 
666         
667         
668 {% endblock %}