unres paper list update
[django_unres.git] / files / fluct.py
1 from pymol import cmd, stored, math
2 import time
3
4 with open('plik.pdb') as f, open('plik1.pdb', 'w') as f1:
5    prev_ires=None
6    ires = 0
7    for line in f:
8      if line[0:6] == 'ATOM  ':
9        if line[22:26] != prev_ires:
10          prev_ires=line[22:26]
11          ires += 1
12        f1.write(line[:22]+str(ires).rjust(4)+line[26:])
13      elif line[0:3] == 'TER':
14        f1.write(line)
15
16 cmd.load('plik1.pdb')
17 mol='plik1'
18 obj=cmd.get_object_list(mol)[0]
19 inFile = open('fluctuations.txt', 'r')
20
21 cmd.iterate("first %s and polymer and n. CA" % mol,"stored.first=resv")
22 counter=stored.first
23
24 bfacts=[]
25 for line in inFile.readlines(): 
26    bfact=float(line)
27    bfacts.append(bfact)
28    cmd.alter("%s and resi %s and n. CA"%(mol,counter), "b=%s"%bfact)
29    counter=counter+1 
30
31 #cmd.hide("all")
32 #cmd.show_as("stick", "name ca")
33
34 cmd.show_as("cartoon",mol)
35 cmd.cartoon("putty", mol)
36 cmd.show("sticks","(cys/ca+cb+sg) and byres (cys/sg and bound_to cys/sg)")
37 cmd.set("cartoon_putty_scale_min", min(bfacts),obj)
38 cmd.set("cartoon_putty_scale_max", max(bfacts),obj)
39 cmd.set("cartoon_putty_transform", 7,obj)
40 cmd.set("cartoon_putty_radius", 0.3,obj)
41
42 cmd.spectrum("b","rainbow", "%s and n. CA " %mol)
43 cmd.ramp_new("count", obj, [min(bfacts), max(bfacts)], "rainbow")
44 cmd.recolor()
45 cmd.bg_color("white")
46 #cmd.zoom("all",7)
47 #cmd.set("all_states","on")
48 cmd.save("fluct.pse")
49 cmd.png("fluct.png",500,400,ray=1)
50 cmd.quit()
51
52