bel_parser 1.0.8-java → 1.1.1-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 (112) hide show
  1. checksums.yaml +4 -4
  2. data/{.gemspec-java → .gemspec} +11 -4
  3. data/VERSION +1 -1
  4. data/bin/bel2_compatibility +12 -9
  5. data/bin/bel2_upgrade +18 -6
  6. data/bin/bel2_validator +6 -3
  7. data/bin/bel_script_reader +1 -0
  8. data/lib/bel_parser/completion.rb +984 -0
  9. data/lib/bel_parser/language/apply_namespace_encoding.rb +14 -3
  10. data/lib/bel_parser/language/expression_validator.rb +1 -2
  11. data/lib/bel_parser/language/function.rb +4 -0
  12. data/lib/bel_parser/language/relationship.rb +4 -0
  13. data/lib/bel_parser/language/semantics/function_deprecation.rb +1 -0
  14. data/lib/bel_parser/language/semantics/list_function_subject.rb +2 -0
  15. data/lib/bel_parser/language/semantics/multiple_subject_object.rb +4 -1
  16. data/lib/bel_parser/language/semantics/nested_statement_without_object.rb +43 -0
  17. data/lib/bel_parser/language/semantics/non_object_list.rb +3 -0
  18. data/lib/bel_parser/language/semantics/relationship_not_listable.rb +2 -0
  19. data/lib/bel_parser/language/semantics/signature_mapping.rb +2 -0
  20. data/lib/bel_parser/language/semantics_ast.rb +0 -7
  21. data/lib/bel_parser/language/syntax/invalid_function.rb +6 -1
  22. data/lib/bel_parser/language/syntax/invalid_relationship.rb +1 -0
  23. data/lib/bel_parser/language/version1_0/relationships/acts_in.rb +9 -9
  24. data/lib/bel_parser/language/version1_0/relationships/analogous.rb +6 -4
  25. data/lib/bel_parser/language/version1_0/relationships/association.rb +8 -7
  26. data/lib/bel_parser/language/version1_0/relationships/biomarker_for.rb +6 -5
  27. data/lib/bel_parser/language/version1_0/relationships/causes_no_change.rb +8 -7
  28. data/lib/bel_parser/language/version1_0/relationships/decreases.rb +13 -12
  29. data/lib/bel_parser/language/version1_0/relationships/directly_decreases.rb +8 -6
  30. data/lib/bel_parser/language/version1_0/relationships/directly_increases.rb +8 -6
  31. data/lib/bel_parser/language/version1_0/relationships/has_component.rb +14 -14
  32. data/lib/bel_parser/language/version1_0/relationships/has_components.rb +12 -11
  33. data/lib/bel_parser/language/version1_0/relationships/has_member.rb +10 -8
  34. data/lib/bel_parser/language/version1_0/relationships/has_members.rb +12 -11
  35. data/lib/bel_parser/language/version1_0/relationships/has_modification.rb +9 -7
  36. data/lib/bel_parser/language/version1_0/relationships/has_product.rb +10 -8
  37. data/lib/bel_parser/language/version1_0/relationships/has_variant.rb +9 -7
  38. data/lib/bel_parser/language/version1_0/relationships/includes.rb +11 -10
  39. data/lib/bel_parser/language/version1_0/relationships/increases.rb +12 -13
  40. data/lib/bel_parser/language/version1_0/relationships/is_a.rb +10 -8
  41. data/lib/bel_parser/language/version1_0/relationships/negative_correlation.rb +9 -7
  42. data/lib/bel_parser/language/version1_0/relationships/orthologous.rb +9 -8
  43. data/lib/bel_parser/language/version1_0/relationships/positive_correlation.rb +8 -5
  44. data/lib/bel_parser/language/version1_0/relationships/prognostic_biomarker_for.rb +8 -6
  45. data/lib/bel_parser/language/version1_0/relationships/rate_limiting_step_of.rb +10 -9
  46. data/lib/bel_parser/language/version1_0/relationships/reactant_in.rb +10 -8
  47. data/lib/bel_parser/language/version1_0/relationships/sub_process_of.rb +13 -12
  48. data/lib/bel_parser/language/version1_0/relationships/transcribed_to.rb +8 -7
  49. data/lib/bel_parser/language/version1_0/relationships/translated_to.rb +9 -7
  50. data/lib/bel_parser/language/version1_0/relationships/translocates.rb +10 -9
  51. data/lib/bel_parser/language/version2_0/functions/protein_modification.rb +1 -2
  52. data/lib/bel_parser/language/version2_0/functions/translocation.rb +1 -2
  53. data/lib/bel_parser/language/version2_0/functions/variant.rb +1 -2
  54. data/lib/bel_parser/language/version2_0/relationships/acts_in.rb +10 -9
  55. data/lib/bel_parser/language/version2_0/relationships/biomarker_for.rb +7 -5
  56. data/lib/bel_parser/language/version2_0/relationships/causes_no_change.rb +9 -7
  57. data/lib/bel_parser/language/version2_0/relationships/decreases.rb +13 -12
  58. data/lib/bel_parser/language/version2_0/relationships/directly_decreases.rb +8 -6
  59. data/lib/bel_parser/language/version2_0/relationships/directly_increases.rb +8 -6
  60. data/lib/bel_parser/language/version2_0/relationships/has_component.rb +15 -14
  61. data/lib/bel_parser/language/version2_0/relationships/has_components.rb +12 -11
  62. data/lib/bel_parser/language/version2_0/relationships/has_member.rb +9 -8
  63. data/lib/bel_parser/language/version2_0/relationships/has_members.rb +12 -11
  64. data/lib/bel_parser/language/version2_0/relationships/has_modification.rb +9 -7
  65. data/lib/bel_parser/language/version2_0/relationships/has_product.rb +10 -8
  66. data/lib/bel_parser/language/version2_0/relationships/has_variant.rb +9 -7
  67. data/lib/bel_parser/language/version2_0/relationships/includes.rb +11 -10
  68. data/lib/bel_parser/language/version2_0/relationships/increases.rb +13 -12
  69. data/lib/bel_parser/language/version2_0/relationships/is_a.rb +10 -8
  70. data/lib/bel_parser/language/version2_0/relationships/negative_correlation.rb +9 -7
  71. data/lib/bel_parser/language/version2_0/relationships/orthologous.rb +10 -8
  72. data/lib/bel_parser/language/version2_0/relationships/positive_correlation.rb +7 -5
  73. data/lib/bel_parser/language/version2_0/relationships/prognostic_biomarker_for.rb +8 -6
  74. data/lib/bel_parser/language/version2_0/relationships/rate_limiting_step_of.rb +10 -9
  75. data/lib/bel_parser/language/version2_0/relationships/reactant_in.rb +10 -8
  76. data/lib/bel_parser/language/version2_0/relationships/regulates.rb +9 -8
  77. data/lib/bel_parser/language/version2_0/relationships/sub_process_of.rb +13 -12
  78. data/lib/bel_parser/language/version2_0/relationships/transcribed_to.rb +8 -7
  79. data/lib/bel_parser/language/version2_0/relationships/translated_to.rb +9 -7
  80. data/lib/bel_parser/language/version2_0/relationships/translocates.rb +10 -9
  81. data/lib/bel_parser/mixin/levenshtein.rb +20 -0
  82. data/lib/bel_parser/parsers/ast/node.rb +49 -2
  83. data/lib/bel_parser/parsers/bel_script/define_annotation.rb +156 -156
  84. data/lib/bel_parser/parsers/bel_script/define_namespace.rb +60 -60
  85. data/lib/bel_parser/parsers/bel_script/set.rb +200 -200
  86. data/lib/bel_parser/parsers/bel_script/set_document.rb +188 -188
  87. data/lib/bel_parser/parsers/bel_script/unset.rb +14 -14
  88. data/lib/bel_parser/parsers/common/common.rl +1 -0
  89. data/lib/bel_parser/parsers/common/function.rb +8 -8
  90. data/lib/bel_parser/parsers/common/function.rl +6 -6
  91. data/lib/bel_parser/parsers/common/identifier.rb +3 -3
  92. data/lib/bel_parser/parsers/common/identifier.rl +4 -4
  93. data/lib/bel_parser/parsers/common/list.rb +78 -78
  94. data/lib/bel_parser/parsers/common/multi_identifier.rb +275 -0
  95. data/lib/bel_parser/parsers/common/multi_identifier.rl +141 -0
  96. data/lib/bel_parser/parsers/common/string.rb +6 -6
  97. data/lib/bel_parser/parsers/common/string.rl +4 -4
  98. data/lib/bel_parser/parsers/common.rb +1 -0
  99. data/lib/bel_parser/parsers/expression/nested_statement.rb +30180 -29055
  100. data/lib/bel_parser/parsers/expression/observed_term.rb +1456 -1099
  101. data/lib/bel_parser/parsers/expression/parameter.rb +192 -111
  102. data/lib/bel_parser/parsers/expression/parameter.rl +6 -3
  103. data/lib/bel_parser/parsers/expression/relationship.rb +43 -19
  104. data/lib/bel_parser/parsers/expression/relationship.rl +1 -0
  105. data/lib/bel_parser/parsers/expression/simple_statement.rb +17805 -17093
  106. data/lib/bel_parser/parsers/expression/statement_autocomplete.rb +1035 -0
  107. data/lib/bel_parser/parsers/expression/statement_autocomplete.rl +736 -0
  108. data/lib/bel_parser/parsers/expression/term.rb +960 -705
  109. data/lib/bel_parser/parsers/serializer.rb +8 -4
  110. data/lib/bel_parser/version.rb +33 -0
  111. data/lib/bel_parser.rb +3 -0
  112. metadata +26 -4
@@ -19,17 +19,18 @@ module BELParser
19
19
 
20
20
  SHORT = :hasComponents
21
21
  LONG = :hasComponents
22
- DESCRIPTION = ' +A hasComponents (B, C, D)+ - The hasComponents
23
- elationship is a special form which enables
24
- he assignment of multiple complex components
25
- n a single statement where the object of the
26
- tatement is a set of abundance terms. A statement
27
- sing hasComponents is exactly equivalent to
28
- ultiple hasComponent statements. A term may not
29
- ppear in both the subject and object of the same
30
- asComponents statement. For the abundance terms A,
31
- , C and D, +A hasComponents B, C, D+ indicates
32
- hat A has components B, C and D.'.freeze
22
+
23
+ DESCRIPTION = <<-DOC
24
+ HasComponents: +A hasComponents (B, C, D)+ - The hasComponents
25
+ relationship is a special form which enables the assignment
26
+ of multiple complex components in a single statement where
27
+ the object of the statement is a set of abundance terms. A
28
+ statement using hasComponents is exactly equivalent to multiple
29
+ hasComponent statements. A term may not appear in both the
30
+ subject and object of the same hasComponents statement. For
31
+ the abundance terms A, B, C and D, +A hasComponents B, C, D+
32
+ indicates that A has components B, C and D.
33
+ DOC
33
34
 
