GPMDB REST

From TheGPMWiki
(Difference between revisions)
Jump to: navigation, search
(GET /protein/description/acc=ACCESSION)
Line 19: Line 19:
   input: none
   input: none
-
  return: a text description of this interface
+
  return: a text description of the current REST interface
-
Example: [http://gpmdb.thegpm.org/1/interface/help http://gpmdb.thegpm.org/1/interface/help].
+
Example: find help information through the interface:
 +
 
 +
[http://gpmdb.thegpm.org/1/interface/help http://gpmdb.thegpm.org/1/interface/help].
===GET /interface/version===
===GET /interface/version===
Line 28: Line 30:
  return: the version number of the REST interface
  return: the version number of the REST interface
-
Example: [http://gpmdb.thegpm.org/1/interface/version http://gpmdb.thegpm.org/1/interface/version].
+
Example: find the current REST interface version number
 +
 
 +
[http://gpmdb.thegpm.org/1/interface/version http://gpmdb.thegpm.org/1/interface/version].
==/protein/ methods==
==/protein/ methods==
Line 40: Line 44:
  return: the log10(E) for the best observation of ACCESSION
  return: the log10(E) for the best observation of ACCESSION
-
Example: [http://gpmdb.thegpm.org/1/protein/best_e/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/best_e/acc=ENSMUSP00000026459].
+
Example: retrieve the lowest E value for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/best_e/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/best_e/acc=ENSMUSP00000026459].
===GET /protein/count/acc=ACCESSION===
===GET /protein/count/acc=ACCESSION===
Line 47: Line 53:
  return: the total number of observations of ACCESSION
  return: the total number of observations of ACCESSION
-
Example: [http://gpmdb.thegpm.org/1/protein/count/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/count/acc=ENSMUSP00000026459]
+
Example: retrieve the number of time ENSMUSP00000026459 has been observed: [http://gpmdb.thegpm.org/1/protein/count/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/count/acc=ENSMUSP00000026459]
===GET /protein/description/acc=ACCESSION===
===GET /protein/description/acc=ACCESSION===
Line 54: Line 60:
  return: the log10(E) for the best observation of ACCESSION
  return: the log10(E) for the best observation of ACCESSION
-
Example: [http://gpmdb.thegpm.org/1/protein/description/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/description/acc=ENSMUSP00000026459]
+
Example: retrieve a text description of ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/description/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/description/acc=ENSMUSP00000026459]
===GET /protein/modifications/acc=ACCESSION&mod=MODMASS&res=LISTOFRESIDUES&maxe=MAXIMUMEXPECTION===
===GET /protein/modifications/acc=ACCESSION&mod=MODMASS&res=LISTOFRESIDUES&maxe=MAXIMUMEXPECTION===
Line 66: Line 74:
                 num1 is the number of times modified pos1 has been observed
                 num1 is the number of times modified pos1 has been observed
-
Example: [http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSMUSP00000026459&mod=80&res=STY&maxe=-2.0 http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSMUSP00000026459&mod=80&res=STY&maxe=-2.0]
+
Example: retrieve the phosphorylated residues for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSMUSP00000026459&mod=80&res=STY&maxe=-2.0 http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSMUSP00000026459&mod=80&res=STY&maxe=-2.0]
===GET /protein/peptide_count/acc=ACCESSION&seq=SEQUENCE===
===GET /protein/peptide_count/acc=ACCESSION&seq=SEQUENCE===
Line 75: Line 85:
         in ACCESSION, by parent ion charge state
         in ACCESSION, by parent ion charge state
-
Example: [http://gpmdb.thegpm.org/1/protein/peptide_count/acc=ENSMUSP00000026459&seq=LDATTVLSR http://gpmdb.thegpm.org/1/peptide_count/acc=ENSMUSP00000026459&seq=GLDATTVLSR]
+
Example: retrieve the number of times LDATTVLSR was observed for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/peptide_count/acc=ENSMUSP00000026459&seq=LDATTVLSR http://gpmdb.thegpm.org/1/peptide_count/acc=ENSMUSP00000026459&seq=LDATTVLSR]
===GET /protein/peptide_sequences/acc=ACCESSION===
===GET /protein/peptide_sequences/acc=ACCESSION===
Line 82: Line 94:
  return: a comma-separated tuple of all peptides observed for ACCESSION
  return: a comma-separated tuple of all peptides observed for ACCESSION
-
Example: [http://gpmdb.thegpm.org/1/protein/peptide_sequences/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptide_sequences/acc=ENSMUSP00000026459]
+
Example: retrieve the peptide sequences observed for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/peptide_sequences/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptide_sequences/acc=ENSMUSP00000026459]
===GET /protein/peptides_z/acc=ACCESSION===
===GET /protein/peptides_z/acc=ACCESSION===
Line 90: Line 104:
         of ACCESSION, by parent ion charge state.
         of ACCESSION, by parent ion charge state.
-
Example: [http://gpmdb.thegpm.org/1/protein/peptides_z/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptides_z/acc=ENSMUSP00000026459]
+
Example: retrieve the number of peptide observations by parent ion charge state for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/peptides_z/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptides_z/acc=ENSMUSP00000026459]
===GET /protein/peptides_total/acc=ACCESSION===
===GET /protein/peptides_total/acc=ACCESSION===
Line 97: Line 113:
  return: number of observations of peptides associated with the reference protein
  return: number of observations of peptides associated with the reference protein
-
Example: [http://gpmdb.thegpm.org/1/protein/peptides_total/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptides_total/acc=ENSMUSP00000026459]
+
Example: retrieve the total number of peptide observationsfor ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/peptides_total/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/peptides_total/acc=ENSMUSP00000026459]
===GET /protein/sequence/acc=ACCESSION===
===GET /protein/sequence/acc=ACCESSION===
Line 104: Line 122:
  return: the single-letter amino acid sequence of the referenced protein
  return: the single-letter amino acid sequence of the referenced protein
-
Example: [http://gpmdb.thegpm.org/1/protein/sequence/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/sequence/acc=ENSMUSP00000026459]
+
Example: retrieve the protein sequence for ENSMUSP00000026459
 +
 
 +
[http://gpmdb.thegpm.org/1/protein/sequence/acc=ENSMUSP00000026459 http://gpmdb.thegpm.org/1/protein/sequence/acc=ENSMUSP00000026459]
==Comments and suggestions==
==Comments and suggestions==

Revision as of 15:30, 13 June 2012

This document is a request for comment on a proposed new REST interface for GPMDB. The RFC process began on June 11, 2012 and will end on September 10, 2012.

The purpose of the RFC is to define a straightforward REST (REpresentational State Transfer) interface to commonly required information based on the data in GPMDB. This interface will provide simple, non-SQL methods to extract this information and make it available over the Internet to anyone wishing to use it as part of an network-aware application.

Contents

Conventions

The following statements refer to all methods and description given below:

  1. all GETs are made to the base URL "http://gpmdb.thegpm.org/1";
  2. all protein and peptide sequences are expressed in single letter code;
  3. protein accession numbers use the same format as normally used in GPMDB; and
  4. all "tuples" are returned as comma-separated text strings.

/interface/ methods

Interface methods give the programmer access to information about the current state of the REST interface.

GET /interface/help

 input: none
return: a text description of the current REST interface

Example: find help information through the interface:

http://gpmdb.thegpm.org/1/interface/help.

GET /interface/version

 input: none
return: the version number of the REST interface

Example: find the current REST interface version number

http://gpmdb.thegpm.org/1/interface/version.

/protein/ methods

Protein methods give the programmer access of information about the proteins currently stored in GPMDB. All protein methods require an appropriate protein accession number to identify the protein sequence being queried.

GET /protein/best_e/acc=ACCESSION

 input: accession number for the protein of interest
return: the log10(E) for the best observation of ACCESSION

Example: retrieve the lowest E value for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/best_e/acc=ENSMUSP00000026459.

GET /protein/count/acc=ACCESSION

 input: accession number for the protein of interest
return: the total number of observations of ACCESSION

Example: retrieve the number of time ENSMUSP00000026459 has been observed: http://gpmdb.thegpm.org/1/protein/count/acc=ENSMUSP00000026459

GET /protein/description/acc=ACCESSION

 input: accession number for the protein of interest
return: the log10(E) for the best observation of ACCESSION

Example: retrieve a text description of ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/description/acc=ENSMUSP00000026459

GET /protein/modifications/acc=ACCESSION&mod=MODMASS&res=LISTOFRESIDUES&maxe=MAXIMUMEXPECTION

 input: accession number for the protein of interest
        mass (Da) of the modification, e.g., phosphorylation = 80
        list of residue types that may be modified, e.g., phosphorylation = STY
        log10(E) of the maximum allowed expectation value for a valid observation
return: a tuple of modificatied site in ACCESSION in the format pos1:num1,pos2:num2, ...
        where: pos1 is the protein coordinate of the first modified site; and
               num1 is the number of times modified pos1 has been observed

Example: retrieve the phosphorylated residues for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSMUSP00000026459&mod=80&res=STY&maxe=-2.0

GET /protein/peptide_count/acc=ACCESSION&seq=SEQUENCE

 input: accession number for the protein of interest
        peptide sequence in single letter code
return: a comma-separated tuple of observations SEQUENCE 
        in ACCESSION, by parent ion charge state

Example: retrieve the number of times LDATTVLSR was observed for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/peptide_count/acc=ENSMUSP00000026459&seq=LDATTVLSR

GET /protein/peptide_sequences/acc=ACCESSION

 input: accession number for the protein of interest
return: a comma-separated tuple of all peptides observed for ACCESSION

Example: retrieve the peptide sequences observed for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/peptide_sequences/acc=ENSMUSP00000026459

GET /protein/peptides_z/acc=ACCESSION

 input: accession number for the protein of interest
return: a comma-separated tuple of the number of peptide observations 
        of ACCESSION, by parent ion charge state.

Example: retrieve the number of peptide observations by parent ion charge state for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/peptides_z/acc=ENSMUSP00000026459

GET /protein/peptides_total/acc=ACCESSION

 input: accession number for the protein of interest
return: number of observations of peptides associated with the reference protein

Example: retrieve the total number of peptide observationsfor ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/peptides_total/acc=ENSMUSP00000026459

GET /protein/sequence/acc=ACCESSION

 input: accession number for the protein of interest
return: the single-letter amino acid sequence of the referenced protein

Example: retrieve the protein sequence for ENSMUSP00000026459

http://gpmdb.thegpm.org/1/protein/sequence/acc=ENSMUSP00000026459

Comments and suggestions

Any one interested in making suggestions or commenting on the ideas in this document should send them by email to Ron Beavis, rbeavis@thegpm.org.

Revision date and status

Reference name Revision date Document status Stable URL
GPM-2012.06.11 2012.06.11 draft specification http://wiki.thegpm.org/wiki/GPMDB_REST
Personal tools