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
@@ -0,0 +1,31 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_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
@@ -0,0 +1,31 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # IsA: +A isA B+ - For terms A and B, +A isA B+ indicates that A is a subset of B. All terms in BEL represent classes, but given that classes implicitly have instances, one can also interpret +A isA B+ to mean that any instance of A must also be an instance of B. This relationship can be used to represent GO and MeSH hierarchies: +pathology(MESH:Psoriasis) isA pathology(MESH:"Skin Diseases")+
9
+ class IsA
10
+ extend Relationship
11
+
12
+ SHORT = :isA
13
+ LONG = :isA
14
+ DESCRIPTION = ' +A isA B+ - For terms A and B, +A isA B+ indicates that A is a subset of B. All terms in BEL represent classes, but given that classes implicitly have instances, one can also interpret +A isA B+ to mean that any instance of A must also be an instance of B. This relationship can be used to represent GO and MeSH hierarchies: +pathology(MESH:Psoriasis) isA pathology(MESH:"Skin Diseases")+'.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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # NegativeCorrelation: +A negativeCorrelation B+ - For terms A and B, +A negativeCorrelation B+ indicates that changes in A and B have been observed to be negatively correlated. The order of the subject and object does not affect the interpretation of the statement, thus B negativeCorrelation A is equivalent to A negativeCorrelation B.
9
+ class NegativeCorrelation
10
+ extend Relationship
11
+
12
+ SHORT = :negativeCorrelation
13
+ LONG = :negativeCorrelation
14
+ DESCRIPTION = ' +A negativeCorrelation B+ - For terms A and B, +A negativeCorrelation B+ indicates that changes in A and B have been observed to be negatively correlated. The order of the subject and object does not affect the interpretation of the statement, thus B negativeCorrelation A is equivalent to A negativeCorrelation 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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # Orthologous: +A orthologous B+ - For geneAbundance terms A and B, +A orthologousTo B+ indicates that A and B represent abundances of genes in different species which are sequence similar and which are therefore presumed to share a common ancestral gene. For example, +g(HGNC:AKT1) orthologousTo g(MGI:AKT1)+ indicates that the mouse and human AKT1 genes are orthologous.
9
+ class Orthologous
10
+ extend Relationship
11
+
12
+ SHORT = :orthologous
13
+ LONG = :orthologous
14
+ DESCRIPTION = ' +A orthologous B+ - For geneAbundance terms A and B, +A orthologousTo B+ indicates that A and B represent abundances of genes in different species which are sequence similar and which are therefore presumed to share a common ancestral gene. For example, +g(HGNC:AKT1) orthologousTo g(MGI:AKT1)+ indicates that the mouse and human AKT1 genes are orthologous.'.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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # PositiveCorrelation: +A positiveCorrelation B+ - For terms A and B, +A positiveCorrelation B+ indicates that changes in A and B have been observed to be positively correlated, thus B positiveCorrelation A is equivalent to A positiveCorrelation B.
9
+ class PositiveCorrelation
10
+ extend Relationship
11
+
12
+ SHORT = :positiveCorrelation
13
+ LONG = :positiveCorrelation
14
+ DESCRIPTION = ' +A positiveCorrelation B+ - For terms A and B, +A positiveCorrelation B+ indicates that changes in A and B have been observed to be positively correlated, thus B positiveCorrelation A is equivalent to A positiveCorrelation 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,35 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # PrognosticBiomarkerFor: +A prognosticBiomarkerFor P+ - For term A and process term P, +A prognosticBiomarkerFor P+ indicates that changes in or detection of A is used in some way to be a prognostic biomarker for the subsequent development of pathology or biological process P.
9
+ class PrognosticBiomarkerFor
10
+ extend Relationship
11
+
12
+ SHORT = :prognosticBiomarkerFor
13
+ LONG = :prognosticBiomarkerFor
14
+ DESCRIPTION = ' +A prognosticBiomarkerFor P+ - For term A and process term P, +A prognosticBiomarkerFor P+ indicates that changes in or detection of A is used in some way to be a prognostic biomarker for the subsequent development of 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
+
28
+ def self.deprecated?
29
+ true
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # RateLimitingStepOf: +A rateLimitingStepOf B+ - For process, activity, or transformation term A and process term B, +A rateLimitingStepOf B+ indicates +A subProcessOf B+ and +A -> B+. For example, the catalytic activity of HMG CoA reductase is a rate-limiting step for cholesterol biosynthesis: <pre> <code> cat(p(HGNC:HMGCR)) rateLimitingStepOf\ bp(GO:"cholesterol biosynthetic process") </code> </pre>
9
+ class RateLimitingStepOf
10
+ extend Relationship
11
+
12
+ SHORT = :rateLimitingStepOf
13
+ LONG = :rateLimitingStepOf
14
+ DESCRIPTION = ' +A rateLimitingStepOf B+ - For process, activity, or transformation term A and process term B, +A rateLimitingStepOf B+ indicates +A subProcessOf B+ and +A -> B+. For example, the catalytic activity of HMG CoA reductase is a rate-limiting step for cholesterol biosynthesis: <pre> <code> cat(p(HGNC:HMGCR)) rateLimitingStepOf\ bp(GO:"cholesterol biosynthetic process") </code> </pre>'.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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # ReactantIn: +A reactantIn reaction(reactants(A), products(B))+ - This relationship links abundance terms from the +reactants(<list>)+ in a reaction to the reaction. This is a direct relationship because it is a _self_ relationship. Reactants are consumed directly by a reaction. This relationship is introduced by the BEL Compiler and may not be used by statements in BEL documents.
9
+ class ReactantIn
10
+ extend Relationship
11
+
12
+ SHORT = :reactantIn
13
+ LONG = :reactantIn
14
+ DESCRIPTION = ' +A reactantIn reaction(reactants(A), products(B))+ - This relationship links abundance terms from the +reactants(<list>)+ in a reaction to the reaction. This is a direct relationship because it is a _self_ relationship. Reactants are consumed 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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # Regulates: +A regulates B+ - For terms A and B, A regulates B or A reg B indicate that A is reported to have an effect on B, but information is missing about whether A increases B or A decreases B. This relationship provides more information than association, because the upstream entity (source term) and downstream entity (target term) can be assigned.
9
+ class Regulates
10
+ extend Relationship
11
+
12
+ SHORT = :reg
13
+ LONG = :regulates
14
+ DESCRIPTION = '+A regulates B+ - For terms A and B, A regulates B or A reg B indicate that A is reported to have an effect on B, but information is missing about whether A increases B or A decreases B. This relationship provides more information than association, because the upstream entity (source term) and downstream entity (target term) can be assigned.'.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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # SubProcessOf: +A subProcessOf B+ - For process, activity, or transformation term A and process term B, +A subProcessOf B+ indicates that instances of process B, by default, include one or more instances of A in their composition. For example, the reduction of HMG-CoA to mevalonate is a subprocess of cholesterol biosynthesis: <pre> <code> rxn(reactants(a(CHEBI:"(S)-3-hydroxy-3-methylglutaryl-CoA"),\ a(CHEBI:NADPH), a(CHEBI:hydron)), products(a(CHEBI:Mevalonate),\ a(CHEBI:"CoA-SH"), a(CHEBI:"NADP+"))) subProcessOf bp(GO:"cholesterol\ biosynthetic process") </code> </pre>
9
+ class SubProcessOf
10
+ extend Relationship
11
+
12
+ SHORT = :subProcessOf
13
+ LONG = :subProcessOf
14
+ DESCRIPTION = ' +A subProcessOf B+ - For process, activity, or transformation term A and process term B, +A subProcessOf B+ indicates that instances of process B, by default, include one or more instances of A in their composition. For example, the reduction of HMG-CoA to mevalonate is a subprocess of cholesterol biosynthesis: <pre> <code> rxn(reactants(a(CHEBI:"(S)-3-hydroxy-3-methylglutaryl-CoA"),\ a(CHEBI:NADPH), a(CHEBI:hydron)), products(a(CHEBI:Mevalonate),\ a(CHEBI:"CoA-SH"), a(CHEBI:"NADP+"))) subProcessOf bp(GO:"cholesterol\ biosynthetic process") </code> </pre>'.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 '../../version2_0'
2
+ require_relative '../../relationship'
3
+
4
+ module BELParser
5
+ module Language
6
+ module Version2_0
7
+ module Relationships
8
+ # TranscribedTo: +G :> R+ - For rnaAbundance term R and geneAbundance term G, +G transcribedTo R+ or +G :> R+ indicates that members of R are produced by the transcription of members of G. For example: +g(HGNC:AKT1) :> r(HGNC:AKT1)+ indicates that the human AKT1 RNA is transcribed from the human AKT1 gene.
9
+ class TranscribedTo
10
+ extend Relationship
11
+
12
+ SHORT = :':>'
13
+ LONG = :transcribedTo
14
+ DESCRIPTION = ' +G :> R+ - For rnaAbundance term R and geneAbundance term G, +G transcribedTo R+ or +G :> R+ indicates that members of R are produced by the transcription of members of G. For example: +g(HGNC:AKT1) :> r(HGNC:AKT1)+ indicates that the human AKT1 RNA is transcribed from the human AKT1 gene.'.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