From 765fad7872822bd9ddd0b5538694d8eb04a0a116 Mon Sep 17 00:00:00 2001 From: Cezary Czaplewski Date: Tue, 30 Jan 2018 16:43:33 +0100 Subject: [PATCH] tutorial update, d-amino correction --- django_simple/todo/jobfiles.py | 7 + django_simple/todo/models.py | 1 + django_simple/todo/templates/changelog.html | 7 + django_simple/todo/templates/details.html | 20 +++ django_simple/todo/templates/edit.html | 4 +- django_simple/todo/templates/tutorial.html | 207 +++++++++++++-------------- django_simple/todo/views.py | 4 + files/pbs8.csh | 16 +++ files/pbs8_new.csh | 16 +++ 9 files changed, 170 insertions(+), 112 deletions(-) diff --git a/django_simple/todo/jobfiles.py b/django_simple/todo/jobfiles.py index 9284dd3..44cf4a4 100644 --- a/django_simple/todo/jobfiles.py +++ b/django_simple/todo/jobfiles.py @@ -368,6 +368,13 @@ CUTOFF=7.00000 WCORR4=0.00000""" f2.write(line.replace('$temperatures','"'+" ".join(tmp1)+'" '+str(nreplicas))) f1.close() f2.close() + + f1 = open('file.seq', 'w') + for i in range(0,len(seq),80): + f1.write(seq[i:i+80]+'\n') + f1.write('\n') + f1.close() + os.chdir('..') # write wham & cluster input diff --git a/django_simple/todo/models.py b/django_simple/todo/models.py index 765e3c6..3c93f63 100644 --- a/django_simple/todo/models.py +++ b/django_simple/todo/models.py @@ -96,6 +96,7 @@ class Task(models.Model): created_date = models.DateTimeField(default=timezone.now) jobdirname = models.CharField(max_length=100,default='') example = models.CharField(max_length=10,default='') + damino = models.BooleanField(default=False) def __str__(self): if self.done: diff --git a/django_simple/todo/templates/changelog.html b/django_simple/todo/templates/changelog.html index 9507fc8..dd54ec5 100644 --- a/django_simple/todo/templates/changelog.html +++ b/django_simple/todo/templates/changelog.html @@ -42,6 +42,13 @@ Extension and update of the Tutorial. +
30.01.2018
+
+ Update of the Tutorial
+ (M)REMD simulations of proteins with D-aminoacids show only UNRES models, + conversion to all-atom models was not correct. +
+ diff --git a/django_simple/todo/templates/details.html b/django_simple/todo/templates/details.html index a64237e..06ae3db 100644 --- a/django_simple/todo/templates/details.html +++ b/django_simple/todo/templates/details.html @@ -781,6 +781,15 @@ function display_model(numstr){ }), stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){ + {% if task.damino %} + o.addRepresentation( "licorice",{ name: "unres", color: + "residueindex",colorScale:["blue","cyan", "green", + "yellow","orange", "red"], sele:".CA" + }) + o.addRepresentation( "licorice",{ name: "unressc", visible: false, color: + "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] + , sele:"*" }) + {% else %} o.addRepresentation( "cartoon",{ name: "unres", color: "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] @@ -788,6 +797,7 @@ function display_model(numstr){ o.addRepresentation( "line",{ name: "unressc", visible: false, color: "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] , sele:"not hydrogen and sidechainAttached" }) + {% endif %} return o }) ]).then(function (ol1) { @@ -829,6 +839,15 @@ function display_model(numstr){ var stage = new NGL.Stage("viewport_M"+numstr); stage.setParameters( { backgroundColor: "white",fogFar: 60, fogNear: 45 } ); stage.loadFile( "/myfiles/download-file/{{task.jobdirname}}/MODEL"+numstr+".pdb",{defaultRepresentation: false}) .then( function( o ){ + {% if task.damino %} + o.addRepresentation( "licorice",{ name: "unres", color: + "residueindex",colorScale:["blue","cyan", "green", + "yellow","orange", "red"],sele:".CA" + }); + o.addRepresentation( "licorice",{ name: "unressc", visible: false, color: + "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] + , sele:"*" }); + {% else %} o.addRepresentation( "cartoon",{ name: "unres", color: "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] @@ -836,6 +855,7 @@ function display_model(numstr){ o.addRepresentation( "line",{ name: "unressc", visible: false, color: "residueindex",colorScale:["blue","cyan", "green", "yellow","orange", "red"] , sele:"not hydrogen and sidechainAttached" }); + {% endif %} o.autoView(); }) var toggleSidechains =document.getElementById("toggleSidechainsM"+numstr ); diff --git a/django_simple/todo/templates/edit.html b/django_simple/todo/templates/edit.html index f7648b7..3423543 100644 --- a/django_simple/todo/templates/edit.html +++ b/django_simple/todo/templates/edit.html @@ -79,9 +79,9 @@ Calculation type {{ p_type }} {% if p_type == "replica exchange molecular dynamics - advanced options" %} + name="_example_saxs" class="save btn btn-default">Load SAXS 1 example + name="_example_saxs1" class="save btn btn-default">Load SAXS 2 example {% endif %} diff --git a/django_simple/todo/templates/tutorial.html b/django_simple/todo/templates/tutorial.html index e271941..6fd03ad 100644 --- a/django_simple/todo/templates/tutorial.html +++ b/django_simple/todo/templates/tutorial.html @@ -8,30 +8,35 @@ In order to submit a job you need to provide its name:

-UNRES server allows three types of simulations: +The following three types of simulations can be run with the UNRES server: local minimization, molecular dynamics and replica exchange molecular dynamics:

-Use "Save & submit" button to start calculations. +Use the "Save & submit" button to start calculations.

-Use "Refresh" button to check the status of simulation: +Use the "Refresh" button to check the status of a simulation:

until

-The job status information will start from the "waiting in the queue to -start", then "running" and finally "postprocessing" before "done". -Postprocessing do not count to 100%. Autorefresh is active every 30 sec. -

-Any single job can by accessed later using the adress of the web page -displayed after job submission: +After the server job has been submitted the "waiting in the queue to +start" message will be displayed in the status field, which will subsequently change +to "running", "postprocessing", and "done". While the job has the "running" +status, the percentage of job accomplishment is displayed. +It should be noted that the "100%" accomplishment refers to the production +phase of a job, after which the postprocessing phase is triggered which also takes +some time (up to several minutes when making a movie from an MD trajectory is +requested) and whose progress is not monitored. The page is autorefreshed every 30 sec. +

+Any single job can by accessed later using the address of the web page +displayed after job submission: e.g. http://unres-server.chem.ug.edu.pl/details1/570cf15fc638493893ece1f011ea0182/984/
-Registered users can save all their jobs and access them after login. +Registered users can save all their jobs and access them later after logging in.

You can use "Load example data" button before submitting calculations to try examples listed below:

@@ -45,24 +50,25 @@ to try examples listed below:

  • Molecular dynamics of IGG-binding domain from streptococcal protein G -(PDB code:1IGD) starting from the native structure
  • +(PDB code:1IGD) starting from the experimental structure

    -The results of md simulations show temperature histogram, -potential energy changes, movie generated from trajectory, -evolution of radius of gyration, -RMSD, fraction of native contacts, and CA fluctuations: +After the MD simulation is accomplished temperature histogram, +plots of UNRES energy, RMSD from the experimental structure, fraction of native +contacts, and radius of gyration vs. time, a movie of the trajectory, and +CA-atom fluctuations are displayed.

    @@ -89,11 +95,11 @@ RMSD, fraction of native contacts, and CA fluctuations:

    Evolution of RMSD, fraction of native contacts and comparison of CA fluctuations to Bfactor is presented -only when reference structure is provided as in this example. +only when the reference structure is provided, as in this example.

  • -Replica exchange molecular dynamics of Trp-Cage miniprotein (PDB +Replica exchange molecular dynamics of the Trp-Cage miniprotein (PDB code:1L2Y) starting from the extended chain
  • @@ -103,22 +109,32 @@ code:1L2Y) starting from the extended chain
    -Advanced mode allows for changes of more parameters of each type of -simulation. Separate examples are provided (use Load example data button as -in Basic mode): +Advanced mode enables the user to change more parameters for each type of +simulation. Separate examples are provided (use the Load example data button as +in the Basic mode):

    1. Minimization of the P8MTCP1 disulfide-bonded helical hairpin miniprotein @@ -148,14 +164,14 @@ Minimization of the P8MTCP1 disulfide-bonded helical hairpin miniprotein

    2. -Canonical MD simulations of Trp-Cage miniprotein (PDB code:1L2Y) -starting from extended chain.
    3. +Canonical MD simulations of the Trp-Cage miniprotein (PDB code:1L2Y) +starting from the extended chain.
    4. Show