summaryrefslogtreecommitdiff
path: root/public/presentations/opentox-basel16/api.rst
blob: aa982bd7b0cd9158a0b32799f4a6bbfae6e5a713 (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
.. |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: Alert, Data, Index, Organisation, Project, Protocol, Search, Session, Template, User

Data format: RDF, ISA-Tab

http://api.toxbank.net

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

*Extensions for capturing nanomaterial data*

Main addition: Substance (characterisation of nanoparticles)

Helper objects: Bundle, Myaccount, Property, Query, Substanceowner, 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

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