jpayne@68: Metadata-Version: 2.1 jpayne@68: Name: mygene jpayne@68: Version: 3.2.2 jpayne@68: Summary: Python Client for MyGene.Info services. jpayne@68: Home-page: https://github.com/biothings/mygene.py jpayne@68: Author: Chunlei Wu, Cyrus Afrasiabi, Sebastien Lelong jpayne@68: Author-email: cwu@scripps.edu jpayne@68: License: BSD jpayne@68: Keywords: biology gene annotation web service client api jpayne@68: Platform: UNKNOWN jpayne@68: Classifier: Programming Language :: Python jpayne@68: Classifier: Programming Language :: Python :: 2 jpayne@68: Classifier: Programming Language :: Python :: 2.7 jpayne@68: Classifier: Programming Language :: Python :: 3 jpayne@68: Classifier: Programming Language :: Python :: 3.4 jpayne@68: Classifier: Programming Language :: Python :: 3.5 jpayne@68: Classifier: Programming Language :: Python :: 3.6 jpayne@68: Classifier: Programming Language :: Python :: 3.7 jpayne@68: Classifier: Programming Language :: Python :: 3.8 jpayne@68: Classifier: Programming Language :: Python :: 3.9 jpayne@68: Classifier: Development Status :: 5 - Production/Stable jpayne@68: Classifier: License :: OSI Approved :: BSD License jpayne@68: Classifier: Operating System :: POSIX jpayne@68: Classifier: Operating System :: MacOS :: MacOS X jpayne@68: Classifier: Operating System :: Microsoft :: Windows jpayne@68: Classifier: Operating System :: OS Independent jpayne@68: Classifier: Intended Audience :: Science/Research jpayne@68: Classifier: Intended Audience :: Developers jpayne@68: Classifier: Topic :: Utilities jpayne@68: Classifier: Topic :: Scientific/Engineering :: Bio-Informatics jpayne@68: Requires-Dist: biothings-client (>=0.2.6) jpayne@68: jpayne@68: .. image:: https://pepy.tech/badge/mygene jpayne@68: :target: https://pepy.tech/project/mygene jpayne@68: jpayne@68: .. image:: https://img.shields.io/pypi/dm/mygene.svg jpayne@68: :target: https://pypistats.org/packages/mygene jpayne@68: jpayne@68: .. image:: https://badge.fury.io/py/mygene.svg jpayne@68: :target: https://pypi.org/project/mygene/ jpayne@68: jpayne@68: .. image:: https://img.shields.io/pypi/pyversions/mygene.svg jpayne@68: :target: https://pypi.org/project/mygene/ jpayne@68: jpayne@68: .. image:: https://img.shields.io/pypi/format/mygene.svg jpayne@68: :target: https://pypi.org/project/mygene/ jpayne@68: jpayne@68: .. image:: https://img.shields.io/pypi/status/mygene.svg jpayne@68: :target: https://pypi.org/project/mygene/ jpayne@68: jpayne@68: Intro jpayne@68: ===== jpayne@68: jpayne@68: MyGene.Info_ provides simple-to-use REST web services to query/retrieve gene annotation data. jpayne@68: It's designed with simplicity and performance emphasized. ``mygene``, is an easy-to-use Python jpayne@68: wrapper to access MyGene.Info_ services. jpayne@68: jpayne@68: .. _MyGene.Info: http://mygene.info jpayne@68: .. _biothings_client: https://pypi.org/project/biothings-client/ jpayne@68: .. _mygene: https://pypi.org/project/mygene/ jpayne@68: jpayne@68: Since v3.1.0, mygene_ Python package has become a thin wrapper of underlying biothings_client_ package, jpayne@68: a universal Python client for all `BioThings APIs `_, including MyGene.info_. jpayne@68: The installation of mygene_ will install biothings_client_ automatically. The following code snippets jpayne@68: are essentially equivalent: jpayne@68: jpayne@68: jpayne@68: * Continue using mygene_ package jpayne@68: jpayne@68: .. code-block:: python jpayne@68: jpayne@68: In [1]: import mygene jpayne@68: In [2]: mg = mygene.MyGeneInfo() jpayne@68: jpayne@68: * Use biothings_client_ package directly jpayne@68: jpayne@68: .. code-block:: python jpayne@68: jpayne@68: In [1]: from biothings_client import get_client jpayne@68: In [2]: mg = get_client('gene') jpayne@68: jpayne@68: After that, the use of ``mg`` instance is exactly the same, e.g. the usage examples below. jpayne@68: jpayne@68: Requirements jpayne@68: ============ jpayne@68: python >=2.7 (including python3) jpayne@68: jpayne@68: (Python 2.6 might still work, but it's not supported any more since v3.1.0.) jpayne@68: jpayne@68: biothings_client_ (>=0.2.0, install using "pip install biothings_client") jpayne@68: jpayne@68: Optional dependencies jpayne@68: ====================== jpayne@68: `pandas `_ (install using "pip install pandas") is required for jpayne@68: returning a list of gene objects as `DataFrame `_. jpayne@68: jpayne@68: Installation jpayne@68: ============= jpayne@68: jpayne@68: Option 1 jpayne@68: pip install mygene jpayne@68: jpayne@68: Option 2 jpayne@68: download/extract the source code and run:: jpayne@68: jpayne@68: python setup.py install jpayne@68: jpayne@68: Option 3 jpayne@68: install the latest code directly from the repository:: jpayne@68: jpayne@68: pip install -e git+https://github.com/biothings/mygene.py#egg=mygene jpayne@68: jpayne@68: Version history jpayne@68: =============== jpayne@68: jpayne@68: `CHANGES.txt `_ jpayne@68: jpayne@68: Tutorial jpayne@68: ========= jpayne@68: jpayne@68: * `ID mapping using mygene module in Python `_ jpayne@68: jpayne@68: Documentation jpayne@68: ============= jpayne@68: jpayne@68: http://mygene-py.readthedocs.org/ jpayne@68: jpayne@68: Usage jpayne@68: ===== jpayne@68: jpayne@68: .. code-block:: python jpayne@68: jpayne@68: In [1]: import mygene jpayne@68: jpayne@68: In [2]: mg = mygene.MyGeneInfo() jpayne@68: jpayne@68: In [3]: mg.getgene(1017) jpayne@68: Out[3]: jpayne@68: {'_id': '1017', jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606, jpayne@68: ... jpayne@68: } jpayne@68: jpayne@68: # use "fields" parameter to return a subset of fields jpayne@68: In [4]: mg.getgene(1017, fields='name,symbol,refseq') jpayne@68: Out[4]: jpayne@68: {'_id': '1017', jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'refseq': {'genomic': ['AC_000144.1', jpayne@68: 'NC_000012.11', jpayne@68: 'NG_028086.1', jpayne@68: 'NT_029419.12', jpayne@68: 'NW_001838059.1'], jpayne@68: 'protein': ['NP_001789.2', 'NP_439892.2'], jpayne@68: 'rna': ['NM_001798.3', 'NM_052827.2']}, jpayne@68: 'symbol': 'CDK2'} jpayne@68: jpayne@68: In [5]: mg.getgene(1017, fields=['name', 'symbol', 'refseq.rna']) jpayne@68: Out[5]: jpayne@68: {'_id': '1017', jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'refseq': {'rna': ['NM_001798.5', 'NM_052827.3']}, jpayne@68: 'symbol': 'CDK2'} jpayne@68: jpayne@68: jpayne@68: In [6]: mg.getgenes([1017,1018,'ENSG00000148795'], fields='name,symbol,entrezgene,taxid') jpayne@68: Out[6]: jpayne@68: [{'_id': '1017', jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'query': '1017', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '1018', jpayne@68: 'entrezgene': 1018, jpayne@68: 'name': 'cyclin-dependent kinase 3', jpayne@68: 'query': '1018', jpayne@68: 'symbol': 'CDK3', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '1586', jpayne@68: 'entrezgene': 1586, jpayne@68: 'name': 'cytochrome P450, family 17, subfamily A, polypeptide 1', jpayne@68: 'query': 'ENSG00000148795', jpayne@68: 'symbol': 'CYP17A1', jpayne@68: 'taxid': 9606}] jpayne@68: jpayne@68: # return results in Pandas DataFrame jpayne@68: In [7]: mg.getgenes([1017,1018,'ENSG00000148795'], fields='name,symbol,entrezgene,taxid', as_dataframe=True) jpayne@68: Out[7]: jpayne@68: _id entrezgene \ jpayne@68: query jpayne@68: 1017 1017 1017 jpayne@68: 1018 1018 1018 jpayne@68: ENSG00000148795 1586 1586 jpayne@68: jpayne@68: name symbol \ jpayne@68: query jpayne@68: 1017 cyclin-dependent kinase 2 CDK2 jpayne@68: 1018 cyclin-dependent kinase 3 CDK3 jpayne@68: ENSG00000148795 cytochrome P450, family 17, subfamily A, polyp... CYP17A1 jpayne@68: jpayne@68: taxid jpayne@68: query jpayne@68: 1017 9606 jpayne@68: 1018 9606 jpayne@68: ENSG00000148795 9606 jpayne@68: jpayne@68: [3 rows x 5 columns] jpayne@68: jpayne@68: In [8]: mg.query('cdk2', size=5) jpayne@68: Out[8]: jpayne@68: {'hits': [{'_id': '1017', jpayne@68: '_score': 373.24667, jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '12566', jpayne@68: '_score': 353.90176, jpayne@68: 'entrezgene': 12566, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'symbol': 'Cdk2', jpayne@68: 'taxid': 10090}, jpayne@68: {'_id': '362817', jpayne@68: '_score': 264.88477, jpayne@68: 'entrezgene': 362817, jpayne@68: 'name': 'cyclin dependent kinase 2', jpayne@68: 'symbol': 'Cdk2', jpayne@68: 'taxid': 10116}, jpayne@68: {'_id': '52004', jpayne@68: '_score': 21.221401, jpayne@68: 'entrezgene': 52004, jpayne@68: 'name': 'CDK2-associated protein 2', jpayne@68: 'symbol': 'Cdk2ap2', jpayne@68: 'taxid': 10090}, jpayne@68: {'_id': '143384', jpayne@68: '_score': 18.617256, jpayne@68: 'entrezgene': 143384, jpayne@68: 'name': 'CDK2-associated, cullin domain 1', jpayne@68: 'symbol': 'CACUL1', jpayne@68: 'taxid': 9606}], jpayne@68: 'max_score': 373.24667, jpayne@68: 'took': 10, jpayne@68: 'total': 28} jpayne@68: jpayne@68: In [9]: mg.query('reporter:1000_at') jpayne@68: Out[9]: jpayne@68: {'hits': [{'_id': '5595', jpayne@68: '_score': 11.163337, jpayne@68: 'entrezgene': 5595, jpayne@68: 'name': 'mitogen-activated protein kinase 3', jpayne@68: 'symbol': 'MAPK3', jpayne@68: 'taxid': 9606}], jpayne@68: 'max_score': 11.163337, jpayne@68: 'took': 6, jpayne@68: 'total': 1} jpayne@68: jpayne@68: In [10]: mg.query('symbol:cdk2', species='human') jpayne@68: Out[10]: jpayne@68: {'hits': [{'_id': '1017', jpayne@68: '_score': 84.17707, jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}], jpayne@68: 'max_score': 84.17707, jpayne@68: 'took': 27, jpayne@68: 'total': 1} jpayne@68: jpayne@68: In [11]: mg.querymany([1017, '695'], scopes='entrezgene', species='human') jpayne@68: Finished. jpayne@68: Out[11]: jpayne@68: [{'_id': '1017', jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'query': '1017', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '695', jpayne@68: 'entrezgene': 695, jpayne@68: 'name': 'Bruton agammaglobulinemia tyrosine kinase', jpayne@68: 'query': '695', jpayne@68: 'symbol': 'BTK', jpayne@68: 'taxid': 9606}] jpayne@68: jpayne@68: In [12]: mg.querymany([1017, '695'], scopes='entrezgene', species=9606) jpayne@68: Finished. jpayne@68: Out[12]: jpayne@68: [{'_id': '1017', jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'query': '1017', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '695', jpayne@68: 'entrezgene': 695, jpayne@68: 'name': 'Bruton agammaglobulinemia tyrosine kinase', jpayne@68: 'query': '695', jpayne@68: 'symbol': 'BTK', jpayne@68: 'taxid': 9606}] jpayne@68: jpayne@68: In [13]: mg.querymany([1017, '695'], scopes='entrezgene', species=9606, as_dataframe=True) jpayne@68: Finished. jpayne@68: Out[13]: jpayne@68: _id entrezgene name symbol \ jpayne@68: query jpayne@68: 1017 1017 1017 cyclin-dependent kinase 2 CDK2 jpayne@68: 695 695 695 Bruton agammaglobulinemia tyrosine kinase BTK jpayne@68: jpayne@68: taxid jpayne@68: query jpayne@68: 1017 9606 jpayne@68: 695 9606 jpayne@68: jpayne@68: [2 rows x 5 columns] jpayne@68: jpayne@68: In [14]: mg.querymany([1017, '695', 'NA_TEST'], scopes='entrezgene', species='human') jpayne@68: Finished. jpayne@68: Out[14]: jpayne@68: [{'_id': '1017', jpayne@68: 'entrezgene': 1017, jpayne@68: 'name': 'cyclin-dependent kinase 2', jpayne@68: 'query': '1017', jpayne@68: 'symbol': 'CDK2', jpayne@68: 'taxid': 9606}, jpayne@68: {'_id': '695', jpayne@68: 'entrezgene': 695, jpayne@68: 'name': 'Bruton agammaglobulinemia tyrosine kinase', jpayne@68: 'query': '695', jpayne@68: 'symbol': 'BTK', jpayne@68: 'taxid': 9606}, jpayne@68: {'notfound': True, 'query': 'NA_TEST'}] jpayne@68: jpayne@68: # query all human kinases using fetch_all parameter: jpayne@68: In [15]: kinases = mg.query('name:kinase', species='human', fetch_all=True) jpayne@68: In [16]: kinases jpayne@68: Out [16]" jpayne@68: jpayne@68: # kinases is a Python generator, now you can loop through it to get all 1073 hits: jpayne@68: In [16]: for gene in kinases: jpayne@68: ....: print gene['_id'], gene['symbol'] jpayne@68: Out [16]: jpayne@68: jpayne@68: jpayne@68: Contact jpayne@68: ======== jpayne@68: Drop us any question or feedback: jpayne@68: * biothings@googlegroups.com (public discussion) jpayne@68: * help@mygene.info (reach devs privately) jpayne@68: * `Github issues `_ jpayne@68: * on twitter `@mygeneinfo `_ jpayne@68: * Post a question on `BioStars.org `_ with tag #mygene. jpayne@68: jpayne@68: jpayne@68: