summaryrefslogtreecommitdiff
path: root/public/presentations/opentox-dublin/index.rst
blob: 9a5846fb06481fc8d04a0eb66514e85184bf508c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
.. |date| date::

=============================================================================
Extending OpenTox to Nano Safety with eNanoMapper
=============================================================================

.. class:: center

  Christoph Helma

  in silico toxicology gmbh

  .. image:: logo.png
 
Basic idea
==========

Webservices as building blocks for computational toxicology

  - avoid reinventing the wheel
  - reuse existing components
  - rapid prototyping
  - interoperability
  - uses semantic web technologies

Application programming interface (API)
=======================================

Request messages:
  - Representational state transfer (*REST*, based on HTTP messages)

Data exchange:
  - Structure: object dependent
  - Format: Resource Description Framework (*RDF*), JavaScript Object Notation (*JSON*)

OpenTox
=======

*Focus on predictive toxicology*

Main objects: Compound, Feature, Dataset, Algorithm, Model, Validation

Helper objects: Task, Authentication and Authorisation, Report, Ontology 

Data format: RDF 

http://opentox.org/dev/apis/api-1.2

ToxBank
=======

*Extensions for capturing bioassay data* 

Main addition: Investigation (description of biological experiments)

Helper objects: Organisation, Project, Protocol, Search, Session, Template, User, Alert, Data, Index

Data format: RDF, ISA-Tab

http://api.toxbank.net

eNanoMapper
===========

*Extensions for capturing nanomaterial data*

Main addition: Substance (characterisation of nanoparticles)

Helper objects: Bundle (datasets of substances), Property, Query, Substanceowner, Myaccount, Pmml, Bibtex

Data format: JSON

eNanoMapper APIs
================

IDEA: http://enanomapper.github.io/API

NTUA: http://app.jaqpot.org:8080/jaqpot/swagger

IST: https://enm.in-silico.ch/api/dist

Technical problems
==================

- (De)Serialisation of large datasets/investigations
- Reliability/availability/compatibility of external services
- Local service deployment (e.g. for in house services)

Documentation problems
======================

- Scattered/outdated documentation
- Difficult to maintain for developers (no suitable cross-platform solution for code-based documentation)
- Limitations of documentation platforms (e.g. SWAGGER) to document important details

API problems
============

- Lack of orthogonality (large number of partially redundant helper objects)
- Ad hoc extensions of individual developers
- Undocumented/silent API/data format changes 

Coordination problems
=====================

- Individual API changes may be necessary and justified
- Conflict resolution works one to one, but leaves out other developers (and consistency)
- No common strategy for conflict resolution and API updates
- Very limited developer base for testing and feedback

API features
============

- Covers arbitrary biological and chemical experiments (via ToxBank investigations)

  - storage/search/retrieval of data *and* metadata (experimental layouts)
  - generic structure for *all* types of experiments (including -omics)
  - includes preprocessing, data analysis and modelling steps
  - protocols for experimental and data analysis steps

API features
============

- Nanomaterial characterisations (via eNM substances)
- Datasets (bundles) for data analysis 
- Algorithms for data analysis, modelling, descriptor calculation, ...
- Models for model predictions
- Validation for model validation

- User authentication and authorisation
- Tasks for long running processes
- ...

OpenTox/ToxBank/eNanoMapper APIs
================================

http://opentox.org/dev/apis/api-1.2

http://api.toxbank.net

http://enanomapper.github.io/API

http://app.jaqpot.org:8080/jaqpot/swagger

https://enm.in-silico.ch/api/dist