Title: Implementation of CC Web Services for the HOBIT Platform
1Implementation of C/C Web Services for the
HOBIT Platform
2Overview
- Idea of the HOBIT initiative
- Oligo Selection for chip design
- Web Services
- gSOAP Development of C/C Web Services and
Clients
3Helmholtz Open Bioinformatics Technology
- Idea open bioinformatic resources for research
- Organisational and technological platform for
interconnection of bioinformatics activities - Provide a comprehensive and integrating structure
for exchange of information via the web - Based on open source technologies it is dedicated
to every interested institution or person
4- Freie Universität Berlin Algorithmic
Bioinformatics Group - DKFZ Heidelberg Department of Molecular
Biophysics - Bielefeld University Research Group in Practical
Computer Science - GBF Braunschweig Department of Genome Analysis
- University of Cologne Cologne University
Bioinformatics Center - GSF Munich MIPS / Institute for Bioinformatics
- Georg-August University Göttingen Department of
Bioinformatics - MDC Berlin Bioinformatics Department
- MDC/EMBL Heidelberg Comparative Sequence
Analysis - Ludwig Maximilians Universität Munich Lehr- und
Forschung-seinheit Bioinformatik - Universität Würzburg Institute of Bioinformatics
5Overview
- Idea of the HOBIT initiative
- Oligo Selection for chip design
- Web Services
- gSOAP Development of C/C Web Services and
Clients
6- Oligo selection for chip design
- (Gunnar W. Klau, Sven Rahmann, Alexander Schliep,
- Martin Vingron und Knut Reinert)
- Ole Schulz-Trieglaf
- (Bachelor thesis)
7Motivation
- DNA-Microarrays can be used to test for the
presence or absence of biological agents, the
targets. - Probes (oligonucleotides) sit on spots of the
array. - After experiment observe hybridization pattern
(consider experimental errors!). - Problems unique probes often difficult to find
want to use only few probes - Task find design (minimal set of probes) that
allows to infer which targets are in the sample
8Motivation Example
Motivation Example
Hybridization matrix (Hij)
Assume only one target in the sample
9Motivation Example
Motivation Example
Hybridization matrix (Hij)
p1
p2
p3
p4
p5
p6
p7
p8
p9
t1
1
1
1
0
1
1
0
0
0
t2
1
0
1
1
0
0
1
1
0
t3
0
1
1
1
0
1
1
0
1
t4
0
1
0
0
1
0
1
1
1
Assume two targets in the sample, e.g., t2,t3
10Motivation Example
Motivation Example
Hybridization matrix (Hij)
Then take all probes ?
Those suffice !!!
11Oligo selection
- Old approach Greedy algorithm (Schliep et al)
- A design that guarantees d-separability for all
pairs of targets - ? Note! Due to the greedy nature of this
algorithm the chosen design is not guaranteed to
be minimal. - New approach Integer Linear Programming based
algorithm (Klau et al.) - Do what greedy does optimally and also separate
small groups
12Overview
- Idea of the HOBIT initiative
- Oligo Selection for chip design
- Web Services
- gSOAP Development of C/C Web Services and
Clients
13Web Services
Internet
SOAP over HTTP (XML message)
14Web Service Definition
- A Web service is a software application
identified by a URI, whose interfaces and
bindings are capable of being defined, described,
and discovered as XML artifacts. - A Web service supports direct interactions with
other software agents using XML based messages
exchanged via Internet-based protocols. - (by W3C web service architecture group)
15Remote Procedure Calls (RPC)
An automated Simple Object Access Protocol RPC
Stub generator for C by Saurabh Pant
16Web Service Technology Stack
17SOAP
- Light-weight protocol based on XML as the
marshalling format for data in request and
response messages - Vendor- and platform-neutral
- Language-neutral
- Object-model-neutral
- Transport-neutral
- XML allows data transformation (XSLT)
- XML enables long-term data persistence
18RPC
- Remote Procedure Calls bestehen gewöhnlich aus
zwei Nachrichten (Request-Response) - Eine Nachricht für die Anfrage an die
entfernte Prozedur - Eine Nachricht für die Antwort
- (Die Antwortnachricht ist nicht zwingend.)
Request
SOAP Client
SOAP Server
Response
19Benefits of Web Services
- Reusability
- Location transparency
- Composition
- Scalability
- Reduced vendor dependence
20Overview
- Idea of the HOBIT initiative
- Oligo Selection for chip design
- Web Services
- gSOAP Development of C/C Web Services and
Clients
21The gSOAP Toolkit
- Open source (C, C, and Java)
- gt2000 registered users
- Automates the deployment of (legacy) C/C
applications as Web Services - Automates the development of clients
- Suitable for high-performance computing
22Server Development
23- Service description (WSDL)Method names
ns1__greedySelection, ns1__ilpSelectionInput
parameter min_cov of type xsdunsignedInt - min_sep of type xsdunsignedInt
- target_in of type ns1TargetList
- Output parameter result of type ns1TargetList
- Remote procedure declaration
- int ns1__greedySelection(xsd__unsignedInt
min_cov, xsd__unsignedInt min_sep,
ns1__TargetList target_in, - struct ns1__greedySelectionResponse result)
- Client code
- main()
-
- if (soap_call_ns1__greedySelection(soap,server,""
,mincov,minsep, - t_list,result2))
- // Error
- else
24Client Development
Specification of Data Types and Remote
Procedures in C/C Header File
Client Application
gSOAP-generated Stub Routines
WSDL
25The gSOAP Stub Compiler
- Generates source code stubs for SOAP RPC
- Generates XML (de)marshalling routines for native
and user-defined C/C data types - The gSOAP runtime provides low-level HTTP, TCP,
SOAP/XML handling and memory management
capabilities
26SOAP Request
- lt?xml version"1.0" encoding"UTF-8" ?gt
- ltSOAP-ENVEnvelope xmlnsSOAP-ENVhttp//schemas.x
mlsoap.org/soap/envelope/ - xmlnsns1"http//page.mi.fu-berlin.de/lange/Oli
goSelection.wsdl"gt - ltSOAP-ENVBody SOAP-ENVencodingStylehttp//schem
as.xmlsoap.org/soap/encoding/ - id"_0"gt
- ltns1greedySelectiongt
- ltmin-cov xsitype"xsdunsignedInt"gt10lt/mincovgt
- ltmin-sep xsitype"xsdunsignedInt"gt5lt/minsepgt
- lttarget-in xsitype"ns1TargetList"gt
- lttarget-list xsitype"ns1Target"gt
- ltname xsitype"xsdstring"gtX75453lt/namegt
- ltoligo-list xsitype"ns1Oligo"gt
- ltsequence xsitype"xsdstring"gtTAAATGCGGCTAC
GTGAAAAGCTAGlt/sequencegt - ltbadness-value xsitype"xsdfloat"gt1lt/badnes
s-valuegt - lt/oligo-listgt
- lt/target-listgt
- lt/target-ingt
- lt/ns1greedySelectiongt
- lt/SOAP-ENVBodygt
27SOAP Response
- lt?xml version"1.0" encoding"UTF-8"?gt
- ltSOAP-ENVEnvelope xmlnsSOAP-ENVhttp//schemas.x
mlsoap.org/soap/envelope/ - xmlnsns1"http//page.mi.fu-berlin.de/lange/Oli
goSelection.wsdl"gt - ltSOAP-ENVBody SOAP-ENVencodingStylehttp//schem
as.xmlsoap.org/soap/encoding/ - id"_0"gt
- ltns1greedySelectionResponsegt
- ltresult-list xsitype"ns1TargetList"gt
- lttarget-list xsitype"ns1Target"gt
- ltname xsitype"xsdstring"gtX75453lt/namegt
- ltoligo-list xsitype"ns1Oligo"gt
- ltsequence xsitype"xsdstring"gtTAAATGCGGCTAC
GTGAAAAGCTAGlt/sequencegt - ltbadness-value xsitype"xsdfloat"gt1lt/badnes
s-valuegt - lt/oligo-listgt
- lt/target-listgt
- lt/result-listgt
- lt/ns1greedySelectionResponsegt
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
28References
- An automated Simple Object Access Protocol RPC
Stub generator for C by Saurabh Pant, MSc
Report - gSOAP paper in the proceedings of IEEE CCGrid
Conference 2002 - Enterprise Applications, lecture of Prof.
Fischer, TU Braunschweig - (http//www.ibr.cs.tu-bs.de/lehre/ss04/ea/index.h
tml) - Java Web Services Architecture by J. Mc Govern
et al, Morgan Kaufmann Publishers
29Thank you for your attention !!!