34
35
  def self.short
35
36
  SHORT
@@ -17,14 +17,15 @@ module BELParser
17
17
 
18
18
  SHORT = :hasMember
19
19
  LONG = :hasMember
20
- DESCRIPTION = ' +A hasMember A1+ - For term abundances A and B,
21
- A hasMember B+ designates B as a member class of
22
- . A member class is a distinguished sub-class. A is
23
- efined as a group by all of the members assigned to
24
- t. The member classes may or may not be overlapping
25
- nd may or may not entirely cover all instances
26
- f A. A term may not appear in both the subject
27
- nd object of the same hasMember statement.'.freeze
20
+ DESCRIPTION = <<-DOC
21
+ HasMember: +A hasMember A1+ - For term abundances A and B,
22
+ +A hasMember B+ designates B as a member class of A. A member
23
+ class is a distinguished sub-class. A is defined as a group
24
+ by all of the members assigned to it. The member classes may
25
+ or may not be overlapping and may or may not entirely cover
26
+ all instances of A. A term may not appear in both the subject
27
+ and object of the same hasMember statement.
28
+ DOC
28
29
 
29
30
  def self.short
30
31
  SHORT
@@ -19,17 +19,18 @@ module BELParser
19
19
 
20
20
  SHORT = :hasMembers
