PyPI - Python Version PyPI Conda GitHub release Build Status GitHub issues GitHub

DeepLC: Retention time prediction for (modified) peptides using Deep Learning.


DeepLC is a retention time predictor for (modified) peptides that employs Deep Learning. It’s strength lies in the fact that it can accurately predict retention times for modified peptides, even if hasn’t seen said modification during training.

DeepLC can be run with a graphical user interface (GUI) or as a Python package. In the latter case, DeepLC can be used from the command line, or as a python module.

Graphical user interface


Download GUI

  1. Download from the latest release and unzip.
  2. Install DeepLC GUI with install_gui_windows.bat or, depending on your operating system.
  3. Run DeepLC GUI by running the deeplc_gui.jar.

Python package


install with bioconda install with pip container

Install with conda, using the bioconda and conda-forge channels:
conda install -c bioconda -c conda-forge deeplc

Or install with pip:
pip install deeplc

Command line interface

To use the DeepLC CLI, run:

deeplc --file_pred <path/to/peptide_file.csv>

We highly recommend to add a peptide file with known retention times for calibration:

deeplc --file_pred  <path/to/peptide_file.csv> --file_cal <path/to/peptide_file_with_tr.csv>

For an overview of all CLI arguments, run deeplc --help.

Python module

Minimal example:

import pandas as pd
from deeplc import DeepLC

peptide_file = "datasets/test_pred.csv"
calibration_file = "datasets/test_train.csv"

pep_df = pd.read_csv(peptide_file, sep=",")
pep_df['modifications'] = pep_df['modifications'].fillna("")

cal_df = pd.read_csv(calibration_file, sep=",")
cal_df['modifications'] = cal_df['modifications'].fillna("")

dlc = DeepLC()
preds = dlc.make_preds(seq_df=pep_df)

For a more elaborate example, see examples/ .

Input files

DeepLC expects comma-separated values (CSV) with the following columns:

  • seq: unmodified peptide sequences
  • modifications: MS2PIP-style formatted modifications: Every modification is listed as location|name, separated by a pipe (|) between the location, the name, and other modifications. location is an integer counted starting at 1 for the first AA. 0 is reserved for N-terminal modifications, -1 for C-terminal modifications. name has to correspond to a Unimod (PSI-MS) name.
  • tr: retention time (only required for calibration)

For example:


See examples/datasets for more examples.

Prediction models

DeepLC comes with multiple CNN models trained on data from various experimental settings:

Model filename Experimental settings Publication
full_hc_dia_fixed_mods.hdf5 Reverse phase Rosenberger et al. 2014
full_hc_LUNA_HILIC_fixed_mods.hdf5 HILIC Spicer et al. 2018
full_hc_LUNA_SILICA_fixed_mods.hdf5 HILIC Spicer et al. 2018
full_hc_PXD000954_fixed_mods.hdf5 Reverse phase Rosenberger et al. 2014

By default, DeepLC selects the best model based on the calibration dataset. If no calibration is performed, the first default model is selected. Always keep note of the used models and the DeepLC version.