<div align="center">
<picture>
<img src="https://i.imgur.com/Y6PmRsQ.jpeg" alt="The Kinase Library" width="50%">
</picture>
<hr/>
# [Click here for The Kinase Library Web Tool](https://kinase-library.phosphosite.org)
<picture>
<img src="https://i.imgur.com/sWUA4Rk.png" alt="The Kinase Library QR Code" width="20%">
</picture>
[![Twitter Follow](https://img.shields.io/twitter/follow/KinaseLibrary?style=social)](https://twitter.com/KinaseLibrary)  
[![License: CC BY-NC-SA 3.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/3.0/)  
[![PyPI Latest Release](https://img.shields.io/pypi/v/kinase-library.svg)](https://pypi.org/project/kinase-library/)
<hr/>
</div>
**The Kinase Library** is a comprehensive Python package for analyzing phosphoproteomics data, focusing on kinase-substrate relationships. It provides tools for kinase prediction, enrichment analysis, and visualization, enabling researchers to gain insights into kinase activities and signaling pathways from phosphoproteomics datasets.
## Features
* **Kinase Prediction**: Predict potential kinases responsible for phosphorylation sites using a built-in kinase-substrate prediction algorithm.
* **Enrichment Analysis**: Perform kinase enrichment analysis using binary enrichment or differential phosphorylation analysis.
* **Motif Enrichment Analysis (MEA)**: Identify kinases potentially regulated in your dataset using MEA with the GSEA algorithm.
* **Visualization**: Generate volcano plots, bubble maps, and other visualizations to interpret enrichment results.
* **Downstream Substrate Identification**: Explore putative downstream substrates of enriched kinases.
## Installation
You can install the package via pip:
```
pip install kinase-library
```
## Getting Started
The Kinase Library package offers several tools for analyzing kinase phosphorylation sites. Below are some basic examples to help you get started. Please refer to [`Notebooks`](https://github.com/TheKinaseLibrary/kinase-library/tree/master/src/notebooks/) for more comprehensive usage.
### Example: Identify kinases capable of phosphorylating a site using `Substrate`
```
import kinase_library as kl
# Create a Substrate object with a target sequence (example: p53 S33)
s = kl.Substrate('PSVEPPLsQETFSDL') # Lowercase 's' indicates a phosphoserine
# Predict potential kinase interactions for the substrate
s.predict()
```
Here’s an example of the output you can expect from using the Substrate.predict() function.
<div style="overflow-x:auto;">
| Kinase | Score | Score Rank | Percentile | Percentile Rank |
| ------- | ------- | ---------- | ---------- | --------------- |
| ATM | 5.0385 | 1 | 99.83 | 1 |
| SMG1 | 4.2377 | 2 | 99.77 | 2 |
| ATR | 3.5045 | 4 | 99.69 | 3 |
| DNAPK | 3.8172 | 3 | 99.21 | 4 |
| FAM20C | 3.1716 | 5 | 95.23 | 5 |
| ... | ... | ... | ... | ... |
| BRAF | -4.4003 | 241 | 7.86 | 305 |
| AKT2 | -5.6530 | 283 | 6.79 | 306 |
| P70S6KB | -3.9915 | 221 | 6.64 | 307 |
| NEK3 | -8.2455 | 309 | 4.85 | 308 |
| P70S6K | -7.2917 | 305 | 4.19 | 309 |
</div>
### Example: Identify kinases capable of phosphorylating a site for multiple sites using `PhosphoProteomics`
Assuming you have a CSV file called "pps_data.csv" containing the following list of phosphosites:
```
uniprot,protein,gene,description,position,residue,best_localization_prob,sequence window
Q15149,PLEC,PLEC,Plectin,113,T,1.000000,MVMPARRtPHVQAVQ
O43865,SAHH2,AHCYL1,S-adenosylhomocysteine hydrolase-like protein 1,29,S,0.911752,EDAEKysFMATVT
Q8WX93,PALLD,PALLD,Palladin,35,S,0.999997,PGLsAFLSQEEINKS
Q96NY7,CLIC6,CLIC6,Chloride intracellular channel protein 6,322,S,1.000000,AGESAGRsPG_____
Q02790,FKBP4,FKBP4,Peptidyl-prolyl cis-trans isomerase FKBP4,336,S,0.999938,PDRRLGKLKLQAFsAXXESCHCGGPSA
```
```
import kinase_library as kl
import pandas as pd
phosphosites_data = pd.read_csv('pps_data.csv')
pps = kl.PhosphoProteomics(phosphosites_data, seq_col='sequence window')
pps.predict(kin_type='ser_thr')
```
This is the expected output from using the PhosphoProteomics.predict() function.
<div style="overflow-x:auto;">
| uniprot | protein | gene | description | position | residue | best_localization_prob | sequence window | phos_res | Sequence | ... | YSK1_percentile | YSK1_percentile_rank | YSK4_score | YSK4_score_rank | YSK4_percentile | YSK4_percentile_rank | ZAK_score | ZAK_score_rank | ZAK_percentile | ZAK_percentile_rank |
| ------- | ------- | ------ | ----------------------------------------------- | -------- | ------- | ---------------------- | --------------------------- | -------- | -------------------- | --- | --------------- | -------------------- | ---------- | --------------- | --------------- | -------------------- | --------- | -------------- | -------------- | ------------------- |
| Q15149 | PLEC | PLEC | Plectin | 113 | T | 1.000000 | MVMPARRtPHVQAVQ | t | MVMPARRtPHVQAVQ | ... | 80.44 | 130 | -3.004 | 249 | 32.17 | 244 | -1.210 | 159 | 80.90 | 128 |
| O43865 | SAHH2 | AHCYL1 | S-adenosylhomocysteine hydrolase-like protein 1 | 29 | S | 0.911752 | EDAEKysFMATVT | s | \_EDAEKYsFMATVT\_ | ... | 63.85 | 150 | -1.431 | 125 | 71.22 | 108 | -1.481 | 129 | 76.87 | 82 |
| Q8WX93 | PALLD | PALLD | Palladin | 35 | S | 0.999997 | PGLsAFLSQEEINKS | s | PGLSAFLsQEEINKS | ... | 11.73 | 250 | -2.567 | 128 | 44.07 | 119 | -4.899 | 228 | 6.80 | 291 |
| Q96NY7 | CLIC6 | CLIC6 | Chloride intracellular channel protein 6 | 322 | S | 1.000000 | AGESAGRsPG\_\_\_\_\_ | s | AGESAGRsPG\_\_\_\_\_ | ... | 52.69 | 134 | -3.300 | 213 | 24.37 | 284 | -2.839 | 182 | 47.81 | 163 |
| Q02790 | FKBP4 | FKBP4 | Peptidyl-prolyl cis-trans isomerase FKBP4 | 336 | S | 0.999938 | PDRRLGKLKLQAFsAXXESCHCGGPSA | s | KLKLQAFsAXXESCH | ... | 46.82 | 216 | -2.265 | 186 | 52.25 | 178 | -3.020 | 240 | 43.29 | 233 |
</div>
## Citations
Please cite the following papers when using this package:
**For the serine/threonine kinome:**
> Johnson, J. L., Yaron, T. M., Huntsman, E. M., Kerelsky, A., Song, J., Regev, A., ... & Cantley, L. C. (2023). **An atlas of substrate specificities for the human serine/threonine kinome**. _Nature_, 613(7945), 759-766. [https://doi.org/10.1074/mcp.TIR118.000943](https://doi.org/10.1038/s41586-022-05575-3)
**For the tyrosine kinome:**
> Yaron-Barir, T. M., Joughin, B. A., Huntsman, E. M., Kerelsky, A., Cizin, D. M., Cohen, B. M., ... & Johnson, J. L. (2024). **The intrinsic substrate specificity of the human tyrosine kinome**. _Nature_, 1-8. [https://doi.org/10.1038/s41586-024-07407-y](https://doi.org/10.1038/s41586-024-07407-y)
**If you are using the MEA tool, please also cite:**
> Fang, Z., Liu, X., & Peltz, G. (2023). **GSEApy: a comprehensive package for performing gene set enrichment analysis in Python**. _Bioinformatics_, 39(1), btac757. [https://doi.org/10.1093/bioinformatics/btac757](https://doi.org/10.1093/bioinformatics/btac757)
## License
This package is distributed under the Creative Commons License. See `LICENSE` for more information.
Raw data
{
"_id": null,
"home_page": null,
"name": "kinase-library",
"maintainer": null,
"docs_url": null,
"requires_python": "<=3.13,>=3.10",
"maintainer_email": null,
"keywords": "kinase, phosphorylation, substrate, motif, substrate specificity, cell signaling, signaling, phosphoproteomics, kinase enrichment, signaling network, kinome, peptide library, phosphosite",
"author": null,
"author_email": "yaront <tmy2110@cumc.columbia.edu>, harinlee0803 <harin.lee@cellsignal.com>, sean-landry <sean.landry@cellsignal.com>",
"download_url": "https://files.pythonhosted.org/packages/0b/04/044a132dedda06d5a11dfde3080367c4db2fd636d218a1b55c519b193533/kinase_library-1.0.3.tar.gz",
"platform": null,
"description": "<div align=\"center\">\n <picture>\n <img src=\"https://i.imgur.com/Y6PmRsQ.jpeg\" alt=\"The Kinase Library\" width=\"50%\">\n </picture>\n\n<hr/>\n\n# [Click here for The Kinase Library Web Tool](https://kinase-library.phosphosite.org)\n\n<picture>\n <img src=\"https://i.imgur.com/sWUA4Rk.png\" alt=\"The Kinase Library QR Code\" width=\"20%\">\n</picture>\n\n[![Twitter Follow](https://img.shields.io/twitter/follow/KinaseLibrary?style=social)](https://twitter.com/KinaseLibrary)  \n[![License: CC BY-NC-SA 3.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%203.0-lightgrey.svg)](https://creativecommons.org/licenses/by-nc-sa/3.0/)  \n[![PyPI Latest Release](https://img.shields.io/pypi/v/kinase-library.svg)](https://pypi.org/project/kinase-library/)\n\n<hr/>\n\n</div>\n\n**The Kinase Library** is a comprehensive Python package for analyzing phosphoproteomics data, focusing on kinase-substrate relationships. It provides tools for kinase prediction, enrichment analysis, and visualization, enabling researchers to gain insights into kinase activities and signaling pathways from phosphoproteomics datasets.\n\n## Features\n\n* **Kinase Prediction**: Predict potential kinases responsible for phosphorylation sites using a built-in kinase-substrate prediction algorithm.\n* **Enrichment Analysis**: Perform kinase enrichment analysis using binary enrichment or differential phosphorylation analysis.\n* **Motif Enrichment Analysis (MEA)**: Identify kinases potentially regulated in your dataset using MEA with the GSEA algorithm.\n* **Visualization**: Generate volcano plots, bubble maps, and other visualizations to interpret enrichment results.\n* **Downstream Substrate Identification**: Explore putative downstream substrates of enriched kinases.\n\n## Installation\n\nYou can install the package via pip:\n\n```\npip install kinase-library\n```\n\n## Getting Started\n\nThe Kinase Library package offers several tools for analyzing kinase phosphorylation sites. Below are some basic examples to help you get started. Please refer to [`Notebooks`](https://github.com/TheKinaseLibrary/kinase-library/tree/master/src/notebooks/) for more comprehensive usage.\n\n### Example: Identify kinases capable of phosphorylating a site using `Substrate`\n\n```\nimport kinase_library as kl\n\n# Create a Substrate object with a target sequence (example: p53 S33)\ns = kl.Substrate('PSVEPPLsQETFSDL') # Lowercase 's' indicates a phosphoserine\n\n# Predict potential kinase interactions for the substrate\ns.predict()\n```\n\nHere\u2019s an example of the output you can expect from using the Substrate.predict() function.\n\n<div style=\"overflow-x:auto;\">\n\n| Kinase | Score | Score Rank | Percentile | Percentile Rank |\n| ------- | ------- | ---------- | ---------- | --------------- |\n| ATM | 5.0385 | 1 | 99.83 | 1 |\n| SMG1 | 4.2377 | 2 | 99.77 | 2 |\n| ATR | 3.5045 | 4 | 99.69 | 3 |\n| DNAPK | 3.8172 | 3 | 99.21 | 4 |\n| FAM20C | 3.1716 | 5 | 95.23 | 5 |\n| ... | ... | ... | ... | ... |\n| BRAF | -4.4003 | 241 | 7.86 | 305 |\n| AKT2 | -5.6530 | 283 | 6.79 | 306 |\n| P70S6KB | -3.9915 | 221 | 6.64 | 307 |\n| NEK3 | -8.2455 | 309 | 4.85 | 308 |\n| P70S6K | -7.2917 | 305 | 4.19 | 309 |\n\n</div>\n\n### Example: Identify kinases capable of phosphorylating a site for multiple sites using `PhosphoProteomics`\n\nAssuming you have a CSV file called \"pps_data.csv\" containing the following list of phosphosites:\n\n```\nuniprot,protein,gene,description,position,residue,best_localization_prob,sequence window\nQ15149,PLEC,PLEC,Plectin,113,T,1.000000,MVMPARRtPHVQAVQ\nO43865,SAHH2,AHCYL1,S-adenosylhomocysteine hydrolase-like protein 1,29,S,0.911752,EDAEKysFMATVT\nQ8WX93,PALLD,PALLD,Palladin,35,S,0.999997,PGLsAFLSQEEINKS\nQ96NY7,CLIC6,CLIC6,Chloride intracellular channel protein 6,322,S,1.000000,AGESAGRsPG_____\nQ02790,FKBP4,FKBP4,Peptidyl-prolyl cis-trans isomerase FKBP4,336,S,0.999938,PDRRLGKLKLQAFsAXXESCHCGGPSA\n```\n\n```\nimport kinase_library as kl\nimport pandas as pd\n\nphosphosites_data = pd.read_csv('pps_data.csv')\npps = kl.PhosphoProteomics(phosphosites_data, seq_col='sequence window')\npps.predict(kin_type='ser_thr')\n```\n\nThis is the expected output from using the PhosphoProteomics.predict() function.\n\n<div style=\"overflow-x:auto;\">\n\n| uniprot | protein | gene | description | position | residue | best_localization_prob | sequence window | phos_res | Sequence | ... | YSK1_percentile | YSK1_percentile_rank | YSK4_score | YSK4_score_rank | YSK4_percentile | YSK4_percentile_rank | ZAK_score | ZAK_score_rank | ZAK_percentile | ZAK_percentile_rank |\n| ------- | ------- | ------ | ----------------------------------------------- | -------- | ------- | ---------------------- | --------------------------- | -------- | -------------------- | --- | --------------- | -------------------- | ---------- | --------------- | --------------- | -------------------- | --------- | -------------- | -------------- | ------------------- |\n| Q15149 | PLEC | PLEC | Plectin | 113 | T | 1.000000 | MVMPARRtPHVQAVQ | t | MVMPARRtPHVQAVQ | ... | 80.44 | 130 | -3.004 | 249 | 32.17 | 244 | -1.210 | 159 | 80.90 | 128 |\n| O43865 | SAHH2 | AHCYL1 | S-adenosylhomocysteine hydrolase-like protein 1 | 29 | S | 0.911752 | EDAEKysFMATVT | s | \\_EDAEKYsFMATVT\\_ | ... | 63.85 | 150 | -1.431 | 125 | 71.22 | 108 | -1.481 | 129 | 76.87 | 82 |\n| Q8WX93 | PALLD | PALLD | Palladin | 35 | S | 0.999997 | PGLsAFLSQEEINKS | s | PGLSAFLsQEEINKS | ... | 11.73 | 250 | -2.567 | 128 | 44.07 | 119 | -4.899 | 228 | 6.80 | 291 |\n| Q96NY7 | CLIC6 | CLIC6 | Chloride intracellular channel protein 6 | 322 | S | 1.000000 | AGESAGRsPG\\_\\_\\_\\_\\_ | s | AGESAGRsPG\\_\\_\\_\\_\\_ | ... | 52.69 | 134 | -3.300 | 213 | 24.37 | 284 | -2.839 | 182 | 47.81 | 163 |\n| Q02790 | FKBP4 | FKBP4 | Peptidyl-prolyl cis-trans isomerase FKBP4 | 336 | S | 0.999938 | PDRRLGKLKLQAFsAXXESCHCGGPSA | s | KLKLQAFsAXXESCH | ... | 46.82 | 216 | -2.265 | 186 | 52.25 | 178 | -3.020 | 240 | 43.29 | 233 |\n\n</div>\n\n## Citations\n\nPlease cite the following papers when using this package:\n\n**For the serine/threonine kinome:**\n> Johnson, J. L., Yaron, T. M., Huntsman, E. M., Kerelsky, A., Song, J., Regev, A., ... & Cantley, L. C. (2023). **An atlas of substrate specificities for the human serine/threonine kinome**. _Nature_, 613(7945), 759-766. [https://doi.org/10.1074/mcp.TIR118.000943](https://doi.org/10.1038/s41586-022-05575-3)\n\n**For the tyrosine kinome:**\n> Yaron-Barir, T. M., Joughin, B. A., Huntsman, E. M., Kerelsky, A., Cizin, D. M., Cohen, B. M., ... & Johnson, J. L. (2024). **The intrinsic substrate specificity of the human tyrosine kinome**. _Nature_, 1-8. [https://doi.org/10.1038/s41586-024-07407-y](https://doi.org/10.1038/s41586-024-07407-y)\n\n**If you are using the MEA tool, please also cite:**\n> Fang, Z., Liu, X., & Peltz, G. (2023). **GSEApy: a comprehensive package for performing gene set enrichment analysis in Python**. _Bioinformatics_, 39(1), btac757. [https://doi.org/10.1093/bioinformatics/btac757](https://doi.org/10.1093/bioinformatics/btac757)\n\n## License\n\nThis package is distributed under the Creative Commons License. See `LICENSE` for more information.\n\n",
"bugtrack_url": null,
"license": "Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported",
"summary": "The Kinase Library Project: a Global Atlas of the Human Protein Kinome",
"version": "1.0.3",
"project_urls": {
"Documentation": "https://kinase-library.readthedocs.io",
"Homepage": "https://kinase-library.phosphosite.org",
"Source": "https://github.com/TheKinaseLibrary/kinase-library"
},
"split_keywords": [
"kinase",
" phosphorylation",
" substrate",
" motif",
" substrate specificity",
" cell signaling",
" signaling",
" phosphoproteomics",
" kinase enrichment",
" signaling network",
" kinome",
" peptide library",
" phosphosite"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5759cbb80f19fc563d4cd32be165c9abef4958ca5d7c83217da922504855178",
"md5": "4fd129de50b8a2f3004cdbfd0cf127c1",
"sha256": "66ab1a5aa0953e62b1ecb6eb1721bd7e8b42139c7a13eaba852a2a7ef44cbd13"
},
"downloads": -1,
"filename": "kinase_library-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4fd129de50b8a2f3004cdbfd0cf127c1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<=3.13,>=3.10",
"size": 69851565,
"upload_time": "2024-12-13T16:19:22",
"upload_time_iso_8601": "2024-12-13T16:19:22.230967Z",
"url": "https://files.pythonhosted.org/packages/f5/75/9cbb80f19fc563d4cd32be165c9abef4958ca5d7c83217da922504855178/kinase_library-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b04044a132dedda06d5a11dfde3080367c4db2fd636d218a1b55c519b193533",
"md5": "97da825b0da28c634f79459758138ea6",
"sha256": "db674765d085c0d7ad1c7cab756a9780327aad56808b6d59e67aabecd9fe5967"
},
"downloads": -1,
"filename": "kinase_library-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "97da825b0da28c634f79459758138ea6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<=3.13,>=3.10",
"size": 69370720,
"upload_time": "2024-12-13T16:19:35",
"upload_time_iso_8601": "2024-12-13T16:19:35.724454Z",
"url": "https://files.pythonhosted.org/packages/0b/04/044a132dedda06d5a11dfde3080367c4db2fd636d218a1b55c519b193533/kinase_library-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-13 16:19:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TheKinaseLibrary",
"github_project": "kinase-library",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "kinase-library"
}