Web-services
Many WHAT IF options are also available as Web services. If you don't know the
difference between a web-server and a Web service, you don't need this page
and you can click here.
All WHAT IF Web services are available for use through the SOAP protocol and through the REST protocol.
The WSDL is available at http://wiws.cmbi.umcn.nl/wsdl/. I use
the REST version only for test purposes, but they are operational and can be called using:
http://wiws.cmbi.umcn.nl/rest/Web-service-name/id/4-letter-PDB-identifier/ so, for example,
to calculate the solvent accessible surface of all atoms in 1crn you can use:
http://wiws.cmbi.umcn.nl/rest/AtomAccessibilitySolvent/id/1crn/
Availability of Web services
This information is available as a separate page that
will be updated each time a new Web service is added. We will also, from time to time, improve the documentation
of the Web services. Improved Web services will get a new name that is similar to the old one, existing
Web services will stay alive unaltered.
Choice of WHAT IF parameters
Web services do not leave much room for interactive parameter setting, and
WHAT IF is principally a highly interactive program. So, I had to do something
about defaults. In principle, if you know WHAT IF a bit, you should be able
to easily gamble the parameters I selected, because those are the ones that
you would get by not entering anything, and just hitting Enter in the
interactive WHAT IF version.
Input to the Web services
All WHAT IF Web services take standard PDB files as input. These PDB files
should preferably be in the 2008 remediated format, but most of the older file formats
will probably be treated correctly also.
Sample scripts
A series of sample scripts can be found in the
sample script tar-file.
You can extract this archive from the command-line using the command:
tar xzf what-if-web-service-sample-scripts.tgz
which generates the directory
what-if-web-service-sample-scripts and in this diretory you can find a README and several
sample scripts.
A small sample of the meta-file that is used by wiwsd to produce the WHAT IF Web services
is available.
Rules for usage
We have put-up 8 chips for now, to service these Web services. If they get popular, we have the funds
to buy more machines (at least if the users faithfully refer to the article about these services).
Still, feel free to use the Web services, but please stick to some rules:
- Do a test-run with a few files before sending a thousand or more.
- Run the Web services during (your) day-time so you can baby-sit the big
runs a bit.
- If you run more than one Web service, then please send the next request only after the
previous request gave a response.
- If you intend to call our Web services from software you distribute, or from web-servers or Web services
you make publicly available, please tell us about that (not that there are restrictions or so, we
are just curious about who are our users; and pehaps we can help).
- If you use the Web services, please refer to our article(s), i.e. refer to
Nucleic Acids Res. 2010 May 25.
WIWS: a protein structure bioinformatics Web service collection. PDF
Hekkelman ML, Te Beek TA, Pettifer SR, Thorne D, Attwood TK, Vriend G.
and to the article that comes closest to the option you used.
- If you find errors, report them!
Worked-out examples
The table below lists a series of Web services, the corresponding command to interactively run them
using REST mode, and the output that that Web service will produce. In some cases the "expected result"
contains blank lines. These are put in by my editor, and do not occur in the actual XML
that you receive from the Web service.
Some nomenclature: "Things" that can form chains (amino acids, nucleotides, and sugars with the correct name)
are called residues. Everything else is called ion (only single atomic things are called ion;
muti-atomic things are called drug/ligand), water, or drug/ligand (drug and ligand tend to be
used a bit random throughout the entire WHAT IF kingdom, sorry). So, metabolites, inhibitors,
lipids, multi-atomic ions, and any unknown multi-atomic thing are called drug or ligand.
- Name: TestEmpty
Command: http://wiws.cmbi.umcn.nl/rest/TestEmpty/id/1crn/
Expected result: <TestEmptyResponse/>
Comment: This service is meant to test the status of the entire Web service suite, if this one fails,
the services are (temporarily) down. If this one fails again 5 minutes later please warn us because it
means the computer was shut-down or something like that.
- Name: GetSurfaceDots
Command:http://wiws.cmbi.umcn.nl/rest/GetSurfaceDots/id/1crn/
Expected result: XML file
Comment: Contact us if you want a different dot-colouring scheme.
- Name: AtomAccessibilitySolvent
Command: http://wiws.cmbi.umcn.nl/rest/AtomAccessibilitySolvent/id/1crn/
Expected result: XML file
Comment: AtomAccessibilityMolecular returns similar results.
See the (WHAT IF) theory section
for an explanation of the difference between the accessible surface and the accessible molecular surface.
- Name: AtomAccessibilitySolventPlus
Command: http://wiws.cmbi.umcn.nl/rest/AtomAccessibilitySolventPlus/id/1crn/
Expected result: XML file
Comment: AtomAccessibilityMolecularPlus returns similar results.
See the WHAT IF theory section
for an explanation of the difference between the accessible surface and the accessible molecular surface.
In the file 1crn all atoms are present, therefore all <status>1</status> lines hold a 1. In case
atoms would be missing or otherwise labeled as "bad" by WHAT IF, this would become a zero:
<status>0</status>.
- Name: ResidueAccessibilityMolecular
Command: http://wiws.cmbi.umcn.nl/rest/ResidueAccessibilityMolecular/id/1crn/
Expected result: XML file
Comment: This Web service returns per residue four values: <access_bb>11.17</access_bb> is the
accessible molecular surface of the backbone atoms (N, Cα, C, and =O). In case of Glycine, the
Cα is not part of the backbone, but is called " the side chain".
<access_sch>10.7672</access_sch> is the accessible molecular surface of the side chain. In case
of Glycine the Cα is not part of the backbone, but is called " the side chain".
<access_tot>21.9372</access_tot> is simply the sum of the previous two.
<status>1</status> is a status flag that is 1 if all atoms in the residue are deemed OK by
WHAT IF, and 0 (zero) if one or more atoms are considered "bad".
TotAccessibilityMolecular does the same as ResidueAccessibilityMolecular, except that
ResidueAccessibilityMolecular works only for amino acids, while TotAccessibilityMolecular works for
everything but water. The accessible surface is always larger than the accessible molecular surface.
- Name: ResidueAccessibilityVacuum
Command: http://wiws.cmbi.umcn.nl/rest/ResidueAccessibilityVacuum/id/1crn/
Expected result: XML file
Comment: Vaccum accessibilities are calculated for the residue in the presence of only the backbone
atoms of its direct neighbours. ResidueAccessibilityVacuumMolecular does the same, but uses molecular
accessible surfaces rather that accessible surfaces.
- Name: ResidueTorsionsBB
Command: http://wiws.cmbi.umcn.nl/rest/ResidueTorsionsBB/id/1crn/
Expected result: XML file
Comment: Returns the three backbone angles in degrees. Angles that don't exist (φ on N-terminus,
ψ ans ω on the C-terminus, and cases where atoms are missing) are returned as 999.9.
ResidueTorsions functions similarly, but additionally returns the χ-angles. CysteineTorsions
similarly returns the torsion angles for cysteine bridges: Cαi - Cβi
Cβi - Sγi; Sγi - Sγj
Sγj - Cβj; Cβj - Cαj. And
ShowTauAngle, finally, similarly returns the τ-angles.
- Name: ShowCysteineBridge
Command: http://wiws.cmbi.umcn.nl/rest/ShowCysteineBridge/id/1crn/
Expected result: XML file
Comment: Gives per cysteine bridge one response that contains just the two cysteines.
Similarly ShowCysteineFree returns just the free cysteines. ShowCysteineMetal similarly returns for
each observed Cys-Metal contact a response that consists of a cysteine residue and a metal ion.
- Name: ShowBumps
Command: http://wiws.cmbi.umcn.nl/rest/ShowBumps/id/1crn/
Expected result: XML file
Comment: The contact relelated Web services come in two flavours. The Has... services give
for each amino acid in the PDB file a value as response, even if that residue has no contacts or
bumps. The Show... and List... services respond with a list of pairs of partners (atoms or residues)
that are pairwise involved in a bump or contact.
Two residues are said to just be in contact when their distance (i.e. the distance between the centres
of the two atoms) equals the sum of their Van der Waals' radii. They bump when they are closer.
Each bump or contact calculation has a cutoff parameter. The cutoff for bump calculations sais how
far the two atoms can penetrate each other before a bump is reported (the typical default is
0.25 Ångström. There is a whole list of bump and contact related services. Here only two are
documented (ShowBump, and the next one: HasNucleicContacts
- Name: HasNucleicContacts
Command: http://wiws.cmbi.umcn.nl/rest/HasNucleicContacts/id/1tup/
Expected result: XML file
Comment: This is a so-called Has... service. Has... services give a response for each amino acid, and
a value in the response relates to the observed molecular event. The List... and Show... services
return only those residues that are found to have the requested characteristic.
- Name: HasSaltBridge
Command: http://wiws.cmbi.umcn.nl/rest/HasSaltBridge/id/1crn/
Expected result: XML file
Comment: For each residue a value is returned that indicates how strongly the side chain of that
residue is involved in saltbridges. This value is not linearly related to the energetic
contribution of the salt bridge to the ΔG of folding of the protein.
- Name: HasSaltBridgePlus
Command: http://wiws.cmbi.umcn.nl/rest/HasSaltBridgePlus/id/1crn/
Expected result: XML file
Comment: Similar to HasSaltBridge, but this service also lists the salt bridge partners that (like
the C-terminal oxygens of Asn-46 for Arg-10 in this example) include the termini (if charged).
- Name: ShowHydrogenBonds
Command: http://wiws.cmbi.umcn.nl/rest/ShowHydrogenBonds/id/1crn/
Expected result: XML file
Comment: Lists putative hydrogen bonds and the deviations from perfect of their parameters. No
hydrogenbond network optimisation is performed.
- Name: HasHydrogenBonds
Command: http://wiws.cmbi.umcn.nl/rest/HasHydrogenBonds/id/1crn/
Expected result: XML file
Comment: Returns for each residue a relative measure of the enthalpic contribution of its side chain
to the ΔG of folding of the protein. In this calculation the best possible hydrogenbond
is scaled to 1.0. The hydrogenbond network is optimised before the energies are determined, but
all but the buried waters are removed before this optimisation to keep this web service doable
in terms of CPU time.
- Name: ShowLikelyRotamers100
Command: http://wiws.cmbi.umcn.nl/rest/ShowLikelyRotamers100/id/1crn/
Expected result: XML file
Comment: Rotamer calculations are very time consuming. They can therefore only be performed in
bunches of 100 amino acids at a time. ShowLikelyRotamers works on the first hundred amino acids;
ShowLikelyRotamers100 starts with residue 101; ShowLikelyRotamers200 starts with residue 201 (assuming
there are that many residues, otherwise it stops two residues before the C-terminus).
Rotamers cannot be determined for the first two and last two residues of any chain (and neither on the
two residues near chain breaks).
- Name: ProlineMutationValue
Command: http://wiws.cmbi.umcn.nl/rest/ProlineMutationValue/id/1crn/
Expected result: XML file
Comment: Returns for each residue (that is more than two positions away from any terminus or chain break)
a value that relates to the likelihood that a proline, introduced at this position will make the protein
more stable. Large negative values indicate degrees on unpredictability. Nubers between -10.0 and 10.0 are
vaguely related to the improvement in ΔG (i.e. positive numbers indicate a predicted stabilisation).
- Name: PackingQuality
Command: http://wiws.cmbi.umcn.nl/rest/PackingQuality/id/1crn/
Expected result: XML file
Comment:
- Name: PDB_sequence
Command: http://wiws.cmbi.umcn.nl/rest/PDB_sequence/id/1crn/
Expected result: XML file
Comment: returns what WHAT IF thinks is the sequence of the PDB file. This is to help you deal
with problems like whether a C-terminal N (nitrogen) is a residue or not and whether residues
without atoms are being used, etc.
- Name: ResidueDSSP
Command: http://wiws.cmbi.umcn.nl/rest/ResidueDSSP/id/1crn/
Expected result: XML file
Comment: DSSP secondary structure determination reduced by WHAT IF to three-states.
- Name: PDBasXML
Command: http://wiws.cmbi.umcn.nl/rest/PDBasXML/id/1crn/
Expected result: XML file
Comment: Returns your PDB file in XML format. This Web service is provided so that you can
test your software, and so that you can see what the format looks like.
- Name: SymShellOneXML
Command: http://wiws.cmbi.umcn.nl/rest/SymShellOneXML/id/1crn/
Expected result: XML file
Comment: Returns a shell of symmetry contacting residues in XML format.
- Name:
Command: http://wiws.cmbi.umcn.nl/rest//id/1crn/
Expected result: XML file
Comment:
- Name: Reserved
Command: http://wiws.cmbi.umcn.nl/rest//id/1crn/
Expected result: XML file
Comment:
|