qsar-report 0.0.5 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # QSAR-Report
2
- QMRF and QPRF reporting extension to OpenTox ruby modules and lazar
2
+ QMRF and QPRF reporting extension to OpenTox ruby modules and lazar.
3
3
  ## About
4
4
  Class for QMRF and QPRF reporting.
5
5
  * QMRF:
@@ -77,3 +77,9 @@ Copyright
77
77
  ---------
78
78
  Copyright (c) 2016 Christoph Helma, Micha Rautenberg, Denis Gebele. See LICENSE for details.
79
79
 
80
+ Lazar QMRF Example
81
+ ------------------
82
+ Here is an advanced example of the usage of the gem in lazar code:
83
+
84
+ {include:file:example/example.rb}
85
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.5
1
+ 1.0.0
@@ -0,0 +1,175 @@
1
+ # require the qsar-report gem
2
+ require "qsar-report"
3
+
4
+ # generate a new report
5
+ report = OpenTox::QMRFReport.new
6
+
7
+ # lazar specific data resources for model information
8
+ model = Model::Lazar.find params[:id]
9
+ prediction_model = Model::Prediction.find_by :model_id => params[:id]
10
+ validation_template = File.join(File.dirname(__FILE__),"../views/model_details.haml") #detailed validation results from lazar-rest
11
+
12
+
13
+ # Start filling the QMRF report
14
+
15
+ # QSAR identifier (title) 1.1
16
+ report.value "QSAR_title", "Model for #{prediction_model.species} #{prediction_model.endpoint}"
17
+
18
+ # Software coding the model 1.3
19
+ report.change_catalog :software_catalog, :firstsoftware, {:name => "lazar", :description => "lazar Lazy Structure- Activity Relationships", :number => "1", :url => "https://lazar.in-silico.ch", :contact => "Contact Email"}
20
+ report.ref_catalog :QSAR_software, :software_catalog, :firstsoftware
21
+
22
+ # Date of QMRF 2.1
23
+ report.value "qmrf_date", "#{Time.now.strftime('%d %B %Y')}"
24
+
25
+ # QMRF author(s) and contact details 2.1
26
+ report.change_catalog :authors_catalog, :firstauthor, {:name => "Christoph Helma", :affiliation => "in silico toxicology gmbh", :contact => "Contact Address", :email => "Contact Email", :number => "1", :url => "Web Page"}
27
+ report.ref_catalog :qmrf_authors, :authors_catalog, :firstauthor
28
+
29
+ # Model developer(s) and contact details 2.5
30
+ report.change_catalog :authors_catalog, :modelauthor, {:name => "Christoph Helma", :affiliation => "in silico toxicology gmbh", :contact => "Contact Address", :email => "Contact Email", :number => "1", :url => "Web Page"}
31
+ report.ref_catalog :model_authors, :authors_catalog, :modelauthor
32
+
33
+ # Date of model development and/or publication 2.6
34
+ report.value "model_date", "#{Time.parse(model.created_at.to_s).strftime('%Y')}"
35
+
36
+ # Reference(s) to main scientific papers and/or software package 2.7
37
+ report.change_catalog :publications_catalog, :publications_catalog_1, {:title => "Maunz, Guetlein, Rautenberg, Vorgrimmler, Gebele and Helma (2013), lazar: a modular predictive toxicology framework ", :url => "http://dx.doi.org/10.3389/fphar.2013.00038"}
38
+ report.ref_catalog :references, :publications_catalog, :publications_catalog_1
39
+
40
+ # Reference(s) to main scientific papers and/or software package 2.7
41
+ report.change_catalog :publications_catalog, :publications_catalog_2, {:title => "Maunz A and Helma C (2008) Prediction of chemical toxicity with local support vector regression and activity-specific kernels. SAR & QSAR in Environmental Research 19 (5-6), 413-431", :url => "http://dx.doi.org/10.1080/10629360802358430"}
42
+ report.ref_catalog :references, :publications_catalog, :publications_catalog_2
43
+
44
+ # Species 3.1
45
+ report.value "model_species", prediction_model.species
46
+
47
+ # Endpoint 3.2
48
+ report.change_catalog :endpoints_catalog, :endpoints_catalog_1, {:name => prediction_model.endpoint, :group => ""}
49
+ report.ref_catalog :model_endpoint, :endpoints_catalog, :endpoints_catalog_1
50
+
51
+ # Endpoint Units 3.4
52
+ report.value "endpoint_units", "#{prediction_model.unit}"
53
+
54
+ # Type of model 4.1
55
+ report.value "algorithm_type", "#{model.class.to_s.gsub('OpenTox::Model::Lazar','')}"
56
+
57
+ # Explicit algorithm 4.2
58
+ report.change_catalog :algorithms_catalog, :algorithms_catalog_1, {:definition => "see Helma 2016 and lazar.in-silico.ch, submitted version: #{lazar_commit}", :description => "modified k-nearest neighbor classification with activity specific similarities, weighted voting and exhaustive enumeration of fragments and neighbors"}
59
+ report.ref_catalog :algorithm_explicit, :algorithms_catalog, :algorithms_catalog_1
60
+
61
+ # Descriptors in the model 4.3
62
+ report.change_catalog :descriptors_catalog, :descriptors_catalog_1, {:description => "all statistically relevant paths are used for similarity calculation", :name => "linear fragmens (paths)", :publication_ref => "", :units => "true/false (i.e. present/absent)"}
63
+ report.ref_catalog :algorithms_descriptors, :descriptors_catalog, :descriptors_catalog_1
64
+
65
+ # Descriptor selection 4.4
66
+ report.value "descriptors_selection", "statistical filter (chi-square with Yates correction)"
67
+
68
+ # Algorithm and descriptor generation 4.5
69
+ report.value "descriptors_generation", "exhaustive breadth first search for paths in chemical graphs (simplified MolFea algorithm)"
70
+
71
+ # Software name and version for descriptor generation 4.6
72
+ report.change_catalog :software_catalog, :software_catalog_2, {:name => "lazar, submitted version: #{lazar_commit}", :description => "simplified MolFea algorithm", :number => "2", :url => "https://lazar.in-silico.ch", :contact => "Contact Email"}
73
+ report.ref_catalog :descriptors_generation_software, :software_catalog, :software_catalog_2
74
+
75
+ # Chemicals/Descriptors ratio 4.7
76
+ report.value "descriptors_chemicals_ratio", "not applicable (classification based on activities of neighbors, descriptors are used for similarity calculation)"
77
+
78
+ # Some QMRF fields (tag contents) can have formatted HTML contents.
79
+ # These contents have to have a complete HTML document structure with basic surrounding tags like <html><body>.
80
+ # see Example below
81
+
82
+ # Description of the applicability domain of the model 5.1
83
+ report.value "app_domain_description", "<html><head></head><body>
84
+ <p>
85
+ The applicability domain (AD) of the training set is characterized by
86
+ the confidence index of a prediction (high confidence index: close to
87
+ the applicability domain of the training set/reliable prediction, low
88
+ confidence: far from the applicability domain of the
89
+ trainingset/unreliable prediction). The confidence index considers (i)
90
+ the similarity and number of neighbors and (ii) contradictory examples
91
+ within the neighbors. A formal definition can be found in Helma 2006.
92
+ </p>
93
+ <p>
94
+ The reliability of predictions decreases gradually with increasing
95
+ distance from the applicability domain (i.e. decreasing confidence index)
96
+ </p>
97
+ </body>
98
+ </html>"
99
+
100
+ # Method used to assess the applicability domain 5.2
101
+ report.value "app_domain_method", "see Helma 2006 and Maunz 2008"
102
+
103
+ # Software name and version for applicability domain assessment 5.3
104
+ report.change_catalog :software_catalog, :software_catalog_3, {:name => "lazar, submitted version: #{lazar_commit}", :description => "integrated into main lazar algorithm", :number => "3", :url => "https://lazar.in-silico.ch", :contact => "Contact Email"}
105
+ report.ref_catalog :app_domain_software, :software_catalog, :software_catalog_3
106
+
107
+ # Limits of applicability 5.4
108
+ report.value "applicability_limits", "Predictions with low confidence index, unknown substructures and neighbors that might act by different mechanisms"
109
+
110
+ # Availability of the training set 6.1
111
+ report.change_attributes "training_set_availability", {:answer => "Yes"}
112
+
113
+ # Available information for the training set 6.2
114
+ report.change_attributes "training_set_data", {:cas => "Yes", :chemname => "Yes", :formula => "Yes", :inchi => "Yes", :mol => "Yes", :smiles => "Yes"}
115
+
116
+ # Data for each descriptor variable for the training set 6.3
117
+ report.change_attributes "training_set_descriptors", {:answer => "No"}
118
+
119
+ # Data for the dependent variable for the training set 6.4
120
+ report.change_attributes "dependent_var_availability", {:answer => "All"}
121
+
122
+ # Other information about the training set 6.5
123
+ report.value "other_info", "#{prediction_model.source}"
124
+
125
+ # Pre-processing of data before modelling 6.6
126
+ report.value "preprocessing", (model.class == OpenTox::Model::LazarRegression ? "-log10 transformation" : "none")
127
+
128
+ # Robustness - Statistics obtained by leave-many-out cross-validation 6.9
129
+ if prediction_model.crossvalidations
130
+ crossvalidations = prediction_model.crossvalidations
131
+ out = haml File.read(validation_template), :layout=> false, :locals => {:model => prediction_model}
132
+ report.value "lmo", out
133
+ end
134
+
135
+ # Mechanistic basis of the model 8.1
136
+ report.value "mechanistic_basis","<html><head></head><body>
137
+ <p>
138
+ Compounds with similar structures (neighbors) are assumed to have
139
+ similar activities as the query compound. For the determination of
140
+ activity specific similarities only statistically relevant subtructures
141
+ (paths) are used. For this reason there is a priori no bias towards
142
+ specific mechanistic hypothesis.
143
+ </p>
144
+ </body>
145
+ </html>"
146
+
147
+ # A priori or a posteriori mechanistic interpretation 8.2
148
+ report.value "mechanistic_basis_comments","a posteriori for individual predictions"
149
+
150
+ # Other information about the mechanistic interpretation 8.3
151
+ report.value "mechanistic_basis_info","<html><head></head><body><p>Hypothesis about biochemical mechanisms can be derived from individual
152
+ predictions by inspecting neighbors and relevant fragments.</p>
153
+ <p>Neighbors are compounds that are similar in respect to a certain
154
+ endpoint and it is likely that compounds with high similarity act by
155
+ similar mechanisms as the query compound. Links at the webinterface
156
+ prove an easy access to additional experimental data and literature
157
+ citations for the neighbors and the query structure.</p>
158
+ <p>Activating and deactivating parts of the query compound are highlighted
159
+ in red and green on the webinterface. Fragments that are unknown (or too
160
+ infrequent for statistical evaluation are marked in yellow and
161
+ additional statistical information about the individual fragments can be
162
+ retrieved. Please note that lazar predictions are based on neighbors and
163
+ not on fragments. Fragments and their statistical significance are used
164
+ for the calculation of activity specific similarities.</p>"
165
+
166
+ # Reference all publications to the bibliography
167
+ # Bibliography 9.2
168
+ report.ref_catalog :bibliography, :publications_catalog, :publications_catalog_1
169
+ report.ref_catalog :bibliography, :publications_catalog, :publications_catalog_2
170
+ report.change_catalog :publications_catalog, :publications_catalog_3, {:title => "Helma (2006), Lazy structure-activity relationships (lazar) for the prediction of rodent carcinogenicity and Salmonella mutagenicity.", :url => "http://dx.doi.org/10.1007/s11030-005-9001-5"}
171
+ report.ref_catalog :bibliography, :publications_catalog, :publications_catalog_3
172
+
173
+ # output
174
+ response['Content-Type'] = "application/xml"
175
+ return report.to_xml
@@ -21,6 +21,8 @@ module OpenTox
21
21
  SCHEMA_FILE = File.join(File.dirname(__FILE__),"template/qmrf.xsd")
22
22
  # QMRF XML Template file
23
23
  TEMPLATE_FILE = File.join(File.dirname(__FILE__),"template/qmrf.xml")
24
+ # QMRF catalogs. Entries of a catalog can be referenced in certain tags.
25
+ CATALOGS = ["software_catalog", "algorithms_catalog", "descriptors_catalog", "endpoints_catalog", "publications_catalog", "authors_catalog"]
24
26
  # QMRF XML tags with attributes to edit
25
27
  ATTRIBUTE_TAGS = ["training_set_availability", "training_set_data", "training_set_descriptors", "dependent_var_availability", "validation_set_availability", "validation_set_data", "validation_set_descriptors", "validation_dependent_var_availability"]
26
28
 
@@ -46,7 +48,11 @@ module OpenTox
46
48
  end
47
49
 
48
50
  # Get or Set a value
49
- # e.G.: <QSAR_title chapter="1.1" help="" name="QSAR identifier (title)">Title of My QSAR</QSAR_title>
51
+ # e.G.:
52
+ #@example change the title
53
+ # report.value "QSAR_title", "Title of My QSAR"
54
+ # #changes the QSAR_title tag to:
55
+ # #<QSAR_title chapter="1.1" help="" name="QSAR identifier (title)">Title of My QSAR</QSAR_title>
50
56
  # @param [String] key Nodename e.g.: "QSAR_title"
51
57
  # @param [String] value Value to change. If not set the function returns the current value
52
58
  # @return [Error] returns Error message if fails
@@ -58,11 +64,13 @@ module OpenTox
58
64
  t.content
59
65
  end
60
66
 
61
- # Set attributes of an report XML tag
62
- # e.G.: <training_set_data cas="Yes" chapter="6.2" chemname="Yes" formula="Yes" help="" inchi="Yes" mol="Yes" name="Available information for the training set" smiles="Yes"/>
67
+ # Set attributes of an report XML tag.
68
+ # Some of the QMRF XML tags have attributes to be edited. This applies to 6.1 to 6.4 and 7.1 to 7.4 see also: {OpenTox::QMRFReport::ATTRIBUTE_TAGS ATTRIBUTE_TAGS}.
69
+ # e.G. "Available information for the training set" at 6.2 of the report:
70
+ # <training_set_data cas="Yes" chapter="6.2" chemname="Yes" formula="Yes" help="" inchi="Yes" mol="Yes" name="Available information for the training set" smiles="Yes"/>
63
71
  #@example change_attributes
64
72
  # report.change_attributes "training_set_data", {:inchi => "Yes", :smiles => "Yes"}
65
- # @param [String] key Nodename e.g.: "training_set_data"
73
+ # @param [String] tagname Nodename e.g.: "training_set_data"
66
74
  # @param [Hash] valuehash Key-Value Hash of tag attributes to change.
67
75
  # @return [Error] returns Error message if fails
68
76
  def change_attributes tagname, valuehash
@@ -74,7 +82,7 @@ module OpenTox
74
82
  end
75
83
 
76
84
  # Change a catalog
77
- # @param [String] catalog Name of the catalog - One of "software_catalog", "algorithms_catalog", "descriptors_catalog", "endpoints_catalog", "publications_catalog", "authors_catalog" in QMRF v1.3
85
+ # @param [String] catalog Name of the catalog - One of {OpenTox::QMRFReport::CATALOGS CATALOGS}.
78
86
  # @param [String] id Single entry node in the catalog e.G.: "<software contact='mycontact@mydomain.dom' description="My QSAR Software " id="software_catalog_2" name="MySoftware" number="" url="https://mydomain.dom"/>
79
87
  # @param [Hash] valuehash Key-Value Hash with attributes for a single catalog node
80
88
  # @return [Error] returns Error message if fails
@@ -100,7 +108,7 @@ module OpenTox
100
108
  #@example ref_catalog
101
109
  # report.ref_catalog 'qmrf_authors', 'authors_catalog', 'firstauthor'
102
110
  # @param [String] chapter Name of the chapter to add the catalog reference. e.g.: qmrf_authors, model_authors, QSAR_software, ...
103
- # @param [String] catalog Name of the catalog
111
+ # @param [String] catalog Name of the catalog. One of {OpenTox::QMRFReport::CATALOGS CATALOGS}.
104
112
  # @param [String] id entry node in the catalog
105
113
  def ref_catalog chapter, catalog, id
106
114
  catalog_exists? catalog
@@ -117,7 +125,7 @@ module OpenTox
117
125
  end
118
126
 
119
127
  # get an attribute from a catalog entry
120
- # @param [String] catalog Name of the catalog
128
+ # @param [String] catalog Name of the catalog. One of {OpenTox::QMRFReport::CATALOGS CATALOGS}.
121
129
  # @param [String] id entry id in the catalog
122
130
  # @param [String] key returns value of a key in a catalog node
123
131
  # @return [String, false] returns value of a key in a catalog node or false if catalog entry do not exists.
@@ -132,9 +140,9 @@ module OpenTox
132
140
 
133
141
  # Check if a catalog exists in this QMRF version
134
142
  # @param [String] catalog Catalog
135
- # @return [Error, true] returns true or Error if a catalog do not exists
143
+ # @return [Error, true] returns true or Error if a catalog do not exists. See also {OpenTox::QMRFReport::CATALOGS CATALOGS}.
136
144
  def catalog_exists? catalog
137
- raise "Unknown catalog: #{catalog}" unless ["software_catalog", "algorithms_catalog", "descriptors_catalog", "endpoints_catalog", "publications_catalog", "authors_catalog"].include? catalog.to_s
145
+ raise "Unknown catalog: #{catalog}" unless CATALOGS.include? catalog.to_s
138
146
  true
139
147
  end
140
148
 
@@ -3,15 +3,15 @@
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "qsar-report"
5
5
  s.version = File.read("./VERSION")
6
- s.date = "2016-09-14"
6
+ s.date = "2016-09-16"
7
7
  s.authors = ["Micha Rautenberg"]
8
8
  s.email = ["rautenberg@in-silico.ch"]
9
- s.homepage = "http://github.com/opentox/qsar-report"
9
+ s.homepage = "https://github.com/opentox/qsar-report"
10
10
  s.summary = %q{qsar-report}
11
11
  s.description = %q{QMRF and QPRF reporting for OpenTox ruby module and Lazar Toxicology Predictions}
12
12
  s.license = 'GPL-3.0'
13
-
14
- #s.rubyforge_project = "qsar-report"
13
+ s.metadata = { "issue_tracker" => "https://github.com/opentox/qsar-report/issues" }
14
+
15
15
 
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.required_ruby_version = '>= 2.0.0'
@@ -20,4 +20,4 @@ Gem::Specification.new do |s|
20
20
  s.add_runtime_dependency "haml", '~> 4.0'
21
21
  s.add_runtime_dependency "json", '~> 1.8'
22
22
 
23
- end
23
+ end
@@ -1,3 +1,3 @@
1
- ["qmrf-report.rb","qprf-report.rb"].each do |test|
1
+ ["qmrf-report.rb", "qprf-report.rb"].each do |test|
2
2
  require_relative test
3
- end
3
+ end
@@ -0,0 +1,146 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE QMRF PUBLIC "http://qmrf.sourceforge.net/qmrf.dtd" "qmrf.dtd">
3
+ <QMRF author="Joint Research Centre, European Commission" contact="Joint Research Centre, European Commission" date="July 2007" email="JRC-IHCP-COMPUTOX@ec.europa.eu" name="(Q)SAR Model Reporting Format" schema_version="1.0" url="http://ihcp.jrc.ec.europa.eu/" version="1.3">
4
+ <QMRF_chapters>
5
+ <QSAR_identifier chapter="1" help="" name="QSAR identifier">
6
+ <QSAR_title chapter="1.1" help="" name="QSAR identifier (title)"/>
7
+ <QSAR_models chapter="1.2" help="" name="Other related models"/>
8
+ <QSAR_software chapter="1.3" help="" name="Software coding the model">
9
+
10
+ <software_ref idref="firstsoftware"/>
11
+ </QSAR_software>
12
+ </QSAR_identifier>
13
+ <QSAR_General_information chapter="2" help="" name="General information">
14
+ <qmrf_date chapter="2.1" help="" name="Date of QMRF"/>
15
+ <qmrf_authors chapter="2.2" help="" name="QMRF author(s) and contact details">
16
+
17
+ <author_ref idref="firstauthor"/>
18
+ </qmrf_authors>
19
+ <qmrf_date_revision chapter="2.3" help="" name="Date of QMRF update(s)"/>
20
+ <qmrf_revision chapter="2.4" help="" name="QMRF update(s)"/>
21
+ <model_authors chapter="2.5" help="" name="Model developer(s) and contact details">
22
+
23
+ <author_ref idref="modelauthor"/>
24
+ </model_authors>
25
+ <model_date chapter="2.6" help="" name="Date of model development and/or publication"/>
26
+ <references chapter="2.7" help="" name="Reference(s) to main scientific papers and/or software package">
27
+
28
+ </references>
29
+ <info_availability chapter="2.8" help="" name="Availability of information about the model"/>
30
+ <related_models chapter="2.9" help="" name="Availability of another QMRF for exactly the same model"/>
31
+ </QSAR_General_information>
32
+ <QSAR_Endpoint chapter="3" help="" name="Defining the endpoint - OECD Principle 1">
33
+ <model_species chapter="3.1" help="" name="Species"/>
34
+ <model_endpoint chapter="3.2" help="" name="Endpoint">
35
+
36
+ </model_endpoint>
37
+ <endpoint_comments chapter="3.3" help="" name="Comment on endpoint"/>
38
+ <endpoint_units chapter="3.4" help="" name="Endpoint units"/>
39
+ <endpoint_variable chapter="3.5" help="" name="Dependent variable"/>
40
+ <endpoint_protocol chapter="3.6" help="" name="Experimental protocol"/>
41
+ <endpoint_data_quality chapter="3.7" help="" name="Endpoint data quality and variability"/>
42
+ </QSAR_Endpoint>
43
+ <QSAR_Algorithm chapter="4" help="" name="Defining the algorithm - OECD Principle 2">
44
+ <algorithm_type chapter="4.1" help="" name="Type of model"/>
45
+ <algorithm_explicit chapter="4.2" help="" name="Explicit algorithm">
46
+ <algorithm_ref idref="algorithms_catalog_1"/>
47
+ <equation/>
48
+ </algorithm_explicit>
49
+ <algorithms_descriptors chapter="4.3" help="" name="Descriptors in the model">
50
+
51
+ <descriptor_ref idref="descriptors_catalog_1"/>
52
+ </algorithms_descriptors>
53
+ <descriptors_selection chapter="4.4" help="" name="Descriptor selection"/>
54
+ <descriptors_generation chapter="4.5" help="" name="Algorithm and descriptor generation"/>
55
+ <descriptors_generation_software chapter="4.6" help="" name="Software name and version for descriptor generation" options="">
56
+
57
+ <software_ref idref="software_catalog_2"/>
58
+ </descriptors_generation_software>
59
+ <descriptors_chemicals_ratio chapter="4.7" help="" name="Chemicals/Descriptors ratio"/>
60
+ </QSAR_Algorithm>
61
+ <QSAR_Applicability_domain chapter="5" help="" name="Defining the applicability domain - OECD Principle 3">
62
+ <app_domain_description chapter="5.1" help="" name="Description of the applicability domain of the model"/>
63
+ <app_domain_method chapter="5.2" help="" name="Method used to assess the applicability domain"/>
64
+ <app_domain_software chapter="5.3" help="" name="Software name and version for applicability domain assessment">
65
+
66
+ <software_ref idref="software_catalog_3"/>
67
+ </app_domain_software>
68
+ <applicability_limits chapter="5.4" help="" name="Limits of applicability"/>
69
+ </QSAR_Applicability_domain>
70
+ <QSAR_Robustness chapter="6" help="" name="Internal validation - OECD Principle 4">
71
+ <training_set_availability answer="Yes" chapter="6.1" help="" name="Availability of the training set"/>
72
+ <training_set_data cas="Yes" chapter="6.2" chemname="Yes" formula="Yes" help="" inchi="No" mol="Yes" name="Available information for the training set" smiles="No"/>
73
+ <training_set_descriptors answer="All" chapter="6.3" help="" name="Data for each descriptor variable for the training set"/>
74
+ <dependent_var_availability answer="All" chapter="6.4" help="" name="Data for the dependent variable for the training set"/>
75
+ <other_info chapter="6.5" help="" name="Other information about the training set"/>
76
+ <preprocessing chapter="6.6" help="" name="Pre-processing of data before modelling"/>
77
+ <goodness_of_fit chapter="6.7" help="" name="Statistics for goodness-of-fit"/>
78
+ <loo chapter="6.8" help="" name="Robustness - Statistics obtained by leave-one-out cross-validation"/>
79
+ <lmo chapter="6.9" help="" name="Robustness - Statistics obtained by leave-many-out cross-validation"/>
80
+ <yscrambling chapter="6.10" help="" name="Robustness - Statistics obtained by Y-scrambling"/>
81
+ <bootstrap chapter="6.11" help="" name="Robustness - Statistics obtained by bootstrap"/>
82
+ <other_statistics chapter="6.12" help="" name="Robustness - Statistics obtained by other methods"/>
83
+ </QSAR_Robustness>
84
+ <QSAR_Predictivity chapter="7" help="" name="External validation - OECD Principle 4">
85
+ <validation_set_availability answer="Yes" chapter="7.1" help="" name="Availability of the external validation set"/>
86
+ <validation_set_data cas="Yes" chapter="7.2" chemname="Yes" formula="Yes" help="" inchi="Yes" mol="Yes" name="Available information for the external validation set" smiles="Yes"/>
87
+ <validation_set_descriptors answer="All" chapter="7.3" help="" name="Data for each descriptor variable for the external validation set"/>
88
+ <validation_dependent_var_availability answer="All" chapter="7.4" help="" name="Data for the dependent variable for the external validation set"/>
89
+ <validation_other_info chapter="7.5" help="" name="Other information about the external validation set"/>
90
+ <experimental_design chapter="7.6" help="" name="Experimental design of test set"/>
91
+ <validation_predictivity chapter="7.7" help="" name="Predictivity - Statistics obtained by external validation"/>
92
+ <validation_assessment chapter="7.8" help="" name="Predictivity - Assessment of the external validation set"/>
93
+ <validation_comments chapter="7.9" help="" name="Comments on the external validation of the model"/>
94
+ </QSAR_Predictivity>
95
+ <QSAR_Interpretation chapter="8" help="" name="Providing a mechanistic interpretation - OECD Principle 5">
96
+ <mechanistic_basis chapter="8.1" help="" name="Mechanistic basis of the model"/>
97
+ <mechanistic_basis_comments chapter="8.2" help="" name="A priori or a posteriori mechanistic interpretation"/>
98
+ <mechanistic_basis_info chapter="8.3" help="" name="Other information about the mechanistic interpretation"/>
99
+ </QSAR_Interpretation>
100
+ <QSAR_Miscelaneous chapter="9" help="" name="Miscellaneous information">
101
+ <comments chapter="9.1" help="" name="Comments"/>
102
+ <bibliography chapter="9.2" help="" name="Bibliography">
103
+
104
+ <publication_ref idref="publications_catalog_1"/>
105
+ </bibliography>
106
+ <attachments chapter="9.3" help="" name="Supporting information">
107
+
108
+
109
+
110
+
111
+
112
+
113
+ <attachment_training_data/>
114
+ <attachment_validation_data/>
115
+ <attachment_documents/>
116
+ </attachments>
117
+ </QSAR_Miscelaneous>
118
+ <QMRF_Summary chapter="10" help="" name="Summary (JRC QSAR Model Database)">
119
+ <QMRF_number chapter="10.1" help="" name="QMRF number">To be entered by JRC</QMRF_number>
120
+ <date_publication chapter="10.2" help="" name="Publication date">To be entered by JRC</date_publication>
121
+ <keywords chapter="10.3" help="" name="Keywords">To be entered by JRC</keywords>
122
+ <summary_comments chapter="10.4" help="" name="Comments">To be entered by JRC</summary_comments>
123
+ </QMRF_Summary>
124
+ </QMRF_chapters>
125
+ <Catalogs>
126
+ <software_catalog>
127
+ <software contact="" description="" id="firstsoftware" name="" number="" url=""/>
128
+ <software contact="" description="" id="software_catalog_2" name="" number="" url=""/>
129
+ <software contact="" description="" id="software_catalog_3" name="" number="" url=""/>
130
+ </software_catalog>
131
+ <algorithms_catalog>
132
+ <algorithm definition="" description="" id="algorithms_catalog_1" publication_ref=""/>
133
+ </algorithms_catalog>
134
+ <descriptors_catalog>
135
+ <descriptor description="" id="descriptors_catalog_1" name="" publication_ref="" units=""/>
136
+ </descriptors_catalog>
137
+ <endpoints_catalog/>
138
+ <publications_catalog>
139
+ <publication id="publications_catalog_1" title="" url=""/>
140
+ </publications_catalog>
141
+ <authors_catalog>
142
+ <author affiliation="" contact="" email="" id="firstauthor" name="" number="" url=""/>
143
+ <author affiliation="" contact="" email="" id="modelauthor" name="" number="" url=""/>
144
+ </authors_catalog>
145
+ </Catalogs>
146
+ </QMRF>