(Created page with "The purpose of this document is to define a set of straightforward [http://en.wikipedia.org/wiki/Representational_state_transfer REST (REpresentational State Transfer)] services …") |
|||
Line 7: | Line 7: | ||
#all GETs are made to the base URL "http://rest.thegpm.org/2"; | #all GETs are made to the base URL "http://rest.thegpm.org/2"; | ||
#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 Phosphoryl, Acetyl or GlyGly (ubiquitinyl); | ||
#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 39: | Line 40: | ||
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 | + | return: {OBJECT} objects containing text description of all modification linked to the specified base |
- | Example: list PTM information linked to base 8925354 on | + | Example: list PTM information linked to base 8925354 on Chromosome 1 |
[http://rest.thegpm.org/2/g2pdb/dna/1/8925354/ http://rest.thegpm.org/2/g2pdb/dna/1/8925354] | [http://rest.thegpm.org/2/g2pdb/dna/1/8925354/ http://rest.thegpm.org/2/g2pdb/dna/1/8925354] | ||
- | ===GET / | + | ===GET /dna/CHR/POS/mod=MOD => [ARRAY]=== |
- | input: | + | input: CHR = human chromosome 1-22, MT, X, or Y), POS = base position on chromosome, MOD = modification |
- | return: | + | return: {OBJECT} objects containing text description of the specified modification linked to the specified base |
- | Example: list | + | Example: list acetylation modification information linked to base 8925354 on Chromosome 1 |
- | [http://rest.thegpm.org/ | + | [http://rest.thegpm.org/2/g2pdb/dna/1/8925354/mod=Acetyl http://rest.thegpm.org/2/g2pdb/dna/1/8925354/mod=Acetyl] |
- | |||
- | + | ===GET /dna/CHR/POS/snp=BASE => {OBJECT}=== | |
- | + | ||
- | + | ||
- | + | 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 | ||
- | + | Example: list modification changes caused by the variant base A at position 8925354 on Chromosome 1 | |
- | + | [http://rest.thegpm.org/2/g2pdb/dna/1/8030998/snp=A http://rest.thegpm.org/2/g2pdb/dna/1/8030998/snp=A] | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | [http://rest.thegpm.org/ | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
==/protein/ services== | ==/protein/ services== | ||
- | + | Peptide services access to all of the genomic mapping information associated with PTMs for a particular | |
- | + | protein. | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===GET /protein/ | + | ===GET /protein/ACC => {OBJECT}=== |
- | input: accession number | + | input: ACC = ENSEMBL protein accession number |
- | return: | + | return: {OBJECT} of PTM mapping information |
- | Example: retrieve | + | Example: retrieve the PTM mappings for ENSP00000234590 |
- | [http://rest.thegpm.org/ | + | [http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590 http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590]. |
- | ===GET /protein/ | + | ===GET /protein/ACC/mod=MOD => [ARRAY]=== |
- | input: accession number | + | input: ACC = ENSEMBL protein accession number, MOD = modification |
- | return: | + | return: {OBJECT} of PTM mapping information for MOD only |
- | Example: retrieve the | + | Example: retrieve the ubiquitinylation mappings for ENSP00000234590 |
- | [http://rest.thegpm.org/ | + | [http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590/mod=GlyGly http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590/mod=GlyGly]. |
==Source code== | ==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/ | + | 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/g2pdb_rest ftp://ftp.thegpm.org/repos/g2p_rest]. The files currently available are as follows: |
#rest.pl - provides an interface between Apache CGI calls and the database layer; | #rest.pl - provides an interface between Apache CGI calls and the database layer; | ||
- | # | + | #g2pdb_rest.pl - a PERL module for most requests; |
- | + | ||
- | + | ||
==Comments and suggestions== | ==Comments and suggestions== | ||
Line 290: | Line 105: | ||
! Stable URL | ! Stable URL | ||
|- align="center" | |- align="center" | ||
- | | GPM- | + | | GPM-2014.11.26 |
- | | | + | | 2014.11.26 |
| final specification | | final specification | ||
- | | | + | | http://wiki.thegpm.org/wiki/G2PDB_REST] |
|} | |} |
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 |
The following statements refer to all methods and description given below:
Interface services give the programmer access to information about the current state of the REST interface.
input: none return: [ARRAY - "string"] a text description of the current REST interface
Example: find help information through the interface
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 give access to PTM-linked information about particular genomic locations.
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
Example: list PTM information linked to base 8925354 on Chromosome 1
http://rest.thegpm.org/2/g2pdb/dna/1/8925354
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
Example: list acetylation modification information linked to base 8925354 on Chromosome 1
http://rest.thegpm.org/2/g2pdb/dna/1/8925354/mod=Acetyl
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
Example: list modification changes caused by the variant base A at position 8925354 on Chromosome 1
http://rest.thegpm.org/2/g2pdb/dna/1/8030998/snp=A
Peptide services access to all of the genomic mapping information associated with PTMs for a particular protein.
input: ACC = ENSEMBL protein accession number return: {OBJECT} of PTM mapping information
Example: retrieve the PTM mappings for ENSP00000234590
http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590.
input: ACC = ENSEMBL protein accession number, MOD = modification return: {OBJECT} of PTM mapping information for MOD only
Example: retrieve the ubiquitinylation mappings for ENSP00000234590
http://rest.thegpm.org/2/g2pdb/protein/ENSP00000234590/mod=GlyGly.
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:
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.
Reference name | Revision date | Document status | Stable URL |
---|---|---|---|
GPM-2014.11.26 | 2014.11.26 | final specification | http://wiki.thegpm.org/wiki/G2PDB_REST] |