header
mainbutton manualButton generatebutton soapButton

Introduction

An iceLogo SOAP (Simple Object Access Protocol) Server can be accessed via http://iomics.ugent.be/icelogoserver/services/icelogo. This SOAP server provides access to the different iceLogo visualization options (see below for the different methods). These different methods all create a String with svg content as a result. The iceLogo server and SOAP client examples can be found here.

WSDL

A WS-I compliant document/literal-wrapped WSDL (Web Services Description Language) can be found here. This file defines the different services and methods.

Taverna

Taverna is an open source tool for designing and executing workflows. A workflow typically consist of one or more web services. An example taverna workflow for the creation of an iceLogo can be found (here). Example input data for this workflow can be found here.

Creating a client, a java example

Different methods exist for creating SOAP client applications in java. The wsdl2java tool is an easy an usefull tool for the fast creation of a java client. However, a client call can also manually be created. Here we will give an example on how to create a client that gets a filled logo (the code can be found here). More examples can be found in the icelogo server source.

First, we will create the url.
// Create the url, this url point to the location of the webservice
URL lIcelogoUrl = new URL("http://iomics.ugent.be/icelogoserver/services/icelogo");


Next, a String deserializer will be set to the created SOAPMappingRegistry.
// Set a String Deserializer for the response ("getFilledLogoReturn")
SOAPMappingRegistry smr = new SOAPMappingRegistry();
Deserializer stringDser = new StringDeserializer();
smr.mapTypes(Constants.NS_URI_SOAP_ENC,new QName("urn:IceLogoFetcher", "getFilledLogoReturn"),null,null,stringDser);

Now we will create the call.
// Create and build the call.
Call call = new Call();
call.setSOAPMappingRegistry(smr);
call.setTargetObjectURI("urn:IceLogoFetcher");
call.setMethodName("getFilledLogo");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

Next, the different parameters will be added to the call.
// Create the parameters
Vector params = new Vector();
String[] lHumanGranzymeBSubstrates = new String[]{"GHISVKEPTPSIASDISLPIATQELRQRLR",... ,..., "LERDDGSTMMEIDGDKGKQGGPTYYIDTNA","SAGYGGYEEYSGLSDGYGFTTDLFGRDLSY"};
params.addElement(new Parameter("lExperimentalSet", String[].class, lHumanGranzymeBSubstrates, null));
params.addElement(new Parameter("lStartPosition", Integer.class, new Integer(0), null));
params.addElement(new Parameter("lHeight", Integer.class, new Integer(600), null));
params.addElement(new Parameter("lWidth", Integer.class, new Integer(800), null));
call.setParams(params);


Finally, we will invoke the call and get the response.
// Invoke the call ...
Response lIceLogoResponse;
try{
    // ... and get the respons
    lIceLogoResponse = call.invoke(lIcelogoUrl, "");
} catch (SOAPException e) {
    // ... or print an error if something went wrong
    System.err.println("Caught SOAPException (" + e.getFaultCode() + "): " + e.getMessage());
    return;
}


At this point, we should have a correct response. This response is used to extract a String with the SVG.
//get the result
Parameter ret = lIceLogoResponse.getReturnValue();
String lSVGResult = (String) ret.getValue();

This String with the svg content can be converted to images via the apache batik library. Here we will give a brief example of how the result can be converted to a jpeg image. More different image types are covered in the icelogoserver code.
//create an svg document
String parser = XMLResourceDescriptor.getXMLParserClassName();
SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
InputStream is = new ByteArrayInputStream(lSVGResult.getBytes("UTF-8"));
SVGDocument lSVGDocument = (SVGDocument) f.createDocument(null, is);
//create the input
TranscoderInput input = new TranscoderInput(lSVGDocument);
//create an output and an outputstream
OutputStream lOutstream = new FileOutputStream(lFilename);
TranscoderOutput lOutput = new TranscoderOutput(lOutstream);
//do the transcoding
//we need a jpeg figure
Transcoder lJPEGTranscoder = new JPEGTranscoder();
lJPEGTranscoder.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(1.0));
lJPEGTranscoder.transcode(input, lOutput);
//close the stream
lOutstream.flush();
lOutstream.close();


Methods

getAvailableAaParameters
     Parameters
/
     Respons
String[] getAvailableAaParametersReturn String array with the title of the different matices that can be used in the AaParameterGraphs

getAvailableSubstitutionMatrices
     Parameters
/
     Respons
String[] getAvailableSubstitutionMatricesReturn String array with the title of the different substitution matices that can be used in the ConservationLines

getStaticIceLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lScoringType String with the type of scoring that is used in the iceLogo. This can be "percentage" for the percentage differecne or "foldchange" for the fold change method
int lYaxis int with the height of the Y-axis. This must be larger than 0
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticIceLogoReturn String with the svg content

getStaticHeatMap
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1

     Respons
String getStaticHeatMapReturn String with the svg content

getStaticSequenceLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticSequenceLogoReturn String with the svg content

getStaticAaParameterGraph
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lAaMatrixTitle String with the title of one of the amino acid parameter matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticAaParameterGraphReturn String with the svg content

getStaticConservationLine
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lSubstitutionMatrixTitle String with the title of one of the substitution matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticConservationLineReturn String with the svg content

getStaticReferenceSetIceLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lReferenceSet String array with the different peptides used in the creation of the reference set (the peptides have to be of the same length)
String lScoringType String with the type of scoring that is used in the iceLogo. This can be "percentage" for the percentage differecne or "foldchange" for the fold change method
int lYaxis int with the height of the Y-axis. This must be larger than 0
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticReferenceSetIceLogoReturn String with the svg content

