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.
Files changed (182) hide show
  1. checksums.yaml +7 -0
  2. data/.gemspec +28 -0
  3. data/CHANGELOG.md +10 -0
  4. data/LICENSE +191 -0
  5. data/README.md +9 -0
  6. data/VERSION +1 -0
  7. data/bin/bel2_termcheck +39 -0
  8. data/lib/bel_parser.rb +17 -0
  9. data/lib/bel_parser/ast_filter.rb +27 -0
  10. data/lib/bel_parser/ast_generator.rb +86 -0
  11. data/lib/bel_parser/ast_validator.rb +40 -0
  12. data/lib/bel_parser/expression/parser.rb +42 -0
  13. data/lib/bel_parser/expression/term_semantics.rb +36 -0
  14. data/lib/bel_parser/language.rb +7 -0
  15. data/lib/bel_parser/language/function.rb +59 -0
  16. data/lib/bel_parser/language/quoting.rb +236 -0
  17. data/lib/bel_parser/language/semantic_ast.rb +604 -0
  18. data/lib/bel_parser/language/semantics/analyzer.rb +59 -0
  19. data/lib/bel_parser/language/signature.rb +39 -0
  20. data/lib/bel_parser/language/specification.rb +49 -0
  21. data/lib/bel_parser/language/syntax/expression/incomplete_node.rb +14 -0
  22. data/lib/bel_parser/language/syntax/expression/invalid_term_function.rb +22 -0
  23. data/lib/bel_parser/language/version1.rb +50 -0
  24. data/lib/bel_parser/language/version1/functions/abundance.rb +85 -0
  25. data/lib/bel_parser/language/version1/functions/biological_process.rb +85 -0
  26. data/lib/bel_parser/language/version1/functions/catalytic_activity.rb +110 -0
  27. data/lib/bel_parser/language/version1/functions/cell_secretion.rb +80 -0
  28. data/lib/bel_parser/language/version1/functions/cell_surface_expression.rb +80 -0
  29. data/lib/bel_parser/language/version1/functions/chaperone_activity.rb +110 -0
  30. data/lib/bel_parser/language/version1/functions/complex_abundance.rb +115 -0
  31. data/lib/bel_parser/language/version1/functions/composite_abundance.rb +80 -0
  32. data/lib/bel_parser/language/version1/functions/degradation.rb +80 -0
  33. data/lib/bel_parser/language/version1/functions/fusion.rb +302 -0
  34. data/lib/bel_parser/language/version1/functions/gene_abundance.rb +125 -0
  35. data/lib/bel_parser/language/version1/functions/gtp_bound_activity.rb +110 -0
  36. data/lib/bel_parser/language/version1/functions/kinase_activity.rb +110 -0
  37. data/lib/bel_parser/language/version1/functions/list.rb +115 -0
  38. data/lib/bel_parser/language/version1/functions/micro_rna_abundance.rb +85 -0
  39. data/lib/bel_parser/language/version1/functions/molecular_activity.rb +80 -0
  40. data/lib/bel_parser/language/version1/functions/pathology.rb +85 -0
  41. data/lib/bel_parser/language/version1/functions/peptidase_activity.rb +110 -0
  42. data/lib/bel_parser/language/version1/functions/phosphatase_activity.rb +110 -0
  43. data/lib/bel_parser/language/version1/functions/products.rb +80 -0
  44. data/lib/bel_parser/language/version1/functions/protein_abundance.rb +245 -0
  45. data/lib/bel_parser/language/version1/functions/protein_modification.rb +167 -0
  46. data/lib/bel_parser/language/version1/functions/reactants.rb +80 -0
  47. data/lib/bel_parser/language/version1/functions/reaction.rb +85 -0
  48. data/lib/bel_parser/language/version1/functions/ribosylation_activity.rb +110 -0
  49. data/lib/bel_parser/language/version1/functions/rna_abundance.rb +125 -0
  50. data/lib/bel_parser/language/version1/functions/substitution.rb +96 -0
  51. data/lib/bel_parser/language/version1/functions/transcriptional_activity.rb +110 -0
  52. data/lib/bel_parser/language/version1/functions/translocation.rb +100 -0
  53. data/lib/bel_parser/language/version1/functions/transport_activity.rb +110 -0
  54. data/lib/bel_parser/language/version1/functions/truncation.rb +82 -0
  55. data/lib/bel_parser/language/version1/return_types/abundance.rb +20 -0
  56. data/lib/bel_parser/language/version1/return_types/any.rb +74 -0
  57. data/lib/bel_parser/language/version1/return_types/biological_process.rb +17 -0
  58. data/lib/bel_parser/language/version1/return_types/catalytic_activity.rb +20 -0
  59. data/lib/bel_parser/language/version1/return_types/chaperone_activity.rb +20 -0
  60. data/lib/bel_parser/language/version1/return_types/complex_abundance.rb +17 -0
  61. data/lib/bel_parser/language/version1/return_types/fusion.rb +17 -0
  62. data/lib/bel_parser/language/version1/return_types/gene_abundance.rb +17 -0
  63. data/lib/bel_parser/language/version1/return_types/gtp_bound_activity.rb +20 -0
  64. data/lib/bel_parser/language/version1/return_types/kinase_activity.rb +20 -0
  65. data/lib/bel_parser/language/version1/return_types/list.rb +17 -0
  66. data/lib/bel_parser/language/version1/return_types/micro_rna_abundance.rb +17 -0
  67. data/lib/bel_parser/language/version1/return_types/molecular_activity.rb +20 -0
  68. data/lib/bel_parser/language/version1/return_types/pathology.rb +17 -0
  69. data/lib/bel_parser/language/version1/return_types/peptidase_activity.rb +20 -0
  70. data/lib/bel_parser/language/version1/return_types/phosphatase_activity.rb +20 -0
  71. data/lib/bel_parser/language/version1/return_types/products.rb +17 -0
  72. data/lib/bel_parser/language/version1/return_types/protein_abundance.rb +17 -0
  73. data/lib/bel_parser/language/version1/return_types/protein_modification.rb +17 -0
  74. data/lib/bel_parser/language/version1/return_types/reactants.rb +17 -0
  75. data/lib/bel_parser/language/version1/return_types/ribosylation_activity.rb +20 -0
  76. data/lib/bel_parser/language/version1/return_types/rna_abundance.rb +17 -0
  77. data/lib/bel_parser/language/version1/return_types/substitution.rb +17 -0
  78. data/lib/bel_parser/language/version1/return_types/transcriptional_activity.rb +20 -0
  79. data/lib/bel_parser/language/version1/return_types/transport_activity.rb +20 -0
  80. data/lib/bel_parser/language/version1/return_types/truncation.rb +17 -0
  81. data/lib/bel_parser/language/version2.rb +50 -0
  82. data/lib/bel_parser/language/version2/functions/abundance.rb +165 -0
  83. data/lib/bel_parser/language/version2/functions/activity.rb +115 -0
  84. data/lib/bel_parser/language/version2/functions/biological_process.rb +85 -0
  85. data/lib/bel_parser/language/version2/functions/cell_secretion.rb +80 -0
  86. data/lib/bel_parser/language/version2/functions/cell_surface_expression.rb +80 -0
  87. data/lib/bel_parser/language/version2/functions/complex_abundance.rb +190 -0
  88. data/lib/bel_parser/language/version2/functions/composite_abundance.rb +80 -0
  89. data/lib/bel_parser/language/version2/functions/degradation.rb +80 -0
  90. data/lib/bel_parser/language/version2/functions/fragment.rb +119 -0
  91. data/lib/bel_parser/language/version2/functions/from_location.rb +85 -0
  92. data/lib/bel_parser/language/version2/functions/fusion.rb +227 -0
  93. data/lib/bel_parser/language/version2/functions/gene_abundance.rb +195 -0
  94. data/lib/bel_parser/language/version2/functions/list.rb +115 -0
  95. data/lib/bel_parser/language/version2/functions/location.rb +85 -0
  96. data/lib/bel_parser/language/version2/functions/micro_rna_abundance.rb +165 -0
  97. data/lib/bel_parser/language/version2/functions/molecular_activity.rb +83 -0
  98. data/lib/bel_parser/language/version2/functions/pathology.rb +85 -0
  99. data/lib/bel_parser/language/version2/functions/products.rb +80 -0
  100. data/lib/bel_parser/language/version2/functions/protein_abundance.rb +285 -0
  101. data/lib/bel_parser/language/version2/functions/protein_modification.rb +167 -0
  102. data/lib/bel_parser/language/version2/functions/reactants.rb +80 -0
  103. data/lib/bel_parser/language/version2/functions/reaction.rb +85 -0
  104. data/lib/bel_parser/language/version2/functions/rna_abundance.rb +195 -0
  105. data/lib/bel_parser/language/version2/functions/to_location.rb +85 -0
  106. data/lib/bel_parser/language/version2/functions/translocation.rb +90 -0
  107. data/lib/bel_parser/language/version2/functions/variant.rb +83 -0
  108. data/lib/bel_parser/language/version2/return_types/abundance.rb +20 -0
  109. data/lib/bel_parser/language/version2/return_types/activity.rb +20 -0
  110. data/lib/bel_parser/language/version2/return_types/any.rb +74 -0
  111. data/lib/bel_parser/language/version2/return_types/biological_process.rb +17 -0
  112. data/lib/bel_parser/language/version2/return_types/complex_abundance.rb +17 -0
  113. data/lib/bel_parser/language/version2/return_types/fragment.rb +20 -0
  114. data/lib/bel_parser/language/version2/return_types/from_location.rb +20 -0
  115. data/lib/bel_parser/language/version2/return_types/fusion.rb +17 -0
  116. data/lib/bel_parser/language/version2/return_types/gene_abundance.rb +17 -0
  117. data/lib/bel_parser/language/version2/return_types/list.rb +17 -0
  118. data/lib/bel_parser/language/version2/return_types/location.rb +20 -0
  119. data/lib/bel_parser/language/version2/return_types/micro_rna_abundance.rb +17 -0
  120. data/lib/bel_parser/language/version2/return_types/molecular_activity.rb +20 -0
  121. data/lib/bel_parser/language/version2/return_types/pathology.rb +17 -0
  122. data/lib/bel_parser/language/version2/return_types/products.rb +17 -0
  123. data/lib/bel_parser/language/version2/return_types/protein_abundance.rb +17 -0
  124. data/lib/bel_parser/language/version2/return_types/protein_modification.rb +17 -0
  125. data/lib/bel_parser/language/version2/return_types/reactants.rb +17 -0
  126. data/lib/bel_parser/language/version2/return_types/rna_abundance.rb +17 -0
  127. data/lib/bel_parser/language/version2/return_types/to_location.rb +20 -0
  128. data/lib/bel_parser/language/version2/return_types/variant.rb +20 -0
  129. data/lib/bel_parser/mixin/line_continuator.rb +15 -0
  130. data/lib/bel_parser/mixin/line_mapping.rb +14 -0
  131. data/lib/bel_parser/parser.rb +54 -0
  132. data/lib/bel_parser/parsers/ast/mapped_traversal.rb +36 -0
  133. data/lib/bel_parser/parsers/ast/node.rb +705 -0
  134. data/lib/bel_parser/parsers/ast/sexp.rb +8 -0
  135. data/lib/bel_parser/parsers/ast/traversal.rb +21 -0
  136. data/lib/bel_parser/parsers/bel_script.rb +4 -0
  137. data/lib/bel_parser/parsers/bel_script/define_annotation.rb +5476 -0
  138. data/lib/bel_parser/parsers/bel_script/define_annotation.rl +141 -0
  139. data/lib/bel_parser/parsers/bel_script/define_namespace.rb +1780 -0
  140. data/lib/bel_parser/parsers/bel_script/define_namespace.rl +121 -0
  141. data/lib/bel_parser/parsers/bel_script/set.rb +4556 -0
  142. data/lib/bel_parser/parsers/bel_script/set.rl +116 -0
  143. data/lib/bel_parser/parsers/bel_script/unset.rb +706 -0
  144. data/lib/bel_parser/parsers/bel_script/unset.rl +95 -0
  145. data/lib/bel_parser/parsers/common.rb +5 -0
  146. data/lib/bel_parser/parsers/common/blank_line.rb +211 -0
  147. data/lib/bel_parser/parsers/common/blank_line.rl +81 -0
  148. data/lib/bel_parser/parsers/common/comment_line.rb +245 -0
  149. data/lib/bel_parser/parsers/common/comment_line.rl +97 -0
  150. data/lib/bel_parser/parsers/common/common.rb +7 -0
  151. data/lib/bel_parser/parsers/common/common.rl +13 -0
  152. data/lib/bel_parser/parsers/common/identifier.rb +289 -0
  153. data/lib/bel_parser/parsers/common/identifier.rl +106 -0
  154. data/lib/bel_parser/parsers/common/list.rb +2142 -0
  155. data/lib/bel_parser/parsers/common/list.rl +144 -0
  156. data/lib/bel_parser/parsers/common/string.rb +271 -0
  157. data/lib/bel_parser/parsers/common/string.rl +107 -0
  158. data/lib/bel_parser/parsers/expression.rb +7 -0
  159. data/lib/bel_parser/parsers/expression/comment.rb +239 -0
  160. data/lib/bel_parser/parsers/expression/comment.rl +97 -0
  161. data/lib/bel_parser/parsers/expression/parameter.rb +1506 -0
  162. data/lib/bel_parser/parsers/expression/parameter.rl +97 -0
  163. data/lib/bel_parser/parsers/expression/relationship.rb +254 -0
  164. data/lib/bel_parser/parsers/expression/relationship.rl +98 -0
  165. data/lib/bel_parser/parsers/expression/statement_nested.rb +17802 -0
  166. data/lib/bel_parser/parsers/expression/statement_nested.rl +141 -0
  167. data/lib/bel_parser/parsers/expression/statement_observed_term.rb +7291 -0
  168. data/lib/bel_parser/parsers/expression/statement_observed_term.rl +92 -0
  169. data/lib/bel_parser/parsers/expression/statement_simple.rb +10475 -0
  170. data/lib/bel_parser/parsers/expression/statement_simple.rl +112 -0
  171. data/lib/bel_parser/parsers/expression/term.rb +3989 -0
  172. data/lib/bel_parser/parsers/expression/term.rl +157 -0
  173. data/lib/bel_parser/parsers/line_parser.rb +92 -0
  174. data/lib/bel_parser/parsers/mixin/buffer.rb +10 -0
  175. data/lib/bel_parser/parsers/nonblocking_io_wrapper.rb +50 -0
  176. data/lib/bel_parser/script/parser.rb +49 -0
  177. data/lib/bel_parser/vendor/ast.rb +17 -0
  178. data/lib/bel_parser/vendor/ast/node.rb +254 -0
  179. data/lib/bel_parser/vendor/ast/processor.rb +12 -0
  180. data/lib/bel_parser/vendor/ast/processor/mixin.rb +282 -0
  181. data/lib/bel_parser/vendor/ast/sexp.rb +30 -0
  182. metadata +226 -0
