Skip to content

Commit

Permalink
Rename eccode to ec (#1413)
Browse files Browse the repository at this point in the history
This pull request addresses the following issue:
#1404

The following changes are implemented:
- Rename `eccode` prefix to `ec`
- `preferred_prefix` is set to `EC`
- Maintain `eccode` as a synonym
- Update any instances of `provides: eccode` to  `provides: ec`

A few additional files that referenced `eccode` are updated to reflect
this change as well.

---------

Co-authored-by: Ben Gyori <[email protected]>
  • Loading branch information
nagutm and bgyori authored Feb 13, 2025
1 parent ba174d0 commit 6fdc2c6
Show file tree
Hide file tree
Showing 8 changed files with 115 additions and 114 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,8 +169,8 @@ assert 'ncbitaxon' == normalize_prefix('taxonomy')
assert 'pubchem.compound' == normalize_prefix('pubchem')

# This works for prefixes that are often written many ways, like:
assert 'eccode' == normalize_prefix('ec-code')
assert 'eccode' == normalize_prefix('EC_CODE')
assert 'ec' == normalize_prefix('ec-code')
assert 'ec' == normalize_prefix('EC_CODE')

# If a prefix is not registered, it gives back `None`
assert normalize_prefix('not a real key') is None
Expand Down
4 changes: 2 additions & 2 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ that's required to go with a given prefix.
Unfortunately, these requirements can not be applied retroactively and can not
be trivially applied to automatically imported prefixes. In some cases,
historical prefixes can be modified to follow these requirements. For example,
Identifiers.org's `ec-code` was renamed to `eccode` while maintaining `ec-code`
as a synonym.
Identifiers.org's `ec-code` was renamed to `ec` while maintaining `ec-code` as a
synonym.

Original discussion about minimum prefix requirements can be found at
https://github.com/biopragmatics/bioregistry/issues/158.
Expand Down
5 changes: 2 additions & 3 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ number (e.g., Gene Ontology), and some are expansive (e.g.,
[NCI Thesaurus (NCIT)](https://bioregistry.io/efo)).

Some resources are complete by definition (e.g.,
[Enzyme Classification](https://bioregistry.io/eccode)), some resources are
complete but subject to change (e.g., HGNC), and some are always incomplete
(e.g., PDB).
[Enzyme Classification](https://bioregistry.io/ec)), some resources are complete
but subject to change (e.g., HGNC), and some are always incomplete (e.g., PDB).

Resources do not always correspond one-to-one with projects, such as how the
ChEMBL database contains both the
Expand Down
4 changes: 2 additions & 2 deletions src/bioregistry/app/templates/meta/access.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ <h2>Python Package Usage</h2>
assert 'pubchem.compound' == bioregistry.normalize_prefix('pubchem')

# This works for prefixes that are often written many ways, like:
assert 'eccode' == bioregistry.normalize_prefix('ec-code')
assert 'eccode' == bioregistry.normalize_prefix('EC_CODE')
assert 'ec' == bioregistry.normalize_prefix('ec-code')
assert 'ec' == bioregistry.normalize_prefix('EC_CODE')

# If a prefix is not registered, it gives back `None`
assert bioregistry.normalize_prefix('not a real key') is None</code></pre>
Expand Down
190 changes: 96 additions & 94 deletions src/bioregistry/data/bioregistry.json
Original file line number Diff line number Diff line change
Expand Up @@ -11108,7 +11108,7 @@
],
"uri_format": "http://www.brenda-enzymes.org/php/result_flat.php4?ecno=$1"
},
"provides": "eccode",
"provides": "ec",
"publications": [
{
"doi": "10.1016/j.jbiotec.2017.04.020",
Expand Down Expand Up @@ -30923,97 +30923,7 @@
},
"pattern": "^E(S|D)i\\d+-\\w$"
},
"ecacc": {
"cellosaurus": {
"category": "Cell line collections (Providers)",
"homepage": "https://www.culturecollections.org.uk/about-us/ecacc/",
"name": "European Collection of Cell Cultures",
"prefix": "ECACC",
"uri_format": "https://www.culturecollections.org.uk/products/celllines/detail.jsp?refId=$1"
},
"contributor": {
"email": "[email protected]",
"github": "cthoyt",
"name": "Charles Tapley Hoyt",
"orcid": "0000-0003-4423-4370"
},
"description": "The European Collection of Authenticated Cell Cultures (ECACC) is one of four Culture Collections of Public Health England. We supply authenticated and quality controlled cell lines, nucleic acids and induced Pluripotent Stem Cells (iPSCs).",
"example": "90062901",
"homepage": "https://www.phe-culturecollections.org.uk/collections/ecacc.aspx",
"mappings": {
"cellosaurus": "ECACC"
},
"name": "European Collection of Authenticated Cell Culture",
"pattern": "^\\d+$",
"uri_format": "https://www.phe-culturecollections.org.uk/products/celllines/generalcell/detail.jsp?collection=ecacc_gc&refId=$1"
},
"ecao": {
"aberowl": {
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"download_owl": "http://aber-owl.net/media/ontologies/ECAO/4/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"bioportal": {
"contact": {
"email": "[email protected]",
"name": "Charles Ettensohn"
},
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"example": "0107180",
"mappings": {
"aberowl": "ECAO",
"bioportal": "ECAO",
"obofoundry": "ecao",
"ols": "ecao",
"ontobee": "ECAO"
},
"obofoundry": {
"contact": "[email protected]",
"contact.github": "ettensohn",
"contact.label": "Charles Ettensohn",
"contact.orcid": "0000-0002-3625-0955",
"depends_on": [
"cl",
"ro",
"uberon"
],
"deprecated": false,
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"domain": "anatomy and development",
"download.obo": "http://purl.obolibrary.org/obo/ecao.obo",
"download.owl": "http://purl.obolibrary.org/obo/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"license": "CC BY 3.0",
"license.url": "http://creativecommons.org/licenses/by/3.0/",
"name": "The Echinoderm Anatomy and Development Ontology",
"preferredPrefix": "ECAO",
"prefix": "ecao",
"repository": "https://github.com/echinoderm-ontology/ecao_ontology"
},
"ols": {
"description": "None",
"download_owl": "http://purl.obolibrary.org/obo/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "Echinoderm Anatomy and Development Ontology",
"prefix": "ecao",
"version": "2024-08-22",
"version.iri": "http://purl.obolibrary.org/obo/ecao/releases/2024-08-22/ecao.owl"
},
"ontobee": {
"library": "Library",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"pattern": "^\\d{7}$",
"uri_format": "http://purl.obolibrary.org/obo/ECAO_$1"
},
"eccode": {
"ec": {
"bartoc": {
"description": "By the late 1950's it had become evident that the nomenclature of enzymology, in the absence of any guiding authority, in a period when the number of known enzymes was increasing rapidly, was getting out of hand. The naming of enzymes by individual workers had proved far from satisfactory in practice. In many cases the same enzymes became known by several different names, while conversely the same name was sometimes given to different enzymes. Many of the names conveyed little or no idea of the nature of the reactions catalysed, and similar names were sometimes given to enzymes of quite different types. To meet this situation, various attempts to bring order into the general nomenclature of enzymes, or into that of particular groups of enzymes, were made by individuals or small groups of specialists, but none of the resulting nomenclatures met with general approval. (...) The Enzyme List in the sixth edition (1992) contains 3540 entries, of which 178 record enzymes which are now transferred elsewhere in the list, and 166 have been deleted completely. Thus the number of enzymes actually listed is 3196, an increase of 29% on the 1984 edition.",
"homepage": "https://www.abbexa.com/enzyme-commission-number",
Expand Down Expand Up @@ -31180,6 +31090,7 @@
"prefix": "106"
},
"pattern": "^\\d{1,2}(((\\.\\d{1,3}){1,3})|(\\.\\d+){2}\\.[nB]\\d{1,3}|\\.-\\.-\\.-|\\.\\d{1,3}\\.-\\.-|\\.\\d{1,3}\\.\\d{1,3}\\.-)?$",
"preferred_prefix": "EC",
"prefixcommons": {
"description": "IntEnz is a freely available resource focused on enzyme nomenclature. IntEnz contains the recommendations of the Nomenclature Committee of the International Union of Biochemistry and Molecular Biology (NC-IUBMB) on the nomenclature and classification of enzyme-catalysed reactions.",
"example": "17854",
Expand Down Expand Up @@ -31228,6 +31139,7 @@
"ECCODE",
"EC_CODE",
"ec-code",
"eccode",
"intenz"
],
"togoid": {
Expand Down Expand Up @@ -31281,6 +31193,96 @@
"uri_format": "http://enzyme.expasy.org/EC/$1"
}
},
"ecacc": {
"cellosaurus": {
"category": "Cell line collections (Providers)",
"homepage": "https://www.culturecollections.org.uk/about-us/ecacc/",
"name": "European Collection of Cell Cultures",
"prefix": "ECACC",
"uri_format": "https://www.culturecollections.org.uk/products/celllines/detail.jsp?refId=$1"
},
"contributor": {
"email": "[email protected]",
"github": "cthoyt",
"name": "Charles Tapley Hoyt",
"orcid": "0000-0003-4423-4370"
},
"description": "The European Collection of Authenticated Cell Cultures (ECACC) is one of four Culture Collections of Public Health England. We supply authenticated and quality controlled cell lines, nucleic acids and induced Pluripotent Stem Cells (iPSCs).",
"example": "90062901",
"homepage": "https://www.phe-culturecollections.org.uk/collections/ecacc.aspx",
"mappings": {
"cellosaurus": "ECACC"
},
"name": "European Collection of Authenticated Cell Culture",
"pattern": "^\\d+$",
"uri_format": "https://www.phe-culturecollections.org.uk/products/celllines/generalcell/detail.jsp?collection=ecacc_gc&refId=$1"
},
"ecao": {
"aberowl": {
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"download_owl": "http://aber-owl.net/media/ontologies/ECAO/4/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"bioportal": {
"contact": {
"email": "[email protected]",
"name": "Charles Ettensohn"
},
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"example": "0107180",
"mappings": {
"aberowl": "ECAO",
"bioportal": "ECAO",
"obofoundry": "ecao",
"ols": "ecao",
"ontobee": "ECAO"
},
"obofoundry": {
"contact": "[email protected]",
"contact.github": "ettensohn",
"contact.label": "Charles Ettensohn",
"contact.orcid": "0000-0002-3625-0955",
"depends_on": [
"cl",
"ro",
"uberon"
],
"deprecated": false,
"description": "An ontology for the development and anatomy of the different species of the phylum Echinodermata (NCBITaxon:7586).",
"domain": "anatomy and development",
"download.obo": "http://purl.obolibrary.org/obo/ecao.obo",
"download.owl": "http://purl.obolibrary.org/obo/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"license": "CC BY 3.0",
"license.url": "http://creativecommons.org/licenses/by/3.0/",
"name": "The Echinoderm Anatomy and Development Ontology",
"preferredPrefix": "ECAO",
"prefix": "ecao",
"repository": "https://github.com/echinoderm-ontology/ecao_ontology"
},
"ols": {
"description": "None",
"download_owl": "http://purl.obolibrary.org/obo/ecao.owl",
"homepage": "https://github.com/echinoderm-ontology/ecao_ontology",
"name": "Echinoderm Anatomy and Development Ontology",
"prefix": "ecao",
"version": "2024-08-22",
"version.iri": "http://purl.obolibrary.org/obo/ecao/releases/2024-08-22/ecao.owl"
},
"ontobee": {
"library": "Library",
"name": "The Echinoderm Anatomy and Development Ontology",
"prefix": "ECAO"
},
"pattern": "^\\d{7}$",
"uri_format": "http://purl.obolibrary.org/obo/ECAO_$1"
},
"ecg": {
"aberowl": {
"description": "The Electrocardiography (ECG) Ontology is a Driving Biological Project of the NCBO. The ECG Ontology will contain terms for describing electrocardiograms, their capture method(s) and their waveforms.",
Expand Down Expand Up @@ -62046,7 +62048,7 @@
},
"name": "KEGG Enzyme",
"part_of": "kegg",
"provides": "eccode"
"provides": "ec"
},
"kegg.genes": {
"biocontext": {
Expand Down Expand Up @@ -103286,7 +103288,7 @@
],
"uri_format": "http://sabiork.h-its.org/index2.jsp?EC=$1"
},
"provides": "eccode",
"provides": "ec",
"publications": [
{
"pubmed": "17822389",
Expand Down
4 changes: 2 additions & 2 deletions src/bioregistry/resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -948,8 +948,8 @@ def normalize_prefix(prefix: str, *, use_preferred: bool = False) -> str | None:
This works for prefixes that are often written many ways, like:
>>> assert "eccode" == normalize_prefix("ec-code")
>>> assert "eccode" == normalize_prefix("EC_CODE")
>>> assert "ec" == normalize_prefix("ec-code")
>>> assert "ec" == normalize_prefix("EC_CODE")
Get a "preferred" prefix:
Expand Down
2 changes: 1 addition & 1 deletion tests/test_identifiers_org.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def test_get_prefix(self):
"""Test getting identifiers.org prefixes."""
for prefix, miriam_prefix in [
("ncbitaxon", "taxonomy"),
("eccode", "ec-code"),
("ec", "ec-code"),
]:
with self.subTest(prefix=prefix):
self.assertEqual(miriam_prefix, bioregistry.get_identifiers_org_prefix(prefix))
Expand Down
16 changes: 8 additions & 8 deletions tests/test_resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ def test_resolve(self):
("ncbitaxon", "taxonomy"),
("scomp", "SCOMP"),
("sfam", "SFAM"),
("eccode", "ec-code"),
("eccode", "EC_CODE"),
("ec", "ec-code"),
("ec", "EC_CODE"),
("chembl.compound", "chembl.compound"),
("chembl.compound", "chemblcompound"),
("chembl", "chembl"),
Expand All @@ -41,12 +41,12 @@ def test_get(self):
def test_validate_true(self):
"""Test that validation returns true."""
tests = [
("eccode", "1"),
("eccode", "1.1"),
("eccode", "1.1.1"),
("eccode", "1.1.1.1"),
("eccode", "1.1.123.1"),
("eccode", "1.1.1.123"),
("ec", "1"),
("ec", "1.1"),
("ec", "1.1.1"),
("ec", "1.1.1.1"),
("ec", "1.1.123.1"),
("ec", "1.1.1.123"),
# Namespace in LUI: Standard rule for upper-casing
("chebi", "24867"),
("chebi", "CHEBI:1234"),
Expand Down

0 comments on commit 6fdc2c6

Please sign in to comment.