AlphaPept: a modern and open framework for MS-based proteomics
Be sure to check out other packages of our ecosystem:
New Experiment
, select a folder with raw files and FASTA
files.Settings
.Start
and run the analysis.See also below for more detailed instructions.
Feature | Implemented |
---|---|
Type | DDA |
Filetypes | Bruker, Thermo |
Quantification | LFQ |
Isobaric labels | None |
Platform | Windows |
Linux and macOS should, in principle, work but are not heavily tested and might require additional work to set up (see detailed instructions below). To read Thermo files, we use Mono, which can be used on Mac and Linux. For Bruker files, we can use Linux but not yet macOS.
We highly recommend the Anaconda or Miniconda Python distribution, which comes with a powerful package manager. See below for additional instructions for Linux and Mac as they require additional installation of Mono to use the RawFileReader.
AlphaPept can be used as an application as a whole or as a Python Package where individual modules are called. Depending on the use case, AlphaPept will need different requirements, and you might not want to install all of them.
Currently, we have the default requirements.txt
, additional
requirements to run the GUI gui
and packages used for developing
develop
.
Therefore, you can install AlphaPept in multiple ways:
alphapept
alphapept[gui]
alphapept[develop]
(alphapept[develop,gui]
) respectivelyThe requirements typically contain pinned versions and will be
automatically upgraded and tested with dependabot
. This stable
version allows having a reproducible workflow. However, in order to
avoid conflicts with package versions that are too strict, the
requirements are not pinned when being installed. To use the strict
version use the -stable
-flag, e.g. alphapept[stable]
.
For end-users that want to set up a processing environment in Python,
the "alphapept[stable,gui-stable]"
is the batteries-included
-version
that you want to use.
It is strongly recommended to install AlphaPept in its own
environment. 1. Open the console and create a new conda environment:
conda create --name alphapept python=3.8
2. Activate the environment:
conda activate alphapept
3. Install AlphaPept via pip:
pip install "alphapept[stable,gui-stable]"
. If you want to use
AlphaPept as a package without the GUI dependencies and without strict
version dependencies, use pip install alphapept
.
If AlphaPept is installed correctly, you should be able to import AlphaPept as a package within the environment; see below.
sudo apt-get install build-essential
.pip install "alphapept[stable,gui-stable]"
. If you want to use
AlphaPept as a package withouth the GUI dependencies and strict
version dependencies use pip install alphapept
.sudo apt-get install libgomp1
.sudo cp alphapept/ext/bruker/FF/linux64/alphapeptlibtbb.so.2 /usr/lib/libtbb.so.2
.pip install pythonnet>=2.5.2
pip install "alphapept[stable,gui-stable]"
. If you want to use
AlphaPept as a package withouth the GUI dependencies and strict
version dependencies use pip install alphapept
.Only supported for preprocessed files.
brew install pkg-config
cd
to navigate to the home directory.nano ~/.zshrc
to open the configuration of the terminalexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:/Library/Frameworks/Mono.framework/Versions/Current/lib/pkgconfig:$PKG_CONFIG_PATH
.
Make sure that the Path matches to your version (Here 6.12.0). ~/.zshrc
pip install pythonnet>=2.5.2
git clone https://github.com/MannLabs/alphapept.git
cd alphapept
and install the
package with pip install .
(default users) or with
pip install -e .
to enable developers mode. Note that you can use
the different requirements here aswell
(e.g. pip install ".[gui-stable]"
)Some functionality of AlphaPept is GPU optimized that uses Nvidia’s CUDA. To enable this, additional packages need to be installed.
nvcc --version
in your
terminal.pip install cupy-cuda110
for CUDA toolkit 11.0.To access Thermo files, we have integrated RawFileReader into AlphaPept. We rely on Mono for Linux/Mac systems.
To access Bruker files, we rely on the
timsdata
-library. Currently, only Windows is supported. For feature finding, we use the Bruker Feature Finder, which can be found in theext
folder of this repository.
http://localhost:8888/nbextensions
. The extensions
collapsible headings
and toc2
are very beneficial.To use AlphaPept as a stand-alone program for end-users, it can be installed on Windows machines via a one-click installer. Download the latest version here.
It is possible to run AlphaPept in a docker container. For this, we
provide two Dockerfiles: Dockerfile_thermo
and Dockerfile_bruker
,
depending on which filetypes you want to analyse. They are split because
of drastically different requirements.
To run, navigate to the AlphaPept repository and rename the dockerfile
you want to use, e.g. Dockerfile_thermo
to Dockerfile
.
docker build -t docker-alphapept:latest .
docker run -p 8505:8505 -v /Users/username/Desktop/docker:/home/alphapept/ docker-alphapept:latest alphapept gui
(Note that -v maps a local folder for convient file transfer)localhost:8505
in your browser.docker run -p 8888:8888 -v /Users/username/Desktop/docker:/home/jovyan/ docker-alphapept:latest jupyter notebook --allow-root
--platform linux/amd64
. However, it was very slow and the Bruker
file is not recommended for an M1-Mac. Windows worked nicely.The documentation is automatically built based on the jupyter notebooks (nbs/index.ipynb) and can be found here:
An overview of the performance of different versions can be found here. We re-run multiple tests on datasets for different versions so that users can assess what changes from version to version. Feel free to suggest a test set in case.
AlphaPept is meant to be a framework to implement and test new ideas quickly but also to serve as a performant processing pipeline. In principle, there are three use-cases:
For the windows
installation,
simply click on the shortcut after installation. The windows
installation also installs the command-line tool so that you can call
alphapept via alphapept
in the command line.
Once AlphaPept is correctly installed, you can use it like any other python module.
from alphapept.fasta import get_frag_dict, parse
from alphapept import constants
peptide = 'PEPT'
get_frag_dict(parse(peptide), constants.mass_dict)
{'b1': 98.06004032687,
'b2': 227.10263342687,
'b3': 324.15539728686997,
'y1': 120.06551965033,
'y2': 217.11828351033,
'y3': 346.16087661033}
If alphapept is installed an a conda or virtual environment, launch this environment first.
To launch the command line interface use: * alphapept
This allows us to select different modules. To start the GUI use: *
alphapept gui
To run a workflow, use: * alphapept workflow your_own_workflow.yaml
An example workflow is easily generated by running the GUI once and
saving the settings which can be modified on a per-project basis.
default_settings.yaml
in the repository or using the GUI.alphapept run new_settings.yaml
Within Python (i.e., Jupyter notebook) the following code would be required)
from alphapept.settings import load_settings
import alphapept.interface
settings = load_settings('new_settings.yaml')
r = alphapept.interface.run_complete_workflow(settings)
This also allows you to break the workflow down in indiviudal steps, e.g.:
settings = alphapept.interface.import_raw_data(settings)
settings = alphapept.interface.feature_finding(settings)
Within the notebooks, we try to cover most aspects of a proteomics workflow:
If you have a feature request or a bug report, please post it either as an idea in the discussions or as an issue on the GitHub issue tracker. Upvoting features in the discussions page will help to prioritize what to implement next. If you want to contribute, put a PR for it. You can find more guidelines for contributing and how to get started here. We will gladly guide you through the codebase and credit you accordingly. Additionally, you can check out the Projects page on GitHub. You can also contact us via opensource@alphapept.com.
If you like the project, consider starring it!
If you use this project in your research, please cite:
Strauss, M.T., Bludau, I., Zeng, WF. et al. AlphaPept: a modern and open framework for MS-based proteomics. Nat Commun 15, 2168 (2024). https://doi.org/10.1038/s41467-024-46485-4