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,114 @@
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
+ # List: Groups a list of terms together.
11
+ class List
12
+ extend Function
13
+
14
+ SHORT = :list
15
+ LONG = :list
16
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::List
17
+ A_ENC = Version2_0::ValueEncodings::Abundance
18
+ DESCRIPTION = 'Groups a list of terms together.'.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
+ # ListOfAbundanceEncodingSignature
42
+ class ListOfAbundanceEncodingSignature
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(List))),
52
+ argument(
53
+ parameter(
54
+ prefix(
55
+ has_namespace,
56
+ namespace_of(:*)),
57
+ value(
58
+ has_encoding,
59
+ encoding_of(A_ENC)))))
60
+ end
61
+ private_constant :AST
62
+
63
+ STRING_FORM = 'list(E:abundance...)list'.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
+ # ListOfAbundanceSignature
76
+ class ListOfAbundanceSignature
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(List))),
86
+ variadic_arguments(
87
+ term(
88
+ function(
89
+ identifier(
90
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Abundance))))))
91
+ end
92
+ private_constant :AST
93
+
94
+ STRING_FORM = 'list(F:abundance...)list'.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
+ end
106
+
107
+ SIGNATURES = Signatures.constants.map do |const|
108
+ Signatures.const_get(const)
109
+ end.freeze
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,83 @@
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
+ # Location: Denotes the cellular location of the abundance.
11
+ class Location
12
+ extend Function
13
+
14
+ SHORT = :loc
15
+ LONG = :location
16
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::Location
17
+ L_ENC = Version2_0::ValueEncodings::Location
18
+ DESCRIPTION = 'Denotes the cellular location of the abundance.'.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
+ # LocationSignature
42
+ class LocationSignature
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(Location))),
52
+ argument(
53
+ parameter(
54
+ prefix(
55
+ has_namespace,
56
+ namespace_of(:*)),
57
+ value(
58
+ has_encoding,
59
+ encoding_of(L_ENC)))))
60
+ end
61
+ private_constant :AST
62
+
63
+ STRING_FORM = 'location(E:location)location'.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
+ end
75
+
76
+ SIGNATURES = Signatures.constants.map do |const|
77
+ Signatures.const_get(const)
78
+ end.freeze
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,163 @@
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
+ # MicroRNAAbundance: Denotes the abundance of a processed,
11
+ # functional microRNA
12
+ class MicroRNAAbundance
13
+ extend Function
14
+
15
+ SHORT = :m
16
+ LONG = :microRNAAbundance
17
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::MicroRNAAbundance
18
+ M_ENC = Version2_0::ValueEncodings::MicroRNAAbundance
19
+ DESCRIPTION = 'Denotes the abundance of a processed, functional
20
+ icroRNA'.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
+ # MicroRNAAbundanceSignature
44
+ class MicroRNAAbundanceSignature
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(MicroRNAAbundance))),
54
+ argument(
55
+ parameter(
56
+ prefix(
57
+ has_namespace,
58
+ namespace_of(:*)),
59
+ value(
60
+ has_encoding,
61
+ encoding_of(M_ENC)))))
62
+ end
63
+ private_constant :AST
64
+
65
+ STRING_FORM = 'microRNAAbundance(E:microRNAAbundance)microRNAAbundance'.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
+
77
+ # MicroRNAAbundanceWithLocationSignature
78
+ class MicroRNAAbundanceWithLocationSignature
79
+ extend BELParser::Language::Signature
80
+
81
+ private_class_method :new
82
+
83
+ AST = BELParser::Language::Semantics::Builder.build do
84
+ term(
85
+ function(
86
+ identifier(
87
+ function_of(MicroRNAAbundance))),
88
+ argument(
89
+ parameter(
90
+ prefix(
91
+ has_namespace,
92
+ namespace_of(:*)),
93
+ value(
94
+ has_encoding,
95
+ encoding_of(M_ENC)))),
96
+ argument(
97
+ term(
98
+ function(
99
+ identifier(
100
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Location))))))
101
+ end
102
+ private_constant :AST
103
+
104
+ STRING_FORM = 'microRNAAbundance(E:microRNAAbundance,F:location)microRNAAbundance'.freeze
105
+ private_constant :STRING_FORM
106
+
107
+ def self.semantic_ast
108
+ AST
109
+ end
110
+
111
+ def self.string_form
112
+ STRING_FORM
113
+ end
114
+ end
115
+
116
+ # MicroRNAAbundanceWithVariantSignature
117
+ class MicroRNAAbundanceWithVariantSignature
118
+ extend BELParser::Language::Signature
119
+
120
+ private_class_method :new
121
+
122
+ AST = BELParser::Language::Semantics::Builder.build do
123
+ term(
124
+ function(
125
+ identifier(
126
+ function_of(MicroRNAAbundance))),
127
+ argument(
128
+ parameter(
129
+ prefix(
130
+ has_namespace,
131
+ namespace_of(:*)),
132
+ value(
133
+ has_encoding,
134
+ encoding_of(M_ENC)))),
135
+ argument(
136
+ term(
137
+ function(
138
+ identifier(
139
+ return_type_of(BELParser::Language::Version2_0::ReturnTypes::Variant))))))
140
+ end
141
+ private_constant :AST
142
+
143
+ STRING_FORM = 'microRNAAbundance(E:microRNAAbundance,F:variant)microRNAAbundance'.freeze
144
+ private_constant :STRING_FORM
145
+
146
+ def self.semantic_ast
147
+ AST
148
+ end
149
+
150
+ def self.string_form
151
+ STRING_FORM
152
+ end
153
+ end
154
+ end
155
+
156
+ SIGNATURES = Signatures.constants.map do |const|
157
+ Signatures.const_get(const)
158
+ end.freeze
159
+ end
160
+ end
161
+ end
162
+ end
163
+ end
@@ -0,0 +1,86 @@
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
+ # MolecularActivity: Denotes the frequency or abundance of events
11
+ # in which a member acts as a causal agent at the molecular scale
12
+ class MolecularActivity
13
+ extend Function
14
+
15
+ SHORT = :ma
16
+ LONG = :molecularActivity
17
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::MolecularActivity
18
+ T_ENC = Version2_0::ValueEncodings::Activity
19
+ DESCRIPTION = 'Denotes the frequency or abundance of events
20
+ n which a member acts as a causal agent at the
21
+ olecular scale'.freeze
22
+
23
+ def self.short
24
+ SHORT
25
+ end
26
+
27
+ def self.long
28
+ LONG
29
+ end
30
+
31
+ def self.return_type
32
+ RETURN_TYPE
33
+ end
34
+
35
+ def self.description
36
+ DESCRIPTION
37
+ end
38
+
39
+ def self.signatures
40
+ SIGNATURES
41
+ end
42
+
43
+ module Signatures
44
+ # MolecularActivitySignature
45
+ class MolecularActivitySignature
46
+ extend BELParser::Language::Signature
47
+
48
+ private_class_method :new
49
+
50
+ AST = BELParser::Language::Semantics::Builder.build do
51
+ term(
52
+ function(
53
+ identifier(
54
+ function_of(MolecularActivity))),
55
+ argument(
56
+ parameter(
57
+ prefix(
58
+ has_namespace,
59
+ namespace_of(:*)),
60
+ value(
61
+ has_encoding,
62
+ encoding_of(T_ENC)))))
63
+ end
64
+ private_constant :AST
65
+
66
+ STRING_FORM = 'molecularActivity(E:activity)molecularActivity'.freeze
67
+ private_constant :STRING_FORM
68
+
69
+ def self.semantic_ast
70
+ AST
71
+ end
72
+
73
+ def self.string_form
74
+ STRING_FORM
75
+ end
76
+ end
77
+ end
78
+
79
+ SIGNATURES = Signatures.constants.map do |const|
80
+ Signatures.const_get(const)
81
+ end.freeze
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,83 @@
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
+ # Pathology: Denotes a disease or pathology process
11
+ class Pathology
12
+ extend Function
13
+
14
+ SHORT = :path
15
+ LONG = :pathology
16
+ RETURN_TYPE = BELParser::Language::Version2_0::ReturnTypes::Pathology
17
+ O_ENC = Version2_0::ValueEncodings::Pathology
18
+ DESCRIPTION = 'Denotes a disease or pathology process'.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
+ # PathologySignature
42
+ class PathologySignature
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(Pathology))),
52
+ argument(
53
+ parameter(
54
+ prefix(
55
+ has_namespace,
56
+ namespace_of(:*)),
57
+ value(
58
+ has_encoding,
59
+ encoding_of(O_ENC)))))
60
+ end
61
+ private_constant :AST
62
+
63
+ STRING_FORM = 'pathology(E:pathology)pathology'.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
+ end
75
+
76
+ SIGNATURES = Signatures.constants.map do |const|
77
+ Signatures.const_get(const)
78
+ end.freeze
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end