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