refine with ssbond
authorCezary Czaplewski <czarek@chem.univ.gda.pl>
Sat, 16 Sep 2017 23:41:36 +0000 (01:41 +0200)
committerCezary Czaplewski <czarek@chem.univ.gda.pl>
Sat, 16 Sep 2017 23:41:36 +0000 (01:41 +0200)
django_simple/todo/jobfiles.py
files/cyx.awk [new file with mode: 0644]
files/pbs8.csh
files/pbs8_new.csh
files/refine.sh

index f28e4e0..be88312 100644 (file)
@@ -253,6 +253,18 @@ CUTOFF=7.00000 WCORR4=0.00000
         pbs = '#PBS -l nodes='+str(nodes)+':ppn=4'
       else:
         pbs = '#PBS -l nodes='+str(nodes)+':ppn=4+1:ppn='+str(reszta)
+        
+      tmp_ss=''
+      ix=0
+      if seq[0]=='X':
+       ix=1
+      if instance.ssbond!='':
+        l=[]
+        ss=json.loads(instance.ssbond)
+        for e in ss:
+           l.append(e[0]-ix)
+           l.append(e[1]-ix)
+        tmp_ss=' '.join(map(str,l))
 
       os.chdir(instance.jobdirname)
       if  instance.unres_ff =='E0LL2Y':
@@ -263,6 +275,8 @@ CUTOFF=7.00000 WCORR4=0.00000
       for line in f1:
           if '#PBS -l nodes=4:ppn=4' in line:
            f2.write(line.replace('#PBS -l nodes=4:ppn=4', pbs))
+          elif '$ssbond' in line:
+           f2.write(line.replace('$ssbond',tmp_ss))
           else:
            tmp1=json.loads(instance.remd_multi_t)
            f2.write(line.replace('$temperatures','"'+" ".join(tmp1)+'" '+str(nreplicas)))
diff --git a/files/cyx.awk b/files/cyx.awk
new file mode 100644 (file)
index 0000000..e9af9eb
--- /dev/null
@@ -0,0 +1,6 @@
+{
+if (int(substr($0,24,3))==ires) 
+ print gensub(/CYS/,"CYX","g")
+else
+ print $0 
+}
\ No newline at end of file
index 31d7fb9..89db54b 100755 (executable)
@@ -73,7 +73,7 @@ rm ave
 
 #amber min refinement
 foreach i (`seq 1 5`)
-../files/refine.sh MODEL$i.pdb
+../files/refine.sh MODEL$i.pdb $ssbond
 end
 
 /users2/local/pymol_1.6/pymol -c ../files/model.pml
index 241de6e..1b72493 100755 (executable)
@@ -73,7 +73,7 @@ rm ave
 
 #amber min refinement
 foreach i (`seq 1 5`)
-../files/refine.sh MODEL$i.pdb
+../files/refine.sh MODEL$i.pdb $ssbond
 end
 
 /users2/local/pymol_1.6/pymol -c ../files/model.pml
index e7e3b4a..c039354 100755 (executable)
@@ -4,9 +4,34 @@
 export AMBERHOME=/users2/local/amber/amber14
 export LD_LIBRARY_PATH=/users2/local/lib/intel/composer_xe_2015/intel64:${LD_LIBRARY_PATH}
 
-rm -f tmp1.pdb
+rm -f tmp1.pdb tmp1
 ln -s $1 tmp1.pdb
-$AMBERHOME/bin/tleap -f /users2/CASP12/EXAMPLES/all-atom/amber_files/leap.bat
+
+cat << EOF >leap.bat
+source leaprc.ff14SB
+xx3 = loadpdb tmp1.pdb
+EOF
+
+pdb=$1 
+shift  
+while true; do
+       if [ $1 ]; then
+                echo bond xx3.$1.SG xx3.$2.SG >> leap.bat
+                awk -v ires=$1 -f ../files/cyx.awk $pdb > tmp1
+                awk -v ires=$2 -f ../files/cyx.awk tmp1 > $pdb
+                shift
+                shift
+       else
+               break 
+       fi
+done
+cat << EOF >> leap.bat
+saveamberparm xx3 t.top t.crd
+savepdb xx3 z_tleap.pdb
+quit
+EOF
+
+$AMBERHOME/bin/tleap -f leap.bat
 
 /users2/local/mmtsb/perl/convpdb.pl -out generic_noh z_tleap.pdb > noh.pdb
 /users2/local/pymol_1.6/pymol -cq /users2/CASP12/EXAMPLES/all-atom/amber_refine/dss.py | awk \
@@ -19,12 +44,12 @@ $AMBERHOME/bin/tleap -f /users2/CASP12/EXAMPLES/all-atom/amber_files/leap.bat
 /users/software/openmpi-1.8.4/bin/mpirun \
 -machinefile $PBS_NODEFILE -np 4 \
 $AMBERHOME/bin/sander.MPI \
--O -i /users2/CASP12/EXAMPLES/all-atom/amber_files/min1.in -p t.top -o amber_min_$1.out \
+-O -i /users2/CASP12/EXAMPLES/all-atom/amber_files/min1.in -p t.top -o amber_min_$pdb.out \
 -c t.crd -ref t.crd
 
 $AMBERHOME/bin/ambpdb -p t.top <restrt> stop.pdb
 
-rm $1
-/users2/local/mmtsb/perl/convpdb.pl -amber -out generic_noh stop.pdb > $1
+rm $pdb
+/users2/local/mmtsb/perl/convpdb.pl -amber -out generic_noh stop.pdb > $pdb
 rm tmp1.pdb z_tleap.pdb t.top t.crd leap.log noh.pdb zakresy.csv RST.dat restrt mdinfo stop.pdb