GPMDB REST

From TheGPMWiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "This document is a request for comment on a proposed new SOAP interface for GPMDB. The RFC process began on June 11, 2012 and will end on September 10, 2012. The purpose of the …")
Line 1: Line 1:
-
This document is a request for comment on a proposed new SOAP interface for GPMDB. The RFC process began on June 11, 2012 and will end on September 10, 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 [http://en.wikipedia.org/wiki/SOAP SOAP (Simple Object Access Protocol)] 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 SOAP-aware application.
+
The purpose of the RFC is to define a straightforward [http://en.wikipedia.org/wiki/Representational_state_transfer 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.
==Conventions==
==Conventions==
Line 7: Line 7:
The following statements refer to all methods and description given below:
The following statements refer to all methods and description given below:
 +
#all GETs are made to the base URL "http://gpmdb.thegpm.org";
#all protein and peptide sequences are expressed in [[Amino acid symbols|single letter code]];
#all protein and peptide sequences are expressed in [[Amino acid symbols|single letter code]];
-
#all methods have the prefix "gpmdb" followed by a description name;
 
#protein accession numbers use the same format as normally used in GPMDB; and
#protein accession numbers use the same format as normally used in GPMDB; and
#all "tuples" are returned as comma-separated text strings.
#all "tuples" are returned as comma-separated text strings.
-
==Methods==
+
==/1/interface/ methods==
-
===gpmdbProteinBestExpect(string accession)===
+
===GET /1/interface/help===
-
   input: string, accession number for the protein of interest
+
   input: none
-
  return: string, the log10(E) for the best observation of the referenced protein
+
  return: a text description of this interface
-
===gpmdbProteinCount(string accession)===
+
===GET /1/interface/version===
-
   input: string, accession number for the protein of interest
+
   input: none
-
  return: string, the total number of observations of the referenced protein
+
  return: the version number of the SOAP interface
-
===gpmdbProteinDescription(string accession)===
+
==/1/protein/ methods==
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/best_e/acc=ACCESSION===
-
return: string, the log10(E) for the best observation of the referenced protein
+
-
===gpmdbProteinPeptideCount(string accession, string sequence)===
+
  input: accession number for the protein of interest
 +
return: the log10(E) for the best observation of ACCESSION
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/count/acc=ACCESSION===
-
        string, peptide sequence in single letter code
+
-
return: string, a comma-separated tuple of the number of observations of the sequence
+
-
                in the referenced protein, by parent ion charge state
+
-
===gpmdbProteinPeptideSequences(string accession)===
+
  input: accession number for the protein of interest
 +
return: the total number of observations of ACCESSION
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/description/acc=ACCESSION===
-
return: string, a comma-separated tuple of all peptides observed for the referenced protein
+
-
===gpmdbProteinPeptidesCharges(string accession)===
+
  input: accession number for the protein of interest
 +
return: the log10(E) for the best observation of ACCESSION
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/peptide/count/acc=ACCESSION&seq=SEQUENCE)===
-
return: string, a comma-separated tuple of the number of peptide observations
+
-
                of the referenced protein, by parent ion charge state.
+
-
===gpmdbProteinPeptidesTotal(string accession)===
+
  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
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/peptide/sequences/acc=ACCESSION===
-
return: string, number of observations of peptides associated with the reference protein
+
-
===gpmdbProteinSequence(string accession)===
+
  input: accession number for the protein of interest
 +
return: a comma-separated tuple of all peptides observed for ACCESSION
-
  input: string, accession number for the protein of interest
+
===GET /1/protein/peptides_z/acc=ACCESSION===
-
return: string, the single-letter amino acid sequence of the referenced protein
+
-
===gpmdbVersion()===
+
   input: accession number for the protein of interest
-
 
+
  return: a comma-separated tuple of the number of peptide observations
-
   input: none
+
        of ACCESSION, by parent ion charge state.
-
  return: string, the version number of the SOAP interface
+
-
==Interface parameters==
+
===GET /1/protein/peptides_total/acc=ACCESSION===
-
  uri = "http://db8.thegpm.org/GPMDB"
+
  input: accession number for the protein of interest
-
  proxy = "http://db8.thegpm.org/soap/gpmdb_soap.pl"
+
  return: number of observations of peptides associated with the reference protein
-
These parameters are used to set up a SOAP interface for programming. For example, in PERL:
+
===GET /1/protein/sequence/acc=ACCESSION===
-
my $soap = SOAP::Lite
+
  input: accession number for the protein of interest
-
            ->uri("http://db8.thegpm.org/GPMDB")
+
return: the single-letter amino acid sequence of the referenced protein
-
            ->proxy("http://db8.thegpm.org/soap/gpmdb_soap.pl");
+
==Comments and suggestions==
==Comments and suggestions==
Line 78: Line 74:
==Revision date and status==
==Revision date and status==
-
{| class="wikitable sortable"
+
{| class="wikitable"
! Reference name
! Reference name
! Revision date
! Revision date

Revision as of 13:22, 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";
  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.

/1/interface/ methods

GET /1/interface/help

 input: none
return: a text description of this interface

GET /1/interface/version

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

/1/protein/ methods

GET /1/protein/best_e/acc=ACCESSION

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

GET /1/protein/count/acc=ACCESSION

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

GET /1/protein/description/acc=ACCESSION

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

GET /1/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

GET /1/protein/peptide/sequences/acc=ACCESSION

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

GET /1/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.

GET /1/protein/peptides_total/acc=ACCESSION

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

GET /1/protein/sequence/acc=ACCESSION

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

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 n/a to draft
Personal tools