bel_parser 1.0.0.alpha.27-java

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 (332) hide show
  1. checksums.yaml +7 -0
  2. data/.gemspec-java +32 -0
  3. data/CHANGELOG.md +10 -0
  4. data/LICENSE +191 -0
  5. data/README.md +20 -0
  6. data/VERSION +1 -0
  7. data/bin/bel2_validator +62 -0
  8. data/bin/bel_script_reader +132 -0
  9. data/lib/bel/translator/plugins/bel_script.rb +38 -0
  10. data/lib/bel/translator/plugins/bel_script/bel_citation_serialization.rb +125 -0
  11. data/lib/bel/translator/plugins/bel_script/bel_discrete_serialization.rb +109 -0
  12. data/lib/bel/translator/plugins/bel_script/bel_top_down_serialization.rb +100 -0
  13. data/lib/bel/translator/plugins/bel_script/nanopub_serialization.rb +79 -0
  14. data/lib/bel/translator/plugins/bel_script/reader.rb +39 -0
  15. data/lib/bel/translator/plugins/bel_script/translator.rb +37 -0
  16. data/lib/bel/translator/plugins/bel_script/writer.rb +180 -0
  17. data/lib/bel_parser.rb +23 -0
  18. data/lib/bel_parser/ast_filter.rb +44 -0
  19. data/lib/bel_parser/ast_generator.rb +83 -0
  20. data/lib/bel_parser/expression.rb +3 -0
  21. data/lib/bel_parser/expression/filter.rb +31 -0
  22. data/lib/bel_parser/expression/parser.rb +72 -0
  23. data/lib/bel_parser/expression/validator.rb +79 -0
  24. data/lib/bel_parser/language.rb +114 -0
  25. data/lib/bel_parser/language/amino_acid.rb +68 -0
  26. data/lib/bel_parser/language/apply_namespace_encoding.rb +98 -0
  27. data/lib/bel_parser/language/base_specification.rb +82 -0
  28. data/lib/bel_parser/language/covalent_protein_modification.rb +56 -0
  29. data/lib/bel_parser/language/expression_validator.rb +68 -0
  30. data/lib/bel_parser/language/function.rb +67 -0
  31. data/lib/bel_parser/language/relationship.rb +102 -0
  32. data/lib/bel_parser/language/semantics.rb +40 -0
  33. data/lib/bel_parser/language/semantics/deeply_nested_statement.rb +65 -0
  34. data/lib/bel_parser/language/semantics/function_deprecation.rb +43 -0
  35. data/lib/bel_parser/language/semantics/list_function_subject.rb +45 -0
  36. data/lib/bel_parser/language/semantics/multiple_subject_object.rb +55 -0
  37. data/lib/bel_parser/language/semantics/non_causal_nested_statement.rb +50 -0
  38. data/lib/bel_parser/language/semantics/non_object_list.rb +56 -0
  39. data/lib/bel_parser/language/semantics/relationship_deprecation.rb +44 -0
  40. data/lib/bel_parser/language/semantics/relationship_not_listable.rb +60 -0
  41. data/lib/bel_parser/language/semantics/signature_mapping.rb +83 -0
  42. data/lib/bel_parser/language/semantics_ast.rb +784 -0
  43. data/lib/bel_parser/language/semantics_ast_warnings.rb +180 -0
  44. data/lib/bel_parser/language/semantics_function.rb +16 -0
  45. data/lib/bel_parser/language/semantics_match.rb +28 -0
  46. data/lib/bel_parser/language/semantics_result.rb +33 -0
  47. data/lib/bel_parser/language/semantics_type_warning.rb +22 -0
  48. data/lib/bel_parser/language/semantics_warning.rb +27 -0
  49. data/lib/bel_parser/language/signature.rb +39 -0
  50. data/lib/bel_parser/language/specification.rb +118 -0
  51. data/lib/bel_parser/language/syntax.rb +38 -0
  52. data/lib/bel_parser/language/syntax/invalid_function.rb +39 -0
  53. data/lib/bel_parser/language/syntax/invalid_relationship.rb +42 -0
  54. data/lib/bel_parser/language/syntax/undefined_namespace.rb +49 -0
  55. data/lib/bel_parser/language/syntax/undefined_namespace_value.rb +44 -0
  56. data/lib/bel_parser/language/syntax_error.rb +32 -0
  57. data/lib/bel_parser/language/syntax_function.rb +16 -0
  58. data/lib/bel_parser/language/syntax_result.rb +32 -0
  59. data/lib/bel_parser/language/syntax_warning.rb +27 -0
  60. data/lib/bel_parser/language/version1_0.rb +20 -0
  61. data/lib/bel_parser/language/version1_0/functions/abundance.rb +83 -0
  62. data/lib/bel_parser/language/version1_0/functions/biological_process.rb +83 -0
  63. data/lib/bel_parser/language/version1_0/functions/catalytic_activity.rb +114 -0
  64. data/lib/bel_parser/language/version1_0/functions/cell_secretion.rb +83 -0
  65. data/lib/bel_parser/language/version1_0/functions/cell_surface_expression.rb +83 -0
  66. data/lib/bel_parser/language/version1_0/functions/chaperone_activity.rb +114 -0
  67. data/lib/bel_parser/language/version1_0/functions/complex_abundance.rb +115 -0
  68. data/lib/bel_parser/language/version1_0/functions/composite_abundance.rb +81 -0
  69. data/lib/bel_parser/language/version1_0/functions/degradation.rb +83 -0
  70. data/lib/bel_parser/language/version1_0/functions/fusion.rb +287 -0
  71. data/lib/bel_parser/language/version1_0/functions/gene_abundance.rb +122 -0
  72. data/lib/bel_parser/language/version1_0/functions/gtp_bound_activity.rb +113 -0
  73. data/lib/bel_parser/language/version1_0/functions/kinase_activity.rb +114 -0
  74. data/lib/bel_parser/language/version1_0/functions/list.rb +114 -0
  75. data/lib/bel_parser/language/version1_0/functions/micro_rna_abundance.rb +85 -0
  76. data/lib/bel_parser/language/version1_0/functions/molecular_activity.rb +82 -0
  77. data/lib/bel_parser/language/version1_0/functions/pathology.rb +83 -0
  78. data/lib/bel_parser/language/version1_0/functions/peptidase_activity.rb +112 -0
  79. data/lib/bel_parser/language/version1_0/functions/phosphatase_activity.rb +112 -0
  80. data/lib/bel_parser/language/version1_0/functions/products.rb +79 -0
  81. data/lib/bel_parser/language/version1_0/functions/protein_abundance.rb +234 -0
  82. data/lib/bel_parser/language/version1_0/functions/protein_modification.rb +179 -0
  83. data/lib/bel_parser/language/version1_0/functions/reactants.rb +79 -0
  84. data/lib/bel_parser/language/version1_0/functions/reaction.rb +86 -0
  85. data/lib/bel_parser/language/version1_0/functions/ribosylation_activity.rb +114 -0
  86. data/lib/bel_parser/language/version1_0/functions/rna_abundance.rb +122 -0
  87. data/lib/bel_parser/language/version1_0/functions/substitution.rb +93 -0
  88. data/lib/bel_parser/language/version1_0/functions/transcriptional_activity.rb +114 -0
  89. data/lib/bel_parser/language/version1_0/functions/translocation.rb +98 -0
  90. data/lib/bel_parser/language/version1_0/functions/transport_activity.rb +115 -0
  91. data/lib/bel_parser/language/version1_0/functions/truncation.rb +81 -0
  92. data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +61 -0
  93. data/lib/bel_parser/language/version1_0/relationships/analogous.rb +41 -0
  94. data/lib/bel_parser/language/version1_0/relationships/association.rb +42 -0
  95. data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +42 -0
  96. data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +50 -0
  97. data/lib/bel_parser/language/version1_0/relationships/decreases.rb +63 -0
  98. data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +56 -0
  99. data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +56 -0
  100. data/lib/bel_parser/language/version1_0/relationships/has_component.rb +62 -0
  101. data/lib/bel_parser/language/version1_0/relationships/has_components.rb +61 -0
  102. data/lib/bel_parser/language/version1_0/relationships/has_member.rb +48 -0
  103. data/lib/bel_parser/language/version1_0/relationships/has_members.rb +57 -0
  104. data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +54 -0
  105. data/lib/bel_parser/language/version1_0/relationships/has_product.rb +60 -0
  106. data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +54 -0
  107. data/lib/bel_parser/language/version1_0/relationships/includes.rb +59 -0
  108. data/lib/bel_parser/language/version1_0/relationships/increases.rb +63 -0
  109. data/lib/bel_parser/language/version1_0/relationships/is_a.rb +48 -0
  110. data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +50 -0
  111. data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +48 -0
  112. data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +46 -0
  113. data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +44 -0
  114. data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +53 -0
  115. data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +60 -0
  116. data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +55 -0
  117. data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +53 -0
  118. data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +54 -0
  119. data/lib/bel_parser/language/version1_0/relationships/translocates.rb +57 -0
  120. data/lib/bel_parser/language/version1_0/return_types/abundance.rb +20 -0
  121. data/lib/bel_parser/language/version1_0/return_types/any.rb +74 -0
  122. data/lib/bel_parser/language/version1_0/return_types/biological_process.rb +17 -0
  123. data/lib/bel_parser/language/version1_0/return_types/catalytic_activity.rb +20 -0
  124. data/lib/bel_parser/language/version1_0/return_types/chaperone_activity.rb +20 -0
  125. data/lib/bel_parser/language/version1_0/return_types/complex_abundance.rb +17 -0
  126. data/lib/bel_parser/language/version1_0/return_types/fusion.rb +17 -0
  127. data/lib/bel_parser/language/version1_0/return_types/gene_abundance.rb +17 -0
  128. data/lib/bel_parser/language/version1_0/return_types/gtp_bound_activity.rb +20 -0
  129. data/lib/bel_parser/language/version1_0/return_types/kinase_activity.rb +20 -0
  130. data/lib/bel_parser/language/version1_0/return_types/list.rb +17 -0
  131. data/lib/bel_parser/language/version1_0/return_types/micro_rna_abundance.rb +17 -0
  132. data/lib/bel_parser/language/version1_0/return_types/molecular_activity.rb +20 -0
  133. data/lib/bel_parser/language/version1_0/return_types/pathology.rb +17 -0
  134. data/lib/bel_parser/language/version1_0/return_types/peptidase_activity.rb +20 -0
  135. data/lib/bel_parser/language/version1_0/return_types/phosphatase_activity.rb +20 -0
  136. data/lib/bel_parser/language/version1_0/return_types/products.rb +17 -0
  137. data/lib/bel_parser/language/version1_0/return_types/protein_abundance.rb +17 -0
  138. data/lib/bel_parser/language/version1_0/return_types/protein_modification.rb +17 -0
  139. data/lib/bel_parser/language/version1_0/return_types/reactants.rb +17 -0
  140. data/lib/bel_parser/language/version1_0/return_types/ribosylation_activity.rb +20 -0
  141. data/lib/bel_parser/language/version1_0/return_types/rna_abundance.rb +17 -0
  142. data/lib/bel_parser/language/version1_0/return_types/substitution.rb +17 -0
  143. data/lib/bel_parser/language/version1_0/return_types/transcriptional_activity.rb +20 -0
  144. data/lib/bel_parser/language/version1_0/return_types/transport_activity.rb +20 -0
  145. data/lib/bel_parser/language/version1_0/return_types/truncation.rb +17 -0
  146. data/lib/bel_parser/language/version1_0/value_encodings/abundance.rb +21 -0
  147. data/lib/bel_parser/language/version1_0/value_encodings/any.rb +74 -0
  148. data/lib/bel_parser/language/version1_0/value_encodings/biological_process.rb +21 -0
  149. data/lib/bel_parser/language/version1_0/value_encodings/complex_abundance.rb +21 -0
  150. data/lib/bel_parser/language/version1_0/value_encodings/gene_abundance.rb +21 -0
  151. data/lib/bel_parser/language/version1_0/value_encodings/micro_rna_abundance.rb +21 -0
  152. data/lib/bel_parser/language/version1_0/value_encodings/pathology.rb +21 -0
  153. data/lib/bel_parser/language/version1_0/value_encodings/protein_abundance.rb +21 -0
  154. data/lib/bel_parser/language/version1_0/value_encodings/rna_abundance.rb +21 -0
  155. data/lib/bel_parser/language/version2_0.rb +20 -0
  156. data/lib/bel_parser/language/version2_0/functions/abundance.rb +161 -0
  157. data/lib/bel_parser/language/version2_0/functions/activity.rb +118 -0
  158. data/lib/bel_parser/language/version2_0/functions/biological_process.rb +84 -0
  159. data/lib/bel_parser/language/version2_0/functions/cell_secretion.rb +83 -0
  160. data/lib/bel_parser/language/version2_0/functions/cell_surface_expression.rb +83 -0
  161. data/lib/bel_parser/language/version2_0/functions/complex_abundance.rb +190 -0
  162. data/lib/bel_parser/language/version2_0/functions/composite_abundance.rb +81 -0
  163. data/lib/bel_parser/language/version2_0/functions/degradation.rb +83 -0
  164. data/lib/bel_parser/language/version2_0/functions/fragment.rb +116 -0
  165. data/lib/bel_parser/language/version2_0/functions/from_location.rb +85 -0
  166. data/lib/bel_parser/language/version2_0/functions/fusion.rb +203 -0
  167. data/lib/bel_parser/language/version2_0/functions/gene_abundance.rb +192 -0
  168. data/lib/bel_parser/language/version2_0/functions/list.rb +114 -0
  169. data/lib/bel_parser/language/version2_0/functions/location.rb +83 -0
  170. data/lib/bel_parser/language/version2_0/functions/micro_rna_abundance.rb +163 -0
  171. data/lib/bel_parser/language/version2_0/functions/molecular_activity.rb +86 -0
  172. data/lib/bel_parser/language/version2_0/functions/pathology.rb +83 -0
  173. data/lib/bel_parser/language/version2_0/functions/products.rb +79 -0
  174. data/lib/bel_parser/language/version2_0/functions/protein_abundance.rb +270 -0
  175. data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +172 -0
  176. data/lib/bel_parser/language/version2_0/functions/reactants.rb +79 -0
  177. data/lib/bel_parser/language/version2_0/functions/reaction.rb +86 -0
  178. data/lib/bel_parser/language/version2_0/functions/rna_abundance.rb +192 -0
  179. data/lib/bel_parser/language/version2_0/functions/to_location.rb +84 -0
  180. data/lib/bel_parser/language/version2_0/functions/translocation.rb +91 -0
  181. data/lib/bel_parser/language/version2_0/functions/variant.rb +80 -0
  182. data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +61 -0
  183. data/lib/bel_parser/language/version2_0/relationships/analogous.rb +45 -0
  184. data/lib/bel_parser/language/version2_0/relationships/association.rb +42 -0
  185. data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +46 -0
  186. data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +50 -0
  187. data/lib/bel_parser/language/version2_0/relationships/decreases.rb +63 -0
  188. data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +56 -0
  189. data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +56 -0
  190. data/lib/bel_parser/language/version2_0/relationships/has_component.rb +62 -0
  191. data/lib/bel_parser/language/version2_0/relationships/has_components.rb +61 -0
  192. data/lib/bel_parser/language/version2_0/relationships/has_member.rb +48 -0
  193. data/lib/bel_parser/language/version2_0/relationships/has_members.rb +57 -0
  194. data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +54 -0
  195. data/lib/bel_parser/language/version2_0/relationships/has_product.rb +60 -0
  196. data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +54 -0
  197. data/lib/bel_parser/language/version2_0/relationships/includes.rb +59 -0
  198. data/lib/bel_parser/language/version2_0/relationships/increases.rb +63 -0
  199. data/lib/bel_parser/language/version2_0/relationships/is_a.rb +48 -0
  200. data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +50 -0
  201. data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +48 -0
  202. data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +46 -0
  203. data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +48 -0
  204. data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +53 -0
  205. data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +60 -0
  206. data/lib/bel_parser/language/version2_0/relationships/regulates.rb +51 -0
  207. data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +55 -0
  208. data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +53 -0
  209. data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +54 -0
  210. data/lib/bel_parser/language/version2_0/relationships/translocates.rb +57 -0
  211. data/lib/bel_parser/language/version2_0/return_types/abundance.rb +20 -0
  212. data/lib/bel_parser/language/version2_0/return_types/activity.rb +20 -0
  213. data/lib/bel_parser/language/version2_0/return_types/any.rb +74 -0
  214. data/lib/bel_parser/language/version2_0/return_types/biological_process.rb +17 -0
  215. data/lib/bel_parser/language/version2_0/return_types/complex_abundance.rb +17 -0
  216. data/lib/bel_parser/language/version2_0/return_types/fragment.rb +20 -0
  217. data/lib/bel_parser/language/version2_0/return_types/from_location.rb +20 -0
  218. data/lib/bel_parser/language/version2_0/return_types/fusion.rb +17 -0
  219. data/lib/bel_parser/language/version2_0/return_types/gene_abundance.rb +17 -0
  220. data/lib/bel_parser/language/version2_0/return_types/list.rb +17 -0
  221. data/lib/bel_parser/language/version2_0/return_types/location.rb +20 -0
  222. data/lib/bel_parser/language/version2_0/return_types/micro_rna_abundance.rb +17 -0
  223. data/lib/bel_parser/language/version2_0/return_types/molecular_activity.rb +20 -0
  224. data/lib/bel_parser/language/version2_0/return_types/pathology.rb +17 -0
  225. data/lib/bel_parser/language/version2_0/return_types/products.rb +17 -0
  226. data/lib/bel_parser/language/version2_0/return_types/protein_abundance.rb +17 -0
  227. data/lib/bel_parser/language/version2_0/return_types/protein_modification.rb +17 -0
  228. data/lib/bel_parser/language/version2_0/return_types/reactants.rb +17 -0
  229. data/lib/bel_parser/language/version2_0/return_types/rna_abundance.rb +17 -0
  230. data/lib/bel_parser/language/version2_0/return_types/to_location.rb +20 -0
  231. data/lib/bel_parser/language/version2_0/return_types/variant.rb +20 -0
  232. data/lib/bel_parser/language/version2_0/value_encodings/abundance.rb +21 -0
  233. data/lib/bel_parser/language/version2_0/value_encodings/activity.rb +21 -0
  234. data/lib/bel_parser/language/version2_0/value_encodings/any.rb +74 -0
  235. data/lib/bel_parser/language/version2_0/value_encodings/biological_process.rb +21 -0
  236. data/lib/bel_parser/language/version2_0/value_encodings/complex_abundance.rb +21 -0
  237. data/lib/bel_parser/language/version2_0/value_encodings/gene_abundance.rb +21 -0
  238. data/lib/bel_parser/language/version2_0/value_encodings/location.rb +21 -0
  239. data/lib/bel_parser/language/version2_0/value_encodings/micro_rna_abundance.rb +21 -0
  240. data/lib/bel_parser/language/version2_0/value_encodings/pathology.rb +21 -0
  241. data/lib/bel_parser/language/version2_0/value_encodings/protein_abundance.rb +21 -0
  242. data/lib/bel_parser/language/version2_0/value_encodings/protein_modification.rb +21 -0
  243. data/lib/bel_parser/language/version2_0/value_encodings/rna_abundance.rb +21 -0
  244. data/lib/bel_parser/mixin/line_continuator.rb +15 -0
  245. data/lib/bel_parser/mixin/line_mapping.rb +14 -0
  246. data/lib/bel_parser/parsers/ast/node.rb +987 -0
  247. data/lib/bel_parser/parsers/ast/sexp.rb +8 -0
  248. data/lib/bel_parser/parsers/bel_script.rb +5 -0
  249. data/lib/bel_parser/parsers/bel_script/define_annotation.rb +5920 -0
  250. data/lib/bel_parser/parsers/bel_script/define_annotation.rl +141 -0
  251. data/lib/bel_parser/parsers/bel_script/define_namespace.rb +1780 -0
  252. data/lib/bel_parser/parsers/bel_script/define_namespace.rl +121 -0
  253. data/lib/bel_parser/parsers/bel_script/set.rb +5008 -0
  254. data/lib/bel_parser/parsers/bel_script/set.rl +116 -0
  255. data/lib/bel_parser/parsers/bel_script/set_document.rb +7722 -0
  256. data/lib/bel_parser/parsers/bel_script/set_document.rl +97 -0
  257. data/lib/bel_parser/parsers/bel_script/unset.rb +706 -0
  258. data/lib/bel_parser/parsers/bel_script/unset.rl +95 -0
  259. data/lib/bel_parser/parsers/common.rb +5 -0
  260. data/lib/bel_parser/parsers/common/blank_line.rb +211 -0
  261. data/lib/bel_parser/parsers/common/blank_line.rl +81 -0
  262. data/lib/bel_parser/parsers/common/comment_line.rb +245 -0
  263. data/lib/bel_parser/parsers/common/comment_line.rl +97 -0
  264. data/lib/bel_parser/parsers/common/common.rb +7 -0
  265. data/lib/bel_parser/parsers/common/common.rl +13 -0
  266. data/lib/bel_parser/parsers/common/identifier.rb +289 -0
  267. data/lib/bel_parser/parsers/common/identifier.rl +106 -0
  268. data/lib/bel_parser/parsers/common/list.rb +2388 -0
  269. data/lib/bel_parser/parsers/common/list.rl +146 -0
  270. data/lib/bel_parser/parsers/common/string.rb +271 -0
  271. data/lib/bel_parser/parsers/common/string.rl +107 -0
  272. data/lib/bel_parser/parsers/expression.rb +7 -0
  273. data/lib/bel_parser/parsers/expression/comment.rb +239 -0
  274. data/lib/bel_parser/parsers/expression/comment.rl +97 -0
  275. data/lib/bel_parser/parsers/expression/nested_statement.rb +17802 -0
  276. data/lib/bel_parser/parsers/expression/nested_statement.rl +141 -0
  277. data/lib/bel_parser/parsers/expression/observed_term.rb +7291 -0
  278. data/lib/bel_parser/parsers/expression/observed_term.rl +92 -0
  279. data/lib/bel_parser/parsers/expression/parameter.rb +1506 -0
  280. data/lib/bel_parser/parsers/expression/parameter.rl +97 -0
  281. data/lib/bel_parser/parsers/expression/relationship.rb +254 -0
  282. data/lib/bel_parser/parsers/expression/relationship.rl +98 -0
  283. data/lib/bel_parser/parsers/expression/simple_statement.rb +10475 -0
  284. data/lib/bel_parser/parsers/expression/simple_statement.rl +112 -0
  285. data/lib/bel_parser/parsers/expression/term.rb +3989 -0
  286. data/lib/bel_parser/parsers/expression/term.rl +157 -0
  287. data/lib/bel_parser/parsers/line_parser.rb +92 -0
  288. data/lib/bel_parser/parsers/mixin/buffer.rb +10 -0
  289. data/lib/bel_parser/parsers/nonblocking_io_wrapper.rb +50 -0
  290. data/lib/bel_parser/parsers/serializer.rb +205 -0
  291. data/lib/bel_parser/quoting.rb +177 -0
  292. data/lib/bel_parser/resource/concept.rb +56 -0
  293. data/lib/bel_parser/resource/concept_scheme.rb +35 -0
  294. data/lib/bel_parser/resource/dataset.rb +34 -0
  295. data/lib/bel_parser/resource/eager_reader.rb +89 -0
  296. data/lib/bel_parser/resource/eager_sparql_reader.rb +51 -0
  297. data/lib/bel_parser/resource/file_resource.rb +21 -0
  298. data/lib/bel_parser/resource/file_resource_value.rb +24 -0
  299. data/lib/bel_parser/resource/jena_tdb_reader.rb +246 -0
  300. data/lib/bel_parser/resource/lru_cache.rb +111 -0
  301. data/lib/bel_parser/resource/lru_reader.rb +34 -0
  302. data/lib/bel_parser/resource/reader.rb +18 -0
  303. data/lib/bel_parser/resource/resource_url_reader.rb +181 -0
  304. data/lib/bel_parser/resource/sparql_reader.rb +179 -0
  305. data/lib/bel_parser/resource/value.rb +31 -0
  306. data/lib/bel_parser/script.rb +8 -0
  307. data/lib/bel_parser/script/filter.rb +35 -0
  308. data/lib/bel_parser/script/first_node.rb +21 -0
  309. data/lib/bel_parser/script/keywords.rb +32 -0
  310. data/lib/bel_parser/script/nanopub_mapper.rb +182 -0
  311. data/lib/bel_parser/script/parser.rb +51 -0
  312. data/lib/bel_parser/script/state/annotation_definition.rb +62 -0
  313. data/lib/bel_parser/script/state/bel_version.rb +36 -0
  314. data/lib/bel_parser/script/state/document_property.rb +29 -0
  315. data/lib/bel_parser/script/state/namespace_definition.rb +32 -0
  316. data/lib/bel_parser/script/state/set.rb +82 -0
  317. data/lib/bel_parser/script/state/unset.rb +46 -0
  318. data/lib/bel_parser/script/state_aggregator.rb +49 -0
  319. data/lib/bel_parser/script/state_function.rb +10 -0
  320. data/lib/bel_parser/script/syntax/expression_validation.rb +46 -0
  321. data/lib/bel_parser/script/syntax/invalid_regex_pattern.rb +49 -0
  322. data/lib/bel_parser/script/syntax/undefined_annotation.rb +61 -0
  323. data/lib/bel_parser/script/syntax/undefined_annotation_value.rb +84 -0
  324. data/lib/bel_parser/script/syntax/unresolvable_namespace.rb +54 -0
  325. data/lib/bel_parser/script/syntax/unsupported_bel_version.rb +59 -0
  326. data/lib/bel_parser/script/validator.rb +65 -0
  327. data/lib/bel_parser/vendor/ast.rb +17 -0
  328. data/lib/bel_parser/vendor/ast/node.rb +254 -0
  329. data/lib/bel_parser/vendor/ast/processor.rb +12 -0
  330. data/lib/bel_parser/vendor/ast/processor/mixin.rb +282 -0
  331. data/lib/bel_parser/vendor/ast/sexp.rb +30 -0
  332. metadata +390 -0
