{ "info": { "author": "Jonas Marcello", "author_email": "jonas.marcello@esbme.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Healthcare Industry", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Scientific/Engineering :: Bio-Informatics", "Topic :: Scientific/Engineering :: Medical Science Apps.", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "*****\nPyHPO\n*****\n\nA Python library to work with, analyze, filter and inspect the `Human Phenotype Ontology`_\n\nVisit the `PyHPO Documentation`_ for a more detailed overview of all the functionality.\n\n\nMain features\n=============\n\nIt allows working on individual terms ``HPOTerm``, a set of terms ``HPOSet`` and the full ``Ontology``.\n\nInternally the ontology is represented as a branched linked list, every term contains pointers to its parent and child terms. This allows fast tree traversal functioanlity.\n\nThe library is helpful for discovery of novel gene-disease associations and GWAS data analysis studies. At the same time, it can be used for oragnize clinical information of patients in research or diagnostic settings.\n\nIt provides an interface to create ``Pandas Dataframe`` from its data, allowing integration in already existing data anlysis tools.\n\n\nHPOTerm\n-------\nAn individual ``HPOTerm`` contains all info about itself as well as pointers to its parents and its children. You can access its information-content, calculate similarity scores to other terms, find the shortest or longes connection between two terms. List all associated genes or diseases, etc.\n\nHPOSet\n------\nAn ``HPOSet`` can be used to represent e.g. a patient's clinical information. It allows some basic filtering and comparisons to other ``HPOSet`` s.\n\nOntology\n--------\nThe ``Ontology`` represents all HPO terms and their connections and associations. It also contains pointers to associated genes and disease.\n\n\nInstallation / Setup\n====================\n\nThe easiest way to install PyHPO is via pip\n\n.. code:: bash\n\n pip install pyhpo\n\n.. note::\n\n Some features of PyHPO require ``pandas``. The standard installation via pip will not include pandas and PyHPO will work just fine. (You will get a warning on the initial import though). As long as you don't try to create a ``pandas.DataFrame``, everything should work without pandas. If you want to use all features, install ``pandas`` yourself:\n\n .. code:: bash\n\n pip install pandas\n\nUsage\n=====\n\nFor a detailed description of how to use PyHPO, visit the `PyHPO Documentation`_.\n\nGetting started\n---------------\n\n.. code:: python\n\n from pyhpo import Ontology\n\n ontology = Ontology()\n\n # Iterate through all HPO terms\n for term in ontology:\n # do something, e.g.\n print(term.name)\n\nThere are multiple ways to retrieve a single term out of an ontology:\n\n.. code:: python\n\n # Retrieve a term via its HPO-ID\n term = ontology.get_hpo_object('HP:0002650')\n\n # ...or via the Integer representation of the ID\n term = ontology.get_hpo_object(2650)\n\n # ...or via shortcut\n term = ontology[2650]\n\n # ...or by term name\n term = ontology.get_hpo_object('Scoliosis')\n\nYou can also do substring search on term names and synonyms:\n\n.. code:: python\n\n # ontology.search returns an Iterator over all matches\n for term in ontology.search('Abn'):\n print(term.name)\n\nFind the shortest path between two terms:\n\n.. code:: python\n\n ontology.path(\n 'Abnormality of the nervous system',\n 'HP:0002650'\n )\n\nWorking with terms\n------------------\n\n.. code-block:: python\n\n # check the relationship of two terms\n term.path_to_other(ontology[11])\n\n # get the information content for OMIM diseases\n term.information_content['omim']\n\n # ...or for genes\n term.information_content['genes']\n\n # compare two terms\n term.similarity_score(term2, method='resnik', kind='gene')\n\nWorking with sets\n-----------------\n\n.. code-block:: python\n\n # Create a clinical information set of HPO Terms\n clinical_info = pyhpo.HPOSet([\n ontology[12],\n ontology[14],\n ontology.get_hpo_object(2650)\n ])\n\n # Extract only child nodes and leave out all parent terms\n children = clinical_info.child_nodes()\n\n # Calculate the similarity of two Sets\n sim_score = clinical_info.similarity(other_set)\n\n\nand many more examples in the `PyHPO Documentation`_\n\n\nContributing\n============\n\nYes, please do so. I would appreciate any help, suggestions for improvement or other feedback. Just create a pull-request or open an issue.\n\nLicense\n=======\n\nPyHPO is released under the `MIT license`_.\n\n\n.. _PyHPO Documentation: https://esbme.com/pyhpo/docs/ \n.. _MIT license: http://www.opensource.org/licenses/mit-license.php\n.. _Human Phenotype Ontology: https://hpo.jax.org/\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/anergictcell/pyhpo", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pyhpo", "package_url": "https://pypi.org/project/pyhpo/", "platform": "", "project_url": "https://pypi.org/project/pyhpo/", "project_urls": { "Homepage": "https://github.com/anergictcell/pyhpo" }, "release_url": "https://pypi.org/project/pyhpo/1.1.1/", "requires_dist": null, "requires_python": "", "summary": "A Python package to work with the HPO Ontology", "version": "1.1.1" }, "last_serial": 5999390, "releases": { "1.1.1": [ { "comment_text": "", "digests": { "md5": "fde6b03482528c053bbf1ee0bb7630ac", "sha256": "4cec3d2dc0f0c95755e3b843e0e0b21eb998bf67b6e858032adccc879ee7747e" }, "downloads": -1, "filename": "pyhpo-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fde6b03482528c053bbf1ee0bb7630ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6497125, "upload_time": "2019-10-19T09:58:21", "url": "https://files.pythonhosted.org/packages/99/82/ab5a06cb23797a5aa1a4674e315c856cc9b2d7c83aec1ed3237a269edc4b/pyhpo-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5db800e27773f9ccd23faa5f9c3c6e67", "sha256": "34fa60d9a201bf6ec5d9180d1cab7d723d256777eefeb88dc373150220cc0d8f" }, "downloads": -1, "filename": "pyhpo-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5db800e27773f9ccd23faa5f9c3c6e67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6368585, "upload_time": "2019-10-19T09:59:10", "url": "https://files.pythonhosted.org/packages/e8/6b/2b358140f8935181c230d0617f39ec6df7dc9f8a2a84723881f1629acb90/pyhpo-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fde6b03482528c053bbf1ee0bb7630ac", "sha256": "4cec3d2dc0f0c95755e3b843e0e0b21eb998bf67b6e858032adccc879ee7747e" }, "downloads": -1, "filename": "pyhpo-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fde6b03482528c053bbf1ee0bb7630ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6497125, "upload_time": "2019-10-19T09:58:21", "url": "https://files.pythonhosted.org/packages/99/82/ab5a06cb23797a5aa1a4674e315c856cc9b2d7c83aec1ed3237a269edc4b/pyhpo-1.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5db800e27773f9ccd23faa5f9c3c6e67", "sha256": "34fa60d9a201bf6ec5d9180d1cab7d723d256777eefeb88dc373150220cc0d8f" }, "downloads": -1, "filename": "pyhpo-1.1.1.tar.gz", "has_sig": false, "md5_digest": "5db800e27773f9ccd23faa5f9c3c6e67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6368585, "upload_time": "2019-10-19T09:59:10", "url": "https://files.pythonhosted.org/packages/e8/6b/2b358140f8935181c230d0617f39ec6df7dc9f8a2a84723881f1629acb90/pyhpo-1.1.1.tar.gz" } ] }