Skip to content

Commit

Permalink
Notebooks and update requirements (#7)
Browse files Browse the repository at this point in the history
* Downgrading requirement to matplotlib 3.8.3 due to long loading time with matplotlib 3.9

* Updating README

* Updating publishing workflow

* Updating notebooks and adding MEA notebook
  • Loading branch information
yaront authored Dec 5, 2024
1 parent 33fe8a1 commit f165d74
Show file tree
Hide file tree
Showing 10 changed files with 4,320 additions and 1,532 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
run: python -m build
- name: Publish PyPi package
uses: pypa/gh-action-pypi-publish@release/v1
- name: Publish GitHub release
uses: ncipollo/release-action@v1
with:
artifacts: "dist/*.tar.gz"
# - name: Publish GitHub release
# uses: ncipollo/release-action@v1
# with:
# artifacts: "dist/*.tar.gz"
41 changes: 22 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
<div align="center">
<picture>
<img src="./src/notebooks/images/logo_qr_combined.png" alt="The Kinase Library" width="50%">
<img src="https://github.com/TheKinaseLibrary/kinase-library/raw/v1.0.1/src/notebooks/images/logo_qr_combined.png" alt="The Kinase Library" width="50%">
</picture>

<hr/>

# [Click here for The Kinase Library Web Tool](https://kinase-library.phosphosite.org)

[![Twitter Follow](https://img.shields.io/twitter/follow/KinaseLibrary?style=social)](https://twitter.com/KinaseLibrary) &ensp;
[![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/) &ensp;
[![PyPI Latest Release](https://img.shields.io/pypi/v/kinase-library.svg)](https://pypi.org/project/kinase-library/)

</div>

The Kinase Library Python package provides tools for analyzing kinase phosphorylation preferences and predicting substrate specificity. This package is based on recent research that leverages bioinformatics and synthetic peptide libraries to identify potential phosphorylation sites for both Serine/Threonine and Tyrosine kinases. It includes useful functions and analyses, such as:
**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

- **Score Site and Multiple Sites**: Calculate scores for phosphorylation at specific sites or across multiple potential sites.
- **Binary Enrichment Analysis**: Kinase enrichment analysis based on Fisher's exact test for foreground and background substrate lists
- **Differential Phosphorylation Analysis**: Kinase enrichment analysis based on Fisher's exact test for differentially phosphorylated phosphosites
* **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

Expand All @@ -27,7 +33,7 @@ pip install kinase-library

## Getting Started

The Kinase Library package offers several tools for analyzing kinase phosphorylation sites. Below are some examples to help you get started. See [`src/notebooks`](https://github.com/TheKinaseLibrary/kinase-library/tree/master/src/notebooks/) for more comprehensive usage.
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`

Expand Down Expand Up @@ -63,7 +69,7 @@ Here’s an example of the output you can expect from using the Substrate.predic

### Example: Identify kinases capable of phosphorylating a site for multiple sites using `PhosphoProteomics`

Let's say you have a CSV file called "pps_data.csv" containing the following list of phosphosites:
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
Expand All @@ -78,12 +84,12 @@ Q02790,FKBP4,FKBP4,Peptidyl-prolyl cis-trans isomerase FKBP4,336,S,0.999938,PDRR
import kinase_library as kl
import pandas as pd
phosphosites_data = pd.read_csv("pps_data.csv")
phosphosites_data = pd.read_csv('pps_data.csv')
pps = kl.PhosphoProteomics(phosphosites_data, seq_col='sequence window')
pps.predict(kin_type='ser_thr')
```

Here’s an example of the output you can expect from using the PhosphoProteomics.predict() function.
This is the expected output from using the PhosphoProteomics.predict() function.

<div style="overflow-x:auto;">

Expand All @@ -101,18 +107,15 @@ Here’s an example of the output you can expect from using the PhosphoProteomic

Please cite the following papers when using this package:

- "An atlas of substrate specificities for the human serine/threonine kinome"
Johnson, J.L., et al., Nature, 2023 Jan 11; 613, 759–766; DOI: [10.1038/s41586-022-05575-3](https://doi.org/10.1038/s41586-022-05575-3)
**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. [http://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)
- "The intrinsic substrate specificity of the human tyrosine kinome"
Yaron-Barir, T.M., et al., Nature, 2024 May 8; 629, 1174-1181; DOI: [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.
## License

This package is distributed under the Creative Commons License. See `LICENSE` for more information.

## Contributors

<a href="https://github.com/TheKinaseLibrary/kinase-library/graphs/contributors" alt="View Contributors">
<img src="https://contrib.rocks/image?repo=TheKinaseLibrary/kinase-library&max=1000&columns=10" alt="Contributors" />
</a>
Loading

0 comments on commit f165d74

Please sign in to comment.