diff --git a/indra/resources/statements_schema.json b/indra/resources/statements_schema.json index 8b6827d6ea..30fe31a194 100644 --- a/indra/resources/statements_schema.json +++ b/indra/resources/statements_schema.json @@ -302,7 +302,7 @@ "properties": { "type": { "type": "string", - "pattern": "^((Phosphorylation)|(Dephosphorylation)|(Ubiquitination)|(Deubiquitination)|(Sumoylation)|(Desumoylation)|(Hydroxylation)|(Dehydroxylation)|(Acetylation)|(Deacetylation)|(Glycosylation)|(Deglycosylation)|(Farnesylation)|(Defarnesylation)|(Geranylgeranylation)|(Degeranylgeranylation)|(Palmitoylation)|(Depalmitoylation)|(Myristoylation)|(Demyristoylation)|(Ribosylation)|(Deribosylation)|(Methylation)|(Demethylation))$", + "pattern": "^((Phosphorylation)|(Dephosphorylation)|(Ubiquitination)|(Deubiquitination)|(Sumoylation)|(Desumoylation)|(Hydroxylation)|(Dehydroxylation)|(Acetylation)|(Deacetylation)|(Glycosylation)|(Deglycosylation)|(Farnesylation)|(Defarnesylation)|(Geranylgeranylation)|(Degeranylgeranylation)|(Palmitoylation)|(Depalmitoylation)|(Myristoylation)|(Demyristoylation)|(Ribosylation)|(Deribosylation)|(Methylation)|(Demethylation)|(Carboxylation)|(Decarboxylation)|(Amidation)|(Deamidation)|(Sulfation)|(Desulfation)|(Neddylation)|(Deneddylation)|(Alkylation)|(Dealkylation)|(Prenylation)|(Deprenylation'))$", "description": "The type of the statement" }, "enz": { diff --git a/indra/statements/statements.py b/indra/statements/statements.py index 6d7ea3d47e..7297671544 100644 --- a/indra/statements/statements.py +++ b/indra/statements/statements.py @@ -52,6 +52,18 @@ - :py:class:`Deribosylation` - :py:class:`Methylation` - :py:class:`Demethylation` +- :py:class:`Carboxylation` +- :py:class:`Decarboxylation` +- :py:class:`Amidation` +- :py:class:`Deamidation` +- :py:class:`Sulfation` +- :py:class:`Desulfation` +- :py:class:`Neddylation` +- :py:class:`Deneddylation` +- :py:class:`Alkylation` +- :py:class:`Dealkylation` +- :py:class:`Prenylation` +- :py:class:`Deprenylation` There are additional subtypes of :py:class:`SelfModification`: @@ -195,6 +207,9 @@ 'Complex', 'Translocation', 'RegulateAmount', 'DecreaseAmount', 'IncreaseAmount', 'Influence', 'Conversion', 'Unresolved', 'Association', 'Event', 'Migration', + 'Carboxylation', 'Decarboxylation', 'Amidation', 'Deamidation', 'Sulfation', + 'Desulfation', 'Neddylation', 'Deneddylation', 'Alkylation', 'Dealkylation', + 'Prenylation', 'Deprenylation', # Error classes 'InputError', 'UnresolvedUuidError', 'InvalidLocationError', @@ -1005,6 +1020,54 @@ class Demethylation(RemoveModification): """Demethylation modification.""" +class Carboxylation(AddModification): + """Carboxylation modification.""" + + +class Decarboxylation(RemoveModification): + """Decarboxylation modification.""" + + +class Amidation(AddModification): + """Amidation modification.""" + + +class Deamidation(RemoveModification): + """Deamidation modification.""" + + +class Sulfation(AddModification): + """Sulfation modification.""" + + +class Desulfation(RemoveModification): + """Desulfation modification.""" + + +class Neddylation(AddModification): + """Neddylation modification.""" + + +class Deneddylation(RemoveModification): + """Deneddylation modification.""" + + +class Alkylation(AddModification): + """Alkylation modification.""" + + +class Dealkylation(RemoveModification): + """Dealkylation modification.""" + + +class Prenylation(AddModification): + """Prenylation modification.""" + + +class Deprenylation(RemoveModification): + """Deprenylation modification.""" + + @python_2_unicode_compatible class RegulateActivity(Statement): """Regulation of activity. diff --git a/indra/tests/test_json_schema.py b/indra/tests/test_json_schema.py index 367e2eb300..0256922ac7 100644 --- a/indra/tests/test_json_schema.py +++ b/indra/tests/test_json_schema.py @@ -61,7 +61,10 @@ def test_valid_modification(): 'Myristoylation', 'Demyristoylation', 'Ribosylation', 'Deribosylation', 'Methylation', 'Demethylation', 'Activation', 'Inhibition', 'IncreaseAmount', - 'DecreaseAmount'] + 'DecreaseAmount', 'Carboxylation', 'Decarboxylation', + 'Amidation', 'Deamidation', 'Sulfation', 'Desulfation', + 'Neddylation', 'Deneddylation', 'Alkylation', + 'Dealkylation', 'Prenylation', 'Deprenylation'] for mod_type in mod_types: s = {'enz': valid_agent1, 'sub': valid_agent2,