mspire 0.6.12 → 0.6.18
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/VERSION +1 -1
- data/lib/ms/mzml.rb +2 -0
- data/lib/ms/mzml/data_array.rb +31 -11
- data/lib/ms/mzml/data_array_container_like.rb +9 -1
- data/lib/ms/mzml/scan_list.rb +1 -1
- data/obo/ims.obo +1 -1
- metadata +15 -15
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.18
|
data/lib/ms/mzml.rb
CHANGED
@@ -9,6 +9,8 @@ require 'ms/mzml/file_description'
|
|
9
9
|
require 'ms/mzml/software'
|
10
10
|
require 'ms/mzml/scan_list'
|
11
11
|
require 'ms/mzml/scan'
|
12
|
+
require 'ms/mzml/scan_settings'
|
13
|
+
require 'ms/mzml/processing_method'
|
12
14
|
require 'ms/mzml/run'
|
13
15
|
require 'ms/mzml/spectrum_list'
|
14
16
|
require 'ms/mzml/chromatogram_list'
|
data/lib/ms/mzml/data_array.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
require 'base64'
|
2
2
|
require 'zlib'
|
3
|
+
require 'ms/cv/paramable'
|
3
4
|
|
4
5
|
module MS
|
5
6
|
class Mzml
|
6
7
|
class DataArray < Array
|
8
|
+
include MS::CV::Paramable
|
7
9
|
|
8
10
|
DEFAULT_DTYPE = :float64
|
9
11
|
DEFAULT_COMPRESSION = true
|
@@ -18,13 +20,14 @@ module MS
|
|
18
20
|
# the type of data array (:mz or :intensity)
|
19
21
|
attr_accessor :type
|
20
22
|
|
21
|
-
# requires a type, :mz or :
|
22
|
-
|
23
|
+
# requires a type, :mz, :intensity, :mz_external, or :intensity_external
|
24
|
+
# (external types used in imzml)
|
25
|
+
def initialize(_type, opts={params: []})
|
23
26
|
@type = _type
|
24
|
-
|
27
|
+
@external = !!(@type.to_s =~ /external$/)
|
25
28
|
end
|
26
29
|
|
27
|
-
def self.
|
30
|
+
def self.to_binary(array_ish, dtype=DEFAULT_DTYPE, compression=DEFAULT_COMPRESSION)
|
28
31
|
pack_code =
|
29
32
|
case dtype
|
30
33
|
when :float64 ; 'E*'
|
@@ -40,12 +43,22 @@ module MS
|
|
40
43
|
end
|
41
44
|
|
42
45
|
def to_xml(builder, dtype=DEFAULT_DTYPE, compression=DEFAULT_COMPRESSION)
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
46
|
+
encoded_length =
|
47
|
+
if @external
|
48
|
+
0
|
49
|
+
else
|
50
|
+
base64 = self.class.to_binary(self, dtype, compression)
|
51
|
+
base64.bytesize
|
52
|
+
end
|
53
|
+
|
54
|
+
builder.binaryDataArray(encodedLength: encoded_length) do |bda_n|
|
55
|
+
@params.each {|param| param.to_xml(bda_n) } if @params
|
56
|
+
unless @external
|
57
|
+
MS::CV::Param[ DTYPE_TO_ACC[dtype] ].to_xml(bda_n)
|
58
|
+
MS::CV::Param[ compression ? 'MS:1000574' : 'MS:1000576' ].to_xml(bda_n)
|
59
|
+
MS::CV::Param[ (@type == :mz) ? 'MS:1000514' : 'MS:1000515' ].to_xml(bda_n) # must be m/z or intensity
|
60
|
+
bda_n.binary(base64)
|
61
|
+
end
|
49
62
|
end
|
50
63
|
end
|
51
64
|
|
@@ -53,7 +66,14 @@ module MS
|
|
53
66
|
def self.list_xml(arrays, builder)
|
54
67
|
builder.binaryDataArrayList(count: arrays.size) do |bdal_n|
|
55
68
|
arrays.zip([:mz, :intensity]) do |data_ar, typ|
|
56
|
-
ar =
|
69
|
+
ar =
|
70
|
+
if data_ar.is_a?(MS::Mzml::DataArray)
|
71
|
+
data_ar
|
72
|
+
else
|
73
|
+
real_data_array = MS::Mzml::DataArray.new(typ)
|
74
|
+
real_data_array.replace(data_ar)
|
75
|
+
real_data_array
|
76
|
+
end
|
57
77
|
ar.type = typ unless ar.type
|
58
78
|
ar.to_xml(bdal_n)
|
59
79
|
end
|
@@ -32,7 +32,15 @@ module MS
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def default_array_length
|
35
|
-
|
35
|
+
if @data_arrays
|
36
|
+
if @data_arrays.first
|
37
|
+
@data_arrays.first.size
|
38
|
+
else
|
39
|
+
0
|
40
|
+
end
|
41
|
+
else
|
42
|
+
0
|
43
|
+
end
|
36
44
|
end
|
37
45
|
|
38
46
|
# see SpectrumList for generating the entire list
|
data/lib/ms/mzml/scan_list.rb
CHANGED
data/obo/ims.obo
CHANGED
@@ -299,7 +299,7 @@ relationship: is_a IMS:1000001 ! Ibd Offest Handle
|
|
299
299
|
relationship: has_units UO:0000189 ! Count
|
300
300
|
|
301
301
|
[Term]
|
302
|
-
id: IMS:
|
302
|
+
id: IMS:1000104
|
303
303
|
name: external encoded length
|
304
304
|
def: "Describes the length of the written data." [COMPUTIS:IMS]
|
305
305
|
xref: value-type:xsd\:nonNegativeInteger "The allowed value-type for this CV term."
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mspire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ date: 2012-02-23 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
17
|
-
requirement: &
|
17
|
+
requirement: &19554840 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '1.5'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *19554840
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bsearch
|
28
|
-
requirement: &
|
28
|
+
requirement: &19553820 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *19553820
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: andand
|
39
|
-
requirement: &
|
39
|
+
requirement: &19552180 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 1.3.1
|
45
45
|
type: :runtime
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *19552180
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: obo
|
50
|
-
requirement: &
|
50
|
+
requirement: &19550640 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 0.1.0
|
56
56
|
type: :runtime
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *19550640
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: rspec
|
61
|
-
requirement: &
|
61
|
+
requirement: &19565640 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '2.6'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *19565640
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: jeweler
|
72
|
-
requirement: &
|
72
|
+
requirement: &19564260 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 1.5.2
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *19564260
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rcov
|
83
|
-
requirement: &
|
83
|
+
requirement: &19563540 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *19563540
|
92
92
|
description: mass spectrometry proteomics, lipidomics, and tools, a rewrite of mspire,
|
93
93
|
merging of ms-* gems
|
94
94
|
email: jtprince@gmail.com
|