Skip to main content

MS²PIP: MS² Peak Intensity Prediction

Project description



GitHub release PyPI Tests Build Open issues Last commit GitHub Twitter

MS²PIP: MS² Peak Intensity Prediction - Fast and accurate peptide fragmention spectrum prediction for multiple fragmentation methods, instruments and labeling techniques.



Introduction

MS²PIP is a tool to predict MS² peak intensities from peptide sequences. The result is a predicted peptide fragmentation spectrum that accurately resembles its observed equivalent. These predictions can be used to validate peptide identifications, generate proteome-wide spectral libraries, or to select discriminative transitions for targeted proteomics. MS²PIP employs the XGBoost machine learning algorithm and is written in Python.

You can install MS²PIP on your machine by following the installation instructions below. For a more user-friendly experience, go to the MS²PIP web server. There, you can easily upload a list of peptide sequences, after which the corresponding predicted MS² spectra can be downloaded in multiple file formats. The web server can also be contacted through the RESTful API.

To generate a predicted spectral library starting from a FASTA file, we developed a pipeline called fasta2speclib. Usage of this pipeline is described on the fasta2speclib wiki page. Fasta2speclib was developed in collaboration with the ProGenTomics group for the MS²PIP for DIA project.

To improve the sensitivity of your peptide identification pipeline with MS²PIP predictions, check out MS²Rescore.

If you use MS²PIP for your research, please cite the following publication:

  • Gabriels, R., Martens, L., & Degroeve, S. (2019). Updated MS²PIP web server delivers fast and accurate MS² peak intensity prediction for multiple fragmentation methods, instruments and labeling techniques. Nucleic Acids Research doi:10.1093/nar/gkz299

Prior MS²PIP publications:

  • Degroeve, S., Maddelein, D., & Martens, L. (2015). MS²PIP prediction server: compute and visualize MS² peak intensity predictions for CID and HCD fragmentation. Nucleic Acids Research, 43(W1), W326–W330. doi:10.1093/nar/gkv542
  • Degroeve, S., & Martens, L. (2013). MS²PIP: a tool for MS/MS peak intensity prediction. Bioinformatics (Oxford, England), 29(24), 3199–203. doi:10.1093/bioinformatics/btt544

Please also take note of, and mention, the MS²PIP version you used.


Installation

install pip install bioconda container

Pip package

With Python 3.6 or higher, run:

pip install ms2pip

Compiled wheels are available for Python 3.6, 3.7, and 3.8, on 64bit Linux, Windows, and macOS. This should install MS²PIP in a few seconds. For other platforms, MS²PIP can be built from source, although it can take a while to compile the large prediction models.

We recommend using a venv or conda virtual environment.

Conda package

Install with activated bioconda and conda-forge channels:

conda install -c defaults -c bioconda -c conda-forge ms2pip

Bioconda packages are only available for Linux and macOS.

Docker container

First check the latest version tag on biocontainers/ms2pip/tags. Then pull and run the container with

docker container run -v <working-directory>:/data -w /data quay.io/biocontainers/ms2pip:<tag> ms2pip <ms2pip-arguments>

where <working-directory> is the absolute path to the directory with your MS²PIP input files, <tag> is the container version tag, and <ms2pip-arguments> are the ms2pip command line options (see Command line interface).

For development

Clone this repository and use pip to install an editable version:

pip install --editable .

Usage

  1. Fast prediction of large amounts of peptide spectra
    1. Command line interface
    2. Python API
    3. Input files
      1. Config file
      2. PEPREC file
      3. Spectrum file (optional)
      4. Examples
    4. Output
  2. Predict and plot a single peptide spectrum

Fast prediction of large amounts of peptide spectra

MS²PIP comes with pre-trained models for a variety of fragmentation methods and modifications. These models can easily be applied by configuring MS²PIP in the config file and providing a list of peptides in the form of a PEPREC file. Optionally, MS²PIP predictions can be compared to observed spectra in an MGF or mzmL file.

Command line interface

To predict a large amount of peptide spectra, use ms2pip:

usage: ms2pip [-h] -c CONFIG_FILE [-s SPECTRUM_FILE] [-w FEATURE_VECTOR_OUTPUT]
       [-r] [-x] [-m] [-t] [-n NUM_CPU]
       [--sqldb-uri SQLDB_URI]
       <PEPREC file>

positional arguments:
  <PEPREC file>         list of peptides

optional arguments:
  -h, --help            show this help message and exit
  -c, --config-file     Configuration file: text-based (extensions `.txt`,
                        `.config`, or `.ms2pip`) or TOML (extension `.toml`).
  -s, --spectrum-file   MGF or mzML spectrum file (optional)
  -w, --vector-file     write feature vectors to FILE.{pkl,h5} (optional)
  -r, --retention-time  add retention time predictions (requires DeepLC python package)
  -x, --correlations    calculate correlations (if spectrum file is given)
  -m, --match-spectra   match peptides to spectra based on predicted spectra (if spectrum file is given)
  -n, --num-cpu         number of CPUs to use (default: all available)
  --sqldb-uri           use sql database of observed spectra instead of spectrum files
  --model-dir           custom directory for downloaded XGBoost model files. By default, `~/.ms2pip` is used.

Python API

The MS2PIP class can be imported from ms2pip.ms2pipC and run as follows:

>>> from ms2pip.ms2pipC import MS2PIP
>>> params = {
...     "ms2pip": {
...         "ptm": [
...             "Oxidation,15.994915,opt,M",
...             "Carbamidomethyl,57.021464,opt,C",
...             "Acetyl,42.010565,opt,N-term",
...         ],
...         "frag_method": "HCD",
...         "frag_error": 0.02,
...         "out": "csv",
...         "sptm": [], "gptm": [],
...     }
... }
>>> ms2pip = MS2PIP("test.peprec", params=params, return_results=True)
>>> predictions = ms2pip.run()

Input files

Config file

Several MS²PIP options need to be set in this config file.

  • model=X where X is one of the currently supported MS²PIP models (see Specialized prediction models).
  • frag_error=X where is X is the fragmentation spectrum mass tolerance in Da (only relevant if a spectrum file is passed).
  • out=X where X is a comma-separated list of a selection of the currently supported output file formats: csv, mgf, msp, spectronaut, or bibliospec (SSL/MS2, also for Skyline). For example: out=csv,msp.
  • ptm=X,Y,opt,Z for every peptide modification where:
    • X is the PTM name and needs to match the names that are used in the PEPREC file). If the --retention_time option is used, PTM names must match the PSI-MOD/Unimod names embedded in DeepLC (see DeepLC documentation).
    • Y is the mass shift in Da associated with the PTM.
    • Z is the one-letter code of the amino acid AA that is modified by the PTM. For N- and C-terminal modifications, Z should be N-term or C-term, respectively.
PEPREC file

To apply the pre-trained models you need to pass only a <PEPREC file> to MS²PIP. This file contains the peptide sequences for which you want to predict peak intensities. The file is space separated and contains at least the following four columns:

  • spec_id: unique id (string) for the peptide/spectrum. This must match the TITLE field in the corresponding MGF file, or nativeID (MS:1000767) in the corresponding mzML file, if given.
  • modifications: Amino acid modifications for the given peptide. 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 modification listed in the Config file. Unmodified peptides are marked with a hyphen (-).
  • peptide: the unmodified amino acid sequence.
  • charge: precursor charge state as an integer (without +).

Peptides must be strictly longer than 2 and shorter than 100 amino acids and cannot contain the following amino acid one-letter codes: B, J, O, U, X or Z. Peptides not fulfilling these requirements will be filtered out and will not be reported in the output.

In the conversion_tools folder, we provide a host of Python scripts to convert common search engine output files to a PEPREC file.

To start from a FASTA file, see fasta2speclib.

Spectrum file (optional)

Optionally, an MGF or mzML file with measured spectra can be passed to MS²PIP. In this case, MS²PIP will calculate correlations between the measured and predicted peak intensities. Make sure that the PEPREC spec_id matches the MGF TITLE field or mzML nativeID. Spectra present in the spectrum file, but missing in the PEPREC file (and vice versa) will be skipped.

Examples

Suppose the config file contains the following lines

model=HCD
frag_error=0.02
out=csv,mgf,msp
ptm=Carbamidomethyl,57.02146,opt,C
ptm=Acetyl,42.010565,opt,N-term
ptm=Glyloss,-58.005479,opt,C-term

then the PEPREC file could look like this:

spec_id modifications peptide charge
peptide1 - ACDEK 2
peptide2 2|Carbamidomethyl ACDEFGR 3
peptide3 0|Acetyl|2|Carbamidomethyl ACDEFGHIK 2

In this example, peptide3 is N-terminally acetylated and carries a carbamidomethyl on its second amino acid.

The corresponding (optional) MGF file can contain the following spectrum:

BEGIN IONS
TITLE=peptide1
PEPMASS=283.11849750978325
CHARGE=2+
72.04434967 0.00419513
147.11276245 0.17418982
175.05354309 0.03652963
...
END IONS

Output

The predictions are saved in the output file(s) specified in the config file. Note that the normalization of intensities depends on the output file format. In the CSV file output, intensities are log2-transformed. To "unlog" the intensities, use the following formula: intensity = (2 ** log2_intensity) - 0.001.

Predict and plot a single peptide spectrum

With ms2pip-single-prediction a single peptide spectrum can be predicted with MS²PIP and plotted with spectrum_utils. For instance,

ms2pip-single-prediction "PGAQANPYSR" "-" 3 --model TMT

results in:

Predicted spectrum

Run ms2pip-single-prediction --help for more details.


Specialized prediction models

MS²PIP contains multiple specialized prediction models, fit for peptide spectra with different properties. These properties include fragmentation method, instrument, labeling techniques and modifications. As all of these properties can influence fragmentation patterns, it is important to match the MS²PIP model to the properties of your experimental dataset.

Currently the following models are supported in MS²PIP: HCD, CID, iTRAQ, iTRAQphospho, TMT, TTOF5600, HCDch2 and CIDch2. The last two "ch2" models also include predictions for doubly charged fragment ions (b++ and y++), next to the predictions for singly charged b- and y-ions.

MS² acquisition information and peptide properties of the models' training datasets

Model Fragmentation method MS² mass analyzer Peptide properties
HCD2019 HCD Orbitrap Tryptic digest
HCD2021 HCD Orbitrap Tryptic/ Chymotrypsin digest
CID CID Linear ion trap Tryptic digest
iTRAQ HCD Orbitrap Tryptic digest, iTRAQ-labeled
iTRAQphospho HCD Orbitrap Tryptic digest, iTRAQ-labeled, enriched for phosphorylation
TMT HCD Orbitrap Tryptic digest, TMT-labeled
TTOF5600 CID Quadrupole Time-of-Flight Tryptic digest
HCDch2 HCD Orbitrap Tryptic digest
CIDch2 CID Linear ion trap Tryptic digest
Immuno-HCD HCD Orbitrap Immunopeptides
CID-TMT CID Linear ion trap Tryptic digest, TMT-labeled

Models, version numbers, and the train and test datasets used to create each model

Model Current version Train-test dataset (unique peptides) Evaluation dataset (unique peptides) Median Pearson correlation on evaluation dataset
HCD2019 v20190107 MassIVE-KB (1 623 712) PXD008034 (35 269) 0.903786
CID v20190107 NIST CID Human (340 356) NIST CID Yeast (92 609) 0.904947
iTRAQ v20190107 NIST iTRAQ (704 041) PXD001189 (41 502) 0.905870
iTRAQphospho v20190107 NIST iTRAQ phospho (183 383) PXD001189 (9 088) 0.843898
TMT v20190107 Peng Lab TMT Spectral Library (1 185 547) PXD009495 (36 137) 0.950460
TTOF5600 v20190107 PXD000954 (215 713) PXD001587 (15 111) 0.746823
HCDch2 v20190107 MassIVE-KB (1 623 712) PXD008034 (35 269) 0.903786 (+) and 0.644162 (++)
CIDch2 v20190107 NIST CID Human (340 356) NIST CID Yeast (92 609) 0.904947 (+) and 0.813342 (++)
HCD2021 v20210416 [Combined dataset] (520 579) PXD008034 (35 269) 0.932361
Immuno-HCD v20210316 [Combined dataset] (460 191) PXD005231 (HLA-I) (46 753)
PXD020011 (HLA-II) (23 941)
0.963736
0.942383
CID-TMT v20220104 [in-house dataset] (72 138) PXD005890 (69 768) 0.851085

To train custom MS²PIP models, please refer to Training new MS²PIP models on our Wiki pages.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ms2pip-3.11.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distributions

ms2pip-3.11.0-cp310-cp310-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

ms2pip-3.11.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ms2pip-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

ms2pip-3.11.0-cp39-cp39-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

ms2pip-3.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ms2pip-3.11.0-cp39-cp39-macosx_10_9_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

ms2pip-3.11.0-cp38-cp38-win_amd64.whl (13.7 MB view details)

Uploaded CPython 3.8 Windows x86-64

ms2pip-3.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ms2pip-3.11.0-cp38-cp38-macosx_10_9_x86_64.whl (14.1 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

ms2pip-3.11.0-cp37-cp37m-win_amd64.whl (13.6 MB view details)

Uploaded CPython 3.7m Windows x86-64

ms2pip-3.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (15.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

ms2pip-3.11.0-cp37-cp37m-macosx_10_9_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file ms2pip-3.11.0.tar.gz.

File metadata

  • Download URL: ms2pip-3.11.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ms2pip-3.11.0.tar.gz
Algorithm Hash digest
SHA256 38feec7962a6b56d15f310df0dbfe7bbb3c88ab8beb4f183e8048e7e2cefa7dd
MD5 f868228e081de6e19949e1a348917c32
BLAKE2b-256 8e2a0cf71d2c4e6c553099eb7a7053881f014a15cbc387da509cbbac09aa1256

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ms2pip-3.11.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 13.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ms2pip-3.11.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c400b29d1c6f4883045e089d56149ab2b3592996d785dc38ed87b947e2ea9d07
MD5 41951e7412edd1981d7d392027618817
BLAKE2b-256 4c42a6119b6f3974a6d197c4e8a9cd71732f11dad5d899dffc42baefeeab0c2f

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 003af504f0edcd2eff9a83382589d3fccde2e5c2a2d3a48602313694b028e089
MD5 adaf10156cae843b54a70504a6ffa722
BLAKE2b-256 37fcc20a50e2fb9a0c011cb8276b1f6b8f368da8d5e07501e09379b51ae53095

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b9916c4bb3bcb672d923336415dfc3805c558454a4f8277b3d9dc28b47537abc
MD5 acf4109b43d565ebce6ac965adaa7e47
BLAKE2b-256 8207256481771abe11fc30a506dc8b3498758a192814e6961d4525f33f4cca67

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ms2pip-3.11.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 13.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ms2pip-3.11.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d65cb8a4c5bc55509c7f21e8b2a75ae6490fef2f656d1b013e71e24f40c16d56
MD5 1bc3d9510a7ca35520bb168808a2bbf7
BLAKE2b-256 2b350300fdd75b6d116a60725614ea99ebf19555c132a05303bfa98bc2bf0115

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e95b27f54729b7f7869ec9e9787fe023e53e68addf2b28fd4f348e2fe677e92
MD5 aeee6e73353e7887fe6309a5cb74a87d
BLAKE2b-256 2070719ca4eb907f0e79472fba7d5626b9ebd06fdc7b957f9ad403537fb4d33c

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4688589e7166484010f6ee51fd3adb6bec6a19a2eeba84f58b63e475620610b5
MD5 0b86039d5e158badec3f170c0822cd45
BLAKE2b-256 64d52e5882d9b2866dfc851aa66c327cbfffc60739dca9f15eeaf22a7ef2fbd1

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: ms2pip-3.11.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 13.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ms2pip-3.11.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c927ce7a5d412f6769bcf7622e8ac5570428b57f021f87c5f95274e97dab5dc4
MD5 f72fe9ce15f5319d1d60ba8cec679667
BLAKE2b-256 828559e173b0d9ad98869d4890614c7392694caf8122bb8bf0df3434f98e988b

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c7fd25de0791193bfbafbbbed1272af40dfa616a2d8f39922d386273fe3b749
MD5 27bb6035407894d9fc016dd1a30e993c
BLAKE2b-256 244406e081c9440487fd37acfcfc834961ba2bae0211abea1bc4d84ab236aef8

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42e534aa0c854be01779e30211583b0230ccfb07880cbe791c065a0b4da50154
MD5 0c977ebe01402932b80a345f8b17376a
BLAKE2b-256 907bb88d22a69c1ef46cce328abae7454ae188724b6c1fa2a39b6dcc474cc218

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: ms2pip-3.11.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for ms2pip-3.11.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d055ec7195a644d3ea573ff5ca846402fc71386bdaccb2de0b24431e71659eee
MD5 5c4fbe781755502a4654515f1edea8f5
BLAKE2b-256 0bc296175a214c1e4e759e065a6179a4937709b94dab16be3cb80da9d49723e6

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fcf127053bbb4a1dd660e015be866c05de7f50d5292d0c5eb4fd7c8ace490ecc
MD5 e51d969277b8f4e14e4b3c0927c8f5b2
BLAKE2b-256 f178931a166bcad2bd18bcb33323900191fd0fe8d46db3bc49e24f7b4536b8dd

See more details on using hashes here.

File details

Details for the file ms2pip-3.11.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for ms2pip-3.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f36d85419be1c36d44497cc807fb1ddb84f50e946e473609948b9ac4bd5fa99c
MD5 003a91e5f7e8f0522e77a96575bdf8e3
BLAKE2b-256 bb28dee1fe2af530ebc119b051c7d02413d4e03b7e3f342f04f3ad72c45f78b3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page