X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=django_simple%2Ftodo%2Fviews.py;h=2db518664d36db39ed3ac248ba04ad93413e8b3f;hb=e859527fb1708004e7389b4e782840edcedd0376;hp=3d959f19a7cbd8184a8b3572eb0402f8a820c0b1;hpb=b016dd2317a9654a9997f747a24686b0e95d83ab;p=django_unres.git diff --git a/django_simple/todo/views.py b/django_simple/todo/views.py index 3d959f1..2db5186 100644 --- a/django_simple/todo/views.py +++ b/django_simple/todo/views.py @@ -29,6 +29,27 @@ res_codes = [ three_to_one = dict(res_codes) +def load_pdbid(pdbid,dirname): + os.mkdir(dirname) + if len(pdbid)==4: + file,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', + dirname+'/plik.pdb') + else: + chain=pdbid[5] + pdbid=pdbid[:4] + pdb_tmp=urllib.urlopen('http://files.rcsb.org/download/'+pdbid+'.pdb') + with open(dirname+'/plik.pdb', 'w') as outfile: + for line in pdb_tmp: + if line[0:6] == 'SSBOND' and line[15] == chain and line[29] == chain: + outfile.write(line) + if line[0:6] == 'ATOM ' and line[21] == chain: + outfile.write(line) + pdb_tmp.close() + file=dirname+'/plik.pdb' + + return(file) + + def seq_2d_from_pdb(seq_2d,seq): if seq_2d =='': return(seq_2d) @@ -82,7 +103,7 @@ def from_pdb(file): unres_shift = {} chain_sorted=[] newchain = True - + i='' for line in file: if line[0:6] == 'ATOM ' and line[13:15] == 'CA': aa = three_to_one.get(line[17:20]) @@ -95,7 +116,7 @@ def from_pdb(file): chain_start[ch]=i chain_sorted.extend(ch) newchain = False - if line[0:3] == 'TER': + if line[0:3] == 'TER' and i != '': sequence.append('XX') chain_end[ch]=i newchain = True @@ -171,9 +192,7 @@ def add_min(request,task_id): task.jobdirname = "_".join([basename, suffix]) if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -222,9 +241,7 @@ def add_min_a(request,task_id): pdbid=form.cleaned_data["pdbid"] if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -278,9 +295,7 @@ def add_md(request,task_id): pdbid=form.cleaned_data["pdbid"] if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -332,9 +347,7 @@ def add_md_a(request,task_id): pdbid=form.cleaned_data["pdbid"] if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -407,9 +420,7 @@ def add_remd(request,task_id): pdbid=form.cleaned_data["pdbid"] if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -453,10 +464,12 @@ def add_remd_a(request,task_id): task = get_object_or_404(Task, id=task_id) if request.method == 'POST': if '_example' in request.POST: - data= {'name':task.name,'pdbid':'1E0G','md_pdbref':True, - 'md_nstep':500000,'md_lang':'berendsen','unres_ff':'opt-wtfsa-2', - 'remd_cluter_temp':280} - form = TaskForm_remd_a(initial=data) + data= {'name':task.name,'pdbid':'5G3Q:B','md_pdbref':True, + 'md_nstep':2000000,'md_lang':'berendsen','unres_ff':'FF2', + 'remd_cluter_temp':290,'md_2d':'--EEEEEEE------EEEEEE------EEEEEE------HHHHHHHHHHH---HHHHHHHHHHHHHHHHHHHHHHH---'} + form = TaskForm_remd_a(initial=data) + task.example='casp12' + task.save() elif '_example_saxs' in request.POST: data= {'name':task.name,'pdbid':'5UJQ','md_pdbref':True, 'md_nstep':200000,'md_lang':'langevin','unres_ff':'FF2', @@ -512,9 +525,7 @@ def add_remd_a(request,task_id): pdbid=form.cleaned_data["pdbid"] if pdbid: - os.mkdir(task.jobdirname) - task.myfile1,header=urllib.urlretrieve('http://files.rcsb.org/download/'+pdbid+'.pdb', - task.jobdirname+'/plik.pdb') + task.myfile1=load_pdbid(pdbid,task.jobdirname) task.pdbcode=pdbid else: task.myfile1=form.cleaned_data["file1"] @@ -585,7 +596,13 @@ def addmlist(request,task_id): else: return redirect('/') else: - if task.unres_ff == 'FF2': + if task.example == 'casp12': + data= {'name':task.name,'nrep':task.remd_nrep,'multiplexing': + '["2", "2", "2", "2", "2", "2", "2", "2"]', + 'temperatures': + '["270", "280", "290", "300", "310", "320", "330", "340"]' + } + elif task.unres_ff == 'FF2': data= {'name':task.name,'nrep':task.remd_nrep,'multiplexing': '["1", "1", "1", "1", "1", "1", "1", "1"]', 'temperatures':