Changeset 3682
- Timestamp:
- Oct 18, 2018 3:01:22 PM (4 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIdataGUI.py
r3681 r3682 4883 4883 # Restraints 4884 4884 G2G.Define_wxId('wxID_RESTRAINTADD', 'wxID_RESTDELETE', 'wxID_RESRCHANGEVAL', 4885 'wxID_RESTCHANGEESD', 'wxID_AARESTRAINTADD', 'wxID_AARESTRAINTPLOT', )4885 'wxID_RESTCHANGEESD', 'wxID_AARESTRAINTADD', 'wxID_AARESTRAINTPLOT','wxID_USEMOGUL') 4886 4886 self.RestraintTab = wx.Menu(title='') 4887 4887 self.RestraintEdit = wx.Menu(title='') … … 4891 4891 'Add residue based restraints for macromolecules from macro file') 4892 4892 self.RestraintEdit.Enable(G2G.wxID_AARESTRAINTADD,False) #gets enabled if macromolecule phase 4893 self.RestraintEdit.Append(G2G.wxID_USEMOGUL,'Add MOGUL restraints', 4894 'Add restraints from MOGUL csv file') 4895 self.RestraintEdit.Enable(G2G.wxID_USEMOGUL,False) #gets enabled if bonds or angles 4893 4896 self.RestraintEdit.Append(G2G.wxID_AARESTRAINTPLOT,'Plot residue restraints', 4894 4897 'Plot selected residue based restraints for macromolecules from macro file') -
trunk/GSASIIphsGUI.py
r3681 r3682 1979 1979 try: 1980 1980 SSymbol = superGp.GetValue() 1981 refresh = True 1981 1982 except AttributeError: 1982 1983 SSymbol = superGp.GetLabel() 1984 refresh = False 1983 1985 SSGData = generalData['SSGData'] 1984 1986 if not generalData['SGData']['SGFixed']: … … 2000 2002 Text = '\n'.join(text) 2001 2003 wx.MessageBox(Text,caption=msg,style=Style) 2002 wx.CallAfter(UpdateGeneral)2004 if refresh: wx.CallAfter(UpdateGeneral) 2003 2005 2004 2006 def OnVecRef(event): -
trunk/GSASIIrestrGUI.py
r3588 r3682 78 78 return macro #advanced past 1st line 79 79 80 def getMOGULFile(): 81 dlg = wx.FileDialog(G2frame,message='Choose MOGUL csv file', 82 defaultDir='.',defaultFile="",wildcard="MOGUL csv file (*.csv)|*.csv", 83 style=wx.FD_OPEN | wx.FD_CHANGE_DIR) 84 try: 85 mogul = '' 86 if dlg.ShowModal() == wx.ID_OK: 87 csvfile = dlg.GetPath() 88 mogul = open(csvfile,'Ur') 89 head = mogul.readline() 90 if 'Type' not in head: 91 print (head) 92 print ('**** ERROR - not a MOGUL csv file selected, try again ****') 93 mogul = [] 94 finally: 95 dlg.Destroy() 96 return mogul #advanced past 1st line 97 80 98 def OnPlotAARestraint(event): 81 99 page = G2frame.restrBook.GetSelection() … … 161 179 elif 'Rama' in G2frame.restrBook.GetPageText(page): 162 180 AddAARamaRestraint(restrData['Rama']) 181 182 def OnUseMogul(event): 183 page = G2frame.restrBook.GetSelection() 184 if 'Bond' in G2frame.restrBook.GetPageText(page): 185 AddMogulBondRestraint(restrData['Bond']) 186 elif 'Angle' in G2frame.restrBook.GetPageText(page): 187 AddMogulAngleRestraint(restrData['Angle']) 163 188 164 189 def makeChains(Names,Ids): … … 244 269 if not macro: 245 270 return 246 # Chains = makeChains(Names,Ids)247 271 macStr = macro.readline() 248 272 atoms = zip(Names,Coords,Ids) … … 286 310 macro.close() 287 311 print(' Found %d bond restraints'%len(bondRestData['Bonds'])) 288 UpdateBondRestr(bondRestData) 312 UpdateBondRestr(bondRestData) 313 314 def AddMogulBondRestraint(bondRestData): 315 mogul = getMOGULFile() 316 for line in mogul: 317 items = line.split(',') 318 if 'bond' == items[0]: 319 oName,tName = items[2].split() 320 oInd = Names.index(oName) 321 tInd = Names.index(tName) 322 if items[3] != 'No hits': 323 dist = float(items[6]) 324 esd = float(items[7]) 325 else: 326 dist = float(items[5]) 327 esd = 0.02 328 newBond = [[Ids[oInd],Ids[tInd]],['1','1'],dist,esd] 329 if newBond not in bondRestData['Bonds']: 330 bondRestData['Bonds'].append(newBond) 331 UpdateBondRestr(bondRestData) 289 332 290 333 def AddAngleRestraint(angleRestData): … … 422 465 UpdateAngleRestr(angleRestData) 423 466 467 def AddMogulAngleRestraint(angleRestData): 468 mogul = getMOGULFile() 469 for line in mogul: 470 items = line.split(',') 471 if 'angle' == items[0]: 472 aName,bName,cName = items[2].split() 473 aInd = Names.index(aName) 474 bInd = Names.index(bName) 475 cInd = Names.index(cName) 476 if items[3] != 'No hits': 477 angle = float(items[6]) 478 esd = float(items[7]) 479 else: 480 angle = float(items[5]) 481 esd = 2.00 482 newAngle = [[Ids[aInd],Ids[bInd],Ids[cInd]],['1','1','1'],angle,esd] 483 if newAngle not in angleRestData['Angles']: 484 angleRestData['Angles'].append(newAngle) 485 UpdateAngleRestr(angleRestData) 486 424 487 def AddPlaneRestraint(restrData): 425 488 ids = [] … … 1772 1835 text = G2frame.restrBook.GetPageText(page) 1773 1836 G2frame.dataWindow.RestraintEdit.SetLabel(G2G.wxID_RESRCHANGEVAL,'Change value') 1837 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_USEMOGUL,False) 1774 1838 if text == 'Bond': 1775 1839 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.RestraintMenu) 1776 1840 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_RESTRAINTADD,True) 1777 1841 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_RESRCHANGEVAL,True) 1842 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_USEMOGUL,True) 1778 1843 bondRestData = restrData['Bond'] 1779 1844 UpdateBondRestr(bondRestData) … … 1782 1847 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_RESTRAINTADD,True) 1783 1848 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_RESRCHANGEVAL,True) 1849 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_USEMOGUL,True) 1784 1850 angleRestData = restrData['Angle'] 1785 1851 UpdateAngleRestr(angleRestData) … … 1907 1973 G2gd.SetDataMenuBar(G2frame,G2frame.dataWindow.RestraintMenu) 1908 1974 G2frame.Bind(wx.EVT_MENU, OnAddRestraint, id=G2G.wxID_RESTRAINTADD) 1975 G2frame.Bind(wx.EVT_MENU, OnUseMogul, id=G2G.wxID_USEMOGUL) 1976 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_USEMOGUL,True) 1909 1977 if 'macro' in phasedata['General']['Type']: 1910 1978 G2frame.dataWindow.RestraintEdit.Enable(G2G.wxID_AARESTRAINTADD,True)
Note: See TracChangeset
for help on using the changeset viewer.