sssom-py
sssom-py copied to clipboard
Add curie validation feature
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)