PSI Structural Biology Knowledgebase

PSI Nature Structural Biology Knowledgebase
Header Icons
 

Web Services provided by the SBKB

The content and functionality of the Structural Biology Knowledgebase (SBKB) may be accessed using a variety of web services. Accessing the SBKB can be as simple as providing a link to the home page (http://sbkb.org) or incorporating the SBKB widget in your site. The widget provides a dynamic display of the current content of the SBKB site and automatically detects new articles, structures and features.

Web services are also provided to enable access to the search features of the SBKB. This includes the construction of SBKB searches using Common Gateway Interface (CGI) protocol to construct queries through web links, or using Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL) for program level access.

The following document describes the SBKB web services and provides examples of how to use these services. Parties interested in using our web services should e-mail comments@sbkb.org for further information, including registering a unique ID.

1. Linking to the SBKB site
2. Installing the SBKB Widget in your site
3. How to search by PDB ID
4. How to search by amino acid sequence
5. How to search by text terms
6. How to link to the 'What's new' feature - newly released PSI structures, updated weekly.
7. How to obtain the data from our Functional Sleuth, a catalog of PSI structures lacking full functional annotation.

Web Service Instructions and Examples

 

1. Linking to the SBKB site

To link to the home page of the SBKB site use the following URL:

http://sbkb.org

 


 

2. Installing the SBKB Widget on your site

The SBKB widget provides a dynamic display of the current content of the SBKB site and will automatically detect new articles, structures and features when the site updates on the third Thursday of each month. The SBKB Widget can be installed by including the following Javascript in a web page on your site.

Include the following lines in your web page:

The default <script> text at the bottom of this example, will create a 250px-wide red widget.

If you want to change the size or color, include the optional lines before the default <script> text.


<!------------------ optional start ------------------>
<script type="text/javascript">
var SBKB_width='[SIZE]';// replace [SIZE] with either of these values: 200px,250px,300px
var SBKB_color='[COLOR]'; // replace [COLOR] with either of these values: red, grey
</script>
<!------------------ optional end   ------------------>
<!------------------ default          ---------------->
<script src="http://sbkb.org/Widget/Widget.js" type="text/javascript" language="javascript">  </script>

This will display the SBKB widget as shown here


 

3. How to search by PDB ID

Using a URL to search for a PDB ID:

The URL template for the PDB ID search is:
http://sbkb.org/pdbid/[PDBID]

For example, to search for PDB ID 1RXQ:
http://sbkb.org/pdbid/1rxq

 

Using the SOAP Web Service to search for PDB ID:

The SOAP service for a PDB ID search is described in the following WSDL file:
http://sbkb.org/KBWebServices/wsdl/KBPDBIdSearchWS.wsdl

The schema for the XML packet returned by the SOAP query is in the following file:
http://sbkb.org/KBWebServices/schema/KBPDBIdResponseV1.0.xsd

The following sample Perl script illustrates how to call the PDB ID search SOAP web service:

#!perl -w
#===============================================================================
#
# FILE: KBPDBIdWS.pl
# PURPOSE: Example SOAP PSI SGKB PDB ID Search
#
# USAGE: perl KBPDBIdWS.pl
# EXAMPLE: perl KBPDBIdWS.pl 1j6o 0 Rutgers
#
# INPUTS: PDB ID = PDB 4-letter identifier
# queryId = User provided query Id
# clientName = User provided name or organization
#
# RETURNS: XML packet defined in -
#
# http://sbkb.org/KBWebServices/schema/KBPDBIdResponseV1.0.xsd
#
# REQUIREMENTS: Perl SOAP::Lite
#
#===============================================================================

use SOAP::Lite;
use English qw( -no_match_vars );

my $pdbId = shift;
my $corrId = shift;
my $clientName = shift;
my $wsdlpath = "http://sbkb.org/KBWebServices/wsdl/KBPDBIdSearchWS.wsdl";
print "WSDL: $wsdlpath"." ";
print "==============================Test Results====================================== ";
print SOAP::Lite
-> service("$wsdlpath")
-> searchUsingPDBId("$pdbId", "$corrId", "$clientName");
print " ";
print "================================================================================ ";

 


 

4. How to search by amino acid sequence

CGI GET Method

For an amino sequence shorter than 255 residues, the following URL which implements a CGI GET query may be used.

The URL template for the sequence search is:
http://sbkb.org/ss?sequence=[one-letter-code aa sequence]

For example, to search for the SBKB for the sequence TEASSLVGKLETDVEIKASADKFHHMFAGKPHHVS use the following URL:
http://sbkb.org/ss?sequence=TEASSLVGKLETDVEIKASADKFHHMFAGKPHHVS

 

CGI POST Method

