"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "modules/pymol/wizard/mutagenesis.py" between
pymol-v1.8.6.0.tar.bz2 and pymol-v2.1.0.tar.bz2

About: PyMOL is a Python-enhanced molecular graphics tool. It excels at 3D visualization of proteins, small molecules, density, surfaces, and trajectories. It also includes molecular editing, ray tracing, and movies. Open Source version.

mutagenesis.py  (pymol-v1.8.6.0.tar.bz2):mutagenesis.py  (pymol-v2.1.0.tar.bz2)
skipping to change at line 48 skipping to change at line 48
} }
class Mutagenesis(Wizard): class Mutagenesis(Wizard):
count = 0 count = 0
cutoff = 3.5 cutoff = 3.5
def __init__(self,_self=cmd): def __init__(self,_self=cmd):
Wizard.__init__(self,_self) Wizard.__init__(self,_self)
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if self.cmd.get_movie_length() > 0: if self.cmd.get_movie_length() > 0:
raise pymol.wizarding.WizardError('Mutagenesis Wizard cannot be used with Movie') raise pymol.wizarding.WizardError('Mutagenesis Wizard cannot be used with Movie')
cmd.unpick() cmd.unpick()
self.stored = pymol.Scratch_Storage() self.stored = pymol.Scratch_Storage()
self.space = {'stored': self.stored} self.space = {'stored': self.stored}
self.bump_scores = [] self.bump_scores = []
skipping to change at line 230 skipping to change at line 229
cmd.refresh_wizard() cmd.refresh_wizard()
def load_library(self): def load_library(self):
if self.dep == 'dep': if self.dep == 'dep':
if not hasattr(self,'dep_library'): if not hasattr(self,'dep_library'):
self.dep_library = io.pkl.fromFile(os.environ['PYMOL_DATA']+ self.dep_library = io.pkl.fromFile(os.environ['PYMOL_DATA']+
"/chempy/sidechains/sc_bb_dep.pkl") "/chempy/sidechains/sc_bb_dep.pkl")
def set_mode(self,mode): def set_mode(self,mode):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if mode in self.modes: if mode in self.modes:
self.mode = mode self.mode = mode
if self.status==1: if self.status==1:
self.do_library() self.do_library()
cmd.refresh_wizard() cmd.refresh_wizard()
def set_rep(self,rep): def set_rep(self,rep):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if rep in self.reps: if rep in self.reps:
self.rep=rep self.rep=rep
cmd.hide("("+obj_name+")") cmd.hide("("+obj_name+")")
cmd.show('lines',obj_name) # always show lines cmd.show('lines',obj_name) # always show lines
cmd.show(self.rep,obj_name) cmd.show(self.rep,obj_name)
cmd.refresh_wizard() cmd.refresh_wizard()
def set_c_cap(self,c_cap): def set_c_cap(self,c_cap):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if c_cap in self.c_caps: if c_cap in self.c_caps:
self.c_cap=c_cap self.c_cap=c_cap
if self.status==1: if self.status==1:
self.do_library() self.do_library()
cmd.refresh_wizard() cmd.refresh_wizard()
def set_n_cap(self,n_cap): def set_n_cap(self,n_cap):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if n_cap in self.n_caps: if n_cap in self.n_caps:
self.n_cap=n_cap self.n_cap=n_cap
if self.status==1: if self.status==1:
self.do_library() self.do_library()
cmd.refresh_wizard() cmd.refresh_wizard()
def set_hyd(self,hyd): def set_hyd(self,hyd):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if hyd in self.hyds: if hyd in self.hyds:
self.hyd=hyd self.hyd=hyd
if self.status==1: if self.status==1:
self.do_library() self.do_library()
cmd.refresh_wizard() cmd.refresh_wizard()
def set_dep(self,value): def set_dep(self,value):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if value!=self.dep: if value!=self.dep:
self.dep = value self.dep = value
self.load_library() self.load_library()
if src_sele in cmd.get_names("all"): if src_sele in cmd.get_names("all"):
self.do_library() self.do_library()
cmd.refresh_wizard() cmd.refresh_wizard()
def get_panel(self): def get_panel(self):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if int(cmd.get("mouse_selection_mode")!=1): if int(cmd.get("mouse_selection_mode")!=1):
cmd.set("mouse_selection_mode",1) cmd.set("mouse_selection_mode",1)
if self.mode == 'current': if self.mode == 'current':
label = 'No Mutation' label = 'No Mutation'
else: else:
label = 'Mutate to '+self.mode_label[self.mode] label = 'Mutate to '+self.mode_label[self.mode]
return [ return [
[ 1, 'Mutagenesis',''], [ 1, 'Mutagenesis',''],
[ 3, label,'mode'], [ 3, label,'mode'],
[ 3, 'N-Cap: '+self.n_cap_name[self.n_cap],'n_cap'], [ 3, 'N-Cap: '+self.n_cap_name[self.n_cap],'n_cap'],
skipping to change at line 311 skipping to change at line 303
[ 2, 'Apply' , 'cmd.get_wizard().apply()'], [ 2, 'Apply' , 'cmd.get_wizard().apply()'],
[ 2, 'Clear' , 'cmd.get_wizard().clear()'], [ 2, 'Clear' , 'cmd.get_wizard().clear()'],
[ 2, 'Done','cmd.set_wizard()'], [ 2, 'Done','cmd.set_wizard()'],
] ]
def get_event_mask(self): def get_event_mask(self):
return Wizard.event_mask_pick + Wizard.event_mask_select + Wizard.event_ mask_state return Wizard.event_mask_pick + Wizard.event_mask_select + Wizard.event_ mask_state
def cleanup(self): def cleanup(self):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
global default_mode,default_rep,default_dep,default_hyd global default_mode,default_rep,default_dep,default_hyd
global default_n_cap, default_c_cap global default_n_cap, default_c_cap
default_mode = self.mode default_mode = self.mode
default_rep = self.rep default_rep = self.rep
default_dep = self.dep default_dep = self.dep
default_hyd = self.hyd default_hyd = self.hyd
default_n_cap = self.n_cap default_n_cap = self.n_cap
default_c_cap = self.c_cap default_c_cap = self.c_cap
cmd.set("mouse_selection_mode",self.selection_mode) # restore selection mode cmd.set("mouse_selection_mode",self.selection_mode) # restore selection mode
self.clear() self.clear()
def clear(self): def clear(self):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
self.status=0 self.status=0
self.bump_scores = [] self.bump_scores = []
cmd.delete(tmp_obj2) cmd.delete(tmp_obj2)
cmd.delete(mut_sele) cmd.delete(mut_sele)
cmd.delete(src_sele) cmd.delete(src_sele)
cmd.delete(obj_name) cmd.delete(obj_name)
cmd.delete(bump_name) cmd.delete(bump_name)
cmd.delete("_seeker_hilight") cmd.delete("_seeker_hilight")
cmd.refresh_wizard() cmd.refresh_wizard()
def apply(self): def apply(self):
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if self.status==1: if self.status==1:
# find the name of the object which contains the selection # find the name of the object which contains the selection
src_frame = cmd.get_state() src_frame = cmd.get_state()
try: try:
new_name = cmd.get_object_list(src_sele)[0] new_name = cmd.get_object_list(src_sele)[0]
except IndexError: except IndexError:
print(" Mutagenesis: object not found.") print(" Mutagenesis: object not found.")
return return
if True: if True:
skipping to change at line 476 skipping to change at line 465
# use N-terminal fragment # use N-terminal fragment
frag_type ="NT_"+frag_type frag_type ="NT_"+frag_type
if (self.c_cap == 'nega') and (frag_type[0:3]!='CT_'): if (self.c_cap == 'nega') and (frag_type[0:3]!='CT_'):
if not ( cmd.count_atoms("elem N & !(%s) & (bto. (name C & (%s)) ) & !resn NME+NHH"% if not ( cmd.count_atoms("elem N & !(%s) & (bto. (name C & (%s)) ) & !resn NME+NHH"%
(src_sele,src_sele))): (src_sele,src_sele))):
# use C-terminal fragment # use C-terminal fragment
frag_type ="CT_"+frag_type frag_type ="CT_"+frag_type
if rot_type[0:3] in [ 'NT_', 'CT_' ]: if rot_type[0:3] in [ 'NT_', 'CT_' ]:
rot_type = rot_type[3:] rot_type = rot_type[3:]
rot_type = _rot_type_xref.get(rot_type, rot_type) rot_type = _rot_type_xref.get(rot_type, rot_type)
cmd.fragment(frag_type.lower(), frag_name) cmd.fragment(frag_type.lower(), frag_name, origin=0)
# trim off hydrogens # trim off hydrogens
if (self.hyd == 'none'): if (self.hyd == 'none'):
cmd.remove("("+frag_name+" and hydro)") cmd.remove("("+frag_name+" and hydro)")
elif (self.hyd == 'auto'): elif (self.hyd == 'auto'):
if cmd.count_atoms("("+src_sele+") and hydro")==0: if cmd.count_atoms("("+src_sele+") and hydro")==0:
cmd.remove("("+frag_name+" and hydro)") cmd.remove("("+frag_name+" and hydro)")
# copy identifying information # copy identifying information
cmd.alter("?%s & name CA" % src_sele, "stored.identifiers = (segi, c hain, resi, ss, color)", space=self.space) cmd.alter("?%s & name CA" % src_sele, "stored.identifiers = (segi, c hain, resi, ss, color)", space=self.space)
cmd.alter("?%s" % frag_name, "(segi, chain, resi, ss) = stored.ident ifiers[:4]", space=self.space) cmd.alter("?%s" % frag_name, "(segi, chain, resi, ss) = stored.ident ifiers[:4]", space=self.space)
# move the fragment # move the fragment
skipping to change at line 694 skipping to change at line 683
if (bump_name in names) and (obj_name in names): if (bump_name in names) and (obj_name in names):
cmd.update(bump_name,obj_name) cmd.update(bump_name,obj_name)
if self.bump_scores: if self.bump_scores:
state = cmd.get_state() state = cmd.get_state()
print(' Rotamer %d/%d, strain=%.2f' % (state, print(' Rotamer %d/%d, strain=%.2f' % (state,
cmd.count_states(obj_name), self.bump_scores[state - 1])) cmd.count_states(obj_name), self.bump_scores[state - 1]))
def do_select(self,selection): def do_select(self,selection):
print("Selected!") print("Selected!")
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if (obj_name in cmd.get_names()): if (obj_name in cmd.get_names()):
if cmd.count_atoms("(%s) and (%s)"%(obj_name,selection)): if cmd.count_atoms("(%s) and (%s)"%(obj_name,selection)):
cmd.deselect() cmd.deselect()
return 1 return 1
if self.status!=0: if self.status!=0:
cmd.delete(obj_name) cmd.delete(obj_name)
cmd.select(src_sele,selection) cmd.select(src_sele,selection)
cmd.unpick() cmd.unpick()
cmd.enable(src_sele) cmd.enable(src_sele)
self.status = 1 self.status = 1
self.error = None self.error = None
self.do_library() self.do_library()
cmd.delete(selection) cmd.delete(selection)
cmd.refresh_wizard() cmd.refresh_wizard()
cmd.deselect() cmd.deselect()
return 1 return 1
def do_pick(self,bondFlag): def do_pick(self,bondFlag):
print("Picked!") print("Picked!")
cmd=self.cmd cmd=self.cmd
pymol=cmd._pymol
if bondFlag: if bondFlag:
self.error = "Error: please select an atom, not a bond." self.error = "Error: please select an atom, not a bond."
print(self.error) print(self.error)
else: else:
if self.status!=0: if self.status!=0:
cmd.delete(obj_name) cmd.delete(obj_name)
cmd.select(src_sele,"(byres pk1)") cmd.select(src_sele,"(byres pk1)")
cmd.unpick() cmd.unpick()
cmd.enable(src_sele) cmd.enable(src_sele)
self.status = 1 self.status = 1
 End of changes. 14 change blocks. 
14 lines changed or deleted 1 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)