bel_parser 1.0.0.alpha.1
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 +7 -0
- data/.gemspec +28 -0
- data/CHANGELOG.md +10 -0
- data/LICENSE +191 -0
- data/README.md +9 -0
- data/VERSION +1 -0
- data/bin/bel2_termcheck +39 -0
- data/lib/bel_parser.rb +17 -0
- data/lib/bel_parser/ast_filter.rb +27 -0
- data/lib/bel_parser/ast_generator.rb +86 -0
- data/lib/bel_parser/ast_validator.rb +40 -0
- data/lib/bel_parser/expression/parser.rb +42 -0
- data/lib/bel_parser/expression/term_semantics.rb +36 -0
- data/lib/bel_parser/language.rb +7 -0
- data/lib/bel_parser/language/function.rb +59 -0
- data/lib/bel_parser/language/quoting.rb +236 -0
- data/lib/bel_parser/language/semantic_ast.rb +604 -0
- data/lib/bel_parser/language/semantics/analyzer.rb +59 -0
- data/lib/bel_parser/language/signature.rb +39 -0
- data/lib/bel_parser/language/specification.rb +49 -0
- data/lib/bel_parser/language/syntax/expression/incomplete_node.rb +14 -0
- data/lib/bel_parser/language/syntax/expression/invalid_term_function.rb +22 -0
- data/lib/bel_parser/language/version1.rb +50 -0
- data/lib/bel_parser/language/version1/functions/abundance.rb +85 -0
- data/lib/bel_parser/language/version1/functions/biological_process.rb +85 -0
- data/lib/bel_parser/language/version1/functions/catalytic_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/cell_secretion.rb +80 -0
- data/lib/bel_parser/language/version1/functions/cell_surface_expression.rb +80 -0
- data/lib/bel_parser/language/version1/functions/chaperone_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/complex_abundance.rb +115 -0
- data/lib/bel_parser/language/version1/functions/composite_abundance.rb +80 -0
- data/lib/bel_parser/language/version1/functions/degradation.rb +80 -0
- data/lib/bel_parser/language/version1/functions/fusion.rb +302 -0
- data/lib/bel_parser/language/version1/functions/gene_abundance.rb +125 -0
- data/lib/bel_parser/language/version1/functions/gtp_bound_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/kinase_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/list.rb +115 -0
- data/lib/bel_parser/language/version1/functions/micro_rna_abundance.rb +85 -0
- data/lib/bel_parser/language/version1/functions/molecular_activity.rb +80 -0
- data/lib/bel_parser/language/version1/functions/pathology.rb +85 -0
- data/lib/bel_parser/language/version1/functions/peptidase_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/phosphatase_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/products.rb +80 -0
- data/lib/bel_parser/language/version1/functions/protein_abundance.rb +245 -0
- data/lib/bel_parser/language/version1/functions/protein_modification.rb +167 -0
- data/lib/bel_parser/language/version1/functions/reactants.rb +80 -0
- data/lib/bel_parser/language/version1/functions/reaction.rb +85 -0
- data/lib/bel_parser/language/version1/functions/ribosylation_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/rna_abundance.rb +125 -0
- data/lib/bel_parser/language/version1/functions/substitution.rb +96 -0
- data/lib/bel_parser/language/version1/functions/transcriptional_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/translocation.rb +100 -0
- data/lib/bel_parser/language/version1/functions/transport_activity.rb +110 -0
- data/lib/bel_parser/language/version1/functions/truncation.rb +82 -0
- data/lib/bel_parser/language/version1/return_types/abundance.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/any.rb +74 -0
- data/lib/bel_parser/language/version1/return_types/biological_process.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/catalytic_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/chaperone_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/complex_abundance.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/fusion.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/gene_abundance.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/gtp_bound_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/kinase_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/list.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/micro_rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/molecular_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/pathology.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/peptidase_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/phosphatase_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/products.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/protein_abundance.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/protein_modification.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/reactants.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/ribosylation_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/substitution.rb +17 -0
- data/lib/bel_parser/language/version1/return_types/transcriptional_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/transport_activity.rb +20 -0
- data/lib/bel_parser/language/version1/return_types/truncation.rb +17 -0
- data/lib/bel_parser/language/version2.rb +50 -0
- data/lib/bel_parser/language/version2/functions/abundance.rb +165 -0
- data/lib/bel_parser/language/version2/functions/activity.rb +115 -0
- data/lib/bel_parser/language/version2/functions/biological_process.rb +85 -0
- data/lib/bel_parser/language/version2/functions/cell_secretion.rb +80 -0
- data/lib/bel_parser/language/version2/functions/cell_surface_expression.rb +80 -0
- data/lib/bel_parser/language/version2/functions/complex_abundance.rb +190 -0
- data/lib/bel_parser/language/version2/functions/composite_abundance.rb +80 -0
- data/lib/bel_parser/language/version2/functions/degradation.rb +80 -0
- data/lib/bel_parser/language/version2/functions/fragment.rb +119 -0
- data/lib/bel_parser/language/version2/functions/from_location.rb +85 -0
- data/lib/bel_parser/language/version2/functions/fusion.rb +227 -0
- data/lib/bel_parser/language/version2/functions/gene_abundance.rb +195 -0
- data/lib/bel_parser/language/version2/functions/list.rb +115 -0
- data/lib/bel_parser/language/version2/functions/location.rb +85 -0
- data/lib/bel_parser/language/version2/functions/micro_rna_abundance.rb +165 -0
- data/lib/bel_parser/language/version2/functions/molecular_activity.rb +83 -0
- data/lib/bel_parser/language/version2/functions/pathology.rb +85 -0
- data/lib/bel_parser/language/version2/functions/products.rb +80 -0
- data/lib/bel_parser/language/version2/functions/protein_abundance.rb +285 -0
- data/lib/bel_parser/language/version2/functions/protein_modification.rb +167 -0
- data/lib/bel_parser/language/version2/functions/reactants.rb +80 -0
- data/lib/bel_parser/language/version2/functions/reaction.rb +85 -0
- data/lib/bel_parser/language/version2/functions/rna_abundance.rb +195 -0
- data/lib/bel_parser/language/version2/functions/to_location.rb +85 -0
- data/lib/bel_parser/language/version2/functions/translocation.rb +90 -0
- data/lib/bel_parser/language/version2/functions/variant.rb +83 -0
- data/lib/bel_parser/language/version2/return_types/abundance.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/activity.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/any.rb +74 -0
- data/lib/bel_parser/language/version2/return_types/biological_process.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/complex_abundance.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/fragment.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/from_location.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/fusion.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/gene_abundance.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/list.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/location.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/micro_rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/molecular_activity.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/pathology.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/products.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/protein_abundance.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/protein_modification.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/reactants.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version2/return_types/to_location.rb +20 -0
- data/lib/bel_parser/language/version2/return_types/variant.rb +20 -0
- data/lib/bel_parser/mixin/line_continuator.rb +15 -0
- data/lib/bel_parser/mixin/line_mapping.rb +14 -0
- data/lib/bel_parser/parser.rb +54 -0
- data/lib/bel_parser/parsers/ast/mapped_traversal.rb +36 -0
- data/lib/bel_parser/parsers/ast/node.rb +705 -0
- data/lib/bel_parser/parsers/ast/sexp.rb +8 -0
- data/lib/bel_parser/parsers/ast/traversal.rb +21 -0
- data/lib/bel_parser/parsers/bel_script.rb +4 -0
- data/lib/bel_parser/parsers/bel_script/define_annotation.rb +5476 -0
- data/lib/bel_parser/parsers/bel_script/define_annotation.rl +141 -0
- data/lib/bel_parser/parsers/bel_script/define_namespace.rb +1780 -0
- data/lib/bel_parser/parsers/bel_script/define_namespace.rl +121 -0
- data/lib/bel_parser/parsers/bel_script/set.rb +4556 -0
- data/lib/bel_parser/parsers/bel_script/set.rl +116 -0
- data/lib/bel_parser/parsers/bel_script/unset.rb +706 -0
- data/lib/bel_parser/parsers/bel_script/unset.rl +95 -0
- data/lib/bel_parser/parsers/common.rb +5 -0
- data/lib/bel_parser/parsers/common/blank_line.rb +211 -0
- data/lib/bel_parser/parsers/common/blank_line.rl +81 -0
- data/lib/bel_parser/parsers/common/comment_line.rb +245 -0
- data/lib/bel_parser/parsers/common/comment_line.rl +97 -0
- data/lib/bel_parser/parsers/common/common.rb +7 -0
- data/lib/bel_parser/parsers/common/common.rl +13 -0
- data/lib/bel_parser/parsers/common/identifier.rb +289 -0
- data/lib/bel_parser/parsers/common/identifier.rl +106 -0
- data/lib/bel_parser/parsers/common/list.rb +2142 -0
- data/lib/bel_parser/parsers/common/list.rl +144 -0
- data/lib/bel_parser/parsers/common/string.rb +271 -0
- data/lib/bel_parser/parsers/common/string.rl +107 -0
- data/lib/bel_parser/parsers/expression.rb +7 -0
- data/lib/bel_parser/parsers/expression/comment.rb +239 -0
- data/lib/bel_parser/parsers/expression/comment.rl +97 -0
- data/lib/bel_parser/parsers/expression/parameter.rb +1506 -0
- data/lib/bel_parser/parsers/expression/parameter.rl +97 -0
- data/lib/bel_parser/parsers/expression/relationship.rb +254 -0
- data/lib/bel_parser/parsers/expression/relationship.rl +98 -0
- data/lib/bel_parser/parsers/expression/statement_nested.rb +17802 -0
- data/lib/bel_parser/parsers/expression/statement_nested.rl +141 -0
- data/lib/bel_parser/parsers/expression/statement_observed_term.rb +7291 -0
- data/lib/bel_parser/parsers/expression/statement_observed_term.rl +92 -0
- data/lib/bel_parser/parsers/expression/statement_simple.rb +10475 -0
- data/lib/bel_parser/parsers/expression/statement_simple.rl +112 -0
- data/lib/bel_parser/parsers/expression/term.rb +3989 -0
- data/lib/bel_parser/parsers/expression/term.rl +157 -0
- data/lib/bel_parser/parsers/line_parser.rb +92 -0
- data/lib/bel_parser/parsers/mixin/buffer.rb +10 -0
- data/lib/bel_parser/parsers/nonblocking_io_wrapper.rb +50 -0
- data/lib/bel_parser/script/parser.rb +49 -0
- data/lib/bel_parser/vendor/ast.rb +17 -0
- data/lib/bel_parser/vendor/ast/node.rb +254 -0
- data/lib/bel_parser/vendor/ast/processor.rb +12 -0
- data/lib/bel_parser/vendor/ast/processor/mixin.rb +282 -0
- data/lib/bel_parser/vendor/ast/sexp.rb +30 -0
- metadata +226 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require_relative 'molecular_activity'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# RibosylationActivity return type.
|
|
8
|
+
class RibosylationActivity < MolecularActivity
|
|
9
|
+
# Return the {Symbol} value.
|
|
10
|
+
#
|
|
11
|
+
# @note This method should be overridden in subclasses.
|
|
12
|
+
def self.to_sym
|
|
13
|
+
raise_not_implemented(__method__) if self != RibosylationActivity
|
|
14
|
+
:ribosylation_activity
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'abundance'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# RNA abundance return type.
|
|
8
|
+
class RNAAbundance < Abundance
|
|
9
|
+
def self.to_sym
|
|
10
|
+
raise_not_implemented(__method__) if self != RNAAbundance
|
|
11
|
+
:rnaAbundance
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'any'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# Substitution return type.
|
|
8
|
+
class Substitution < Any
|
|
9
|
+
def self.to_sym
|
|
10
|
+
raise_not_implemented(__method__) if self != Substitution
|
|
11
|
+
:substitution
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require_relative 'molecular_activity'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# TransportActivity return type.
|
|
8
|
+
class TranscriptionalActivity < MolecularActivity
|
|
9
|
+
# Return the {Symbol} value.
|
|
10
|
+
#
|
|
11
|
+
# @note This method should be overridden in subclasses.
|
|
12
|
+
def self.to_sym
|
|
13
|
+
raise_not_implemented(__method__) if self != TranscriptionalActivity
|
|
14
|
+
:transcriptional_activity
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
require_relative 'molecular_activity'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# TransportActivity return type.
|
|
8
|
+
class TransportActivity < MolecularActivity
|
|
9
|
+
# Return the {Symbol} value.
|
|
10
|
+
#
|
|
11
|
+
# @note This method should be overridden in subclasses.
|
|
12
|
+
def self.to_sym
|
|
13
|
+
raise_not_implemented(__method__) if self != TransportActivity
|
|
14
|
+
:transport_activity
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'any'
|
|
2
|
+
|
|
3
|
+
module BELParser
|
|
4
|
+
module Language
|
|
5
|
+
module Version1
|
|
6
|
+
module ReturnTypes
|
|
7
|
+
# Truncation return type.
|
|
8
|
+
class Truncation < Any
|
|
9
|
+
def self.to_sym
|
|
10
|
+
raise_not_implemented(__method__) if self != Truncation
|
|
11
|
+
:truncation
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
require_relative 'function'
|
|
2
|
+
require_relative 'specification'
|
|
3
|
+
|
|
4
|
+
# Require all version 2.0 return types
|
|
5
|
+
Dir[
|
|
6
|
+
File.join(
|
|
7
|
+
File.dirname(File.expand_path(__FILE__)),
|
|
8
|
+
'version2', 'return_types', '*.rb')
|
|
9
|
+
].each do |path|
|
|
10
|
+
require_relative "version2/return_types/#{File.basename(path)}"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Require all version 2.0 functions.
|
|
14
|
+
Dir[
|
|
15
|
+
File.join(
|
|
16
|
+
File.dirname(File.expand_path(__FILE__)),
|
|
17
|
+
'version2', 'functions', '*.rb')
|
|
18
|
+
].each do |path|
|
|
19
|
+
require_relative "version2/functions/#{File.basename(path)}"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
module BELParser
|
|
23
|
+
module Language
|
|
24
|
+
module Version2
|
|
25
|
+
# Version2Specification defines the BEL, version 2.0 specification.
|
|
26
|
+
class Specification
|
|
27
|
+
include BELParser::Language::Specification
|
|
28
|
+
def initialize
|
|
29
|
+
# Establish functions
|
|
30
|
+
function_classes = Version2::Functions.constants.collect do |symbol|
|
|
31
|
+
const = Version2::Functions.const_get(symbol)
|
|
32
|
+
const if
|
|
33
|
+
const.respond_to?(:short) &&
|
|
34
|
+
const.respond_to?(:long)
|
|
35
|
+
end
|
|
36
|
+
@functions = function_classes.compact
|
|
37
|
+
@indexed_functions = index_functions(@functions)
|
|
38
|
+
|
|
39
|
+
# Establish return types
|
|
40
|
+
ret_classes = Version2::ReturnTypes.constants.collect do |symbol|
|
|
41
|
+
const = Version2::ReturnTypes.const_get(symbol)
|
|
42
|
+
const if const.respond_to?(:subtypes)
|
|
43
|
+
end
|
|
44
|
+
@return_types = ret_classes.compact
|
|
45
|
+
@indexed_return_types = index_return_types(@return_types)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
require_relative '../../version1'
|
|
2
|
+
require_relative '../../function'
|
|
3
|
+
require_relative '../../signature'
|
|
4
|
+
require_relative '../../semantic_ast'
|
|
5
|
+
|
|
6
|
+
module BELParser
|
|
7
|
+
module Language
|
|
8
|
+
module Version2
|
|
9
|
+
module Functions
|
|
10
|
+
# Abundance: Denotes the abundance of an entity.
|
|
11
|
+
class Abundance
|
|
12
|
+
extend Function
|
|
13
|
+
|
|
14
|
+
SHORT = :a
|
|
15
|
+
LONG = :abundance
|
|
16
|
+
RETURN_TYPE = BELParser::Language::Version2::ReturnTypes::Abundance
|
|
17
|
+
DESCRIPTION = 'Denotes the abundance of an entity.'.freeze
|
|
18
|
+
|
|
19
|
+
def self.short
|
|
20
|
+
SHORT
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.long
|
|
24
|
+
LONG
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.return_type
|
|
28
|
+
RETURN_TYPE
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.description
|
|
32
|
+
DESCRIPTION
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.signatures
|
|
36
|
+
SIGNATURES
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
module Signatures
|
|
40
|
+
|
|
41
|
+
class AbundanceSignature
|
|
42
|
+
extend BELParser::Language::Signature
|
|
43
|
+
|
|
44
|
+
private_class_method :new
|
|
45
|
+
|
|
46
|
+
AST = BELParser::Language::Semantics::Builder.build do
|
|
47
|
+
term(
|
|
48
|
+
function(
|
|
49
|
+
identifier(
|
|
50
|
+
function_of(Abundance))),
|
|
51
|
+
argument(
|
|
52
|
+
parameter(
|
|
53
|
+
prefix(
|
|
54
|
+
identifier(
|
|
55
|
+
has_namespace,
|
|
56
|
+
namespace_of(:*))),
|
|
57
|
+
value(
|
|
58
|
+
value_type(
|
|
59
|
+
has_encoding,
|
|
60
|
+
encoding_of(:Abundance))))))
|
|
61
|
+
end
|
|
62
|
+
private_constant :AST
|
|
63
|
+
|
|
64
|
+
STRING_FORM = 'abundance(E:abundance)abundance'.freeze
|
|
65
|
+
private_constant :STRING_FORM
|
|
66
|
+
|
|
67
|
+
def self.semantic_ast
|
|
68
|
+
AST
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def self.string_form
|
|
72
|
+
STRING_FORM
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
class AbundanceWithLocationSignature
|
|
77
|
+
extend BELParser::Language::Signature
|
|
78
|
+
|
|
79
|
+
private_class_method :new
|
|
80
|
+
|
|
81
|
+
AST = BELParser::Language::Semantics::Builder.build do
|
|
82
|
+
term(
|
|
83
|
+
function(
|
|
84
|
+
identifier(
|
|
85
|
+
function_of(Abundance))),
|
|
86
|
+
argument(
|
|
87
|
+
parameter(
|
|
88
|
+
prefix(
|
|
89
|
+
identifier(
|
|
90
|
+
has_namespace,
|
|
91
|
+
namespace_of(:*))),
|
|
92
|
+
value(
|
|
93
|
+
value_type(
|
|
94
|
+
has_encoding,
|
|
95
|
+
encoding_of(:Abundance))))),
|
|
96
|
+
argument(
|
|
97
|
+
term(
|
|
98
|
+
function(
|
|
99
|
+
identifier(
|
|
100
|
+
return_type_of(BELParser::Language::Version2::ReturnTypes::Location))))))
|
|
101
|
+
end
|
|
102
|
+
private_constant :AST
|
|
103
|
+
|
|
104
|
+
STRING_FORM = 'abundance(E:abundance,F:location)abundance'.freeze
|
|
105
|
+
private_constant :STRING_FORM
|
|
106
|
+
|
|
107
|
+
def self.semantic_ast
|
|
108
|
+
AST
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def self.string_form
|
|
112
|
+
STRING_FORM
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
|
|
116
|
+
class AbundanceWithMolecularActivitySignature
|
|
117
|
+
extend BELParser::Language::Signature
|
|
118
|
+
|
|
119
|
+
private_class_method :new
|
|
120
|
+
|
|
121
|
+
AST = BELParser::Language::Semantics::Builder.build do
|
|
122
|
+
term(
|
|
123
|
+
function(
|
|
124
|
+
identifier(
|
|
125
|
+
function_of(Abundance))),
|
|
126
|
+
argument(
|
|
127
|
+
parameter(
|
|
128
|
+
prefix(
|
|
129
|
+
identifier(
|
|
130
|
+
has_namespace,
|
|
131
|
+
namespace_of(:*))),
|
|
132
|
+
value(
|
|
133
|
+
value_type(
|
|
134
|
+
has_encoding,
|
|
135
|
+
encoding_of(:Abundance))))),
|
|
136
|
+
argument(
|
|
137
|
+
term(
|
|
138
|
+
function(
|
|
139
|
+
identifier(
|
|
140
|
+
return_type_of(BELParser::Language::Version2::ReturnTypes::MolecularActivity))))))
|
|
141
|
+
end
|
|
142
|
+
private_constant :AST
|
|
143
|
+
|
|
144
|
+
STRING_FORM = 'abundance(E:abundance, F:molecularActivity)abundance'.freeze
|
|
145
|
+
private_constant :STRING_FORM
|
|
146
|
+
|
|
147
|
+
def self.semantic_ast
|
|
148
|
+
AST
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
def self.string_form
|
|
152
|
+
STRING_FORM
|
|
153
|
+
end
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
SIGNATURES = Signatures.constants.map do |const|
|
|
159
|
+
Signatures.const_get(const)
|
|
160
|
+
end.freeze
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
end
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
require_relative '../../version2'
|
|
2
|
+
require_relative '../../function'
|
|
3
|
+
require_relative '../../signature'
|
|
4
|
+
require_relative '../../semantic_ast'
|
|
5
|
+
|
|
6
|
+
module BELParser
|
|
7
|
+
module Language
|
|
8
|
+
module Version2
|
|
9
|
+
module Functions
|
|
10
|
+
# Activity: Denotes the frequency or abundance of events in which a member acts as a causal agent at the molecular scale.
|
|
11
|
+
class Activity
|
|
12
|
+
extend BELParser::Language::Function
|
|
13
|
+
|
|
14
|
+
SHORT = :act
|
|
15
|
+
LONG = :activity
|
|
16
|
+
RETURN_TYPE = BELParser::Language::Version2::ReturnTypes::Activity
|
|
17
|
+
DESCRIPTION = 'Denotes the frequency or abundance of events in which a member acts as a causal agent at the molecular scale.'.freeze
|
|
18
|
+
|
|
19
|
+
def self.short
|
|
20
|
+
SHORT
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.long
|
|
24
|
+
LONG
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def self.return_type
|
|
28
|
+
RETURN_TYPE
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.description
|
|
32
|
+
DESCRIPTION
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.signatures
|
|
36
|
+
SIGNATURES
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
module Signatures
|
|
40
|
+
|
|
41
|
+
class ActivitySignature
|
|
42
|
+
extend BELParser::Language::Signature
|
|
43
|
+
|
|
44
|
+
private_class_method :new
|
|
45
|
+
|
|
46
|
+
AST = BELParser::Language::Semantics::Builder.build do
|
|
47
|
+
term(
|
|
48
|
+
function(
|
|
49
|
+
identifier(
|
|
50
|
+
function_of(Activity))),
|
|
51
|
+
argument(
|
|
52
|
+
term(
|
|
53
|
+
function(
|
|
54
|
+
identifier(
|
|
55
|
+
return_type_of(BELParser::Language::Version2::ReturnTypes::Abundance))))))
|
|
56
|
+
end
|
|
57
|
+
private_constant :AST
|
|
58
|
+
|
|
59
|
+
STRING_FORM = 'activity(F:abundance)activity'.freeze
|
|
60
|
+
private_constant :STRING_FORM
|
|
61
|
+
|
|
62
|
+
def self.semantic_ast
|
|
63
|
+
AST
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def self.string_form
|
|
67
|
+
STRING_FORM
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
class ActivityWithSpecificActivityTypeSignature
|
|
72
|
+
extend BELParser::Language::Signature
|
|
73
|
+
|
|
74
|
+
private_class_method :new
|
|
75
|
+
|
|
76
|
+
AST = BELParser::Language::Semantics::Builder.build do
|
|
77
|
+
term(
|
|
78
|
+
function(
|
|
79
|
+
identifier(
|
|
80
|
+
function_of(Activity))),
|
|
81
|
+
argument(
|
|
82
|
+
term(
|
|
83
|
+
function(
|
|
84
|
+
identifier(
|
|
85
|
+
return_type_of(BELParser::Language::Version2::ReturnTypes::Abundance))))),
|
|
86
|
+
argument(
|
|
87
|
+
term(
|
|
88
|
+
function(
|
|
89
|
+
identifier(
|
|
90
|
+
return_type_of(BELParser::Language::Version2::ReturnTypes::MolecularActivity))))))
|
|
91
|
+
end
|
|
92
|
+
private_constant :AST
|
|
93
|
+
|
|
94
|
+
STRING_FORM = 'activity(F:abundance, F:molecularActivity)activity'.freeze
|
|
95
|
+
private_constant :STRING_FORM
|
|
96
|
+
|
|
97
|
+
def self.semantic_ast
|
|
98
|
+
AST
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
def self.string_form
|
|
102
|
+
STRING_FORM
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
SIGNATURES = Signatures.constants.map do |const|
|
|
109
|
+
Signatures.const_get(const)
|
|
110
|
+
end.freeze
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|