Search- and quantification-engine agnostic biological interpretation of proteomics data
Project description
alphapepttools
Search- and quantification-engine agnostic downstream processing of proteomics data
alphapepttools was made to make your life in proteomics easier!
Functionalities are intended to be as close to pure python as possible, avoiding closed end-to-end implementations, which is reflected in several design choices:
- AnnData is used in favor of a custom data class to enable interoperability with any other tool from the Scverse.
- matplotlib Axes and Figure instances are used for visualization, giving the user full autonomy to layer on custom visualizations with searborn, matplotlib, or any other compatible visualization package.
- Statistical and preprocessing functions are standalone and set with strong defaults, meaning that any function can be used outside of the
alphapepttoolscontext.
Design choices of alphapepttools:
- Data handling:
AnnDatawas chosen as a data container for two main reasons:- For presenting a lightweight, powerful solution to a fundamental challenge with dataframes, which is keeping numerical data and metadata aligned together at all times. Using dataframes, the options are to either include non-numeric metadata columns in the dataframe (complicating data operations) or to add cumbersome multi-level indices and
- For their compatibility with the Scverse, Scanpy and all associated tools, essentially removing the barrier between proteomics and transcriptomics data analysis and enabling multi-omics analyses.
- Plotting: Inspired by the
styliapackage,alphapepttoolsaims to provide a consistent and aesthetically pleasing visual experience for all plots. A core component of this implementation is the fact thatcreate_figurereturns subplots as an iterable data structure, meaning that once the basic layout of a plot is decided, users simply jump from one plot window to the next and populate each one with figure elements. - Standardization: A key consideration of this package is the loading of proteomics data, the biggest painpoint of which is the nonstandard output of various proteomic search engines. By building on
alphabase, we handle this complexity early and provide the user with AnnData objects containing either proteins or precursors, where the familiar Pandas DataFrame is always just a 'df = adata.to_df().join(adata.obs)' away.
Getting started
Please refer to the documentation, in particular, the API documentation.
Installation
You need to have Python 3.10 or newer installed on your system. If you don't have Python installed, we recommend installing Mambaforge.
There are several alternative options to install alphapepttools:
- Install the latest release of
alphapepttoolsfrom PyPI:
pip install alphapepttools
As the package is still under development, consider installing the latest development version with the latest changes, features, and bug fixes:
- Development version
pip install git+https://github.com/MannLabs/alphapepttools.git@main
Installation extras
Depending on your use case, you might want to install specific versions of packages or additional dependencies.
If you want to use alphapepttools in an isolated environment and enforce stringent dependencies, you can install the stable version:
pip install "alphapepttools[stable]"
Note that this installs only a subset of alphapepttools functionality, as it misses
the alphaquant and inmoose packages (required for advanced differential expression analysis).
If you encounter a respective warning, you need to install the full extra option
pip install "alphapepttools[full]" # or [full-stable]
or install the respective packages manually.
For development purposes like running tests, pre-commit hooks, and building the documentation locally, install the optional development dependencies:
git clone https://github.com/MannLabs/alphapepttools.git && cd alphapepttools
pip install -e ".[test, dev]"
Release notes
See the GitHub Release page.
Developer Guide
This document gathers information on how to develop and contribute to the alphapepttools project.
Release process
Tagging of changes
In order to have release notes automatically generated, changes need to be tagged with labels.
The following labels are used (should be safe-explanatory):
breaking-change, bug, enhancement.
Release a new version
This package uses a shared release process defined in the alphashared repository. Please see the instructions there
Contact
For questions and help requests, you can reach out in the scverse discourse. If you found a bug, please use the issue tracker.
Citation
t.b.a
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file alphapepttools-0.1.0-py3-none-any.whl.
File metadata
- Download URL: alphapepttools-0.1.0-py3-none-any.whl
- Upload date:
- Size: 93.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccdc07e522b6817f59f5589292f2ae7ab352b3ef1efd7e11ef1ee55773d499c4
|
|
| MD5 |
498a04c38a873f13067d2772342353e6
|
|
| BLAKE2b-256 |
c613ace77a566fdcece68752b5b1dc14f5b6c116e303c667a264c8fd9369959e
|