ExPASy logo ExPASy Home page Site Map Search ExPASy Contact us PROSITE
Search for

Programmatic access to ScanProsite: REST web service

REST service

While REST (Representational State Transfer) originally referred to a collection of architectural principles, people now often use the term in a looser sense to describe any simple web-based interface for programmatic access, that uses XML (or YAML, JSON, plain text) over HTTP without the extra abstractions of MEP-based approaches like the web services SOAP protocol.

The 'naked' data, without any envelope is retrieved as the content of an HTTP query response. The options for the operation to be performed are part of the HTTP query parameters, the target URL representing the resource being accessed.

The REST "philosophy" also implies using HTTP "verbs" (PUT, GET, POST, DELETE) to perform distinct operations (respectively: Create, Read, Update, Delete) on the target resources (url).

see Wikipedia REST article

For ScanProsite, as it is a scanning tool, some of the resources are provided by the users (sequences or/and patterns); to minimize the number of required queries / simplify the system, the service doesn't fully follow aforementioned REST principles (that would be e.g. PUTing the user resources on the server first, then GETing the scan results). Instead users directly POST/GET all their data to get the scan results in the response.

Note: in ScanProsite service POST is not used to update data, but like GET, just to (pass input data and parameters and) read scan result data.

Using ScanProsite REST service

Make an HTTP GET or POST query to the service; retrieve scan output data (in XML or JSON) in the HTTP response content.

e.g. (GET) just query for: http://www.expasy.org/cgi-bin/prosite/PSScan.cgi?seq=ENTK_HUMAN&output=xml

Service URL

http://www.expasy.org/cgi-bin/prosite/PSScan.cgi

Parameters

GET or POST parameters (name, description):

seq sequence(s) to be scanned, in FASTA or Swiss-Prot format or reference (existing UniProt sequence AC or ID). Do not repeat parameter; multiple sequences can be specified by separating them with new lines.
sig prosite signature (prosite signature AC or ID) or user pattern to scan against (if not specified, by default: use all PROSITE signatures). Multiple signatures can be specified by separating them with new lines.
db target protein database (for scans of signatures against whole protein databases, when 'seq' param was not defined): 'sp' (Swiss-Prot) or 'tr' (TrEMBL) or 'pdb' (PDB) (parameter can be repeated; 1 target db by 'db' parameter)
varsplic if true (defined, non empty, non zero): include splice variants (only used in scans against protein databases)
lineage Taxonomic lineage (OC) / species (OS) filter: (see NEWT Taxonomy) separate multiple taxa/species with a semicolon, e.g. Eukaryota; Escherichia coli; (only used in scans against protein databases, does not work on PDB sequences).
description Description (DE) filter: e.g. protease (only used in scans against protein databases)
max_x Allow at most n sequence characters to match a conserved position in the pattern (only used in scans with user specified patterns)
output Output format: 'xml' or 'json'
skip if true (defined, non empty, non zero): exclude motifs with a high probability of occurrence (default: off; only used in scans against all PROSITE signatures; implies no 'sig' param)
lowscore if true, show matches with low level scores (default: off)
noprofile if true, do not scan profiles (only patterns, only used in scans against all PROSITE signatures; implies no 'sig' parameter)
minhits show only matches of sequences with at least n matches

Note: if a scan error due to bad input parameters (e.g. non existing AC) occurs, the output will be the error message in text/plain format.

ExPASy logo ExPASy Home page Site Map Search ExPASy Contact us PROSITE
 Hosted by ca flag CBR Canada Mirror sites: Australia  Brazil  China  Korea  Switzerland