SlideShare a Scribd company logo
1 of 1
Download to read offline
Powered	
  by:	
  

JAQPOT Web Services
An	
  Implementa+on	
  of	
  the	
  OpenTox	
  Applica+on	
  Programming	
  	
  
Interface	
  for	
  On-­‐line	
  Predic+on	
  of	
  Toxicological	
  Proper+es

ToxO6s-­‐core	
  

a	
  and	
  Haralambos	
  Sarimveisb	
  
Pantelis	
  Sopasakis
a	
  IMT	
  Al0	
  Studi	
  Lucca,	
  Piazza	
  San	
  Ponziano,	
  6,	
  55100,	
  Lucca,	
  Italy.	
  E-­‐mail:	
  p.sopasakis@imtlucca.it	
  

b	
  Na0onal	
  Technical	
  University	
  of	
  Athens,	
  School	
  of	
  Chemical	
  Engineering,	
  Heroon	
  Politechniou,	
  9,	
  	
  

ToxO6s-­‐DB	
  

15780,	
  Zografou	
  Campus,	
  Athens,	
  Email:	
  hsarimv@central.ntua.gr	
  	
  

About	
  

The	
  client	
  can	
  monitor	
  the	
  progress	
  of	
  a	
  running	
  
task	
  through	
  the	
  Task	
  interface.	
  

The	
  landscape	
  of	
  predic0ve	
  toxicology	
  has	
  u7erly	
  changed	
  a8er	
  the	
  comple0on	
  of	
  the	
  FP7-­‐funded	
  
EU	
   research	
   project	
   OpenTox	
   [1]	
   which	
   established	
   new	
   standards	
   for	
   systems	
   of	
   distributed	
  
toxicological	
   computa0on.	
   JAQPOT	
   is	
   a	
   bundle	
   of	
   web	
   services,	
   compliant	
   to	
   the	
   OpenTox	
  
Applica0on	
   Programming	
   Interface	
   [2]	
   and	
   provides	
   access	
   to	
   Machine	
   Learning	
   algorithms	
   and	
  
data	
  processing	
  rou0nes	
  par0cularly	
  tailored	
  to	
  the	
  needs	
  of	
  predic0ve	
  toxicology.	
  End-­‐users	
  may	
  
exploit	
   its	
   func0onali0es	
   either	
   through	
   web	
   interfaces	
   or	
   programma0cally.	
   Toxicologists,	
  
biologists	
  and	
  other	
  scien0sts	
  can	
  make	
  the	
  best	
  out	
  of	
  their	
  data	
  using	
  a	
  transparent,	
  modular	
  and	
  
interoperable	
   computa0onal	
   plaQorm	
   on	
   the	
   web.	
   Confiden0al	
   in-­‐house	
   data	
   can	
   also	
   be	
  
integrated	
  securely	
  by	
  means	
  of	
  an	
  access	
  control	
  infrastructure	
  based	
  on	
  Single	
  Sign-­‐On.	
  
	
   	
   	
   JAQPOT	
   is	
   available	
   online	
   at	
   h7p://opentox.ntua.gr:8080	
   and	
   is	
   accessible	
   through	
   its	
   REST	
  
interface,	
  or	
  can	
  be	
  downloaded	
  from	
  h7ps://github.com/alphaville/jaqpot3	
   	
  and	
  installed	
  locally	
  
on	
   one’s	
   LAN	
   following	
   the	
   instruc0on	
   found	
   at	
   h7p://opentox.ntua.gr/blog/14-­‐standalone-­‐
installa0on-­‐jaqpot3.	
  

A	
   simple	
   HTML	
   interface	
   has	
   also	
   been	
   setup	
   for	
   easier	
  
consump0on	
  of	
  the	
  web	
  services.	
  	
  

Machine	
  Learning	
  Algorithms	
  
JAQPOT	
   provides	
   access	
   to	
   a	
   number	
   of	
   algorithms	
   for	
   model	
   training	
   and	
   data	
   preprocessing.	
  
According	
  to	
  the	
  OpenTox	
  API	
  v1.2	
  algorithms	
  interface.	
  
Descrip6on	
  
Method	
   URI	
  
Get	
  a	
  list	
  of	
  the	
  
GET	
  
/algorithm
URIs	
  of	
  all	
  available	
  
algorithms	
  

Result	
  
List	
  of	
  all	
  algorithm	
  URIs	
  or	
  RDF	
  
representa0on	
  of	
  specific	
  types	
  in	
  
presence	
  of	
  a	
  query	
  parameter.	
  

Get	
  the	
  ontological	
   GET	
  
representa0on	
  of	
  
an	
  algorithm	
  

/algorithm/{id}

Algorithm	
  representa0on	
  in	
  one	
  of	
  the	
  
supported	
  MIME	
  types.	
  

Apply	
  the	
  algorithm	
   POST	
  

/algorithm/{id}

The	
  result	
  is	
  either	
  a	
  model	
  URI,	
  a	
  dataset	
  
URI	
  or	
  a	
  feature	
  URI	
  depending	
  on	
  the	
  
specifica0ons	
  of	
  the	
  algorithm.	
  Long-­‐
running	
  processes	
  return	
  the	
  URI	
  of	
  a	
  
Task.	
  

DEFAULT	
  POLICY:	
  Unless	
  otherwise	
  specified	
  by	
  
the	
  client,	
  once	
  a	
  new	
  model	
  is	
  created	
  it	
  can	
  be	
  
accessed	
  only	
  by	
  its	
  creator.	
  

This	
  is	
  an	
  excerpt	
  from	
  the	
  ontological	
  representa0on	
  of	
  the	
  SVM	
  algorithm	
  of	
  JAQPOT:	
  
<http://opentox.ntua.gr:8080/algorithm/svm>
a
ota:EagerLearning , ot:Algorithm , ota:Regression , ota:SingleTarget ;
rdfs:comment "Representation automatically generated by ToxOtis."^^xsd:string;
dc:date "Mon Apr 29 16:50:25 EEST 2013"^^xsd:dateTime ;
dc:description "Algorithm for training …"^^xsd:string ;
dc:identifier "http://opentox.ntua.gr:8080/algorithm/svm"^^xsd:anyURI ;
dc:publisher "http://opentox.ntua.gr:8080/"^^xsd:string ;

POLICIES	
  define	
  who	
  and	
  how	
  can	
  access	
  a	
  
resource	
  (e.g.	
  a	
  Model).	
  Only	
  the	
  creator	
  of	
  
a	
  resource	
  can	
  modify	
  the	
  policy	
  for	
  it.	
  

The	
  tuning	
  parameters	
  of	
  an	
  algorithm	
  (e.g.	
  the	
  gamma	
  parameter	
  of	
  an	
  SVM	
  algorithm)	
  have	
  an	
  
ontological	
  representa0on	
  as	
  well.	
  Here	
  is	
  an	
  example:	
  
<http://opentox.ntua.gr:8080/prm/svm_gamma>
a
ot:Parameter ;
rdfs:comment "Only strictly positive values are acceptable"^^xsd:string ;
dc:description "Gamma Parameter for the SVM kernel"^^xsd:string ;
dc:identifier "http://opentox.ntua.gr:8080/prm/svm_gamma"^^xsd:anyURI ;
dc:title "gamma"^^xsd:string ;
ot:paramScope "OPTIONAL"^^xsd:string ;
ot:paramValue "1.5"^^xsd:double .

The	
  following	
  algorithms	
  are	
  available	
  in	
  JAQPOT:	
  
•  Fast	
  RBF	
  Neural	
  Networks:	
  The	
  algorithm	
  is	
  based	
  on	
  the	
  subtrac0ve	
  clustering	
  technique	
  and	
  
has	
   a	
   number	
   of	
   advantages	
   compared	
   to	
   the	
   tradi0onal	
   learning	
   algorithms	
   including	
   faster	
  
training	
   0mes	
   and	
   more	
   accurate	
   predic0ons.	
   Due	
   to	
   these	
   advantages	
   the	
   method	
   proves	
  
suitable	
  for	
  developing	
  models	
  for	
  complex	
  nonlinear	
  systems	
  [3].	
  
•  Par6al	
   Least	
   Squares:	
   PLS	
   is	
   a	
   standard,	
   widely	
   used	
   supervised	
   algorithm	
   for	
   dimension	
  
reduc0on	
  on	
  datasets.	
  
•  Scaling:	
  This	
  web	
  service	
  is	
  intended	
  to	
  scale	
  the	
  numeric	
  values	
  of	
  an	
  OpenTox	
  dataset	
  within	
  a	
  
specified	
  range.If	
  not	
  otherwise	
  specified	
  by	
  the	
  client,	
  this	
  range	
  is	
  assumed	
  to	
  be	
  [-­‐1,1].	
  Scaling	
  
is	
   necessary	
   for	
   algorithms	
   like	
   SVM	
   and	
   Neural	
   Networks	
   as	
   it	
   substan0ally	
   improves	
   the	
  