21
21
  LONG = :hasMembers
22
- DESCRIPTION = ' +A hasMembers (B, C, D)+ - The hasMembers
23
- elationship is a special form which enables the
24
- ssignment of multiple member classes in a single
25
- tatement where the object of the statement is a set
26
- f abundance terms. A statement using hasMembers
27
- s exactly equivalent to multiple hasMember
28
- tatements. A term may not appear in both the
29
- ubject and object of a of the same hasMembers
30
- tatement. For the abundance terms A, B, C and D,
31
- A hasMembers B, C, D+ indicates that A is defined
32
- y its member abundance classes B, C and D.'.freeze
22
+
23
+ DESCRIPTION = <<-DOC
24
+ HasMembers: +A hasMembers (B, C, D)+ - The hasMembers
25
+ relationship is a special form which enables the assignment of
26
+ multiple member classes in a single statement where the object
27
+ of the statement is a set of abundance terms. A statement
28
+ using hasMembers is exactly equivalent to multiple hasMember
29
+ statements. A term may not appear in both the subject and
30
+ object of a of the same hasMembers statement. For the abundance
31
+ terms A, B, C and D, +A hasMembers B, C, D+ indicates that A
32
+ is defined by its member abundance classes B, C and D.
33
+ DOC
33
34
 
34
35
  def self.short
35
36
  SHORT
@@ -16,13 +16,15 @@ module BELParser
16
16
 
17
17
  SHORT = :hasModification
18
18
  LONG = :hasModification
19
- DESCRIPTION = ' +p(A) hasModification p(A, pmod(P, S, 473))+ -
20
- his relationship links abundance terms modified by
21
- he +pmod()+ function to the unmodified abundance
22
- erm. This is a direct relationship because it
23
- s a _self_ relationship. This relationship is
24
- ntroduced by the BEL Compiler and may not be used
25
- y statements in BEL documents.'.freeze
19
+
20
+ DESCRIPTION = <<-DOC
21
+ HasModification: +p(A) hasModification p(A, pmod(P, S, 473))+
22
+ - This relationship links abundance terms modified by the
23
+ +pmod()+ function to the unmodified abundance term. This is a
24
+ direct relationship because it is a _self_ relationship. This
25
+ relationship is introduced by the BEL Compiler and may not be
26
+ used by statements in BEL documents.
27
+ DOC
26
28
 
27
29
  def self.short
28
30
  SHORT
@@ -17,14 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :hasProduct
19
19
  LONG = :hasProduct
20
- DESCRIPTION = ' +reaction(reactants(A), products(B)) hasProduct
21
- + - This relationship links abundance terms
22
- rom the +products(<list>)+ in a reaction to the
23
- eaction. This is a direct relationship because it
24
- s a _self_ relationship. Products are produced
25
- irectly by a reaction. This relationship is
26
- ntroduced by the BEL Compiler and may not be used
27
- y statements in BEL documents.'.freeze
20
+
21
+ DESCRIPTION = <<-DOC
22
+ HasProduct: +reaction(reactants(A), products(B))
23
+ hasProduct B+ - This relationship links abundance
24
+ terms from the +products(<list>)+ in a reaction to the
25
+ reaction. This is a direct relationship because it is a _self_
26
+ relationship. Products are produced directly by a reaction. This
27
+ relationship is introduced by the BEL Compiler and may not be
28
+ used by statements in BEL documents.
29
+ DOC
28
30
 
29
31
  def self.short
30
32
  SHORT
