# PepMEASURE: Methods for Extraction of Amino Acid Sequence Representations

[![PyPI](https://img.shields.io/pypi/v/pepmeasure.svg)](https://pypi.org/project/pepmeasure/)
[![CI](https://github.com/cschlaffner/pepmeasure/actions/workflows/ci.yml/badge.svg)](https://github.com/cschlaffner/pepmeasure/actions/workflows/ci.yml)
[![Coverage badge](https://github.com/cschlaffner/pepmeasure/raw/python-coverage-comment-action-data/badge.svg)](https://github.com/cschlaffner/pepmeasure/tree/python-coverage-comment-action-data/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

PepMEASURE (**M**ethods for **E**xtraction of **A**mino Acid **S**equence **RE**presentations) is an open-source Python library that provides methods for computing a wide range of peptide features, including sequence composition, charge, hydrophobicity, and other physicochemical properties. All features can be calculated on an entire dataset or on a single peptide sequence of interest. Additionally, PepMEASURE offers a selection of visualisations, such as hydropathy profile or amino acid classification. <br>
This work was conducted as part of the project 'Veni, Vidi, Visualization: Improving Analysis Communication for a Million-Dollar Machine' at the Data Analytics and Computational Statistics Chair, Hasso Plattner Institute.

| 💻 Python library                                | 📊 Web application                                   | Miscellaneous                                                          |
| ------------------------------------------------ | ---------------------------------------------------- | ---------------------------------------------------------------------- |
| [Installation](#installation)<br>[Usage](#usage) | [Installation](#installation-1)<br>[Usage](#usage-1) | [Third-party resources](#third-party-resources)<br>[License](#license) |

# 💻 Python library

## Installation

1. Make sure you have [pip](https://pip.pypa.io/en/stable/installation/) installed
2. Install PepMEASURE <br>
   `pip install pepmeasure`
3. Import and use PepMEASURE in your project!

## Usage

1. Initialize a calculator instance
   ```
   import pandas as pd
   from pepmeasure import Calculator
   calc = Calculator(
      dataset=pd.read_csv("data/peptides.csv"),
      metadata=pd.read_csv("data/metadata.csv"),
      seq="SVIDQSRVLNLGPITR",
   )
   ```
2. Select desired features and plots with related parameters
   ```
   calc.set_feature_params(
      gravy=True,
      molecular_weight=True,
   )
   calc.set_plot_params(
      hydropathy_profile=True,
      classification=True,
      classification_classify_by="charge",
   )
   ```
3. Compute and show results
   ```
   print(calc.get_features())
   plots = calc.get_plots()
   for plot in plots:
      plot.show()
   ```

# 📊 Web application

https://pepmeasure.org
[...]

<br><br>

## Third-party resources

| Type    | Name                                                           | DOI                                                                  | Saved in                                         |
| ------- | -------------------------------------------------------------- | -------------------------------------------------------------------- | ------------------------------------------------ |
| Dataset | Urinary peptidomics in youths with and without type 1 diabetes | [10.1074/mcp.RA119.001858](https://doi.org/10.1074/mcp.RA119.001858) | - `/data/peptides.csv`<br>- `/data/metadata.csv` |
| Code    | Isoelectric Point Calculator 2.0                               | [10.1093/nar/gkab295](https://doi.org/10.1093/nar/gkab295)           | - `/src/pepmeasure/external/ipc-2.0.1`              |

## License

This project is licensed under the [MIT License](./LICENSE).
