BOX dimensions input in advanced mode
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 10 Nov 2017 21:06:59 +0000 (22:06 +0100)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Fri, 10 Nov 2017 21:06:59 +0000 (22:06 +0100)
django_simple/todo/forms.py
django_simple/todo/jobfiles.py
django_simple/todo/models.py
django_simple/todo/templates/details.html
django_simple/todo/views.py

index beff582..7ca4ce3 100644 (file)
@@ -65,6 +65,12 @@ class TaskForm_min_a(forms.Form):
      min_unres_pdb = forms.BooleanField(required=False,label='uploaded input unres PDB',
                   help_text='(CA and CB atoms only, CB represents SC in UNRES)')
      min_pdbout = forms.BooleanField(required=False,label='output PDB',initial='true')
      min_unres_pdb = forms.BooleanField(required=False,label='uploaded input unres PDB',
                   help_text='(CA and CB atoms only, CB represents SC in UNRES)')
      min_pdbout = forms.BooleanField(required=False,label='output PDB',initial='true')
+     boxx = forms.FloatField(label='Box X',initial=1000.0,
+                       help_text='box x dimension')
+     boxy = forms.FloatField(label='Box Y',initial=1000.0,
+                       help_text='box y dimension')
+     boxz = forms.FloatField(label='Box Z',initial=1000.0,
+                       help_text='box z dimension')
 
 
 class TaskForm_md(forms.Form):
 
 
 class TaskForm_md(forms.Form):
@@ -144,6 +150,13 @@ class TaskForm_md_a(forms.Form):
                   help_text='scaling of the friction coefficients (Langevin)')
      md_mdpdb = forms.BooleanField(required=False,label='trajectory as PDB')
 
                   help_text='scaling of the friction coefficients (Langevin)')
      md_mdpdb = forms.BooleanField(required=False,label='trajectory as PDB')
 
+     boxx = forms.FloatField(label='Box X',initial=1000.0,
+                       help_text='box x dimension')
+     boxy = forms.FloatField(label='Box Y',initial=1000.0,
+                       help_text='box y dimension')
+     boxz = forms.FloatField(label='Box Z',initial=1000.0,
+                       help_text='box z dimension')
+
      def clean(self):
              cleaned_data = super(TaskForm_md_a, self).clean()
 
      def clean(self):
              cleaned_data = super(TaskForm_md_a, self).clean()
 
@@ -244,6 +257,14 @@ class TaskForm_remd_a(forms.Form):
 #     remd_traj1file = forms.BooleanField(required=False,label='single trajectory file',initial='true')
 #     remd_rest1file = forms.BooleanField(required=False,label='single restart file',initial='true')
 
 #     remd_traj1file = forms.BooleanField(required=False,label='single trajectory file',initial='true')
 #     remd_rest1file = forms.BooleanField(required=False,label='single restart file',initial='true')
 
+     boxx = forms.FloatField(label='Box X',initial=1000.0,
+                       help_text='box x dimension')
+     boxy = forms.FloatField(label='Box Y',initial=1000.0,
+                       help_text='box y dimension')
+     boxz = forms.FloatField(label='Box Z',initial=1000.0,
+                       help_text='box z dimension')
+
+
      def clean(self):
              cleaned_data = super(TaskForm_remd_a, self).clean()
 
      def clean(self):
              cleaned_data = super(TaskForm_remd_a, self).clean()
 
index 400a2f7..d09ab98 100644 (file)
@@ -66,7 +66,10 @@ CUTOFF=7.00000 WCORR4=0.00000
 
           control_line = 'SEED='+str(instance.md_seed)+' ' \
              + instance.min_choice \
 
           control_line = 'SEED='+str(instance.md_seed)+' ' \
              + instance.min_choice \
-             + ' pdbstart pdbref BOXX=1000. BOXY=1000. BOXZ=1000. '
+             + ' pdbstart pdbref ' \
+             + ' BOXX='+str(instance.boxx) \
+             + ' BOXY='+str(instance.boxy) \
+             + ' BOXZ='+str(instance.boxz) +' '
           if not instance.min_overlap:
             control_line = control_line+'overlap '
           if not instance.min_searchsc:
           if not instance.min_overlap:
             control_line = control_line+'overlap '
           if not instance.min_searchsc:
@@ -97,7 +100,11 @@ CUTOFF=7.00000 WCORR4=0.00000
             
        if instance.type == 'md' :
           control_line = 'SEED='+str(instance.md_seed)+' '\
             
        if instance.type == 'md' :
           control_line = 'SEED='+str(instance.md_seed)+' '\
-           +instance.md_start +' md one_letter BOXX=1000. BOXY=1000. BOXZ=1000. '
+           +instance.md_start +' md one_letter'\
+           + ' BOXX='+str(instance.boxx) \
+           + ' BOXY='+str(instance.boxy) \
+           + ' BOXZ='+str(instance.boxz) +' '
+
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
             
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
             
@@ -120,7 +127,11 @@ CUTOFF=7.00000 WCORR4=0.00000
 
        if instance.type == 'remd' :
           control_line = 'SEED='+str(instance.md_seed)+' '\
 
        if instance.type == 'remd' :
           control_line = 'SEED='+str(instance.md_seed)+' '\
-           +instance.md_start +' re one_letter BOXX=1000. BOXY=1000. BOXZ=1000. '
+           +instance.md_start +' re one_letter'\
+           + ' BOXX='+str(instance.boxx) \
+           + ' BOXY='+str(instance.boxy) \
+           + ' BOXZ='+str(instance.boxz) +' '
+           
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
            
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
            
@@ -297,11 +308,13 @@ CUTOFF=7.00000 WCORR4=0.00000
           if instance.md_pdbref:
             f.write('{:79}'.format('SEED='+str(instance.md_seed)+' isampl='+str(isampl)+
                ' einicheck=1 rescale=2 delta=0.02 cxfile classify')+'&\n')
           if instance.md_pdbref:
             f.write('{:79}'.format('SEED='+str(instance.md_seed)+' isampl='+str(isampl)+
                ' einicheck=1 rescale=2 delta=0.02 cxfile classify')+'&\n')
-            f.write('BOXX=1000. BOXY=1000. BOXZ=1000. \n')
+            f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+
+                    ' BOXZ='+str(instance.boxz) +'\n')
           else:    
             f.write('{:79}'.format('SEED='+str(instance.md_seed)+' isampl='+str(isampl)+
               ' einicheck=1 rescale=2 delta=0.02 cxfile')+'&\n')
           else:    
             f.write('{:79}'.format('SEED='+str(instance.md_seed)+' isampl='+str(isampl)+
               ' einicheck=1 rescale=2 delta=0.02 cxfile')+'&\n')
-            f.write('BOXX=1000. BOXY=1000. BOXZ=1000. \n')
+            f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+
+                    ' BOXZ='+str(instance.boxz) +'\n')
           f.write('nres='+str(len(seq))+' one_letter\n')
           for i in range(0,len(seq),80):
              f.write(seq[i:i+80]+'\n')
           f.write('nres='+str(len(seq))+' one_letter\n')
           for i in range(0,len(seq),80):
              f.write(seq[i:i+80]+'\n')
@@ -330,7 +343,8 @@ CUTOFF=7.00000 WCORR4=0.00000
           f.write('{:79}'.format('nres='+str(len(seq))
              +' one_letter rescale=2 PRINT_CART PDBOUT=1 iopt=1'
              +' temper='+str(instance.remd_cluter_temp))+'&\n')
           f.write('{:79}'.format('nres='+str(len(seq))
              +' one_letter rescale=2 PRINT_CART PDBOUT=1 iopt=1'
              +' temper='+str(instance.remd_cluter_temp))+'&\n')
-          f.write('BOXX=1000. BOXY=1000. BOXZ=1000. \n')
+          f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+
+                  ' BOXZ='+str(instance.boxz) +'\n')
           f.write(w)
           for i in range(0,len(seq),80):
              f.write(seq[i:i+80]+'\n')
           f.write(w)
           for i in range(0,len(seq),80):
              f.write(seq[i:i+80]+'\n')
