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.
Files changed (200) hide show
  1. {pyobo-0.12.1 → pyobo-0.12.2}/PKG-INFO +3 -15
  2. {pyobo-0.12.1 → pyobo-0.12.2}/README.md +0 -13
  3. {pyobo-0.12.1 → pyobo-0.12.2}/pyproject.toml +4 -3
  4. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/getters.py +2 -1
  5. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/__init__.py +2 -1
  6. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/api.py +1 -1
  7. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/obographs.py +6 -1
  8. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/credit.py +17 -6
  9. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/version.py +1 -1
  10. pyobo-0.12.1/src/pyobo/identifier_utils/preprocessing.json +0 -873
  11. pyobo-0.12.1/src/pyobo/identifier_utils/preprocessing.py +0 -27
  12. pyobo-0.12.1/src/pyobo/resources/goc.py +0 -75
  13. pyobo-0.12.1/src/pyobo/resources/goc.tsv +0 -188
  14. {pyobo-0.12.1 → pyobo-0.12.2}/LICENSE +0 -0
  15. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/.DS_Store +0 -0
  16. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/__init__.py +0 -0
  17. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/__main__.py +0 -0
  18. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/__init__.py +0 -0
  19. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/alts.py +0 -0
  20. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/combine.py +0 -0
  21. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/edges.py +0 -0
  22. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/hierarchy.py +0 -0
  23. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/metadata.py +0 -0
  24. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/names.py +0 -0
  25. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/properties.py +0 -0
  26. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/relations.py +0 -0
  27. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/species.py +0 -0
  28. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/typedefs.py +0 -0
  29. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/utils.py +0 -0
  30. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/api/xrefs.py +0 -0
  31. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/__init__.py +0 -0
  32. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/cli.py +0 -0
  33. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/database.py +0 -0
  34. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/database_utils.py +0 -0
  35. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/lookup.py +0 -0
  36. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/cli/utils.py +0 -0
  37. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/constants.py +0 -0
  38. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/gilda_utils.py +0 -0
  39. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/__init__.py +0 -0
  40. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/api.py +0 -0
  41. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data.json +0 -0
  42. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_owl.json +0 -0
  43. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_rdf.json +0 -0
  44. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/identifier_utils/relations/data_rdfs.json +0 -0
  45. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/mocks.py +0 -0
  46. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/__init__.py +0 -0
  47. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/api.py +0 -0
  48. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ner/normalizer.py +0 -0
  49. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/plugins.py +0 -0
  50. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/py.typed +0 -0
  51. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/reader.py +0 -0
  52. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/reader_utils.py +0 -0
  53. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resource_utils.py +0 -0
  54. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/__init__.py +0 -0
  55. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ncbitaxon.py +0 -0
  56. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ncbitaxon.tsv.gz +0 -0
  57. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ro.py +0 -0
  58. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/ro.tsv +0 -0
  59. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/so.py +0 -0
  60. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/resources/so.tsv +0 -0
  61. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/README.md +0 -0
  62. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/__init__.py +0 -0
  63. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/agrovoc.py +0 -0
  64. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/antibodyregistry.py +0 -0
  65. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/__init__.py +0 -0
  66. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_compartment.py +0 -0
  67. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_metabolite.py +0 -0
  68. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_model.py +0 -0
  69. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/bigg/bigg_reaction.py +0 -0
  70. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/biogrid.py +0 -0
  71. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ccle.py +0 -0
  72. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cgnc.py +0 -0
  73. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chebi.py +0 -0
  74. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/__init__.py +0 -0
  75. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/chembl_compound.py +0 -0
  76. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/chembl/chembl_target.py +0 -0
  77. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/civic_gene.py +0 -0
  78. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/clinicaltrials.py +0 -0
  79. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/complexportal.py +0 -0
  80. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/conso.py +0 -0
  81. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cpt.py +0 -0
  82. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/cvx.py +0 -0
  83. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/depmap.py +0 -0
  84. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/dictybase_gene.py +0 -0
  85. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/__init__.py +0 -0
  86. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/drugbank.py +0 -0
  87. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugbank/drugbank_salt.py +0 -0
  88. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/drugcentral.py +0 -0
  89. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/expasy.py +0 -0
  90. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/famplex.py +0 -0
  91. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/flybase.py +0 -0
  92. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gard.py +0 -0
  93. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/__init__.py +0 -0
  94. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/features.py +0 -0
  95. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/geonames.py +0 -0
  96. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/geonames/utils.py +0 -0
  97. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gmt_utils.py +0 -0
  98. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/go.py +0 -0
  99. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gtdb.py +0 -0
  100. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/__init__.py +0 -0
  101. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/gwascentral_phenotype.py +0 -0
  102. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/gwascentral/gwascentral_study.py +0 -0
  103. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/__init__.py +0 -0
  104. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/hgnc.py +0 -0
  105. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/hgnc/hgncgenefamily.py +0 -0
  106. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/__init__.py +0 -0
  107. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd10.py +0 -0
  108. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd11.py +0 -0
  109. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/icd/icd_utils.py +0 -0
  110. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/interpro.py +0 -0
  111. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/itis.py +0 -0
  112. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/__init__.py +0 -0
  113. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/api.py +0 -0
  114. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/genes.py +0 -0
  115. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/genome.py +0 -0
  116. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/kegg/pathway.py +0 -0
  117. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mesh.py +0 -0
  118. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mgi.py +0 -0
  119. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/__init__.py +0 -0
  120. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase.py +0 -0
  121. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_constants.py +0 -0
  122. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_family.py +0 -0
  123. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/mirbase/mirbase_mature.py +0 -0
  124. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/msigdb.py +0 -0
  125. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/__init__.py +0 -0
  126. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/ncbi_gc.py +0 -0
  127. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ncbi/ncbigene.py +0 -0
  128. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nih_reporter.py +0 -0
  129. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/__init__.py +0 -0
  130. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/nlm_catalog.py +0 -0
  131. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/nlm_publisher.py +0 -0
  132. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/nlm/utils.py +0 -0
  133. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/npass.py +0 -0
  134. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/omim_ps.py +0 -0
  135. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pathbank.py +0 -0
  136. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/__init__.py +0 -0
  137. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/pfam.py +0 -0
  138. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pfam/pfam_clan.py +0 -0
  139. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/__init__.py +0 -0
  140. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_chemical.py +0 -0
  141. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_disease.py +0 -0
  142. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_gene.py +0 -0
  143. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_pathway.py +0 -0
  144. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/pharmgkb_variant.py +0 -0
  145. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pharmgkb/utils.py +0 -0
  146. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pid.py +0 -0
  147. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pombase.py +0 -0
  148. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/pubchem.py +0 -0
  149. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/reactome.py +0 -0
  150. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/rgd.py +0 -0
  151. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/rhea.py +0 -0
  152. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/ror.py +0 -0
  153. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/__init__.py +0 -0
  154. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/schem.py +0 -0
  155. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/scomp.py +0 -0
  156. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/sdis.py +0 -0
  157. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/selventa/sfam.py +0 -0
  158. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/sgd.py +0 -0
  159. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/__init__.py +0 -0
  160. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/download.py +0 -0
  161. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/signor/signor_complexes.py +0 -0
  162. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/slm.py +0 -0
  163. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/__init__.py +0 -0
  164. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/__main__.py +0 -0
  165. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/get_synonym_types.py +0 -0
  166. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/sty.py +0 -0
  167. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/synonym_types.tsv +0 -0
  168. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/umls/umls.py +0 -0
  169. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/unimod.py +0 -0
  170. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/__init__.py +0 -0
  171. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/uniprot.py +0 -0
  172. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/uniprot/uniprot_ptm.py +0 -0
  173. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/utils.py +0 -0
  174. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/wikipathways.py +0 -0
  175. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/sources/zfin.py +0 -0
  176. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/__init__.py +0 -0
  177. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/base.html +0 -0
  178. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/index.html +0 -0
  179. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/term.html +0 -0
  180. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/ssg/typedef.html +0 -0
  181. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/__init__.py +0 -0
  182. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/__init__.py +0 -0
  183. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/dsl.py +0 -0
  184. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/macros.py +0 -0
  185. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/obo_to_functional.py +0 -0
  186. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/ontology.py +0 -0
  187. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/functional/utils.py +0 -0
  188. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/reference.py +0 -0
  189. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/struct.py +0 -0
  190. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/struct_utils.py +0 -0
  191. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/typedef.py +0 -0
  192. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/utils.py +0 -0
  193. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/struct/vocabulary.py +0 -0
  194. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/__init__.py +0 -0
  195. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/cache.py +0 -0
  196. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/io.py +0 -0
  197. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/iter.py +0 -0
  198. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/misc.py +0 -0
  199. {pyobo-0.12.1 → pyobo-0.12.2}/src/pyobo/utils/ndex_utils.py +0 -0
  200. {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.1
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.1
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.1"
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.1",
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.1"
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 = header.removeprefix("# Contributor Roles/")
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(prefix=PREFIX, identifier=identifier, name=name, definition=desc)
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
@@ -12,7 +12,7 @@ __all__ = [
12
12
  "get_version",
13
13
  ]
14
14
 
15
- VERSION = "0.12.1"
15
+ VERSION = "0.12.2"
16
16
 
17
17
 
18
18
  def get_git_hash() -> str: