Changeset 836
- Timestamp:
- Jan 21, 2013 10:59:15 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASIIconstrGUI.py ¶
r835 r836 629 629 630 630 Indx = {} 631 plotDefaults = {'oldxy':[0.,0.],'Quaternion':[1.,0.,0.,0.],'cameraPos': 20.,'viewDir':[0,0,1],}631 plotDefaults = {'oldxy':[0.,0.],'Quaternion':[1.,0.,0.,0.],'cameraPos':30.,'viewDir':[0,0,1],} 632 632 633 633 def OnPageChanged(event): … … 703 703 while macStr: 704 704 items = macStr.split() 705 print items706 705 if 'I' == items[0]: 707 706 rbId = ran.randint(0,sys.maxint) … … 715 714 macStr = macro.readline().split() 716 715 atName = macStr[0] 716 atType = macStr[1] 717 717 atNames.append(atName) 718 rbXYZ.append([float(macStr[i]) for i in [ 1,2,3]])719 atNames.append(atName[0]) #might not always work720 if at Name[0]not in AtInfo:721 Info = G2elem.GetAtomInfo(at Name[0])722 AtInfo[at Name[0]] = [Info['Drad'],Info['Color']]718 rbXYZ.append([float(macStr[i]) for i in [2,3,4]]) 719 rbTypes.append(atType) 720 if atType not in AtInfo: 721 Info = G2elem.GetAtomInfo(atType) 722 AtInfo[atType] = [Info['Drad'],Info['Color']] 723 723 rbXYZ = np.array(rbXYZ)-np.array(rbXYZ[nOrig-1]) 724 724 for iSeq in range(nSeq): … … 730 730 iBeg = int(macStr[0])-1 731 731 iFin = int(macStr[1])-1 732 angle = 0.0 732 733 nMove = int(macStr[2]) 733 iMove = [int(macStr[i]) for i in range(3,nMove+3)]734 rbseq.append([iBeg,iFin, iMove])734 iMove = [int(macStr[i])-1 for i in range(3,nMove+3)] 735 rbseq.append([iBeg,iFin,angle,iMove]) 735 736 rbSeq.append(rbseq) 736 737 data['Residue'][rbId] = {'RBname':rbName,'rbXYZ':rbXYZ,'rbTypes':rbTypes, 737 'atNames':atNames,'rbRef':[nOrig-1,mRef-1,nRef-1],'rbSeq':rbSeq} 738 'atNames':atNames,'rbRef':[nOrig-1,mRef-1,nRef-1],'rbSeq':rbSeq,'SelSeq':[0,0,0]} 739 print 'Residue '+rbName+' added' 738 740 macStr = macro.readline() 739 741 macro.close() 742 UpdateResidueRB() 740 743 741 744 def AddZMatrixRB(): … … 868 871 for col in [4,5,6]: 869 872 vecGrid.SetCellStyle(row,col,VERY_LIGHT_GREY,True) 873 vecGrid.SetMargins(0,0) 874 vecGrid.AutoSizeColumns(False) 870 875 vecSizer.Add(vecGrid) 871 876 return vecSizer … … 895 900 896 901 def UpdateResidueRB(): 902 AtInfo = data['Residue']['AtInfo'] 903 Indx = {} 904 905 def rbNameSizer(rbId,rbData): 906 907 def OnRBName(event): 908 Obj = event.GetEventObject() 909 rbId = Indx[Obj.GetId()] 910 rbData['RBname'] = Obj.GetValue() 911 912 def OnDelRB(event): 913 Obj = event.GetEventObject() 914 rbId = Indx[Obj.GetId()] 915 del data['Residue'][rbId] 916 wx.CallAfter(UpdateResidueRB) 917 918 def OnPlotRB(event): 919 Obj = event.GetEventObject() 920 rbId = Indx[Obj.GetId()] 921 Obj.SetValue(False) 922 G2plt.PlotRigidBody(G2frame,'Residue',AtInfo,rbData,plotDefaults) 923 924 nameSizer = wx.BoxSizer(wx.HORIZONTAL) 925 nameSizer.Add(wx.StaticText(ResidueRBDisplay,-1,'Residue name: '), 926 0,wx.ALIGN_CENTER_VERTICAL) 927 RBname = wx.TextCtrl(ResidueRBDisplay,-1,rbData['RBname']) 928 Indx[RBname.GetId()] = rbId 929 RBname.Bind(wx.EVT_TEXT_ENTER,OnRBName) 930 RBname.Bind(wx.EVT_KILL_FOCUS,OnRBName) 931 nameSizer.Add(RBname,0,wx.ALIGN_CENTER_VERTICAL) 932 nameSizer.Add((5,0),) 933 plotRB = wx.CheckBox(ResidueRBDisplay,-1,'Plot?') 934 Indx[plotRB.GetId()] = rbId 935 plotRB.Bind(wx.EVT_CHECKBOX,OnPlotRB) 936 nameSizer.Add(plotRB,0,wx.ALIGN_CENTER_VERTICAL) 937 nameSizer.Add((5,0),) 938 delRB = wx.CheckBox(ResidueRBDisplay,-1,'Delete?') 939 Indx[delRB.GetId()] = rbId 940 delRB.Bind(wx.EVT_CHECKBOX,OnDelRB) 941 nameSizer.Add(delRB,0,wx.ALIGN_CENTER_VERTICAL) 942 return nameSizer 943 944 def rbResidues(rbId,XYZ,rbData): 945 946 def TypeSelect(event): 947 AtInfo = data['Residue']['AtInfo'] 948 r,c = event.GetRow(),event.GetCol() 949 if vecGrid.GetColLabelValue(c) == 'Type': 950 PE = G2elemGUI.PickElement(G2frame,oneOnly=True) 951 if PE.ShowModal() == wx.ID_OK: 952 if PE.Elem != 'None': 953 El = PE.Elem.strip().lower().capitalize() 954 if El not in AtInfo: 955 Info = G2elem.GetAtomInfo(El) 956 AtInfo[El] = [Info['Drad']['Color']] 957 rbData['rbTypes'][r] = El 958 vecGrid.SetCellValue(r,c,El) 959 PE.Destroy() 960 961 def ChangeCell(event): 962 r,c = event.GetRow(),event.GetCol() 963 if r >= 0 and (0 <= c < 3): 964 try: 965 val = float(vecGrid.GetCellValue(r,c)) 966 rbData['rbVect'][imag][r][c] = val 967 except ValueError: 968 pass 969 970 vecSizer = wx.BoxSizer() 971 Types = 2*[wg.GRID_VALUE_STRING,]+3*[wg.GRID_VALUE_FLOAT+':10,5',] 972 colLabels = ['Name','Type','Cart x','Cart y','Cart z'] 973 table = [] 974 rowLabels = [] 975 for ivec,xyz in enumerate(rbData['rbXYZ']): 976 table.append([rbData['atNames'][ivec],]+[rbData['rbTypes'][ivec],]+list(xyz)) 977 rowLabels.append(str(ivec)) 978 vecTable = G2gd.Table(table,rowLabels=rowLabels,colLabels=colLabels,types=Types) 979 vecGrid = G2gd.GSGrid(ResidueRBDisplay) 980 vecGrid.SetTable(vecTable, True) 981 vecGrid.Bind(wg.EVT_GRID_CELL_CHANGE, ChangeCell) 982 vecGrid.Bind(wg.EVT_GRID_CELL_LEFT_DCLICK, TypeSelect) 983 attr = wx.grid.GridCellAttr() 984 attr.SetEditor(G2phG.GridFractionEditor(vecGrid)) 985 for c in range(3): 986 vecGrid.SetColAttr(c, attr) 987 for row in range(vecTable.GetNumberRows()): 988 for col in [4,5,6]: 989 vecGrid.SetCellStyle(row,col,VERY_LIGHT_GREY,True) 990 vecGrid.SetMargins(0,0) 991 vecGrid.AutoSizeColumns(False) 992 vecSizer.Add(vecGrid) 993 return vecSizer 994 995 def SeqSizer(angSlide,rbId,iSeq,Seq,atNames): 996 997 def ChangeAngle(event): 998 Obj = event.GetEventObject() 999 rbId,iSeq,iseq,Seq = Indx[Obj.GetId()] 1000 val = Seq[iseq][2] 1001 try: 1002 val = float(Obj.GetValue()) 1003 Seq[iseq][2] = val 1004 except ValueError: 1005 pass 1006 Obj.SetValue('%8.2f'%(val)) 1007 G2plt.PlotRigidBody(G2frame,'Residue',AtInfo,data['Residue'][rbId],plotDefaults) 1008 1009 def OnRadBtn(event): 1010 Obj = event.GetEventObject() 1011 isel,Seq,iSeq,ang = Indx[Obj.GetId()] 1012 data['Residue'][rbId]['SelSeq'] = [iSeq,isel,ang] 1013 angSlide.SetValue(int(100*Seq[isel][2])) 1014 1015 seqSizer = wx.FlexGridSizer(0,4,2,2) 1016 seqSizer.AddGrowableCol(3,0) 1017 for isel,sel in enumerate(Seq): 1018 iBeg,iFin,angle,iMove = sel 1019 ang = wx.TextCtrl(ResidueRBDisplay,-1,'%8.2f'%(angle),size=(50,20)) 1020 if not iSeq: 1021 radBt = wx.RadioButton(ResidueRBDisplay,-1,'',style=wx.RB_GROUP) 1022 data['Residue'][rbId]['SelSeq'] = [iSeq,isel,ang] 1023 else: 1024 radBt = wx.RadioButton(ResidueRBDisplay,-1,'') 1025 radBt.Bind(wx.EVT_RADIOBUTTON,OnRadBtn) 1026 seqSizer.Add(radBt) 1027 bond = wx.TextCtrl(ResidueRBDisplay,-1,'%s %s'%(atNames[iBeg],atNames[iFin]),size=(50,20)) 1028 seqSizer.Add(bond,0,wx.ALIGN_CENTER_VERTICAL) 1029 Indx[radBt.GetId()] = [isel,Seq,iSeq,ang] 1030 Indx[ang.GetId()] = [rbId,iSeq,isel,Seq] 1031 ang.Bind(wx.EVT_TEXT_ENTER,ChangeAngle) 1032 ang.Bind(wx.EVT_KILL_FOCUS,ChangeAngle) 1033 seqSizer.Add(ang,0,wx.ALIGN_CENTER_VERTICAL) 1034 atms = '' 1035 for i in iMove: 1036 atms += ' %s,'%(atNames[i]) 1037 moves = wx.TextCtrl(ResidueRBDisplay,-1,atms[:-1],size=(200,20)) 1038 seqSizer.Add(moves,1,wx.ALIGN_CENTER_VERTICAL|wx.EXPAND|wx.RIGHT) 1039 return seqSizer 1040 1041 def SlideSizer(): 1042 1043 def OnSlider(event): 1044 Obj = event.GetEventObject() 1045 rbData = Indx[Obj.GetId()] 1046 iSeq,isel,ang = rbData['SelSeq'] 1047 val = float(Obj.GetValue())/100. 1048 rbData['rbSeq'][iSeq][isel][2] = val 1049 ang.SetValue('%8.2f'%(val)) 1050 G2plt.PlotRigidBody(G2frame,'Residue',AtInfo,rbData,plotDefaults) 1051 1052 slideSizer = wx.BoxSizer(wx.HORIZONTAL) 1053 slideSizer.Add(wx.StaticText(ResidueRBDisplay,-1,'Selected torsion angle:'),0) 1054 iSeq,isel,ang = rbData['SelSeq'] 1055 angSlide = wx.Slider(ResidueRBDisplay,-1, 1056 int(100*rbData['rbSeq'][iSeq][isel][2]),0,36000,size=(200,20), 1057 style=wx.SL_HORIZONTAL) 1058 angSlide.Bind(wx.EVT_SLIDER, OnSlider) 1059 Indx[angSlide.GetId()] = rbData 1060 slideSizer.Add(angSlide,0) 1061 return slideSizer,angSlide 1062 897 1063 ResidueRB.DestroyChildren() 898 1064 ResidueRBDisplay = wx.Panel(ResidueRB) 899 1065 ResidueRBSizer = wx.BoxSizer(wx.VERTICAL) 900 ResidueRBSizer.Add((5,5),0) 901 # VectorRBSizer.Add(ConstSizer('Phase',PhaseDisplay)) 1066 rbKeys = data['Residue'].keys() 1067 rbKeys.remove('AtInfo') 1068 rbNames = [data['Residue'][k]['RBname'] for k in rbKeys] 1069 rbIds = dict(zip(rbNames,rbKeys)) 1070 rbNames.sort() 1071 for name in rbNames: 1072 rbId = rbIds[name] 1073 rbData = data['Residue'][rbId] 1074 ResidueRBSizer.Add(rbNameSizer(rbId,rbData),0) 1075 XYZ = np.array([[0.,0.,0.] for Ty in rbData['rbTypes']]) 1076 ResidueRBSizer.Add(rbResidues(rbId,XYZ,rbData),0) 1077 ResidueRBSizer.Add((5,5),0) 1078 slideSizer,angSlide = SlideSizer() 1079 for iSeq,Seq in enumerate(rbData['rbSeq']): 1080 ResidueRBSizer.Add(wx.StaticText(ResidueRBDisplay,-1,'Seq: %d'%(iSeq)), 1081 0,wx.ALIGN_CENTER_VERTICAL) 1082 ResidueRBSizer.Add(wx.StaticText(ResidueRBDisplay,-1, 1083 'Sel Bond Angle Riding atoms'), 1084 0,wx.ALIGN_CENTER_VERTICAL) 1085 ResidueRBSizer.Add(SeqSizer(angSlide,rbId,iSeq,Seq,rbData['atNames'])) 1086 ResidueRBSizer.Add(slideSizer,) 1087 ResidueRBSizer.Add((5,25),) 902 1088 ResidueRBSizer.Layout() 903 1089 ResidueRBDisplay.SetSizer(ResidueRBSizer,True) … … 907 1093 ResidueRBDisplay.SetSize(Size) 908 1094 ResidueRB.SetScrollbars(10,10,Size[0]/10-4,Size[1]/10-1) 909 # Size[1] = min(Size[1],250)910 1095 G2frame.dataFrame.setSizePosLeft(Size) 911 1096 -
TabularUnified trunk/GSASIImacros/residue-rb.mac ¶
r835 r836 1 1 !standard amino acid flexible rigid body models - Engh & Huber 2 2 I ALA 5 1 2 1 3 3 N 1.181 0.790 -0.0434 CA 0.017 -0.069 0.1435 C 0.143 -0.898 1.4176 O -0.834 -1.095 2.1397 CB -0.173 -0.973 -1.0653 N N 1.181 0.790 -0.043 4 CA C 0.017 -0.069 0.143 5 C C 0.143 -0.898 1.417 6 O O -0.834 -1.095 2.139 7 CB C -0.173 -0.973 -1.065 8 8 1 9 9 2 3 1 4 10 10 I ARG 11 2 2 1 3 11 N 0.731 -1.155 -0.50912 CA 0.002 -0.007 0.01713 C -1.472 -0.337 0.22514 O -2.037 -0.056 1.28215 CB 0.144 1.194 -0.92116 CG 1.557 1.750 -1.00817 CD 1.637 2.901 -1.99618 NE 2.982 3.466 -2.07119 CZ 3.323 4.481 -2.85720 NH1 2.417 5.048 -3.64321 NH2 4.571 4.931 -2.85911 N N 0.731 -1.155 -0.509 12 CA C 0.002 -0.007 0.017 13 C C -1.472 -0.337 0.225 14 O O -2.037 -0.056 1.282 15 CB C 0.144 1.194 -0.921 16 CG C 1.557 1.750 -1.008 17 CD C 1.637 2.901 -1.996 18 NE N 2.982 3.466 -2.071 19 CZ C 3.323 4.481 -2.857 20 NH1 N 2.417 5.048 -3.643 21 NH2 N 4.571 4.931 -2.859 22 22 1 23 23 2 3 1 4 … … 28 28 7 8 3 9 10 11 29 29 I ASN 8 2 2 1 3 30 N 0.249 0.264 1.45931 CA -0.058 0.172 0.03732 C -0.948 -1.024 -0.28533 O -0.740 -1.713 -1.28434 CB 1.230 0.106 -0.78635 CG 2.052 1.375 -0.68436 OD1 1.536 2.437 -0.33737 ND2 3.341 1.272 -0.98830 N N 0.249 0.264 1.459 31 CA C -0.058 0.172 0.037 32 C C -0.948 -1.024 -0.285 33 O O -0.740 -1.713 -1.284 34 CB C 1.230 0.106 -0.786 35 CG C 2.052 1.375 -0.684 36 OD1 O 1.536 2.437 -0.337 37 ND2 N 3.341 1.272 -0.988 38 38 1 39 39 2 3 1 4 … … 42 42 5 6 2 7 8 43 43 I ASP 8 2 2 1 3 44 N 1.073 -0.812 -0.46145 CA 0.043 0.016 0.15546 C -1.286 -0.121 -0.57947 O -1.341 -0.040 -1.80648 CB 0.480 1.482 0.18249 CG 1.569 1.746 1.20450 OD1 1.796 0.877 2.07251 OD2 2.197 2.824 1.14044 N N 1.073 -0.812 -0.461 45 CA C 0.043 0.016 0.155 46 C C -1.286 -0.121 -0.579 47 O O -1.341 -0.040 -1.806 48 CB C 0.480 1.482 0.182 49 CG C 1.569 1.746 1.204 50 OD1 O 1.796 0.877 2.072 51 OD2 O 2.197 2.824 1.140 52 52 1 53 53 2 3 1 4 … … 56 56 5 6 2 7 8 57 57 I CYS 6 2 2 1 3 58 N 1.531 0.067 -0.61559 CA 0.255 0.007 0.08760 C 0.283 -1.043 1.19261 O -0.326 -0.864 2.24862 CB -0.882 -0.290 -0.89263 SG -1.220 1.039 -2.07058 N N 1.531 0.067 -0.615 59 CA C 0.255 0.007 0.087 60 C C 0.283 -1.043 1.192 61 O O -0.326 -0.864 2.248 62 CB C -0.882 -0.290 -0.892 63 SG S -1.220 1.039 -2.070 64 64 1 65 65 2 3 1 4 … … 67 67 2 5 1 6 68 68 I GLN 9 2 2 1 3 69 N -1.328 0.837 -0.53470 CA -0.136 0.182 -0.00771 C 0.801 1.190 0.65072 O 1.837 0.821 1.20273 CB 0.598 -0.571 -1.11974 CG -0.074 -1.869 -1.53675 CD 0.725 -2.628 -2.57776 OE1 1.566 -2.057 -3.27077 NE2 0.465 -3.927 -2.69169 N N -1.328 0.837 -0.534 70 CA C -0.136 0.182 -0.007 71 C C 0.801 1.190 0.650 72 O O 1.837 0.821 1.202 73 CB C 0.598 -0.571 -1.119 74 CG C -0.074 -1.869 -1.536 75 CD C 0.725 -2.628 -2.577 76 OE1 O 1.566 -2.057 -3.270 77 NE2 N 0.465 -3.927 -2.691 78 78 1 79 79 2 3 1 4 … … 83 83 6 7 2 8 9 84 84 I GLU 9 2 2 1 3 85 N 0.006 1.197 -0.66786 CA 0.008 -0.079 0.03887 C 0.139 0.123 1.54488 O -0.635 -0.432 2.32489 CB 1.141 -0.972 -0.47390 CG 0.977 -1.417 -1.91791 CD 2.122 -2.290 -2.39192 OE1 3.128 -2.402 -1.66093 OE2 2.016 -2.865 -3.49585 N N 0.006 1.197 -0.667 86 CA C 0.008 -0.079 0.038 87 C C 0.139 0.123 1.544 88 O O -0.635 -0.432 2.324 89 CB C 1.141 -0.972 -0.473 90 CG C 0.977 -1.417 -1.917 91 CD C 2.122 -2.290 -2.391 92 OE1 O 3.128 -2.402 -1.660 93 OE2 O 2.016 -2.865 -3.495 94 94 1 95 95 2 3 1 4 … … 99 99 6 7 2 8 9 100 100 I GLY 4 1 2 1 3 101 N 0.869 -0.868 -0.771102 CA 0.103 0.122 -0.038103 C 0.914 1.363 0.282104 O 0.604 2.092 1.224101 N N 0.869 -0.868 -0.771 102 CA C 0.103 0.122 -0.038 103 C C 0.914 1.363 0.282 104 O O 0.604 2.092 1.224 105 105 1 106 106 2 3 1 4 107 107 I HIS 10 2 2 1 3 108 N -0.431 0.288 -1.347109 CA 0.054 -0.006 -0.004110 C -0.276 1.127 0.962111 O 0.168 1.126 2.110112 CB 1.563 -0.259 -0.022113 CG 1.951 -1.548 -0.678114 ND1 1.644 -2.779 -0.140115 CD2 2.623 -1.796 -1.827116 CE1 2.109 -3.730 -0.930117 NE2 2.707 -3.161 -1.960108 N N -0.431 0.288 -1.347 109 CA C 0.054 -0.006 -0.004 110 C C -0.276 1.127 0.962 111 O O 0.168 1.126 2.110 112 CB C 1.563 -0.259 -0.022 113 CG C 1.951 -1.548 -0.678 114 ND1 N 1.644 -2.779 -0.140 115 CD2 C 2.623 -1.796 -1.827 116 CE1 C 2.109 -3.730 -0.930 117 NE2 N 2.707 -3.161 -1.960 118 118 1 119 119 2 3 1 4 … … 122 122 5 6 4 7 8 9 10 123 123 I ILE 8 2 2 1 3 124 N 125 CA 126 C 127 O 128 CB 129 CG1 130 CG2 131 CD1 124 N N 0.540 -1.033 0.745 125 CA C -0.080 -0.048 -0.133 126 C C -0.144 1.322 0.532 127 O O -0.148 2.351 -0.143 128 CB C -1.501 -0.475 -0.546 129 CG1 C -1.450 -1.743 -1.400 130 CG2 C -2.199 0.650 -1.295 131 CD1 C -2.789 -2.431 -1.552 132 132 1 133 133 2 3 1 4 … … 136 136 5 6 1 8 137 137 I LEU 8 2 2 1 3 138 N -0.200 -0.298 -1.331139 CA 0.054 -0.042 0.081140 C -1.084 0.753 0.712141 O -1.513 0.462 1.828142 CB 1.378 0.704 0.260143 CG 2.646 -0.065 -0.116144 CD1 3.866 0.840 -0.041145 CD2 2.821 -1.283 0.778138 N N -0.200 -0.298 -1.331 139 CA C 0.054 -0.042 0.081 140 C C -1.084 0.753 0.712 141 O O -1.513 0.462 1.828 142 CB C 1.378 0.704 0.260 143 CG C 2.646 -0.065 -0.116 144 CD1 C 3.866 0.840 -0.041 145 CD2 C 2.821 -1.283 0.778 146 146 1 147 147 2 3 1 4 … … 150 150 5 6 2 7 8 151 151 I LYS 9 2 2 1 3 152 N 153 CA 154 C 155 O 156 CB 157 CG 158 CD 159 CE 160 NZ 152 N N -1.083 -0.104 1.281 153 CA C -0.121 0.120 0.210 154 C C 1.234 0.548 0.767 155 O O 2.267 -0.025 0.420 156 CB C -0.643 1.174 -0.769 157 CG C -1.822 0.711 -1.608 158 CD C -2.263 1.792 -2.582 159 CE C -3.472 1.346 -3.389 160 NZ N -3.916 2.394 -4.349 161 161 1 162 162 2 3 1 4 … … 167 167 7 8 1 9 168 168 I MET 8 2 2 1 3 169 N 0.162 -0.583 -1.383170 CA 0.094 0.197 -0.153171 C -1.352 0.486 0.237172 O -1.723 0.377 1.406173 CB 0.869 1.507 -0.306174 CG 2.367 1.324 -0.491175 SD 3.154 0.556 0.937176 CE 3.066 1.889 2.131169 N N 0.162 -0.583 -1.383 170 CA C 0.094 0.197 -0.153 171 C C -1.352 0.486 0.237 172 O O -1.723 0.377 1.406 173 CB C 0.869 1.507 -0.306 174 CG C 2.367 1.324 -0.491 175 SD S 3.154 0.556 0.937 176 CE C 3.066 1.889 2.131 177 177 1 178 178 2 3 1 4 … … 182 182 6 7 1 8 183 183 I PHE 11 2 2 1 3 184 N 185 CA 186 C 187 O 188 CB 189 CG 190 CD1 191 CD2 192 CE1 193 CE2 194 CZ 184 N N 1.370 -0.225 0.247 185 CA C 0.010 0.195 -0.068 186 C C 0.004 1.308 -1.111 187 O O 0.881 2.172 -1.116 188 CB C -0.713 0.658 1.198 189 CG C -0.938 -0.436 2.203 190 CD1 C -2.037 -1.274 2.101 191 CD2 C -0.050 -0.628 3.248 192 CE1 C -2.245 -2.280 3.023 193 CE2 C -0.254 -1.633 4.173 194 CZ C -1.353 -2.461 4.061 195 195 1 196 196 2 3 1 4 … … 199 199 5 6 5 7 8 9 10 11 200 200 I PRO 7 2 2 1 3 201 N 202 CA 203 C 204 O 205 CB 206 CG 207 CD 201 N N -1.331 0.065 0.548 202 CA C 0.003 0.087 -0.060 203 C C 0.081 1.078 -1.217 204 O O -0.839 1.148 -2.031 205 CB C 0.169 -1.342 -0.580 206 CG C -0.683 -2.165 0.319 207 CD C -1.864 -1.304 0.667 208 208 1 209 209 2 3 1 4 … … 211 211 5 7 1 6 212 212 I SER 6 2 2 1 3 213 N 0.661 0.320 1.266214 CA -0.010 -0.128 0.053215 C 0.845 -1.131 -0.713216 O 2.060 -1.196 -0.527217 CB -0.350 1.066 -0.843218 OG 0.824 1.745 -1.254213 N N 0.661 0.320 1.266 214 CA C -0.010 -0.128 0.053 215 C C 0.845 -1.131 -0.713 216 O O 2.060 -1.196 -0.527 217 CB C -0.350 1.066 -0.843 218 OG O 0.824 1.745 -1.254 219 219 1 220 220 2 3 1 4 … … 222 222 2 5 1 6 223 223 I THR 7 2 2 1 3 224 N 225 CA 226 C 227 O 228 CB 229 OG1 230 CG2 224 N N 0.367 0.079 1.675 225 CA C 0.100 -0.061 0.249 226 C C -1.368 0.204 -0.066 227 O O -2.249 -0.087 0.743 228 CB C 0.479 -1.464 -0.261 229 OG1 O -0.318 -2.450 0.407 230 CG2 C 1.951 -1.746 0.001 231 231 1 232 232 2 3 1 4 … … 234 234 2 5 2 6 7 235 235 I TRP 14 2 2 1 3 236 N 237 CA 238 C 239 O 240 CB 241 CG 242 CD1 243 CD2 244 NE1 245 CE2 246 CE3 247 CZ2 248 CZ3 249 CH2 236 N N -0.613 1.274 -0.329 237 CA C 0.018 -0.016 -0.080 238 C C 0.871 -0.450 -1.267 239 O O 1.967 -0.986 -1.093 240 CB C -1.039 -1.080 0.225 241 CG C -1.774 -0.845 1.508 242 CD1 C -2.973 -0.212 1.663 243 CD2 C -1.357 -1.241 2.821 244 NE1 N -3.328 -0.189 2.991 245 CE2 C -2.353 -0.815 3.722 246 CE3 C -0.239 -1.915 3.322 247 CZ2 C -2.265 -1.040 5.094 248 CZ3 C -0.153 -2.137 4.684 249 CH2 C -1.159 -1.701 5.554 250 250 1 251 251 2 3 1 4 … … 254 254 5 6 8 7 8 9 10 11 12 13 14 255 255 I TYR 12 2 2 1 3 256 N 0.415 1.207 0.724257 CA -0.002 0.027 -0.024258 C -1.299 0.284 -0.783259 O -2.281 0.757 -0.210260 CB -0.169 -1.170 0.913261 CG 1.125 -1.648 1.533262 CD1 1.963 -2.521 0.852263 CD2 1.507 -1.227 2.800264 CE1 3.146 -2.960 1.415265 CE2 2.689 -1.661 3.371266 CZ 3.504 -2.527 2.674267 OH 4.681 -2.962 3.238256 N N 0.415 1.207 0.724 257 CA C -0.002 0.027 -0.024 258 C C -1.299 0.284 -0.783 259 O O -2.281 0.757 -0.210 260 CB C -0.169 -1.170 0.913 261 CG C 1.125 -1.648 1.533 262 CD1 C 1.963 -2.521 0.852 263 CD2 C 1.507 -1.227 2.800 264 CE1 C 3.146 -2.960 1.415 265 CE2 C 2.689 -1.661 3.371 266 CZ C 3.504 -2.527 2.674 267 OH O 4.681 -2.962 3.238 268 268 1 269 269 2 3 1 4 … … 272 272 5 6 6 7 8 9 10 11 12 273 273 I VAL 7 2 2 1 3 274 N 275 CA 276 C 277 O 278 CB 279 CG1 280 CG2 274 N N -0.284 -0.939 1.089 275 CA C -0.131 0.113 0.092 276 C C -1.318 0.144 -0.864 277 O O -1.439 -0.707 -1.746 278 CB C 1.166 -0.064 -0.720 279 CG1 C 1.264 1.000 -1.803 280 CG2 C 2.378 -0.014 0.199 281 281 1 282 282 2 3 1 4 … … 284 284 2 5 2 6 7 285 285 I MSE 8 2 2 1 3 286 N 0.642 0.785 0.970287 CA 0.090 -0.118 -0.034288 C -0.846 0.621 -0.985289 O -0.837 0.373 -2.190290 CB -0.651 -1.276 0.637291 CG 0.241 -2.184 1.467292 SE 293 CE 0.500 -4.207 -0.684286 N N 0.642 0.785 0.970 287 CA C 0.090 -0.118 -0.034 288 C C -0.846 0.621 -0.985 289 O O -0.837 0.373 -2.190 290 CB C -0.651 -1.276 0.637 291 CG C 0.241 -2.184 1.467 292 SE Se 1.629 -3.050 0.405 293 CE C 0.500 -4.207 -0.684 294 294 1 295 295 2 3 1 4 -
TabularUnified trunk/GSASIIplot.py ¶
r835 r836 3406 3406 uColors = [Rd,Gr,Bl] 3407 3407 if rbType == 'Vector': 3408 atNames = [str(i)+':'+Ty for i,Ty in enumerate(rbData['rbTypes'])] 3408 3409 XYZ = np.array([[0.,0.,0.] for Ty in rbData['rbTypes']]) 3409 3410 for imag,mag in enumerate(rbData['VectMag']): … … 3411 3412 Bonds = FindBonds(XYZ) 3412 3413 elif rbType == 'Residue': 3413 pass 3414 atNames = [str(i)+':'+Ty for i,Ty in enumerate(rbData['atNames'])] 3415 XYZ = np.copy(rbData['rbXYZ']) #don't mess with original! 3416 Seq = rbData['rbSeq'] 3417 for seq in Seq: 3418 for ia,ib,ang,mv in seq: 3419 va = XYZ[ia]-XYZ[ib] 3420 Q = G2mth.AVdeg2Q(ang,va) 3421 for im in mv: 3422 vb = XYZ[im]-XYZ[ib] 3423 vb = G2mth.prodQVQ(Q,vb) 3424 XYZ[im] = XYZ[ib]+vb 3425 Bonds = FindBonds(XYZ) 3414 3426 elif rbType == 'Z-matrix': 3415 3427 pass … … 3542 3554 glTranslate(x,y,z) 3543 3555 glDisable(GL_LIGHTING) 3544 glColor3f( 0,1.,0)3556 glColor3f(1.0,1.0,1.0) 3545 3557 glRasterPos3f(r,r,r) 3546 3558 for c in list(label): … … 3583 3595 RenderSphere(x,y,z,radius,color) 3584 3596 RenderBonds(x,y,z,Bonds[iat],0.1,color) 3585 RenderLabel(x,y,z, str(iat),radius)3597 RenderLabel(x,y,z,atNames[iat],radius) 3586 3598 Page.canvas.SwapBuffers() 3587 3599
Note: See TracChangeset
for help on using the changeset viewer.