@@ -16,13 +16,15 @@ module BELParser
16
16
 
17
17
  SHORT = :hasVariant
18
18
  LONG = :hasVariant
19
- DESCRIPTION = ' +p(A) hasVariant p(A, sub(G, 12, V))+ - This
20
- elationship links abundance terms modified by the
21
- substitution()+, +fusion()+, or +truncation()+
22
- unctions to the unmodified abundance term. This
23
- elationship is introduced by the BEL Compiler
24
- nd does not need to be used by statements in
25
- EL documents.'.freeze
19
+
20
+ DESCRIPTION = <<-DOC
21
+ HasVariant: +p(A) hasVariant p(A, sub(G, 12, V))+ -
22
+ This relationship links abundance terms modified by the
23
+ +substitution()+, +fusion()+, or +truncation()+ functions to
24
+ the unmodified abundance term. This relationship is introduced
25
+ by the BEL Compiler and does not need to be used by statements
26
+ in BEL documents.
27
+ DOC
26
28
 
27
29
  def self.short
28
30
  SHORT
@@ -18,16 +18,17 @@ module BELParser
18
18
 
19
19
  SHORT = :includes
20
20
  LONG = :includes
21
- DESCRIPTION = ' +compositeAbundance(A,B) includes A+ - This
22
- elationship links each individual abundance
23
- erm in a +compositeAbundance(<list>)+
24
- o the compositeAbundance. For example,
25
- compositeAbundance(A, B) includes A+ and
26
- compositeAbundance(A, B) includes B+. This
27
- elationship is direct because it is a _self_
28
- elationship. This relationship is introduced by
29
- he BEL Compiler and may not be used by statements
30
- n BEL documents.'.freeze
21
+
22
+ DESCRIPTION = <<-DOC
23
+ Includes: +compositeAbundance(A,B) includes A+ - This
24
+ relationship links each individual abundance term in a
25
+ +compositeAbundance(<list>)+ to the compositeAbundance. For
26
+ example, +compositeAbundance(A, B) includes A+ and
27
+ +compositeAbundance(A, B) includes B+. This relationship is
28
+ direct because it is a _self_ relationship. This relationship
29
+ is introduced by the BEL Compiler and may not be used by
30
+ statements in BEL documents.
31
+ DOC
31
32
 
32
33
  def self.short
33
34
  SHORT
@@ -20,18 +20,19 @@ module BELParser
20
20
 
21
21
  SHORT = :'->'
22
22
  LONG = :increases
23
- DESCRIPTION = ' +A -> B+ - For terms A and B, +A increases B
24
- r A -> B+ indicates that increases in A have been
25
- bserved to cause increases in B. +A increases
26
- + also represents cases where decreases in A
27
- ave been observed to cause decreases in B, for
28
- xample, in recording the results of gene deletion
29
- r other inhibition experiments. A is a BEL Term
30
- nd B is either a BEL Term or a BEL Statement. The
31
- elationship does not indicate that the changes
32
- n A are either necessary for changes in B, nor
33
- oes it indicate that changes in A are sufficient
34
- o cause changes in B.'.freeze
23
+
24
+ DESCRIPTION = <<-DOC
25
+ Increases: +A -> B+ - For terms A and B, +A increases B or
26
+ A -> B+ indicates that increases in A have been observed to
27
+ cause increases in B. +A increases B+ also represents cases
28
+ where decreases in A have been observed to cause decreases in B,
29
+ for example, in recording the results of gene deletion or other
30
+ inhibition experiments. A is a BEL Term and B is either a BEL
31
+ Term or a BEL Statement. The relationship does not indicate
32
+ that the changes in A are either necessary for changes in B,
33
+ nor does it indicate that changes in A are sufficient to cause
34
+ changes in B.
35
+ DOC
35
36
 
36
37
  def self.short
37
38
  SHORT
@@ -17,14 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :isA
19
19
  LONG = :isA
