bel_parser 1.0.0.alpha.1 → 1.0.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (184) hide show
  1. checksums.yaml +4 -4
  2. data/.gemspec +1 -1
  3. data/VERSION +1 -1
  4. data/bin/bel2_termcheck +2 -2
  5. data/lib/bel_parser/expression/term_semantics.rb +2 -2
  6. data/lib/bel_parser/language/expression_validator.rb +42 -0
  7. data/lib/bel_parser/language/function.rb +8 -0
  8. data/lib/bel_parser/language/relationship.rb +57 -0
  9. data/lib/bel_parser/language/{semantic_ast.rb → semantics/semantic_ast.rb} +5 -27
  10. data/lib/bel_parser/language/semantics/semantic_match.rb +28 -0
  11. data/lib/bel_parser/language/semantics.rb +2 -0
  12. data/lib/bel_parser/language/specification.rb +34 -10
  13. data/lib/bel_parser/language/syntax.rb +0 -0
  14. data/lib/bel_parser/language/{version1 → version1_0}/functions/abundance.rb +4 -4
  15. data/lib/bel_parser/language/{version1 → version1_0}/functions/biological_process.rb +4 -4
  16. data/lib/bel_parser/language/{version1 → version1_0}/functions/catalytic_activity.rb +6 -6
  17. data/lib/bel_parser/language/{version1 → version1_0}/functions/cell_secretion.rb +5 -5
  18. data/lib/bel_parser/language/{version1 → version1_0}/functions/cell_surface_expression.rb +5 -5
  19. data/lib/bel_parser/language/{version1 → version1_0}/functions/chaperone_activity.rb +6 -6
  20. data/lib/bel_parser/language/{version1 → version1_0}/functions/complex_abundance.rb +5 -5
  21. data/lib/bel_parser/language/{version1 → version1_0}/functions/composite_abundance.rb +5 -5
  22. data/lib/bel_parser/language/{version1 → version1_0}/functions/degradation.rb +5 -5
  23. data/lib/bel_parser/language/{version1 → version1_0}/functions/fusion.rb +4 -4
  24. data/lib/bel_parser/language/{version1 → version1_0}/functions/gene_abundance.rb +5 -5
  25. data/lib/bel_parser/language/{version1 → version1_0}/functions/gtp_bound_activity.rb +6 -6
  26. data/lib/bel_parser/language/{version1 → version1_0}/functions/kinase_activity.rb +6 -6
  27. data/lib/bel_parser/language/{version1 → version1_0}/functions/list.rb +5 -5
  28. data/lib/bel_parser/language/{version1 → version1_0}/functions/micro_rna_abundance.rb +4 -4
  29. data/lib/bel_parser/language/{version1 → version1_0}/functions/molecular_activity.rb +5 -5
  30. data/lib/bel_parser/language/{version2 → version1_0}/functions/pathology.rb +4 -4
  31. data/lib/bel_parser/language/{version1 → version1_0}/functions/peptidase_activity.rb +6 -6
  32. data/lib/bel_parser/language/{version1 → version1_0}/functions/phosphatase_activity.rb +6 -6
  33. data/lib/bel_parser/language/{version2 → version1_0}/functions/products.rb +5 -5
  34. data/lib/bel_parser/language/{version1 → version1_0}/functions/protein_abundance.rb +8 -8
  35. data/lib/bel_parser/language/{version1 → version1_0}/functions/protein_modification.rb +4 -4
  36. data/lib/bel_parser/language/{version2 → version1_0}/functions/reactants.rb +5 -5
  37. data/lib/bel_parser/language/{version1 → version1_0}/functions/reaction.rb +6 -6
  38. data/lib/bel_parser/language/{version1 → version1_0}/functions/ribosylation_activity.rb +6 -6
  39. data/lib/bel_parser/language/{version1 → version1_0}/functions/rna_abundance.rb +5 -5
  40. data/lib/bel_parser/language/{version1 → version1_0}/functions/substitution.rb +4 -4
  41. data/lib/bel_parser/language/{version1 → version1_0}/functions/transcriptional_activity.rb +6 -6
  42. data/lib/bel_parser/language/{version1 → version1_0}/functions/translocation.rb +5 -5
  43. data/lib/bel_parser/language/{version1 → version1_0}/functions/transport_activity.rb +6 -6
  44. data/lib/bel_parser/language/{version1 → version1_0}/functions/truncation.rb +4 -4
  45. data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +31 -0
  46. data/lib/bel_parser/language/version1_0/relationships/analogous.rb +31 -0
  47. data/lib/bel_parser/language/version1_0/relationships/association.rb +31 -0
  48. data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +31 -0
  49. data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +31 -0
  50. data/lib/bel_parser/language/version1_0/relationships/decreases.rb +31 -0
  51. data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +31 -0
  52. data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +31 -0
  53. data/lib/bel_parser/language/version1_0/relationships/has_component.rb +31 -0
  54. data/lib/bel_parser/language/version1_0/relationships/has_components.rb +31 -0
  55. data/lib/bel_parser/language/version1_0/relationships/has_member.rb +31 -0
  56. data/lib/bel_parser/language/version1_0/relationships/has_members.rb +31 -0
  57. data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +31 -0
  58. data/lib/bel_parser/language/version1_0/relationships/has_product.rb +31 -0
  59. data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +31 -0
  60. data/lib/bel_parser/language/version1_0/relationships/includes.rb +31 -0
  61. data/lib/bel_parser/language/version1_0/relationships/increases.rb +31 -0
  62. data/lib/bel_parser/language/version1_0/relationships/is_a.rb +31 -0
  63. data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +31 -0
  64. data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +31 -0
  65. data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +31 -0
  66. data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +31 -0
  67. data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +31 -0
  68. data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +31 -0
  69. data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +31 -0
  70. data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +31 -0
  71. data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +31 -0
  72. data/lib/bel_parser/language/version1_0/relationships/translocates.rb +31 -0
  73. data/lib/bel_parser/language/{version2 → version1_0}/return_types/abundance.rb +1 -1
  74. data/lib/bel_parser/language/{version1 → version1_0}/return_types/any.rb +1 -1
  75. data/lib/bel_parser/language/{version1 → version1_0}/return_types/biological_process.rb +1 -1
  76. data/lib/bel_parser/language/{version1 → version1_0}/return_types/catalytic_activity.rb +1 -1
  77. data/lib/bel_parser/language/{version1 → version1_0}/return_types/chaperone_activity.rb +1 -1
  78. data/lib/bel_parser/language/{version2 → version1_0}/return_types/complex_abundance.rb +1 -1
  79. data/lib/bel_parser/language/{version1 → version1_0}/return_types/fusion.rb +1 -1
  80. data/lib/bel_parser/language/{version2 → version1_0}/return_types/gene_abundance.rb +1 -1
  81. data/lib/bel_parser/language/{version1 → version1_0}/return_types/gtp_bound_activity.rb +1 -1
  82. data/lib/bel_parser/language/{version1 → version1_0}/return_types/kinase_activity.rb +1 -1
  83. data/lib/bel_parser/language/{version1 → version1_0}/return_types/list.rb +1 -1
  84. data/lib/bel_parser/language/{version1 → version1_0}/return_types/micro_rna_abundance.rb +1 -1
  85. data/lib/bel_parser/language/{version1 → version1_0}/return_types/molecular_activity.rb +1 -1
  86. data/lib/bel_parser/language/{version1 → version1_0}/return_types/pathology.rb +1 -1
  87. data/lib/bel_parser/language/{version1 → version1_0}/return_types/peptidase_activity.rb +1 -1
  88. data/lib/bel_parser/language/{version1 → version1_0}/return_types/phosphatase_activity.rb +1 -1
  89. data/lib/bel_parser/language/{version2 → version1_0}/return_types/products.rb +1 -1
  90. data/lib/bel_parser/language/{version2 → version1_0}/return_types/protein_abundance.rb +1 -1
  91. data/lib/bel_parser/language/{version1 → version1_0}/return_types/protein_modification.rb +1 -1
  92. data/lib/bel_parser/language/{version2 → version1_0}/return_types/reactants.rb +1 -1
  93. data/lib/bel_parser/language/{version1 → version1_0}/return_types/ribosylation_activity.rb +1 -1
  94. data/lib/bel_parser/language/{version1 → version1_0}/return_types/rna_abundance.rb +1 -1
  95. data/lib/bel_parser/language/{version1 → version1_0}/return_types/substitution.rb +1 -1
  96. data/lib/bel_parser/language/{version1 → version1_0}/return_types/transcriptional_activity.rb +1 -1
  97. data/lib/bel_parser/language/{version1 → version1_0}/return_types/transport_activity.rb +1 -1
  98. data/lib/bel_parser/language/{version1 → version1_0}/return_types/truncation.rb +1 -1
  99. data/lib/bel_parser/language/version1_0/syntax/function.rb +29 -0
  100. data/lib/bel_parser/language/version1_0.rb +89 -0
  101. data/lib/bel_parser/language/{version2 → version2_0}/functions/abundance.rb +6 -6
  102. data/lib/bel_parser/language/{version2 → version2_0}/functions/activity.rb +7 -7
  103. data/lib/bel_parser/language/{version2 → version2_0}/functions/biological_process.rb +4 -4
  104. data/lib/bel_parser/language/{version2 → version2_0}/functions/cell_secretion.rb +5 -5
  105. data/lib/bel_parser/language/{version2 → version2_0}/functions/cell_surface_expression.rb +5 -5
  106. data/lib/bel_parser/language/{version2 → version2_0}/functions/complex_abundance.rb +8 -8
  107. data/lib/bel_parser/language/{version2 → version2_0}/functions/composite_abundance.rb +5 -5
  108. data/lib/bel_parser/language/{version2 → version2_0}/functions/degradation.rb +5 -5
  109. data/lib/bel_parser/language/{version2 → version2_0}/functions/fragment.rb +4 -4
  110. data/lib/bel_parser/language/{version2 → version2_0}/functions/from_location.rb +4 -4
  111. data/lib/bel_parser/language/{version2 → version2_0}/functions/fusion.rb +4 -4
  112. data/lib/bel_parser/language/{version2 → version2_0}/functions/gene_abundance.rb +7 -7
  113. data/lib/bel_parser/language/{version2 → version2_0}/functions/list.rb +5 -5
  114. data/lib/bel_parser/language/{version2 → version2_0}/functions/location.rb +4 -4
  115. data/lib/bel_parser/language/{version2 → version2_0}/functions/micro_rna_abundance.rb +6 -6
  116. data/lib/bel_parser/language/{version2 → version2_0}/functions/molecular_activity.rb +4 -4
  117. data/lib/bel_parser/language/{version1 → version2_0}/functions/pathology.rb +4 -4
  118. data/lib/bel_parser/language/{version1 → version2_0}/functions/products.rb +5 -5
  119. data/lib/bel_parser/language/{version2 → version2_0}/functions/protein_abundance.rb +9 -9
  120. data/lib/bel_parser/language/{version2 → version2_0}/functions/protein_modification.rb +7 -7
  121. data/lib/bel_parser/language/{version1 → version2_0}/functions/reactants.rb +5 -5
  122. data/lib/bel_parser/language/{version2 → version2_0}/functions/reaction.rb +6 -6
  123. data/lib/bel_parser/language/{version2 → version2_0}/functions/rna_abundance.rb +11 -11
  124. data/lib/bel_parser/language/{version2 → version2_0}/functions/to_location.rb +4 -4
  125. data/lib/bel_parser/language/{version2 → version2_0}/functions/translocation.rb +8 -8
  126. data/lib/bel_parser/language/{version2 → version2_0}/functions/variant.rb +4 -4
  127. data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +31 -0
  128. data/lib/bel_parser/language/version2_0/relationships/analogous.rb +35 -0
  129. data/lib/bel_parser/language/version2_0/relationships/association.rb +31 -0
  130. data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +35 -0
  131. data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +31 -0
  132. data/lib/bel_parser/language/version2_0/relationships/decreases.rb +31 -0
  133. data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +31 -0
  134. data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +31 -0
  135. data/lib/bel_parser/language/version2_0/relationships/has_component.rb +31 -0
  136. data/lib/bel_parser/language/version2_0/relationships/has_components.rb +31 -0
  137. data/lib/bel_parser/language/version2_0/relationships/has_member.rb +31 -0
  138. data/lib/bel_parser/language/version2_0/relationships/has_members.rb +31 -0
  139. data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +31 -0
  140. data/lib/bel_parser/language/version2_0/relationships/has_product.rb +31 -0
  141. data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +31 -0
  142. data/lib/bel_parser/language/version2_0/relationships/includes.rb +31 -0
  143. data/lib/bel_parser/language/version2_0/relationships/increases.rb +31 -0
  144. data/lib/bel_parser/language/version2_0/relationships/is_a.rb +31 -0
  145. data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +31 -0
  146. data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +31 -0
  147. data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +31 -0
  148. data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +35 -0
  149. data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +31 -0
  150. data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +31 -0
  151. data/lib/bel_parser/language/version2_0/relationships/regulates.rb +31 -0
  152. data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +31 -0
  153. data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +31 -0
  154. data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +31 -0
  155. data/lib/bel_parser/language/version2_0/relationships/translocates.rb +31 -0
  156. data/lib/bel_parser/language/{version1 → version2_0}/return_types/abundance.rb +1 -1
  157. data/lib/bel_parser/language/{version2 → version2_0}/return_types/activity.rb +1 -1
  158. data/lib/bel_parser/language/{version2 → version2_0}/return_types/any.rb +1 -1
  159. data/lib/bel_parser/language/{version2 → version2_0}/return_types/biological_process.rb +1 -1
  160. data/lib/bel_parser/language/{version1 → version2_0}/return_types/complex_abundance.rb +1 -1
  161. data/lib/bel_parser/language/{version2 → version2_0}/return_types/fragment.rb +1 -1
  162. data/lib/bel_parser/language/{version2 → version2_0}/return_types/from_location.rb +1 -1
  163. data/lib/bel_parser/language/{version2 → version2_0}/return_types/fusion.rb +1 -1
  164. data/lib/bel_parser/language/{version1 → version2_0}/return_types/gene_abundance.rb +1 -1
  165. data/lib/bel_parser/language/{version2 → version2_0}/return_types/list.rb +1 -1
  166. data/lib/bel_parser/language/{version2 → version2_0}/return_types/location.rb +1 -1
  167. data/lib/bel_parser/language/{version2 → version2_0}/return_types/micro_rna_abundance.rb +1 -1
  168. data/lib/bel_parser/language/{version2 → version2_0}/return_types/molecular_activity.rb +1 -1
  169. data/lib/bel_parser/language/{version2 → version2_0}/return_types/pathology.rb +1 -1
  170. data/lib/bel_parser/language/{version1 → version2_0}/return_types/products.rb +1 -1
  171. data/lib/bel_parser/language/{version1 → version2_0}/return_types/protein_abundance.rb +1 -1
  172. data/lib/bel_parser/language/{version2 → version2_0}/return_types/protein_modification.rb +1 -1
  173. data/lib/bel_parser/language/{version1 → version2_0}/return_types/reactants.rb +1 -1
  174. data/lib/bel_parser/language/{version2 → version2_0}/return_types/rna_abundance.rb +1 -1
  175. data/lib/bel_parser/language/{version2 → version2_0}/return_types/to_location.rb +1 -1
  176. data/lib/bel_parser/language/{version2 → version2_0}/return_types/variant.rb +1 -1
  177. data/lib/bel_parser/language/version2_0.rb +73 -0
  178. data/lib/bel_parser/language.rb +90 -2
  179. data/lib/bel_parser/parsers/ast/node.rb +11 -1
  180. metadata +172 -111
  181. data/lib/bel_parser/language/syntax/expression/incomplete_node.rb +0 -14
  182. data/lib/bel_parser/language/syntax/expression/invalid_term_function.rb +0 -22
  183. data/lib/bel_parser/language/version1.rb +0 -50
  184. data/lib/bel_parser/language/version2.rb +0 -50
