qsar-report 0.0.5 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>