20
- DESCRIPTION = ' +A isA B+ - For terms A and B, +A isA B+
21
- ndicates that A is a subset of B. All terms in BEL
22
- epresent classes, but given that classes implicitly
23
- ave instances, one can also interpret +A isA B+ to
24
- ean that any instance of A must also be an instance
25
- f B. This relationship can be used to represent
26
- O and MeSH hierarchies: +pathology(MESH:Psoriasis)
27
- sA pathology(MESH:"Skin Diseases")+'.freeze
20
+
21
+ DESCRIPTION = <<-DOC
22
+ IsA: +A isA B+ - For terms A and B, +A isA B+ indicates
23
+ that A is a subset of B. All terms in BEL represent classes,
24
+ but given that classes implicitly have instances, one can
25
+ also interpret +A isA B+ to mean that any instance of A must
26
+ also be an instance of B. This relationship can be used to
27
+ represent GO and MeSH hierarchies: +pathology(MESH:Psoriasis)
28
+ isA pathology(MESH:"Skin Diseases")+
29
+ DOC
28
30
 
29
31
  def self.short
30
32
  SHORT
@@ -16,13 +16,15 @@ module BELParser
16
16
 
17
17
  SHORT = :negativeCorrelation
18
18
  LONG = :negativeCorrelation
19
- DESCRIPTION = ' +A negativeCorrelation B+ - For terms A and B,
20
- A negativeCorrelation B+ indicates that changes
21
- n A and B have been observed to be negatively
22
- orrelated. The order of the subject and object does
23
- ot affect the interpretation of the statement,
24
- hus B negativeCorrelation A is equivalent to A
25
- egativeCorrelation B.'.freeze
19
+
20
+ DESCRIPTION = <<-DOC
21
+ NegativeCorrelation: +A negativeCorrelation B+ - For terms
22
+ A and B, +A negativeCorrelation B+ indicates that changes in A
23
+ and B have been observed to be negatively correlated. The order
24
+ of the subject and object does not affect the interpretation
25
+ of the statement, thus B negativeCorrelation A is equivalent
26
+ to A negativeCorrelation B.
27
+ DOC
26
28
 
27
29
  def self.short
28
30
  SHORT
@@ -17,14 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :orthologous
19
19
  LONG = :orthologous
20
- DESCRIPTION = ' +A orthologous B+ - For geneAbundance terms
21
- and B, +A orthologousTo B+ indicates that A
22
- nd B represent abundances of genes in different
23
- pecies which are sequence similar and which are
24
- herefore presumed to share a common ancestral
25
- ene. For example, +g(HGNC:AKT1) orthologousTo
26
- (MGI:AKT1)+ indicates that the mouse and human
27
- KT1 genes are orthologous.'.freeze
20
+
21
+ DESCRIPTION = <<-DOC
22
+ Orthologous: +A orthologous B+ - For geneAbundance terms A
23
+ and B, +A orthologousTo B+ indicates that A and B represent
24
+ abundances of genes in different species which are sequence
25
+ similar and which are therefore presumed to share a common
26
+ ancestral gene. For example, +g(HGNC:AKT1) orthologousTo
27
+ g(MGI:AKT1)+ indicates that the mouse and human AKT1 genes
28
+ are orthologous.
29
+ DOC
28
30
 
29
31
  def self.short
30
32
  SHORT
@@ -14,11 +14,13 @@ module BELParser
14
14
 
15
15
  SHORT = :positiveCorrelation
16
16
  LONG = :positiveCorrelation
17
- DESCRIPTION = ' +A positiveCorrelation B+ - For terms A and B,
18
- A positiveCorrelation B+ indicates that changes
19
- n A and B have been observed to be positively
20
- orrelated, thus B positiveCorrelation A is
21
- quivalent to A positiveCorrelation B.'.freeze
17
+
18
+ DESCRIPTION = <<-DOC
19
+ PositiveCorrelation: +A positiveCorrelation B+ - For terms
20
+ A and B, +A positiveCorrelation B+ indicates that changes in
21
+ A and B have been observed to be positively correlated, thus B
22
+ positiveCorrelation A is equivalent to A positiveCorrelation B.
23
+ DOC
22
24
 
23
25
  def self.short
24
26
  SHORT
@@ -15,12 +15,14 @@ module BELParser
15
15
 
16
16
  SHORT = :prognosticBiomarkerFor
17
17
  LONG = :prognosticBiomarkerFor
18
- DESCRIPTION = ' +A prognosticBiomarkerFor P+ - For term A
19
- nd process term P, +A prognosticBiomarkerFor P+
20
- ndicates that changes in or detection of A is used
21
- n some way to be a prognostic biomarker for the
22
- ubsequent development of pathology or biological
23
- rocess P.'.freeze
18
+
19
+ DESCRIPTION = <<-DOC
20
+ PrognosticBiomarkerFor: +A prognosticBiomarkerFor P+ -
21
+ For term A and process term P, +A prognosticBiomarkerFor P+
22
+ indicates that changes in or detection of A is used in some
23
+ way to be a prognostic biomarker for the subsequent development
24
+ of pathology or biological process P.
25
+ DOC
24
26
 
25
27
  def self.short
26
28
  SHORT
@@ -17,15 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :rateLimitingStepOf
19
19
  LONG = :rateLimitingStepOf
20
- DESCRIPTION = ' +A rateLimitingStepOf B+ - For process,
21
- ctivity, or transformation term A and process
22
- erm B, +A rateLimitingStepOf B+ indicates
23
- A subProcessOf B+ and +A -> B+. For example,
24
- he catalytic activity of HMG CoA reductase is a
25
- ate-limiting step for cholesterol biosynthesis:
26
- pre> <code> cat(p(HGNC:HMGCR)) rateLimitingStepOf\
27
- p(GO:"cholesterol biosynthetic process") </code>
28
- /pre>'.freeze
20
+
21
+ DESCRIPTION = <<-DOC
22
+ RateLimitingStepOf: +A rateLimitingStepOf B+ - For process,
23
+ activity, or transformation term A and process term B, +A
24
+ rateLimitingStepOf B+ indicates +A subProcessOf B+ and +A ->
25
+ B+. For example, the catalytic activity of HMG CoA reductase
26
+ is a rate-limiting step for cholesterol biosynthesis: <pre>
27
+ <code> cat(p(HGNC:HMGCR)) rateLimitingStepOf\ bp(GO:"cholesterol
28
+ biosynthetic process") </code> </pre>
29
+ DOC
29
30
 
30
31
  def self.short
31
32
  SHORT
@@ -17,14 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :reactantIn
19
19
  LONG = :reactantIn
20
- DESCRIPTION = ' +A reactantIn reaction(reactants(A),
21
- roducts(B))+ - This relationship links abundance
22
- erms from the +reactants(<list>)+ in a reaction
23
- o the reaction. This is a direct relationship
24
- ecause it is a _self_ relationship. Reactants are
25
- onsumed directly by a reaction. This relationship
26
- s introduced by the BEL Compiler and may not be
27
- sed by statements in BEL documents.'.freeze
20
+
21
+ DESCRIPTION = <<-DOC
22
+ ReactantIn: +A reactantIn reaction(reactants(A),
23
+ products(B))+ - This relationship links abundance
24
+ terms from the +reactants(<list>)+ in a reaction to the
25
+ reaction. This is a direct relationship because it is a
26
+ _self_ relationship. Reactants are consumed directly by a
27
+ reaction. This relationship is introduced by the BEL Compiler
28
+ and may not be used by statements in BEL documents.
29
+ DOC
28
30
 
29
31
  def self.short
30
32
  SHORT
@@ -16,14 +16,15 @@ module BELParser
16
16
 
17
17
  SHORT = :reg
18
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
19
+
20
+ DESCRIPTION = <<-DOC
21
+ Regulates: +A regulates B+ - For terms A and B, A regulates
22
+ B or A reg B indicate that A is reported to have an effect on
23
+ B, but information is missing about whether A increases B or
24
+ A decreases B. This relationship provides more information
25
+ than association, because the upstream entity (source term)
26
+ and downstream entity (target term) can be assigned.
27
+ DOC
27
28
 
