mspire 0.6.7 → 0.6.9

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.
Files changed (59) hide show
  1. data/Rakefile +5 -0
  2. data/VERSION +1 -1
  3. data/lib/cv/param.rb +25 -5
  4. data/lib/cv/referenceable_param_group_ref.rb +13 -0
  5. data/lib/cv.rb +3 -1
  6. data/lib/ms/cv/param.rb +19 -24
  7. data/lib/ms/cv/paramable.rb +42 -0
  8. data/lib/ms/mzml/activation.rb +33 -0
  9. data/lib/ms/mzml/chromatogram.rb +29 -0
  10. data/lib/ms/mzml/chromatogram_list.rb +26 -0
  11. data/lib/ms/mzml/component.rb +21 -0
  12. data/lib/ms/mzml/contact.rb +23 -0
  13. data/lib/ms/mzml/cv.rb +46 -0
  14. data/lib/ms/mzml/data_array.rb +65 -0
  15. data/lib/ms/mzml/data_array_container_like.rb +57 -0
  16. data/lib/ms/mzml/data_processing.rb +27 -0
  17. data/lib/ms/mzml/file_content.rb +21 -0
  18. data/lib/ms/mzml/file_description.rb +47 -0
  19. data/lib/ms/mzml/instrument_configuration.rb +37 -0
  20. data/lib/ms/mzml/isolation_window.rb +21 -0
  21. data/lib/ms/mzml/list.rb +23 -0
  22. data/lib/ms/mzml/precursor.rb +42 -0
  23. data/lib/ms/mzml/processing_method.rb +24 -0
  24. data/lib/ms/mzml/product.rb +22 -0
  25. data/lib/ms/mzml/referenceable_param_group.rb +40 -0
  26. data/lib/ms/mzml/run.rb +54 -0
  27. data/lib/ms/mzml/sample.rb +27 -0
  28. data/lib/ms/mzml/scan.rb +44 -0
  29. data/lib/ms/mzml/scan_list.rb +33 -0
  30. data/lib/ms/mzml/scan_settings.rb +28 -0
  31. data/lib/ms/mzml/selected_ion.rb +18 -0
  32. data/lib/ms/mzml/software.rb +28 -0
  33. data/lib/ms/mzml/source_file.rb +48 -0
  34. data/lib/ms/mzml/spectrum.rb +91 -0
  35. data/lib/ms/mzml/spectrum_list.rb +42 -0
  36. data/lib/ms/mzml.rb +173 -6
  37. data/lib/ms/quant/qspec/protein_group_comparison.rb +3 -3
  38. data/lib/ms/quant/qspec.rb +4 -4
  39. data/lib/ms/spectrum.rb +137 -260
  40. data/lib/ms/spectrum_like.rb +133 -0
  41. data/lib/ms/user_param.rb +43 -0
  42. data/lib/mspire.rb +6 -0
  43. data/obo/ms.obo +670 -121
  44. data/obo/unit.obo +23 -1
  45. data/spec/ms/cv/param_spec.rb +33 -0
  46. data/spec/ms/mzml/cv_spec.rb +17 -0
  47. data/spec/ms/mzml/file_content_spec.rb +25 -0
  48. data/spec/ms/mzml/file_description_spec.rb +34 -0
  49. data/spec/ms/mzml/referenceable_param_group_spec.rb +33 -0
  50. data/spec/ms/mzml_spec.rb +65 -4
  51. data/spec/ms/user_param_spec.rb +51 -0
  52. data/spec/mspire_spec.rb +9 -0
  53. data/spec/testfiles/ms/mzml/mspire_simulated.noidx.check.mzML +81 -0
  54. metadata +57 -21
  55. data/lib/cv/description.rb +0 -19
  56. data/lib/ms/cv/description.rb +0 -44
  57. data/lib/msplat.rb +0 -2
  58. data/spec/ms/cv/description_spec.rb +0 -60
  59. data/spec/msplat_spec.rb +0 -24