@@ -1,11 +1,11 @@
1
- require_relative '../../version1'
1
+ require_relative '../../version1_0'
2
2
  require_relative '../../function'
3
3
  require_relative '../../signature'
4
- require_relative '../../semantic_ast'
4
+ require_relative '../../semantics'
5
5
 
6
6
  module BELParser
7
7
  module Language
8
- module Version1
8
+ module Version1_0
9
9
  module Functions
10
10
  # Translocation: Denotes the frequency or abundance of events in which members move between locations
11
11
  class Translocation
@@ -13,7 +13,7 @@ module BELParser
13
13
 
14
14
  SHORT = :tloc
15
15
  LONG = :translocation
16
- RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Abundance
16
+ RETURN_TYPE = BELParser::Language::Version1_0::ReturnTypes::Abundance
17
17
  DESCRIPTION = 'Denotes the frequency or abundance of events in which members move between locations'.freeze
18
18
 
19
19
  def self.short
@@ -52,7 +52,7 @@ module BELParser
52
52
  term(
53
53
  function(
54
54
  identifier(
55
- return_type_of(BELParser::Language::Version1::ReturnTypes::Abundance))))),
55
+ return_type_of(BELParser::Language::Version1_0::ReturnTypes::Abundance))))),
56
56
  argument(
57
57
  parameter(
58
58
  prefix(
@@ -1,11 +1,11 @@
1
- require_relative '../../version1'
1
+ require_relative '../../version1_0'
2
2
  require_relative '../../function'
3
3
  require_relative '../../signature'
4
- require_relative '../../semantic_ast'
4
+ require_relative '../../semantics'
5
5
 
6
6
  module BELParser
7
7
  module Language
8
- module Version1
8
+ module Version1_0
9
9
  module Functions
10
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
11
  class TransportActivity
@@ -13,7 +13,7 @@ module BELParser
13
13
 
14
14
  SHORT = :tport
15
15
  LONG = :transportActivity
16
- RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::TransportActivity
16
+ RETURN_TYPE = BELParser::Language::Version1_0::ReturnTypes::TransportActivity
17
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
18
 
19
19
  def self.short
@@ -52,7 +52,7 @@ module BELParser
52
52
  term(
53
53
  function(
54
54
  identifier(
55
- return_type_of(BELParser::Language::Version1::ReturnTypes::ComplexAbundance))))))
55
+ return_type_of(BELParser::Language::Version1_0::ReturnTypes::ComplexAbundance))))))
56
56
  end