accuracy	
  of	
  the	
  trained	
  models.	
  
•  Support	
  Vector	
  Machines	
  
•  Missing	
   Value	
   Replacer:	
   Replaces	
   the	
   missing	
   values	
   in	
   a	
   dataset	
   using	
   the	
   means-­‐and-­‐modes	
  
technique.	
  
•  Leverage:	
  Algorithm	
  for	
  the	
  es0ma0on	
  of	
  the	
  Domain	
  of	
  Applicability	
  of	
  a	
  model.	
  
•  Mul6ple	
  Linear	
  Regression	
  

Use	
   a	
   (Q)SAR	
   model	
   to	
   perform	
   a	
   predic0on	
   (This	
   will	
   create	
   a	
   new	
   dataset	
  
were	
   the	
   es0mated	
   proper0es	
   and	
   the	
   corresponding	
   experimental	
   values	
   –	
   if	
  
any	
  –	
  are	
  stored	
  ):	
  
curl -X POST opentox.ntua.gr:8080/model/005cb503
-30ed-4792-9de6-3b0e948969de-d dataset_uri=
apps.ideaconsult.net:8080/ambit2/dataset/R545 -H
"subjectid:AQIC5wM2L…CMDE.*" -H Accept:text/uri-list

Train,	
  Evaluate	
  and	
  Use	
  (Q)SAR	
  Models	
  
in	
  JAQPOT	
  
Before	
  the	
  users	
  can	
  use	
  any	
  of	
  the	
  services	
  of	
  JAQPOT	
  they	
  should	
  authen0cate	
  their	
  creden0als	
  
against	
   the	
   SSO	
   server	
   of	
   OpenTox	
   and	
   receive	
   an	
   authen0ca0on	
   token:	
   Here	
   is	
   an	
   example	
   cURL	
  
request:	
  
curl -X POST https://opensso.in-silico.ch/opensso/identity/
authenticate?uri=service=openldap -k -d username=guest -d
password=guest
This	
  request	
  will	
  return	
  a	
  token	
  to	
  the	
  client	
  (if	
  the	
  provided	
  creden0als	
  are	
  correct).	
  For	
  instance:	
  
token.id=AQIC5wM2LY4Sf…b79U8OjM.*AAJTSQACMDE.*
This	
  token	
  is	
  passed	
  to	
  the	
  algorithm	
  service	
  using	
  the	
  Header	
  subjectid	
  along	
  with	
  the	
  tuning	
  
parameters	
  of	
  the	
  algorithm,	
  the	
  URI	
  of	
  the	
  dataset	
  and	
  the	
  URI	
  of	
  the	
  target	
  feature.	
  
curl -X POST http://opentox.ntua.gr:8080/algorithm/fastRbfNn
-d dataset_uri=http://apps.ideaconsult.net:8080/ambit2/dataset/R545
-d prediction_feature=http://apps.ideaconsult.net:8080/ambit2/
feature/22200 -d a=1.0 -d b=0.86 -d e=0.6
-H "subjectid:AQIC5wM2L…CMDE.*" -H Accept:text/uri-list
This	
  will	
  return	
  the	
  URI	
  of	
  a	
  task	
  which	
  upon	
  comple0on	
  will	
  return	
  the	
  URI	
  of	
  a	
  model.	
  

Acknowledgement	
  

This	
   work	
   was	
   financially	
   supported	
   by	
   OpenTox	
   -­‐	
   An	
   Open	
   Source	
   Predic0ve	
   Toxicology	
  
Framework,	
   h7p://www.opentox.org,	
   is	
   funded	
   under	
   the	
   EU	
   Seventh	
   Framework	
   Program:	
  
HEALTH-­‐2007-­‐1.3-­‐3	
   Promo0on,	
   development,	
   valida0on,	
   acceptance	
   and	
   implementa0on	
   of	
  
QSARs	
   (Quan0ta0ve	
   Structure-­‐Ac0vity	
   Rela0onships)	
   for	
   toxicology,	
   Project	
   Reference	
   Number	
  
Health-­‐F5-­‐2008-­‐200787	
  (2008-­‐2011).	
  	
  
	
  

References	
  

1.  Hardy,	
  B.	
  et	
  al.	
  2010.	
  Collabora0ve	
  development	
  of	
  predic0ve	
  toxicology	
  applica0ons.	
  Journal	
  
of	
  Cheminforma1cs,	
  2,	
  1	
  –	
  29.	
  