@@ -0,0 +1,167 @@
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 Version1
9
+ module Functions
10
+ # ProteinModification: Denotes a covalently modified protein abundance
11
+ class ProteinModification
12
+ extend Function
13
+
14
+ SHORT = :pmod
15
+ LONG = :proteinModification
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::ProteinModification
17
+ DESCRIPTION = 'Denotes a covalently modified protein abundance'.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 ProteinModificationWithCovalentAminoPositionSignature
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(ProteinModification))),
51
+ argument(
52
+ parameter(
53
+ prefix(
54
+ any),
55
+ value(
56
+ value_type(
57
+ encoding_of(:*))))),
58
+ argument(
59
+ parameter(
60
+ prefix(
61
+ any),
62
+ value(
63
+ value_type(
64
+ encoding_of(:*))))),
65
+ argument(
66
+ parameter(
67
+ prefix(
68
+ any),
69
+ value(
70
+ value_type(
71
+ encoding_of(:*))))))
72
+ end
73
+ private_constant :AST
74
+
75
+ STRING_FORM = 'proteinModification(E:*,E:*,E:*)proteinModification'.freeze
76
+ private_constant :STRING_FORM
77
+
78
+ def self.semantic_ast
79
+ AST
80
+ end
81
+
82
+ def self.string_form
83
+ STRING_FORM
84
+ end
85
+ end
86
+
87
+ class ProteinModificationWithCovalentAminoSignature
88
+ extend BELParser::Language::Signature
89
+
90
+ private_class_method :new
91
+
92
+ AST = BELParser::Language::Semantics::Builder.build do
93
+ term(
94
+ function(
95
+ identifier(
96
+ function_of(ProteinModification))),
97
+ argument(
98
+ parameter(
99
+ prefix(
100
+ any),
101
+ value(
102
+ value_type(
103
+ encoding_of(:*))))),
104
+ argument(
105
+ parameter(
106
+ prefix(
107
+ any),
108
+ value(
109
+ value_type(
110
+ encoding_of(:*))))))
111
+ end
112
+ private_constant :AST
113
+
114
+ STRING_FORM = 'proteinModification(E:*,E:*)proteinModification'.freeze
115
+ private_constant :STRING_FORM
116
+
117
+ def self.semantic_ast
118
+ AST
119
+ end
120
+
121
+ def self.string_form
122
+ STRING_FORM
123
+ end
124
+ end
125
+
126
+ class ProteinModificationWithCovalentSignature
127
+ extend BELParser::Language::Signature
128
+
129
+ private_class_method :new
130
+
131
+ AST = BELParser::Language::Semantics::Builder.build do
132
+ term(
133
+ function(
134
+ identifier(
135
+ function_of(ProteinModification))),
136
+ argument(
137
+ parameter(
138
+ prefix(
139
+ any),
140
+ value(
141
+ value_type(
142
+ encoding_of(:*))))))
143
+ end
144
+ private_constant :AST
145
+
146
+ STRING_FORM = 'proteinModification(E:*)proteinModification'.freeze
147
+ private_constant :STRING_FORM
148
+
149
+ def self.semantic_ast
150
+ AST
151
+ end
152
+
153
+ def self.string_form
154
+ STRING_FORM
155
+ end
156
+ end
157
+
158
+ end
159
+
160
+ SIGNATURES = Signatures.constants.map do |const|
161
+ Signatures.const_get(const)
162
+ end.freeze
163
+ end
164
+ end
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,80 @@
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 Version1
9
+ module Functions
10
+ # Reactants: Denotes the reactants of a reaction
11
+ class Reactants
12
+ extend Function
13
+
14
+ SHORT = :reactants
15
+ LONG = :reactants
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Reactants
17
+ DESCRIPTION = 'Denotes the reactants of a reaction'.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 ReactantsSignature
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(Reactants))),
51
+ variadic_arguments(
52
+ term(
53
+ function(
54
+ identifier(
55
+ return_type_of(BELParser::Language::Version1::ReturnTypes::Abundance))))))
56
+ end
57
+ private_constant :AST
58
+
59
+ STRING_FORM = 'reactants(F:abundance...)reactants'.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
+ end
72
+
73
+ SIGNATURES = Signatures.constants.map do |const|
74
+ Signatures.const_get(const)
75
+ end.freeze
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,85 @@
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 Version1
9
+ module Functions
10
+ # Reaction: Denotes the frequency or abundance of events in a reaction
11
+ class Reaction
12
+ extend Function
13
+
14
+ SHORT = :rxn
15
+ LONG = :reaction
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Abundance
17
+ DESCRIPTION = 'Denotes the frequency or abundance of events in a reaction'.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 ReactionSignature
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(Reaction))),
51
+ argument(
52
+ term(
53
+ function(
54
+ identifier(
55
+ return_type_of(BELParser::Language::Version1::ReturnTypes::Reactants))))),
56
+ argument(
57
+ term(
58
+ function(
59
+ identifier(
60
+ return_type_of(BELParser::Language::Version1::ReturnTypes::Products))))))
61
+ end
62
+ private_constant :AST
63
+
64
+ STRING_FORM = 'reaction(F:reactants,F:products)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
+ end
77
+
78
+ SIGNATURES = Signatures.constants.map do |const|
79
+ Signatures.const_get(const)
80
+ end.freeze
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,110 @@
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 Version1
9
+ module Functions
10
+ # RibosylationActivity: Denotes the frequency or abundance of events in which a member acts to perform post-translational modification of proteins
11
+ class RibosylationActivity
12
+ extend Function
13
+
14
+ SHORT = :ribo
15
+ LONG = :ribosylationActivity
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::RibosylationActivity
17
+ DESCRIPTION = 'Denotes the frequency or abundance of events in which a member acts to perform post-translational modification of proteins'.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 RibosylationActivityWithComplexAbundanceSignature
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(RibosylationActivity))),
51
+ argument(
52
+ term(
53
+ function(
54
+ identifier(
55
+ return_type_of(BELParser::Language::Version1::ReturnTypes::ComplexAbundance))))))
56
+ end
57
+ private_constant :AST
58
+
59
+ STRING_FORM = 'ribosylationActivity(F:complexAbundance)ribosylationActivity'.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 RibosylationActivityWithProteinAbundanceSignature
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(RibosylationActivity))),
81
+ argument(
82
+ term(
83
+ function(
84
+ identifier(
85
+ return_type_of(BELParser::Language::Version1::ReturnTypes::ProteinAbundance))))))
86
+ end
87
+ private_constant :AST
88
+
89
+ STRING_FORM = 'ribosylationActivity(F:proteinAbundance)ribosylationActivity'.freeze
90
+ private_constant :STRING_FORM
91
+
92
+ def self.semantic_ast
93
+ AST
94
+ end
95
+
96
+ def self.string_form
97
+ STRING_FORM
98
+ end
99
+ end
100
+
101
+ end
102
+
103
+ SIGNATURES = Signatures.constants.map do |const|
104
+ Signatures.const_get(const)
105
+ end.freeze
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,125 @@
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 Version1
9
+ module Functions
10
+ # RNAAbundance: Denotes the abundance of a gene
11
+ class RNAAbundance
12
+ extend Function
13
+
14
+ SHORT = :r
15
+ LONG = :rnaAbundance
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::GeneAbundance
17
+ DESCRIPTION = 'Denotes the abundance of a gene'.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 RNAAbundanceWithFusionSignature
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(RNAAbundance))),
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(:RnaAbundance))))),
61
+ argument(
62
+ term(
63
+ function(
64
+ identifier(
65
+ return_type_of(BELParser::Language::Version1::ReturnTypes::Fusion))))))
66
+ end
67
+ private_constant :AST
68
+
69
+ STRING_FORM = 'rnaAbundance(E:rnaAbundance,F:fusion)geneAbundance'.freeze
70
+ private_constant :STRING_FORM
71
+
72
+ def self.semantic_ast
73
+ AST
74
+ end
75
+
76
+ def self.string_form
77
+ STRING_FORM
78
+ end
79
+ end
80
+
81
+ class RNAAbundanceSignature
82
+ extend BELParser::Language::Signature
83
+
84
+ private_class_method :new
85
+
86
+ AST = BELParser::Language::Semantics::Builder.build do
87
+ term(
88
+ function(
89
+ identifier(
90
+ function_of(RNAAbundance))),
91
+ argument(
92
+ parameter(
93
+ prefix(
94
+ identifier(
95
+ has_namespace,
96
+ namespace_of(:*))),
97
+ value(
98
+ value_type(
99
+ has_encoding,
100
+ encoding_of(:RnaAbundance))))))
101
+ end
102
+ private_constant :AST
103
+
104
+ STRING_FORM = 'rnaAbundance(E:rnaAbundance)geneAbundance'.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
+ end
117
+
118
+ SIGNATURES = Signatures.constants.map do |const|
119
+ Signatures.const_get(const)
120
+ end.freeze
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end