bel_parser 1.0.0.alpha.11 → 1.0.0.alpha.12
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b28b03b903a5a3a1a62f4c36063c81292714cbd6
|
4
|
+
data.tar.gz: 631a26bb0628a77abc19f4c35a028b6851939838
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb71fff841dfba8b106cd03e5929fd7ff353796c17155b18703f481a142d2c67886c1322cca1a6d9443f278a104e0fcc57dc5205249624482ef6a47a080d3c81
|
7
|
+
data.tar.gz: 2349ecf4f921f28c9b9431cd9b6f66369b46e94aa3dc27eb27c0f95f5945ce1e98eb686bd4538bf85fbc2c7c65de66292b10b82afb38d0068723bf7d68e240f6
|
data/.gemspec
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.0.alpha.
|
1
|
+
1.0.0.alpha.12
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module BELParser
|
2
|
+
module Language
|
3
|
+
# CovalentProteinModification defines a controlled vocabulary of
|
4
|
+
# post-translational protein modifications.
|
5
|
+
#
|
6
|
+
# see https://en.wikipedia.org/wiki/Post-translational_modification
|
7
|
+
module CovalentProteinModification
|
8
|
+
Acetylation = [:Acetylation, :A].freeze
|
9
|
+
Farnesylation = [:Farnesylation, :F].freeze
|
10
|
+
Glycosylation = [:Glycosylation, :G].freeze
|
11
|
+
Hydroxylation = [:Hydroxylation, :H].freeze
|
12
|
+
Methylation = [:Methylation, :M].freeze
|
13
|
+
Phosphorylation = [:Phosphorylation, :P].freeze
|
14
|
+
Ribosylation = [:Ribosylation, :R].freeze
|
15
|
+
Sumoylation = [:Sumoylation, :S].freeze
|
16
|
+
Ubiquitination = [:Ubiquitination, :U].freeze
|
17
|
+
|
18
|
+
# Determines if +sym+ represents a covalent protein modification.
|
19
|
+
#
|
20
|
+
# @param [#to_sym] sym covalent protein modification code
|
21
|
+
# @return [Boolean] +true+ if +sym+ code is included in supported
|
22
|
+
# covalent protein modifications; +false+ if not supported
|
23
|
+
def self.includes?(sym)
|
24
|
+
@hash.key?(sym.to_sym)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Gets all supported covalent protein modification.
|
28
|
+
def self.names
|
29
|
+
@names
|
30
|
+
end
|
31
|
+
|
32
|
+
# Gets all supported covalent protein modification (i.e. name, 1-Letter).
|
33
|
+
def self.values
|
34
|
+
@values
|
35
|
+
end
|
36
|
+
|
37
|
+
unless defined? @hash
|
38
|
+
@hash = {}
|
39
|
+
constants.map(&method(:const_get)).each do |values|
|
40
|
+
@hash.update(
|
41
|
+
Hash[values.map { |v| [v, values.first] }]
|
42
|
+
)
|
43
|
+
end
|
44
|
+
@hash.freeze
|
45
|
+
end
|
46
|
+
|
47
|
+
unless defined? @names
|
48
|
+
@names = constants.map(&method(:const_get)).map(&:first).sort.freeze
|
49
|
+
end
|
50
|
+
|
51
|
+
unless defined? @values
|
52
|
+
@values = constants.map(&method(:const_get)).map(&:to_a).flatten.freeze
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -154,8 +154,8 @@ module BELParser
|
|
154
154
|
SemanticEncodingOf.new(encoding_types, **properties)
|
155
155
|
end
|
156
156
|
|
157
|
-
def
|
158
|
-
|
157
|
+
def covalent_protein_modification_of(*mod_types, **properties)
|
158
|
+
SemanticCovalentProteinModificationOf.new(mod_types, **properties)
|
159
159
|
end
|
160
160
|
|
161
161
|
def amino_acid_of(*amino_acids, **properties)
|
@@ -546,14 +546,14 @@ module BELParser
|
|
546
546
|
end
|
547
547
|
end
|
548
548
|
|
549
|
-
# AST node for
|
550
|
-
class
|
551
|
-
def initialize(
|
552
|
-
properties[:hashed] = Hash[
|
553
|
-
super(:
|
549
|
+
# AST node for CovalentProteinModificationOf is a semantic AST.
|
550
|
+
class SemanticCovalentProteinModificationOf < SemanticASTNode
|
551
|
+
def initialize(mod_types, **properties)
|
552
|
+
properties[:hashed] = Hash[mod_types.map { |t| [t, true] }]
|
553
|
+
super(:covalent_protein_modification_of, mod_types, properties)
|
554
554
|
end
|
555
555
|
|
556
|
-
def
|
556
|
+
def covalent_protein_modification_types
|
557
557
|
children
|
558
558
|
end
|
559
559
|
|
@@ -2,6 +2,7 @@ require_relative '../../version1_0'
|
|
2
2
|
require_relative '../../function'
|
3
3
|
require_relative '../../signature'
|
4
4
|
require_relative '../../amino_acid'
|
5
|
+
require_relative '../../covalent_protein_modification'
|
5
6
|
require_relative '../../semantics'
|
6
7
|
|
7
8
|
module BELParser
|
@@ -15,7 +16,8 @@ module BELParser
|
|
15
16
|
|
16
17
|
SHORT = :pmod
|
17
18
|
LONG = :proteinModification
|
18
|
-
RETURN_TYPE = BELParser::Language::Version1_0::ReturnTypes::
|
19
|
+
RETURN_TYPE = BELParser::Language::Version1_0::ReturnTypes::
|
20
|
+
ProteinModification
|
19
21
|
DESCRIPTION = 'Denotes a covalently modified protein
|
20
22
|
bundance'.freeze
|
21
23
|
|
@@ -57,7 +59,8 @@ module BELParser
|
|
57
59
|
any),
|
58
60
|
value(
|
59
61
|
value_type(
|
60
|
-
|
62
|
+
covalent_protein_modification_of(
|
63
|
+
*CovalentProteinModification.values))))),
|
61
64
|
argument(
|
62
65
|
parameter(
|
63
66
|
prefix(
|
@@ -76,8 +79,12 @@ module BELParser
|
|
76
79
|
private_constant :AST
|
77
80
|
|
78
81
|
STRING_FORM =
|
79
|
-
|
80
|
-
|
82
|
+
<<-SIG.delete("\s\n").freeze
|
83
|
+
proteinModification(
|
84
|
+
T:CovalentProteinModification,
|
85
|
+
T:AminoAcid,
|
86
|
+
T:SequencePosition)proteinModification
|
87
|
+
SIG
|
81
88
|
private_constant :STRING_FORM
|
82
89
|
|
83
90
|
def self.semantic_ast
|
@@ -106,7 +113,8 @@ module BELParser
|
|
106
113
|
any),
|
107
114
|
value(
|
108
115
|
value_type(
|
109
|
-
|
116
|
+
covalent_protein_modification_of(
|
117
|
+
*CovalentProteinModification.values))))),
|
110
118
|
argument(
|
111
119
|
parameter(
|
112
120
|
prefix(
|
@@ -118,8 +126,11 @@ module BELParser
|
|
118
126
|
private_constant :AST
|
119
127
|
|
120
128
|
STRING_FORM =
|
121
|
-
|
122
|
-
|
129
|
+
<<-SIG.delete("\s\n").freeze
|
130
|
+
proteinModification(
|
131
|
+
T:CovalentProteinModification,
|
132
|
+
T:AminoAcid)proteinModification
|
133
|
+
SIG
|
123
134
|
private_constant :STRING_FORM
|
124
135
|
|
125
136
|
def self.semantic_ast
|
@@ -148,11 +159,16 @@ module BELParser
|
|
148
159
|
any),
|
149
160
|
value(
|
150
161
|
value_type(
|
151
|
-
|
162
|
+
covalent_protein_modification_of(
|
163
|
+
*CovalentProteinModification.values))))))
|
152
164
|
end
|
153
165
|
private_constant :AST
|
154
166
|
|
155
|
-
STRING_FORM =
|
167
|
+
STRING_FORM =
|
168
|
+
<<-SIG.delete("\s\n").freeze
|
169
|
+
proteinModification(
|
170
|
+
T:CovalentProteinModification)proteinModification
|
171
|
+
SIG
|
156
172
|
private_constant :STRING_FORM
|
157
173
|
|
158
174
|
def self.semantic_ast
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bel_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.alpha.
|
4
|
+
version: 1.0.0.alpha.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Bargnesi
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-04-
|
12
|
+
date: 2016-04-15 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Implements language versions 1.0 and 2.0.
|
15
15
|
email: abargnesi@selventa.com
|
@@ -31,6 +31,7 @@ files:
|
|
31
31
|
- lib/bel_parser/expression/validator.rb
|
32
32
|
- lib/bel_parser/language.rb
|
33
33
|
- lib/bel_parser/language/amino_acid.rb
|
34
|
+
- lib/bel_parser/language/covalent_protein_modification.rb
|
34
35
|
- lib/bel_parser/language/expression_validator.rb
|
35
36
|
- lib/bel_parser/language/function.rb
|
36
37
|
- lib/bel_parser/language/quoting.rb
|