pyobo 0.12.1__tar.gz → 0.12.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyobo-0.12.1 → pyobo-0.12.2}/PKG-INFO +3 -15
- {pyobo-0.12.1 → pyobo-0.12.2}/README.md +0 -13
- {pyobo-0.12.1 → pyobo-0.12.2}/pyproject.toml +4 -3
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/getters.py +2 -1
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/__init__.py +2 -1
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/api.py +1 -1
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/obographs.py +6 -1
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/credit.py +17 -6
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/version.py +1 -1
- pyobo-0.12.1/src/pyobo/identifier_utils/preprocessing.json +0 -873
- pyobo-0.12.1/src/pyobo/identifier_utils/preprocessing.py +0 -27
- pyobo-0.12.1/src/pyobo/resources/goc.py +0 -75
- pyobo-0.12.1/src/pyobo/resources/goc.tsv +0 -188
- {pyobo-0.12.1 → pyobo-0.12.2}/LICENSE +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/.DS_Store +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/__main__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/alts.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/combine.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/edges.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/hierarchy.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/metadata.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/names.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/properties.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/relations.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/species.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/typedefs.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/xrefs.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/cli.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/database.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/database_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/lookup.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/constants.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/gilda_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/api.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data.json +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_owl.json +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_rdf.json +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_rdfs.json +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/mocks.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/api.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/normalizer.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/plugins.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/py.typed +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/reader.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/reader_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resource_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ncbitaxon.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ncbitaxon.tsv.gz +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ro.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ro.tsv +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/so.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/so.tsv +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/README.md +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/agrovoc.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/antibodyregistry.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_compartment.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_metabolite.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_model.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_reaction.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/biogrid.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ccle.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cgnc.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chebi.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/chembl_compound.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/chembl_target.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/civic_gene.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/clinicaltrials.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/complexportal.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/conso.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cpt.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cvx.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/depmap.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/dictybase_gene.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/drugbank.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/drugbank_salt.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugcentral.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/expasy.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/famplex.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/flybase.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gard.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/features.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/geonames.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gmt_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/go.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gtdb.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/gwascentral_phenotype.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/gwascentral_study.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/hgnc.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/hgncgenefamily.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd10.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd11.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/interpro.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/itis.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/api.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/genes.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/genome.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/pathway.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mesh.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mgi.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_constants.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_family.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_mature.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/msigdb.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/ncbi_gc.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/ncbigene.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nih_reporter.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/nlm_catalog.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/nlm_publisher.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/npass.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/omim_ps.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pathbank.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/pfam.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/pfam_clan.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_chemical.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_disease.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_gene.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_pathway.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_variant.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pid.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pombase.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pubchem.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/reactome.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/rgd.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/rhea.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ror.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/schem.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/scomp.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/sdis.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/sfam.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/sgd.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/download.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/signor_complexes.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/slm.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/__main__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/get_synonym_types.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/sty.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/synonym_types.tsv +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/umls.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/unimod.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/uniprot.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/uniprot_ptm.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/wikipathways.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/zfin.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/base.html +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/index.html +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/term.html +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/typedef.html +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/dsl.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/macros.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/obo_to_functional.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/ontology.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/reference.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/struct.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/struct_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/typedef.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/vocabulary.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/__init__.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/cache.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/io.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/iter.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/misc.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/ndex_utils.py +0 -0
- {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/path.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyobo
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.2
|
|
4
4
|
Summary: A python package for handling and generating OBO
|
|
5
5
|
Keywords: snekpack,cookiecutter,ontologies,biomedical ontologies,life sciences,natural sciences,bioinformatics,cheminformatics,Open Biomedical Ontologies,OBO
|
|
6
6
|
Author: Charles Tapley Hoyt
|
|
@@ -39,13 +39,14 @@ Requires-Dist: cachier
|
|
|
39
39
|
Requires-Dist: pystow>=0.7.0
|
|
40
40
|
Requires-Dist: bioversions>=0.8.0
|
|
41
41
|
Requires-Dist: bioregistry>=0.12.7
|
|
42
|
-
Requires-Dist: bioontologies>=0.7.
|
|
42
|
+
Requires-Dist: bioontologies>=0.7.2
|
|
43
43
|
Requires-Dist: ssslm>=0.0.13
|
|
44
44
|
Requires-Dist: zenodo-client>=0.3.6
|
|
45
45
|
Requires-Dist: class-resolver>=0.6.0
|
|
46
46
|
Requires-Dist: psycopg2-binary
|
|
47
47
|
Requires-Dist: pydantic>=2.0
|
|
48
48
|
Requires-Dist: curies>=0.10.13
|
|
49
|
+
Requires-Dist: curies-processing>=0.1.0
|
|
49
50
|
Requires-Dist: python-dateutil
|
|
50
51
|
Requires-Dist: networkx>=3.4
|
|
51
52
|
Requires-Dist: drugbank-downloader
|
|
@@ -395,19 +396,6 @@ class MyTestCase(unittest.TestCase):
|
|
|
395
396
|
pyobo.get_name("chebi", "1234")
|
|
396
397
|
```
|
|
397
398
|
|
|
398
|
-
## Preprocessing CURIEs, URIs, and unqualified identifiers
|
|
399
|
-
|
|
400
|
-
In order to normalize references and identify resources, PyOBO uses the
|
|
401
|
-
[Bioregistry](https://github.com/bioregistry/bioregistry). It used to be a part
|
|
402
|
-
of PyOBO, but has since been externalized for more general reuse.
|
|
403
|
-
|
|
404
|
-
At
|
|
405
|
-
[src/pyobo/identifier_utils/preprocessing.json](https://github.com/pyobo/pyobo/blob/master/src/pyobo/src/pyobo/identifier_utils/preprocessing.json)
|
|
406
|
-
is the curated set of pre-processing rules. These are used in combination with
|
|
407
|
-
the `curies` package to do pre-processing steps on CURIEs, URIs, and unqualified
|
|
408
|
-
identifiers beyond what is possible with the Bioregistry. See
|
|
409
|
-
https://curies.readthedocs.io/en/latest/preprocessing.html.
|
|
410
|
-
|
|
411
399
|
## Troubleshooting
|
|
412
400
|
|
|
413
401
|
The OBO Foundry seems to be pretty unstable with respect to the URLs to OBO
|
|
@@ -324,19 +324,6 @@ class MyTestCase(unittest.TestCase):
|
|
|
324
324
|
pyobo.get_name("chebi", "1234")
|
|
325
325
|
```
|
|
326
326
|
|
|
327
|
-
## Preprocessing CURIEs, URIs, and unqualified identifiers
|
|
328
|
-
|
|
329
|
-
In order to normalize references and identify resources, PyOBO uses the
|
|
330
|
-
[Bioregistry](https://github.com/bioregistry/bioregistry). It used to be a part
|
|
331
|
-
of PyOBO, but has since been externalized for more general reuse.
|
|
332
|
-
|
|
333
|
-
At
|
|
334
|
-
[src/pyobo/identifier_utils/preprocessing.json](https://github.com/pyobo/pyobo/blob/master/src/pyobo/src/pyobo/identifier_utils/preprocessing.json)
|
|
335
|
-
is the curated set of pre-processing rules. These are used in combination with
|
|
336
|
-
the `curies` package to do pre-processing steps on CURIEs, URIs, and unqualified
|
|
337
|
-
identifiers beyond what is possible with the Bioregistry. See
|
|
338
|
-
https://curies.readthedocs.io/en/latest/preprocessing.html.
|
|
339
|
-
|
|
340
327
|
## Troubleshooting
|
|
341
328
|
|
|
342
329
|
The OBO Foundry seems to be pretty unstable with respect to the URLs to OBO
|
|
@@ -4,7 +4,7 @@ build-backend = "uv_build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pyobo"
|
|
7
|
-
version = "0.12.
|
|
7
|
+
version = "0.12.2"
|
|
8
8
|
description = "A python package for handling and generating OBO"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [
|
|
@@ -72,13 +72,14 @@ dependencies = [
|
|
|
72
72
|
"pystow>=0.7.0",
|
|
73
73
|
"bioversions>=0.8.0",
|
|
74
74
|
"bioregistry>=0.12.7",
|
|
75
|
-
"bioontologies>=0.7.
|
|
75
|
+
"bioontologies>=0.7.2",
|
|
76
76
|
"ssslm>=0.0.13",
|
|
77
77
|
"zenodo-client>=0.3.6",
|
|
78
78
|
"class_resolver>=0.6.0",
|
|
79
79
|
"psycopg2-binary",
|
|
80
80
|
"pydantic>=2.0",
|
|
81
81
|
"curies>=0.10.13",
|
|
82
|
+
"curies-processing>=0.1.0",
|
|
82
83
|
"python-dateutil",
|
|
83
84
|
"networkx>=3.4",
|
|
84
85
|
# Resource Downloaders
|
|
@@ -288,7 +289,7 @@ known-first-party = [
|
|
|
288
289
|
docstring-code-format = true
|
|
289
290
|
|
|
290
291
|
[tool.bumpversion]
|
|
291
|
-
current_version = "0.12.
|
|
292
|
+
current_version = "0.12.2"
|
|
292
293
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)(?:-(?P<release>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+(?P<build>[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?"
|
|
293
294
|
serialize = [
|
|
294
295
|
"{major}.{minor}.{patch}-{release}+{build}",
|
|
@@ -20,7 +20,6 @@ from typing import Any, TypeVar
|
|
|
20
20
|
import bioregistry
|
|
21
21
|
import click
|
|
22
22
|
import pystow.utils
|
|
23
|
-
from bioontologies import robot
|
|
24
23
|
from tabulate import tabulate
|
|
25
24
|
from tqdm.auto import tqdm
|
|
26
25
|
from typing_extensions import Unpack
|
|
@@ -160,6 +159,8 @@ def get_ontology(
|
|
|
160
159
|
elif ontology_format == "obo":
|
|
161
160
|
pass # all gucci
|
|
162
161
|
elif ontology_format == "owl":
|
|
162
|
+
from bioontologies import robot
|
|
163
|
+
|
|
163
164
|
_converted_obo_path = path.with_suffix(".obo")
|
|
164
165
|
if prefix in REQUIRES_NO_ROBOT_CHECK:
|
|
165
166
|
robot_check = False
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"""Extract registry information."""
|
|
2
2
|
|
|
3
|
+
from curies_processing import get_rules
|
|
4
|
+
|
|
3
5
|
from .api import (
|
|
4
6
|
DefaultCoercionError,
|
|
5
7
|
EmptyStringError,
|
|
@@ -13,7 +15,6 @@ from .api import (
|
|
|
13
15
|
standardize_ec,
|
|
14
16
|
wrap_norm_prefix,
|
|
15
17
|
)
|
|
16
|
-
from .preprocessing import get_rules
|
|
17
18
|
from .relations import ground_relation
|
|
18
19
|
|
|
19
20
|
__all__ = [
|
|
@@ -12,10 +12,10 @@ from bioregistry import NormalizedNamableReference as Reference
|
|
|
12
12
|
from bioregistry.constants import FailureReturnType
|
|
13
13
|
from curies import ReferenceTuple
|
|
14
14
|
from curies.preprocessing import BlocklistError, PreprocessingConverter
|
|
15
|
+
from curies_processing import get_rules
|
|
15
16
|
from pydantic import ValidationError
|
|
16
17
|
from typing_extensions import Doc
|
|
17
18
|
|
|
18
|
-
from .preprocessing import get_rules
|
|
19
19
|
from .relations import ground_relation
|
|
20
20
|
|
|
21
21
|
__all__ = [
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
6
|
from collections.abc import Iterable
|
|
7
|
+
from typing import TYPE_CHECKING
|
|
7
8
|
|
|
8
9
|
import bioregistry
|
|
9
10
|
from bioontologies.obograph import (
|
|
@@ -16,12 +17,14 @@ from bioontologies.obograph import (
|
|
|
16
17
|
Synonym,
|
|
17
18
|
Xref,
|
|
18
19
|
)
|
|
19
|
-
from bioontologies.robot import ParseResults
|
|
20
20
|
from tqdm import tqdm
|
|
21
21
|
|
|
22
22
|
from pyobo.struct import Obo, OBOLiteral, Reference, Term
|
|
23
23
|
from pyobo.struct.typedef import definition_source, is_a
|
|
24
24
|
|
|
25
|
+
if TYPE_CHECKING:
|
|
26
|
+
from bioontologies.robot import ParseResults
|
|
27
|
+
|
|
25
28
|
__all__ = [
|
|
26
29
|
"graph_from_obo",
|
|
27
30
|
"parse_results_from_obo",
|
|
@@ -33,6 +36,8 @@ logger = logging.getLogger(__name__)
|
|
|
33
36
|
def parse_results_from_obo(obo: Obo) -> ParseResults:
|
|
34
37
|
"""Get parse results from an OBO graph."""
|
|
35
38
|
graph = graph_from_obo(obo)
|
|
39
|
+
from bioontologies.robot import ParseResults
|
|
40
|
+
|
|
36
41
|
return ParseResults(graph_document=GraphDocument(graphs=[graph]))
|
|
37
42
|
|
|
38
43
|
|
|
@@ -7,7 +7,7 @@ from collections.abc import Iterable
|
|
|
7
7
|
|
|
8
8
|
from more_itertools import chunked
|
|
9
9
|
|
|
10
|
-
from pyobo.struct import Obo, Term
|
|
10
|
+
from pyobo.struct import CHARLIE_TERM, HUMAN_TERM, Obo, Reference, Term, default_reference
|
|
11
11
|
from pyobo.utils.path import ensure_path
|
|
12
12
|
|
|
13
13
|
__all__ = [
|
|
@@ -16,6 +16,12 @@ __all__ = [
|
|
|
16
16
|
|
|
17
17
|
url = "https://api.github.com/repos/CASRAI-CRedIT/Dictionary/contents/Picklists/Contributor%20Roles"
|
|
18
18
|
PREFIX = "credit"
|
|
19
|
+
ROOT = default_reference(prefix=PREFIX, identifier="contributor-role", name="contributor role")
|
|
20
|
+
ROOT_TERM = (
|
|
21
|
+
Term(reference=ROOT)
|
|
22
|
+
.append_contributor(CHARLIE_TERM)
|
|
23
|
+
.append_xref(Reference(prefix="cro", identifier="0000000"))
|
|
24
|
+
)
|
|
19
25
|
|
|
20
26
|
|
|
21
27
|
class CreditGetter(Obo):
|
|
@@ -23,6 +29,7 @@ class CreditGetter(Obo):
|
|
|
23
29
|
|
|
24
30
|
ontology = PREFIX
|
|
25
31
|
static_version = "2022"
|
|
32
|
+
root_terms = [ROOT]
|
|
26
33
|
|
|
27
34
|
def iter_terms(self, force: bool = False) -> Iterable[Term]:
|
|
28
35
|
"""Iterate over terms in the ontology."""
|
|
@@ -34,14 +41,16 @@ def get_terms(force: bool = False) -> list[Term]:
|
|
|
34
41
|
path = ensure_path(PREFIX, url=url, name="picklist-api.json", force=force)
|
|
35
42
|
with open(path) as f:
|
|
36
43
|
data = json.load(f)
|
|
37
|
-
terms = [
|
|
44
|
+
terms = [
|
|
45
|
+
CHARLIE_TERM,
|
|
46
|
+
HUMAN_TERM,
|
|
47
|
+
ROOT_TERM,
|
|
48
|
+
]
|
|
38
49
|
for x in data:
|
|
39
|
-
name = x["name"].removesuffix(".md").lower()
|
|
40
|
-
|
|
41
50
|
pp = ensure_path(PREFIX, "picklist", url=x["download_url"], backend="requests")
|
|
42
51
|
with open(pp) as f:
|
|
43
52
|
header, *rest = f.read().splitlines()
|
|
44
|
-
name = header
|
|
53
|
+
name = header.removeprefix("# Contributor Roles/")
|
|
45
54
|
dd = {k.removeprefix("## "): v for k, v in chunked(rest, 2)}
|
|
46
55
|
identifier = (
|
|
47
56
|
dd["Canonical URL"]
|
|
@@ -50,7 +59,9 @@ def get_terms(force: bool = False) -> list[Term]:
|
|
|
50
59
|
)
|
|
51
60
|
desc = dd["Short definition"]
|
|
52
61
|
terms.append(
|
|
53
|
-
Term.from_triple(
|
|
62
|
+
Term.from_triple(
|
|
63
|
+
prefix=PREFIX, identifier=identifier, name=name, definition=desc
|
|
64
|
+
).append_parent(ROOT)
|
|
54
65
|
)
|
|
55
66
|
|
|
56
67
|
return terms
|