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,96 @@
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
+ # Substitution: Indicates the abundance of proteins with amino acid substitution sequence
11
+ class Substitution
12
+ extend Function
13
+
14
+ SHORT = :sub
15
+ LONG = :substitution
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Substitution
17
+ DESCRIPTION = 'Indicates the abundance of proteins with amino acid substitution sequence'.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 SubstitutionWithReferencePositionVariantSignature
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(Substitution))),
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 = 'substitution(E:*,E:*,E:*)substitution'.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
+ end
88
+
89
+ SIGNATURES = Signatures.constants.map do |const|
90
+ Signatures.const_get(const)
91
+ end.freeze
92
+ end
93
+ end
94
+ end
95
+ end
96
+ 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
+ # TranscriptionalActivity: Denotes the frequency or abundance of events in which a member directly acts to control transcription of genes
11
+ class TranscriptionalActivity
12
+ extend Function
13
+
14
+ SHORT = :tscript
15
+ LONG = :transcriptionalActivity
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::TranscriptionalActivity
17
+ DESCRIPTION = 'Denotes the frequency or abundance of events in which a member directly acts to control transcription of genes'.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 TranscriptionalActivityOfComplexAbundanceSignature
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(TranscriptionalActivity))),
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 = 'transcriptionalActivity(F:complexAbundance)transcriptionalActivity'.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 TranscriptionalActivityOfProteinAbundanceSignature
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(TranscriptionalActivity))),
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 = 'transcriptionalActivity(F:proteinAbundance)transcriptionalActivity'.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,100 @@
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
+ # Translocation: Denotes the frequency or abundance of events in which members move between locations
11
+ class Translocation
12
+ extend Function
13
+
14
+ SHORT = :tloc
15
+ LONG = :translocation
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Abundance
17
+ DESCRIPTION = 'Denotes the frequency or abundance of events in which members move between locations'.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 TranslocationSignature
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(Translocation))),
51
+ argument(
52
+ term(
53
+ function(
54
+ identifier(
55
+ return_type_of(BELParser::Language::Version1::ReturnTypes::Abundance))))),
56
+ argument(
57
+ parameter(
58
+ prefix(
59
+ identifier(
60
+ has_namespace,
61
+ namespace_of(:*))),
62
+ value(
63
+ value_type(
64
+ has_encoding,
65
+ encoding_of(:Abundance))))),
66
+ argument(
67
+ parameter(
68
+ prefix(
69
+ identifier(
70
+ has_namespace,
71
+ namespace_of(:*))),
72
+ value(
73
+ value_type(
74
+ has_encoding,
75
+ encoding_of(:Abundance))))))
76
+ end
77
+ private_constant :AST
78
+
79
+ STRING_FORM = 'translocation(F:abundance,E:abundance,E:abundance)abundance'.freeze
80
+ private_constant :STRING_FORM
81
+
82
+ def self.semantic_ast
83
+ AST
84
+ end
85
+
86
+ def self.string_form
87
+ STRING_FORM
88
+ end
89
+ end
90
+
91
+ end
92
+
93
+ SIGNATURES = Signatures.constants.map do |const|
94
+ Signatures.const_get(const)
95
+ end.freeze
96
+ end
97
+ end
98
+ end
99
+ end
100
+ 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
+ # TransportActivity: Denotes the frequency or abundance of events in which a member directs acts to enable the directed movement of substances into, out of, within, or between cells
11
+ class TransportActivity
12
+ extend Function
13
+
14
+ SHORT = :tport
15
+ LONG = :transportActivity
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::TransportActivity
17
+ DESCRIPTION = 'Denotes the frequency or abundance of events in which a member directs acts to enable the directed movement of substances into, out of, within, or between cells'.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 TransportActivityOfComplexAbundanceSignature
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(TransportActivity))),
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 = 'transportActivity(F:complexAbundance)transportActivity'.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 TransportActivityOfProteinAbundanceSignature
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(TransportActivity))),
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 = 'transportActivity(F:proteinAbundance)transportActivity'.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,82 @@
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
+ # Truncation: Indicates an abundance of proteins with truncation sequence variants
11
+ class Truncation
12
+ extend Function
13
+
14
+ SHORT = :trunc
15
+ LONG = :truncation
16
+ RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Truncation
17
+ DESCRIPTION = 'Indicates an abundance of proteins with truncation sequence variants'.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 TruncationWithPositionSignature
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(Truncation))),
51
+ argument(
52
+ parameter(
53
+ prefix(
54
+ any),
55
+ value(
56
+ value_type(
57
+ encoding_of(:*))))))
58
+ end
59
+ private_constant :AST
60
+
61
+ STRING_FORM = 'truncation(E:*)truncation'.freeze
62
+ private_constant :STRING_FORM
63
+
64
+ def self.semantic_ast
65
+ AST
66
+ end
67
+
68
+ def self.string_form
69
+ STRING_FORM
70
+ end
71
+ end
72
+
73
+ end
74
+
75
+ SIGNATURES = Signatures.constants.map do |const|
76
+ Signatures.const_get(const)
77
+ end.freeze
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end