X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=qcg%2Fviews.py;h=073c08b4d2515ce958da8b952c8a63c949fe9671;hb=9f0267486fef6a929c431db5cb76a36e2f93ed54;hp=a45969479824212cb6f027c66c532085c85d0145;hpb=5e1c3d729bd5bb38ce285159d8df8ca696670094;p=qcg-portal.git diff --git a/qcg/views.py b/qcg/views.py index a459694..073c08b 100644 --- a/qcg/views.py +++ b/qcg/views.py @@ -23,7 +23,7 @@ from filex.ftp import FTPOperation, FTPError from filex.views import make_url from qcg.forms import FiltersForm, ColumnsForm, JobDescriptionForm, EnvFormSet, JobTemplateForm from qcg.models import JobTemplate -from qcg.utils import paginator_context, to_job_desc, to_form_data +from qcg.utils import paginator_context, to_job_desc, to_form_data, generate_md_inputfile from qcg.service import update_user_data, update_job, cancel, clean @@ -194,44 +194,7 @@ def process_details(request, job, task=None): return {'job': job, 'task': task, 'form': form, 'env_formset': env_formset, 'template_form': template_form} -def generate_md_inputfile(params): - md_input = list() - # Opis pliku wyjsciowego - opis=params['note'][:80] - md_input.append(encoding.smart_str(opis, encoding='ascii', errors='ignore')) - # Dane kontrolne obliczeń - md_input.append('SEED=-3059743 PDBREF MD EXTCONF RESCALE_MODE=2') - ctl_data='nstep='+str(params['nstep'])+' ntwe='+str(params['ntwe']) - ctl_data+=' ntwx='+str(params['ntwx'])+' dt='+str(params['dt'])+' damax='+str(params['damax'])+'lang=0 tbf' - md_input.append('{:<79}&'.format(ctl_data)) - md_input.append('tau_bath=1.0 t_bath=300 reset_vel=10000 respa ntime_split=1 maxtime_split=512') - # Paramatry pól siłowych - if params['force_field'] == 'GAB': - # Wagi pola GAB - md_input.append('WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873 &') - md_input.append('WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000 &') - md_input.append('WCORR6=0.00000 WEL_LOC=0.16036 WTURN3=1.68722 WTURN4=0.66230 WTURN6=0.00000 &') - md_input.append('WVDWPP=0.11371 WHPB=1.00000 &') - md_input.append('CUTOFF=7.00000 WCORR4=0.00000 WSCCOR=0.0') - else: - # Wagi pola E0LLY - md_input.append('WLONG=1.00000 WSCP=1.23315 WELEC=0.84476 WBOND=1.00000 WANG=0.62954 &') - md_input.append('WSCLOC=0.10554 WTOR=1.84316 WTORD=1.26571 WCORRH=0.19212 WCORR5=0.00000 &') - md_input.append('WCORR6=0.00000 WEL_LOC=0.37357 WTURN3=1.40323 WTURN4=0.64673 WTURN6=0.00000 &') - md_input.append('WVDWPP=0.23173 WHPB=1.00000 WSCCOR=0.0 &') - md_input.append('CUTOFF=7.00000 WCORR4=0.00000') - # Plik PDB - md_input.append(params['pdb_file'].split('/')[-1]) - # Sekwencja aminokwasów - md_input.append(len(params['sequence'])) - seq_str=params['sequence'] - while seq_str: - md_input.append(seq_str[:80]) - seq_str=seq_str[80:] - md_input.append(' 0') - md_input.append(' 0') - - return md_input + def id_generator(size=6, chars=string.ascii_uppercase + string.digits): @@ -262,6 +225,7 @@ def job_submit(request, template_id=None): md_input=generate_md_inputfile(params) url=os.path.splitext(params['pdb_file'])[0]+'_MD_genarated.inp' params['master_file']=url + params['stage_in'].append(params['pdb_file']) # Upload ftp = FTPOperation(request.session['proxy']) ftp.put(url) @@ -270,13 +234,12 @@ def job_submit(request, template_id=None): ftp.stream.put(None) ftp.wait() - params['persistent'] = True # Debugging parametrów - #pprint(params) - + # pprint(params) job_desc = to_job_desc(params, request.session['proxy']) + if save_template: template = template_form.save(commit=False) @@ -287,6 +250,7 @@ def job_submit(request, template_id=None): return redirect(template) # wyłączenie wysyłania zadania - zakomentować poniżej + job = job_desc.submit() messages.success(request,