Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename eccode to ec #1413

Merged
merged 13 commits into from
Feb 13, 2025
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
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 @@ -30922,97 +30922,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 @@ -31179,6 +31089,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 @@ -31227,6 +31138,7 @@
"ECCODE",
"EC_CODE",
"ec-code",
"eccode",
"intenz"
],
"togoid": {
Expand Down Expand Up @@ -31280,6 +31192,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 @@ -62020,7 +62022,7 @@
},
"name": "KEGG Enzyme",
"part_of": "kegg",
"provides": "eccode"
"provides": "ec"
},
"kegg.genes": {
"biocontext": {
Expand Down Expand Up @@ -103220,7 +103222,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