GPMDB REST

From TheGPMWiki
(Difference between revisions)
Jump to: navigation, search
Line 19: Line 19:
   input: none
   input: none
-
  return: [ARRAY] a text description of the current REST interface
+
  return: [ARRAY - string] a text description of the current REST interface
Example: find help information through the interface
Example: find help information through the interface
Line 28: Line 28:
   input: none
   input: none
-
  return: [ARRAY] the version number of the REST interface
+
  return: [ARRAY - string] the version number of the REST interface
Example: find the current REST interface version number
Example: find the current REST interface version number
Line 42: Line 42:
   input: peptide sequence of interest
   input: peptide sequence of interest
-
  return: {HASH} of {accession number:number of observations} pairs
+
  return: {HASH - string:int} of {accession number:number of observations} pairs
Example: retrieve the accession numbers and observations of SPSSVEPVADMLMGLFFR
Example: retrieve the accession numbers and observations of SPSSVEPVADMLMGLFFR
Line 51: Line 51:
   input: peptide sequence of interest
   input: peptide sequence of interest
-
  return: [ARRAY] the total number of observations
+
  return: [ARRAY - int] the total number of observations
Example: retrieve the total observations of SPSSVEPVADMLMGLFFR
Example: retrieve the total observations of SPSSVEPVADMLMGLFFR
Line 60: Line 60:
   input: peptide sequence of interest
   input: peptide sequence of interest
-
  return: {HASH} of {parent ion charge:number of observations} pairs
+
  return: {HASH - int:int} of {parent ion charge:number of observations} pairs
Example: retrieve the total observations of SPSSVEPVADMLMGLFFR by parent ion charge
Example: retrieve the total observations of SPSSVEPVADMLMGLFFR by parent ion charge
Line 75: Line 75:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] the log10(E) for the best observation of ACCESSION
+
  return: [ARRAY - float] the log10(E) for the best observation of ACCESSION
Example: retrieve the lowest E value for ENSMUSP00000026459
Example: retrieve the lowest E value for ENSMUSP00000026459
Line 84: Line 84:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] the total number of observations of ACCESSION
+
  return: [ARRAY - int] the total number of observations of ACCESSION
Example: retrieve the number of time ENSMUSP00000026459 has been observed
Example: retrieve the number of time ENSMUSP00000026459 has been observed
Line 93: Line 93:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] the log10(E) for the best observation of ACCESSION
+
  return: [ARRAY - float] the log10(E) for the best observation of ACCESSION
Example: retrieve a text description of ENSMUSP00000026459
Example: retrieve a text description of ENSMUSP00000026459
Line 105: Line 105:
         list of residue types that may be modified, e.g., phosphorylation = STY
         list of residue types that may be modified, e.g., phosphorylation = STY
         log10(E) of the maximum allowed expectation value for a valid observation
         log10(E) of the maximum allowed expectation value for a valid observation
-
  return: {HASH} of {modified site:number of observations} for ACCESSION
+
  return: {HASH - int:int} of {modified site:number of observations} for ACCESSION
Example: retrieve the phosphorylated S, T or Y residues for YKL112W
Example: retrieve the phosphorylated S, T or Y residues for YKL112W
Line 119: Line 119:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
         peptide sequence in single letter code
         peptide sequence in single letter code
-
  return: {HASH} of {parent ion charge:number of observations} of SEQUENCE in ACCESSION
+
  return: {HASH - int:int} of {parent ion charge:number of observations} of SEQUENCE in ACCESSION
Example: retrieve the number of times LDATTVLSR was observed for ENSMUSP00000026459
Example: retrieve the number of times LDATTVLSR was observed for ENSMUSP00000026459
Line 128: Line 128:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] of all peptides observed for ACCESSION
+
  return: [ARRAY - string] of all peptides observed for ACCESSION
Example: retrieve the peptide sequences observed for ENSMUSP00000026459  
Example: retrieve the peptide sequences observed for ENSMUSP00000026459  
Line 137: Line 137:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: {HASH} of the {parent ion charge:number of peptide observations} for ACCESSION
+
  return: {HASH - int:int} of the {parent ion charge:number of peptide observations} for ACCESSION
