Skip to main content

GitHub Release Versions License GitHub Actions Workflow Status GitHub Actions Workflow Status Downloads Downloads

QuantSelect

An open-source Python package of the AlphaPept ecosystem from the Mann Labs at the Max Planck Institute of Biochemistry and the University of Copenhagen. To enable all hyperlinks in this document, please view it at GitHub.


About

An open-source Python package of the AlphaPept ecosystem from the Mann Labs at the Max Planck Institute of Biochemistry and the University of Copenhagen.

Deep Learning Workflow for Quality Scoring and Protein Intensity Estimation

Figure: Deep learning workflow for quality scoring and protein intensity estimation. The system takes mass spectrometry features as input, uses a neural network to predict quality scores, and leverages these scores to improve protein intensity estimation accuracy by distinguishing between high and low-quality measurements.


License

QuantSelect was developed by the Mann Labs at the Max Planck Institute of Biochemistry and the University of Copenhagen and is freely available with an Apache License. External Python packages (available in the requirements folder) have their own licenses, which can be consulted on their respective websites.


Installation

QuantSelect can be installed and used on all major operating systems (Windows, macOS and Linux). There are two different types of installation possible:

  • Pip installer: Choose this installation if you want to use QuantSelect as a Python package in an existing Python 3.9+ environment (e.g. a Jupyter notebook). The CLI can be installed with pip as well.
  • Developer installer: Choose this installation if you are familiar with CLI tools, conda and Python. This installation allows access to all available features of QuantSelect and even allows to modify its source code directly. Generally, the developer version of QuantSelect outperforms the precompiled versions which makes this the installation of choice for high-throughput experiments.

Pip

QuantSelect can be installed in an existing Python 3.9+ environment with a single bash command. This bash command can also be run directly from within a Jupyter notebook by prepending it with a !:

pip install QuantSelect

Installing QuantSelect like this avoids conflicts when integrating it in other tools, as this does not enforce strict versioning of dependancies. However, if new versions of dependancies are released, they are not guaranteed to be fully compatible with QuantSelect. While this should only occur in rare cases where dependencies are not backwards compatible, you can always force QuantSelect to use dependancy versions which are known to be compatible with:

pip install "QuantSelect[stable]"

NOTE: You might need to run pip install pip==21.0 before installing QuantSelect like this. Also note the double quotes ".

For those who are really adventurous, it is also possible to directly install any branch (e.g. @development) with any extras (e.g. #egg=QuantSelect[stable,development-stable]) from GitHub with e.g.

pip install "git+https://github.com/MannLabs/QuantSelect.git@development#egg=QuantSelect[stable,development-stable]"

Developer

QuantSelect can also be installed in editable (i.e. developer) mode with a few bash commands. This allows to fully customize the software and even modify the source code to your specific needs. When an editable Python package is installed, its source code is stored in a transparent location of your choice. While optional, it is advised to first (create and) navigate to e.g. a general software folder:

mkdir ~/folder/where/to/install/software
cd ~/folder/where/to/install/software

The following commands assume you do not perform any additional cd commands anymore.

Next, download the QuantSelect repository from GitHub either directly or with a git command. This creates a new QuantSelect subfolder in your current directory.

git clone https://github.com/MannLabs/QuantSelect.git

For any Python package, it is highly recommended to use a separate conda virtual environment, as otherwise dependancy conflicts can occur with already existing packages.

conda create --name QuantSelect python=3.9 -y
conda activate QuantSelect

Finally, QuantSelect and all its dependancies need to be installed. To take advantage of all features and allow development (with the -e flag), this is best done by also installing the development dependencies instead of only the core dependencies:

pip install -e "./QuantSelect[development]"

By default this installs loose dependancies (no explicit versioning), although it is also possible to use stable dependencies (e.g. pip install -e "./QuantSelect[stable,development-stable]").

By using the editable flag -e, all modifications to the QuantSelect source code folder are directly reflected when running QuantSelect. Note that the QuantSelect folder cannot be moved and/or renamed if an editable version is installed. In case of confusion, you can always retrieve the location of any Python module with e.g. the command import module followed by module.__file__.


Usage

There are two ways to use QuantSelect:

NOTE: The first time you use a fresh installation of QuantSelect, it is often quite slow because some functions might still need compilation on your local operating system and architecture. Subsequent use should be a lot faster.

CLI

The CLI can be run with the following command (after activating the conda environment with conda activate QuantSelect or if an alias was set to the QuantSelect executable):

QuantSelect -h

It is possible to get help about each function and their (required) parameters by using the -h flag.

Python and Jupyter notebooks

QuantSelect can be imported as a Python package into any Python script or notebook with the command import QuantSelect.

A brief Jupyter notebook tutorial on how to use the API is also present in the nbs folder.


Troubleshooting

In case of issues, check out the following:

  • Issues: Try a few different search terms to find out if a similar problem has been encountered before
  • Discussions: Check if your problem or feature requests has been discussed before.

Citations

There are currently no plans to draft a manuscript.


How to contribute

If you like this software, you can give us a star to boost our visibility! All direct contributions are also welcome. Feel free to post a new issue or clone the repository and create a pull request with a new branch. For an even more interactive participation, check out the discussions and the the Contributors License Agreement.


Changelog

See the HISTORY.md for a full overview of the changes made in each version.

Metadata

Release files for quantselect 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quantselect 0.1.3
File Size Uploaded
quantselect-0.1.3.tar.gz 181.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quantselect 0.1.3
File Interpreter ABI Platform
quantselect-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 256.8 kB

Release files / quantselect-0.1.3.tar.gz

Download URL quantselect-0.1.3.tar.gz
Size 181.6 kB
Tags Source
SHA-256 checksum
How to use checksums
f44f21078a857f6293f28d82f449654bde11b972fae516dde5b7e471d5f8b5b6
BLAKE2b-256 checksum
How to use checksums
a5f2f62d82af3006c6b7c4c8b8e965c91fe71c38365dfc36796ea92296918a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / quantselect-0.1.3-py3-none-any.whl

Download URL quantselect-0.1.3-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
769a81c7098efaf52a1138b44b692b65e93dfc0d8270e3483fbe95f19918f5ec
BLAKE2b-256 checksum
How to use checksums
603258feae1abaeaf6b5686154175fe296aecb0d00707ce72501c251431fc784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page