rubabel 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.document +5 -0
- data/.rspec +1 -0
- data/LICENSE +21 -0
- data/README.rdoc +52 -0
- data/Rakefile +43 -0
- data/VERSION +1 -0
- data/lib/rubabel.rb +116 -0
- data/lib/rubabel/atom.rb +143 -0
- data/lib/rubabel/bond.rb +47 -0
- data/lib/rubabel/fingerprint.rb +0 -0
- data/lib/rubabel/fragmentation.rb +23 -0
- data/lib/rubabel/molecule.rb +305 -0
- data/lib/rubabel/molecule_data.rb +0 -0
- data/lib/rubabel/pm.rb +38 -0
- data/lib/rubabel/smarts.rb +27 -0
- data/reference/OBConversion_methods.txt +47 -0
- data/reference/arity_method_list.txt +3553 -0
- data/reference/arity_method_list_CLASS.txt +337 -0
- data/reference/atom_methods.txt +145 -0
- data/reference/bond_methods.txt +79 -0
- data/reference/get_methods.rb +52 -0
- data/reference/mol_methods.txt +183 -0
- data/spec/rubabel/atom_spec.rb +49 -0
- data/spec/rubabel/bond_spec.rb +19 -0
- data/spec/rubabel/molecule_spec.rb +91 -0
- data/spec/rubabel_spec.rb +67 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/testfiles/7-oxocholesterol-d7.mol +97 -0
- data/spec/testfiles/7-oxocholesterol-d7.sdf +155 -0
- data/spec/testfiles/Samples.sdf +2441 -0
- data/spec/testfiles/cholesterol.mol +74 -0
- data/spec/testfiles/cholesterol.sdf +132 -0
- data/spec/testfiles/two.sdf +287 -0
- metadata +130 -0
@@ -0,0 +1,337 @@
|
|
1
|
+
************************************************************
|
2
|
+
OpenBabel
|
3
|
+
************************************************************
|
4
|
+
to_angle_data: -1
|
5
|
+
to_atom_class_data: -1
|
6
|
+
to_chiral_data: -1
|
7
|
+
to_comment_data: -1
|
8
|
+
to_conformer_data: -1
|
9
|
+
to_external_bond_data: -1
|
10
|
+
to_grid_data: -1
|
11
|
+
to_matrix_data: -1
|
12
|
+
to_nasa_thermo_data: -1
|
13
|
+
to_pair_data: -1
|
14
|
+
to_rate_data: -1
|
15
|
+
to_rotamer_list: -1
|
16
|
+
to_rotation_data: -1
|
17
|
+
to_serial_nums: -1
|
18
|
+
to_set_data: -1
|
19
|
+
to_symmetry_data: -1
|
20
|
+
to_torsion_data: -1
|
21
|
+
to_unit_cell: -1
|
22
|
+
to_vector_data: -1
|
23
|
+
to_vibration_data: -1
|
24
|
+
to_virtual_bond: -1
|
25
|
+
double_multiply: -1
|
26
|
+
double_add: -1
|
27
|
+
double_modulus: -1
|
28
|
+
rotate_coords: -1
|
29
|
+
calc_rms: -1
|
30
|
+
<<: -1
|
31
|
+
+: -1
|
32
|
+
-: -1
|
33
|
+
/: -1
|
34
|
+
*: -1
|
35
|
+
dot: -1
|
36
|
+
cross: -1
|
37
|
+
vector_angle: -1
|
38
|
+
calc_torsion_angle: -1
|
39
|
+
point_2plane_signed: -1
|
40
|
+
point_2plane: -1
|
41
|
+
point_2plane_angle: -1
|
42
|
+
point_2line: -1
|
43
|
+
VZero: 0
|
44
|
+
VX: 0
|
45
|
+
VY: 0
|
46
|
+
VZ: 0
|
47
|
+
obrelease_version: -1
|
48
|
+
obErrorLog: 0
|
49
|
+
obErrorLog=: 1
|
50
|
+
Residue: 0
|
51
|
+
Residue=: 1
|
52
|
+
ElemDesc: 0
|
53
|
+
ElemDesc=: 1
|
54
|
+
ResNo: 0
|
55
|
+
ResNo=: 1
|
56
|
+
ElemNo: 0
|
57
|
+
ElemNo=: 1
|
58
|
+
throw_error: -1
|
59
|
+
cartesian_to_internal: -1
|
60
|
+
internal_to_cartesian: -1
|
61
|
+
new_extension: -1
|
62
|
+
etab: 0
|
63
|
+
etab=: 1
|
64
|
+
ttab: 0
|
65
|
+
ttab=: 1
|
66
|
+
isotab: 0
|
67
|
+
isotab=: 1
|
68
|
+
aromtyper: 0
|
69
|
+
aromtyper=: 1
|
70
|
+
atomtyper: 0
|
71
|
+
atomtyper=: 1
|
72
|
+
chainsparser: 0
|
73
|
+
chainsparser=: 1
|
74
|
+
resdat: 0
|
75
|
+
resdat=: 1
|
76
|
+
NoId: 0
|
77
|
+
get_rmat: -1
|
78
|
+
ob_make_rmat: -1
|
79
|
+
qtrfit: -1
|
80
|
+
superimpose: -1
|
81
|
+
compare_ring_size: -1
|
82
|
+
smarts_lex_replace: -1
|
83
|
+
AliasDataType: 0
|
84
|
+
tanimoto: -1
|
85
|
+
***[OpenBabel::VectorUnsignedInt NO METHODS]***
|
86
|
+
***[OpenBabel::VectorInt NO METHODS]***
|
87
|
+
***[OpenBabel::Iterator NO METHODS]***
|
88
|
+
***[OpenBabel::ConstIterator NO METHODS]***
|
89
|
+
***[OpenBabel::GCVALUE NO METHODS]***
|
90
|
+
***[OpenBabel::OBTorsion NO METHODS]***
|
91
|
+
***[OpenBabel::OBSymmetryData NO METHODS]***
|
92
|
+
***[OpenBabel::OBConformerData NO METHODS]***
|
93
|
+
***[OpenBabel::OBUnitCell NO METHODS]***
|
94
|
+
***[OpenBabel::OBRingData NO METHODS]***
|
95
|
+
***[OpenBabel::OBVirtualBond NO METHODS]***
|
96
|
+
***[OpenBabel::OBSetData NO METHODS]***
|
97
|
+
***[OpenBabel::OBPairData NO METHODS]***
|
98
|
+
***[OpenBabel::OBExternalBondData NO METHODS]***
|
99
|
+
***[OpenBabel::OBExternalBond NO METHODS]***
|
100
|
+
***[OpenBabel::OBCommentData NO METHODS]***
|
101
|
+
************************************************************
|
102
|
+
OpenBabel::OBAtom
|
103
|
+
************************************************************
|
104
|
+
class_description: -1
|
105
|
+
***[OpenBabel::OBInternalCoord NO METHODS]***
|
106
|
+
***[OpenBabel::LineSearchType NO METHODS]***
|
107
|
+
************************************************************
|
108
|
+
OpenBabel::OBDescriptor
|
109
|
+
************************************************************
|
110
|
+
default: -1
|
111
|
+
find_type: -1
|
112
|
+
filter_compare: -1
|
113
|
+
add_properties: -1
|
114
|
+
delete_properties: -1
|
115
|
+
get_values: -1
|
116
|
+
get_identifier: -1
|
117
|
+
get_plugin: -1
|
118
|
+
list_as_vector: -1
|
119
|
+
list: -1
|
120
|
+
list_as_string: -1
|
121
|
+
first_line: -1
|
122
|
+
begin: -1
|
123
|
+
end: -1
|
124
|
+
***[OpenBabel::FastSearchIndexer NO METHODS]***
|
125
|
+
***[OpenBabel::FastSearch NO METHODS]***
|
126
|
+
***[OpenBabel::FptIndexHeader NO METHODS]***
|
127
|
+
************************************************************
|
128
|
+
OpenBabel::OBFingerprint
|
129
|
+
************************************************************
|
130
|
+
default: -1
|
131
|
+
find_type: -1
|
132
|
+
tanimoto: -1
|
133
|
+
getbitsperint: -1
|
134
|
+
find_fingerprint: -1
|
135
|
+
get_plugin: -1
|
136
|
+
list_as_vector: -1
|
137
|
+
list: -1
|
138
|
+
list_as_string: -1
|
139
|
+
first_line: -1
|
140
|
+
begin: -1
|
141
|
+
end: -1
|
142
|
+
***[OpenBabel::OBAtomClassData NO METHODS]***
|
143
|
+
************************************************************
|
144
|
+
OpenBabel::AliasData
|
145
|
+
************************************************************
|
146
|
+
revert_to_alias_form: -1
|
147
|
+
***[OpenBabel::OBMolRingIter NO METHODS]***
|
148
|
+
***[OpenBabel::OBMolPairIter NO METHODS]***
|
149
|
+
***[OpenBabel::OBMolTorsionIter NO METHODS]***
|
150
|
+
***[OpenBabel::OBMolAngleIter NO METHODS]***
|
151
|
+
***[OpenBabel::OBResidueAtomIter NO METHODS]***
|
152
|
+
***[OpenBabel::OBResidueIter NO METHODS]***
|
153
|
+
***[OpenBabel::OBAtomBondIter NO METHODS]***
|
154
|
+
***[OpenBabel::OBAtomAtomIter NO METHODS]***
|
155
|
+
***[OpenBabel::OBMolBondIter NO METHODS]***
|
156
|
+
***[OpenBabel::OBMolBondBFSIter NO METHODS]***
|
157
|
+
***[OpenBabel::OBMolAtomBFSIter NO METHODS]***
|
158
|
+
***[OpenBabel::OBMolAtomDFSIter NO METHODS]***
|
159
|
+
***[OpenBabel::OBMolAtomIter NO METHODS]***
|
160
|
+
***[OpenBabel::OBRotamerList NO METHODS]***
|
161
|
+
***[OpenBabel::OBRotorKeys NO METHODS]***
|
162
|
+
***[OpenBabel::RotorDigit NO METHODS]***
|
163
|
+
***[OpenBabel::OBRotorList NO METHODS]***
|
164
|
+
***[OpenBabel::OBRotor NO METHODS]***
|
165
|
+
***[OpenBabel::OBRotorRules NO METHODS]***
|
166
|
+
***[OpenBabel::OBRotorRule NO METHODS]***
|
167
|
+
***[OpenBabel::OBBitVec NO METHODS]***
|
168
|
+
************************************************************
|
169
|
+
OpenBabel::OBOp
|
170
|
+
************************************************************
|
171
|
+
default: -1
|
172
|
+
find_type: -1
|
173
|
+
op_options: -1
|
174
|
+
do_ops: -1
|
175
|
+
get_plugin: -1
|
176
|
+
list_as_vector: -1
|
177
|
+
list: -1
|
178
|
+
list_as_string: -1
|
179
|
+
first_line: -1
|
180
|
+
begin: -1
|
181
|
+
end: -1
|
182
|
+
************************************************************
|
183
|
+
OpenBabel::OBBuilder
|
184
|
+
************************************************************
|
185
|
+
get_new_bond_vector: -1
|
186
|
+
connect: -1
|
187
|
+
swap: -1
|
188
|
+
correct_stereo_bonds: -1
|
189
|
+
correct_stereo_atoms: -1
|
190
|
+
is_spiro_atom: -1
|
191
|
+
get_fragment: -1
|
192
|
+
add_nbrs: -1
|
193
|
+
************************************************************
|
194
|
+
OpenBabel::OBForceField
|
195
|
+
************************************************************
|
196
|
+
default: -1
|
197
|
+
find_type: -1
|
198
|
+
find_force_field: -1
|
199
|
+
ignore_calculation: -1
|
200
|
+
vector_bond_derivative: -1
|
201
|
+
vector_distance_derivative: -1
|
202
|
+
vector_length_derivative: -1
|
203
|
+
vector_angle_derivative: -1
|
204
|
+
vector_oopderivative: -1
|
205
|
+
vector_torsion_derivative: -1
|
206
|
+
vector_subtract: -1
|
207
|
+
vector_add: -1
|
208
|
+
vector_divide: -1
|
209
|
+
vector_multiply: -1
|
210
|
+
vector_self_multiply: -1
|
211
|
+
vector_normalize: -1
|
212
|
+
vector_copy: -1
|
213
|
+
vector_length: -1
|
214
|
+
vector_distance: -1
|
215
|
+
vector_angle: -1
|
216
|
+
vector_torsion: -1
|
217
|
+
vector_oop: -1
|
218
|
+
vector_clear: -1
|
219
|
+
vector_dot: -1
|
220
|
+
vector_cross: -1
|
221
|
+
print_vector: -1
|
222
|
+
get_plugin: -1
|
223
|
+
list_as_vector: -1
|
224
|
+
list: -1
|
225
|
+
list_as_string: -1
|
226
|
+
first_line: -1
|
227
|
+
begin: -1
|
228
|
+
end: -1
|
229
|
+
***[OpenBabel::OBFFConstraints NO METHODS]***
|
230
|
+
***[OpenBabel::OBFFConstraint NO METHODS]***
|
231
|
+
***[OpenBabel::OBFFCalculation4 NO METHODS]***
|
232
|
+
***[OpenBabel::OBFFCalculation3 NO METHODS]***
|
233
|
+
***[OpenBabel::OBFFCalculation2 NO METHODS]***
|
234
|
+
***[OpenBabel::OBFFParameter NO METHODS]***
|
235
|
+
***[OpenBabel::OBSSMatch NO METHODS]***
|
236
|
+
***[OpenBabel::OBSmartsMatcher NO METHODS]***
|
237
|
+
***[OpenBabel::OBSmartsPattern NO METHODS]***
|
238
|
+
***[OpenBabel::OBRTree NO METHODS]***
|
239
|
+
***[OpenBabel::OBRingSearch NO METHODS]***
|
240
|
+
***[OpenBabel::OBRing NO METHODS]***
|
241
|
+
************************************************************
|
242
|
+
OpenBabel::OBMol
|
243
|
+
************************************************************
|
244
|
+
class_description: -1
|
245
|
+
************************************************************
|
246
|
+
OpenBabel::OBBond
|
247
|
+
************************************************************
|
248
|
+
class_description: -1
|
249
|
+
************************************************************
|
250
|
+
OpenBabel::OBResidue
|
251
|
+
************************************************************
|
252
|
+
class_description: -1
|
253
|
+
************************************************************
|
254
|
+
OpenBabel::OBConversion
|
255
|
+
************************************************************
|
256
|
+
register_format: -1
|
257
|
+
find_format: -1
|
258
|
+
format_from_ext: -1
|
259
|
+
format_from_mime: -1
|
260
|
+
get_next_format: -1
|
261
|
+
description: -1
|
262
|
+
register_option_param: -1
|
263
|
+
get_option_params: -1
|
264
|
+
get_default_format: -1
|
265
|
+
************************************************************
|
266
|
+
OpenBabel::OBFormat
|
267
|
+
************************************************************
|
268
|
+
default: -1
|
269
|
+
find_type: -1
|
270
|
+
format_from_mime: -1
|
271
|
+
get_plugin: -1
|
272
|
+
list_as_vector: -1
|
273
|
+
list: -1
|
274
|
+
list_as_string: -1
|
275
|
+
first_line: -1
|
276
|
+
begin: -1
|
277
|
+
end: -1
|
278
|
+
***[OpenBabel::ObLogBuf NO METHODS]***
|
279
|
+
***[OpenBabel::OBMessageHandler NO METHODS]***
|
280
|
+
***[OpenBabel::OBError NO METHODS]***
|
281
|
+
***[OpenBabel::Stringbuf NO METHODS]***
|
282
|
+
************************************************************
|
283
|
+
OpenBabel::OBPlugin
|
284
|
+
************************************************************
|
285
|
+
get_plugin: -1
|
286
|
+
list_as_vector: -1
|
287
|
+
list: -1
|
288
|
+
list_as_string: -1
|
289
|
+
first_line: -1
|
290
|
+
begin: -1
|
291
|
+
end: -1
|
292
|
+
***[OpenBabel::CharPtrLess NO METHODS]***
|
293
|
+
***[OpenBabel::Dummy NO METHODS]***
|
294
|
+
***[OpenBabel::OBGridData NO METHODS]***
|
295
|
+
***[OpenBabel::OBMatrixData NO METHODS]***
|
296
|
+
***[OpenBabel::OBVectorData NO METHODS]***
|
297
|
+
***[OpenBabel::OBRotationData NO METHODS]***
|
298
|
+
***[OpenBabel::OBElectronicTransitionData NO METHODS]***
|
299
|
+
***[OpenBabel::OBOrbitalData NO METHODS]***
|
300
|
+
***[OpenBabel::OBOrbital NO METHODS]***
|
301
|
+
***[OpenBabel::OBDOSData NO METHODS]***
|
302
|
+
***[OpenBabel::OBVibrationData NO METHODS]***
|
303
|
+
***[OpenBabel::OBSerialNums NO METHODS]***
|
304
|
+
***[OpenBabel::OBChiralData NO METHODS]***
|
305
|
+
***[OpenBabel::OBAngleData NO METHODS]***
|
306
|
+
***[OpenBabel::OBAngle NO METHODS]***
|
307
|
+
***[OpenBabel::OBTorsionData NO METHODS]***
|
308
|
+
************************************************************
|
309
|
+
OpenBabel::OBBase
|
310
|
+
************************************************************
|
311
|
+
class_description: -1
|
312
|
+
***[OpenBabel::OBGenericData NO METHODS]***
|
313
|
+
************************************************************
|
314
|
+
OpenBabel::Matrix3x3
|
315
|
+
************************************************************
|
316
|
+
jacobi: -1
|
317
|
+
***[OpenBabel::Vector3 NO METHODS]***
|
318
|
+
***[OpenBabel::OBSqrtTbl NO METHODS]***
|
319
|
+
***[OpenBabel::OBStopwatch NO METHODS]***
|
320
|
+
***[OpenBabel::OBRandom NO METHODS]***
|
321
|
+
***[OpenBabel::DoubleType NO METHODS]***
|
322
|
+
***[OpenBabel::OBResidueData NO METHODS]***
|
323
|
+
***[OpenBabel::OBTypeTable NO METHODS]***
|
324
|
+
***[OpenBabel::OBIsotopeTable NO METHODS]***
|
325
|
+
***[OpenBabel::OBElementTable NO METHODS]***
|
326
|
+
***[OpenBabel::OBElement NO METHODS]***
|
327
|
+
***[OpenBabel::OBGlobalDataBase NO METHODS]***
|
328
|
+
***[OpenBabel::VectorpOBGenericData NO METHODS]***
|
329
|
+
***[OpenBabel::VectorpOBRing NO METHODS]***
|
330
|
+
***[OpenBabel::VectorOBRing NO METHODS]***
|
331
|
+
***[OpenBabel::VectorOBResidue NO METHODS]***
|
332
|
+
***[OpenBabel::VectorOBBond NO METHODS]***
|
333
|
+
***[OpenBabel::VectorOBMol NO METHODS]***
|
334
|
+
***[OpenBabel::VectorVector3 NO METHODS]***
|
335
|
+
***[OpenBabel::VectorString NO METHODS]***
|
336
|
+
***[OpenBabel::VectorDouble NO METHODS]***
|
337
|
+
***[OpenBabel::VectorVInt NO METHODS]***
|
@@ -0,0 +1,145 @@
|
|
1
|
+
Visit=
|
2
|
+
Visit
|
3
|
+
duplicate
|
4
|
+
set_idx
|
5
|
+
set_id
|
6
|
+
set_hyb
|
7
|
+
set_atomic_num
|
8
|
+
set_isotope
|
9
|
+
set_implicit_valence
|
10
|
+
increment_implicit_valence
|
11
|
+
decrement_implicit_valence
|
12
|
+
set_formal_charge
|
13
|
+
set_spin_multiplicity
|
14
|
+
set_type
|
15
|
+
set_partial_charge
|
16
|
+
set_coord_ptr
|
17
|
+
set_vector
|
18
|
+
set_residue
|
19
|
+
set_parent
|
20
|
+
set_aromatic
|
21
|
+
unset_aromatic
|
22
|
+
set_clockwise_stereo
|
23
|
+
set_anti_clockwise_stereo
|
24
|
+
set_positive_stereo
|
25
|
+
set_negative_stereo
|
26
|
+
unset_stereo
|
27
|
+
set_in_ring
|
28
|
+
set_chiral
|
29
|
+
clear_coord_ptr
|
30
|
+
get_formal_charge
|
31
|
+
get_atomic_num
|
32
|
+
get_isotope
|
33
|
+
get_spin_multiplicity
|
34
|
+
get_atomic_mass
|
35
|
+
get_exact_mass
|
36
|
+
get_idx
|
37
|
+
get_index
|
38
|
+
get_id
|
39
|
+
get_coordinate_idx
|
40
|
+
get_cidx
|
41
|
+
get_valence
|
42
|
+
get_hyb
|
43
|
+
get_implicit_valence
|
44
|
+
get_hvy_valence
|
45
|
+
get_hetero_valence
|
46
|
+
get_type
|
47
|
+
get_x
|
48
|
+
get_y
|
49
|
+
get_z
|
50
|
+
x
|
51
|
+
y
|
52
|
+
z
|
53
|
+
get_coordinate
|
54
|
+
get_vector
|
55
|
+
get_partial_charge
|
56
|
+
get_residue
|
57
|
+
get_parent
|
58
|
+
get_new_bond_vector
|
59
|
+
get_bond
|
60
|
+
get_next_atom
|
61
|
+
begin_bonds
|
62
|
+
end_bonds
|
63
|
+
begin_bond
|
64
|
+
next_bond
|
65
|
+
begin_nbr_atom
|
66
|
+
next_nbr_atom
|
67
|
+
get_distance
|
68
|
+
get_angle
|
69
|
+
new_residue
|
70
|
+
add_residue
|
71
|
+
delete_residue
|
72
|
+
add_bond
|
73
|
+
insert_bond
|
74
|
+
delete_bond
|
75
|
+
clear_bond
|
76
|
+
hto_methyl
|
77
|
+
set_hyb_and_geom
|
78
|
+
force_no_h
|
79
|
+
has_no_hforced
|
80
|
+
force_impl_h
|
81
|
+
has_impl_hforced
|
82
|
+
count_free_oxygens
|
83
|
+
implicit_hydrogen_count
|
84
|
+
explicit_hydrogen_count
|
85
|
+
member_of_ring_count
|
86
|
+
member_of_ring_size
|
87
|
+
count_ring_bonds
|
88
|
+
smallest_bond_angle
|
89
|
+
average_bond_angle
|
90
|
+
bosum
|
91
|
+
kbosum
|
92
|
+
has_residue
|
93
|
+
is_hydrogen
|
94
|
+
is_carbon
|
95
|
+
is_nitrogen
|
96
|
+
is_oxygen
|
97
|
+
is_sulfur
|
98
|
+
is_phosphorus
|
99
|
+
is_aromatic
|
100
|
+
is_in_ring
|
101
|
+
is_in_ring_size
|
102
|
+
is_heteroatom
|
103
|
+
is_not_cor_h
|
104
|
+
is_connected
|
105
|
+
is_one_three
|
106
|
+
is_one_four
|
107
|
+
is_carboxyl_oxygen
|
108
|
+
is_phosphate_oxygen
|
109
|
+
is_sulfate_oxygen
|
110
|
+
is_nitro_oxygen
|
111
|
+
is_amide_nitrogen
|
112
|
+
is_polar_hydrogen
|
113
|
+
is_non_polar_hydrogen
|
114
|
+
is_aromatic_noxide
|
115
|
+
is_chiral
|
116
|
+
is_axial
|
117
|
+
is_clockwise
|
118
|
+
is_anti_clockwise
|
119
|
+
is_positive_stereo
|
120
|
+
is_negative_stereo
|
121
|
+
has_chirality_specified
|
122
|
+
has_chiral_volume
|
123
|
+
is_hbond_acceptor
|
124
|
+
is_hbond_donor
|
125
|
+
is_hbond_donor_h
|
126
|
+
has_alpha_beta_unsat
|
127
|
+
has_bond_of_order
|
128
|
+
count_bonds_of_order
|
129
|
+
has_non_single_bond
|
130
|
+
has_single_bond
|
131
|
+
has_double_bond
|
132
|
+
has_aromatic_bond
|
133
|
+
matches_smarts
|
134
|
+
clear
|
135
|
+
do_transformations
|
136
|
+
get_title
|
137
|
+
set_title
|
138
|
+
has_data
|
139
|
+
delete_data
|
140
|
+
clone_data
|
141
|
+
data_size
|
142
|
+
get_all_data
|
143
|
+
get_data
|
144
|
+
begin_data
|
145
|
+
end_data
|