Giter Site home page Giter Site logo

y-tagawa / prosit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kusterlab/prosit

0.0 0.0 0.0 54 KB

Prosit offers high quality MS2 predicted spectra for any organism and protease as well as iRT prediction. When using Prosit is helpful for your research, please cite "Gessulat, Schmidt et al. 2019" DOI 10.1038/s41592-019-0426-7

Home Page: https://www.proteomicsdb.org/prosit/

License: Apache License 2.0

Dockerfile 0.57% Makefile 1.63% Python 97.80%

prosit's Introduction

Prosit

Prosit is a deep neural network to predict iRT values and MS2 spectra for given peptide sequences. You can use it at proteomicsdb.org/prosit/ without installation.

CLA assistant

Hardware

Prosit requires

Installation

Prosit requires

Prosit was tested on Ubuntu 16.04, CUDA 8.0, CUDNN 6 with Nvidia Tesla K40c and Titan Xp graphic cards with the dependencies above.

The time installation takes is dependent on your download speed (Prosit downloads a 3GB docker container). In our tests installation time is ~5 minutes.

Model

Prosit assumes your models are in directories that look like this:

  • model.yml - a saved keras model
  • config.yml - a model specifying names of inputs and outputs of the model
  • weights file(s) - that follow the template weights_{epoch}_{loss}.hdf5

You can download pre-trained models for HCD fragmentation prediction and iRT prediction on https://figshare.com/projects/Prosit/35582.

Usage

The following command will load your model from /path/to/model/. In the example GPU device 0 is used for computation. The default PORT is 5000.

make server MODEL_SPECTRA=/path/to/fragmentation_model/ MODEL_IRT=/path/to/irt_model/

Currently two output formats are supported: a MaxQuant style msms.txt not including the iRT value and a generic text file (that works with Spectronaut)

Example

Please find an example input file at example/peptidelist.csv. After starting the server you can run the following commands, depending on what output format you prefer:

curl -F "peptides=@examples/peptidelist.csv" http://127.0.0.1:5000/predict/generic

curl -F "peptides=@examples/peptidelist.csv" http://127.0.0.1:5000/predict/msp

curl -F "peptides=@examples/peptidelist.csv" http://127.0.0.1:5000/predict/msms

The examples take about 4s to run. Expected output files (.generic, .msp and .msms) can be found in examples/.

Using Prosit on your data

You can adjust the example above to your own needs. Send any list of (Peptide, Precursor charge, Collision energy) in the format of /example/peptidelist.csv to a running instance of the Prosit server.

Please note: Sequences with amino acid U, O, or X are not supported. Modifications except "M(ox)" are not supported. Each C is treated as Cysteine with carbamidomethylation (fixed modification in MaxQuant).

Pseudo-code

  1. Load the models given as in the MODEL_X environment variables
  2. Start a server and wait for inputs
  3. On incomming request
    • transform peptide list to model input format (numpy arrays)
    • predict fragment intensity and iRT with the loaded models for the given peptides
    • transform prediction to the requested output format and return response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.