28
29
  def self.short
29
30
  SHORT
@@ -20,18 +20,19 @@ module BELParser
20
20
 
21
21
  SHORT = :subProcessOf
22
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
23
+
24
+ DESCRIPTION = <<-DOC
25
+ SubProcessOf: +A subProcessOf B+ - For process, activity, or
26
+ transformation term A and process term B, +A subProcessOf B+
27
+ indicates that instances of process B, by default, include
28
+ one or more instances of A in their composition. For
29
+ example, the reduction of HMG-CoA to mevalonate is
30
+ a subprocess of cholesterol biosynthesis: <pre> <code>
31
+ rxn(reactants(a(CHEBI:"(S)-3-hydroxy-3-methylglutaryl-CoA"),\
32
+ a(CHEBI:NADPH), a(CHEBI:hydron)), products(a(CHEBI:Mevalonate),\
33
+ a(CHEBI:"CoA-SH"), a(CHEBI:"NADP+"))) subProcessOf
34
+ bp(GO:"cholesterol\ biosynthetic process") </code> </pre>
35
+ DOC
35
36
 
36
37
  def self.short
37
38
  SHORT
@@ -15,13 +15,14 @@ module BELParser
15
15
 
16
16
  SHORT = :':>'
17
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
18
+
19
+ DESCRIPTION = <<-DOC
20
+ TranscribedTo: +G :> R+ - For rnaAbundance term R and
21
+ geneAbundance term G, +G transcribedTo R+ or +G :> R+ indicates
22
+ that members of R are produced by the transcription of members
23
+ of G. For example: +g(HGNC:AKT1) :> r(HGNC:AKT1)+ indicates
24
+ that the human AKT1 RNA is transcribed from the human AKT1 gene.
25
+ DOC
25
26
 
26
27
  def self.short
27
28
  SHORT
@@ -16,13 +16,15 @@ module BELParser
16
16
 
17
17
  SHORT = :>>
18
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
19
+
20
+ DESCRIPTION = <<-DOC
21
+ TranslatedTo: +R >> P+ - For rnaAbundance term R and
22
+ proteinAbundance term P, +R translatedTo P+ or +R >> P+
23
+ indicates that members of P are produced by the translation
24
+ of members of R. For example: +r(HGNC:AKT1) >> p(HGNC:AKT1)+
25
+ indicates that AKT1 protein is produced by translation of
26
+ AKT1 RNA.
27
+ DOC
26
28
 
27
29
  def self.short
28
30
  SHORT
@@ -17,15 +17,16 @@ module BELParser
17
17
 
18
18
  SHORT = :translocates
19
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
20
+
21
+ DESCRIPTION = <<-DOC
22
+ Translocates: +translocation(A, ns1:v1, ns2:v2) translocates
23
+ A+ - This relationship links the abundance term in a
24
+ +translocation()+ to the translocation. This relationship is
25
+ direct because it is a _self_ relationship. The translocated
26
+ abundance is directly acted on by the translocation
27
+ process. This relationship is introduced by the BEL Compiler
28
+ and may not be used by statements in BEL documents.
29
+ DOC
29
30
 
30
31
  def self.short
31
32
  SHORT
@@ -0,0 +1,20 @@
1
+ module BELParser
2
+ # Adds a levenshtein implementation based on which ruby engine is used.
3
+ module Levenshtein
4
+
5
+ unless self.methods.include?(:distance)
6
+
7
+ if RUBY_ENGINE =~ /^jruby/i
8
+ require 'levenshtein'
9
+ define_singleton_method(:distance) do |string1, string2|
10
+ ::Levenshtein.distance(string1, string2)
11
+ end
12
+ else
13
+ require "damerau-levenshtein"
14
+ define_singleton_method(:distance) do |string1, string2|
15
+ ::DamerauLevenshtein.distance(string1, string2)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end