bel 0.3.1-x86-mingw32 → 0.3.2-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDY2ZjZlNDk3YWU1NTRhY2MyYWY2NDY4YTcwNDdiMjFiNjBiOTg5NQ==
5
- data.tar.gz: !binary |-
6
- YjI2ODBjNzYzOWQ2MmFjMGY5ZDBhOGJmODYwYmQ1ZTMxN2ZlZWRjMA==
2
+ SHA1:
3
+ metadata.gz: b904dc5c082a7840622b2c34f11df39a61dab018
4
+ data.tar.gz: 2dd8041e0a1e42d102bb1296c89374905b55facb
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZTI1MzUxYWM0NjAzZDdjOTBjMjk5MGYxYmFjNGQwYjdmN2MxMWIwMjIwNjA2
10
- NDc5MmJkOGQzODBjYTJlZjQ3MDliNmZkNGQ0MjM3YzQyNDc1Mzg1YmYwNGQ4
11
- YWQ2MTFkZDM2MTdiMmFmMzgxYjhkZDJhNTNkMmZlY2UyYjNhZmQ=
12
- data.tar.gz: !binary |-
13
- OTFiNGUwMWQ4OTg3MmI4MTlhZTQ3NzdkMGQzNzY4MmE3MDcwZjMzYTJhZWY4
14
- Y2M4MzlmNjg1Y2ZjYjkzMDY0ODFhYjUxOTE4MDE5MmUwODQwM2ViNzRiZjFk
15
- ZjJlMWQ1ZDFjNzliMWVmMDNjMjVhYWRhOGYxZTIxODFiOWRiZjA=
6
+ metadata.gz: dc0524b0880f5e4dfcf689af3dac069d2ca17239c03b6779f8737c82dac88b1ae07342dc4ad8844594700ef9c64c44760d76dd38e8c2e8445404519752529d0c
7
+ data.tar.gz: d9c2251d7fb229005076ca85e7a09313b76f072b3b6b98267930b60f9b1615672de8e07d2a95e63df085f5b83648ab08155cb3a4d237a0d097231daa77db1505
data/README.md CHANGED
@@ -3,6 +3,14 @@ bel ruby
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/bel.svg)](http://badge.fury.io/rb/bel)
5
5
 
6
+ [![Changelog](https://img.shields.io/badge/bel.rb-changelog-brightgreen.svg)](https://github.com/OpenBEL/bel.rb/blob/master/CHANGELOG.md)
7
+
8
+ [![Issues](https://img.shields.io/github/issues/OpenBEL/bel.rb.svg)](https://github.com/OpenBEL/bel.rb/issues)
9
+
10
+ [![Dependencies](https://img.shields.io/gemnasium/OpenBEL/bel.rb.svg)]()
11
+
12
+ [![Join the chat at https://gitter.im/OpenBEL/bel.rb](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/OpenBEL/bel.rb?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
13
+
6
14
  The bel ruby gem allows the reading, writing, and processing of BEL (Biological Expression Language) with a natural DSL.
7
15
 
8
16
  Learn more on [BEL](http://www.openbel.org/content/bel-lang-language).
@@ -22,6 +30,8 @@ Dependencies
22
30
 
23
31
  Install / Build: See [INSTALL](INSTALL.md).
24
32
 
33
+ A changelog is maintained at [CHANGELOG][CHANGELOG].
34
+
25
35
  branches
26
36
  --------
27
37
 
@@ -53,7 +63,7 @@ executable commands
53
63
  upgrade
54
64
 
55
65
 
56
- bel 0.3.1
66
+ bel 0.3.2
57
67
  Copyright (C) 2015 OpenBEL
58
68
  Apache License, Version 2.0, January 2004
59
69
  http://www.apache.org/licenses/
@@ -355,3 +365,5 @@ api examples
355
365
  end
356
366
  end
357
367
  ```
368
+
369
+ [CHANGELOG]: https://github.com/OpenBEL/bel.rb/blob/master/CHANGELOG.md
@@ -57,12 +57,15 @@ Gem::Specification.new do |spec|
57
57
  spec.add_dependency 'ffi', '1.9.8'
58
58
 
59
59
  # test rdf functionality
60
- spec.add_development_dependency 'uuid', '~> 2.3'
61
60
  spec.add_development_dependency 'addressable', '~> 2.3'
62
61
  spec.add_development_dependency 'rdf', '~> 1.1'
63
62
  spec.add_development_dependency 'rdf-turtle', '~> 1.1'
63
+ spec.add_development_dependency 'uuid', '~> 2.3'
64
64
 
65
65
  # development gems
66
+ spec.add_development_dependency 'byebug', '~> 5.0'
67
+ spec.add_development_dependency 'minitest', '~> 5.7'
68
+ spec.add_development_dependency 'pry-byebug', '~> 3.2'
66
69
  spec.add_development_dependency 'rake', '~> 10.4'
67
70
  spec.add_development_dependency 'rake-compiler', '~> 0.9'
68
71
  spec.add_development_dependency 'rdoc', '~> 4.2'
data/bin/bel CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ $: << File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib')
2
3
  require 'erb'
3
4
  require 'bel'
4
5
  require 'bel/vendor/trollop'
@@ -128,9 +128,9 @@ end
128
128
  # read bel content
129
129
  content =
130
130
  if options[:bel]
131
- File.open(options[:bel]).read
131
+ File.open(options[:bel], :external_encoding => 'UTF-8')
132
132
  else
133
- $stdin.read
133
+ $stdin
134
134
  end
135
135
 
136
136
  # parse and write rdf
@@ -46,11 +46,11 @@ threads = []
46
46
  first_groups = {}
47
47
  second_groups = {}
48
48
  threads << Thread.new {
49
- first_groups.update(fetch_groups(File.read(ARGV[0])))
49
+ first_groups.update(fetch_groups(File.open(ARGV[0], :external_encoding => 'UTF-8')))
50
50
  }
51
51
 
52
52
  threads << Thread.new {
53
- second_groups.update(fetch_groups(File.read(ARGV[1])))
53
+ second_groups.update(fetch_groups(File.open(ARGV[1], :external_encoding => 'UTF-8')))
54
54
  }
55
55
 
56
56
  threads.each { |t| t.join }
@@ -35,7 +35,7 @@ end
35
35
  # read bel content
36
36
  content =
37
37
  if options[:bel]
38
- File.open(options[:bel])
38
+ File.open(options[:bel], :external_encoding => 'UTF-8')
39
39
  else
40
40
  $stdin
41
41
  end
@@ -21,7 +21,7 @@ end.parse!
21
21
  # read bel content
22
22
  content =
23
23
  if options[:bel]
24
- File.open(options[:bel])
24
+ File.open(options[:bel], :external_encoding => 'UTF-8')
25
25
  else
26
26
  $stdin
27
27
  end
@@ -52,7 +52,7 @@ end
52
52
  # read bel content
53
53
  content =
54
54
  if options[:bel]
55
- File.open(options[:bel])
55
+ File.open(options[:bel], :external_encoding => 'UTF-8')
56
56
  else
57
57
  $stdin
58
58
  end
@@ -60,7 +60,7 @@ end
60
60
  # read change log
61
61
  changelog = nil
62
62
  if File.exists? options[:change_log]
63
- File.open(options[:change_log]) do |f|
63
+ File.open(options[:change_log], :external_encoding => 'UTF-8') do |f|
64
64
  changelog = JSON.parse(f.read)
65
65
  end
66
66
  else
Binary file
Binary file
Binary file
@@ -6,7 +6,7 @@ module BEL
6
6
  def valid?
7
7
  return false unless value
8
8
  return true unless @ns
9
- @ns.respond_to?(:values) && ns.values.include?(value)
9
+ @ns.respond_to?(:values) && ns.values.include?(value.to_sym)
10
10
  end
11
11
  end
12
12
 
@@ -9,10 +9,56 @@ module BEL
9
9
  @arguments = (arguments ||= []).flatten
10
10
  end
11
11
 
12
+ def initialize(fx, *arguments)
13
+ @fx = case fx
14
+ when String
15
+ BEL::Language::Function.new(FUNCTIONS[fx.to_sym])
16
+ when Symbol
17
+ BEL::Language::Function.new(FUNCTIONS[fx.to_sym])
18
+ when BEL::Language::Function
19
+ fx
20
+ when nil
21
+ raise ArgumentError, 'fx must not be nil'
22
+ end
23
+ @arguments = (arguments ||= []).flatten
24
+ @signature = Signature.new(
25
+ @fx[:short_form],
26
+ *@arguments.map { |arg|
27
+ case arg
28
+ when Term
29
+ F.new(arg.fx.return_type)
30
+ when Parameter
31
+ E.new(arg.enc)
32
+ when nil
33
+ NullE.new
34
+ end
35
+ })
36
+ end
37
+
12
38
  def <<(item)
13
39
  @arguments << item
14
40
  end
15
41
 
42
+ def valid?
43
+ invalid_signatures = @arguments.find_all { |arg|
44
+ arg.is_a? Term
45
+ }.find_all { |term|
46
+ not term.valid?
47
+ }
48
+ return false if not invalid_signatures.empty?
49
+
50
+ sigs = @fx.signatures
51
+ sigs.any? do |sig| (@signature <=> sig) >= 0 end
52
+ end
53
+
54
+ def valid_signatures
55
+ @fx.signatures.find_all { |sig| (@signature <=> sig) >= 0 }
56
+ end
57
+
58
+ def invalid_signatures
59
+ @fx.signatures.find_all { |sig| (@signature <=> sig) < 0 }
60
+ end
61
+
16
62
  def hash
17
63
  [@fx, @arguments].hash
18
64
  end
@@ -25,9 +71,10 @@ module BEL
25
71
 
26
72
  def to_bel
27
73
  arguments = [@arguments].flatten.map(&:to_bel).join(',')
28
- "#@fx(#{arguments})"
74
+ "#{@fx.short_form}(#{arguments})"
29
75
  end
30
76
  alias_method :to_s, :to_bel
31
77
  end
32
78
  end
33
79
  end
80
+
@@ -129,6 +129,7 @@ module BEL::Extension::Format
129
129
  bel_statements.map { |bel_statement|
130
130
  graph_name = graph[:label] || graph[:id] || 'BEL Graph'
131
131
  metadata = ::BEL::Model::Metadata.new
132
+ references = ::BEL::Model::References.new
132
133
 
133
134
  # establish document header
134
135
  metadata.document_header[:Name] = graph_name
@@ -153,7 +154,7 @@ module BEL::Extension::Format
153
154
  }
154
155
  ]
155
156
  end
156
- metadata.annotation_definitions = annotations if annotations
157
+ references.annotation_definitions = annotations if annotations
157
158
 
158
159
  # establish namespace definitions
159
160
  namespaces = graph.fetch(:metadata, {}).
@@ -170,11 +171,12 @@ module BEL::Extension::Format
170
171
  }
171
172
  ]
172
173
  end
173
- metadata.namespace_definitions = namespaces if namespaces
174
+ references.namespace_definitions = namespaces if namespaces
174
175
 
175
176
  ::BEL::Model::Evidence.create(
176
177
  :bel_statement => bel_statement,
177
- :metadata => metadata
178
+ :metadata => metadata,
179
+ :references => references
178
180
  )
179
181
  }
180
182
  end
@@ -27,147 +27,163 @@ module BEL
27
27
  # maps outer function to bel/vocabulary class
28
28
  FUNCTION_TYPE = {
29
29
  a: BELV.Abundance,
30
- abundance: BELV.Abundance,
31
- g: BELV.GeneAbundance,
32
- geneAbundance: BELV.GeneAbundance,
33
- p: BELV.ProteinAbundance,
34
- proteinAbundance: BELV.ProteinAbundance,
35
- r: BELV.RNAAbundance,
36
- rnaAbundance: BELV.RNAAbundance,
37
- m: BELV.microRNAAbundance,
38
- microRNAAbundance: BELV.microRNAAbundance,
30
+ act: BELV.AbundanceActivity,
31
+ bp: BELV.BiologicalProcess,
32
+ cat: BELV.AbundanceActivity,
33
+ chap: BELV.AbundanceActivity,
39
34
  complex: BELV.ComplexAbundance,
40
- complexAbundance: BELV.ComplexAbundance,
41
35
  composite: BELV.CompositeAbundance,
42
- compositeAbundance: BELV.CompositeAbundance,
43
- bp: BELV.BiologicalProcess,
44
- biologicalProcess: BELV.BiologicalProcess,
36
+ deg: BELV.Degradation,
37
+ fus: BELV.Fusion,
38
+ g: BELV.GeneAbundance,
39
+ gtp: BELV.AbundanceActivity,
40
+ kin: BELV.AbundanceActivity,
41
+ m: BELV.microRNAAbundance,
42
+ p: BELV.ProteinAbundance,
45
43
  path: BELV.Pathology,
46
- pathology: BELV.Pathology,
44
+ pep: BELV.AbundanceActivity,
45
+ phos: BELV.AbundanceActivity,
46
+ pmod: BELV.ProteinModification,
47
+ r: BELV.RNAAbundance,
48
+ ribo: BELV.AbundanceActivity,
47
49
  rxn: BELV.Reaction,
48
- reaction: BELV.Reaction,
49
- tloc: BELV.Translocation,
50
- translocation: BELV.Translocation,
51
50
  sec: BELV.CellSecretion,
52
- cellSecretion: BELV.CellSecretion,
53
- deg: BELV.Degradation,
54
- degradation: BELV.Degradation,
55
- cat: BELV.AbundanceActivity,
51
+ sub: BELV.Substitution,
52
+ surf: BELV.CellSurfaceExpression,
53
+ tloc: BELV.Translocation,
54
+ tport: BELV.AbundanceActivity,
55
+ tscript: BELV.AbundanceActivity,
56
+ abundance: BELV.Abundance,
57
+ biologicalProcess: BELV.BiologicalProcess,
56
58
  catalyticActivity: BELV.AbundanceActivity,
57
- chap: BELV.AbundanceActivity,
59
+ cellSecretion: BELV.CellSecretion,
60
+ cellSurfaceExpression: BELV.CellSurfaceExpression,
58
61
  chaperoneActivity: BELV.AbundanceActivity,
59
- gtp: BELV.AbundanceActivity,
62
+ complexAbundance: BELV.ComplexAbundance,
63
+ compositeAbundance: BELV.CompositeAbundance,
64
+ degradation: BELV.Degradation,
65
+ fusion: BELV.Fusion,
66
+ geneAbundance: BELV.GeneAbundance,
60
67
  gtpBoundActivity: BELV.AbundanceActivity,
61
- kin: BELV.AbundanceActivity,
62
68
  kinaseActivity: BELV.AbundanceActivity,
63
- act: BELV.AbundanceActivity,
69
+ list: BELV.List,
70
+ microRNAAbundance: BELV.microRNAAbundance,
64
71
  molecularActivity: BELV.AbundanceActivity,
65
- pep: BELV.AbundanceActivity,
72
+ pathology: BELV.Pathology,
66
73
  peptidaseActivity: BELV.AbundanceActivity,
67
- phos: BELV.AbundanceActivity,
68
74
  phosphataseActivity: BELV.AbundanceActivity,
69
- ribo: BELV.AbundanceActivity,
75
+ products: BELV.Products,
76
+ proteinAbundance: BELV.ProteinAbundance,
77
+ proteinModification: BELV.ProteinModification,
78
+ reactants: BELV.Reactants,
79
+ reaction: BELV.Reaction,
70
80
  ribosylationActivity: BELV.AbundanceActivity,
71
- tscript: BELV.AbundanceActivity,
81
+ rnaAbundance: BELV.RNAAbundance,
82
+ substitution: BELV.Substitution,
72
83
  transcriptionalActivity: BELV.AbundanceActivity,
73
- tport: BELV.AbundanceActivity,
74
- transportActivity: BELV.AbundanceActivity
84
+ translocation: BELV.Translocation,
85
+ transportActivity: BELV.AbundanceActivity,
86
+ truncation: BELV.Truncation,
75
87
  }
76
88
 
77
89
  RELATIONSHIP_TYPE = {
78
- 'association' => BELV.Association,
79
90
  '--' => BELV.Association,
91
+ '-|' => BELV.Decreases,
92
+ '=|' => BELV.DirectlyDecreases,
93
+ '=>' => BELV.DirectlyIncreases,
94
+ '->' => BELV.Increases,
95
+ ':>' => BELV.TranscribedTo,
96
+ '>>' => BELV.TranslatedTo,
97
+ 'actsIn' => BELV.ActsIn,
98
+ 'analogous' => BELV.Analogous,
99
+ 'association' => BELV.Association,
80
100
  'biomarkerFor' => BELV.BiomarkerFor,
81
101
  'causesNoChange' => BELV.CausesNoChange,
82
102
  'decreases' => BELV.Decreases,
83
- '-|' => BELV.Decreases,
84
103
  'directlyDecreases' => BELV.DirectlyDecreases,
85
- '=|' => BELV.DirectlyDecreases,
86
104
  'directlyIncreases' => BELV.DirectlyIncreases,
87
- '=>' => BELV.DirectlyIncreases,
88
105
  'hasComponent' => BELV.HasComponent,
106
+ 'hasComponents' => BELV.HasComponents,
89
107
  'hasMember' => BELV.HasMember,
108
+ 'hasMembers' => BELV.HasMembers,
109
+ 'hasModification' => BELV.HasModification,
110
+ 'hasProduct' => BELV.HasProduct,
111
+ 'hasVariant' => BELV.HasVariant,
112
+ 'includes' => BELV.Includes,
90
113
  'increases' => BELV.Increases,
91
- '->' => BELV.Increases,
92
114
  'isA' => BELV.IsA,
93
115
  'negativeCorrelation' => BELV.NegativeCorrelation,
116
+ 'orthologous' => BELV.Orthologous,
94
117
  'positiveCorrelation' => BELV.PositiveCorrelation,
95
118
  'prognosticBiomarkerFor' => BELV.PrognosticBiomarkerFor,
96
119
  'rateLimitingStepOf' => BELV.RateLimitingStepOf,
120
+ 'reactantIn' => BELV.ReactantIn,
97
121
  'subProcessOf' => BELV.SubProcessOf,
98
- ':>' => BELV.TranscribedTo,
99
- '>>' => BELV.TranslatedTo,
100
-
101
- # Supported by schema
102
- # 'actsIn' => BELV.ActsIn, # (BELV.hasChild)
103
-
104
- # Unsupported in schema
105
- #'analogous' => BELV.Analogous,
106
- #'hasModification' => BELV.HasModification,
107
- #'hasProduct' => BELV.HasProduct,
108
- #'hasVariant' => BELV.HasVariant,
109
- #'includes' => BELV.Includes,
110
- #'orthologous' => BELV.Orthologous,
111
- #'reactantIn' => BELV.ReactantIn,
112
- #'transcribedTo' => BELV.TranscribedTo,
113
- #'translatedTo' => BELV.TranslatedTo,
114
- #'translocates' => BELV.Translocates,
115
-
116
- # Macro statements - TODO needs parser AST translation
117
- #'hasComponents' => BELV.HasComponents,
118
- #'hasMembers' => BELV.HasMembers,
122
+ 'transcribedTo' => BELV.TranscribedTo,
123
+ 'translatedTo' => BELV.TranslatedTo,
124
+ 'translocates' => BELV.Translocates,
119
125
  }
120
126
 
121
127
  RELATIONSHIP_CLASSIFICATION = {
122
- :'association' => BELV.CorrelativeRelationship,
123
128
  :'--' => BELV.CorrelativeRelationship,
129
+ :'-|' => BELV.Decreases,
130
+ :'=|' => BELV.DirectlyDecreases,
131
+ :'=>' => BELV.DirectlyIncreases,
132
+ :'->' => BELV.Increases,
133
+ :'association' => BELV.CorrelativeRelationship,
124
134
  :'biomarkerFor' => BELV.BiomarkerFor,
125
135
  :'causesNoChange' => BELV.CausesNoChange,
126
136
  :'decreases' => BELV.Decreases,
127
- :'-|' => BELV.Decreases,
128
137
  :'directlyDecreases' => BELV.DirectlyDecreases,
129
- :'=|' => BELV.DirectlyDecreases,
130
138
  :'directlyIncreases' => BELV.DirectlyIncreases,
131
- :'=>' => BELV.DirectlyIncreases,
132
139
  :'hasComponent' => BELV.HasComponent,
133
140
  :'hasMember' => BELV.HasMember,
134
141
  :'increases' => BELV.Increases,
135
- :'->' => BELV.Increases,
136
142
  :'isA' => BELV.IsA,
137
143
  :'negativeCorrelation' => BELV.NegativeCorrelation,
138
144
  :'positiveCorrelation' => BELV.PositiveCorrelation,
139
145
  :'prognosticBiomarkerFor' => BELV.PrognosticBiomarkerFor,
140
146
  :'rateLimitingStepOf' => BELV.RateLimitingStepOf,
141
- :'subProcessOf' => BELV.SubProcessOf
147
+ :'subProcessOf' => BELV.SubProcessOf,
142
148
  }
143
149
 
144
150
  ACTIVITY_TYPE = {
145
- cat: BELV.Catalytic,
146
- chap: BELV.Chaperone,
147
- gtp: BELV.GtpBound,
148
- kin: BELV.Kinase,
149
- act: BELV.Activity,
150
- pep: BELV.Peptidase,
151
- phos: BELV.Phosphatase,
152
- ribo: BELV.Ribosylase,
153
- tscript: BELV.Transcription,
154
- tport: BELV.Transport
151
+ act: BELV.Activity,
152
+ cat: BELV.Catalytic,
153
+ chap: BELV.Chaperone,
154
+ gtp: BELV.GtpBound,
155
+ kin: BELV.Kinase,
156
+ pep: BELV.Peptidase,
157
+ phos: BELV.Phosphatase,
158
+ ribo: BELV.Ribosylase,
159
+ tport: BELV.Transport,
160
+ tscript: BELV.Transcription,
161
+ catalyticActivity: BELV.Catalytic,
162
+ chaperoneActivity: BELV.Chaperone,
163
+ gtpBoundActivity: BELV.GtpBound,
164
+ kinaseActivity: BELV.Kinase,
165
+ molecularActivity: BELV.Activity,
166
+ peptidaseActivity: BELV.Peptidase,
167
+ phosphataseActivity: BELV.Phosphatase,
168
+ ribosylationActivity: BELV.Ribosylase,
169
+ transcriptionalActivity: BELV.Transcription,
170
+ transportActivity: BELV.Transport,
155
171
  }
156
172
 
157
173
  # maps modification types to bel/vocabulary class
158
174
  MODIFICATION_TYPE = {
159
- 'P,S' => BELV.PhosphorylationSerine,
160
- 'P,T' => BELV.PhosphorylationThreonine,
161
- 'P,Y' => BELV.PhosphorylationTyrosine,
162
175
  'A' => BELV.Acetylation,
163
176
  'F' => BELV.Farnesylation,
164
177
  'G' => BELV.Glycosylation,
165
178
  'H' => BELV.Hydroxylation,
166
179
  'M' => BELV.Methylation,
167
180
  'P' => BELV.Phosphorylation,
181
+ 'P,S' => BELV.PhosphorylationSerine,
182
+ 'P,T' => BELV.PhosphorylationThreonine,
183
+ 'P,Y' => BELV.PhosphorylationTyrosine,
168
184
  'R' => BELV.Ribosylation,
169
185
  'S' => BELV.Sumoylation,
170
- 'U' => BELV.Ubiquitination
186
+ 'U' => BELV.Ubiquitination,
171
187
  }
172
188
 
173
189
  # protein variant