from pymol import cmd, stored, math import random fits = random.sample(range(-50,50),100) print(len(fits)) print(min(fits)) def replaceBfacts(mol,startaa=1, visual="Y"): obj=cmd.get_object_list(mol)[0] cmd.alter(mol,"b=-1.0") counter=int(startaa) for z in fits: z = float(z) cmd.alter("%s and resi %s and n. CA"%(mol,counter), "b=%s"%z) counter=counter+1 if visual=="Y": cmd.show_as("cartoon",mol) #cmd.cartoon("putty", mol) cmd.set("cartoon_putty_scale_min", min(fits),obj) cmd.set("cartoon_putty_scale_max", max(fits),obj) cmd.set("cartoon_putty_transform", 6,obj) cmd.set("cartoon_putty_radius", 3,obj) #cmd.spectrum("b","red_white_blue", "%s " %mol) cmd.spectrum("b","red_white_blue", "%s and n. CA" %mol) cmd.ramp_new("count", obj, [min(fits), 0, max(fits)], ["red","white", "blue"]) cmd.recolor() cmd.extend("replaceBfacts", replaceBfacts);