X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=django_simple%2Ftodo%2Fjobfiles.py;h=e7ee71653117be5f5c45c3b04e8f73c76ba09a13;hb=56595cc7938f5c7b53dd3ebe91b2a42f52cb89d1;hp=e38d7ae19d852d90c6896b042216bcfe3b8922af;hpb=cba1e1caa3183c0a655aa671a0a4a78b60931665;p=django_unres.git diff --git a/django_simple/todo/jobfiles.py b/django_simple/todo/jobfiles.py index e38d7ae..e7ee716 100644 --- a/django_simple/todo/jobfiles.py +++ b/django_simple/todo/jobfiles.py @@ -72,7 +72,7 @@ def write_ssbond(ssbond): @receiver(post_save, sender=Task) def write_on_task_save(sender, instance, **kwargs): - if instance.ready and not instance.done and instance.running==0: + if instance.ready and not instance.done and instance.running==0 and instance.pbsjob=='': if (not os.path.isdir(instance.jobdirname)): os.mkdir(instance.jobdirname) # os.chdir(instance.jobdirname) @@ -183,7 +183,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" + ' BOXZ='+str(instance.boxz) +' ' if instance.type == 'dock': - control_line = control_line+'CONSTR_HOMOL=20 ' + control_line = control_line+'CONSTR_HOMOL=24 ' if instance.md_pdbref: control_line = control_line+'pdbref ' @@ -272,7 +272,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" if instance.type == 'min' or instance.md_start == 'pdbstart': if instance.type == 'dock': - f.write('model01.pdb\n') + f.write('plik1ter.pdb\n') else: f.write('plik.pdb\n') f.write(write_ssbond(instance.ssbond)) @@ -289,7 +289,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" f.write('READ2SIGMA START_FROM_MODELS\n') for i in range(1,10): f.write('model0'+str(i)+'.pdb\n') - for i in range(10,21): + for i in range(10,25): f.write('model'+str(i)+'.pdb\n') if instance.type == 'md' and instance.md_start != 'pdbstart': @@ -408,7 +408,13 @@ CUTOFF=7.00000 WCORR4=0.00000""" f2.write(line.replace('$ssbond',tmp_ss)) elif 'cd $PBS_O_WORKDIR' in line and instance.type == 'dock': f2.write(line) - f2.write('../files/generator_v7 plik.pdb plik2.pdb\n') + if instance.dock_peptide: + f2.write('../files/generator_v13 plik.pdb plik2.pdb 1 \n') + else: + f2.write('../files/generator_v13 plik.pdb plik2.pdb 0 \n') + f2.write("sed '/END/q' plik.pdb |grep ATOM > plik1ter.pdb \n") + f2.write("echo TER >> plik1ter.pdb \n") + f2.write("sed '/END/q' plik2.pdb |grep ATOM >> plik1ter.pdb \n") else: tmp1=json.loads(instance.remd_multi_t) f2.write(line.replace('$temperatures','"'+" ".join(tmp1)+'" '+str(nreplicas))) @@ -439,7 +445,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" if instance.md_2d != '': f.write('{:79}'.format(' WITH_DIHED_CONSTR')+'&\n') if instance.type == 'dock': - f.write('{:79}'.format(' n_ene=19 CONSTR_HOMOL=20')+'&\n') + f.write('{:79}'.format(' n_ene=19 CONSTR_HOMOL=24')+'&\n') if instance.unres_ff =='NEWCT-9P': f.write('{:79}'.format('tormode=2 ')+'&\n') f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+ @@ -456,7 +462,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" f.write('READ2SIGMA \n') for i in range(1,10): f.write('model0'+str(i)+'.pdb\n') - for i in range(10,21): + for i in range(10,25): f.write('model'+str(i)+'.pdb\n') if instance.md_2d != '': @@ -497,7 +503,10 @@ CUTOFF=7.00000 WCORR4=0.00000""" f.write('file_MD000\n') if instance.md_pdbref: f.write('pdbref\n') - f.write('plik.pdb\n') + if instance.type == 'dock': + f.write('plik1ter.pdb\n') + else: + f.write('plik.pdb\n') with open(instance.jobdirname+'/file_cluster.inp','w') as f: @@ -508,7 +517,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" if instance.md_2d != '': f.write('{:79}'.format(' WITH_DIHED_CONSTR')+'&\n') if instance.type == 'dock': - f.write('{:79}'.format(' CONSTR_HOMOL=20')+'&\n') + f.write('{:79}'.format(' CONSTR_HOMOL=24')+'&\n') if instance.unres_ff =='NEWCT-9P': f.write('{:79}'.format('tormode=2 ')+'&\n') f.write('BOXX='+str(instance.boxx)+' BOXY='+str(instance.boxy)+ @@ -522,7 +531,7 @@ CUTOFF=7.00000 WCORR4=0.00000""" f.write('READ2SIGMA \n') for i in range(1,10): f.write('model0'+str(i)+'.pdb\n') - for i in range(10,21): + for i in range(10,25): f.write('model'+str(i)+'.pdb\n') if instance.md_2d != '': f.write(seq_2d_write_50(seq_2d_xx(instance.md_2d,seq))) @@ -536,14 +545,28 @@ CUTOFF=7.00000 WCORR4=0.00000""" os.chdir(instance.jobdirname) ret_code = subprocess.Popen(' /opt/torque/bin/qsub pbs8.csh', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) os.chdir('..') + + output = str(ret_code.communicate()[0]) + output=output.strip() + if output=='': + output='error' + logger.warning("PBS \"%s\" " % output) + instance.pbsjob = output + instance.save() - print ret_code.stdout.readlines() +# print ret_code.stdout.readlines() logger.warning("Dir \"%s\" has been saved." % instance.jobdirname) @receiver(post_delete, sender=Task) def delete_on_task_del(sender, instance, **kwargs): if instance.jobdirname: if os.path.isdir(instance.jobdirname): + if not instance.done: + ret_code_qdel = subprocess.Popen(' /opt/torque/bin/qdel '+str(instance.pbsjob), shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + output = str(ret_code_qdel.communicate()[0]) + output=output.strip() + logger.warning("PBS qdel \"%s\" " % instance.pbsjob) + logger.warning("QDEL \"%s\" " % output) shutil.rmtree(instance.jobdirname) logger.warning("Dir \"%s\" has been rm." % instance.jobdirname) \ No newline at end of file