Rafal's code for NMR restraints
[django_unres.git] / django_simple / todo / models.py
index bc2fac6..2ff42b0 100644 (file)
@@ -9,7 +9,7 @@ import json
 MIN_CHOICE = (('minimize cart','minimize'),('minimize regular','regularize'),('minimize softreg','soft regularize'),('minimize','minimize internal coordinates'))
 MD_START= (('extconf','extended chain'),('pdbstart','start from pdb'),('rand_conf','random chain'))
 MD_LANG = (('langevin','Langevin'),('berendsen','Berendsen'))
-FF_CHOICE = (('FF2','FF2 = JCC 30 2127 (2009) + JCTC 11 817-831 (2015)'),('opt-wtfsa-2','OPT-WTFSA-2 = JCIM 57 2364-2377 (2017)'))
+FF_CHOICE = (('FF2','FF2 = JCC 30 2127 (2009) + JCTC 11 817-831 (2015)'),('opt-wtfsa-2','OPT-WTFSA-2 = JCIM 57 2364-2377 (2017)'),('NEWCT-9P','NEWCT-9P = JCP 150 155104 (2019)'))
 
 logger = logging.getLogger(__name__)
 
@@ -17,6 +17,13 @@ def user_directory_path(instance, filename):
     # file will be uploaded to MEDIA_ROOT/<jobdirname>/plik.pdb
     return '{0}/{1}'.format(instance.jobdirname, 'plik.pdb')
 
+def user_directory_path2(instance, filename):
+    # file will be uploaded to MEDIA_ROOT/<jobdirname>/plik2.pdb
+    return '{0}/{1}'.format(instance.jobdirname, 'plik2.pdb')
+
+def user_directory_path3(instance, filename):
+    # file will be uploaded to MEDIA_ROOT/<jobdirname>/plik3.nmr
+    return '{0}/{1}'.format(instance.jobdirname, 'plik3.nmr')
 
 # Create your models here.
 class Task(models.Model):
@@ -58,14 +65,15 @@ class Task(models.Model):
     md_temp = models.FloatField(default=300.0)
     md_nstep = models.IntegerField(default=200000)
     md_ntwe = models.IntegerField(default=100)
-    md_ntwx = models.IntegerField(default=100)
+    md_ntwx = models.IntegerField(default=1000)
     md_dt = models.FloatField(default=0.20)
     md_lang = models.CharField(max_length=10,choices=MD_LANG,default='langevin')
     md_tau = models.FloatField(default=1.0)
     md_scal_fric = models.FloatField(default=0.02)
-    md_mdpdb = models.BooleanField(default=False)
+    md_mdpdb = models.BooleanField(default=True)
     md_seq = models.TextField(max_length=2000,default='')
     md_2d = models.TextField(max_length=2000,default='')
+    md_total_steps = models.IntegerField(default=200000)
     
 #remd
     remd_nrep = models.IntegerField(default=8)
@@ -80,12 +88,27 @@ class Task(models.Model):
     remd_model3 = models.TextField(default='')
     remd_model4 = models.TextField(default='')
     remd_model5 = models.TextField(default='')
+    remd_models = models.TextField(default='')
+    remd_cluster_n = models.IntegerField(default=5)
 
 #saxs
     scal_rad = models.FloatField(default=1.0)
-    wsaxs = models.FloatField(default=100.0)
+    wsaxs = models.FloatField(default=1000.0)
     saxs_data = models.TextField(max_length=10000,default='')
-        
+
+#dock
+    myfile2 = models.FileField(default='',upload_to=user_directory_path2)        
+    pdbcode2 = models.CharField(max_length=6,default='')
+    dock_peptide = models.BooleanField(default=False)
+    md_seq2 = models.TextField(max_length=2000,default='')
+
+#nmr
+    use_nmr = models.BooleanField(default=False)
+    myfile3 = models.FileField(default='',upload_to=user_directory_path3)
+    nmr_scal = models.FloatField(default=20.0)
+    nmr_fordepth = models.FloatField(default=0.5)
+    nmr_slope = models.FloatField(default=0.05)
+    linijek_nmr=models.IntegerField(default=0)
     
 # system    
     ready = models.BooleanField(default=False)
@@ -95,6 +118,9 @@ class Task(models.Model):
     owner = models.ForeignKey(User,default=1)
     created_date = models.DateTimeField(default=timezone.now)
     jobdirname = models.CharField(max_length=100,default='')
+    pbsjob = models.CharField(max_length=40,default='')
+    example = models.CharField(max_length=10,default='')
+    damino = models.BooleanField(default=False)
     
     def __str__(self):
         if self.done: