G2PDB REST

From TheGPMWiki
(Difference between revisions)
Jump to: navigation, search
Line 8: Line 8:
#all bases are expressed in single letter code (A, C, T, G);
#all bases are expressed in single letter code (A, C, T, G);
#modifications allowed are "Phospho", "Acetyl" or "GlyGly" (ubiquitinyl);
#modifications allowed are "Phospho", "Acetyl" or "GlyGly" (ubiquitinyl);
 +
#genome coordinates refer to Genome Reference Consortium Human genome build 37 (grch37);
#protein accession numbers use ENSEMBL 70; and
#protein accession numbers use ENSEMBL 70; and
#all return values are in [http://en.wikipedia.org/wiki/JSON JSON] notation ([http://www.ietf.org/rfc/rfc4627.txt RFC 4627]) as either an ARRAY or OBJECT.
#all return values are in [http://en.wikipedia.org/wiki/JSON JSON] notation ([http://www.ietf.org/rfc/rfc4627.txt RFC 4627]) as either an ARRAY or OBJECT.
Line 37: Line 38:
Dna services give access to PTM-linked information about particular genomic locations.
Dna services give access to PTM-linked information about particular genomic locations.
-
===GET /dna/CHR/POS => {OBJECT}===
+
===GET /grch37/ensembl_70/dna/CHR/POS => [{OBJECT1},{OBJECT2},...]===
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome  
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome  
-
  return: {OBJECT} objects containing text description of all modification linked to the specified base
+
  return: ARRAY of objects containing text description of all modification linked to the specified base
Example: list PTM information linked to base 8925354 on Chromosome 1
Example: list PTM information linked to base 8925354 on Chromosome 1
-
[http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354/ http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354]
+
[http://rest.the[gpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354/ http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354]
-
===GET /dna/CHR/POS/mod=MOD => [ARRAY]===
+
===GET /grch37/ensembl_70/dna/CHR/POS/mod=MOD => [{OBJECT1},{OBJECT2},...]===
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, MOD = modification
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, MOD = modification
-
  return: {OBJECT} objects containing text description of the specified modification linked to the specified base
+
  return: ARRAY of objects containing text description of the specified modification linked to the specified base
Example: list acetylation modification information linked to base 8925354 on Chromosome 1
Example: list acetylation modification information linked to base 8925354 on Chromosome 1
Line 56: Line 57:
-
===GET /dna/CHR/POS/snp=BASE => {OBJECT}===
+
===GET /grch37/ensembl_70/dna/CHR/POS/snp=BASE => [{OBJECT1},{OBJECT2},...]===
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, BASE = variant base  
   input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, BASE = variant base  
-
  return: {OBJECT} objects containing text description of modifications changed by the variant BASE
+
  return: ARRAY of objects containing text description of modifications changed by the variant BASE
Example: list modification changes caused by the variant base A at position 8925354 on Chromosome 1
Example: list modification changes caused by the variant base A at position 8925354 on Chromosome 1
Line 70: Line 71:
protein.
protein.
-
===GET /protein/ACC => {OBJECT}===
+
===GET /grch37/ensembl_70/protein/ACC => [{OBJECT1},{OBJECT2},...]===
   input: ACC = ENSEMBL protein accession number
   input: ACC = ENSEMBL protein accession number
-
  return: {OBJECT} of PTM mapping information
+
  return: ARRAY of PTM mapping information objects
Example: retrieve the PTM mappings for ENSP00000234590
Example: retrieve the PTM mappings for ENSP00000234590
Line 79: Line 80:
[http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/protein/ENSP00000234590 http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/protein/ENSP00000234590].
[http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/protein/ENSP00000234590 http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/protein/ENSP00000234590].
-
===GET /protein/ACC/mod=MOD => [ARRAY]===
+
===GET /grch37/ensembl_70/protein/ACC/mod=MOD => [{OBJECT1},{OBJECT2},...]]===
   input: ACC = ENSEMBL protein accession number, MOD = modification
   input: ACC = ENSEMBL protein accession number, MOD = modification
-
  return: {OBJECT} of PTM mapping information for MOD only
+
  return: ARRAY of PTM mapping information objects for MOD only
Example: retrieve the ubiquitinylation mappings for ENSP00000234590
Example: retrieve the ubiquitinylation mappings for ENSP00000234590

Revision as of 15:15, 27 November 2014

The purpose of this document is to define a set of straightforward REST (REpresentational State Transfer) services to commonly required information based on the data in g2pDB, a collection of post-translational modification acceptor site mappings to the human genome. These services 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://rest.thegpm.org/2";
  2. all bases are expressed in single letter code (A, C, T, G);
  3. modifications allowed are "Phospho", "Acetyl" or "GlyGly" (ubiquitinyl);
  4. genome coordinates refer to Genome Reference Consortium Human genome build 37 (grch37);
  5. protein accession numbers use ENSEMBL 70; and
  6. all return values are in JSON notation (RFC 4627) as either an ARRAY or OBJECT.

/interface/ services

Interface services 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://rest.thegpm.org/2/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://rest.thegpm.org/2/interface/version

/dna/ services

Dna services give access to PTM-linked information about particular genomic locations.

GET /grch37/ensembl_70/dna/CHR/POS => [{OBJECT1},{OBJECT2},...]

 input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome 
return: ARRAY of objects containing text description of all modification linked to the specified base

Example: list PTM information linked to base 8925354 on Chromosome 1

[gpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354/ http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8925354

GET /grch37/ensembl_70/dna/CHR/POS/mod=MOD => [{OBJECT1},{OBJECT2},...]

 input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, MOD = modification
return: ARRAY of objects containing text description of the specified modification linked to the specified base

Example: list acetylation modification information linked to base 8925354 on Chromosome 1

http://rest.thegpm.org/2/g2pd/grch37/ensembl_70b/dna/1/8925354/mod=Acetyl


GET /grch37/ensembl_70/dna/CHR/POS/snp=BASE => [{OBJECT1},{OBJECT2},...]

 input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, BASE = variant base 
return: ARRAY of objects containing text description of modifications changed by the variant BASE

Example: list modification changes caused by the variant base A at position 8925354 on Chromosome 1

http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/dna/1/8030998/snp=A

/protein/ services

Peptide services access to all of the genomic mapping information associated with PTMs for a particular protein.

GET /grch37/ensembl_70/protein/ACC => [{OBJECT1},{OBJECT2},...]

 input: ACC = ENSEMBL protein accession number
return: ARRAY of PTM mapping information objects

Example: retrieve the PTM mappings for ENSP00000234590

http://rest.thegpm.org/2/g2pdb/grch37/ensembl_70/protein/ENSP00000234590.

GET /grch37/ensembl_70/protein/ACC/mod=MOD => [{OBJECT1},{OBJECT2},...]]

 input: ACC = ENSEMBL protein accession number, MOD = modification
return: ARRAY of PTM mapping information objects for MOD only

Example: retrieve the ubiquitinylation mappings for ENSP00000234590

http://rest.thegpm.org/2/grch37/ensembl_70/g2pdb/protein/ENSP00000234590/mod=GlyGly.

Source code

These services are being implemented in PERL, the language that is used to provide most of the web page creation logic for the GPMDB system. The code is available at ftp://ftp.thegpm.org/repos/g2p_rest. The files currently available are as follows:

  1. rest.pl - provides an interface between Apache CGI calls and the database layer;
  2. g2pdb_rest.pl - a PERL module for most requests;

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-2014.11.26 2014.11.26 final specification http://wiki.thegpm.org/wiki/G2PDB_REST
Personal tools