Skip to content
This repository was archived by the owner on Sep 24, 2019. It is now read-only.

Commit 5d44fd0

Browse files
author
Anthony Bargnesi
committed
return annotation/namespace defs in BEL Script
removed normalization of experiment_context annotation keywords. The normalized names were in inconsistent with references.annotations definitions. integrate next version of bel.rb (0.4.3) to get fixes for annotation/namespace formats. refs #95
1 parent 92f7e7e commit 5d44fd0

File tree

3 files changed

+20
-17
lines changed

3 files changed

+20
-17
lines changed

.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
3434
# Dependencies
3535

3636
## bel.rb
37-
spec.add_runtime_dependency 'bel', '0.4.1'
37+
spec.add_runtime_dependency 'bel', '0.4.3'
3838

3939
## bel.rb plugin - annotation/namespace search
4040
spec.add_runtime_dependency 'bel-search-sqlite', '0.4.2'

app/openbel/api/resources/evidence_transform.rb

+1-13
Original file line numberDiff line numberDiff line change
@@ -94,23 +94,11 @@ def structured_annotation(name, value, base_url)
9494

9595
def free_annotation(name, value)
9696
{
97-
:name => normalize_annotation_name(name),
97+
:name => name,
9898
:value => value
9999
}
100100
end
101101

102-
def normalize_annotation_name(name, options = {})
103-
name_s = name.to_s
104-
105-
if name_s.empty?
106-
nil
107-
else
108-
name_s.
109-
split(%r{[^a-zA-Z0-9]+}).
110-
map! { |word| word.capitalize }.
111-
join
112-
end
113-
end
114102
end
115103

116104
class AnnotationGroupingTransform

app/openbel/api/routes/datasets.rb

+18-3
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,23 @@ def retrieve_dataset(uri)
177177

178178
dataset
179179
end
180+
181+
def keys_to_symbols(obj)
182+
case obj
183+
when Array
184+
obj.inject([]) {|new_array, v|
185+
new_array << keys_to_symbols(v)
186+
new_array
187+
}
188+
when Hash
189+
obj.inject({}) {|new_hash, (k, v)|
190+
new_hash[k.to_sym] = keys_to_symbols(v)
191+
new_hash
192+
}
193+
else
194+
obj
195+
end
196+
end
180197
end
181198

182199
options '/api/datasets' do
@@ -404,9 +421,7 @@ def retrieve_dataset(uri)
404421
json_evidence_enum = cursor.lazy.map { |evidence|
405422
evidence.delete('facets')
406423
evidence.delete('_id')
407-
evidence.keys.each do |key|
408-
evidence[key.to_sym] = evidence.delete(key)
409-
end
424+
evidence = keys_to_symbols(evidence)
410425
BEL::Model::Evidence.create(evidence)
411426
}
412427

0 commit comments

Comments
 (0)