index d206b37..c377e48 100644 (file)
@@ -39,6 +39,9 @@ class Task(models.Model):
     min_pdbout = models.BooleanField(default=True)
     myfile1 = models.FileField(default='',upload_to=user_directory_path)    
     min_unres_pdb = models.BooleanField(default=False)
     min_pdbout = models.BooleanField(default=True)
     myfile1 = models.FileField(default='',upload_to=user_directory_path)    
     min_unres_pdb = models.BooleanField(default=False)
+    boxx = models.FloatField(default=1000.0)
+    boxy = models.FloatField(default=1000.0)
+    boxz = models.FloatField(default=1000.0)
 
 # minimization output
     etot = models.FloatField(default=0)
 
 # minimization output
     etot = models.FloatField(default=0)
index bf3cc54..08738fa 100644 (file)
@@ -227,6 +227,14 @@ Created {{ task.created_date  }}
 
         {% endif %}
 
 
         {% endif %}
 
+                       <li class="list-group-item task-item">
+                           <div class="col-xs-10"> Box X Y Z</div>
+                           <div class="col-xs-3">{{ task.boxx}}</div>
+                           <div class="col-xs-3">{{ task.boxy}}</div>                      
+                           <div class="col-xs-3">{{ task.boxz}}</div>                      
+                       </li>           
+
+
        <p>
        <h3> Results </h3>
                        <li class="list-group-item task-item">
        <p>
        <h3> Results </h3>
                        <li class="list-group-item task-item">
index 51b98ce..15d9184 100644 (file)
@@ -165,6 +165,9 @@ def add_min_a(request,task_id):
              task.myfile1=form.cleaned_data["file1"]
              task.min_unres_pdb=form.cleaned_data["min_unres_pdb"]
              task.unres_ff=form.cleaned_data["unres_ff"]
              task.myfile1=form.cleaned_data["file1"]
              task.min_unres_pdb=form.cleaned_data["min_unres_pdb"]
              task.unres_ff=form.cleaned_data["unres_ff"]
+             task.boxx=form.cleaned_data["boxx"]
+             task.boxy=form.cleaned_data["boxy"]             
+             task.boxz=form.cleaned_data["boxz"]             
 
              seq,task.ssbond=from_pdb(task.myfile1)
              task.md_seq=""
 
              seq,task.ssbond=from_pdb(task.myfile1)
              task.md_seq=""
@@ -264,6 +267,10 @@ def add_md_a(request,task_id):
              task.md_scal_fric=form.cleaned_data["md_scal_fric"]
              task.md_mdpdb=form.cleaned_data["md_mdpdb"]
              task.unres_ff=form.cleaned_data["unres_ff"]
              task.md_scal_fric=form.cleaned_data["md_scal_fric"]
              task.md_mdpdb=form.cleaned_data["md_mdpdb"]
              task.unres_ff=form.cleaned_data["unres_ff"]
+             task.boxx=form.cleaned_data["boxx"]
+             task.boxy=form.cleaned_data["boxy"]             
+             task.boxz=form.cleaned_data["boxz"]             
+
              
              task.ready=True
              basename = str(task.owner)
              
              task.ready=True
              basename = str(task.owner)
@@ -360,6 +367,11 @@ def add_remd_a(request,task_id):
 #             task.remd_traj1file=form.cleaned_data["remd_traj1file"]
 #             task.remd_rest1file=form.cleaned_data["remd_rest1file"]
 
 #             task.remd_traj1file=form.cleaned_data["remd_traj1file"]
 #             task.remd_rest1file=form.cleaned_data["remd_rest1file"]
 
+             task.boxx=form.cleaned_data["boxx"]
+             task.boxy=form.cleaned_data["boxy"]             
+             task.boxz=form.cleaned_data["boxz"]             
+
+
              task.remd_cluter_temp=form.cleaned_data["remd_cluter_temp"]
              task.unres_ff=form.cleaned_data["unres_ff"]
              
              task.remd_cluter_temp=form.cleaned_data["remd_cluter_temp"]
              task.unres_ff=form.cleaned_data["unres_ff"]