bel_parser 1.0.0.alpha.60-java → 1.0.0.alpha.61-java
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a35ee454b07ae1a3be4ebf49805f37cf48ebb7e
|
4
|
+
data.tar.gz: 657ea7e596653e46ecfb53484fe05b847b78b0fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d7d5f580a2117b778af23486dafc9bc2847c90347e224aa2684ddc9fa365e8088cb689ffe25bfa02e51f4fa2fce8d4ebc2a01357cb86e6a44ae594f158c6590
|
7
|
+
data.tar.gz: 1128d47705f8f5a6eb3f1eaee0788a3978dfa23cfe7b16a6a3206dfce448952a89907340424824472bfe33c27c443cdc9f7755be5540735e8ff5019b3f55a616
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0.alpha.
|
1
|
+
1.0.0.alpha.61
|
@@ -0,0 +1,123 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift(
|
3
|
+
File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib'))
|
4
|
+
|
5
|
+
require 'optparse'
|
6
|
+
require 'bel_parser'
|
7
|
+
|
8
|
+
options = {
|
9
|
+
uri_reader: BELParser::Resource.default_uri_reader,
|
10
|
+
url_reader: BELParser::Resource.default_url_reader,
|
11
|
+
spec: BELParser::Language.specification(
|
12
|
+
BELParser::Language.latest_supported_version)
|
13
|
+
}
|
14
|
+
OptionParser.new do |opts|
|
15
|
+
opts.banner = <<-USAGE.gsub(/^ {4}/, '')
|
16
|
+
Confirm compatibility with BEL 2.0 expressions.
|
17
|
+
USAGE
|
18
|
+
end.parse!
|
19
|
+
|
20
|
+
def syntax_results(results)
|
21
|
+
results.select do |res|
|
22
|
+
res.is_a? BELParser::Language::Syntax::SyntaxResult
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def semantics_results(results)
|
27
|
+
results.select do |res|
|
28
|
+
res.is_a? BELParser::Language::Semantics::SemanticsResult
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
require 'bel_parser/expression/validator'
|
33
|
+
require 'bel_parser/resource/resource_url_reader'
|
34
|
+
|
35
|
+
uri_reader, url_reader = options.values_at(:uri_reader, :url_reader)
|
36
|
+
|
37
|
+
namespaces = Hash[
|
38
|
+
ARGV.map do |ns|
|
39
|
+
keyword, identifier = ns.split('=')
|
40
|
+
[keyword, BELParser::Expression::Model::Namespace.new(keyword, identifier, nil)]
|
41
|
+
end.compact
|
42
|
+
]
|
43
|
+
|
44
|
+
def validate(expression)
|
45
|
+
v2 = BELParser::Language.specification('2.0')
|
46
|
+
ns = {
|
47
|
+
'CHEBI' =>
|
48
|
+
BELParser::Expression::Model::Namespace.new(
|
49
|
+
'CHEBI',
|
50
|
+
'http://www.openbel.org/bel/namespace/chebi',
|
51
|
+
nil),
|
52
|
+
'GOCC' =>
|
53
|
+
BELParser::Expression::Model::Namespace.new(
|
54
|
+
'GOCC',
|
55
|
+
'http://www.openbel.org/bel/namespace/go-cellular-component',
|
56
|
+
nil),
|
57
|
+
'HGNC' =>
|
58
|
+
BELParser::Expression::Model::Namespace.new(
|
59
|
+
'HGNC',
|
60
|
+
'http://www.openbel.org/bel/namespace/hgnc-human-genes',
|
61
|
+
nil),
|
62
|
+
'DEFAULT' =>
|
63
|
+
BELParser::Expression::Model::Namespace.new(
|
64
|
+
'DEFAULT',
|
65
|
+
'http://www.openbel.org/bel/namespace/default',
|
66
|
+
nil)
|
67
|
+
}
|
68
|
+
uri_reader = BELParser::Resource.default_uri_reader
|
69
|
+
url_reader = BELParser::Resource.default_url_reader
|
70
|
+
|
71
|
+
BELParser::Expression::Validator
|
72
|
+
.new(v2, ns, uri_reader, url_reader)
|
73
|
+
.each(StringIO.new(expression)) do |(line_number, line, ast, results)|
|
74
|
+
puts "#{line_number}: #{line}"
|
75
|
+
puts " AST Type: #{ast.type}"
|
76
|
+
|
77
|
+
puts " Syntax results:"
|
78
|
+
|
79
|
+
results.syntax_results.each do |res|
|
80
|
+
puts " #{res}"
|
81
|
+
end
|
82
|
+
|
83
|
+
puts " Semantics results:"
|
84
|
+
results.semantics_results.each do |res|
|
85
|
+
if res.is_a?(BELParser::Language::Semantics::SignatureMappingSuccess)
|
86
|
+
puts " Matched signature: #{res.signature.string_form}"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
puts "Protein Variant"
|
93
|
+
validate('proteinAbundance(HGNC:PIK3CA, variant("p.Glu545Lys"))')
|
94
|
+
validate('p(HGNC:ABCA1, var("p.Arg1851*"))')
|
95
|
+
puts
|
96
|
+
|
97
|
+
puts "Protein Fusion"
|
98
|
+
validate('proteinAbundance(fusion(HGNC:BCR, "p.1_426", HGNC:JAK2, "p.812_1132"))')
|
99
|
+
puts
|
100
|
+
|
101
|
+
puts "Protein Cleavage Fragments"
|
102
|
+
validate('p(HGNC:AKT1, frag("5_20"))')
|
103
|
+
validate('p(HGNC:AKT1, frag("1_?"))')
|
104
|
+
validate('p(HGNC:AKT1, frag("?_*"))')
|
105
|
+
validate('p(HGNC:AKT1, frag("?"))')
|
106
|
+
validate('p(HGNC:AKT1, frag("?", "55kD"))')
|
107
|
+
puts
|
108
|
+
|
109
|
+
puts "Cellular locations"
|
110
|
+
validate('a(CHEBI:"calcium(2+)", loc(GOCC:"endoplasmic reticulum"))')
|
111
|
+
puts
|
112
|
+
|
113
|
+
puts "Translocation with cellular location"
|
114
|
+
validate('tloc(p(HGNC:EGFR), fromLoc(GOCC:"cell surface"), toLoc(GOCC:endosome))')
|
115
|
+
puts
|
116
|
+
|
117
|
+
puts "Process Modifiers"
|
118
|
+
validate('act(p(HGNC:FOXO1), ma(DEFAULT:tscript))')
|
119
|
+
validate('activity(proteinAbundance(MGI:Casp3), molecularActivity(DEFAULT:pep))')
|
120
|
+
puts
|
121
|
+
|
122
|
+
puts "Regulates relationship"
|
123
|
+
validate('p(HGNC:AKT1) regulates p(HGNC:EGFR)')
|
@@ -15,6 +15,7 @@ module BELParser
|
|
15
15
|
return nil unless stmt_node.is_a?(BELParser::Parsers::AST::Statement)
|
16
16
|
return nil if stmt_node.relationship.string_literal.nil?
|
17
17
|
rel = spec.relationship(stmt_node.relationship.string_literal.to_sym)
|
18
|
+
return nil unless rel
|
18
19
|
return nil unless rel.listable?
|
19
20
|
|
20
21
|
list_func = spec.function(:list)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bel_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.alpha.
|
4
|
+
version: 1.0.0.alpha.61
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Anthony Bargnesi
|
@@ -46,6 +46,7 @@ executables:
|
|
46
46
|
- bel2_debug_ast
|
47
47
|
- bel2_validator
|
48
48
|
- bel_script_reader
|
49
|
+
- bel2_compatibility
|
49
50
|
extensions: []
|
50
51
|
extra_rdoc_files: []
|
51
52
|
files:
|
@@ -54,6 +55,7 @@ files:
|
|
54
55
|
- LICENSE
|
55
56
|
- README.md
|
56
57
|
- VERSION
|
58
|
+
- bin/bel2_compatibility
|
57
59
|
- bin/bel2_debug_ast
|
58
60
|
- bin/bel2_upgrade
|
59
61
|
- bin/bel2_validator
|