Bioregistry

repository·main·Indexed 40 days ago

https://github.com/biopragmatics/bioregistry

A community-driven integrative meta-registry of life science databases, ontologies, and other resources. It provides a centralized way to access and query biological resource metadata, featuring tools for CURIE parsing and validation, URI parsing, and automated analysis workflows such as Title TF-IDF for publication ranking and embedding-based mapping checks. Version 0.14.9-dev.

Tokens
42.2K
Snippets
109
Records
201
Agent score
100%

What's inside Bioregistry

  1. Overview of the Bioregistry Python package

    main

    The bioregistry Python package provides programmatic access to the Bioregistry meta-registry. It is designed to help developers perform common life science nomenclature tasks, including:

    • Metadata lookup: Retrieve information about databases, ontologies, and other resources.
    • CURIE expansion: Convert Compact URI Identifiers (CURIEs) into full URIs.
    • URI contraction: Convert full URIs into CURIEs.
    • Other registry operations: Accessing the integrative, community-driven meta-registry of life science resources.
  2. Understand the available benchmarks in bioregistry

    main

    The bioregistry project includes benchmarks to measure the performance of its core parsing and validation functions. There are three primary benchmark suites:

    1. uri_parsing: Evaluates the performance of the bioregistry.parse_iri function.
    2. curie_parsing: Evaluates the performance of the bioregistry.parse_curie function.
    3. curie_validation: Evaluates the performance of the bioregistry.is_valid_curie function.
  3. Access analysis results in the bioregistry

    main

    The exports/analyses directory contains results from various automated analyses used for curation and quality control. Developers can inspect these files to understand the current state of the registry's data quality and curation status.

    Available analyses include:

    • paper_ranking: Uses TF-IDF and a binary classifier to rank new PubMed papers for potential curation.
    • mapping_checking: Uses embedding-based similarity checking to verify mapped prefixes for curation.
  4. Access Bioregistry SSSOM Export data

    main

    The Bioregistry SSSOM export provides ontology mappings in the Simple Standard for Sharing Ontology Mappings (SSSOM) format. The data is distributed in two primary files:

    • Mappings (TSV): Contains both predicted and curated mappings, located in bioregistry.sssom.tsv.
    • Metadata (YAML): Contains the CURIE Map, credits, and other metadata, located in bioregistry.sssom.yml.
    | Facet        | Description                      | Link                                             |
    | ------------ | -------------------------------- | ------------------------------------------------ |
    | TSV          | Mappings (predicted and curated) | [`bioregistry.sssom.tsv`](bioregistry.sssom.tsv) |
    | Metadata YML | CURIE Map, credits, etc.         | [`bioregistry.sssom.yml`](bioregistry.sssom.yml) |
  5. Understand the CURIE Validation Benchmark

    main

    The CURIE Validation Benchmark is used to verify the correctness of the bioregistry.is_valid_curie function. It evaluates whether the function accurately identifies valid and standard CURIEs (Compact Uniform Resource Identifiers) according to Bioregistry standards.

    Dataset Structure

    The benchmark uses a dataset (data.tsv) containing the following columns:

    • prefix: A canonical Bioregistry prefix.
    • identifier: A local unique identifier within that prefix's semantic space.
    • label: A boolean (true or false) indicating if the prefix-identifier combination is a valid and standard CURIE according to Bioregistry.
    • curie: The formatted CURIE string for the pair.
  6. Understand Geography data in Bioregistry

    main

    The Bioregistry provides aggregated data regarding the countries of the institutions responsible for the resources indexed in the registry.

    Important Note: This information is not a requirement for indexing, so it is missing for a large number of entries. The presence of this data is a result of community curation rather than a mandatory field for all resources.

  7. Understand the Bioregistry data structure and files

    main

    The Bioregistry is powered by manually curated JSON files that serve as the single source of truth. The data is organized into several core files that manage registry entries, external registry metadata, curated collections, and alignment safeguards.

    • bioregistry.json: The primary registry file. It supports novel curation, imports/alignments from external registries, and metadata overrides. Note that some entries may lack top-level fields (like name) because the bioregistry Python package is designed to fetch that metadata dynamically from mapped external registries to reduce curation overhead.
    • metaregistry.json: Contains metadata and information regarding external registries.
    • collections.json: Contains manually curated groups of prefixes or resources.
    • mismatch.json: A mismatch dictionary used by the alignment algorithm to prevent the creation of 'chimera' resources. It maps Bioregistry prefixes to specific external prefixes that should be avoided during alignment.
  8. What is a Lookup Service?

    main
    A Lookup Service is a generalized version of a provider. While a provider is typically tied to a single resource, a lookup service is designed to handle many different resources. They often use a URL format string for compact identifiers (like OntoBee), though some require complex programmatic logic to construct the final URI. Common examples include OLS, AberOWL, and BioPortal.
  9. What to curate as a Provider

    main

    Providers should be curated when you want to expose specialized endpoints or handle specific URI patterns. Use providers for:

    1. Additional endpoints: Accessing different types of information such as image resolution, JSON/XML/structured data artifacts, or other specialized views.
    2. Data-specific URI patterns: Handling URI patterns that appear frequently in datasets but are not necessarily intended for primary resolution.

    Note on Subsets: It is acceptable to curate providers that only resolve a subset of the semantic space (e.g., a provider that only resolves UniProt identifiers for antigens). If you do this, ensure the description field clearly states the limitations.

  10. Improve the Metaregistry

    main

    The Bioregistry's metaregistry contains alignments from external registries (e.g., Identifiers.org, OBO Foundry, FAIRsharing). You can contribute by reviewing these alignments and determining if a record should be:

    1. Mapped to an existing Bioregistry prefix.
    2. Imported as a new external prefix.
    3. Blacklisted if it is irrelevant.

    Alignment data for external registries can be found in the exports/alignment*.tsv files in the repository.

  11. Use Exact Matches for interoperability

    main
    The Bioregistry stores equivalence mappings (typically skos:exactMatch) between Bioregistry records and external records. This allows developers to map between the standard Bioregistry prefix and external database records. While a prefix typically has only one exact match per database, curated mappings are provided to handle duplicate records by pointing to the canonical external record.