@@ -0,0 +1,85 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../function'
3
+ require_relative '../../signature'
4
+ require_relative '../../semantics'
5
+
6
+ module BELParser
7
+ module Language
8
+ module Version2_0
9
+ module Functions
10
+ # FromLocation: Denotes the from cellular location of the
11
+ # abundance.
12
+ class FromLocation
13
+ extend Function
14
+
15
+ SHORT = :fromLoc
16
+ LONG = :fromLocation
17
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::FromLocation
18
+ L_ENC = Version2_0::ValueEncodings::Location
19
+ DESCRIPTION = 'Denotes the from cellular location of the
20
+ bundance.'.freeze
21
+
22
+ def self.short
23
+ SHORT
24
+ end
25
+
26
+ def self.long
27
+ LONG
28
+ end
29
+
30
+ def self.return_type
31
+ RETURN_TYPE
32
+ end
33
+
34
+ def self.description
35
+ DESCRIPTION
36
+ end
37
+
38
+ def self.signatures
39
+ SIGNATURES
40
+ end
41
+
42
+ module Signatures
43
+ # FromLocationSignature
44
+ class FromLocationSignature
45
+ extend BELParser::Language::Signature
46
+
47
+ private_class_method :new
48
+
49
+ AST = BELParser::Language::Semantics::Builder.build do
50
+ term(
51
+ function(
52
+ identifier(
53
+ function_of(FromLocation))),
54
+ argument(
55
+ parameter(
56
+ prefix(
57
+ has_namespace,
58
+ namespace_of(:*)),
59
+ value(
60
+ has_encoding,
61
+ encoding_of(L_ENC)))))
62
+ end
63
+ private_constant :AST
64
+
65
+ STRING_FORM = 'fromLocation(E:location)fromLocation'.freeze
66
+ private_constant :STRING_FORM
67
+
68
+ def self.semantic_ast
69
+ AST
70
+ end
71
+
72
+ def self.string_form
73
+ STRING_FORM
74
+ end
75
+ end
76
+ end
77
+
78
+ SIGNATURES = Signatures.constants.map do |const|
79
+ Signatures.const_get(const)
80
+ end.freeze
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,203 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../function'
3
+ require_relative '../../signature'
4
+ require_relative '../../semantics'
5
+
6
+ module BELParser
7
+ module Language
8
+ module Version2_0
9
+ module Functions
10
+ # Fusion: Specifies the abundance of a protein translated from
11
+ # the fusion of a gene.
12
+ class Fusion
13
+ extend Function
14
+
15
+ SHORT = :fus
16
+ LONG = :fusion
17
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::Fusion
18
+ G_ENC = Version2_0::ValueEncodings::GeneAbundance
19
+ P_ENC = Version2_0::ValueEncodings::ProteinAbundance
20
+ R_ENC = Version2_0::ValueEncodings::RNAAbundance
21
+ DESCRIPTION = 'Specifies the abundance of a protein translated
22
+ rom the fusion of a gene.'.freeze
23
+
24
+ def self.short
25
+ SHORT
26
+ end
27
+
28
+ def self.long
29
+ LONG
30
+ end
31
+
32
+ def self.return_type
33
+ RETURN_TYPE
34
+ end
35
+
36
+ def self.description
37
+ DESCRIPTION
38
+ end
39
+
40
+ def self.signatures
41
+ SIGNATURES
42
+ end
43
+
44
+ module Signatures
45
+ # FusionWithGeneEncodingSignature
46
+ class FusionWithGeneEncodingSignature
47
+ extend BELParser::Language::Signature
48
+
49
+ private_class_method :new
50
+
51
+ AST = BELParser::Language::Semantics::Builder.build do
52
+ term(
53
+ function(
54
+ identifier(
55
+ function_of(Fusion))),
56
+ argument(
57
+ parameter(
58
+ prefix(
59
+ has_namespace,
60
+ namespace_of(:*)),
61
+ value(
62
+ has_encoding,
63
+ encoding_of(G_ENC)))),
64
+ argument(
65
+ parameter(
66
+ prefix(any),
67
+ value(any))),
68
+ argument(
69
+ parameter(
70
+ prefix(
71
+ has_namespace,
72
+ namespace_of(:*)),
73
+ value(
74
+ has_encoding,
75
+ encoding_of(G_ENC)))),
76
+ argument(
77
+ parameter(
78
+ prefix(any),
79
+ value(any))))
80
+ end
81
+ private_constant :AST
82
+
83
+ STRING_FORM = 'fusion(E:geneAbundance,E:*,E:geneAbundance,E:*)fusion'.freeze
84
+ private_constant :STRING_FORM
85
+
86
+ def self.semantic_ast
87
+ AST
88
+ end
89
+
90
+ def self.string_form
91
+ STRING_FORM
92
+ end
93
+ end
94
+
95
+ # FusionWithProteinEncodingSignature
96
+ class FusionWithProteinEncodingSignature
97
+ extend BELParser::Language::Signature
98
+
99
+ private_class_method :new
100
+
101
+ AST = BELParser::Language::Semantics::Builder.build do
102
+ term(
103
+ function(
104
+ identifier(
105
+ function_of(Fusion))),
106
+ argument(
107
+ parameter(
108
+ prefix(
109
+ has_namespace,
110
+ namespace_of(:*)),
111
+ value(
112
+ has_encoding,
113
+ encoding_of(P_ENC)))),
114
+ argument(
115
+ parameter(
116
+ prefix(any),
117
+ value(any))),
118
+ argument(
119
+ parameter(
120
+ prefix(
121
+ has_namespace,
122
+ namespace_of(:*)),
123
+ value(
124
+ has_encoding,
125
+ encoding_of(P_ENC)))),
126
+ argument(
127
+ parameter(
128
+ prefix(any),
129
+ value(any))))
130
+ end
131
+ private_constant :AST
132
+
133
+ STRING_FORM = 'fusion(E:proteinAbundance,E:*,E:proteinAbundance,E:*)fusion'.freeze
134
+ private_constant :STRING_FORM
135
+
136
+ def self.semantic_ast
137
+ AST
138
+ end
139
+
140
+ def self.string_form
141
+ STRING_FORM
142
+ end
143
+ end
144
+
145
+ # FusionWithRNAEncodingSignature
146
+ class FusionWithRNAEncodingSignature
147
+ extend BELParser::Language::Signature
148
+
149
+ private_class_method :new
150
+
151
+ AST = BELParser::Language::Semantics::Builder.build do
152
+ term(
153
+ function(
154
+ identifier(
155
+ function_of(Fusion))),
156
+ argument(
157
+ parameter(
158
+ prefix(
159
+ has_namespace,
160
+ namespace_of(:*)),
161
+ value(
162
+ has_encoding,
163
+ encoding_of(R_ENC)))),
164
+ argument(
165
+ parameter(
166
+ prefix(any),
167
+ value(any))),
168
+ argument(
169
+ parameter(
170
+ prefix(
171
+ has_namespace,
172
+ namespace_of(:*)),
173
+ value(
174
+ has_encoding,
175
+ encoding_of(R_ENC)))),
176
+ argument(
177
+ parameter(
178
+ prefix(any),
179
+ value(any))))
180
+ end
181
+ private_constant :AST
182
+
183
+ STRING_FORM = 'fusion(E:rnaAbundance,E:*,E:rnaAbundance,E:*)fusion'.freeze
184
+ private_constant :STRING_FORM
185
+
186
+ def self.semantic_ast
187
+ AST
188
+ end
189
+
190
+ def self.string_form
191
+ STRING_FORM
192
+ end
193
+ end
194
+ end
195
+
196
+ SIGNATURES = Signatures.constants.map do |const|
197
+ Signatures.const_get(const)
198
+ end.freeze
199
+ end
200
+ end
201
+ end
202
+ end
203
+ end
@@ -0,0 +1,192 @@
1
+ require_relative '../../version2_0'
2
+ require_relative '../../function'
3
+ require_relative '../../signature'
4
+ require_relative '../../semantics'
5
+
6
+ module BELParser
7
+ module Language
8
+ module Version2_0
9
+ module Functions
10
+ # GeneAbundance: Denotes the abundance of a gene.
11
+ class GeneAbundance
12
+ extend Function
13
+
14
+ SHORT = :g
15
+ LONG = :geneAbundance
16
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::GeneAbundance
17
+ G_ENC = Version2_0::ValueEncodings::GeneAbundance
18
+ DESCRIPTION = 'Denotes the abundance of a gene.'.freeze
19
+
20
+ def self.short
21
+ SHORT
22
+ end
23
+
24
+ def self.long
25
+ LONG
26
+ end
27
+
28
+ def self.return_type
29
+ RETURN_TYPE
30
+ end
31
+
32
+ def self.description
33
+ DESCRIPTION
34
+ end
35
+
36
+ def self.signatures
37
+ SIGNATURES
38
+ end
39
+
40
+ module Signatures
41
+ # GeneAbundanceSignature
42
+ class GeneAbundanceSignature
43
+ extend BELParser::Language::Signature
44
+
45
+ private_class_method :new
46
+
47
+ AST = BELParser::Language::Semantics::Builder.build do
48
+ term(
49
+ function(
50
+ identifier(
51
+ function_of(GeneAbundance))),
52
+ argument(
53
+ parameter(
54
+ prefix(
55
+ has_namespace,
56
+ namespace_of(:*)),
57
+ value(
58
+ has_encoding,
59
+ encoding_of(G_ENC)))))
60
+ end
61
+ private_constant :AST
62
+
63
+ STRING_FORM = 'geneAbundance(E:geneAbundance)geneAbundance'.freeze
64
+ private_constant :STRING_FORM
65
+
66
+ def self.semantic_ast
67
+ AST
68
+ end
69
+
70
+ def self.string_form
71
+ STRING_FORM
72
+ end
73
+ end
74
+
75
+ # GeneAbundanceWithFusionSignature
76
+ class GeneAbundanceWithFusionSignature
77
+ extend BELParser::Language::Signature
78
+
79
+ private_class_method :new
80
+
81
+ AST = BELParser::Language::Semantics::Builder.build do
82
+ term(
83
+ function(
84
+ identifier(
85
+ function_of(GeneAbundance))),
86
+ argument(
87
+ term(
88
+ function(
89
+ identifier(
90
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Fusion))))))
91
+ end
92
+ private_constant :AST
93
+
94
+ STRING_FORM = 'geneAbundance(F:fusion)geneAbundance'.freeze
95
+ private_constant :STRING_FORM
96
+
97
+ def self.semantic_ast
98
+ AST
99
+ end
100
+
101
+ def self.string_form
102
+ STRING_FORM
103
+ end
104
+ end
105
+
106
+ # GeneAbundanceWithLocationSignature
107
+ class GeneAbundanceWithLocationSignature
108
+ extend BELParser::Language::Signature
109
+
110
+ private_class_method :new
111
+
112
+ AST = BELParser::Language::Semantics::Builder.build do
113
+ term(
114
+ function(
115
+ identifier(
116
+ function_of(GeneAbundance))),
117
+ argument(
118
+ parameter(
119
+ prefix(
120
+ has_namespace,
121
+ namespace_of(:*)),
122
+ value(
123
+ has_encoding,
124
+ encoding_of(G_ENC)))),
125
+ argument(
126
+ term(
127
+ function(
128
+ identifier(
129
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Location))))))
130
+ end
131
+ private_constant :AST
132
+
133
+ STRING_FORM = 'geneAbundance(E:abundance,F:location)geneAbundance'.freeze
134
+ private_constant :STRING_FORM
135
+
136
+ def self.semantic_ast
137
+ AST
138
+ end
139
+
140
+ def self.string_form
141
+ STRING_FORM
142
+ end
143
+ end
144
+
145
+ # GeneAbundanceWithVariantSignature
146
+ class GeneAbundanceWithVariantSignature
147
+ extend BELParser::Language::Signature
148
+
149
+ private_class_method :new
150
+
151
+ AST = BELParser::Language::Semantics::Builder.build do
152
+ term(
153
+ function(
154
+ identifier(
155
+ function_of(GeneAbundance))),
156
+ argument(
157
+ parameter(
158
+ prefix(
159
+ has_namespace,
160
+ namespace_of(:*)),
161
+ value(
162
+ has_encoding,
163
+ encoding_of(G_ENC)))),
164
+ argument(
165
+ term(
166
+ function(
167
+ identifier(
168
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Variant))))))
169
+ end
170
+ private_constant :AST
171
+
172
+ STRING_FORM = 'geneAbundance(E:geneAbundance,F:variant)geneAbundance'.freeze
173
+ private_constant :STRING_FORM
174
+
175
+ def self.semantic_ast
176
+ AST
177
+ end
178
+
179
+ def self.string_form
180
+ STRING_FORM
181
+ end
182
+ end
183
+ end
184
+
185
+ SIGNATURES = Signatures.constants.map do |const|
186
+ Signatures.const_get(const)
187
+ end.freeze
188
+ end
189
+ end
190
+ end
191
+ end
192
+ end