1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """The tensor saveframe category.
24
25 For example, see http://www.bmrb.wisc.edu/dictionary/3.1html_frame/frame_SaveFramePage.html#tensor
26 """
27
28
29 from numpy import array
30
31
32 from bmrblib.base_classes import BaseSaveframe, TagCategory, TagCategoryFree
33
34
36 """The tensor saveframe class."""
37
38
39 sf_label = 'tensor'
40
47
48
49
51 """Base class for the TensorList tag category."""
52
54 """Setup the TensorList tag category.
55
56 @param sf: The saveframe object.
57 @type sf: saveframe instance
58 """
59
60
61 super(TensorList, self).__init__(sf)
62
63
64 self.tag_category_label = 'Tensor_list'
65
66
67 self.add(key='EntryID', tag_name='Entry_ID', var_name=None)
68 self.add(key='SfID', tag_name='Sf_ID', var_name=None)
69 self.add(key='TensorID', tag_name='ID', var_name='data_ids', format='str')
70 self.add(key='TensorType', tag_name='Tensor_type', var_name='tensor_type')
71 self.add(key='GeometricShape', tag_name='Geometric_shape', var_name='geometric_shape', allowed=['sphere', 'spheroid', 'oblate spheroid', 'prolate spheroid', 'ellipsoid'])
72 self.add(key='TensorSymmetry', tag_name='Tensor_symmetry', var_name='tensor_symmetry', allowed=['isotropic', 'anisotropic', 'axial symmetry', 'oblate axial symmetry', 'prolate axial symmetry', 'rhombic'])
73 self.add(key='MatrixValUnits', tag_name='Matrix_val_units', var_name='matrix_val_units')
74 self.add(key='AngleUnits', tag_name='Angle_units', var_name='angle_units', allowed=[None, 'deg', 'rad'])
75 self.add(key='IsotropicValFormula', tag_name='Isotropic_val_formula', var_name='iso_val_formula')
76 self.add(key='AnisotropicValFormula', tag_name='Anisotropic_val_formula', var_name='aniso_val_formula')
77 self.add(key='RhombicValFormula', tag_name='Rhombic_val_formula', var_name='rhomb_val_formula')
78 self.add(key='EulerAngleType', tag_name='Euler_angle_type', var_name='euler_type')
79 self.add(key='DataFileName', tag_name='Data_file_name', var_name='file_name')
80 self.add(key='Details', tag_name='Details', var_name='details')
81
82
83 self['SfCategory'].tag_name = 'Sf_category'
84 self['SfFramecode'].tag_name = 'Sf_framecode'
85
86
87
89 """Base class for the Tensor tag category."""
90
92 """Setup the Tensor tag category.
93
94 @param sf: The saveframe object.
95 @type sf: saveframe instance
96 """
97
98
99 super(Tensor, self).__init__(sf)
100
101
102 self.tag_category_label = 'Tensor'
103
104
105 self.add(key='TensorID', tag_name='ID', var_name='data_ids')
106 self.add(key='InteratomicDistanceListID', tag_name='Interatomic_distance_list_ID', var_name=None)
107 self.add(key='InteratomicDistSetID', tag_name='Interatomic_dist_set_ID', var_name=None)
108 self.add(key='CalcTypeID', tag_name='Calc_type_ID', var_name=None)
109 self.add(key='AssemblyAtomID', tag_name='Assembly_atom_ID', var_name='assembly_atom_ids')
110 self.add(key='EntityAssemblyID', tag_name='Entity_assembly_ID', var_name='entity_assembly_ids')
111 self.add(key='EntityID', tag_name='Entity_ID', var_name='entity_ids', format='int', missing=False)
112 self.add(key='CompIndexID', tag_name='Comp_index_ID', var_name='res_nums', format='int', missing=False)
113 self.add(key='SeqID', tag_name='Seq_ID', var_name=None)
114 self.add(key='CompID', tag_name='Residue_label', var_name='res_names', missing=False)
115 self.add(key='AtomID', tag_name='Atom_name', var_name='atom_names', missing=False)
116 self.add(key='AtomType', tag_name='Atom_type', var_name='atom_types')
117 self.add(key='AtomIsotopeNumber', tag_name='Atom_isotope_number', var_name='isotope', format='int')
118 self.add(key='AxialSymAxisPolarAngle', tag_name='Axial_sym_axis_polar_angle', var_name='axial_sym_axis_polar_angle', format='float')
119 self.add(key='AxialSymAxisAzimuthalAngle', tag_name='Axial_sym_axis_azimuthal_angle', var_name='axial_sym_axis_azimuthal_angle', format='float')
120 self.add(key='IsotropicVal', tag_name='Isotropic_val', var_name='iso_val', format='float')
121 self.add(key='AnisotropicVal', tag_name='Anisotropic_val', var_name='aniso_val', format='float')
122 self.add(key='RhombicVal', tag_name='Rhombic_val', var_name='rhombic_val', format='float')
123 self.add(key='EulerAngleAlpha', tag_name='Euler_angle_alpha', var_name='euler_alpha', format='float')
124 self.add(key='EulerAngleBeta', tag_name='Euler_angle_beta', var_name='euler_beta', format='float')
125 self.add(key='EulerAngleGamma', tag_name='Euler_angle_gamma', var_name='euler_gamma', format='float')
126 self.add(key='IsotropicComp11Val', tag_name='Isotropic_comp_1_1_val', var_name='iso_comp_11', format='float')
127 self.add(key='IsotropicComp22Val', tag_name='Isotropic_comp_2_2_val', var_name='iso_comp_22', format='float')
128 self.add(key='IsotropicComp33Val', tag_name='Isotropic_comp_3_3_val', var_name='iso_comp_33', format='float')
129 self.add(key='AntiSymComp12Val', tag_name='Anti_sym_comp_1_2_val', var_name='antisym_comp_12', format='float')
130 self.add(key='AntiSymComp13Val', tag_name='Anti_sym_comp_1_3_val', var_name='antisym_comp_13', format='float')
131 self.add(key='AntiSymComp23Val', tag_name='Anti_sym_comp_2_3_val', var_name='antisym_comp_23', format='float')
132 self.add(key='SymTracelessComp11Val', tag_name='Sym_traceless_comp_1_1_val', var_name=None, format='float')
133 self.add(key='SymTracelessComp12Val', tag_name='Sym_traceless_comp_1_2_val', var_name=None, format='float')
134 self.add(key='SymTracelessComp13Val', tag_name='Sym_traceless_comp_1_3_val', var_name=None, format='float')
135 self.add(key='SymTracelessComp22Val', tag_name='Sym_traceless_comp_2_2_val', var_name=None, format='float')
136 self.add(key='SymTracelessComp23Val', tag_name='Sym_traceless_comp_2_3_val', var_name=None, format='float')
137 self.add(key='ReduceableMatrix11Val', tag_name='Reduceable_matrix_1_1_val', var_name='tensor_11', format='float')
138 self.add(key='ReduceableMatrix12Val', tag_name='Reduceable_matrix_1_2_val', var_name='tensor_12', format='float')
139 self.add(key='ReduceableMatrix13Val', tag_name='Reduceable_matrix_1_3_val', var_name='tensor_13', format='float')
140 self.add(key='ReduceableMatrix21Val', tag_name='Reduceable_matrix_2_1_val', var_name='tensor_21', format='float')
141 self.add(key='ReduceableMatrix22Val', tag_name='Reduceable_matrix_2_2_val', var_name='tensor_22', format='float')
142 self.add(key='ReduceableMatrix23Val', tag_name='Reduceable_matrix_2_3_val', var_name='tensor_23', format='float')
143 self.add(key='ReduceableMatrix31Val', tag_name='Reduceable_matrix_3_1_val', var_name='tensor_31', format='float')
144 self.add(key='ReduceableMatrix32Val', tag_name='Reduceable_matrix_3_2_val', var_name='tensor_32', format='float')
145 self.add(key='ReduceableMatrix33Val', tag_name='Reduceable_matrix_3_3_val', var_name='tensor_33', format='float')
146 self.add(key='AuthEntityAssemblyID', tag_name='Auth_entity_assembly_ID', var_name=None)
147 self.add(key='AuthSeqID', tag_name='Auth_seq_ID', var_name=None)
148 self.add(key='AuthCompID', tag_name='uth_comp_ID', var_name=None)
149 self.add(key='AuthAtomID', tag_name='Auth_atom_ID', var_name=None)
150 self.add(key='EntryID', tag_name='Entry_ID', var_name=None)
151 self.add(key='TensorListID', tag_name='Tensor_list_ID', var_name='count_str', format='float')
152