For amino acid sequences longer that 255 residues a sequence search can be performed using a CGI Post method. Incorporating the following HTML on your web page will produce a text form element that can accept longer protein sequences.

For example, the following HTML will create a form to search for the following sequence:

TEASSLVGKLETDVEIKASADKFHHMFAGKPHHVSKASPGNIQGCDLHEGDWGTVGSIVFWNYVHDGEAKVAKERIEAV EPDKNLITFRVIEGDLMKEYKSFLLTIQVTPKPGGPGSIVHWHLEYEKISEEVAHPETLLQFCVEVSKEIDEHLLAEE

<form id="sequenceform" name="sequenceform" action="http://sbkb.org/ss" method="post">
 <label title="Sequence Search" for="sequence">Enter Amino Acid Sequence</label> <br />
 <textarea name="sequence" cols="45" rows="3" id="sequence"> 
TEASSLVGKLETDVEIKASADKFHHMFAGKPHHVSKASPGNIQGCDLHEGDWGTVGSIVFWNYVHDGEAKVAKERIEAV
EPDKNLITFRVIEGDLMKEYKSFLLTIQVTPKPGGPGSIVHWHLEYEKISEEVAHPETLLQFCVEVSKEIDEHLLAEE
 </textarea>
 <input  value="Go" type="submit" >
 </form>

and this will be display as shown below:


SOAP Web Service search for amino acid sequences

The SOAP service for amino acid sequence search is described in the following WSDL file:
http://sbkb.org/KBWebServices/wsdl/KBSeqWS.wsdl

The schema for the XML packet returned by the SOAP query is in the following file:
http://sbkb.org/KBWebServices/schema/KBSeqResponseV1.3.xsd

The following sample Perl script illustrates how to call the sequence search web service:

#!perl -w

#===============================================================================
#
# FILE: KBSeqWS.pl
# PURPOSE: Example SOAP PSI SGKB amino acid sequence search
#
# USAGE: perl KBSeqWS.pl
#
#
# EXAMPLE: perl KBSeqWS.pl MVDTHAHLHFHQFDDDRNAVISSFEENNIEFVVNVGVNLEDSKKS
# 0 Rutgers Y N N N
# INPUTS: aa sequence = one-letter-code amino acid sequence
# queryId = User provided query Id
# clientName = User provided name or organization
# return structure data = Y/N
# return structure annotation = Y/N
# return target data = Y/N
# return protocol data = Y/N
#
# RETURNS: XML packet defined in -
#
# http://sbkb.org/KBWebServices/schema/KBSeqResponseV1.3.xsd
#
# REQUIREMENTS: SOAP::Lite
#
#===============================================================================

use SOAP::Lite;
use English qw( -no_match_vars );

my $sequence = shift;
my $corrId = shift;
my $clientName = shift;
my $returnStructureInd = shift;
my $returnAnnotationInd = shift;
my $returnTargetInd = shift;
my $returnProtocolInd = shift;
my $wsdlpath = "http://sbkb.org:80/KBWebServices/wsdl/KBSeqWS.wsdl";

print "WSDL: $wsdlpath"." ";
print "==============================Test Results====================================== ";
print SOAP::Lite
-> service("$wsdlpath")
-> searchUsingSeq("$sequence", "$corrId", "$clientName", "$returnStructureInd", "$returnAnnotationInd", "$returnTargetInd", "$returnProtocolInd");
print " ";
print "================================================================================ ";

 


 

5. How to search by text terms

Using a URL to search for a text string:

The template URL for a text search is:
http://sbkb.org/ks/[keywords]

For example, to search for the text term crystallization, the following URL can be used:
http://sbkb.org/ks/crystallization

To search using multiple keywords, add a space or %20 between keywords. For example, to search for the text string crystallization robots the following URL can be used:
http://sbkb.org/ks/crystallization%20robots

 


 

6. How to link to the 'What's new' feature - newly released PSI structures, updated weekly

To link a page containing the latest list of released structure data, the following URL can be used:
http://sbkb.org/lateststructures

 


 

7. How to obtain the data from our 'Functional Sleuth', a catalog of PSI structures lacking full functional annotation.

To link to a page containing the gallery (updated weekly) of PSI structures that require further functional characterization and annotation, the following URL can be used:
http://sbkb.org/functionalsleuth

The KB also provides a text file listing all PDB ID entries in the Functional Sleuth. This list can then be used in combination with the SOAP Web Services, as described in section 3 above.

 

Protein Structure Initiative Corner

Publications

Search through over 2000 peer-reviewed publications by the PSI Network

Latest News

News from the Protein Structure Initiative and Nature

Community Nominations

Nominate proteins for structure determination by the PSI