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
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,
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()
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:
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')
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: