OpenTox API 1.2 Report

From ToxBank API Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "== Related links == <div> {| class="plain" | Examples: a how-to with curl calls | <span class="Apple-style-span">http://opentox.informatik.uni-freiburg.de/validation/examples</...")
 
 
Line 1: Line 1:
== Related links ==
+
<em>This page is dedicated to REACH relevant reporting. For pure validation reports (validation statistics and comparison of algorithms) see
 
+
[http://api.toxbank.net/index.php/OpenTox_API_1.2_Validation Report section in Validation-API.]</em><p>&nbsp;</p>
<div>
+
<h2>Related links</h2>
 
+
{| class="plain"<tbody>
{| class="plain"
+
| Examples: a how-to with curl calls&nbsp;
| Examples: a how-to with curl calls
+
| http://opentox.informatik.uni-freiburg.de/validation/examples (Bottom for reach reporting)<br>
| <span class="Apple-style-span">http://opentox.informatik.uni-freiburg.de/validation/examples</span>
+
|-  
|-
+
| Currently running web service<br>
| Background information: validation workflow
+
| http://opentox.informatik.uni-freiburg.de/validation/reach_report<br>
| <span class="Apple-style-span">[http://www.opentox.org/data/documents/development/validation/validation-and-reporting-overview-and-data-flow Validation and Reporting Overview and Data Flow]</span>
+
|}<p>&nbsp;</p>
|-
+
<h2>REACH Reports</h2>
| Technical details: statistics computed by the validation
+
<h3>Component description</h3>
| <span class="Apple-style-span">[http://www.opentox.org/data/documents/development/validation/validation-statistics Validation statistics]</span>
+
<p>A report visualizes the (prediction) results of algorithms.</p>
|-
+
<h3>REST operations</h3>
| Currently running validation web service<br />
+
{| class="plain"<tbody>
|
+
| <strong>Description</strong>
<span class="Apple-style-span"></span>http://opentox.informatik.uni-freiburg.de/validation
+
| <strong>Method</strong>
|-
+
| <strong>URI</strong>
| Algorithm and Dataset Examples to validate<br />
+
| <strong>Parameters</strong>
|
+
| <strong>Result</strong>
[https://spreadsheets.google.com/spreadsheet/ccc?key=0AllBraSK8gV-dFgwUDJHaVJmQTlJRG1iTnJqNXBaZEE&hl=en_US&authkey=CJGPxMgB https://spreadsheets.google.com/spreadsheet/ccc?key=0AllBraSK8gV-dFgwUDJHaVJmQTlJRG1iTnJqNXBaZEE&amp;hl=en_US&amp;authkey=CJGPxMgB]
+
| <strong>Status codes</strong>
|}
+
|-  
 
+
| Create QMRF report&nbsp; *)<br>
</div>
+
| POST<br>
 
+
| /reach_report/qmrf
== Validation ==
+
| <strong>application/x-form-www-urlencoded<br><br>model_uri</strong>=Model URI<br><br>or <strong>application/qmrf-xml</strong><br>for creating a report with predefined QMRF XML content<br><br><strong>[subjectid]</strong><br>
 
+
| [http://opentox.org/dev/apis/AsyncTask#creating-a-task-post">Report URI or Task URI</a>
=== Component description ===
+
 
+
A validation corresponds to the validation of a model on a test dataset. The results are stored in another dataset. Parameters with default values are optional.
+
 
+
=== REST operations ===
+
 
+
{| class="plain"
+
| '''Description'''
+
| '''Method'''
+
| '''URI'''
+
| '''Parameters'''
+
| '''Result'''
+
| '''Status codes'''
+
|-
+
| Get all validations<br />
+
| GET
+
| /
+
| '''[subjectid]'''
+
| List of validation URIs
+
| 200,404<br />
+
|-
+
| Retrieves a validation representation
+
| GET
+
| /{id}
+
| '''[subjectid]'''
+
| Validation representation in one of the supported MIME types<br />
+
| 200,404
+
|-
+
| Validates a model on a test dataset<br />
+
| POST
+
| /test_set_validation
+
| '''[subjectid]'''<br />'''model_uri'''<br />'''test_dataset_uri'''<br />'''test_target_dataset_uri''' (default = test_dataset_uri)<br />'''prediction_feature '''(default = dependent variable of model)<br />
+
|
+
[../AsyncTask#creating-a-task-post Validation URI or Task URI]<br />
+
 
| 200,400,404,500
 
| 200,400,404,500
|-
+
|-  
| Builds a model on a training dataset and validates it on a test dataset<br />
+
| Replaces QMRF report<br>
| POST<br />
+
| POST<br>
| /training_test_valdiation
+
| /reach_report/qmrf/{reportid}<br>
| '''algorithm_uri'''<br />'''prediction_feature'''<br />'''algorithm_params '''(string, default="")<br />'''training_dataset_uri'''<br />'''test_dataset_uri'''<br />'''test_target_dataset_uri''' (default = test_dataset_uri)<br />'''y_scramble''' (boolean, default=false)<br />''' y_scramble_seed '''(integer, default=1)<br />'''[subjectid]'''<br />
+
| <strong>application/qmrf-xml</strong><br>for creating a report with predefined QMRF XML content<br><br><strong>[subjectid]</strong><br>
|
+
| Report URI
[../AsyncTask#creating-a-task-post Validation URI or Task URI]
+
 
| 200,400,404,500
 
| 200,400,404,500
|- class="odd"
+
|-  
| Splits a dataset into training and test dataset according to a certain ratio, and performs a validation<br />
+
| Update partially QMRF report<br>
 
| POST
 
| POST
| /training_test_split
+
| /reach_report/qmrf/{reportid}
| '''algorithm_uri'''<br />'''prediction_feature'''<br />'''algorithm_params''' (string, default="")<br />dataset_uri<br />'''split_ratio''' (float, default=0.66)<br />'''random_seed''' (integer, default=1)<br />'''y_scramble''' (boolean, default=false)<br />'''y_scramble_seed''' (integer, default=1)<br />'''[subjectid]'''<br />
+
| <strong>validation_uri</strong> = a List of crossvalidation URIs<br>and/or validation URIs of the same model<br><br><strong>&lt;report_section (as defined in qmrf.dtd)&gt;</strong> = content as string<br><br><strong>[subjectid]</strong><br>
|
+
| [http://api.toxbank.net/index.php/OpenTox_API_1.2_Task Report URI or Task URI]
[../AsyncTask#creating-a-task-post Validation URI or Task URI]
+
| 200,400,404,500<br />
+
|-
+
| Performs a bootstrap validation<br />
+
| POST
+
| /bootstrapping
+
| '''algorithm_uri'''<br />'''prediction_feature'''<br />'''dataset_params '''(string, default="")<br />'''dataset_uri'''<br />'''bootstrap_percentage''' (float, default=0.66)<br />'''random_seed''' (integer, default=1)<br />'''y_scramble''' (boolean, default=false)<br />'''y_scramble_seed''' (integer, default=1)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Validation URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Directly perform a validation by specifying test- and prediction dataset
+
| POST
+
| /validate_datasets
+
| '''prediction_feature'''<br />'''test_dataset_uri'''<br />'''test_target_dataset_uri '''(default = test_dataset_uri)<br />'''prediction_dataset_uri'''<br />'''predicted_feature''' (.i.e feature in prediction dataset)<br />'''[subjectid]'''
+
|
+
[../AsyncTask#creating-a-task-post Validation URI or Task URI]
+
 
| 200,400,404,500
 
| 200,400,404,500
|-
+
|-  
| Deletes a validation.
+
| Delete QMRF report<br>
| DELETE
+
| DELETE<br>
| /{id}
+
| /reach_report/qmrf/{reportid}
| '''[subjectid]'''
+
| <strong>[subjectid]</strong><br>
| -<br />
+
| deletes the report
| 200,404
+
| <br>
|}
+
|-  
 +
| Retrieves the report<br>
 +
| GET<br>
 +
| /reach_report/qmrf/{reportid}<br>
 +
| <strong>[subjectid]</strong>
 +
| representation, , format specified by MIME type (XML, RDF, HTML, PDF, XLS, where applicable)
 +
| <br>
 +
|-
 +
| Start qmrf editor with report<br>
 +
| GET<br>
 +
| /reach_report/qmrf/{reportid}/editor
 +
| <strong>[subjectid]</strong>
 +
| return jnlp, starts QMRF editor as Java webstart application<br>
 +
| 200,404<br>
 +
|-
 +
| QMRF report searching facilities <br>
 +
| GET<br>
 +
| /reach_report/qmrf<br>
 +
| <strong>application/x-form-www-urlencoded<br></strong>any or subset of<strong><br>
 +
model_uri</strong> = Model URI<br><strong>dataset_uri</strong> = Dataset URI<br><strong>compound_uri </strong>= Compound URI<br><strong>algorithm_uri</strong> = Algorithm URI<br><strong>endpoint_uri</strong>= endpoint URI, as defined by the ontology<br><strong>search</strong>=any free text,<br><br><strong>[subjectid]</strong><br>etc. <br>
 +
| Retrieves list of reports, related to the model, specified by any of the parameter URI<br>
 +
| <br></tbody>
 +
|}<p>*) see: http://ecb.jrc.ec.europa.eu/qsar/qsar-tools/index.php?c=QRF . QMRF reports can edited with the modified QMRF-Editor, see http://ortona.informatik.uni-freiburg.de/qmrfedit.
 +
</p>
  
=== Validation representation ===
 
  
* Requested MIME type should be set in the requests "Accept" header, e.g. curl -X GET -H "Accept:application/xml" http://{server}/validation/{id}
+
<h3>HTTP status codes</h3>
* RDF representation defined in [http://www.opentox.org/data/documents/development/RDF%20files/OpenToxOntology opentox.owl]
+
{| class="plain"<tbody>
* [http://www.opentox.org/data/documents/development/RDF%20files/Validation RDF Examples]
+
| <strong>Interpretation</strong>
* '''subjectid''' (optional) parameter that contains the OpenSSO A&amp;A token needed to access protected services.
+
| <strong>Nr</strong>
 
+
| <strong>Name</strong>
==== Supported MIME types: ====
+
|-  
 
+
Mandatory:
+
 
+
* application/rdf xml (default)
+
 
+
Optional:
+
 
+
* application/xml, see [http://www.opentox.org/data/documents/development/validation/ValidationResult.xsd XML schema definition for validation object]
+
 
+
=== HTTP status codes ===
+
 
+
{| class="plain"
+
| '''Interpretation'''
+
| '''Nr'''
+
| '''Name'''
+
|-
+
 
| Success
 
| Success
 
| 200
 
| 200
 
| OK
 
| OK
|-
+
|-  
| Validation not found
+
| 404
+
| Not Found
+
|-
+
| Illegal model/algorithm/dataset/algorithm params
+
| 400
+
| Bad request
+
|-
+
| Validation/prediction error
+
| 500
+
| Internal Server Error
+
|}
+
 
+
== Cross-Validation ==
+
 
+
=== Component description ===
+
 
+
Performs a k-fold cross-validation, which results in k validations. Parameters with default values are optional.
+
 
+
=== REST operations ===
+
 
+
{| class="plain"
+
| '''Description'''
+
| '''Method'''
+
| '''URI'''
+
| '''Parameters'''
+
| '''Result'''
+
| '''Status codes'''
+
|-
+
| Get all cross-validations<br />
+
| GET
+
| /crossvalidation
+
| '''[subjectid]'''
+
| List of crossvalidation URIs
+
| 200,404<br />
+
|-
+
| Retrieves a cross-validation representation
+
| GET
+
| /crossvalidation/{id}
+
| '''[subjectid]'''
+
| Cross-Validation in one of the supported MIME types<br />
+
| 200,404
+
|-
+
| Returns all (k) validations that belong to a crossvalidation<br />
+
| GET
+
| /crossvalidation/{id}/validations
+
| '''[subjectid]'''
+
| List of validation URIs<br />
+
| 200,404
+
|-
+
| Performs a k-fold cross-validation. <br />
+
| POST<br />
+
| /crossvalidation
+
| '''algorithm_uri'''<br />'''prediction_feature'''<br />algorithm_params (string, default="")<br />'''num_folds '''(integer, default=10)<br />'''random_seed''' (integer, default=1)<br />'''stratified''' (boolean, default=true)<br />'''y_scramble''' (boolean, default=false)<br />'''y_scramble_seed''' (integer, default=1)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Cross-Validation URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Performs a leave-one-out cross-validation. <br />
+
| POST<br />
+
| /crossvalidation/loo
+
| '''algorithm_uri'''<br />'''prediction_feature'''<br />'''algorithm_params''' (string, default="")<br />'''y_scramble''' (boolean, default=false)<br />'''y_scramble_seed '''(integer, default=1)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Cross-Validation URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Deletes a cross-validation.
+
| DELETE
+
| /crossvalidation/{id}
+
| '''[subjectid]'''
+
| -<br />
+
| 200,404
+
|}
+
 
+
=== Cross-validation representation ===
+
 
+
* Requested MIME type should be set in the requests "Accept" header, e.g. curl -X GET -H "Accept:application/xml" http://{server}/crossvalidation/{id}
+
 
+
==== Supported MIME types: ====
+
 
+
Mandatory:
+
 
+
* application/rdf xml (default)
+
 
+
Optional:
+
 
+
* application/xml, see [http://www.opentox.org/data/documents/development/validation/CrossValidation.xsd XML schema definition for crossvalidation object<br />]
+
 
+
=== HTTP status codes ===
+
 
+
{| class="plain"
+
| '''Interpretation'''
+
| '''Nr'''
+
| '''Name'''
+
|-
+
| Success
+
| 200
+
| OK
+
|-
+
| Cross validation not found
+
| 404
+
| Not Found
+
|-
+
| Illegal model/algorithm/dataset/algorithm params
+
| 400
+
| Bad request
+
|-
+
| Validation/prediction error
+
| 500
+
| Internal Server Error
+
|}
+
 
+
<div class="visualClear"></div><div class="visualClear"></div>
+
 
+
===== Document Actions =====
+
 
+
== [#validation-report Validation - Report] ==
+
 
+
=== Component description ===
+
 
+
A report visualizes the (prediction) results of algorithms.
+
 
+
=== REST operations ===
+
 
+
{| class="plain"
+
| '''Description'''
+
| '''Method'''
+
| '''URI'''
+
| '''Parameters'''
+
| '''Result'''
+
| '''Status codes'''
+
|-
+
| Get all report types<br />
+
| GET
+
| /report
+
| '''[subjectid]'''
+
| List of available report types<br />
+
| 200,404<br />
+
|-
+
| Get all reports for the particular report type<br />
+
| GET
+
| /report/{report-type}
+
| '''[subjectid]'''
+
| List of available reports as URI<br />
+
| 200,404<br />
+
|-
+
| Retrieves a report, format according to accept-header
+
| GET
+
| /report/{report-type}/{id}
+
| '''[subjectid]'''
+
| According to accept-header:<br />'''text/x-yaml''', '''application/rdf xml'''<br />-&gt; report object with meta data (see rdf example below)<br /><br />'''text/xml''', '''text/html''', '''application/pdf'''<br />-&gt; report document in specified format<br />
+
| 200,404
+
|-
+
| Creates a report<br />
+
| POST
+
| /report/{report-type}
+
| ''various params, see below''<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Report URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Deletes a report.
+
| DELETE
+
| /report/{report-type}/{id}
+
| '''[subjectid]'''
+
| -<br />
+
| 200,404
+
|-
+
| '''Available (validation-)report types'''<br />
+
| <br />
+
| <br />
+
| <br />
+
| <br />
+
| <br />
+
|-
+
| Create single validation report<br />(one model, one test dataset)<br />
+
| POST<br />
+
| /report/validation
+
| '''validation_uris''' (comma separated list of validation URIs)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Report URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Create cross-validation report<br />(crossvalidation with one algorithm and one dataset)<br />
+
| POST<br />
+
| /report/crossvalidation
+
| '''validation_uris''' (comma separated list of crossvalidation URIs)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Report URI or Task URI]
+
| 200,400,404,500
+
|-
+
| Create report for comparing different prediction algorithms<br />(crossvalidations/validations with multiple algorithms and datasets)<br />
+
| POST<br />
+
| /report/algorithm_comparison
+
| '''validation_uris''' (comma separated list of crossvalidation URIs)<br />'''identifier''' (comma seperated list of string-ids, one for each crossvalidation-uri)<br />'''[subjectid]'''<br />
+
|
+
[../AsyncTask#creating-a-task-post Report URI or Task URI]
+
| 200,400,404,500
+
|}
+
 
+
=== Output (file) format ===
+
 
+
Validation reports are returned in 2 different ways according to the accept-header
+
 
+
* Accept header is '''text/xml''',''' text/html''', '''application/pdf:''' the actual '''report document''' is returned (the core document is an XML format according to the [http://www.docbook.org/ DocBook] standard, which allows conversion to the other formats).
+
* Accept header is '''application/rdf xml''' or '''text/x-yam'''l: the '''report object''' is returned, containing '''meta-data'''. Example (in N3) below
+
 
+
@prefix : &lt;http://www.opentox.org/api/1.1#&gt; .
+
@prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; .
+
+
&lt;http://opentox.informatik.uni-freiburg.de/validation/report/validation/8&gt;
+
a :ValidationReport;
+
:date "Wed Jun 09 13:23:28  0200 2010"^^&lt;http://www.w3.org/2001/XMLSchema#dateTime&gt;;
+
        :reportAlgorithm &lt;http://ambit.uni-plovdiv.bg:8080/ambit2/algorithm/LR&gt;;
+
        :reportModel &lt;http://ambit.uni-plovdiv.bg:8080/ambit2/model/359152&gt;;
+
        :reportType "validation"^^&lt;http://www.w3.org/2001/XMLSchema#string&gt;;
+
        :reportValidation &lt;http://opentox.informatik.uni-freiburg.de/validation/20&gt; .
+
 
+
[http://www.opentox.org/data/documents/development/validation/ValidationResult.xsd ValidationResult.xsd]
+
 
+
=== HTTP status codes ===
+
 
+
{| class="plain"
+
| '''Interpretation'''
+
| '''Nr'''
+
| '''Name'''
+
|-
+
| Success
+
| 200
+
| OK
+
|-
+
 
| Report type / report not found
 
| Report type / report not found
 
| 404
 
| 404
 
| Not Found
 
| Not Found
|-
+
|-  
 
| Illegal params
 
| Illegal params
 
| 400
 
| 400
 
| Bad request
 
| Bad request
|-
+
|-  
| Error creating the report<br />
+
| Error creating the report<br>
 
| 500
 
| 500
| Internal Server Error
+
| Internal Server Error</tbody>
|}
+
|}<p>&nbsp;</p><p>&nbsp;</p>
 +
 
 +
<h2>[Under discussion] RDF-XML format of QPRF Reports</h2>
 +
<p>&nbsp;</p>
 +
<p>Q(P/M)RF reports subclass the existing ot:Report thus providing a uniform approach to the reporting API. Other types of reports are also classified under ot:Report apart from ot:ErrorReport which is disjoint with ot:Report. The modifications of the OpenTox ontology described below are included in a draft OWL file that was developed using Protege.</p><h3>Extensions of current ontology</h3><strong></strong><p>&nbsp;</p>
 +
Certain modofications of the current OpenTox ontology are needed in order to provide meaningful QPRF and QMRF report representations in RDF format. These will be the basis of reporting services and the main file format used by the [http://opentox.ntua.gr/blog/78-q-edit QPRF editor] which is currently developed by NTUA (see [http://opentox.ntua.gr/blog/78-q-edit Q-edit]).
 +
<p>&nbsp;</p><strong>Ontological Classes:</strong> QPRF reports (as well as QMRF ones) subclass ot:Report. Another set of ontological classes has to be introduced in the OpeTox ontology; namely <em>ot:Relation</em> which is subclasses <em>ot:CompoundRelation</em> which in turn subclasses <em>ot:StructuralRelation</em><p>. This way, relations between compounds, and in general OpenTox entities can be established.
 +
&nbsp;&nbsp;</p>
 +
&nbsp;&nbsp; The class <em>ot:AdequacyInfo</em> is also introduced in OpenTox. It contains some adequacy information about a QPRF report as documented in section 4.x of JRC specification.&nbsp; Proper datatype properties are introduced to allow one to assign attributes to instances of ot:AdequacyInfo.The additional auxiliary class ot:DomainInfo is needed in order to include information about&nbsp; the domains of an AD estimation. Domain information include
 +
discussions about
 +
 +
<style type="text/css">
 +
&amp;amp;amp;amp;amp;lt;&#33;--
 +
@page { margin: 0.79in }
 +
P { margin-bottom: 0.08in }
 +
--&amp;amp;amp;amp;amp;gt;</style><em></em>whether the query
 +
chemical falls in the applicability domain of the model as defined in
 +
the corresponding QMRF (section 5 of QMRF, Defining the applicability
 +
domain – OECD Principle 3). If additional software/methods were
 +
used to assess the applicability domain then they should also be
 +
documented in this section. The ontological class <em>ot:Author</em> can be added in the OpenTox ontology to include information about the author that created the report. Ordering of authors can be retained using [http://www.w3.org/TR/REC-rdf-syntax/#section-Syntax-list-elements rdf containers]<p>.</p><p><strong></strong></p><p><strong><br></strong></p><p><strong>Datatype</strong><strong> properties: </strong>The following four datatype properties are related to the Adequacy Information of a QPRF report all having as domain the class ot:AdequacyInfo:</p><ol><li>ot:adequacyConclusion :&nbsp;
 +
 +
 +
 +
<style type="text/css">
 +
&amp;amp;amp;amp;amp;lt;&#33;--
 +
@page { margin: 0.79in }
 +
P { margin-bottom: 0.08in }
 +
--&amp;amp;amp;amp;amp;gt;</style><em>Provide  an
 +
assessment of whether the final result is considered adequate for a
 +
regulatory conclusion, or whether additional information is required
 +
(and, if so, what this additional information should be).</em></li><li>ot:adequacyOutcome :&nbsp;
 +
 +
 +
 +
<style type="text/css">
 +
&amp;amp;amp;amp;amp;lt;&#33;--
 +
@page { margin: 0.79in }
 +
P { margin-bottom: 0.08in }
 +
--&amp;amp;amp;amp;amp;gt;</style><em>Report the
 +
interpretation of the model result in relation to the defined
 +
regulatory purpose.</em></li><li>ot:regulatoryPurpose :
 +
 +
<style type="text/css">
 +
&amp;amp;amp;amp;amp;lt;&#33;--
 +
@page { margin: 0.79in }
 +
P { margin-bottom: 0.08in }
 +
--&amp;amp;amp;amp;amp;gt;</style><em>Explain the
 +
regulatory purpose for which the prediction described</em></li><li>ot:regulatoryInterpretation :<em>
 +
Describe how the
 +
predicted result is going to be interpreted in light of the specific
 +
regulatory purpose (e.g. by applying an algorithm or regulatory
 +
criteria). This may involve the need to convert the units of the
 +
dependent variable (e.g. from log molar units to mg/l). It may
 +
also involve the application of another algorithm, an
 +
assessment factor, or regulatory criteria, and the use or
 +
consideration of additional information in a weight-of-evidence
 +
assessment.</em><style type="text/css">
 +
&amp;amp;amp;amp;amp;lt;&#33;--
 +
@page { margin: 0.79in }
 +
P { margin-bottom: 0.08in }
 +
--&amp;amp;amp;amp;amp;gt;</style></li></ol><p>&nbsp;The following datatype properties need to be included in the ontology to provide information about applicability domains:</p><ol><li>ot:descritporDomain: <br></li><li>ot:structuralFragmentDomain</li><li>ot;mechanismDomain :
 +
 +
 +
<em>Discuss whether the
 +
chemical is known or considered to act according to the mechanism of
 +
action associated with the used model</em></li><li>ot:metabolicDomain</li></ol><p>The following datatype properties can be used to assign attributes to authors:</p><ol><li>ot:authorName</li><li>ot:authorAffiliation</li><li>ot:authorAddress</li><li>ot:authorContact</li><li>ot:email</li><li>ot:authorUrl<br></li></ol><p><strong><br></strong></p><p><strong>Object Properties:</strong></p><p>A generic object property is used to assign elements to relations of such; this it <em>ot:relationalElement</em>. These elements are arbitrary instances of OpenTox resources.&nbsp; In QPRF reports, we need to establish relations between compounds, so ot:relationElement groups together a set of structural analogues or compounds in general.</p><p>&nbsp;</p>

Latest revision as of 13:46, 2 September 2011

This page is dedicated to REACH relevant reporting. For pure validation reports (validation statistics and comparison of algorithms) see

Report section in Validation-API.

 

Contents

Related links

Examples: a how-to with curl calls  http://opentox.informatik.uni-freiburg.de/validation/examples (Bottom for reach reporting)
Currently running web service
http://opentox.informatik.uni-freiburg.de/validation/reach_report

 

REACH Reports

Component description

A report visualizes the (prediction) results of algorithms.

REST operations

Description Method URI Parameters Result Status codes
Create QMRF report  *)
POST
/reach_report/qmrf application/x-form-www-urlencoded

model_uri
=Model URI

or application/qmrf-xml
for creating a report with predefined QMRF XML content

[subjectid]
[http://opentox.org/dev/apis/AsyncTask#creating-a-task-post">Report URI or Task URI</a> 200,400,404,500
Replaces QMRF report
POST
/reach_report/qmrf/{reportid}
application/qmrf-xml
for creating a report with predefined QMRF XML content

[subjectid]
Report URI 200,400,404,500
Update partially QMRF report
POST /reach_report/qmrf/{reportid} validation_uri = a List of crossvalidation URIs
and/or validation URIs of the same model

<report_section (as defined in qmrf.dtd)> = content as string

[subjectid]
Report URI or Task URI 200,400,404,500
Delete QMRF report
DELETE
/reach_report/qmrf/{reportid} [subjectid]
deletes the report
Retrieves the report
GET
/reach_report/qmrf/{reportid}
[subjectid] representation, , format specified by MIME type (XML, RDF, HTML, PDF, XLS, where applicable)
Start qmrf editor with report
GET
/reach_report/qmrf/{reportid}/editor [subjectid] return jnlp, starts QMRF editor as Java webstart application
200,404
QMRF report searching facilities
GET
/reach_report/qmrf
application/x-form-www-urlencoded
any or subset of

model_uri = Model URI
dataset_uri = Dataset URI
compound_uri = Compound URI
algorithm_uri = Algorithm URI
endpoint_uri= endpoint URI, as defined by the ontology
search=any free text,

[subjectid]
etc.

Retrieves list of reports, related to the model, specified by any of the parameter URI

</tbody>

*) see: http://ecb.jrc.ec.europa.eu/qsar/qsar-tools/index.php?c=QRF . QMRF reports can edited with the modified QMRF-Editor, see http://ortona.informatik.uni-freiburg.de/qmrfedit.


HTTP status codes

Interpretation Nr Name
Success 200 OK
Report type / report not found 404 Not Found
Illegal params 400 Bad request
Error creating the report
500 Internal Server Error</tbody>

 

 

[Under discussion] RDF-XML format of QPRF Reports

 

Q(P/M)RF reports subclass the existing ot:Report thus providing a uniform approach to the reporting API. Other types of reports are also classified under ot:Report apart from ot:ErrorReport which is disjoint with ot:Report. The modifications of the OpenTox ontology described below are included in a draft OWL file that was developed using Protege.

Extensions of current ontology

 

Certain modofications of the current OpenTox ontology are needed in order to provide meaningful QPRF and QMRF report representations in RDF format. These will be the basis of reporting services and the main file format used by the QPRF editor which is currently developed by NTUA (see Q-edit).

 

Ontological Classes: QPRF reports (as well as QMRF ones) subclass ot:Report. Another set of ontological classes has to be introduced in the OpeTox ontology; namely ot:Relation which is subclasses ot:CompoundRelation which in turn subclasses ot:StructuralRelation

. This way, relations between compounds, and in general OpenTox entities can be established.   

   The class ot:AdequacyInfo is also introduced in OpenTox. It contains some adequacy information about a QPRF report as documented in section 4.x of JRC specification.  Proper datatype properties are introduced to allow one to assign attributes to instances of ot:AdequacyInfo.The additional auxiliary class ot:DomainInfo is needed in order to include information about  the domains of an AD estimation. Domain information include discussions about

<style type="text/css"> &amp;amp;amp;amp;lt;!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --&amp;amp;amp;amp;gt;</style>whether the query chemical falls in the applicability domain of the model as defined in the corresponding QMRF (section 5 of QMRF, Defining the applicability domain – OECD Principle 3). If additional software/methods were used to assess the applicability domain then they should also be

documented in this section. The ontological class ot:Author can be added in the OpenTox ontology to include information about the author that created the report. Ordering of authors can be retained using rdf containers

.


Datatype properties: The following four datatype properties are related to the Adequacy Information of a QPRF report all having as domain the class ot:AdequacyInfo:

  1. ot:adequacyConclusion : 


    <style type="text/css"> &amp;amp;amp;amp;lt;!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --&amp;amp;amp;amp;gt;</style>Provide an assessment of whether the final result is considered adequate for a regulatory conclusion, or whether additional information is required

    (and, if so, what this additional information should be).
  2. ot:adequacyOutcome : 


    <style type="text/css"> &amp;amp;amp;amp;lt;!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --&amp;amp;amp;amp;gt;</style>Report the interpretation of the model result in relation to the defined

    regulatory purpose.
  3. ot:regulatoryPurpose :

    <style type="text/css"> &amp;amp;amp;amp;lt;!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } --&amp;amp;amp;amp;gt;</style>Explain the

    regulatory purpose for which the prediction described
  4. ot:regulatoryInterpretation :

    Describe how the predicted result is going to be interpreted in light of the specific regulatory purpose (e.g. by applying an algorithm or regulatory criteria). This may involve the need to convert the units of the dependent variable (e.g. from log molar units to mg/l). It may also involve the application of another algorithm, an assessment factor, or regulatory criteria, and the use or consideration of additional information in a weight-of-evidence assessment.<style type="text/css"> &amp;amp;amp;amp;lt;!-- @page { margin: 0.79in } P { margin-bottom: 0.08in }

    --&amp;amp;amp;amp;gt;</style>

 The following datatype properties need to be included in the ontology to provide information about applicability domains:

  1. ot:descritporDomain:
  2. ot:structuralFragmentDomain
  3. ot;mechanismDomain :


    Discuss whether the chemical is known or considered to act according to the mechanism of

    action associated with the used model
  4. ot:metabolicDomain

The following datatype properties can be used to assign attributes to authors:

  1. ot:authorName
  2. ot:authorAffiliation
  3. ot:authorAddress
  4. ot:authorContact
  5. ot:email
  6. ot:authorUrl


Object Properties:

A generic object property is used to assign elements to relations of such; this it ot:relationalElement. These elements are arbitrary instances of OpenTox resources.  In QPRF reports, we need to establish relations between compounds, so ot:relationElement groups together a set of structural analogues or compounds in general.

 

Personal tools