getStaticReferenceSetHeatMap
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lReferenceSet String array with the different peptides used in the creation of the reference set (the peptides have to be of the same length)
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1

     Respons
String getStaticReferenceSetHeatMapReturn String with the svg content

getStaticReferenceSetSequenceLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lReferenceSet String array with the different peptides used in the creation of the reference set (the peptides have to be of the same length)
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticReferenceSetSequenceLogoReturn String with the svg content

getStaticReferenceSetAaParameterGraph
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lReferenceSet String array with the different peptides used in the creation of the reference set (the peptides have to be of the same length)
String lAaMatrixTitle String with the title of one of the amino acid parameter matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticReferenceSetAaParameterGraphReturn String with the svg content

getStaticReferenceSetConservationLine
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lReferenceSet String array with the different peptides used in the creation of the reference set (the peptides have to be of the same length)
String lSubstitutionMatrixTitle String with the title of one of the substitution matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getStaticReferenceSetConservationLineReturn String with the svg content

getFilledLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
int lStartPosition int with the start position
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200

     Respons
String getFilledLogoReturn String with the svg content

getSamplingIceLogo
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lExperimentalSet2 String array with the different peptides of the second experimental set (if this array is of lenght 0, or if it is null only the first experimental set will be used)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lScoringType String with the type of scoring that is used in the iceLogo. This can be "percentage" for the percentage differecne or "foldchange" for the fold change method
int lYaxis int with the height of the Y-axis. This must be larger than 0
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200
String lSamplingType String with the sampling type. This can be "regional", "terminal" or "random"
int lSamplingPosition int with the sampling position. This is only important if the regional samping method is used. This value has to be larger than 0 and smaller than or equal to the peptide lenght in the experimental set. It is thus not zero base counting
int lSamplingIterations int with the number of sampling iterations. This must be larger than 0
int lAnchorPosition int with the position of sampling. This is only important if the sampling method is "terminal". This must be larger than 0, and this is thus not a zero based counting
String lSamplingDirection String that indicates the direction of sampling. This can be "NtoC" or "CtoN". This is only important if the sampling method is terminal

     Respons
String getSamplingIceLogoReturn String with the svg content

getSamplingHeatMap
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lExperimentalSet2 String array with the different peptides of the second experimental set (if this array is of lenght 0, or if it is null only the first experimental set will be used)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200
String lSamplingType String with the sampling type. This can be "regional", "terminal" or "random"
int lSamplingPosition int with the sampling position. This is only important if the regional samping method is used. This value has to be larger than 0 and smaller than or equal to the peptide lenght in the experimental set. It is thus not zero base counting
int lSamplingIterations int with the number of sampling iterations. This must be larger than 0
int lAnchorPosition int with the position of sampling. This is only important if the sampling method is "terminal". This must be larger than 0, and this is thus not a zero based counting
String lSamplingDirection String that indicates the direction of sampling. This can be "NtoC" or "CtoN". This is only important if the sampling method is terminal

     Respons
String getSamplingHeatMapReturn String with the svg content

getSamplingAaParameterGraph
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lExperimentalSet2 String array with the different peptides of the second experimental set (if this array is of lenght 0, or if it is null only the first experimental set will be used)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lAaMatrixTitle String with the title of one of the amino acid parameter matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200
String lSamplingType String with the sampling type. This can be "regional", "terminal" or "random"
int lSamplingPosition int with the sampling position. This is only important if the regional samping method is used. This value has to be larger than 0 and smaller than or equal to the peptide lenght in the experimental set. It is thus not zero base counting
int lSamplingIterations int with the number of sampling iterations. This must be larger than 0
int lAnchorPosition int with the position of sampling. This is only important if the sampling method is "terminal". This must be larger than 0, and this is thus not a zero based counting
String lSamplingDirection String that indicates the direction of sampling. This can be "NtoC" or "CtoN". This is only important if the sampling method is terminal

     Respons
String getSamplingAaParameterGraphReturn String with the svg content

getSamplingConservationLine
     Parameters
String[] lExperimentalSet String array with the different peptides (the peptides have to be of the same length)
String[] lExperimentalSet2 String array with the different peptides of the second experimental set (if this array is of lenght 0, or if it is null only the first experimental set will be used)
String lSpecies String with the scientific name of the species that is used in the creation of the reference set
String lSubstitutionMatrixTitle String with the title of one of the substitution matrices
int lStartPosition int with the start position
double lPvalue double with the p value. This must be larger than 0 and smaller than 1
int lHeight int with the height of the image in pixels. This must be larger than 200
int lWidth int with the width of the image in pixels. This must be larger than 200
String lSamplingType String with the sampling type. This can be "regional", "terminal" or "random"
int lSamplingPosition int with the sampling position. This is only important if the regional samping method is used. This value has to be larger than 0 and smaller than or equal to the peptide lenght in the experimental set. It is thus not zero base counting
int lSamplingIterations int with the number of sampling iterations. This must be larger than 0
int lAnchorPosition int with the position of sampling. This is only important if the sampling method is "terminal". This must be larger than 0, and this is thus not a zero based counting
String lSamplingDirection String that indicates the direction of sampling. This can be "NtoC" or "CtoN". This is only important if the sampling method is terminal

     Respons
String getSamplingConservationLineReturn String with the svg content

iceLogo stand alone version iceLogo server version Computational proteomics VIB University Ghent