pyobo 0.8.12__tar.gz → 0.8.13__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.8.12/src/pyobo.egg-info → pyobo-0.8.13}/PKG-INFO +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/conf.py +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/setup.cfg +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/relations.py +3 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/gilda_utils.py +7 -3
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/reader.py +2 -2
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/expasy.py +14 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/hgnc.py +32 -10
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mgi.py +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mirbase_mature.py +7 -2
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pombase.py +8 -4
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/struct/struct.py +4 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/misc.py +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/version.py +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13/src/pyobo.egg-info}/PKG-INFO +1 -1
- {pyobo-0.8.12 → pyobo-0.8.13}/.readthedocs.yml +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/LICENSE +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/MANIFEST.in +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/README.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.Canonicalizer.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.Obo.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.OboNormalizer.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.Reference.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.Synonym.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.SynonymTypeDef.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.Term.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.TypeDef.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.ensure_path.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.from_obo_path.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.from_obonet.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_alts_to_id.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_ancestors.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_definition.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_descendants.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_equivalent.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_properties_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_properties_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_properties_multimapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_relations_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_xrefs.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_hierarchy.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_definition_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_multirelations_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_name_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_species_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_synonyms_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_id_to_alts.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_ids.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_name.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_name_by_curie.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_name_id_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_ontology.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_primary_curie.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_primary_identifier.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_priority_curie.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_properties.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_properties_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_property.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_relation.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_relation_mapping.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_relations_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_species.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_subhierarchy.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_synonyms.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_typedef_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_version.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_xref.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_xrefs.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_xrefs_df.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.ground.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.has_ancestor.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.has_nomenclature_plugin.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.has_xref_plugin.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.is_descendent.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.iter_nomenclature_plugins.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.iter_xref_plugins.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.normalize_curie.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.run_nomenclature_plugin.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.run_xref_plugin.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/index.rst +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/docs/source/logo.png +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/pyproject.toml +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/__main__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/alts.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/hierarchy.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/metadata.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/names.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/properties.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/species.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/typedefs.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/api/xrefs.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/cli.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/__main__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/app.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/cli.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/templates/base.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/templates/home.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/gilda/templates/matches.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/__main__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/cli.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/mapper.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/templates/base.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/apps/mapper/templates/mapper_home.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/aws.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/aws.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/cli.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/database.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/lookup.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/cli/utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/constants.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/getters.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/identifier_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/mocks.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/normalizer.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/plugins.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/registries/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/registries/metaregistry.json +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/registries/metaregistry.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resource_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resources/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resources/ncbitaxon.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resources/ncbitaxon.tsv.gz +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resources/ro.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/resources/ro.tsv +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/agrovoc.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/antibodyregistry.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/biogrid.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/ccle.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/cgnc.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/chebi.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/chembl.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/complexportal.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/conso.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/depmap.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/dictybase_gene.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/drugbank.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/drugbank_salt.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/drugcentral.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/famplex.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/flybase.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/gmt_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/go.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/gwascentral_phenotype.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/gwascentral_study.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/hgncgenefamily.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/icd10.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/icd11.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/icd_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/interpro.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/itis.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/kegg/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/kegg/api.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/kegg/genes.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/kegg/genome.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/kegg/pathway.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mesh.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mirbase.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mirbase_constants.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/mirbase_family.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/msigdb.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/ncbigene.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/npass.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pathbank.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pfam.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pfam_clan.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pid.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/pubchem.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/reactome.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/rgd.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/rhea.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/selventa/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/selventa/schem.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/selventa/scomp.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/selventa/sdis.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/selventa/sfam.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/sgd.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/slm.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/umls/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/umls/__main__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/umls/synonym_types.tsv +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/umls/umls.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/uniprot/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/uniprot/uniprot.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/uniprot/uniprot_ptm.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/wikipathways.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/sources/zfin.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/ssg/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/ssg/base.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/ssg/index.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/ssg/term.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/ssg/typedef.html +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/struct/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/struct/reference.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/struct/typedef.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/struct/utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/cache.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/io.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/iter.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/ndex_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/utils/path.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/bengo.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/canonicalizer.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/priority.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/biomappings.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/cbms2019.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/chembl.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/compath.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/famplex.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/gilda.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/intact.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/ncit.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/pubchem.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/sources/wikidata.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo/xrefdb/xrefs_pipeline.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/SOURCES.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/dependency_links.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/entry_points.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/not-zip-safe +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/requires.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/src/pyobo.egg-info/top_level.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/constants.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/resources/citations.txt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/resources/test_chebi.obo +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/resources/test_msigdb.gmt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/resources/test_wikipathways.gmt +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_alt_ids.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_caches.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_extract.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_get.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_get_miriam_url.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_gmt.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_ground.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_mapper.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_sources/__init__.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_sources/test_famplex.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_struct.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tests/test_utils.py +0 -0
- {pyobo-0.8.12 → pyobo-0.8.13}/tox.ini +0 -0
|
@@ -69,10 +69,12 @@ def get_filtered_relations_df(
|
|
|
69
69
|
*,
|
|
70
70
|
use_tqdm: bool = False,
|
|
71
71
|
force: bool = False,
|
|
72
|
+
version: Optional[str] = None,
|
|
72
73
|
) -> pd.DataFrame:
|
|
73
74
|
"""Get all of the given relation."""
|
|
74
75
|
relation_prefix, relation_identifier = relation = get_reference_tuple(relation)
|
|
75
|
-
version
|
|
76
|
+
if version is None:
|
|
77
|
+
version = get_version(prefix)
|
|
76
78
|
path = prefix_cache_join(
|
|
77
79
|
prefix,
|
|
78
80
|
"relations",
|
|
@@ -118,6 +118,7 @@ def get_grounder(
|
|
|
118
118
|
unnamed: Optional[Iterable[str]] = None,
|
|
119
119
|
grounder_cls: Optional[Type[Grounder]] = None,
|
|
120
120
|
versions: Union[None, str, Iterable[Union[str, None]]] = None,
|
|
121
|
+
strict: bool = True,
|
|
121
122
|
) -> Grounder:
|
|
122
123
|
"""Get a Gilda grounder for the given prefix(es)."""
|
|
123
124
|
unnamed = set() if unnamed is None else set(unnamed)
|
|
@@ -138,7 +139,9 @@ def get_grounder(
|
|
|
138
139
|
for prefix, version in zip(prefixes, versions):
|
|
139
140
|
try:
|
|
140
141
|
p_terms = list(
|
|
141
|
-
get_gilda_terms(
|
|
142
|
+
get_gilda_terms(
|
|
143
|
+
prefix, identifiers_are_names=prefix in unnamed, version=version, strict=strict
|
|
144
|
+
)
|
|
142
145
|
)
|
|
143
146
|
except NoBuild:
|
|
144
147
|
continue
|
|
@@ -156,10 +159,11 @@ def get_gilda_terms(
|
|
|
156
159
|
prefix: str,
|
|
157
160
|
identifiers_are_names: bool = False,
|
|
158
161
|
version: Optional[str] = None,
|
|
162
|
+
strict: bool = True,
|
|
159
163
|
) -> Iterable[gilda.term.Term]:
|
|
160
164
|
"""Get gilda terms for the given namespace."""
|
|
161
|
-
id_to_name = get_id_name_mapping(prefix, version=version)
|
|
162
|
-
id_to_species = get_id_species_mapping(prefix, version=version)
|
|
165
|
+
id_to_name = get_id_name_mapping(prefix, version=version, strict=strict)
|
|
166
|
+
id_to_species = get_id_species_mapping(prefix, version=version, strict=strict)
|
|
163
167
|
|
|
164
168
|
it = tqdm(id_to_name.items(), desc=f"[{prefix}] mapping", unit_scale=True, unit="name")
|
|
165
169
|
for identifier, name in it:
|
|
@@ -123,7 +123,7 @@ def from_obonet(graph: nx.MultiDiGraph, *, strict: bool = True) -> "Obo": # noq
|
|
|
123
123
|
# if name isn't available, it means its external to this ontology
|
|
124
124
|
name=data.get("name"),
|
|
125
125
|
)
|
|
126
|
-
for prefix, identifier, data in _iter_obo_graph(graph=graph)
|
|
126
|
+
for prefix, identifier, data in _iter_obo_graph(graph=graph, strict=strict)
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
#: CURIEs to typedefs
|
|
@@ -140,7 +140,7 @@ def from_obonet(graph: nx.MultiDiGraph, *, strict: bool = True) -> "Obo": # noq
|
|
|
140
140
|
missing_typedefs = set()
|
|
141
141
|
terms = []
|
|
142
142
|
n_alt_ids, n_parents, n_synonyms, n_relations, n_properties, n_xrefs = 0, 0, 0, 0, 0, 0
|
|
143
|
-
for prefix, identifier, data in _iter_obo_graph(graph=graph):
|
|
143
|
+
for prefix, identifier, data in _iter_obo_graph(graph=graph, strict=strict):
|
|
144
144
|
if prefix != ontology or not data:
|
|
145
145
|
continue
|
|
146
146
|
|
|
@@ -44,6 +44,20 @@ class ExpasyGetter(Obo):
|
|
|
44
44
|
|
|
45
45
|
bioversions_key = ontology = PREFIX
|
|
46
46
|
typedefs = [has_member, enables]
|
|
47
|
+
root_terms = [
|
|
48
|
+
Reference("eccode", "1"),
|
|
49
|
+
Reference("eccode", "2"),
|
|
50
|
+
Reference("eccode", "3"),
|
|
51
|
+
Reference("eccode", "4"),
|
|
52
|
+
Reference("eccode", "5"),
|
|
53
|
+
Reference("eccode", "6"),
|
|
54
|
+
Reference("eccode", "7"),
|
|
55
|
+
]
|
|
56
|
+
idspaces = {
|
|
57
|
+
"uniprot": "https://bioregistry.io/uniprot:",
|
|
58
|
+
"eccode": "https://bioregistry.io/eccode:",
|
|
59
|
+
"go": "http://purl.obolibrary.org/obo/GO_",
|
|
60
|
+
}
|
|
47
61
|
|
|
48
62
|
def iter_terms(self, force: bool = False) -> Iterable[Term]:
|
|
49
63
|
"""Iterate over terms in the ontology."""
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
"""Converter for HGNC."""
|
|
4
4
|
|
|
5
|
+
import itertools as itt
|
|
5
6
|
import json
|
|
6
7
|
import logging
|
|
7
8
|
import typing
|
|
@@ -145,7 +146,7 @@ LOCUS_TYPE_TO_SO = {
|
|
|
145
146
|
|
|
146
147
|
IDSPACES = {
|
|
147
148
|
prefix: f"https://bioregistry.io/{prefix}:"
|
|
148
|
-
for prefix in
|
|
149
|
+
for prefix in {
|
|
149
150
|
"rgd",
|
|
150
151
|
"mgi",
|
|
151
152
|
"eccode",
|
|
@@ -154,17 +155,34 @@ IDSPACES = {
|
|
|
154
155
|
"uniprot",
|
|
155
156
|
"mirbase",
|
|
156
157
|
"snornabase",
|
|
158
|
+
"hgnc",
|
|
157
159
|
"hgnc.genegroup",
|
|
158
|
-
|
|
160
|
+
"debio",
|
|
161
|
+
"ensembl",
|
|
162
|
+
"NCBIGene",
|
|
163
|
+
"vega",
|
|
164
|
+
"ucsc",
|
|
165
|
+
"ena",
|
|
166
|
+
"ccds",
|
|
167
|
+
"omim",
|
|
168
|
+
"cosmic",
|
|
169
|
+
"merops",
|
|
170
|
+
"orphanet",
|
|
171
|
+
"pseudogene",
|
|
172
|
+
"lncipedia",
|
|
173
|
+
"refseq",
|
|
174
|
+
}
|
|
159
175
|
}
|
|
160
|
-
IDSPACES
|
|
176
|
+
IDSPACES.update(
|
|
177
|
+
NCBITaxon="http://purl.obolibrary.org/obo/NCBITaxon_",
|
|
178
|
+
SO="http://purl.obolibrary.org/obo/SO_",
|
|
179
|
+
)
|
|
161
180
|
|
|
162
181
|
|
|
163
182
|
class HGNCGetter(Obo):
|
|
164
183
|
"""An ontology representation of HGNC's gene nomenclature."""
|
|
165
184
|
|
|
166
185
|
bioversions_key = ontology = PREFIX
|
|
167
|
-
dynamic_version = True
|
|
168
186
|
typedefs = [
|
|
169
187
|
from_species,
|
|
170
188
|
has_gene_product,
|
|
@@ -180,6 +198,7 @@ class HGNCGetter(Obo):
|
|
|
180
198
|
alias_name_type,
|
|
181
199
|
alias_symbol_type,
|
|
182
200
|
]
|
|
201
|
+
root_terms = [Reference("SO", so_id) for so_id in sorted(set(LOCUS_TYPE_TO_SO.values()))]
|
|
183
202
|
|
|
184
203
|
def iter_terms(self, force: bool = False) -> Iterable[Term]:
|
|
185
204
|
"""Iterate over terms in the ontology."""
|
|
@@ -207,6 +226,7 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
207
226
|
with open(path) as file:
|
|
208
227
|
entries = json.load(file)["response"]["docs"]
|
|
209
228
|
|
|
229
|
+
yield Term.from_triple("NCBITaxon", "9606", "Homo sapiens")
|
|
210
230
|
yield from sorted(
|
|
211
231
|
{
|
|
212
232
|
Term(reference=Reference.auto("SO", so_id))
|
|
@@ -242,14 +262,14 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
242
262
|
for uniprot_id in entry.pop("uniprot_ids", []):
|
|
243
263
|
term.append_relationship(
|
|
244
264
|
has_gene_product,
|
|
245
|
-
Reference
|
|
265
|
+
Reference("uniprot", uniprot_id),
|
|
246
266
|
)
|
|
247
267
|
for ec_code in entry.pop("enzyme_id", []):
|
|
248
268
|
if "-" in ec_code:
|
|
249
269
|
continue # only add concrete annotations
|
|
250
270
|
term.append_relationship(
|
|
251
271
|
gene_product_member_of,
|
|
252
|
-
Reference
|
|
272
|
+
Reference("eccode", ec_code),
|
|
253
273
|
)
|
|
254
274
|
for rna_central_ids in entry.pop("rna_central_id", []):
|
|
255
275
|
for rna_central_id in rna_central_ids.split(","):
|
|
@@ -261,7 +281,7 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
261
281
|
if mirbase_id:
|
|
262
282
|
term.append_relationship(
|
|
263
283
|
transcribes_to,
|
|
264
|
-
Reference
|
|
284
|
+
Reference(
|
|
265
285
|
"mirbase",
|
|
266
286
|
mirbase_id,
|
|
267
287
|
),
|
|
@@ -279,7 +299,7 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
279
299
|
rgd_id = rgd_curie[len("RGD:") :]
|
|
280
300
|
term.append_relationship(
|
|
281
301
|
orthologous,
|
|
282
|
-
Reference
|
|
302
|
+
Reference(prefix="rgd", identifier=rgd_id),
|
|
283
303
|
)
|
|
284
304
|
for mgi_curie in entry.pop("mgd_id", []):
|
|
285
305
|
if not mgi_curie.startswith("MGI:"):
|
|
@@ -290,7 +310,7 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
290
310
|
continue
|
|
291
311
|
term.append_relationship(
|
|
292
312
|
orthologous,
|
|
293
|
-
Reference
|
|
313
|
+
Reference(prefix="mgi", identifier=mgi_id),
|
|
294
314
|
)
|
|
295
315
|
|
|
296
316
|
for xref_prefix, key in gene_xrefs:
|
|
@@ -321,7 +341,9 @@ def get_terms(version: Optional[str] = None, force: bool = False) -> Iterable[Te
|
|
|
321
341
|
term.append_synonym(Synonym(name=alias_symbol, type=alias_symbol_type))
|
|
322
342
|
for alias_name in entry.pop("alias_name", []):
|
|
323
343
|
term.append_synonym(Synonym(name=alias_name, type=alias_name_type))
|
|
324
|
-
for previous_symbol in
|
|
344
|
+
for previous_symbol in itt.chain(
|
|
345
|
+
entry.pop("previous_symbol", []), entry.pop("prev_symbol", [])
|
|
346
|
+
):
|
|
325
347
|
term.append_synonym(Synonym(name=previous_symbol, type=previous_symbol_type))
|
|
326
348
|
for previous_name in entry.pop("prev_name", []):
|
|
327
349
|
term.append_synonym(Synonym(name=previous_name, type=previous_name_type))
|
|
@@ -150,7 +150,7 @@ def get_terms(force: bool = False) -> Iterable[Term]:
|
|
|
150
150
|
mgi_to_ensemble_protein_ids[mgi_id].append(ensemble_protein_id)
|
|
151
151
|
|
|
152
152
|
for mgi_curie, name, definition in tqdm(
|
|
153
|
-
df[COLUMNS].values, total=len(df.index), desc=f"Mapping {PREFIX}"
|
|
153
|
+
df[COLUMNS].values, total=len(df.index), desc=f"Mapping {PREFIX}", unit_scale=True
|
|
154
154
|
):
|
|
155
155
|
identifier = mgi_curie[len("MGI:") :]
|
|
156
156
|
term = Term(
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
from typing import Iterable
|
|
6
6
|
|
|
7
|
+
import pandas as pd
|
|
7
8
|
from tqdm.auto import tqdm
|
|
8
9
|
|
|
9
10
|
from .mirbase_constants import get_mature_df
|
|
@@ -35,9 +36,13 @@ def get_obo(force: bool = False) -> Obo:
|
|
|
35
36
|
def iter_terms(version: str, force: bool = False) -> Iterable[Term]:
|
|
36
37
|
"""Get miRBase mature terms."""
|
|
37
38
|
df = get_mature_df(version, force=force)
|
|
38
|
-
for _, name, previous_name, mirbase_mature_id in tqdm(
|
|
39
|
+
for _, name, previous_name, mirbase_mature_id in tqdm(
|
|
40
|
+
df.values, total=len(df.index), unit_scale=True
|
|
41
|
+
):
|
|
39
42
|
yield Term(
|
|
40
|
-
reference=Reference(
|
|
43
|
+
reference=Reference(
|
|
44
|
+
prefix=PREFIX, identifier=mirbase_mature_id, name=name if pd.notna(name) else None
|
|
45
|
+
),
|
|
41
46
|
synonyms=[
|
|
42
47
|
Synonym(name=previous_name),
|
|
43
48
|
],
|
|
@@ -11,7 +11,7 @@ from tqdm.auto import tqdm
|
|
|
11
11
|
|
|
12
12
|
import pyobo
|
|
13
13
|
from pyobo import Reference
|
|
14
|
-
from pyobo.struct import Obo,
|
|
14
|
+
from pyobo.struct import Obo, Term, from_species, has_gene_product, orthologous
|
|
15
15
|
from pyobo.utils.path import ensure_df
|
|
16
16
|
|
|
17
17
|
__all__ = [
|
|
@@ -43,6 +43,8 @@ def get_obo(force: bool = False) -> Obo:
|
|
|
43
43
|
|
|
44
44
|
#: A mapping from PomBase gene type to sequence ontology terms
|
|
45
45
|
POMBASE_TO_SO = {
|
|
46
|
+
# None: "0000704", # gene,
|
|
47
|
+
"gene_type": "0000704", # unannotated
|
|
46
48
|
"protein coding gene": "0001217",
|
|
47
49
|
"pseudogene": "0000336",
|
|
48
50
|
"tRNA gene": "0001272",
|
|
@@ -74,6 +76,8 @@ def get_terms(version: str, force: bool = False) -> Iterable[Term]:
|
|
|
74
76
|
for _, reference in sorted(so.items()):
|
|
75
77
|
yield Term(reference=reference)
|
|
76
78
|
for identifier, _, symbol, chromosome, name, uniprot_id, gtype, synonyms in tqdm(df.values):
|
|
79
|
+
if pd.isna(identifier):
|
|
80
|
+
continue
|
|
77
81
|
term = Term.from_triple(
|
|
78
82
|
prefix=PREFIX,
|
|
79
83
|
identifier=identifier,
|
|
@@ -84,12 +88,12 @@ def get_terms(version: str, force: bool = False) -> Iterable[Term]:
|
|
|
84
88
|
term.append_parent(so[gtype])
|
|
85
89
|
term.set_species(identifier="4896", name="Schizosaccharomyces pombe")
|
|
86
90
|
for hgnc_id in identifier_to_hgnc_ids.get(identifier, []):
|
|
87
|
-
term.append_relationship(orthologous, Reference
|
|
91
|
+
term.append_relationship(orthologous, Reference("hgnc", hgnc_id))
|
|
88
92
|
if uniprot_id and pd.notna(uniprot_id):
|
|
89
|
-
term.append_relationship(has_gene_product, Reference
|
|
93
|
+
term.append_relationship(has_gene_product, Reference("uniprot", uniprot_id))
|
|
90
94
|
if synonyms and pd.notna(synonyms):
|
|
91
95
|
for synonym in synonyms.split(","):
|
|
92
|
-
term.append_synonym(
|
|
96
|
+
term.append_synonym(synonym.strip())
|
|
93
97
|
yield term
|
|
94
98
|
|
|
95
99
|
|
|
@@ -453,7 +453,7 @@ class Obo:
|
|
|
453
453
|
#: For super-sized datasets that shouldn't be read into memory
|
|
454
454
|
iter_only: ClassVar[bool] = False
|
|
455
455
|
|
|
456
|
-
#: Set to true for resources that are unversioned/very dynamic, like
|
|
456
|
+
#: Set to true for resources that are unversioned/very dynamic, like MGI
|
|
457
457
|
dynamic_version: ClassVar[bool] = False
|
|
458
458
|
|
|
459
459
|
#: Set to a static version for the resource (i.e., the resource is not itself versioned)
|
|
@@ -461,6 +461,9 @@ class Obo:
|
|
|
461
461
|
|
|
462
462
|
bioversions_key: ClassVar[Optional[str]] = None
|
|
463
463
|
|
|
464
|
+
#: Root terms to use for the ontology
|
|
465
|
+
root_terms: ClassVar[Optional[List[Reference]]] = None
|
|
466
|
+
|
|
464
467
|
#: The date the ontology was generated
|
|
465
468
|
date: Optional[datetime] = field(default_factory=datetime.today)
|
|
466
469
|
|
|
@@ -79,6 +79,6 @@ def cleanup_version(data_version: str, prefix: str) -> Optional[str]:
|
|
|
79
79
|
else:
|
|
80
80
|
return v
|
|
81
81
|
if (prefix, data_version) not in BIZARRE_LOGGED:
|
|
82
|
-
logger.
|
|
82
|
+
logger.debug("[%s] bizarre version: %s", prefix, data_version)
|
|
83
83
|
BIZARRE_LOGGED.add((prefix, data_version))
|
|
84
84
|
return data_version
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyobo-0.8.12 → pyobo-0.8.13}/docs/source/api/pyobo.get_filtered_properties_multimapping.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|