57
57
  private_constant :AST
58
58
 
@@ -82,7 +82,7 @@ module BELParser
82
82
  term(
83
83
  function(
84
84
  identifier(
85
- return_type_of(BELParser::Language::Version1::ReturnTypes::ProteinAbundance))))))
85
+ return_type_of(BELParser::Language::Version1_0::ReturnTypes::ProteinAbundance))))))
86
86
  end
87
87
  private_constant :AST
88
88
 
@@ -1,11 +1,11 @@
1
- require_relative '../../version1'
1
+ require_relative '../../version1_0'
2
2
  require_relative '../../function'
3
3
  require_relative '../../signature'
4
- require_relative '../../semantic_ast'
4
+ require_relative '../../semantics'
5
5
 
6
6
  module BELParser
7
7
  module Language
8
- module Version1
8
+ module Version1_0
9
9
  module Functions
10
10
  # Truncation: Indicates an abundance of proteins with truncation sequence variants
11
11
  class Truncation
@@ -13,7 +13,7 @@ module BELParser
13
13
 
14
14
  SHORT = :trunc
15
15
  LONG = :truncation
16
- RETURN_TYPE = BELParser::Language::Version1::ReturnTypes::Truncation
16
+ RETURN_TYPE = BELParser::Language::Version1_0::ReturnTypes::Truncation
17
17
  DESCRIPTION = 'Indicates an abundance of proteins with truncation sequence variants'.freeze
18
18
 
19
19
  def self.short
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # ActsIn: +A actsIn f(A)+ - This relationship links an abundance term to the activity term for the same abundance. This relationship is direct because it is a _self_ relationship, the abundance acts in its own activity. For protein abundance p(A) and its molecular activity kin(p(A), +p(A) actsIn kin(p(A))+. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.
9
+ class ActsIn
10
+ extend Relationship
11
+
12
+ SHORT = :actsIn
13
+ LONG = :actsIn
14
+ DESCRIPTION = ' +A actsIn f(A)+ - This relationship links an abundance term to the activity term for the same abundance. This relationship is direct because it is a _self_ relationship, the abundance acts in its own activity. For protein abundance p(A) and its molecular activity kin(p(A), +p(A) actsIn kin(p(A))+. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # Analogous: +A analogous B+ - For terms A and B, +A analogousTo B+ indicates that A and B represent abundances or molecular activities in different species which function in a similar manner.
9
+ class Analogous
10
+ extend Relationship
11
+
12
+ SHORT = :analogous
13
+ LONG = :analogous
14
+ DESCRIPTION = ' +A analogous B+ - For terms A and B, +A analogousTo B+ indicates that A and B represent abundances or molecular activities in different species which function in a similar manner.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # Association: +A -- B+ - For terms A and B, +A association B+ or +A -- B+ indicates that A and B are associated in an unspecified manner. This relationship is used when not enough information about the association is available to describe it using more specific relationships, like increases or positiveCorrelation.
9
+ class Association
10
+ extend Relationship
11
+
12
+ SHORT = :'--'
13
+ LONG = :association
14
+ DESCRIPTION = ' +A -- B+ - For terms A and B, +A association B+ or +A -- B+ indicates that A and B are associated in an unspecified manner. This relationship is used when not enough information about the association is available to describe it using more specific relationships, like increases or positiveCorrelation.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # BiomarkerFor: +A biomarkerFor P+ - For term A and process term P, +A biomarkerFor P+ indicates that changes in or detection of A is used in some way to be a biomarker for pathology or biological process P.
9
+ class BiomarkerFor
10
+ extend Relationship
11
+
12
+ SHORT = :biomarkerFor
13
+ LONG = :biomarkerFor
14
+ DESCRIPTION = ' +A biomarkerFor P+ - For term A and process term P, +A biomarkerFor P+ indicates that changes in or detection of A is used in some way to be a biomarker for pathology or biological process P.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # CausesNoChange: +A causesNoChange B+ - For terms A and B, +A causesNoChange B+ indicates that B was observed not to change in response to changes in A. Statements using this relationship correspond to cases where explicit measurement of B demonstrates lack of significant change, not for cases where the state of B is unknown.
9
+ class CausesNoChange
10
+ extend Relationship
11
+
12
+ SHORT = :causesNoChange
13
+ LONG = :causesNoChange
14
+ DESCRIPTION = ' +A causesNoChange B+ - For terms A and B, +A causesNoChange B+ indicates that B was observed not to change in response to changes in A. Statements using this relationship correspond to cases where explicit measurement of B demonstrates lack of significant change, not for cases where the state of B is unknown.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # Decreases: +A -| B+ - For terms A and B, +A decreases B or A -| B+ indicates that increases in A have been observed to cause decreases in B. +A decreases B+ also represents cases where decreases in A have been observed to cause increases in B, for example, in recording the results of gene deletion or other inhibition experiments. A is a BEL Term and B is either a BEL Term or a BEL Statement. The relationship does not indicate that the changes in A are either necessary for changes in B, nor does it indicate that changes in A are sufficient to cause changes in B.
9
+ class Decreases
10
+ extend Relationship
11
+
12
+ SHORT = :'-|'
13
+ LONG = :decreases
14
+ DESCRIPTION = ' +A -| B+ - For terms A and B, +A decreases B or A -| B+ indicates that increases in A have been observed to cause decreases in B. +A decreases B+ also represents cases where decreases in A have been observed to cause increases in B, for example, in recording the results of gene deletion or other inhibition experiments. A is a BEL Term and B is either a BEL Term or a BEL Statement. The relationship does not indicate that the changes in A are either necessary for changes in B, nor does it indicate that changes in A are sufficient to cause changes in B.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # DirectlyDecreases: +A =| B+ - For terms A and B, +A directlyDecreases B or A =| B+ indicates A decreases B and that the mechanism of the causal relationship is based on physical interaction of entities related to A and B. This is a direct version of the decreases relationship.
9
+ class DirectlyDecreases
10
+ extend Relationship
11
+
12
+ SHORT = :'=|'
13
+ LONG = :directlyDecreases
14
+ DESCRIPTION = ' +A =| B+ - For terms A and B, +A directlyDecreases B or A =| B+ indicates A decreases B and that the mechanism of the causal relationship is based on physical interaction of entities related to A and B. This is a direct version of the decreases relationship.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # DirectlyIncreases: +A => B+ - For terms A and B, +A directlyIncreases B or A => B+ indicate A increases B and that the mechanism of the causal relationship is based on physical interaction of entities related to A and B. This is a direct version of the increases relationship.
9
+ class DirectlyIncreases
10
+ extend Relationship
11
+
12
+ SHORT = :'=>'
13
+ LONG = :directlyIncreases
14
+ DESCRIPTION = ' +A => B+ - For terms A and B, +A directlyIncreases B or A => B+ indicate A increases B and that the mechanism of the causal relationship is based on physical interaction of entities related to A and B. This is a direct version of the increases relationship.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasComponent: +A hasComponent A1+ - For complexAbundance term A and abundance term B, +A hasComponent B+ designates B as a component of A, that complexes that are instances of A have instances of B as possible components. Note that, the stoichiometry of A is not described, nor is it stated that B is a required component. The use of hasComponent relationships is complementary to the use of functionally composed complexes and is intended to enable the assignment of components to complexes designated by names in external vocabularies. The assignment of components can potentially enable the reconciliation of equivalent complexes at knowledge assembly time.
9
+ class HasComponent
10
+ extend Relationship
11
+
12
+ SHORT = :hasComponent
13
+ LONG = :hasComponent
14
+ DESCRIPTION = ' +A hasComponent A1+ - For complexAbundance term A and abundance term B, +A hasComponent B+ designates B as a component of A, that complexes that are instances of A have instances of B as possible components. Note that, the stoichiometry of A is not described, nor is it stated that B is a required component. The use of hasComponent relationships is complementary to the use of functionally composed complexes and is intended to enable the assignment of components to complexes designated by names in external vocabularies. The assignment of components can potentially enable the reconciliation of equivalent complexes at knowledge assembly time.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasComponents: +A hasComponents (B, C, D)+ - The hasComponents relationship is a special form which enables the assignment of multiple complex components in a single statement where the object of the statement is a set of abundance terms. A statement using hasComponents is exactly equivalent to multiple hasComponent statements. A term may not appear in both the subject and object of the same hasComponents statement. For the abundance terms A, B, C and D, +A hasComponents B, C, D+ indicates that A has components B, C and D.
9
+ class HasComponents
10
+ extend Relationship
11
+
12
+ SHORT = :hasComponents
13
+ LONG = :hasComponents
14
+ DESCRIPTION = ' +A hasComponents (B, C, D)+ - The hasComponents relationship is a special form which enables the assignment of multiple complex components in a single statement where the object of the statement is a set of abundance terms. A statement using hasComponents is exactly equivalent to multiple hasComponent statements. A term may not appear in both the subject and object of the same hasComponents statement. For the abundance terms A, B, C and D, +A hasComponents B, C, D+ indicates that A has components B, C and D.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasMember: +A hasMember A1+ - For term abundances A and B, +A hasMember B+ designates B as a member class of A. A member class is a distinguished sub-class. A is defined as a group by all of the members assigned to it. The member classes may or may not be overlapping and may or may not entirely cover all instances of A. A term may not appear in both the subject and object of the same hasMember statement.
9
+ class HasMember
10
+ extend Relationship
11
+
12
+ SHORT = :hasMember
13
+ LONG = :hasMember
14
+ DESCRIPTION = ' +A hasMember A1+ - For term abundances A and B, +A hasMember B+ designates B as a member class of A. A member class is a distinguished sub-class. A is defined as a group by all of the members assigned to it. The member classes may or may not be overlapping and may or may not entirely cover all instances of A. A term may not appear in both the subject and object of the same hasMember statement.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasMembers: +A hasMembers (B, C, D)+ - The hasMembers relationship is a special form which enables the assignment of multiple member classes in a single statement where the object of the statement is a set of abundance terms. A statement using hasMembers is exactly equivalent to multiple hasMember statements. A term may not appear in both the subject and object of a of the same hasMembers statement. For the abundance terms A, B, C and D, +A hasMembers B, C, D+ indicates that A is defined by its member abundance classes B, C and D.
9
+ class HasMembers
10
+ extend Relationship
11
+
12
+ SHORT = :hasMembers
13
+ LONG = :hasMembers
14
+ DESCRIPTION = ' +A hasMembers (B, C, D)+ - The hasMembers relationship is a special form which enables the assignment of multiple member classes in a single statement where the object of the statement is a set of abundance terms. A statement using hasMembers is exactly equivalent to multiple hasMember statements. A term may not appear in both the subject and object of a of the same hasMembers statement. For the abundance terms A, B, C and D, +A hasMembers B, C, D+ indicates that A is defined by its member abundance classes B, C and D.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasModification: +p(A) hasModification p(A, pmod(P, S, 473))+ - This relationship links abundance terms modified by the +pmod()+ function to the unmodified abundance term. This is a direct relationship because it is a _self_ relationship. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.
9
+ class HasModification
10
+ extend Relationship
11
+
12
+ SHORT = :hasModification
13
+ LONG = :hasModification
14
+ DESCRIPTION = ' +p(A) hasModification p(A, pmod(P, S, 473))+ - This relationship links abundance terms modified by the +pmod()+ function to the unmodified abundance term. This is a direct relationship because it is a _self_ relationship. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasProduct: +reaction(reactants(A), products(B)) hasProduct B+ - This relationship links abundance terms from the +products(<list>)+ in a reaction to the reaction. This is a direct relationship because it is a _self_ relationship. Products are produced directly by a reaction. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.
9
+ class HasProduct
10
+ extend Relationship
11
+
12
+ SHORT = :hasProduct
13
+ LONG = :hasProduct
14
+ DESCRIPTION = ' +reaction(reactants(A), products(B)) hasProduct B+ - This relationship links abundance terms from the +products(<list>)+ in a reaction to the reaction. This is a direct relationship because it is a _self_ relationship. Products are produced directly by a reaction. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # HasVariant: +p(A) hasVariant p(A, sub(G, 12, V))+ - This relationship links abundance terms modified by the +substitution()+, +fusion()+, or +truncation()+ functions to the unmodified abundance term. This relationship is introduced by the BEL Compiler and does not need to be used by statements in BEL documents.
9
+ class HasVariant
10
+ extend Relationship
11
+
12
+ SHORT = :hasVariant
13
+ LONG = :hasVariant
14
+ DESCRIPTION = ' +p(A) hasVariant p(A, sub(G, 12, V))+ - This relationship links abundance terms modified by the +substitution()+, +fusion()+, or +truncation()+ functions to the unmodified abundance term. This relationship is introduced by the BEL Compiler and does not need to be used by statements in BEL documents.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # Includes: +compositeAbundance(A,B) includes A+ - This relationship links each individual abundance term in a +compositeAbundance(<list>)+ to the compositeAbundance. For example, +compositeAbundance(A, B) includes A+ and +compositeAbundance(A, B) includes B+. This relationship is direct because it is a _self_ relationship. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.
9
+ class Includes
10
+ extend Relationship
11
+
12
+ SHORT = :includes
13
+ LONG = :includes
14
+ DESCRIPTION = ' +compositeAbundance(A,B) includes A+ - This relationship links each individual abundance term in a +compositeAbundance(<list>)+ to the compositeAbundance. For example, +compositeAbundance(A, B) includes A+ and +compositeAbundance(A, B) includes B+. This relationship is direct because it is a _self_ relationship. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version1_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version1_0
7
+ module Relationships
8
+ # Increases: +A -> B+ - For terms A and B, +A increases B or A -> B+ indicates that increases in A have been observed to cause increases in B. +A increases B+ also represents cases where decreases in A have been observed to cause decreases in B, for example, in recording the results of gene deletion or other inhibition experiments. A is a BEL Term and B is either a BEL Term or a BEL Statement. The relationship does not indicate that the changes in A are either necessary for changes in B, nor does it indicate that changes in A are sufficient to cause changes in B.
9
+ class Increases
10
+ extend Relationship
11
+
12
+ SHORT = :'->'
13
+ LONG = :increases
14
+ DESCRIPTION = ' +A -> B+ - For terms A and B, +A increases B or A -> B+ indicates that increases in A have been observed to cause increases in B. +A increases B+ also represents cases where decreases in A have been observed to cause decreases in B, for example, in recording the results of gene deletion or other inhibition experiments. A is a BEL Term and B is either a BEL Term or a BEL Statement. The relationship does not indicate that the changes in A are either necessary for changes in B, nor does it indicate that changes in A are sufficient to cause changes in B.'.freeze
15
+
16
+ def self.short
17
+ SHORT
18
+ end
19
+
20
+ def self.long
21
+ LONG
22
+ end
23
+
24
+ def self.description
25
+ DESCRIPTION
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end