2.  The	
   OpenTox	
   API	
   ver.	
   1.2	
   –	
   Technical	
   Specifica0ons:	
   Available	
   online	
   at	
  
h7p://opentox.org/dev/apis/api-­‐1.2	
  (accessed	
  on	
  12	
  June,	
  2013).	
  	
  
3.  H.	
   Sarimveis,	
   A.	
   Alexandridis	
   and	
   G.	
   Bafas	
   2003.,	
   A	
   fast	
   training	
   algorithm	
   for	
   RBF	
   networks	
  
based	
  on	
  subtrac0ve	
  clustering,	
  Neurocompu0ng,	
  52,	
  501	
  –	
  505.	
  
4.  N.	
   Jeliazkova	
   and	
   V.	
   Jeliazkov	
   2011,	
   AMBIT	
   RESTful	
   Web	
   Services:	
   An	
   implementa0on	
   of	
   the	
  
OpenTox	
  Applica0on	
  Programming	
  Itnerface,	
  Journal	
  of	
  Cheminforma1cs,	
  3,	
  1	
  –	
  18.	
  

More Related Content

Similar to Just Another QSAR Project under OpenTox

XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorialmarpierc
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Jason Dai
 
Co emulation of scan-chain based designs
Co emulation of scan-chain based designsCo emulation of scan-chain based designs
Co emulation of scan-chain based designsijcsit
 
Summarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesSummarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesNikos Katirtzis
 
M3AT: Monitoring Agents Assignment Model for the Data-Intensive Applications
M3AT: Monitoring Agents Assignment Model for the Data-Intensive ApplicationsM3AT: Monitoring Agents Assignment Model for the Data-Intensive Applications
M3AT: Monitoring Agents Assignment Model for the Data-Intensive ApplicationsVladislavKashansky
 
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology Network
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology NetworkToxOtis: A Java Interface to the OpenTox Predictive Toxicology Network
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology NetworkPantelis Sopasakis
 
Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in RealtimeDataWorks Summit
 
AnalyticOps - Chicago PAW 2016
AnalyticOps - Chicago PAW 2016AnalyticOps - Chicago PAW 2016
AnalyticOps - Chicago PAW 2016Robert Grossman
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018Trayan Iliev
 
OpenTox API: Lessons learnt, limitations and challenges
OpenTox API: Lessons learnt, limitations and challengesOpenTox API: Lessons learnt, limitations and challenges
OpenTox API: Lessons learnt, limitations and challengesPantelis Sopasakis
 
OREChem Services and Workflows
OREChem Services and WorkflowsOREChem Services and Workflows
OREChem Services and Workflowsmarpierc
 
Microservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingMicroservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingAraf Karsh Hamid
 
byteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE
 
Theta: a Framework for Abstraction Refinement-Based Model Checking
Theta: a Framework for Abstraction Refinement-Based Model CheckingTheta: a Framework for Abstraction Refinement-Based Model Checking
Theta: a Framework for Abstraction Refinement-Based Model CheckingAkos Hajdu
 
Gatling - Stress test tool
Gatling - Stress test toolGatling - Stress test tool
Gatling - Stress test toolKnoldus Inc.
 

Similar to Just Another QSAR Project under OpenTox (20)

XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorial
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
Automated ML Workflow for Distributed Big Data Using Analytics Zoo (CVPR2020 ...
 
Co emulation of scan-chain based designs
Co emulation of scan-chain based designsCo emulation of scan-chain based designs
Co emulation of scan-chain based designs
 
Summarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering TechniquesSummarizing Software API Usage Examples Using Clustering Techniques
Summarizing Software API Usage Examples Using Clustering Techniques
 
M3AT: Monitoring Agents Assignment Model for the Data-Intensive Applications
M3AT: Monitoring Agents Assignment Model for the Data-Intensive ApplicationsM3AT: Monitoring Agents Assignment Model for the Data-Intensive Applications
M3AT: Monitoring Agents Assignment Model for the Data-Intensive Applications
 
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology Network
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology NetworkToxOtis: A Java Interface to the OpenTox Predictive Toxicology Network
ToxOtis: A Java Interface to the OpenTox Predictive Toxicology Network
 
Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in Realtime
 
AnalyticOps - Chicago PAW 2016
AnalyticOps - Chicago PAW 2016AnalyticOps - Chicago PAW 2016
AnalyticOps - Chicago PAW 2016
 
Telegraph Cq English
Telegraph Cq EnglishTelegraph Cq English
Telegraph Cq English
 
IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018IPT Reactive Java IoT Demo - BGOUG 2018
IPT Reactive Java IoT Demo - BGOUG 2018
 
OpenTox API: Lessons learnt, limitations and challenges
OpenTox API: Lessons learnt, limitations and challengesOpenTox API: Lessons learnt, limitations and challenges
OpenTox API: Lessons learnt, limitations and challenges
 
OREChem Services and Workflows
OREChem Services and WorkflowsOREChem Services and Workflows
OREChem Services and Workflows
 
opnet lab report
opnet lab reportopnet lab report
opnet lab report
 
Microservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingMicroservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive Programming
 
Backtrack Manual Part6
Backtrack Manual Part6Backtrack Manual Part6
Backtrack Manual Part6
 
byteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA SolutionsbyteLAKE's Alveo FPGA Solutions
byteLAKE's Alveo FPGA Solutions
 
Theta: a Framework for Abstraction Refinement-Based Model Checking
Theta: a Framework for Abstraction Refinement-Based Model CheckingTheta: a Framework for Abstraction Refinement-Based Model Checking
Theta: a Framework for Abstraction Refinement-Based Model Checking
 
Gatling - Stress test tool
Gatling - Stress test toolGatling - Stress test tool
Gatling - Stress test tool
 
Introduction to ns3
Introduction to ns3Introduction to ns3
Introduction to ns3
 

More from Pantelis Sopasakis

Fast parallelizable scenario-based stochastic optimization
Fast parallelizable scenario-based stochastic optimizationFast parallelizable scenario-based stochastic optimization
Fast parallelizable scenario-based stochastic optimizationPantelis Sopasakis
 
Accelerated reconstruction of a compressively sampled data stream
Accelerated reconstruction of a compressively sampled data streamAccelerated reconstruction of a compressively sampled data stream
Accelerated reconstruction of a compressively sampled data streamPantelis Sopasakis
 
Smart Systems for Urban Water Demand Management
Smart Systems for Urban Water Demand ManagementSmart Systems for Urban Water Demand Management
Smart Systems for Urban Water Demand ManagementPantelis Sopasakis
 
HMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlHMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlPantelis Sopasakis
 
Sloshing-aware MPC for upper stage attitude control
Sloshing-aware MPC for upper stage attitude controlSloshing-aware MPC for upper stage attitude control
Sloshing-aware MPC for upper stage attitude controlPantelis Sopasakis
 
Robust model predictive control for discrete-time fractional-order systems
Robust model predictive control for discrete-time fractional-order systemsRobust model predictive control for discrete-time fractional-order systems
Robust model predictive control for discrete-time fractional-order systemsPantelis Sopasakis
 
OpenTox API introductory presentation
OpenTox API introductory presentationOpenTox API introductory presentation
OpenTox API introductory presentationPantelis Sopasakis
 
Water demand forecasting for the optimal operation of large-scale water networks
Water demand forecasting for the optimal operation of large-scale water networksWater demand forecasting for the optimal operation of large-scale water networks
Water demand forecasting for the optimal operation of large-scale water networksPantelis Sopasakis
 
Drinking Water Networks: Challenges and opportunites
Drinking Water Networks: Challenges and opportunitesDrinking Water Networks: Challenges and opportunites
Drinking Water Networks: Challenges and opportunitesPantelis Sopasakis
 
Controlled administration of Amiodarone using a Fractional-Order Controller
Controlled administration of Amiodarone using a Fractional-Order ControllerControlled administration of Amiodarone using a Fractional-Order Controller
Controlled administration of Amiodarone using a Fractional-Order ControllerPantelis Sopasakis
 
Model Predictive Control based on Reduced-Order Models
Model Predictive Control based on Reduced-Order ModelsModel Predictive Control based on Reduced-Order Models
Model Predictive Control based on Reduced-Order ModelsPantelis Sopasakis
 
Environmental Risk Assessment on the web
Environmental Risk Assessment on the webEnvironmental Risk Assessment on the web
Environmental Risk Assessment on the webPantelis Sopasakis
 
Modelling & Control of Drinkable Water Networks
Modelling & Control of Drinkable Water NetworksModelling & Control of Drinkable Water Networks
Modelling & Control of Drinkable Water NetworksPantelis Sopasakis
 
EFFINET - Initial Presentation
EFFINET - Initial PresentationEFFINET - Initial Presentation
EFFINET - Initial PresentationPantelis Sopasakis
 
Παρουσίαση Προόδου Διδακτορικού
Παρουσίαση Προόδου ΔιδακτορικούΠαρουσίαση Προόδου Διδακτορικού
Παρουσίαση Προόδου ΔιδακτορικούPantelis Sopasakis
 

More from Pantelis Sopasakis (20)

Fast parallelizable scenario-based stochastic optimization
Fast parallelizable scenario-based stochastic optimizationFast parallelizable scenario-based stochastic optimization
Fast parallelizable scenario-based stochastic optimization
 
Accelerated reconstruction of a compressively sampled data stream
Accelerated reconstruction of a compressively sampled data streamAccelerated reconstruction of a compressively sampled data stream
Accelerated reconstruction of a compressively sampled data stream
 
Smart Systems for Urban Water Demand Management
Smart Systems for Urban Water Demand ManagementSmart Systems for Urban Water Demand Management
Smart Systems for Urban Water Demand Management
 
Recursive Compressed Sensing
Recursive Compressed SensingRecursive Compressed Sensing
Recursive Compressed Sensing
 
HMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude ControlHMPC for Upper Stage Attitude Control
HMPC for Upper Stage Attitude Control
 
Sloshing-aware MPC for upper stage attitude control
Sloshing-aware MPC for upper stage attitude controlSloshing-aware MPC for upper stage attitude control
Sloshing-aware MPC for upper stage attitude control
 
Robust model predictive control for discrete-time fractional-order systems
Robust model predictive control for discrete-time fractional-order systemsRobust model predictive control for discrete-time fractional-order systems
Robust model predictive control for discrete-time fractional-order systems
 
OpenTox API introductory presentation
OpenTox API introductory presentationOpenTox API introductory presentation
OpenTox API introductory presentation
 
Water demand forecasting for the optimal operation of large-scale water networks
Water demand forecasting for the optimal operation of large-scale water networksWater demand forecasting for the optimal operation of large-scale water networks
Water demand forecasting for the optimal operation of large-scale water networks
 
Amiodarone administration
Amiodarone administrationAmiodarone administration
Amiodarone administration
 
Drinking Water Networks: Challenges and opportunites
Drinking Water Networks: Challenges and opportunitesDrinking Water Networks: Challenges and opportunites
Drinking Water Networks: Challenges and opportunites
 
Controlled administration of Amiodarone using a Fractional-Order Controller
Controlled administration of Amiodarone using a Fractional-Order ControllerControlled administration of Amiodarone using a Fractional-Order Controller
Controlled administration of Amiodarone using a Fractional-Order Controller
 
Model Predictive Control based on Reduced-Order Models
Model Predictive Control based on Reduced-Order ModelsModel Predictive Control based on Reduced-Order Models
Model Predictive Control based on Reduced-Order Models
 
Frobenious theorem
Frobenious theoremFrobenious theorem
Frobenious theorem
 
Set convergence
Set convergenceSet convergence
Set convergence
 
Polytopes inside polytopes
Polytopes inside polytopesPolytopes inside polytopes
Polytopes inside polytopes
 
Environmental Risk Assessment on the web
Environmental Risk Assessment on the webEnvironmental Risk Assessment on the web
Environmental Risk Assessment on the web
 
Modelling & Control of Drinkable Water Networks
Modelling & Control of Drinkable Water NetworksModelling & Control of Drinkable Water Networks
Modelling & Control of Drinkable Water Networks
 
EFFINET - Initial Presentation
EFFINET - Initial PresentationEFFINET - Initial Presentation
EFFINET - Initial Presentation
 
Παρουσίαση Προόδου Διδακτορικού
Παρουσίαση Προόδου ΔιδακτορικούΠαρουσίαση Προόδου Διδακτορικού
Παρουσίαση Προόδου Διδακτορικού
 

Recently uploaded

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

Just Another QSAR Project under OpenTox

  • 1. Powered  by:   JAQPOT Web Services An  Implementa+on  of  the  OpenTox  Applica+on  Programming     Interface  for  On-­‐line  Predic+on  of  Toxicological  Proper+es ToxO6s-­‐core   a  and  Haralambos  Sarimveisb   Pantelis  Sopasakis a  IMT  Al0  Studi  Lucca,  Piazza  San  Ponziano,  6,  55100,  Lucca,  Italy.  E-­‐mail:  p.sopasakis@imtlucca.it   b  Na0onal  Technical  University  of  Athens,  School  of  Chemical  Engineering,  Heroon  Politechniou,  9,     ToxO6s-­‐DB   15780,  Zografou  Campus,  Athens,  Email:  hsarimv@central.ntua.gr     About   The  client  can  monitor  the  progress  of  a  running   task  through  the  Task  interface.   The  landscape  of  predic0ve  toxicology  has  u7erly  changed  a8er  the  comple0on  of  the  FP7-­‐funded   EU   research   project   OpenTox   [1]   which   established   new   standards   for   systems   of   distributed   toxicological   computa0on.   JAQPOT   is   a   bundle   of   web   services,   compliant   to   the   OpenTox   Applica0on   Programming   Interface   [2]   and   provides   access   to   Machine   Learning   algorithms   and   data  processing  rou0nes  par0cularly  tailored  to  the  needs  of  predic0ve  toxicology.  End-­‐users  may   exploit   its   func0onali0es   either   through   web   interfaces   or   programma0cally.   Toxicologists,   biologists  and  other  scien0sts  can  make  the  best  out  of  their  data  using  a  transparent,  modular  and   interoperable   computa0onal   plaQorm   on   the   web.   Confiden0al   in-­‐house   data   can   also   be   integrated  securely  by  means  of  an  access  control  infrastructure  based  on  Single  Sign-­‐On.         JAQPOT   is   available   online   at   h7p://opentox.ntua.gr:8080   and   is   accessible   through   its   REST   interface,  or  can  be  downloaded  from  h7ps://github.com/alphaville/jaqpot3    and  installed  locally   on   one’s   LAN   following   the   instruc0on   found   at   h7p://opentox.ntua.gr/blog/14-­‐standalone-­‐ installa0on-­‐jaqpot3.   A   simple   HTML   interface   has   also   been   setup   for   easier   consump0on  of  the  web  services.     Machine  Learning  Algorithms   JAQPOT   provides   access   to   a   number   of   algorithms   for   model   training   and   data   preprocessing.   According  to  the  OpenTox  API  v1.2  algorithms  interface.   Descrip6on   Method   URI   Get  a  list  of  the   GET   /algorithm URIs  of  all  available   algorithms   Result   List  of  all  algorithm  URIs  or  RDF   representa0on  of  specific  types  in   presence  of  a  query  parameter.   Get  the  ontological   GET   representa0on  of   an  algorithm   /algorithm/{id} Algorithm  representa0on  in  one  of  the   supported  MIME  types.   Apply  the  algorithm   POST   /algorithm/{id} The  result  is  either  a  model  URI,  a  dataset   URI  or  a  feature  URI  depending  on  the   specifica0ons  of  the  algorithm.  Long-­‐ running  processes  return  the  URI  of  a   Task.   DEFAULT  POLICY:  Unless  otherwise  specified  by   the  client,  once  a  new  model  is  created  it  can  be   accessed  only  by  its  creator.   This  is  an  excerpt  from  the  ontological  representa0on  of  the  SVM  algorithm  of  JAQPOT:   <http://opentox.ntua.gr:8080/algorithm/svm> a ota:EagerLearning , ot:Algorithm , ota:Regression , ota:SingleTarget ; rdfs:comment "Representation automatically generated by ToxOtis."^^xsd:string; dc:date "Mon Apr 29 16:50:25 EEST 2013"^^xsd:dateTime ; dc:description "Algorithm for training …"^^xsd:string ; dc:identifier "http://opentox.ntua.gr:8080/algorithm/svm"^^xsd:anyURI ; dc:publisher "http://opentox.ntua.gr:8080/"^^xsd:string ; POLICIES  define  who  and  how  can  access  a   resource  (e.g.  a  Model).  Only  the  creator  of   a  resource  can  modify  the  policy  for  it.   The  tuning  parameters  of  an  algorithm  (e.g.  the  gamma  parameter  of  an  SVM  algorithm)  have  an   ontological  representa0on  as  well.  Here  is  an  example:   <http://opentox.ntua.gr:8080/prm/svm_gamma> a ot:Parameter ; rdfs:comment "Only strictly positive values are acceptable"^^xsd:string ; dc:description "Gamma Parameter for the SVM kernel"^^xsd:string ; dc:identifier "http://opentox.ntua.gr:8080/prm/svm_gamma"^^xsd:anyURI ; dc:title "gamma"^^xsd:string ; ot:paramScope "OPTIONAL"^^xsd:string ; ot:paramValue "1.5"^^xsd:double . The  following  algorithms  are  available  in  JAQPOT:   •  Fast  RBF  Neural  Networks:  The  algorithm  is  based  on  the  subtrac0ve  clustering  technique  and   has   a   number   of   advantages   compared   to   the   tradi0onal   learning   algorithms   including   faster   training   0mes   and   more   accurate   predic0ons.   Due   to   these   advantages   the   method   proves   suitable  for  developing  models  for  complex  nonlinear  systems  [3].   •  Par6al   Least   Squares:   PLS   is   a   standard,   widely   used   supervised   algorithm   for   dimension   reduc0on  on  datasets.   •  Scaling:  This  web  service  is  intended  to  scale  the  numeric  values  of  an  OpenTox  dataset  within  a   specified  range.If  not  otherwise  specified  by  the  client,  this  range  is  assumed  to  be  [-­‐1,1].  Scaling   is   necessary   for   algorithms   like   SVM   and   Neural   Networks   as   it   substan0ally   improves   the   accuracy  of  the  trained  models.   •  Support  Vector  Machines   •  Missing   Value   Replacer:   Replaces   the   missing   values   in   a   dataset   using   the   means-­‐and-­‐modes   technique.   •  Leverage:  Algorithm  for  the  es0ma0on  of  the  Domain  of  Applicability  of  a  model.   •  Mul6ple  Linear  Regression   Use   a   (Q)SAR   model   to   perform   a   predic0on   (This   will   create   a   new   dataset   were   the   es0mated   proper0es   and   the   corresponding   experimental   values   –   if   any  –  are  stored  ):   curl -X POST opentox.ntua.gr:8080/model/005cb503 -30ed-4792-9de6-3b0e948969de-d dataset_uri= apps.ideaconsult.net:8080/ambit2/dataset/R545 -H "subjectid:AQIC5wM2L…CMDE.*" -H Accept:text/uri-list Train,  Evaluate  and  Use  (Q)SAR  Models   in  JAQPOT   Before  the  users  can  use  any  of  the  services  of  JAQPOT  they  should  authen0cate  their  creden0als   against   the   SSO   server   of   OpenTox   and   receive   an   authen0ca0on   token:   Here   is   an   example   cURL   request:   curl -X POST https://opensso.in-silico.ch/opensso/identity/ authenticate?uri=service=openldap -k -d username=guest -d password=guest This  request  will  return  a  token  to  the  client  (if  the  provided  creden0als  are  correct).  For  instance:   token.id=AQIC5wM2LY4Sf…b79U8OjM.*AAJTSQACMDE.* This  token  is  passed  to  the  algorithm  service  using  the  Header  subjectid  along  with  the  tuning   parameters  of  the  algorithm,  the  URI  of  the  dataset  and  the  URI  of  the  target  feature.   curl -X POST http://opentox.ntua.gr:8080/algorithm/fastRbfNn -d dataset_uri=http://apps.ideaconsult.net:8080/ambit2/dataset/R545 -d prediction_feature=http://apps.ideaconsult.net:8080/ambit2/ feature/22200 -d a=1.0 -d b=0.86 -d e=0.6 -H "subjectid:AQIC5wM2L…CMDE.*" -H Accept:text/uri-list This  will  return  the  URI  of  a  task  which  upon  comple0on  will  return  the  URI  of  a  model.   Acknowledgement   This   work   was   financially   supported   by   OpenTox   -­‐   An   Open   Source   Predic0ve   Toxicology   Framework,   h7p://www.opentox.org,   is   funded   under   the   EU   Seventh   Framework   Program:   HEALTH-­‐2007-­‐1.3-­‐3   Promo0on,   development,   valida0on,   acceptance   and   implementa0on   of   QSARs   (Quan0ta0ve   Structure-­‐Ac0vity   Rela0onships)   for   toxicology,   Project   Reference   Number   Health-­‐F5-­‐2008-­‐200787  (2008-­‐2011).       References   1.  Hardy,  B.  et  al.  2010.  Collabora0ve  development  of  predic0ve  toxicology  applica0ons.  Journal   of  Cheminforma1cs,  2,  1  –  29.   2.  The   OpenTox   API   ver.   1.2   –   Technical   Specifica0ons:   Available   online   at   h7p://opentox.org/dev/apis/api-­‐1.2  (accessed  on  12  June,  2013).     3.  H.   Sarimveis,   A.   Alexandridis   and   G.   Bafas   2003.,   A   fast   training   algorithm   for   RBF   networks   based  on  subtrac0ve  clustering,  Neurocompu0ng,  52,  501  –  505.   4.  N.   Jeliazkova   and   V.   Jeliazkov   2011,   AMBIT   RESTful   Web   Services:   An   implementa0on   of   the   OpenTox  Applica0on  Programming  Itnerface,  Journal  of  Cheminforma1cs,  3,  1  –  18.