@@ -1,44 +0,0 @@
1
- require 'ms/cv/param'
2
-
3
- module MS
4
- module CV
5
- # An MS::Description is a convenient way to specify several mass spec related
6
- # cvParam objects at once.
7
- #
8
- # examples of usage:
9
- #
10
- # Description.new( <CV::Param> )
11
- # Description['MS:1000004', ['MS:1000004'], ['IMS:1000042', 23], param_obj, args]
12
- # Description.new do
13
- # param MS:1000004
14
- # param MS:1000042, 23
15
- # end
16
- class Description < Array
17
-
18
- # ensures that each argument is an argument that can be handled by
19
- # CV::Param. Returns the Description object it creates
20
- def self.[](*args)
21
- list = self.new
22
- args.each do |arg|
23
- arg.is_a?(Array) ? list.param(*arg) : list.param(arg)
24
- end
25
- list
26
- end
27
-
28
- # takes a list of valid CV::Param objects, or they can be set in the block
29
- # using param
30
- def initialize(*args, &block)
31
- args.each {|arg| param(arg) }
32
- instance_eval &block if block
33
- end
34
-
35
- # if the first object is a MS::CV::Param it is just pushed onto the list,
36
- # otherwise the arguments are sent in to initialize a fresh MS::CV::Param,
37
- # and this object is pushed onto the list.
38
- def param(*args)
39
- push args.first.is_a?(::CV::Param) ? args.first : MS::CV::Param.new(*args)
40
- end
41
- end
42
-
43
- end
44
- end
data/lib/msplat.rb DELETED
@@ -1,2 +0,0 @@
1
-
2
- require 'ms/mass/aa' # requires ms/mass
@@ -1,60 +0,0 @@
1
- require 'spec_helper'
2
- require 'ms/cv/description'
3
- require 'cv'
4
-
5
- describe 'appending CV params objects to an MS::CV::Description' do
6
- describe 'intelligently appending params with #param' do
7
- before do
8
- @cv = MS::CV::Description.new
9
- end
10
- it 'sends detailed descriptions to CV::Param.new' do
11
- arglist = [
12
- ['IMS', 'IMS:1000052', 'position z', 22],
13
- ['IMS', 'IMS:1000030', 'continuous'],
14
- ['IMS', 'IMS:1000052', 'position z', 22, 'UO:0000008'],
15
- ['IMS', 'IMS:1000030', 'continuous', 'UO:0000008'],
16
- ['IMS', 'IMS:1000052', 'position z', 22, MS::CV::Param.new('UO:0000008')],
17
- ['IMS', 'IMS:1000030', 'continuous', MS::CV::Param.new('UO:0000008')],
18
- ]
19
- arglist.each do |args|
20
- @cv.param *args
21
- end
22
- @cv.size.should == arglist.size
23
- arglist.each_with_index do |args, i|
24
- @cv[i].should == MS::CV::Param.new(*args)
25
- end
26
- end
27
- it 'deciphers short accession descriptions' do
28
- @cv.param 'MS:1000004' # sample mass
29
- @cv.param 'IMS:1000042', 23 # max count of pixels x
30
- {cv_ref: 'MS', accession: 'MS:1000004', name: 'sample mass', value: nil}.each do |key,val|
31
- @cv[0].send(key).should == val
32
- end
33
- {cv_ref: 'IMS', accession: 'IMS:1000042', name: 'max count of pixels x', value: 23}.each do |key,val|
34
- @cv[1].send(key).should == val
35
- end
36
- end
37
- describe 'appending on initialization' do
38
- it 'can be done with a block' do
39
- cvlist = MS::CV::Description.new do
40
- param 'MS:1000004' # sample mass
41
- param 'IMS:1000042', 23 # max count of pixels of y
42
- end
43
- cvlist.size.should == 2
44
- end
45
- end
46
-
47
- it 'can be done with brackets' do
48
- args = ['IMS', 'IMS:1000052', 'position z', 22]
49
- param_obj = CV::Param.new(*args)
50
- cvlist = MS::CV::Description['MS:1000004', ['MS:1000004'], ['IMS:1000042', 23], param_obj, args]
51
- cvlist.size.should == 5
52
- cvlist[0].should == cvlist[1]
53
- cvlist.each do |param|
54
- param.accession.should_not be_nil
55
- param.name.should_not be_nil
56
- param.cv_ref.should_not be_nil
57
- end
58
- end
59
- end
60
- end
data/spec/msplat_spec.rb DELETED
@@ -1,24 +0,0 @@
1
- require 'spec_helper'
2
-
3
- require 'msplat'
4
-
5
- class String
6
- def const
7
- self.split('::').inject(Kernel) {|scope, const_name| scope.const_get(const_name)}
8
- end
9
- end
10
-
11
- describe "msplat" do
12
- it "requires major classes/modules" do
13
- %w(
14
- MS::Mass
15
- MS::Mass::AA
16
- ).each do |str|
17
- expect { str.const }.to be_true
18
- end
19
- # for sanity's sake
20
- %w(MS::DoesntExit).each do |str|
21
- expect { str.const }.to raise_error(NameError)
22
- end
23
- end
24
- end