UNRES-Dock peptide sequence no pdb
[django_unres.git] / django_simple / todo / forms.py
index 5746644..68e3f50 100644 (file)
@@ -4,6 +4,7 @@ from .models import MIN_CHOICE
 from .models import MD_START
 from .models import MD_LANG
 from .models import FF_CHOICE
+from django.utils.safestring import mark_safe
 import json
 import urllib
 
@@ -505,6 +506,13 @@ class TaskForm_dock(forms.Form):
       label='or PDB code (:chain)')                   
 
 
+     md_seq = forms.CharField(label=mark_safe('Sequence of chain2 <br /> for dock peptide'),
+                     help_text='aminoacid sequence using one letter code<br>'+
+                        'field is ignored when uploading PDB file2',
+                     required=False,
+                     widget=forms.Textarea(attrs={'cols': 70, 'rows': 2}))
+
+
      file2 = forms.FileField(label='Upload a PDB file2',required=False,
                   help_text='starting structure for chain2')
      pdbid2 = forms.CharField(min_length=4,max_length=6,required=False,
@@ -517,7 +525,7 @@ class TaskForm_dock(forms.Form):
      md_seed = forms.IntegerField(label='SEED',initial=-39912345,
                   help_text='seed for random number generator')
      dock_peptide = forms.BooleanField(required=False,initial=False,
-            label='dock peptide',help_text='no constraints on 2nd chain')                  
+            label='dock peptide',help_text='no constraints on chain2')                  
                   
      def clean(self):
              cleaned_data = super(TaskForm_dock, self).clean()
@@ -526,14 +534,15 @@ class TaskForm_dock(forms.Form):
              pdbid = cleaned_data.get("pdbid")
              file2 = cleaned_data.get("file2")
              pdbid2 = cleaned_data.get("pdbid2")
+             md_seq = cleaned_data.get("md_seq")
 
               
              if not (file1 or pdbid):
                 msg = 'no PDB file or code for chain1'
                 self.add_error('file1', msg)
 
-             if not (file2 or pdbid2):
-                msg = 'no PDB file or code for chain2'
+             if not (file2 or pdbid2 or md_seq):
+                msg = 'no PDB file or code or sequence for chain2'
                 self.add_error('file2', msg)
 
              if pdbid:
@@ -565,6 +574,12 @@ class TaskForm_dock_a(forms.Form):
       widget=forms.TextInput(attrs={'size':6, 'maxlength':6, 'title':'PDB code or PDB code:chain id'}),
       label='or PDB code (:chain)')                   
 
+     md_seq = forms.CharField(label=mark_safe('Sequence of chain2 <br /> for dock peptide'),
+                     help_text='aminoacid sequence using one letter code<br>'+
+                        'field is ignored when uploading PDB file2',
+                     required=False,
+                     widget=forms.Textarea(attrs={'cols': 70, 'rows': 2}))
+
 
      file2 = forms.FileField(label='Upload a PDB file2',required=False,
                   help_text='starting structure for chain2')
@@ -613,14 +628,14 @@ class TaskForm_dock_a(forms.Form):
              pdbid = cleaned_data.get("pdbid")
              file2 = cleaned_data.get("file2")
              pdbid2 = cleaned_data.get("pdbid2")
-
+             md_seq = cleaned_data.get("md_seq")
               
              if not (file1 or pdbid):
                 msg = 'no PDB file or code for chain1'
                 self.add_error('file1', msg)
 
-             if not (file2 or pdbid2):
-                msg = 'no PDB file or code for chain2'
+             if not (file2 or pdbid2 or md_seq):
+                msg = 'no PDB file or code or sequence for chain2'
                 self.add_error('file2', msg)
 
              if pdbid: