NEWCT-9P force field
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Wed, 16 Oct 2019 11:50:39 +0000 (13:50 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Wed, 16 Oct 2019 11:50:39 +0000 (13:50 +0200)
django_simple/todo/jobfiles.py
django_simple/todo/models.py
django_simple/todo/templates/changelog.html
django_simple/todo/views.py
files/pbs8_newct-9p.csh [new file with mode: 0755]
files/pbs_md_newct-9p.csh [new file with mode: 0755]
files/pbs_newct-9p.csh [new file with mode: 0755]

index ee1ed09..32deb54 100644 (file)
@@ -90,6 +90,12 @@ WSCLOC=0.10554 WTOR=1.34316 WTORD=1.26571 WCORRH=0.19212 WCORR5=0.00000        &
 WCORR6=0.00000 WEL_LOC=0.37357 WTURN3=1.40323 WTURN4=0.64673 WTURN6=0.00000    &
 WVDWPP=0.23173 WHPB=1.00000 WSCCOR=0.25                                        &
 CUTOFF=7.00000 WCORR4=0.00000"""
+     elif  instance.unres_ff =='NEWCT-9P':
+      w="""WSC=0.81230 WSCP=1.20420 WELEC=0.87690 WBOND=1.00000 WANG=1.97730              &
+WSCLOC=0.063657 WTOR=1.41540 WTORD=0.00000 WCORRH=0.00000 WCORR5=0.00000       &
+WCORR6=0.00000 WEL_LOC=0.036638 WTURN3=1.45110 WTURN4=0.00000 WTURN6=0.00000   &
+WSCCOR=0.00000 WVDWPP=0.33393 WHPB=1.00000 WSCP14=0.00000                      &
+CUTOFF=7.00000 WCORR4=0.00000"""
      else:
       w="""WSC=0.82686 WSCP=0.96947 WELEC=0.79373 WBOND=1.00000 WANG=0.46542              &
 WSCLOC=0.07969 WTOR=0.81684 WTORD=0.67806 WCORRH=0.00000 WCORR5=0.00000        &
@@ -117,6 +123,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
             control_line = control_line+'pdbout '
           if instance.min_unres_pdb:
             control_line = control_line+'unres_pdb '
+          if instance.unres_ff =='NEWCT-9P':
+            control_line = control_line+'tormode=2 '
             
           type_line = 'print_min_ini print_min_res print_min_stat'\
             +' MAXMIN='+str(instance.min_maxmin)\
@@ -146,6 +154,9 @@ CUTOFF=7.00000 WCORR4=0.00000"""
 
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
+             
+          if instance.unres_ff =='NEWCT-9P':
+            control_line = control_line+'tormode=2 '
             
           type_line = '        reset_vel=0'\
              +' t_bath='+str(instance.md_temp)\
@@ -176,6 +187,9 @@ CUTOFF=7.00000 WCORR4=0.00000"""
            
           if instance.md_pdbref:
              control_line = control_line+'pdbref '
+             
+          if instance.unres_ff =='NEWCT-9P':
+            control_line = control_line+'tormode=2 '
           
           cntrl_saxs=''
           if instance.saxs_data != '':
@@ -223,7 +237,7 @@ CUTOFF=7.00000 WCORR4=0.00000"""
            f.write('{:79}'.format(element)+'&\n')
        f.write(word_list[-1]+'\n')
           
-       if instance.md_start == 'pdbstart':
+       if instance.md_start == 'pdbstart' and instance.unres_ff !='NEWCT-9P':
         if instance.type == 'remd' or instance.type == 'dock':
          f.write('print_min_ini print_min_res print_min_stat maxfun='+
            str(instance.min_maxfun)+'\n')
@@ -265,6 +279,9 @@ CUTOFF=7.00000 WCORR4=0.00000"""
           if instance.md_2d == '':
             f.write('0\n')
           else:
+           if instance.unres_ff =='NEWCT-9P':
+            f.write(seq_2d_write_50(seq_2d_xx(instance.md_2d,seq)))
+           else:
             f.write(seq_2d_write(seq_2d_xx(instance.md_2d,seq)))
         
        if instance.type == 'dock':
@@ -286,6 +303,9 @@ CUTOFF=7.00000 WCORR4=0.00000"""
           if instance.md_2d == '':
             f.write('0\n')
           else:
+           if instance.unres_ff =='NEWCT-9P':
+            f.write(seq_2d_write_50(seq_2d_xx(instance.md_2d,seq)))
+           else:
             f.write(seq_2d_write(seq_2d_xx(instance.md_2d,seq)))
 
 
@@ -300,6 +320,9 @@ CUTOFF=7.00000 WCORR4=0.00000"""
           if instance.md_2d == '':
             f.write('0\n')
           else:
+           if instance.unres_ff =='NEWCT-9P':
+            f.write(seq_2d_write_50(seq_2d_xx(instance.md_2d,seq)))
+           else:
             f.write(seq_2d_write(seq_2d_xx(instance.md_2d,seq)))
 
 
@@ -315,6 +338,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
       os.chdir(instance.jobdirname)
       if  instance.unres_ff =='FF2':
         shutil.copy('../files/pbs.csh','.')
+      elif instance.unres_ff =='NEWCT-9P':
+        shutil.copy('../files/pbs_newct-9p.csh','pbs.csh')
       else:
         shutil.copy('../files/pbs_new.csh','pbs.csh')
       ret_code = subprocess.Popen(' /opt/torque/bin/qsub pbs.csh', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
@@ -323,6 +348,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
       os.chdir(instance.jobdirname)
       if  instance.unres_ff =='FF2':
         f1 = open('../files/pbs_md.csh', 'r')
+      elif instance.unres_ff =='NEWCT-9P':
+        f1 = open('../files/pbs_md_newct-9p.csh', 'r')
       else:
         f1 = open('../files/pbs_md_new.csh', 'r') 
       f2 = open('pbs.csh', 'w')
@@ -369,6 +396,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
       os.chdir(instance.jobdirname)
       if  instance.unres_ff =='FF2':
         f1 = open('../files/pbs8.csh', 'r')
+      elif instance.unres_ff =='NEWCT-9P':
+        f1 = open('../files/pbs8_newct-9p.csh', 'r')
       else:
         f1 = open('../files/pbs8_new.csh', 'r')
       f2 = open('pbs8.csh', 'w')
@@ -411,6 +440,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
                f.write('{:79}'.format(' WITH_DIHED_CONSTR')+'&\n')
           if instance.type == 'dock':
                f.write('{:79}'.format(' n_ene=19 CONSTR_HOMOL=20')+'&\n')
+          if instance.unres_ff =='NEWCT-9P':
+               f.write('{:79}'.format('tormode=2 ')+'&\n')
           f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+
                     ' BOXZ='+str(instance.boxz)+cntrl_saxs +'\n')
                  
@@ -478,6 +509,8 @@ CUTOFF=7.00000 WCORR4=0.00000"""
                f.write('{:79}'.format(' WITH_DIHED_CONSTR')+'&\n')
           if instance.type == 'dock':
                f.write('{:79}'.format(' CONSTR_HOMOL=20')+'&\n')
+          if instance.unres_ff =='NEWCT-9P':
+               f.write('{:79}'.format('tormode=2 ')+'&\n')
           f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+
                   ' BOXZ='+str(instance.boxz)+cntrl_saxs +'\n')
           f.write(w+'\n')
index f900769..ba4f3cb 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__)
 
index 8dd0eac..dc129c1 100644 (file)
  Button to download all files from displaed job as zip archive added.
  </dd>
 
+<dt>16.10.2019</dt>
+ <dd>
+ The scale-consistent NEWCT-9P force field added in advanced mode.<br>
+ </dd>
+
  
 </dl>
               
index cddfc88..092b9bd 100644 (file)
@@ -1115,15 +1115,15 @@ def refresh_done0(task):
                   if i>6:
                        break
                   if i==1:
-                     task.remd_model1=task.remd_model1+' Cluster1 probability= '+line1.split()[2]
+                     task.remd_model1=task.remd_model1+' Cluster1 probability= '+line1.split()[-2]
                   elif i==2:
-                     task.remd_model2=task.remd_model2+' Cluster2 probability= '+line1.split()[2]
+                     task.remd_model2=task.remd_model2+' Cluster2 probability= '+line1.split()[-2]
                   elif i==3:
-                     task.remd_model3=task.remd_model3+' Cluster3 probability= '+line1.split()[2]
+                     task.remd_model3=task.remd_model3+' Cluster3 probability= '+line1.split()[-2]
                   elif i==4:
-                     task.remd_model4=task.remd_model4+' Cluster4 probability= '+line1.split()[2]
+                     task.remd_model4=task.remd_model4+' Cluster4 probability= '+line1.split()[-2]
                   elif i==5:
-                     task.remd_model5=task.remd_model5+' Cluster5 probability= '+line1.split()[2]
+                     task.remd_model5=task.remd_model5+' Cluster5 probability= '+line1.split()[-2]
                      
          
 
diff --git a/files/pbs8_newct-9p.csh b/files/pbs8_newct-9p.csh
new file mode 100755 (executable)
index 0000000..bb332fd
--- /dev/null
@@ -0,0 +1,123 @@
+#PBS -N test_server
+#PBS -q nowy
+#PBS -l nodes=4:ppn=4
+
+#-----------------------------------------------------------------------------
+setenv UNRES_BIN /users2/czarek/UNRES/run/ADAM/unres-mult-symetr_KCC_ifort_MPICH-NEWCORR-SAXS-NMRAMB-Bfac.exe
+#-----------------------------------------------------------------------------
+setenv DD /users2/czarek/UNRES/PARAM
+setenv BONDPAR $DD/bond_AM1_ext_dum.parm
+setenv THETPAR $DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv THETPARPDB $DD/thetaml_ext.5parm
+setenv ROTPARPDB $DD/scgauss_ext.parm
+setenv ROTPAR $DD/rotamers_AM1_aura_ext.10022007.parm
+setenv TORPAR $DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
+setenv TORDPAR $DD/pot_tord_G631_DIL_ext.parm
+setenv ELEPAR $DD/electr_631Gdp_ext.parm
+setenv SIDEPAR $DD/scinter_GB_ext_lip.parm
+setenv FOURIER $DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv SCCORPAR $DD/sccor_am1_pawel_ext.dat
+setenv SCPPAR $DD/scp_ext.parm
+setenv PATTERN $DD/patterns.cart
+setenv LIPTRANPAR $DD/Lip_tran_initial_ext.parm
+#-----------------------------------------------------------------------------
+cd $PBS_O_WORKDIR
+
+setenv MPIRUN "/users2/local/mpich2-1.4.1p1_intel/bin/mpirun "
+set NPROCS=`cat $PBS_NODEFILE | wc -l`
+
+setenv FGPROCS 2
+setenv POT GB
+setenv PREFIX file
+setenv OUT1FILE YES
+
+#UNRES MREMD
+$MPIRUN -machinefile $PBS_NODEFILE -np $NPROCS $UNRES_BIN
+
+#WHAM
+setenv WHAM_BIN /users2/czarek/UNRES/run/ADAM/wham_ifort_KCC_MPICH-okeanos_NEWCORR-SAXS-NMRAMB-Bfac.exe
+setenv CONTFUNC GB
+setenv SIDEP $DD/contact_ext.3.parm
+setenv SCRATCHDIR .
+setenv PREFIX file_wham
+
+$MPIRUN -machinefile $PBS_NODEFILE -np 2 $WHAM_BIN
+
+#test images
+setenv line `awk '{}END{print int(NR*0.2)}' file_GB000.stat`
+
+if ( `grep -c pdbref file.inp` ) then
+ tail -q -n +$line file_GB*.stat |  awk '{if ( NF == 14 ) print}' >remd_all.stat
+ cat file_GB*.stat |  awk '{if ( NF == 14 ) print}' > remd_all0.stat
+else
+ tail -q -n +$line file_GB*.stat |  awk '{if ( NF == 10 ) print}' >remd_all.stat
+ cat file_GB*.stat |awk '{if ( NF == 10 ) print}' > remd_all0.stat
+endif
+../files/matplotlib_hist.py $temperatures
+rm remd_all.stat remd_all0.stat
+
+#CLUSTER WHAM
+setenv INPUT file_cluster
+setenv INTIN file_wham
+setenv OUTPUT file_cluster
+setenv PDB CART
+setenv COORD CX
+setenv PRINTCOOR PRINT_PDB
+setenv CLUSTER_WHAM_BIN /users2/czarek/UNRES/run/ADAM/unres_clustMD-mult_ifort_MPICH_NEWCORR-SAXS-MRAMB-bfac.exe
+
+$MPIRUN -machinefile $PBS_NODEFILE -np 2 $CLUSTER_WHAM_BIN
+
+if `awk '{cap=toupper($0); if (cap!=$0) {print 1;exit}}' file.seq` then
+#no allatom conversion/refinementkx for proteins with D-aminoacids
+ ln -s file_wham_T*K_ave.pdb ave
+ sed -n '/ENERGY/,/ENDMDL/p' ave >tmp.pdb
+ setenv numstruc `grep ENERGY tmp.pdb|wc -l`
+ setenv allline `cat tmp.pdb|wc -l`
+ setenv onestruc `echo $allline "/" $numstruc| bc -l|sed 's/\.0*//'`
+ foreach i (2 4 6 8 10)
+   setenv headval `echo $i "*" $onestruc|bc -l`
+   setenv halfi `echo $i/2|bc`
+   head -n $headval tmp.pdb | tail -n $onestruc >MODEL${halfi}.pdb
+ end
+ rm ave tmp.pdb
+else
+# proteins with L-aminoacids only
+ln -s file_wham_T*K_ave.pdb ave
+../files/cluster2allatom.sh ave
+rm ave
+
+#amber min refinement
+foreach i (`seq 1 5`)
+../files/refine.sh MODEL$i.pdb $ssbond
+end
+endif
+
+/users2/local/pymol_1.6/pymol -c ../files/model.pml
+
+if ( `grep -c pdbref file.inp` ) then
+ awk '{printf "%s%s%s\n",substr($0,0,21)," ",substr($0,23)}' plik.pdb > tmp.pdb
+ /users2/local/mmtsb/perl/convpdb.pl -renumber 1 -out generic tmp.pdb > plik1.pdb
+ rm tmp.pdb
+
+ /users2/local/bin/tmscore MODEL1.pdb plik1.pdb > tmscore1.out
+ /users2/local/bin/tmscore MODEL2.pdb plik1.pdb > tmscore2.out
+ /users2/local/bin/tmscore MODEL3.pdb plik1.pdb > tmscore3.out
+ /users2/local/bin/tmscore MODEL4.pdb plik1.pdb > tmscore4.out
+ /users2/local/bin/tmscore MODEL5.pdb plik1.pdb > tmscore5.out
+ if (-e saxs.data) then
+  awk -f ../files/saxs_dist.awk plik1.pdb > plik_saxs.data
+ endif
+# rm plik1.pdb
+endif
+
+if (-e saxs.data) then
+awk -f ../files/saxs_dist.awk MODEL1.pdb > MODEL1_saxs.data
+awk -f ../files/saxs_dist.awk MODEL2.pdb > MODEL2_saxs.data
+awk -f ../files/saxs_dist.awk MODEL3.pdb > MODEL3_saxs.data
+awk -f ../files/saxs_dist.awk MODEL4.pdb > MODEL4_saxs.data
+awk -f ../files/saxs_dist.awk MODEL5.pdb > MODEL5_saxs.data
+../files/plot_saxs.py
+endif
+
+#END
+touch finished
diff --git a/files/pbs_md_newct-9p.csh b/files/pbs_md_newct-9p.csh
new file mode 100755 (executable)
index 0000000..0406bb6
--- /dev/null
@@ -0,0 +1,70 @@
+#PBS -N test_server
+#PBS -q express
+#PBS -l nodes=1:ppn=4
+
+#-----------------------------------------------------------------------------
+setenv UNRES_BIN /users2/czarek/UNRES/run/ADAM/unres-mult-symetr_KCC_ifort_MPICH-NEWCORR-SAXS-NMRAMB-Bfac.exe
+#-----------------------------------------------------------------------------
+setenv DD /users2/czarek/UNRES/PARAM
+setenv BONDPAR $DD/bond_AM1_ext_dum.parm
+setenv THETPAR $DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv THETPARPDB $DD/thetaml_ext.5parm
+setenv ROTPARPDB $DD/scgauss_ext.parm
+setenv ROTPAR $DD/rotamers_AM1_aura_ext.10022007.parm
+setenv TORPAR $DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
+setenv TORDPAR $DD/pot_tord_G631_DIL_ext.parm
+setenv ELEPAR $DD/electr_631Gdp_ext.parm
+setenv SIDEPAR $DD/scinter_GB_ext_lip.parm
+setenv FOURIER $DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv SCCORPAR $DD/sccor_am1_pawel_ext.dat
+setenv SCPPAR $DD/scp_ext.parm
+setenv PATTERN $DD/patterns.cart
+setenv LIPTRANPAR $DD/Lip_tran_initial_ext.parm
+#-----------------------------------------------------------------------------
+cd $PBS_O_WORKDIR
+
+setenv MPIRUN "/users2/local/mpich2-1.4.1p1_intel/bin/mpirun "
+set NPROCS=`cat $PBS_NODEFILE | wc -l`
+
+setenv FGPROCS 4
+setenv POT GB
+setenv PREFIX file
+setenv OUT1FILE YES
+
+$MPIRUN -machinefile $PBS_NODEFILE -np $NPROCS $UNRES_BIN
+
+if ( `grep -c pdbref file.inp` ) then
+ awk '{if ( NF == 14 ) print}' file_GB000.stat > md.stat
+else
+ awk '{if ( NF == 10 ) print}' file_GB000.stat > md.stat
+endif
+
+../files/matplotlib_fit_hist.py $dimen3
+rm md.stat
+
+if ( -f "file_MD000.pdb" ) then
+ mkdir tmp
+ /users2/local/pymol_1.6/pymol -c ../files/movie.pml
+ ffmpeg2theora tmp/aa%4d.png -o md.ogv
+ if ( `grep -c pdbstart file.inp` ) then
+  /users2/local/pymol_1.6/pymol -c ../files/overlap.pml
+  ../files/fluct_plot.py intra_fit.pdb > fluctuations.txt
+  /users2/local/pymol_1.6/pymol -c -r ../files/fluct.py
+  rm -f intra_fit.pdb
+ endif
+ rm -rf tmp 
+else
+ /users2/czarek/UNRES/git3_tmp/build/bin/xdrf2pdb-mult one file.seq file_MD000.cx
+ mkdir tmp
+ /users2/local/pymol_1.6/pymol -c ../files/movie.pml
+ ffmpeg2theora tmp/aa%4d.png -o md.ogv
+ if ( `grep -c pdbstart file.inp` ) then 
+  /users2/local/pymol_1.6/pymol -c ../files/overlap.pml
+  ../files/fluct_plot.py intra_fit.pdb > fluctuations.txt
+  /users2/local/pymol_1.6/pymol -c -r ../files/fluct.py
+  rm -f intra_fit.pdb
+ endif
+ rm -rf tmp file_MD000.pdb 
+endif
+
+touch finished
diff --git a/files/pbs_newct-9p.csh b/files/pbs_newct-9p.csh
new file mode 100755 (executable)
index 0000000..8fcfe3a
--- /dev/null
@@ -0,0 +1,38 @@
+#PBS -N test_server
+#PBS -q express
+#PBS -l nodes=1:ppn=4
+
+#-----------------------------------------------------------------------------
+setenv UNRES_BIN /users2/czarek/UNRES/run/ADAM/unres-mult-symetr_KCC_ifort_MPICH-NEWCORR-SAXS-NMRAMB-Bfac.exe
+#-----------------------------------------------------------------------------
+setenv DD /users2/czarek/UNRES/PARAM
+setenv BONDPAR $DD/bond_AM1_ext_dum.parm
+setenv THETPAR $DD/theta_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv THETPARPDB $DD/thetaml_ext.5parm
+setenv ROTPARPDB $DD/scgauss_ext.parm
+setenv ROTPAR $DD/rotamers_AM1_aura_ext.10022007.parm
+setenv TORPAR $DD/torsion_abinitio.parm-2d-all-DL-03-02-2cos
+setenv TORDPAR $DD/pot_tord_G631_DIL_ext.parm
+setenv ELEPAR $DD/electr_631Gdp_ext.parm
+setenv SIDEPAR $DD/scinter_GB_ext_lip.parm
+setenv FOURIER $DD/fourier_opt.parm.OPT_TRP1_FSD_Villin_E0L_QHK_N9L_LX7_BDD_I18
+setenv SCCORPAR $DD/sccor_am1_pawel_ext.dat
+setenv SCPPAR $DD/scp_ext.parm
+setenv PATTERN $DD/patterns.cart
+setenv LIPTRANPAR $DD/Lip_tran_initial_ext.parm
+#-----------------------------------------------------------------------------
+cd $PBS_O_WORKDIR
+
+setenv MPIRUN "/users2/local/mpich2-1.4.1p1_intel/bin/mpirun "
+set NPROCS=`cat $PBS_NODEFILE | wc -l`
+
+setenv FGPROCS 4
+setenv POT GB
+setenv PREFIX file
+setenv OUT1FILE YES
+
+$MPIRUN -machinefile $PBS_NODEFILE -np $NPROCS $UNRES_BIN
+
+/users2/local/pymol_1.6/pymol -c ../files/pdb.pml
+
+touch finished