Example: retrieve the number of peptide observations by parent ion charge state for ENSMUSP00000026459
Example: retrieve the number of peptide observations by parent ion charge state for ENSMUSP00000026459
Line 146: Line 146:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] number of observations of peptides associated with ACCESSION
+
  return: [ARRAY - int] number of observations of peptides associated with ACCESSION
Example: retrieve the total number of peptide observations for ENSMUSP00000026459  
Example: retrieve the total number of peptide observations for ENSMUSP00000026459  
Line 155: Line 155:
   input: accession number for the protein of interest
   input: accession number for the protein of interest
-
  return: [ARRAY] the amino acid sequence of ACCESSION
+
  return: [ARRAY - string] the amino acid sequence of ACCESSION
Example: retrieve the protein sequence for ENSMUSP00000026459
Example: retrieve the protein sequence for ENSMUSP00000026459

Revision as of 16:08, 14 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 a 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 return values are in JSON notation as either an ARRAY or HASH.

/interface/ methods

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

GET /interface/help => [ARRAY]

 input: none
return: [ARRAY - string] 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 => [ARRAY]

 input: none
return: [ARRAY - string] the version number of the REST interface

Example: find the current REST interface version number

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

/peptide/ methods

Peptide methods give the programmer access of information about the peptides currently stored in GPMDB. All peptide methods require an appropriate peptide amino acid sequence to identify the target peptide.

GET /peptide/accessions/seq=SEQUENCE => {HASH}

 input: peptide sequence of interest
return: {HASH - string:int} of {accession number:number of observations} pairs

Example: retrieve the accession numbers and observations of SPSSVEPVADMLMGLFFR

http://gpmdb.thegpm.org/1/peptide/accessions/seq=SPSSVEPVADMLMGLFFR.

GET /peptide/count/seq=SEQUENCE => [ARRAY]

 input: peptide sequence of interest
return: [ARRAY - int] the total number of observations

Example: retrieve the total observations of SPSSVEPVADMLMGLFFR

http://gpmdb.thegpm.org/1/peptide/count/seq=SPSSVEPVADMLMGLFFR.

GET /peptide/count_z/seq=SEQUENCE => {HASH}

 input: peptide sequence of interest
return: {HASH - int:int} of {parent ion charge:number of observations} pairs

Example: retrieve the total observations of SPSSVEPVADMLMGLFFR by parent ion charge

http://gpmdb.thegpm.org/1/peptide/count_z/seq=SPSSVEPVADMLMGLFFR.

/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 => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - float] 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 => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - int] 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 => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - float] 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=LIST&maxe=MAXEXPECT => {HASH}

 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: {HASH - int:int} of {modified site:number of observations} for ACCESSION

Example: retrieve the phosphorylated S, T or Y residues for YKL112W

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

Example: retrieve all acetylated residues for ENSP00000281111

http://gpmdb.thegpm.org/1/protein/modifications/acc=ENSP00000281111&mod=42&res=&maxe=-2.0

GET /protein/peptide_count/acc=ACCESSION&seq=SEQUENCE => {HASH}

 input: accession number for the protein of interest
        peptide sequence in single letter code
return: {HASH - int:int} of {parent ion charge:number of observations} of SEQUENCE in ACCESSION

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 => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - string] 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 => {HASH}

 input: accession number for the protein of interest
return: {HASH - int:int} of the {parent ion charge:number of peptide observations} for ACCESSION

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 => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - int] number of observations of peptides associated with ACCESSION

Example: retrieve the total number of peptide observations for ENSMUSP00000026459

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

GET /protein/sequence/acc=ACCESSION => [ARRAY]

 input: accession number for the protein of interest
return: [ARRAY - string] the amino acid sequence of ACCESSION

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.13 draft specification http://wiki.thegpm.org/wiki/GPMDB_REST
Personal tools