TANDEM SEARCH API

The API for JAEVALEN Search allows for the interrogation of single spectra to identify the sequence from a large data base consisting of all known consensus sequences and known variants together with a multitude of post translational modifications.

Why develop another proteomic search engine?

Advances in LCMS have propelled proteomics towards the forefront of translational biology, approaching the breadth and complexity of large-scale whole genome analysis. However, proteomics remains less well understood due to the vast combinatorial possibilities inherent in protein sequences, post translational modifications, and genetic variation. The JAEVALEN Search Engine utilizes information retrieval, as opposed to all pairwise comparisons, to rank potential sequence matches by precomputing and indexing the entire search space, improving both search speed and statistical accuracy. Several advantages are noted, such as the size of the database has no theoretical limit on performance, and searching occurs on a per spectrum basis with observed recall times less than 100 milliseconds from a database consisting of nearly a billion peptides.

How does the JAEVALEN Search Engine work?

A peptide non-redundant in-silico spectral database is generated from proteotypic rules of digestion and applying all possible combinations of post-translational modifications. This database is then analyzed for the pattern and frequency of predicted fragments to create an indexed database of spectral patterns. Database searching is accomplished by querying a set of precursor and fragment mass values for a given spectrum. Experimental spectra submitted for searches are noise filtered to contain peaks representing charge one monoisotopic values, and mass tolerances for both the precursor and fragments are set to 0.5 Daltons. Potential peptide matches are ranked by a Bayesian inference probabilistic formula, with a final discriminant score applied from a global model similar to current methods.

Current Implementation

The database exposed in this public API is utilizing a March 2019 version of the UniProt/SwissProt database for all organisms, and applying 22 variable modifications. The modifications were chosen as a set that nearly encompassed several areas of research to remain accessible to the widest range of potential users. Contact us if you are interested in using a custom implementation of Jaevalen in your lab.

UniProt - uniprot_sprot.fasta

molecule accounting
proteins 559,634
peptides 32,121,575
peptides w/ ptm 626,474,219

Unimod Modifications

modification sites monisotopic mass unimod id
acetyl N-TERM K 42.010565 1
carbamidomethyl C 57.021464 4
carbamyl K 43.005814 5
carboxymethyl C W 58.005479 6
deamidation R 0.984016 7
phospho S T 79.966331 21
methyl N-TERM 14.01565 34
hydroxylation M 15.994915 35
biotin K 226.077598 3
hexose N S T 162.052824 41
lipoyl K 188.032956 42
hexnac N S T 203.079373 43
farnesyl C 204.187801 44
myristoyl G K 210.198366 45

USAGE

URL

./Tandem/?key=<str_access_key>&pm=<flt_mass_value>&pz=<int_charge_value>&pks=<arr_fragement_mass_values>

Methods

GET or POST Both methods are compatible with either http or https. It is recommended to use https as this encrypts your data and access token.

Request Parameters :: Summary
parameter type usage default accepted note
pm FLOAT required * *
pz INTEGER required * *
pks ARRAY required * * string with + concatenation, limit 32
Request Parameters :: Detail
Responses:
code type content
200 success see example 1
400 bad request { error : "precursor mass (pm) parameter undefined" }
401 unauthorized { error : "key not found" }
429 too many requests { error : "too many requests" }

EXAMPLES

Example 01

A simple example with a single result.

API Call
    http://pub.jvln.io/Tandem/?key=a1b-2c3-e4f-5&pm=569.78&pz=2&pks=175.1+262.1+304.16+361.18+375.17+503.22+508.25+631.32
JSON Out
    {
      "peaks": [
        175.1,
        262.1,
        304.16,
        361.18,
        375.17,
        503.22,
        508.25,
        631.32
      ],
      "precursor_mz": 569.78,
      "precursor_z": 2,
      "result_n": 10,
      "result_time": "549ms",
      "result_data": [
        {
          "peptide": "CASLQKFGER",
          "score": 0.794,
          "precursor_mma": -0.0074,
          "fragment_match": 8,
          "fragment_overlap": 1,
          "fragment_mma_mean": 0.0067
        },
        {
          "peptide": "M[M15.99]PRVFVSR",
          "score": 0.374,
          "precursor_mma": -0.0142,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0317
        },
        {
          "peptide": "[M15.99]MPRVFVSR",
          "score": 0.374,
          "precursor_mma": -0.0142,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0317
        },
        {
          "peptide": "[M15.99]VNFGAQSLR",
          "score": 0.363,
          "precursor_mma": -0.0049,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0423
        },
        {
          "peptide": "LFELQ[C14.02]ESR",
          "score": 0.339,
          "precursor_mma": -0.0039,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0344
        },
        {
          "peptide": "[P42.01]PATVQKLSR",
          "score": 0.304,
          "precursor_mma": -0.0523,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0571
        },
        {
          "peptide": "[E42.01]AHQKQLSR",
          "score": 0.303,
          "precursor_mma": -0.0216,
          "fragment_match": 6,
          "fragment_overlap": 0.75,
          "fragment_mma_mean": 0.0524
        },
        {
          "peptide": "[P42.01]GVVLGRGGER",
          "score": 0.24,
          "precursor_mma": -0.0398,
          "fragment_match": 5,
          "fragment_overlap": 0.625,
          "fragment_mma_mean": 0.0191
        },
        {
          "peptide": "AMTFGRNVDK",
          "score": 0.175,
          "precursor_mma": -0.0074,
          "fragment_match": 5,
          "fragment_overlap": 0.625,
          "fragment_mma_mean": 0.0311
        },
        {
          "peptide": "[P42.01]AALLVQAASR",
          "score": 0.171,
          "precursor_mma": -0.0523,
          "fragment_match": 4,
          "fragment_overlap": 0.5,
          "fragment_mma_mean": 0.0416
        }
      ]
    }