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.
- checksums.yaml +7 -0
- data/.gemspec-java +32 -0
- data/CHANGELOG.md +10 -0
- data/LICENSE +191 -0
- data/README.md +20 -0
- data/VERSION +1 -0
- data/bin/bel2_validator +62 -0
- data/bin/bel_script_reader +132 -0
- data/lib/bel/translator/plugins/bel_script.rb +38 -0
- data/lib/bel/translator/plugins/bel_script/bel_citation_serialization.rb +125 -0
- data/lib/bel/translator/plugins/bel_script/bel_discrete_serialization.rb +109 -0
- data/lib/bel/translator/plugins/bel_script/bel_top_down_serialization.rb +100 -0
- data/lib/bel/translator/plugins/bel_script/nanopub_serialization.rb +79 -0
- data/lib/bel/translator/plugins/bel_script/reader.rb +39 -0
- data/lib/bel/translator/plugins/bel_script/translator.rb +37 -0
- data/lib/bel/translator/plugins/bel_script/writer.rb +180 -0
- data/lib/bel_parser.rb +23 -0
- data/lib/bel_parser/ast_filter.rb +44 -0
- data/lib/bel_parser/ast_generator.rb +83 -0
- data/lib/bel_parser/expression.rb +3 -0
- data/lib/bel_parser/expression/filter.rb +31 -0
- data/lib/bel_parser/expression/parser.rb +72 -0
- data/lib/bel_parser/expression/validator.rb +79 -0
- data/lib/bel_parser/language.rb +114 -0
- data/lib/bel_parser/language/amino_acid.rb +68 -0
- data/lib/bel_parser/language/apply_namespace_encoding.rb +98 -0
- data/lib/bel_parser/language/base_specification.rb +82 -0
- data/lib/bel_parser/language/covalent_protein_modification.rb +56 -0
- data/lib/bel_parser/language/expression_validator.rb +68 -0
- data/lib/bel_parser/language/function.rb +67 -0
- data/lib/bel_parser/language/relationship.rb +102 -0
- data/lib/bel_parser/language/semantics.rb +40 -0
- data/lib/bel_parser/language/semantics/deeply_nested_statement.rb +65 -0
- data/lib/bel_parser/language/semantics/function_deprecation.rb +43 -0
- data/lib/bel_parser/language/semantics/list_function_subject.rb +45 -0
- data/lib/bel_parser/language/semantics/multiple_subject_object.rb +55 -0
- data/lib/bel_parser/language/semantics/non_causal_nested_statement.rb +50 -0
- data/lib/bel_parser/language/semantics/non_object_list.rb +56 -0
- data/lib/bel_parser/language/semantics/relationship_deprecation.rb +44 -0
- data/lib/bel_parser/language/semantics/relationship_not_listable.rb +60 -0
- data/lib/bel_parser/language/semantics/signature_mapping.rb +83 -0
- data/lib/bel_parser/language/semantics_ast.rb +784 -0
- data/lib/bel_parser/language/semantics_ast_warnings.rb +180 -0
- data/lib/bel_parser/language/semantics_function.rb +16 -0
- data/lib/bel_parser/language/semantics_match.rb +28 -0
- data/lib/bel_parser/language/semantics_result.rb +33 -0
- data/lib/bel_parser/language/semantics_type_warning.rb +22 -0
- data/lib/bel_parser/language/semantics_warning.rb +27 -0
- data/lib/bel_parser/language/signature.rb +39 -0
- data/lib/bel_parser/language/specification.rb +118 -0
- data/lib/bel_parser/language/syntax.rb +38 -0
- data/lib/bel_parser/language/syntax/invalid_function.rb +39 -0
- data/lib/bel_parser/language/syntax/invalid_relationship.rb +42 -0
- data/lib/bel_parser/language/syntax/undefined_namespace.rb +49 -0
- data/lib/bel_parser/language/syntax/undefined_namespace_value.rb +44 -0
- data/lib/bel_parser/language/syntax_error.rb +32 -0
- data/lib/bel_parser/language/syntax_function.rb +16 -0
- data/lib/bel_parser/language/syntax_result.rb +32 -0
- data/lib/bel_parser/language/syntax_warning.rb +27 -0
- data/lib/bel_parser/language/version1_0.rb +20 -0
- data/lib/bel_parser/language/version1_0/functions/abundance.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/biological_process.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/catalytic_activity.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/cell_secretion.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/cell_surface_expression.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/chaperone_activity.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/complex_abundance.rb +115 -0
- data/lib/bel_parser/language/version1_0/functions/composite_abundance.rb +81 -0
- data/lib/bel_parser/language/version1_0/functions/degradation.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/fusion.rb +287 -0
- data/lib/bel_parser/language/version1_0/functions/gene_abundance.rb +122 -0
- data/lib/bel_parser/language/version1_0/functions/gtp_bound_activity.rb +113 -0
- data/lib/bel_parser/language/version1_0/functions/kinase_activity.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/list.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/micro_rna_abundance.rb +85 -0
- data/lib/bel_parser/language/version1_0/functions/molecular_activity.rb +82 -0
- data/lib/bel_parser/language/version1_0/functions/pathology.rb +83 -0
- data/lib/bel_parser/language/version1_0/functions/peptidase_activity.rb +112 -0
- data/lib/bel_parser/language/version1_0/functions/phosphatase_activity.rb +112 -0
- data/lib/bel_parser/language/version1_0/functions/products.rb +79 -0
- data/lib/bel_parser/language/version1_0/functions/protein_abundance.rb +234 -0
- data/lib/bel_parser/language/version1_0/functions/protein_modification.rb +179 -0
- data/lib/bel_parser/language/version1_0/functions/reactants.rb +79 -0
- data/lib/bel_parser/language/version1_0/functions/reaction.rb +86 -0
- data/lib/bel_parser/language/version1_0/functions/ribosylation_activity.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/rna_abundance.rb +122 -0
- data/lib/bel_parser/language/version1_0/functions/substitution.rb +93 -0
- data/lib/bel_parser/language/version1_0/functions/transcriptional_activity.rb +114 -0
- data/lib/bel_parser/language/version1_0/functions/translocation.rb +98 -0
- data/lib/bel_parser/language/version1_0/functions/transport_activity.rb +115 -0
- data/lib/bel_parser/language/version1_0/functions/truncation.rb +81 -0
- data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +61 -0
- data/lib/bel_parser/language/version1_0/relationships/analogous.rb +41 -0
- data/lib/bel_parser/language/version1_0/relationships/association.rb +42 -0
- data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +42 -0
- data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +50 -0
- data/lib/bel_parser/language/version1_0/relationships/decreases.rb +63 -0
- data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +56 -0
- data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +56 -0
- data/lib/bel_parser/language/version1_0/relationships/has_component.rb +62 -0
- data/lib/bel_parser/language/version1_0/relationships/has_components.rb +61 -0
- data/lib/bel_parser/language/version1_0/relationships/has_member.rb +48 -0
- data/lib/bel_parser/language/version1_0/relationships/has_members.rb +57 -0
- data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +54 -0
- data/lib/bel_parser/language/version1_0/relationships/has_product.rb +60 -0
- data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +54 -0
- data/lib/bel_parser/language/version1_0/relationships/includes.rb +59 -0
- data/lib/bel_parser/language/version1_0/relationships/increases.rb +63 -0
- data/lib/bel_parser/language/version1_0/relationships/is_a.rb +48 -0
- data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +50 -0
- data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +48 -0
- data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +46 -0
- data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +44 -0
- data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +53 -0
- data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +60 -0
- data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +55 -0
- data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +53 -0
- data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +54 -0
- data/lib/bel_parser/language/version1_0/relationships/translocates.rb +57 -0
- data/lib/bel_parser/language/version1_0/return_types/abundance.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/any.rb +74 -0
- data/lib/bel_parser/language/version1_0/return_types/biological_process.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/catalytic_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/chaperone_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/complex_abundance.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/fusion.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/gene_abundance.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/gtp_bound_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/kinase_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/list.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/micro_rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/molecular_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/pathology.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/peptidase_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/phosphatase_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/products.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/protein_abundance.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/protein_modification.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/reactants.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/ribosylation_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/substitution.rb +17 -0
- data/lib/bel_parser/language/version1_0/return_types/transcriptional_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/transport_activity.rb +20 -0
- data/lib/bel_parser/language/version1_0/return_types/truncation.rb +17 -0
- data/lib/bel_parser/language/version1_0/value_encodings/abundance.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/any.rb +74 -0
- data/lib/bel_parser/language/version1_0/value_encodings/biological_process.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/complex_abundance.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/gene_abundance.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/micro_rna_abundance.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/pathology.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/protein_abundance.rb +21 -0
- data/lib/bel_parser/language/version1_0/value_encodings/rna_abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0.rb +20 -0
- data/lib/bel_parser/language/version2_0/functions/abundance.rb +161 -0
- data/lib/bel_parser/language/version2_0/functions/activity.rb +118 -0
- data/lib/bel_parser/language/version2_0/functions/biological_process.rb +84 -0
- data/lib/bel_parser/language/version2_0/functions/cell_secretion.rb +83 -0
- data/lib/bel_parser/language/version2_0/functions/cell_surface_expression.rb +83 -0
- data/lib/bel_parser/language/version2_0/functions/complex_abundance.rb +190 -0
- data/lib/bel_parser/language/version2_0/functions/composite_abundance.rb +81 -0
- data/lib/bel_parser/language/version2_0/functions/degradation.rb +83 -0
- data/lib/bel_parser/language/version2_0/functions/fragment.rb +116 -0
- data/lib/bel_parser/language/version2_0/functions/from_location.rb +85 -0
- data/lib/bel_parser/language/version2_0/functions/fusion.rb +203 -0
- data/lib/bel_parser/language/version2_0/functions/gene_abundance.rb +192 -0
- data/lib/bel_parser/language/version2_0/functions/list.rb +114 -0
- data/lib/bel_parser/language/version2_0/functions/location.rb +83 -0
- data/lib/bel_parser/language/version2_0/functions/micro_rna_abundance.rb +163 -0
- data/lib/bel_parser/language/version2_0/functions/molecular_activity.rb +86 -0
- data/lib/bel_parser/language/version2_0/functions/pathology.rb +83 -0
- data/lib/bel_parser/language/version2_0/functions/products.rb +79 -0
- data/lib/bel_parser/language/version2_0/functions/protein_abundance.rb +270 -0
- data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +172 -0
- data/lib/bel_parser/language/version2_0/functions/reactants.rb +79 -0
- data/lib/bel_parser/language/version2_0/functions/reaction.rb +86 -0
- data/lib/bel_parser/language/version2_0/functions/rna_abundance.rb +192 -0
- data/lib/bel_parser/language/version2_0/functions/to_location.rb +84 -0
- data/lib/bel_parser/language/version2_0/functions/translocation.rb +91 -0
- data/lib/bel_parser/language/version2_0/functions/variant.rb +80 -0
- data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +61 -0
- data/lib/bel_parser/language/version2_0/relationships/analogous.rb +45 -0
- data/lib/bel_parser/language/version2_0/relationships/association.rb +42 -0
- data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +46 -0
- data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +50 -0
- data/lib/bel_parser/language/version2_0/relationships/decreases.rb +63 -0
- data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +56 -0
- data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +56 -0
- data/lib/bel_parser/language/version2_0/relationships/has_component.rb +62 -0
- data/lib/bel_parser/language/version2_0/relationships/has_components.rb +61 -0
- data/lib/bel_parser/language/version2_0/relationships/has_member.rb +48 -0
- data/lib/bel_parser/language/version2_0/relationships/has_members.rb +57 -0
- data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +54 -0
- data/lib/bel_parser/language/version2_0/relationships/has_product.rb +60 -0
- data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +54 -0
- data/lib/bel_parser/language/version2_0/relationships/includes.rb +59 -0
- data/lib/bel_parser/language/version2_0/relationships/increases.rb +63 -0
- data/lib/bel_parser/language/version2_0/relationships/is_a.rb +48 -0
- data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +50 -0
- data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +48 -0
- data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +46 -0
- data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +48 -0
- data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +53 -0
- data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +60 -0
- data/lib/bel_parser/language/version2_0/relationships/regulates.rb +51 -0
- data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +55 -0
- data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +53 -0
- data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +54 -0
- data/lib/bel_parser/language/version2_0/relationships/translocates.rb +57 -0
- data/lib/bel_parser/language/version2_0/return_types/abundance.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/activity.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/any.rb +74 -0
- data/lib/bel_parser/language/version2_0/return_types/biological_process.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/complex_abundance.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/fragment.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/from_location.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/fusion.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/gene_abundance.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/list.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/location.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/micro_rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/molecular_activity.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/pathology.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/products.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/protein_abundance.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/protein_modification.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/reactants.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/rna_abundance.rb +17 -0
- data/lib/bel_parser/language/version2_0/return_types/to_location.rb +20 -0
- data/lib/bel_parser/language/version2_0/return_types/variant.rb +20 -0
- data/lib/bel_parser/language/version2_0/value_encodings/abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/activity.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/any.rb +74 -0
- data/lib/bel_parser/language/version2_0/value_encodings/biological_process.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/complex_abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/gene_abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/location.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/micro_rna_abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/pathology.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/protein_abundance.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/protein_modification.rb +21 -0
- data/lib/bel_parser/language/version2_0/value_encodings/rna_abundance.rb +21 -0
- data/lib/bel_parser/mixin/line_continuator.rb +15 -0
- data/lib/bel_parser/mixin/line_mapping.rb +14 -0
- data/lib/bel_parser/parsers/ast/node.rb +987 -0
- data/lib/bel_parser/parsers/ast/sexp.rb +8 -0
- data/lib/bel_parser/parsers/bel_script.rb +5 -0
- data/lib/bel_parser/parsers/bel_script/define_annotation.rb +5920 -0
- data/lib/bel_parser/parsers/bel_script/define_annotation.rl +141 -0
- data/lib/bel_parser/parsers/bel_script/define_namespace.rb +1780 -0
- data/lib/bel_parser/parsers/bel_script/define_namespace.rl +121 -0
- data/lib/bel_parser/parsers/bel_script/set.rb +5008 -0
- data/lib/bel_parser/parsers/bel_script/set.rl +116 -0
- data/lib/bel_parser/parsers/bel_script/set_document.rb +7722 -0
- data/lib/bel_parser/parsers/bel_script/set_document.rl +97 -0
- data/lib/bel_parser/parsers/bel_script/unset.rb +706 -0
- data/lib/bel_parser/parsers/bel_script/unset.rl +95 -0
- data/lib/bel_parser/parsers/common.rb +5 -0
- data/lib/bel_parser/parsers/common/blank_line.rb +211 -0
- data/lib/bel_parser/parsers/common/blank_line.rl +81 -0
- data/lib/bel_parser/parsers/common/comment_line.rb +245 -0
- data/lib/bel_parser/parsers/common/comment_line.rl +97 -0
- data/lib/bel_parser/parsers/common/common.rb +7 -0
- data/lib/bel_parser/parsers/common/common.rl +13 -0
- data/lib/bel_parser/parsers/common/identifier.rb +289 -0
- data/lib/bel_parser/parsers/common/identifier.rl +106 -0
- data/lib/bel_parser/parsers/common/list.rb +2388 -0
- data/lib/bel_parser/parsers/common/list.rl +146 -0
- data/lib/bel_parser/parsers/common/string.rb +271 -0
- data/lib/bel_parser/parsers/common/string.rl +107 -0
- data/lib/bel_parser/parsers/expression.rb +7 -0
- data/lib/bel_parser/parsers/expression/comment.rb +239 -0
- data/lib/bel_parser/parsers/expression/comment.rl +97 -0
- data/lib/bel_parser/parsers/expression/nested_statement.rb +17802 -0
- data/lib/bel_parser/parsers/expression/nested_statement.rl +141 -0
- data/lib/bel_parser/parsers/expression/observed_term.rb +7291 -0
- data/lib/bel_parser/parsers/expression/observed_term.rl +92 -0
- data/lib/bel_parser/parsers/expression/parameter.rb +1506 -0
- data/lib/bel_parser/parsers/expression/parameter.rl +97 -0
- data/lib/bel_parser/parsers/expression/relationship.rb +254 -0
- data/lib/bel_parser/parsers/expression/relationship.rl +98 -0
- data/lib/bel_parser/parsers/expression/simple_statement.rb +10475 -0
- data/lib/bel_parser/parsers/expression/simple_statement.rl +112 -0
- data/lib/bel_parser/parsers/expression/term.rb +3989 -0
- data/lib/bel_parser/parsers/expression/term.rl +157 -0
- data/lib/bel_parser/parsers/line_parser.rb +92 -0
- data/lib/bel_parser/parsers/mixin/buffer.rb +10 -0
- data/lib/bel_parser/parsers/nonblocking_io_wrapper.rb +50 -0
- data/lib/bel_parser/parsers/serializer.rb +205 -0
- data/lib/bel_parser/quoting.rb +177 -0
- data/lib/bel_parser/resource/concept.rb +56 -0
- data/lib/bel_parser/resource/concept_scheme.rb +35 -0
- data/lib/bel_parser/resource/dataset.rb +34 -0
- data/lib/bel_parser/resource/eager_reader.rb +89 -0
- data/lib/bel_parser/resource/eager_sparql_reader.rb +51 -0
- data/lib/bel_parser/resource/file_resource.rb +21 -0
- data/lib/bel_parser/resource/file_resource_value.rb +24 -0
- data/lib/bel_parser/resource/jena_tdb_reader.rb +246 -0
- data/lib/bel_parser/resource/lru_cache.rb +111 -0
- data/lib/bel_parser/resource/lru_reader.rb +34 -0
- data/lib/bel_parser/resource/reader.rb +18 -0
- data/lib/bel_parser/resource/resource_url_reader.rb +181 -0
- data/lib/bel_parser/resource/sparql_reader.rb +179 -0
- data/lib/bel_parser/resource/value.rb +31 -0
- data/lib/bel_parser/script.rb +8 -0
- data/lib/bel_parser/script/filter.rb +35 -0
- data/lib/bel_parser/script/first_node.rb +21 -0
- data/lib/bel_parser/script/keywords.rb +32 -0
- data/lib/bel_parser/script/nanopub_mapper.rb +182 -0
- data/lib/bel_parser/script/parser.rb +51 -0
- data/lib/bel_parser/script/state/annotation_definition.rb +62 -0
- data/lib/bel_parser/script/state/bel_version.rb +36 -0
- data/lib/bel_parser/script/state/document_property.rb +29 -0
- data/lib/bel_parser/script/state/namespace_definition.rb +32 -0
- data/lib/bel_parser/script/state/set.rb +82 -0
- data/lib/bel_parser/script/state/unset.rb +46 -0
- data/lib/bel_parser/script/state_aggregator.rb +49 -0
- data/lib/bel_parser/script/state_function.rb +10 -0
- data/lib/bel_parser/script/syntax/expression_validation.rb +46 -0
- data/lib/bel_parser/script/syntax/invalid_regex_pattern.rb +49 -0
- data/lib/bel_parser/script/syntax/undefined_annotation.rb +61 -0
- data/lib/bel_parser/script/syntax/undefined_annotation_value.rb +84 -0
- data/lib/bel_parser/script/syntax/unresolvable_namespace.rb +54 -0
- data/lib/bel_parser/script/syntax/unsupported_bel_version.rb +59 -0
- data/lib/bel_parser/script/validator.rb +65 -0
- data/lib/bel_parser/vendor/ast.rb +17 -0
- data/lib/bel_parser/vendor/ast/node.rb +254 -0
- data/lib/bel_parser/vendor/ast/processor.rb +12 -0
- data/lib/bel_parser/vendor/ast/processor/mixin.rb +282 -0
- data/lib/bel_parser/vendor/ast/sexp.rb +30 -0
- metadata +390 -0
@@ -0,0 +1,51 @@
|
|
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
|
9
|
+
# B or A reg B indicate that A is reported to have an effect on
|
10
|
+
# B, but information is missing about whether A increases B or
|
11
|
+
# A decreases B. This relationship provides more information
|
12
|
+
# than association, because the upstream entity (source term)
|
13
|
+
# and downstream entity (target term) can be assigned.
|
14
|
+
class Regulates
|
15
|
+
extend Relationship
|
16
|
+
|
17
|
+
SHORT = :reg
|
18
|
+
LONG = :regulates
|
19
|
+
DESCRIPTION = '+A regulates B+ - For terms A and B, A regulates
|
20
|
+
or A reg B indicate that A is reported to
|
21
|
+
ave an effect on B, but information is missing
|
22
|
+
bout whether A increases B or A decreases
|
23
|
+
. This relationship provides more information
|
24
|
+
han association, because the upstream entity
|
25
|
+
source term) and downstream entity (target term)
|
26
|
+
an be assigned.'.freeze
|
27
|
+
|
28
|
+
def self.short
|
29
|
+
SHORT
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.long
|
33
|
+
LONG
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.description
|
37
|
+
DESCRIPTION
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.causal?
|
41
|
+
true
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.directed?
|
45
|
+
true
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,55 @@
|
|
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
|
9
|
+
# transformation term A and process term B, +A subProcessOf B+
|
10
|
+
# indicates that instances of process B, by default, include
|
11
|
+
# one or more instances of A in their composition. For
|
12
|
+
# example, the reduction of HMG-CoA to mevalonate is
|
13
|
+
# a subprocess of cholesterol biosynthesis: <pre> <code>
|
14
|
+
# rxn(reactants(a(CHEBI:"(S)-3-hydroxy-3-methylglutaryl-CoA"),\
|
15
|
+
# a(CHEBI:NADPH), a(CHEBI:hydron)), products(a(CHEBI:Mevalonate),\
|
16
|
+
# a(CHEBI:"CoA-SH"), a(CHEBI:"NADP+"))) subProcessOf
|
17
|
+
# bp(GO:"cholesterol\ biosynthetic process") </code> </pre>
|
18
|
+
class SubProcessOf
|
19
|
+
extend Relationship
|
20
|
+
|
21
|
+
SHORT = :subProcessOf
|
22
|
+
LONG = :subProcessOf
|
23
|
+
DESCRIPTION = ' +A subProcessOf B+ - For process, activity,
|
24
|
+
r transformation term A and process term B,
|
25
|
+
A subProcessOf B+ indicates that instances
|
26
|
+
f process B, by default, include one or more
|
27
|
+
nstances of A in their composition. For example,
|
28
|
+
he reduction of HMG-CoA to mevalonate is a
|
29
|
+
ubprocess of cholesterol biosynthesis: <pre> <code>
|
30
|
+
xn(reactants(a(CHEBI:"(S)-3-hydroxy-3-methylglutaryl-CoA"),\
|
31
|
+
(CHEBI:NADPH), a(CHEBI:hydron)),
|
32
|
+
roducts(a(CHEBI:Mevalonate),\ a(CHEBI:"CoA-SH"),
|
33
|
+
(CHEBI:"NADP+"))) subProcessOf bp(GO:"cholesterol\
|
34
|
+
iosynthetic process") </code> </pre>'.freeze
|
35
|
+
|
36
|
+
def self.short
|
37
|
+
SHORT
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.long
|
41
|
+
LONG
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.description
|
45
|
+
DESCRIPTION
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.directed?
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,53 @@
|
|
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
|
9
|
+
# geneAbundance term G, +G transcribedTo R+ or +G :> R+ indicates
|
10
|
+
# that members of R are produced by the transcription of members
|
11
|
+
# of G. For example: +g(HGNC:AKT1) :> r(HGNC:AKT1)+ indicates
|
12
|
+
# that the human AKT1 RNA is transcribed from the human AKT1 gene.
|
13
|
+
class TranscribedTo
|
14
|
+
extend Relationship
|
15
|
+
|
16
|
+
SHORT = :':>'
|
17
|
+
LONG = :transcribedTo
|
18
|
+
DESCRIPTION = ' +G :> R+ - For rnaAbundance term R and
|
19
|
+
eneAbundance term G, +G transcribedTo R+ or +G :>
|
20
|
+
+ indicates that members of R are produced by
|
21
|
+
he transcription of members of G. For example:
|
22
|
+
g(HGNC:AKT1) :> r(HGNC:AKT1)+ indicates that
|
23
|
+
he human AKT1 RNA is transcribed from the human
|
24
|
+
KT1 gene.'.freeze
|
25
|
+
|
26
|
+
def self.short
|
27
|
+
SHORT
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.long
|
31
|
+
LONG
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.description
|
35
|
+
DESCRIPTION
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.direct?
|
39
|
+
true
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.directed?
|
43
|
+
true
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.genomic?
|
47
|
+
true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative '../../version2_0'
|
2
|
+
require_relative '../../relationship'
|
3
|
+
|
4
|
+
module BELParser
|
5
|
+
module Language
|
6
|
+
module Version2_0
|
7
|
+
module Relationships
|
8
|
+
# TranslatedTo: +R >> P+ - For rnaAbundance term R and
|
9
|
+
# proteinAbundance term P, +R translatedTo P+ or +R >> P+
|
10
|
+
# indicates that members of P are produced by the translation
|
11
|
+
# of members of R. For example: +r(HGNC:AKT1) >> p(HGNC:AKT1)+
|
12
|
+
# indicates that AKT1 protein is produced by translation of
|
13
|
+
# AKT1 RNA.
|
14
|
+
class TranslatedTo
|
15
|
+
extend Relationship
|
16
|
+
|
17
|
+
SHORT = :>>
|
18
|
+
LONG = :translatedTo
|
19
|
+
DESCRIPTION = ' +R >> P+ - For rnaAbundance term R and
|
20
|
+
roteinAbundance term P, +R translatedTo P+ or
|
21
|
+
R >> P+ indicates that members of P are produced
|
22
|
+
y the translation of members of R. For example:
|
23
|
+
r(HGNC:AKT1) >> p(HGNC:AKT1)+ indicates that
|
24
|
+
KT1 protein is produced by translation of AKT1
|
25
|
+
NA.'.freeze
|
26
|
+
|
27
|
+
def self.short
|
28
|
+
SHORT
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.long
|
32
|
+
LONG
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.description
|
36
|
+
DESCRIPTION
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.direct?
|
40
|
+
true
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.directed?
|
44
|
+
true
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.genomic?
|
48
|
+
true
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative '../../version2_0'
|
2
|
+
require_relative '../../relationship'
|
3
|
+
|
4
|
+
module BELParser
|
5
|
+
module Language
|
6
|
+
module Version2_0
|
7
|
+
module Relationships
|
8
|
+
# Translocates: +translocation(A, ns1:v1, ns2:v2) translocates
|
9
|
+
# A+ - This relationship links the abundance term in a
|
10
|
+
# +translocation()+ to the translocation. This relationship is
|
11
|
+
# direct because it is a _self_ relationship. The translocated
|
12
|
+
# abundance is directly acted on by the translocation
|
13
|
+
# process. This relationship is introduced by the BEL Compiler
|
14
|
+
# and may not be used by statements in BEL documents.
|
15
|
+
class Translocates
|
16
|
+
extend Relationship
|
17
|
+
|
18
|
+
SHORT = :translocates
|
19
|
+
LONG = :translocates
|
20
|
+
DESCRIPTION = ' +translocation(A, ns1:v1, ns2:v2) translocates
|
21
|
+
+ - This relationship links the abundance term
|
22
|
+
n a +translocation()+ to the translocation. This
|
23
|
+
elationship is direct because it is a _self_
|
24
|
+
elationship. The translocated abundance
|
25
|
+
s directly acted on by the translocation
|
26
|
+
rocess. This relationship is introduced by the
|
27
|
+
EL Compiler and may not be used by statements in
|
28
|
+
EL documents.'.freeze
|
29
|
+
|
30
|
+
def self.short
|
31
|
+
SHORT
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.long
|
35
|
+
LONG
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.description
|
39
|
+
DESCRIPTION
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.directed?
|
43
|
+
true
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.injected?
|
47
|
+
true
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.self?
|
51
|
+
true
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative 'any'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# Abundance return type.
|
8
|
+
class Abundance < Any
|
9
|
+
# Return the {Symbol} value.
|
10
|
+
#
|
11
|
+
# @note This method should be overridden in subclasses.
|
12
|
+
def self.to_sym
|
13
|
+
raise_not_implemented(__method__) if self != Abundance
|
14
|
+
:abundance
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative 'any'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# Activity return type.
|
8
|
+
class Activity < Any
|
9
|
+
# Return the {Symbol} value.
|
10
|
+
#
|
11
|
+
# @note This method should be overridden in subclasses.
|
12
|
+
def self.to_sym
|
13
|
+
raise_not_implemented(__method__) if self != Activity
|
14
|
+
:activity
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'English'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# The any type.
|
8
|
+
class Any
|
9
|
+
# Return the {Symbol} value.
|
10
|
+
#
|
11
|
+
# @note This method should be overridden in subclasses.
|
12
|
+
def self.to_sym
|
13
|
+
raise_not_implemented(__method__) if self != Any
|
14
|
+
:*
|
15
|
+
end
|
16
|
+
|
17
|
+
# Returns +true+ if I am a subtype of +other_return_type+; otherwise
|
18
|
+
# return +false+.
|
19
|
+
#
|
20
|
+
# @param [Class] other_return_type to compare to
|
21
|
+
# @return [Boolean] +true+ if I am a subtype; +false+ if not
|
22
|
+
def self.subtype_of?(other_return_type)
|
23
|
+
self <= other_return_type
|
24
|
+
end
|
25
|
+
|
26
|
+
# Retrieve my immediate subtypes.
|
27
|
+
#
|
28
|
+
# @return [Array<Class>] my immediate subtypes
|
29
|
+
def self.subtypes
|
30
|
+
(@subtypes ||= []).freeze
|
31
|
+
end
|
32
|
+
|
33
|
+
# Retrieve my transitive subtypes.
|
34
|
+
#
|
35
|
+
# @return [Array<Class>] my transitive subtypes
|
36
|
+
def self.transitive_subtypes
|
37
|
+
transitive_subtypes =
|
38
|
+
(@subtypes ||= []).flat_map do |subtype|
|
39
|
+
[subtype, subtype.subtypes]
|
40
|
+
end.flatten
|
41
|
+
transitive_subtypes << self
|
42
|
+
transitive_subtypes.freeze
|
43
|
+
end
|
44
|
+
|
45
|
+
# Inherited hook overridden to keep track of descendants. This method
|
46
|
+
# is inherited by all descendants.
|
47
|
+
#
|
48
|
+
# @param [Class] cls the subclass that is inheriting me
|
49
|
+
# @see .subtypes
|
50
|
+
def self.inherited(cls)
|
51
|
+
(@subtypes ||= []) << cls
|
52
|
+
end
|
53
|
+
private_class_method
|
54
|
+
|
55
|
+
# Raise {NotImplementedError} for +method+. Alters the exception
|
56
|
+
# backtrace to exclude this method.
|
57
|
+
#
|
58
|
+
# @param [#to_s] the method name
|
59
|
+
# @raise [NotImplementedError] for +method+
|
60
|
+
def self.raise_not_implemented(method)
|
61
|
+
msg = "#{name} must implement the #{method} method"
|
62
|
+
raise NotImplementedError, msg
|
63
|
+
rescue StandardError
|
64
|
+
raise(
|
65
|
+
$ERROR_INFO.class,
|
66
|
+
$ERROR_INFO.message,
|
67
|
+
$ERROR_INFO.backtrace[1..-1])
|
68
|
+
end
|
69
|
+
private_class_method
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative 'any'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# Biological process return type.
|
8
|
+
class BiologicalProcess < Any
|
9
|
+
def self.to_sym
|
10
|
+
raise_not_implemented(__method__) if self != BiologicalProcess
|
11
|
+
:biologicalProcess
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative 'abundance'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# Complex abundance return type.
|
8
|
+
class ComplexAbundance < Abundance
|
9
|
+
def self.to_sym
|
10
|
+
raise_not_implemented(__method__) if self != ComplexAbundance
|
11
|
+
:complexAbundance
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require_relative 'any'
|
2
|
+
|
3
|
+
module BELParser
|
4
|
+
module Language
|
5
|
+
module Version2_0
|
6
|
+
module ReturnTypes
|
7
|
+
# Fragment return type.
|
8
|
+
class Fragment < Any
|
9
|
+
# Return the {Symbol} value.
|
10
|
+
#
|
11
|
+
# @note This method should be overridden in subclasses.
|
12
|
+
def self.to_sym
|
13
|
+
raise_not_implemented(__method__) if self != Fragment
|
14
|
+
:fragment
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|