{"id":24129425,"url":"https://github.com/synbiodex/tyto","last_synced_at":"2025-09-18T22:32:50.046Z","repository":{"id":39659908,"uuid":"294499125","full_name":"SynBioDex/tyto","owner":"SynBioDex","description":"Use ontology terms in your Python application","archived":false,"fork":false,"pushed_at":"2024-03-19T19:19:51.000Z","size":723,"stargazers_count":19,"open_issues_count":22,"forks_count":3,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-01-08T03:28:15.296Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SynBioDex.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-10T19:06:03.000Z","updated_at":"2024-10-18T20:36:47.000Z","dependencies_parsed_at":"2023-02-18T05:31:05.821Z","dependency_job_id":null,"html_url":"https://github.com/SynBioDex/tyto","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Ftyto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Ftyto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Ftyto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynBioDex%2Ftyto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SynBioDex","download_url":"https://codeload.github.com/SynBioDex/tyto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233526190,"owners_count":18689444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-11T19:32:07.805Z","updated_at":"2025-09-18T22:32:44.173Z","avatar_url":"https://github.com/SynBioDex.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![gh-action badge](https://github.com/SynBioDex/tyto/workflows/CI/badge.svg)](https://github.com/SynBioDex/tyto/actions)\n[![readthedocs badge](https://readthedocs.org/projects/tyto/badge/)](https://tyto.readthedocs.io/en/latest/index.html)\n\n\u003cimg src=\"tyto.png\" height=\"300\" /\u003e\n\n# Tyto\n**Take Your Terms from Ontologies (Tyto)** is a lightweight Python tool that makes the semantic web more user-friendly and accessible.\n\nTyto provides a handy interface for ontologies for use in your Python application. It automatically generates symbols for URIs based on the ontology terms themselves. Currently the following ontologies are supported out-of-the-box:\n\n- Sequence Ontology (SO)\n- Systems Biology Ontology (SBO)\n- National Cancer Institute Thesaurus (NCIT)\n- Ontology of Units and Measures (OM)\n- NCBI Taxonomy (NCBITaxon)\n\nFor example:\n```\n\u003e\u003e\u003e from tyto import SO, SBO\nRDFLib Version: 5.0.0\n\u003e\u003e\u003e print(SO.promoter)\nhttp://purl.obolibrary.org/obo/SO_0000167\n\u003e\u003e\u003e print(SBO.systems_biology_representation)\nhttp://biomodels.net/SBO/SBO_0000000\n```\nThese symbols are not hard-coded, rather they are dynamically generated by querying ontology lookup services on the web. Currently, the Ontobee and EBI Ontology Lookup Services are supported.  Additionally, an ontology can be imported from a local OWL file.\n\nSince these ontology lookup services host hundreds of ontologies, Tyto does not currently ship with pre-defined interfaces to every ontology.  However, a new `Ontology` interface can be configured with minimal effort.  All of the heavy-lifting has already been implemented on the back-end. \n```\n\u003e\u003e\u003e from tyto import EBIOntologyLookupService, Ontology\n\u003e\u003e\u003e KISAO = Ontology(uri='http://www.biomodels.net/kisao/KISAO_FULL#', endpoints=[EBIOntologyLookupService])\n\u003e\u003e\u003e KISAO.Gillespie_direct_algorithm\n'http://www.biomodels.net/kisao/KISAO#KISAO_0000029'\n```\n\n### Documentation\n\n[Documentation on Readthedocs](https://tyto.readthedocs.io/en/latest/index.html)\n\n### Inference and reasoning\n\nAdditionally Tyto supports reasoning and inference over ontology terms.  For example, the following evaluates to `True` because the Sequence Ontology categorizes an `inducible_promoter` as a specialized type of `promoter`. \n```\n\u003e\u003e\u003e tyto.SO.inducible_promoter.is_a(tyto.SO.promoter)\nTrue\n```\nOther inference methods include:\n```\nterm1.is_a(term2)\nterm1.is_descendant_of(term2)\nterm1.is_ancestor_of(term2)\nterm1.get_parents()\nterm1.get_children()\n```\n\n## About our mascot\n\n_Tyto_ is the genus of birds to which owls belong, alluding to the Web Ontology Language (OWL) in which most ontologies are encoded. Tyto's logo is derived from the \"Owl of Minerva\" which is licensed under CC BY-SA 4.0.\n\n## Acknowledgments\n\nIf you make use of Tyto, please cite:\n\n\u003e  Bryan A. Bartley, \"Tyto: A Python Tool Enabling Better Annotation Practices for Synthetic Biology Data-Sharing\", ACS Synthetic Biology, online February, 2022. DOI: 10.1021/acssynbio.1c00450 \n\nDevelopment of this library has been supported by the [DARPA Synergistic Discovery and Design (SD2)](https://www.darpa.mil/program/synergistic-discovery-and-design) program and [Raytheon BBN Technologies](http://bbn.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Ftyto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynbiodex%2Ftyto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynbiodex%2Ftyto/lists"}