sssom-py icon indicating copy to clipboard operation
sssom-py copied to clipboard

Add curie validation feature

Open matentzn opened this issue 2 years ago • 0 comments

From @cthoyt an example (thank you):

import re

import bioregistry


def main():
    obo_context = bioregistry.get_context("obo")
    reverse_remapping = {
        custom_prefix: bioregistry_prefix
        for bioregistry_prefix, custom_prefix in (obo_context.prefix_remapping or {}).items()
    }
    # prefix, local identifier pairs
    data = [
        ("hgnc", "1234"),
        ("DOI", "10.1038/nbt1156 ")
    ]

    for prefix, identifier in data:
        norm_prefix = reverse_remapping.get(prefix, prefix)
        pattern = re.compile(bioregistry.get_pattern(norm_prefix))
        assert pattern.match(identifier)

matentzn avatar Mar 21 '22 12:03 matentzn