X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=django_simple%2Ftodo%2Fviews.py;h=9c4f9ea768e02f2d1b4757f632f82c359fca2177;hb=c00096d4052916089e8da3def7188432fe94820e;hp=9e623dd2893a42cba7a69679db34565fdb2cd81b;hpb=574432c5c3b1611eaff016a81a4b6375be2578b8;p=django_unres.git diff --git a/django_simple/todo/views.py b/django_simple/todo/views.py index 9e623dd..9c4f9ea 100644 --- a/django_simple/todo/views.py +++ b/django_simple/todo/views.py @@ -30,6 +30,29 @@ res_codes = [ three_to_one = dict(res_codes) +def dock_box(file): + import math + coord = list() + for line in file: + if line[0:6] == 'ATOM ' and line[13:15] == 'CA': + x=float(line[30:38]) + y=float(line[38:46]) + z=float(line[46:54]) + coord.append([x, y, z]) + if line[0:3] == 'END': + break + maxd=0 + l=len(coord) + for i in xrange(l): + for j in xrange(i+1,l): + p1=coord[i] + p2=coord[j] + d=(p1[0]-p2[0])**2 + (p1[1]-p2[1])**2 + (p1[2]-p2[2])**2 + if d > maxd: + maxd=d + return math.sqrt(maxd) + + def load_pdbid(pdbid,dirname,filename='plik.pdb'): if (not os.path.isdir(dirname)): os.mkdir(dirname) @@ -750,6 +773,7 @@ def add_dock(request,task_id): task.md_pdbref=True task.md_respa=False task.ssbond="" + task.dock_peptide=form.cleaned_data["dock_peptide"] task.md_seq="" @@ -775,8 +799,14 @@ def add_dock(request,task_id): task.md_respa=False task.damino=True - + box1=dock_box(task.myfile1) + box2=dock_box(task.myfile2) + task.boxx=(box1+box2)*1.2+20 + task.boxy=(box1+box2)*1.2+20 + task.boxz=(box1+box2)*1.2+20 + task.ready=True + task.save() @@ -827,6 +857,7 @@ def add_dock_a(request,task_id): task.md_pdbref=True task.md_respa=False task.ssbond="" + task.dock_peptide=form.cleaned_data["dock_peptide"] task.md_seq="" @@ -865,10 +896,12 @@ def add_dock_a(request,task_id): task.md_respa=False task.damino=True + box1=dock_box(task.myfile1) + box2=dock_box(task.myfile2) + task.boxx=(box1+box2)*1.2+20 + task.boxy=(box1+box2)*1.2+20 + task.boxz=(box1+box2)*1.2+20 - task.ready=True - - task.save() return redirect('addmlist',task_id=task.id) @@ -1139,14 +1172,14 @@ def refresh_done0(task): text=' Fnat='+line.split()[1] if 'iRMS' in line: text=text+' iRMS='+line.split()[1] - if 'LRMS=' in line: + if 'LRMS' in line: text=text+' LRMS='+line.split()[1] - if 'CAPRI' in line: - text=text+' CAPRI'+line.split()[1] + if 'CAPRI' in line and not 'DockQ_CAPRI' in line: + text=text+' CAPRI='+line.split()[1] if 'DockQ_CAPRI' in line: - text=text+' DockQ_CAPRI'+line.split()[1] + text=text+' DockQ_CAPRI= '+line.split()[1] if 'DockQ ' in line: - text=text+' DockQ'+line.split()[1] + text=text+' DockQ='+line.split()[1] if i==1: task.remd_model1=task.remd_model1+text