Compound intake estimator: Difference between revisions
mNo edit summary |
|||
(36 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | |||
[[heande:Compound intake estimator]] | [[heande:Compound intake estimator]] | ||
[[Category:Plantlibra]] | |||
{{method|moderator=Jouni}} | {{method|moderator=Jouni}} | ||
</noinclude> | |||
'''Compound intake estimator''' calculates intakes of compounds based on food or food supplement intake, compound concentration in food, and guidance values for the compound. | '''Compound intake estimator''' calculates intakes of compounds based on food or food supplement intake, compound concentration in food, and guidance values for the compound. In the text, we talk about plant-based food supplements (PFSs), but the tool is generic and is usable for other products as well as long as the required concentration data is made available. | ||
==Question== | ==Question== | ||
How to estimate intakes and compare them to guidance values? | How to estimate intakes of chemical compounds in plant-based food supplements and compare them to guidance values in an open collaborative web system? | ||
==Answer== | ==Answer== | ||
The concern indicator is calculated for each compound separately. If the intake is smaller than the threshold of concern, the indicator is < 1 and there is no concern. The threshold of concern is acceptable daily | The '''compound intake estimator''' calculates intakes and levels of health concern of plant-based food supplements based on product-specific concentration data and usage information provided by the user. The tool works online simply with a web browser. For user instructions and some data used, see below. The tools is openly available online at http://en.opasnet.org/w/Compound_intake_estimator. | ||
=== Compound intakes and risk estimates === | |||
A concern indicator is calculated for each compound separately. If the intake is smaller than the threshold of concern, the indicator is < 1 and there is no concern. The threshold of concern is acceptable daily intake (ADI), tolerable daily intake (TDI), lower confidence limit of benchmark dose (BMDL10), or threshold of toxicological concern (TTC), depending on what data is available for each compound. | |||
<rcode embed=1 graphics=1 | <rcode label='Intakes and risks' embed=1 graphics=1 | ||
variables=" | variables=" | ||
name: | name:name|description:Name of plant food supplement|type:text|default:Cinnamon essential oil| | ||
category:Intake information| | category:Intake information| | ||
name:food.amount|description:Amount of supplement per day (g /d)|default:1| | name:food.amount|description:Amount of supplement per day (g /d)|type:text|default:1| | ||
name:intermediates|description:Show intermediate results?|type:selection|options:FALSE;No;TRUE;Yes|default:FALSE| | name:fr.const|description:Fraction of essential oil in the supplement (%)|type:text|default:10| | ||
name:add|description:Do you want to add own compound data?|type:selection|options:FALSE;No;TRUE;Yes|default:FALSE| | name:oil.amount|description:Amount of essential oil consumed directly per day (g /d)|type:text|default:0| | ||
name:intermediates|description:Show intermediate results?| | |||
type:selection|options:FALSE;No;TRUE;Yes|default:FALSE| | |||
name:extract|description:Do you want to limit to some extraction techniques?|type:selection| | |||
options:FALSE;No, analyze all techniques;TRUE;Yes, let me choose|default:FALSE| | |||
name:add|description:Do you want to add own compound data?| | |||
type:selection|options:FALSE;No;TRUE;Yes|default:FALSE| | |||
name:addcompound|description:Name(s) of additional compound(s)|default:' '| | name:addcompound|description:Name(s) of additional compound(s)|default:' '| | ||
category:Additional compound information| | category:Additional compound information| | ||
category_conditions:add;TRUE| | category_conditions:add;TRUE| | ||
name:addconc|description:Concentration(s) of the compound(s) (mg of compound /g product)|default:0 | name:addconc|description:Concentration(s) of the compound(s) (mg of compound /g product)|default:0| | ||
name:extracted|description:Which extraction techniques to consider?|type:checkbox|options: | |||
1;Not known; | |||
2;Hydrodistillation; | |||
3;Solvent extraction; | |||
4;Steam distillation; | |||
5;Supercritical fluid extraction, 120 bar, 40 °C; | |||
6;Supercritical fluid extraction, 90 bar, 40 °C; | |||
7;Supercritical fluid extraction, 90 bar, 50 °C; | |||
8;Superheated water extraction, 100 °C; | |||
9;Superheated water extraction, 150 °C; | |||
10;Superheated water extraction, 200 °C; | |||
11;Solid phase| | |||
default:1;2;3;4;5;6;7;8;9;10;11| | |||
category:Extraction technique| | |||
category_conditions:extract;TRUE | |||
"> | "> | ||
Line 28: | Line 55: | ||
library(ggplot2) | library(ggplot2) | ||
################## SETUP MODEL | |||
openv.setN(100) # Sets the number of model iterations to 100. | |||
#### | # Fetches the ovariables needed in the model from [[Compound intake estimator]]. | ||
# Ovariables downloaded: guidance.values, compound.intake, food.risk, extraction, concplot. | |||
objects.latest("Op_en6193", code_name="initiate") | |||
# compound.conc is the concentration of compounds in the critical constituent. | |||
# Data comes from [[Compound intake estimator]]. | |||
compound.conc <- Ovariable(name = "compound.conc", ddata = "Op_en6193.example_data") | |||
################## USER INPUTS | |||
# name is the name of product. It is used in the output graphs. | # name is the name of product. It is used in the output graphs. | ||
Line 45: | Line 80: | ||
fr.const <- Ovariable("fr.const", data = data.frame(Result = fr.const)) | fr.const <- Ovariable("fr.const", data = data.frame(Result = fr.const)) | ||
# oil.amount is the amount that the consumer consumes essential oil in addition to the product (g /day) | |||
oil.amount <- Ovariable("oil.amount", data = data.frame(Result = oil.amount)) | |||
# extraction is a list of extraction techniques to consider. (by default, all extraction techniques) | # extraction is a list of extraction techniques to consider. (by default, all extraction techniques) | ||
extraction <- | if(exists('extracted')) { | ||
extraction@data <- extraction@data[extracted , ] # Order of extraction techniques must not change! | |||
} else { | |||
extraction@data <- data.frame(extractionResult = 1) # Remove column Extraction.techniques | |||
} | |||
# addcomp | # addcomp are user-defined additional compounds for a supplement, if they are not in the table. | ||
## addcompound is the name and addconc is the concentration of the additional compound. | ## addcompound is the name and addconc is the concentration of the additional compound. | ||
# addcomp and addcompound can be vectors. | |||
addcompound <- ifelse(! exists('addcompound') || addcompound == ' ', NA, addcompound) | addcompound <- ifelse(! exists('addcompound') || addcompound == ' ', NA, addcompound) | ||
Line 57: | Line 101: | ||
addcomp <- Ovariable("addcomp", data = data.frame(Compound = addcompound, Result = addconc)) | addcomp <- Ovariable("addcomp", data = data.frame(Compound = addcompound, Result = addconc)) | ||
############## ACTUAL | ############## ACTUAL MODEL | ||
food.risk <- EvalOutput(food.risk) | |||
# | ################ PRINTING MODEL OUTPUTS | ||
if(intermediates) { | if(intermediates) { | ||
Line 81: | Line 119: | ||
oprint(summary(compound.intake, marginals = c("Compound")), digits = 3) | oprint(summary(compound.intake, marginals = c("Compound")), digits = 3) | ||
} | } | ||
cat("Risks relative to guidance values (ADI, TDI, BMDL10, or TTC). Values < 1 are of minimal concern | cat("Risks relative to guidance values (ADI, TDI, BMDL10, or TTC). Values < 1 are of minimal concern.\n") | ||
oprint(summary(food.risk, marginals = c("Compound"))) | oprint(summary(food.risk, marginals = c("Compound"))) | ||
Line 98: | Line 133: | ||
stop("There are no compounds that exceed a guidance value.\n") | stop("There are no compounds that exceed a guidance value.\n") | ||
} | } | ||
cat("Risks relative to guidance values (ADI, TDI, BMDL10, or TTC). Values < 1 are of minimal concern and are not shown in the | |||
graph. Note! BMDL10 is used to calculate margin of exposure (MOE), but instead of MOE, (10000 / MOE) is shown on this graph | |||
for consistency.\n") | |||
ggplot(temp, aes(x = Compound, y = food.riskResult, fill = Guidance)) + | ggplot(temp, aes(x = Compound, y = food.riskResult, fill = Guidance)) + | ||
Line 107: | Line 146: | ||
</rcode> | </rcode> | ||
===Compound concentrations=== | |||
The following code allows to calculate the mean and median value of the concentration of each compound in the input data. | |||
<rcode label='Plot concentrations' graphics=1 embed=1 | |||
variables=" | |||
name:limit|description:Plot values above this limit (%)|default:10| | |||
name:allcompounds|description:Do you want to plot all compounds?|type:selection|options:TRUE;Yes;FALSE;No, choose from the list below|default:TRUE| | |||
name:allextractions|description:Do you want to plot all extraction techniques?|type:selection|options:TRUE;Yes;FALSE;No, choose from the list below|default:TRUE| | |||
name:compound|description:If not, what compounds do you want to plot?|type:checkbox|options: | |||
'1,8-Cineole';1,8-Cineole; | |||
'2-Carene';2-Carene; | |||
'2-Methoxycinnamaldehyde';2-Methoxycinnamaldehyde; | |||
'2-Methoxycinnamaldehye';2-Methoxycinnamaldehye; | |||
'2-Methoxycinnamaldehye cinnamalaldehyde';2-Methoxycinnamaldehye cinnamalaldehyde; | |||
'3-Phenylpropyl acetate';3-Phenylpropyl acetate; | |||
'4-Terpineol';4-Terpineol; | |||
'a-Copaene';a-Copaene; | |||
'a-Muurolene';a-Muurolene; | |||
'a-Terpineol';a-Terpineol; | |||
'Aromadendrene';Aromadendrene; | |||
'Aromatic compound';Aromatic compound; | |||
'Benzaldehyde';Benzaldehyde; | |||
'Benzaldeyhde';Benzaldeyhde; | |||
'Benzene propanol';Benzene propanol; | |||
'Benzenepropanal';Benzenepropanal; | |||
'Benzenepropanol acetate';Benzenepropanol acetate; | |||
'Benzylbenzoate';Benzylbenzoate; | |||
'Borneol';Borneol; | |||
'Cadinene';Cadinene; | |||
'Calamenene';Calamenene; | |||
'Camphene';Camphene; | |||
'Camphor';Camphor; | |||
'Carvacrol';Carvacrol; | |||
'Carveol isomere';Carveol isomere; | |||
'Caryophyllene';Caryophyllene; | |||
'Caryophyllene alcohol';Caryophyllene alcohol; | |||
'Caryophyllene oxide';Caryophyllene oxide; | |||
'Caryophyllene oxyde';Caryophyllene oxyde; | |||
'Chavicol';Chavicol; | |||
'Cinamyl acetate';Cinamyl acetate; | |||
'Cinnamaldehyde';Cinnamaldehyde; | |||
'Cinnamic acid';Cinnamic acid; | |||
'Cinnamyl acetate';Cinnamyl acetate; | |||
'Cinnamyl alchol';Cinnamyl alchol; | |||
'Cinnamyl alcohol';Cinnamyl alcohol; | |||
'Cinnamyl alcool';Cinnamyl alcool; | |||
'Cis-P-menth-2-en-1-ol';Cis-P-menth-2-en-1-ol; | |||
'Cis-ß-Ocimene';Cis-ß-Ocimene; | |||
'Coumarin';Coumarin; | |||
'Cryptone';Cryptone; | |||
'Cymene isomere';Cymene isomere; | |||
'E-Anethole';E-Anethole; | |||
'e-Cadinene + Pioncarvone';e-Cadinene + Pioncarvone; | |||
'E-Cinnamyl acetate';E-Cinnamyl acetate; | |||
'E-o-Methoxycinnamaldehye';E-o-Methoxycinnamaldehye; | |||
'Epoxy-6.7-Humulene + Mw=220';Epoxy-6.7-Humulene + Mw=220; | |||
'Eugenol';Eugenol; | |||
'Eugenol acetate';Eugenol acetate; | |||
'Humulene epoxide II';Humulene epoxide II; | |||
'Isoledene';Isoledene; | |||
'Limonene';Limonene; | |||
'Linalool';Linalool; | |||
'Linaool';Linaool; | |||
'Methoxy eugenol';Methoxy eugenol; | |||
'Methyl cinnamaldehyde';Methyl cinnamaldehyde; | |||
'Methyl eugenol';Methyl eugenol; | |||
'Monoterpenes';Monoterpenes; | |||
'N-Hexadecanoic acid';N-Hexadecanoic acid; | |||
'N-Octadecanoic acid';N-Octadecanoic acid; | |||
'P-Cymene';P-Cymene; | |||
'P-Cymene-8-ol';P-Cymene-8-ol; | |||
'Para-Methoxy cinnamic aldehyde';Para-Methoxy cinnamic aldehyde; | |||
'Phenyl cyclohexene';Phenyl cyclohexene; | |||
'Phenylmethyle isovalerate';Phenylmethyle isovalerate; | |||
'Sabiene';Sabiene; | |||
'Sabinene';Sabinene; | |||
'Safrole';Safrole; | |||
'Sesquiterpene epoxide';Sesquiterpene epoxide; | |||
'Sesquiterpenol Mw=220';Sesquiterpenol Mw=220; | |||
'Sesquiterpenol Mw=222';Sesquiterpenol Mw=222; | |||
'Spathulenol';Spathulenol; | |||
'ß-Bisabolene';ß-Bisabolene; | |||
'ß-Cubebene';ß-Cubebene; | |||
'ß-Elemene';ß-Elemene; | |||
'ß-Myrcene';ß-Myrcene; | |||
'ß-Phellandrene';ß-Phellandrene; | |||
'ß-Phellandrene + 1,8-Cineole';ß-Phellandrene + 1,8-Cineole; | |||
'ß-Pinene';ß-Pinene; | |||
'Styrene';Styrene; | |||
'Terpinen-4-ol';Terpinen-4-ol; | |||
'Terpiolene';Terpiolene; | |||
'Terpiolene isomere';Terpiolene isomere; | |||
'Tetradecanal';Tetradecanal; | |||
'Trans-2-methoxycinnamaldehyde';Trans-2-methoxycinnamaldehyde; | |||
'Trans-P-menth-2-en-1-ol';Trans-P-menth-2-en-1-ol; | |||
'Trans-Pinocarveol';Trans-Pinocarveol; | |||
'Trans-Piperitol';Trans-Piperitol; | |||
'Trans-ß-Ocimene';Trans-ß-Ocimene; | |||
'Z-Cinnamaldehyde';Z-Cinnamaldehyde; | |||
'α-Cadinol';α-Cadinol; | |||
'α-Calacorene';α-Calacorene; | |||
'α-Copaene';α-Copaene; | |||
'α-Cubebene';α-Cubebene; | |||
'α-Famesene';α-Famesene; | |||
'α-Gurjunene';α-Gurjunene; | |||
'α-Humulene';α-Humulene; | |||
'α-Muurolene';α-Muurolene; | |||
'α-Muurolol';α-Muurolol; | |||
'α-P-Dimethylstyrene';α-P-Dimethylstyrene; | |||
'α-Phellandrene';α-Phellandrene; | |||
'α-Pinene';α-Pinene; | |||
'α-Selinene';α-Selinene; | |||
'α-Terpinene';α-Terpinene; | |||
'α-Terpineol';α-Terpineol; | |||
'α-Thujene';α-Thujene; | |||
'γ-Cadinene';γ-Cadinene; | |||
'γ-Terpinene';γ-Terpinene; | |||
'δ-Cadinene';δ-Cadinene; | |||
'Δ3-Carene';Δ3-Carene| | |||
category:Chemical compounds| | |||
category_conditions:allcompounds;FALSE| | |||
name:extraction|type:checkbox|options: | |||
'Hydrodistillation';Hydrodistillation; | |||
'Not known';Not known; | |||
'Solvent extraction';Solvent extraction; | |||
'Steam distillation';Steam distillation; | |||
'Supercritical fluid extraction, 120 bar, 40 °C';Supercritical fluid extraction, 120 bar, 40 °C; | |||
'Supercritical fluid extraction, 90 bar, 40 °C';Supercritical fluid extraction, 90 bar, 40 °C; | |||
'Supercritical fluid extraction, 90 bar, 50 °C';Supercritical fluid extraction, 90 bar, 50 °C; | |||
'Superheated water extraction, 100 °C';Superheated water extraction, 100 °C; | |||
'Superheated water extraction, 150 °C';Superheated water extraction, 150 °C; | |||
'Superheated water extraction, 200 °C';Superheated water extraction, 200 °C| | |||
category:Extraction technique| | |||
category_conditions:allextractions;FALSE | |||
"> | |||
### Load some R packages needed to implement the code. | |||
library(OpasnetUtils) | |||
library(ggplot2) | |||
################ SETUP THE MODEL | |||
openv.setN(100) # Set model iterations | |||
# Fetches the ovariables needed in the model from [[Compound intake estimator]]. | |||
# Ovariables downloaded: guidance.values, compound.intake, food.risk, extraction, concplot | |||
objects.latest("Op_en6193", code_name="initiate") | |||
### Download the data from the database. You can also see the raw data on this page below, | |||
### or access the database via this link: http://heande.opasnet.org/wiki/Special:Opasnet_Base?id=Heande3857 | |||
# compound.conc is the concentration of compounds in the critical constituent. | |||
# Data comes from [[Compound intake estimator]]. | |||
compound.conc <- Ovariable(name = "compound.conc", ddata = "Op_en6193.example_data") | |||
################ USER INPUTS | |||
### Select only those rows that fulfill the criteria of compound and extraction method set by the user (if any). | |||
dat <- compound.conc@data | |||
if(!allcompounds) {dat <- dat[dat$Compound %in% compound , ]} | |||
if(!allextractions) {dat <- dat[dat$Extraction.technique %in% extraction , ]} | |||
compound.conc@data <- dat | |||
### Create an information object (called ovariable) out of the data for easy handling. | |||
compound.conc <- EvalOutput(compound.conc) | |||
### Print a summary table of the output. | |||
oprint(summary(compound.conc), digits = 3) | |||
### Use the graph formatting for several graphs. The graphs only differ by the range of concentration that is shown on Y axis. | |||
concplot(compound.conc@output$compound.concResult >= limit) | |||
concplot(compound.conc@output$compound.concResult <= 10 & compound.conc@output$compound.concResult > 1) | |||
concplot(compound.conc@output$compound.concResult <= 1 ) | |||
</rcode> | |||
For seeing details of what the code actually does, click ''Show code''. The code will appear, with documentation of each part on rows starting with ###. In brief, the code reads a piece of concentration and other data from Opasnet database, selects the rows defined by the user through the interface above, and shows the data on a summary table and a few graphs. | |||
==Rationale== | |||
For successful benefit-risk assessment of plant-based food supplements (PFSs), there is a need to estimate intakes of relevant compounds in a product. The health impacts of this exposure are then estimated based on available exposure-response functions. Optimally, all health impacts can be aggregated into e.g. [[disability-adjusted life years]] (DALYs) using [[disability weights]] or similar importance weights. However, the tool presented here does not go so far. Rather, it compares the intakes of each relevant compound to a guidance value, which is thought to separate safe intakes from non-safe intakes. Non-safe does not mean that the compound is causing health problems; it merely tells about compromised safety margins that are inherently embedded in the guidance values. Small exceedances are most likely harmless, but if the intake is clearly beyond its guidance value, careful consideration of potential risk is warranted. | |||
This web tool, [[Compound intake estimator]], was developed in [[Plantlibra]] project to promote the use of quantitative estimates of compound intakes and health risks. The tool consists of open data about guidance values (in the Opasnet database), an open source model (running on [[R]] software) to compute intakes and risk estimates, product-specific concentration data that is only partially available, and a user interface where the user can choose modelling options and add case-specific compound concentration data as input to the model. Detailed user guide, and the data and the model are available at http://en.opasnet.org/w/Compound_intake_estimator. | |||
Users who are skilful with R can download the whole model to their own computers and use and develop it further as they please. This requires an R package called OpasnetUtils, which is available from the CRAN repository http://www.cran.r-project.org. It is also possible to develop a new page in Opasnet for a new product and its concentration data. Those who are interested in such work should contact the tool developer Jouni Tuomisto at THL, Finland. | |||
=== Guidance values === | |||
There are several possible approaches for deriving guidance values. In this approach, we use acceptable daily intake (ADI), tolerable daily intake (TDI), lower confidence limit for benchmark dose 10 (BMDL10), and threshold for toxicological concern (TTC). If there are several guidance values available for a single compound, they are used in the preference order mentioned here. | |||
; [[Acceptable daily intake]] (ADI): An estimate of the amount of a chemical or toxin that a person can ingest daily over a human’s lifetime without appreciable health risk, divided by an average person’s lifespan. The concept of the ADI was developed by the WHO and FAO for chemicals such as additives to foods, pesticide residues and veterinary drugs in foods; ADIs are derived from lab toxicity data and from human experiences of such chemicals when available, and incorporate a safety factor; the ADI is an estimate of the amount of a substance in food that can be ingested over a lifetime by humans without significant risk to health.<ref>Segen's Medical Dictionary. 2012 Farlex, Inc. [http://medical-dictionary.thefreedictionary.com/acceptable+daily+intake] accessed 15th April, 2014.</ref> | |||
;Tolerable daily intake (TDI): Refers to the daily amount of a chemical that has been assessed safe for human being on long-term basis (usually whole lifetime). Originally acceptable daily intake (ADI) was introduced in 1961 to define the daily intake of a food additive which, during the entire lifetime, appears to be without appreciable risk. For contaminants and other foreign chemicals not used intentionally, the term TDI is often preferred.<ref>Wikipedia: [[:en:Tolerable daily intake|Tolerable daily intake]] accessed 15th April 2014</ref> | |||
;Lower confidence limit for benchmark dose 10 (BMDL10): For the dose-response function of a health impact, it is possible to estimate the dose that causes on average 10 % response compared with the highest achievable response. This is called the benchmark dose (BMD10). BMDL10 is the lower confidence limit of BMD10, typically the 2.5th percentile of the probability distribution of the BMD10 estimate.<ref>U.S.EPA: Benchmark Dose (BMD) Methodology [http://www.epa.gov/ncea/bmds/bmds_training/methodology/intro.htm] accessed 15th April, 2014.</ref> | |||
; Threshold for toxicological concern (TTC): According to the TTC concept, a "safe" level of exposure can be identified for many chemicals based on their chemical structure and the known toxicity of chemicals that share similar structural characteristics. The TTC approach is exclusively designed as a substitute for substance-specific information in situations where there is limited or no information on the toxicity of the compound and information on exposure indicates that human exposure is very low.<ref>Opinion on the Use of the Threshold of Toxicological Concern (TTC) Approach for Human Safety Assessment of Chemical Substances with focus on Cosmetics and Consumer Products. European Union (2012) SCCP/1171/08. [http://ec.europa.eu/health/scientific_committees/consumer_safety/docs/sccs_o_092.pdf] accessed 15th April 2014.</ref> | |||
If a compound in a PFS does not have any information on these guidance values, it is ignored in this analysis. The same happens to compounds that exist in the product but do not have any concentration information. | |||
=== Intake and guidance value calculations === | |||
The total intake of essential oil is calculated like this: | |||
intake<sub>oil</sub> = amount<sub>suppl</sub> * fraction<sub>oil</sub> + amount<sub>oil</sub> | |||
where | |||
* intake is the total intake of essential oil (or another product part with the compounds of interest) | |||
* amount<sub>suppl</sub> is the intake of food supplement | |||
* fraction<sub>oil</sub> is the fraction of essential oil in the food supplement | |||
* amount<sub>oil</sub> is the intake of the essential oil consumed directly, i.e. in addition to what is in the food supplement. | |||
The intakes of individual compounds are calculated like this: | |||
intake<sub>comp</sub> (mg /kg /d) = intake<sub>oil</sub> (g /d) * conc<sub>comp</sub> (mg /g) / 60 (kg) | |||
where | |||
* intake<sub>comp</sub> are the intakes of each compound | |||
* intake<sub>oil</sub> is the total intake of essential oil (or another product part with the compounds of interest) | |||
* conc<sub>comp</sub> are the concentrations of each compound in the essential oil. | |||
* 60 kg is the assumed body weight of the person | |||
The concern indicator is calculated like this: | |||
concern indicator<sub>comp,i</sub> = intake<sub>comp</sub> (mg /kg /d) / guidance value<sub>comp,i</sub> (mg /kg /d) * safety factor<sub>i</sub> | |||
where | |||
* concern indicator<sub>comp,i</sub> are the preferred indicators for each compound, | |||
* guidance value<sub>comp</sub> are the guidance values for each compound, | |||
* safety factor<sub>i</sub> are the safety factors used for each indicator (10000 for BMDL10, 1 for others, which already include a safety factor) | |||
The concern indicator is calculated for each compound separately. If the intake is smaller than the guidance value, the indicator is < 1 and there is no concern. Only one guidance value indicator i is used for each compound, the preference order (when there are several guidance values for a compound) is explained in the previous section. | |||
For BMDL10, the typical approach is to divide BMDL10 by the intake and interpret values > 10000 as safe. However, it would be confusing for the user to treat one guidance value differently than others. Therefore, this tool applies the same equation to all guidance values and uses 10000 as the default safety factor for BMDL10. For all other guidance values, the default safety factor is 1, because they already have embedded safety factors for interspecies and intraspecies variation. | |||
=== User interface === | |||
You can fill in the following information: | |||
* Name of plant food supplement (PFS) product. If this is given, it is shown on the graphs and outputs as title. | |||
* Fraction of essential oil in the supplement. How much (as a percentage) does the total product contain the essential oil? | |||
* Amount of supplement per day. How much is the supplement (the total product) consumed per day (given as grams of product per day)? | |||
* The compound concentration data is taken from a table in the Opasnet database. However, if you know that the product contains something that is not listed in the table, you may add the information here. | |||
** Name of additional compound. The name is used to combine the concentration data with toxicological data. So, the name should be found in one of these two tables on this page: ''Cramer classes of compounds'', or ''Guidance values''. If the name is not found, the new piece of information is ignored. | |||
** Concentration of the additional compound in the supplement. This is given as mg of compound per g of PFS product. | |||
** Technical note: You should enter the name of a single compound between quotation marks, e.g. 'Estragol'. If you add several compounds, you should use vector formatting for [[R]], e.g. c('Estragole', 'Fenchone'). The concentration value can be without quotation marks unless it is a distribution or a vector. Acceptable entries for concentrations are e.g.: 2.1; '21.4-24.5'; and c('2.1', '21.4-24.5'). | |||
* Show intermediate results? If ''Yes'' is selected, you will get two tables of a) concentration and b) intake estimates with all compounds in the product. Otherwise, only a default output is shown (see below). | |||
* Which extraction techniques to consider? Different extraction methods may result in different concentration estimates even from the same product. Some of the toxicological information is given having a particular extraction method in mind, and it is not always possible to use toxicological information with any concentration information. Therefore, if you know that some extraction methods should not be used to estimate toxicology, you can unselect them from the list. The default is to use all data, but you can select ''Yes, let me choose'' to the extraction techniques, and then select from the list that appears. | |||
* The default outcome shows a table and a graph where the level of concern is shown for each compound. However, because there are dozens of compounds in any product, the graph shows only those that have the level more than one, i.e. those compounds that need further scrutiny. | |||
===Concentrations=== | |||
The concentration code allows to calculate the mean and median value of the concentration of each compound that appear in table. In addition, it is possible to plot the concentration (expressed as percentage of essential oil) of each compound reported in the data table. Each single value is reported in the chart. | |||
===Data=== | |||
This is an example data to show what kind of information is used by the tool. It is also used to calculate the example results. Some of the actual data for PFSs is proprietary and is currently only available to the partners of the [[Plantlibra]] project. | |||
<t2b name="Example data" index="Extraction.technique,Compound" | <t2b name="Example data" index="Extraction.technique,Compound" | ||
Line 117: | Line 419: | ||
Superheated water extraction, 100 °C|Cinnamyl acetate|5.47; 7.2; 8.93|Jayawardena & Smith, 2010 | Superheated water extraction, 100 °C|Cinnamyl acetate|5.47; 7.2; 8.93|Jayawardena & Smith, 2010 | ||
</t2b> | </t2b> | ||
===Calculations=== | ===Calculations=== | ||
:''You need to run the code below only if you update the | :''This is the code for the actual compound intake estimator model. You need to run the code below only if you update the guidance value tables on this page. | ||
<rcode name="initiate" label="Initiate model" embed=1> | <rcode name="initiate" label="Initiate model" embed=1 store=1> | ||
library(OpasnetUtils) | library(OpasnetUtils) | ||
Line 138: | Line 430: | ||
################## PRE-DEFINED INPUTS | ################## PRE-DEFINED INPUTS | ||
# compound.conc is the concentration of a compound in the critical constituent (or food, if fr.const == 1) | # compound.conc is the concentration of a compound in the critical constituent (or food, if fr.const == 1) | ||
# fr.const is the fraction of the critical constituent in the whole food | # fr.const is the fraction of the critical constituent in the whole food | ||
Line 147: | Line 438: | ||
compound.intake <- Ovariable("compound.intake", | compound.intake <- Ovariable("compound.intake", | ||
dependencies = data.frame(Names = c("food.amount", "compound.conc", "fr.const", "extraction", "addcomp")), | dependencies = data.frame(Names = c( | ||
"food.amount", # amount of food supplement consumed | |||
"compound.conc", # concentration of compounds in essential oil | |||
"oil.amount", # amount of essential oil consumed in addition to the supplement product | |||
"fr.const", # fraction of essential oil in the supplement product | |||
"extraction", # Which extraction methods the user wants to consider | |||
"addcomp" # concentrations of compounds in the essential oil (missing from default data) | |||
# conc is the temporary ovariable for compound.conc used in calculations | |||
)), | |||
formula = function(...) { | formula = function(...) { | ||
conc <- compound.conc * 10 * extraction | |||
# remove extractions that are not considered. | |||
# compound.conc from w/w% to mg/g | |||
# oapply would be an alternative to remove extra indices, but there is a bizarre error. | |||
# compound.conc <- oapply(compound.conc, cols = "Extraction.technique", fun = mean) | |||
test <- colnames( | test <- colnames(conc@output) != "Extraction.technique" | ||
conc@marginal <- conc@marginal[test] | |||
conc@output <- conc@output[test] # unit: mg /g | |||
# removes index Extraction.technique, which is no longer needed. | |||
conc@output <- orbind(conc, addcomp * 1) | |||
# addcomp must not contain columns that are not in conc. It must contain Compound. | |||
# It is multiplied by 1 to make the result column name "Result". | |||
out <- (food.amount * fr.const / 100 + oil.amount) * conc / 60 | |||
# calculates the oil intake from food supplement and then adds direct oil intake. | |||
# scale to 60 kg person | |||
# fr.const from % to fraction | |||
test2 <- unique(out@output$Compound[result(out) > 0]) # remove all compounds where intake = 0 | |||
out@output <- out@output[out@output$Compound %in% test2 , ] | |||
return(out) | return(out) | ||
} | } | ||
Line 167: | Line 478: | ||
# guidance.values is the guidance value (ADI, BMDL10, TTC or similar) for compounds. unit: mg /kg /d | # guidance.values is the guidance value (ADI, BMDL10, TTC or similar) for compounds. unit: mg /kg /d | ||
# cramer is cramer classes of compounds | # cramer is cramer classes of compounds (temporary) | ||
# cramer.values are the thresholds of toxicological concern for each Cramer class | # cramer.values are the thresholds of toxicological concern for each Cramer class (temporary) | ||
cramer <- tidy(opbase.data("Op_en6193", subset = "cramer_classes_of_compounds")) | cramer <- tidy(opbase.data("Op_en6193", subset = "cramer_classes_of_compounds")) | ||
Line 182: | Line 493: | ||
guidance.values <- orbind(cramer.values, guidance.values) | guidance.values <- orbind(cramer.values, guidance.values) | ||
guidance.values <- Ovariable("guidance.values", data = guidance.values) | guidance.values <- Ovariable("guidance.values", data = guidance.values) | ||
safety.factor <- Ovariable("safety.factor", ddata = "Op_en6193.safety_factors") # [[Compound intake estimator]] | |||
# food.risk calculates "hazard quotients" or risks relative to guidance values. Value < 1 are of minimal concern | # food.risk calculates "hazard quotients" or risks relative to guidance values. Value < 1 are of minimal concern | ||
food.risk <- Ovariable(name = "food.risk", | food.risk <- Ovariable(name = "food.risk", | ||
dependencies = data.frame(Name = c("compound.intake", "guidance.values")), | dependencies = data.frame(Name = c("compound.intake", "guidance.values", "safety.factor")), | ||
formula = function(...) { | formula = function(...) { | ||
# guidance.risk is intake compared with guidance values. | # guidance.risk is intake compared with guidance values. | ||
out <- compound.intake / guidance.values | out <- compound.intake / (guidance.values / safety.factor) | ||
removepoorguidance <- function(dat, goodg) { # Remove inferior guidance values | removepoorguidance <- function(dat, goodg) { # Remove inferior guidance values | ||
# Compounds that have good guidance values (goodg). | # Compounds that have good guidance values (goodg). | ||
hasgoodg <- dat[dat$Guidance == goodg , "Compound"] | hasgoodg <- unique(dat[dat$Guidance == goodg , "Compound"]) | ||
# The row contains data about a chemical with a good guidance value | # The row contains data about a chemical with a good guidance value | ||
Line 209: | Line 522: | ||
out <- removepoorguidance(out, "TDI") | out <- removepoorguidance(out, "TDI") | ||
out <- removepoorguidance(out, "BMDL10") | out <- removepoorguidance(out, "BMDL10") | ||
test2 <- unique(out$Compound[out$Result > 0]) # remove all compounds where risk = 0 | |||
out <- out[out$Compound %in% test2 , ] | |||
return(out) | return(out) | ||
Line 214: | Line 530: | ||
) | ) | ||
objects.store(compound.intake, guidance.values, food.risk) | extraction <- Ovariable("extraction", ddata = "Op_en6193.extraction_techniques") | ||
extraction@data$extractionResult <- 1 | |||
### Define formatting for the concentration graphs that will be shown. | |||
concplot <- function(condition) { | |||
dat <- compound.conc@output[condition, ] | |||
if(nrow(dat) != 0) { | |||
out <- ggplot(dat, | |||
aes( | |||
x = Compound, | |||
y = compound.concResult, | |||
colour = Extraction.technique | |||
)) + | |||
geom_point(size=5) + | |||
theme_grey(base_size = 24) + | |||
theme(axis.text.x = element_text(angle = 90, hjust = 1)) + | |||
labs(y = "Concentration (%)") | |||
return(out) | |||
} else { | |||
warning("No data to show") | |||
} | |||
} | |||
objects.store(compound.intake, guidance.values, food.risk, extraction, concplot, safety.factor) | |||
cat("The following objects were successfully stored: | cat("The following objects were successfully stored: | ||
compound.intake, guidance.values, food.risk\n") | compound.intake, guidance.values, food.risk, extraction, concplot, safety.factor\n") | ||
</rcode> | </rcode> | ||
Line 223: | Line 563: | ||
Using different data on different layers: [http://sape.inf.usi.ch/quick-reference/ggplot2]. | Using different data on different layers: [http://sape.inf.usi.ch/quick-reference/ggplot2]. | ||
===Extraction techniques=== | |||
<t2b name='Extraction techniques' index='Extraction.technique' obs='Notes' unit='-'> | |||
Not known| | |||
Hydrodistillation| | |||
Solvent extraction| | |||
Steam distillation| | |||
Supercritical fluid extraction, 120 bar, 40 °C| | |||
Supercritical fluid extraction, 90 bar, 40 °C| | |||
Supercritical fluid extraction, 90 bar, 50 °C| | |||
Superheated water extraction, 100 °C| | |||
Superheated water extraction, 150 °C| | |||
Superheated water extraction, 200 °C| | |||
Solid phase| | |||
70% ethanol (1:5)| | |||
Acetone and water mixture (35 to 67:1)| | |||
Commercial product| | |||
Methanol (40%) and water| | |||
Not reported| | |||
Ultrasound assisted extraction| | |||
70% methanol, Ultrasound assisted extraction| | |||
ddH2O and Na2HPO4,partitioning with ethyl acetate, organic phases dried and redissolved in methanol| | |||
Maceration| | |||
Soxhlet extraction| | |||
</t2b> | |||
===Data about guidance values=== | ===Data about guidance values=== | ||
<t2b name=" | '''Generic data about guidance values | ||
<t2b name="Safety factors" index="Guidance" obs="Safety factor" unit="-"> | |||
ADI|1 | |||
BMDL10|10000 | |||
TDI|1 | |||
TTC|1 | |||
</t2b> | </t2b> | ||
<t2b name="Cramer values" index="Cramer class" obs="Threshold of toxicological concern" desc="Description" unit="µg /kg-BW /d"> | <t2b name="Cramer values" index="Cramer class" obs="Threshold of toxicological concern" desc="Description" unit="µg /kg-BW /d"> | ||
1|30| | 1|30| | ||
2|1.5| | 2|1.5| | ||
3|1.5| | 3|1.5| | ||
4|0.0025|This | 4|0.0025|This value is the TTC for compounds having a structural alert for genotoxicity | ||
</t2b> | </t2b> | ||
Values 30 | Values 30, 1.5 and 0.025 µg /kg /d come from [http://www.efsa.europa.eu/en/efsajournal/doc/2750.pdf EFSA (2012)]<ref name="EFSA 2012"> [http://www.efsa.europa.eu/en/efsajournal/doc/2750.pdf EFSA (2012)]. Scientific Opinion on Exploring options for providing advice about possible human health risks based on the concept of Threshold of Toxicological Concern (TTC). EFSA Journal 2012;10(7):2750 </ref> | ||
'''Compound-specific data about guidance values | |||
<ref name="van den Berg 2011"> van den Berg SJPL, Restani P, Boersma MG, Delmulle L, Rietjens IMCM (2011) Levels of Genotoxic and Carcinogenic Ingredients in Plant Food Supplements and Associated Risk Assessment. Food and Nutrition Sciences, 2(9): 989-1010.</ref> | |||
<t2b name="Guidance values" index="Compound,Guidance" desc="Notes" unit="mg /kg-BW /d"> | |||
1,8-Cineole|ADI|2.8| | |||
4-Terpineol|ADI|1.2| | |||
Benzylbenzoate|ADI|5| | |||
Cinnamaldehyde|ADI|0.7| | |||
Coumarin|TDI|0.1| | |||
Estragole|BMDL10|3.3-6.5|<ref name="van den Berg 2011"/> | |||
Eugenol|ADI|2.5| | |||
Fenchone|ADI|10.64| | |||
Limonene|ADI|1| | |||
Linalool|ADI|0.5| | |||
Myrcene|ADI|2.5| | |||
Trans-anethole|ADI|2| | |||
Safrole|BMDL10|1.9-5.1| | |||
α-Terpineol|ADI|1.2| | |||
</t2b> | |||
{| class="wikitable collapsible collapsed" | {| class="wikitable collapsible collapsed" | ||
Line 261: | Line 637: | ||
| | | | ||
<t2b name='Cramer classes of compounds' index='Compound,Cramer class' obs='Notes' unit="-"> | <t2b name='Cramer classes of compounds' index='Compound,Cramer class' obs='Notes' unit="-"> | ||
1,8-Cineole|3|A new line was created for 1.8-Cineole based on "ß-Phellandrene + 1,8-Cineole: 1+3" | |||
1,8-Cineole | |||
2-Carene|1| | 2-Carene|1| | ||
2-Methoxycinnamaldehyde|1| | 2-Methoxycinnamaldehyde|1| | ||
3-Phenylpropyl acetate|1| | 3-Phenylpropyl acetate|1| | ||
4-Methoxyphenylacetone|1| | |||
4-Terpineol|3| | 4-Terpineol|3| | ||
5-Caffeoylquinic Acid|3| | |||
Acacetin|3| | |||
Allo-ocimene|1| | |||
Apigenin|3| | |||
Apiole|4| | |||
Aromadendrene|1| | Aromadendrene|1| | ||
Aromatic compound||Class could not be assigned | Aromatic compound||Class could not be assigned | ||
Benzaldehyde|1| | Benzaldehyde|1| | ||
Benzenepropanal|1| | Benzenepropanal|1| | ||
Benzenepropanol acetate|1| | |||
Benzenepropanol|1| | Benzenepropanol|1| | ||
Benzylbenzoate|1| | Benzylbenzoate|1| | ||
Bilobalide|3| | |||
Borneol|1| | Borneol|1| | ||
Cadinene|1| | Cadinene|1| | ||
Line 305: | Line 663: | ||
Carvacrol|1| | Carvacrol|1| | ||
Carveol isomere|1|Carveol (2-methyl-5-prop-1-en-2-ylcyclohex-2-en-1-ol) is 1. Isomere is not specified so the class was assigned to the general compound | Carveol isomere|1|Carveol (2-methyl-5-prop-1-en-2-ylcyclohex-2-en-1-ol) is 1. Isomere is not specified so the class was assigned to the general compound | ||
Caryophyllene alcohol|3| | Caryophyllene alcohol|3| | ||
Caryophyllene oxide|3| | Caryophyllene oxide|3| | ||
Caryophyllene|1| | |||
Chavicol|1| | Chavicol|1| | ||
Cinnamaldehyde|1| | Cinnamaldehyde|1| | ||
Line 313: | Line 671: | ||
Cinnamyl acetate|1| | Cinnamyl acetate|1| | ||
Cinnamyl alcohol|1| | Cinnamyl alcohol|1| | ||
Cis-anethole|2| | |||
Cis-limonene oxide|2| | |||
Cis-P-menth-2-en-1-ol|3| | Cis-P-menth-2-en-1-ol|3| | ||
Cis-sabinene hydrate|2| | |||
Cis-ß-Ocimene|1| | Cis-ß-Ocimene|1| | ||
Cis-α-ocimene|1| | |||
Cis-β-ocimene|1| | |||
Coumarin|3| | Coumarin|3| | ||
Cryptone|2| | Cryptone|2| | ||
Line 323: | Line 686: | ||
E-o-Methoxycinnamaldehye|1| | E-o-Methoxycinnamaldehye|1| | ||
Epoxy-6.7-Humulene + Mw=220||Class could not be assigned | Epoxy-6.7-Humulene + Mw=220||Class could not be assigned | ||
Estragole|1|Test compound, not real value | |||
Eugenol acetate|3| | |||
Eugenol|1| | Eugenol|1| | ||
Fenchyl acetate|1| | |||
Ginkgolide A|3| | |||
Ginkgolide B|3| | |||
Ginkgolide C|3| | |||
Ginkgolide J|3| | |||
Ginkgolide A, B, C|3| | |||
Ginkgolide A, B, C, J|3| | |||
Humulene epoxide II|3| | Humulene epoxide II|3| | ||
Isoledene|1| | Isoledene|1| | ||
Isorhamnetin|3| | |||
Kaempferol|3| | |||
Limonene|1| | Limonene|1| | ||
Linalool|3| | Linalool|3| | ||
Luteolin|3| | |||
Methoxy eugenol|3| | Methoxy eugenol|3| | ||
Methyl cinnamaldehyde|1| | Methyl cinnamaldehyde|1| | ||
Methyl eugenol|1| | Methyl eugenol|1| | ||
Monoterpenes||Class could not be assigned | Monoterpenes||Class could not be assigned | ||
Myricetin|3| | |||
N-Hexadecanoic acid|1| | N-Hexadecanoic acid|1| | ||
N-Octadecanoic acid|1| | N-Octadecanoic acid|1| | ||
o-Cymene|1| | |||
p-Anisaldehyde|1| | |||
Para-Methoxy cinnamic aldehyde|1| | |||
p-Cymene|1| | |||
P-Cymene-8-ol|3| | P-Cymene-8-ol|3| | ||
Phenyl cyclohexene|2| | Phenyl cyclohexene|2| | ||
Phenylmethyle isovalerate|1| | Phenylmethyle isovalerate|1| | ||
Quercitin|3| | |||
Rutin|1|Test compound, not real value | |||
Sabinene|1| | Sabinene|1| | ||
Safrole|3| | Safrole|3| | ||
Line 346: | Line 725: | ||
Sesquiterpenol Mw=222||Class could not be assigned | Sesquiterpenol Mw=222||Class could not be assigned | ||
Spathulenol|3| | Spathulenol|3| | ||
ß-Bisabolene|1| | |||
ß-Cubebene|1| | |||
ß-Elemene|1| | |||
ß-Myrcene|1| | |||
ß-Phellandrene|1|ß-Phellandrene + 1,8-Cineole: 1+3 | |||
ß-Pinene|1| | |||
Styrene|1| | Styrene|1| | ||
Terpinen-4-ol|3| | Terpinen-4-ol|3| | ||
Terpinolene isomere|1|terpinolene is 1 , isomere not known. Isomere is not specified so the class was assigned to the general compound | |||
Terpinolene|1| | Terpinolene|1| | ||
Tetradecanal|1| | Tetradecanal|1| | ||
Trans-2-methoxycinnamaldehyde|1| | Trans-2-methoxycinnamaldehyde|1| | ||
Trans- | Trans-limonene oxide|2| | ||
Trans-pinene hydrate|2| | |||
Trans-Pinocarveol|1| | Trans-Pinocarveol|1| | ||
Trans-Piperitol|1| | Trans-Piperitol|1| | ||
Trans-P-menth-2-en-1-ol|3| | |||
Trans-ß-Ocimene|1| | Trans-ß-Ocimene|1| | ||
Z-Cinnamaldehyde|1| | Z-Cinnamaldehyde|1| | ||
α-Cadinol|3| | α-Cadinol|3| | ||
α-Calacorene|2| | α-Calacorene|2| | ||
Line 371: | Line 751: | ||
α-Gurjunene|1| | α-Gurjunene|1| | ||
α-Humulene|1| | α-Humulene|1| | ||
α-Muurolene|1| | |||
α-Muurolol|3| | α-Muurolol|3| | ||
α-P-Dimethylstyrene|1| | α-P-Dimethylstyrene|1| | ||
Line 379: | Line 760: | ||
α-Terpineol|3| | α-Terpineol|3| | ||
α-Thujene|1| | α-Thujene|1| | ||
β-Anise aldehyde|1| | |||
β-Phellandrene|1| | |||
β-Pinene|1| | |||
γ-Cadinene|1| | γ-Cadinene|1| | ||
γ-terpinene|1| | |||
γ-Terpinene|1| | γ-Terpinene|1| | ||
Δ3-Carene|1| | |||
δ-Cadinene|1| | δ-Cadinene|1| | ||
</t2b> | </t2b> | ||
* Cramer class data from [[User:Anto.guzzon]]. | |||
|} | |} | ||
==See also== | == See also == | ||
* [[Plantlibra]] | |||
* [[Plantlibra deliverable DWP5-6]] | |||
* [[:heande:Composition of cinnamon dried bark essential oil]] | * [[:heande:Composition of cinnamon dried bark essential oil]] | ||
* [[:heande:Composition of plant-based food supplements]] | * [[:heande:Composition of plant-based food supplements]] | ||
* [[:heande:Composition of bitter fennel essential oil]] | |||
* [[Compound intake estimator]] | * [[Compound intake estimator]] | ||
* {{#l:Compound intake estimator.ppt}} Presentation about the tool | |||
==References== | == References == | ||
<references/> | <references/> | ||
<noinclude> | |||
== Give comments about the content or approach == | |||
{{commenting tool}} | |||
</noinclude> |
Latest revision as of 11:56, 22 February 2016
Moderator:Jouni (see all) |
|
Upload data
|
Compound intake estimator calculates intakes of compounds based on food or food supplement intake, compound concentration in food, and guidance values for the compound. In the text, we talk about plant-based food supplements (PFSs), but the tool is generic and is usable for other products as well as long as the required concentration data is made available.
Question
How to estimate intakes of chemical compounds in plant-based food supplements and compare them to guidance values in an open collaborative web system?
Answer
The compound intake estimator calculates intakes and levels of health concern of plant-based food supplements based on product-specific concentration data and usage information provided by the user. The tool works online simply with a web browser. For user instructions and some data used, see below. The tools is openly available online at http://en.opasnet.org/w/Compound_intake_estimator.
Compound intakes and risk estimates
A concern indicator is calculated for each compound separately. If the intake is smaller than the threshold of concern, the indicator is < 1 and there is no concern. The threshold of concern is acceptable daily intake (ADI), tolerable daily intake (TDI), lower confidence limit of benchmark dose (BMDL10), or threshold of toxicological concern (TTC), depending on what data is available for each compound.
Compound concentrations
The following code allows to calculate the mean and median value of the concentration of each compound in the input data.
For seeing details of what the code actually does, click Show code. The code will appear, with documentation of each part on rows starting with ###. In brief, the code reads a piece of concentration and other data from Opasnet database, selects the rows defined by the user through the interface above, and shows the data on a summary table and a few graphs.
Rationale
For successful benefit-risk assessment of plant-based food supplements (PFSs), there is a need to estimate intakes of relevant compounds in a product. The health impacts of this exposure are then estimated based on available exposure-response functions. Optimally, all health impacts can be aggregated into e.g. disability-adjusted life years (DALYs) using disability weights or similar importance weights. However, the tool presented here does not go so far. Rather, it compares the intakes of each relevant compound to a guidance value, which is thought to separate safe intakes from non-safe intakes. Non-safe does not mean that the compound is causing health problems; it merely tells about compromised safety margins that are inherently embedded in the guidance values. Small exceedances are most likely harmless, but if the intake is clearly beyond its guidance value, careful consideration of potential risk is warranted.
This web tool, Compound intake estimator, was developed in Plantlibra project to promote the use of quantitative estimates of compound intakes and health risks. The tool consists of open data about guidance values (in the Opasnet database), an open source model (running on R software) to compute intakes and risk estimates, product-specific concentration data that is only partially available, and a user interface where the user can choose modelling options and add case-specific compound concentration data as input to the model. Detailed user guide, and the data and the model are available at http://en.opasnet.org/w/Compound_intake_estimator.
Users who are skilful with R can download the whole model to their own computers and use and develop it further as they please. This requires an R package called OpasnetUtils, which is available from the CRAN repository http://www.cran.r-project.org. It is also possible to develop a new page in Opasnet for a new product and its concentration data. Those who are interested in such work should contact the tool developer Jouni Tuomisto at THL, Finland.
Guidance values
There are several possible approaches for deriving guidance values. In this approach, we use acceptable daily intake (ADI), tolerable daily intake (TDI), lower confidence limit for benchmark dose 10 (BMDL10), and threshold for toxicological concern (TTC). If there are several guidance values available for a single compound, they are used in the preference order mentioned here.
- Acceptable daily intake (ADI)
- An estimate of the amount of a chemical or toxin that a person can ingest daily over a human’s lifetime without appreciable health risk, divided by an average person’s lifespan. The concept of the ADI was developed by the WHO and FAO for chemicals such as additives to foods, pesticide residues and veterinary drugs in foods; ADIs are derived from lab toxicity data and from human experiences of such chemicals when available, and incorporate a safety factor; the ADI is an estimate of the amount of a substance in food that can be ingested over a lifetime by humans without significant risk to health.[1]
- Tolerable daily intake (TDI)
- Refers to the daily amount of a chemical that has been assessed safe for human being on long-term basis (usually whole lifetime). Originally acceptable daily intake (ADI) was introduced in 1961 to define the daily intake of a food additive which, during the entire lifetime, appears to be without appreciable risk. For contaminants and other foreign chemicals not used intentionally, the term TDI is often preferred.[2]
- Lower confidence limit for benchmark dose 10 (BMDL10)
- For the dose-response function of a health impact, it is possible to estimate the dose that causes on average 10 % response compared with the highest achievable response. This is called the benchmark dose (BMD10). BMDL10 is the lower confidence limit of BMD10, typically the 2.5th percentile of the probability distribution of the BMD10 estimate.[3]
- Threshold for toxicological concern (TTC)
- According to the TTC concept, a "safe" level of exposure can be identified for many chemicals based on their chemical structure and the known toxicity of chemicals that share similar structural characteristics. The TTC approach is exclusively designed as a substitute for substance-specific information in situations where there is limited or no information on the toxicity of the compound and information on exposure indicates that human exposure is very low.[4]
If a compound in a PFS does not have any information on these guidance values, it is ignored in this analysis. The same happens to compounds that exist in the product but do not have any concentration information.
Intake and guidance value calculations
The total intake of essential oil is calculated like this:
intakeoil = amountsuppl * fractionoil + amountoil
where
- intake is the total intake of essential oil (or another product part with the compounds of interest)
- amountsuppl is the intake of food supplement
- fractionoil is the fraction of essential oil in the food supplement
- amountoil is the intake of the essential oil consumed directly, i.e. in addition to what is in the food supplement.
The intakes of individual compounds are calculated like this:
intakecomp (mg /kg /d) = intakeoil (g /d) * conccomp (mg /g) / 60 (kg)
where
- intakecomp are the intakes of each compound
- intakeoil is the total intake of essential oil (or another product part with the compounds of interest)
- conccomp are the concentrations of each compound in the essential oil.
- 60 kg is the assumed body weight of the person
The concern indicator is calculated like this:
concern indicatorcomp,i = intakecomp (mg /kg /d) / guidance valuecomp,i (mg /kg /d) * safety factori
where
- concern indicatorcomp,i are the preferred indicators for each compound,
- guidance valuecomp are the guidance values for each compound,
- safety factori are the safety factors used for each indicator (10000 for BMDL10, 1 for others, which already include a safety factor)
The concern indicator is calculated for each compound separately. If the intake is smaller than the guidance value, the indicator is < 1 and there is no concern. Only one guidance value indicator i is used for each compound, the preference order (when there are several guidance values for a compound) is explained in the previous section.
For BMDL10, the typical approach is to divide BMDL10 by the intake and interpret values > 10000 as safe. However, it would be confusing for the user to treat one guidance value differently than others. Therefore, this tool applies the same equation to all guidance values and uses 10000 as the default safety factor for BMDL10. For all other guidance values, the default safety factor is 1, because they already have embedded safety factors for interspecies and intraspecies variation.
User interface
You can fill in the following information:
- Name of plant food supplement (PFS) product. If this is given, it is shown on the graphs and outputs as title.
- Fraction of essential oil in the supplement. How much (as a percentage) does the total product contain the essential oil?
- Amount of supplement per day. How much is the supplement (the total product) consumed per day (given as grams of product per day)?
- The compound concentration data is taken from a table in the Opasnet database. However, if you know that the product contains something that is not listed in the table, you may add the information here.
- Name of additional compound. The name is used to combine the concentration data with toxicological data. So, the name should be found in one of these two tables on this page: Cramer classes of compounds, or Guidance values. If the name is not found, the new piece of information is ignored.
- Concentration of the additional compound in the supplement. This is given as mg of compound per g of PFS product.
- Technical note: You should enter the name of a single compound between quotation marks, e.g. 'Estragol'. If you add several compounds, you should use vector formatting for R, e.g. c('Estragole', 'Fenchone'). The concentration value can be without quotation marks unless it is a distribution or a vector. Acceptable entries for concentrations are e.g.: 2.1; '21.4-24.5'; and c('2.1', '21.4-24.5').
- Show intermediate results? If Yes is selected, you will get two tables of a) concentration and b) intake estimates with all compounds in the product. Otherwise, only a default output is shown (see below).
- Which extraction techniques to consider? Different extraction methods may result in different concentration estimates even from the same product. Some of the toxicological information is given having a particular extraction method in mind, and it is not always possible to use toxicological information with any concentration information. Therefore, if you know that some extraction methods should not be used to estimate toxicology, you can unselect them from the list. The default is to use all data, but you can select Yes, let me choose to the extraction techniques, and then select from the list that appears.
- The default outcome shows a table and a graph where the level of concern is shown for each compound. However, because there are dozens of compounds in any product, the graph shows only those that have the level more than one, i.e. those compounds that need further scrutiny.
Concentrations
The concentration code allows to calculate the mean and median value of the concentration of each compound that appear in table. In addition, it is possible to plot the concentration (expressed as percentage of essential oil) of each compound reported in the data table. Each single value is reported in the chart.
Data
This is an example data to show what kind of information is used by the tool. It is also used to calculate the example results. Some of the actual data for PFSs is proprietary and is currently only available to the partners of the Plantlibra project.
Obs | Extraction.technique | Compound | Result | Reference |
---|---|---|---|---|
1 | Superheated water extraction, 100 °C | 2-Carene | 0.08; 0.1; 0.12 | Jayawardena & Smith, 2010 |
2 | Superheated water extraction, 100 °C | Z-Cinnamaldehyde | 1.63; 2.1; 2.57 | Jayawardena & Smith, 2010 |
3 | Superheated water extraction, 100 °C | Cinnamaldehyde | 81.14; 83.7; 86.26 | Jayawardena & Smith, 2010 |
4 | Superheated water extraction, 100 °C | Eugenol | 0.45; 0.8; 1.15 | Jayawardena & Smith, 2010 |
5 | Hydrodistillation | 1,8-Cineole | 0.2 | Chericoni et al, 2005 |
6 | Superheated water extraction, 100 °C | Cinnamyl acetate | 5.47; 7.2; 8.93 | Jayawardena & Smith, 2010 |
Calculations
- This is the code for the actual compound intake estimator model. You need to run the code below only if you update the guidance value tables on this page.
Using different data on different layers: [4].
Extraction techniques
Obs | Extraction.technique | Notes |
---|---|---|
1 | Not known | |
2 | Hydrodistillation | |
3 | Solvent extraction | |
4 | Steam distillation | |
5 | Supercritical fluid extraction, 120 bar, 40 °C | |
6 | Supercritical fluid extraction, 90 bar, 40 °C | |
7 | Supercritical fluid extraction, 90 bar, 50 °C | |
8 | Superheated water extraction, 100 °C | |
9 | Superheated water extraction, 150 °C | |
10 | Superheated water extraction, 200 °C | |
11 | Solid phase | |
12 | 70% ethanol (1:5) | |
13 | Acetone and water mixture (35 to 67:1) | |
14 | Commercial product | |
15 | Methanol (40%) and water | |
16 | Not reported | |
17 | Ultrasound assisted extraction | |
18 | 70% methanol, Ultrasound assisted extraction | |
19 | ddH2O and Na2HPO4,partitioning with ethyl acetate, organic phases dried and redissolved in methanol | |
20 | Maceration | |
21 | Soxhlet extraction |
Data about guidance values
Generic data about guidance values
Obs | Guidance | Safety factor |
---|---|---|
1 | ADI | 1 |
2 | BMDL10 | 10000 |
3 | TDI | 1 |
4 | TTC | 1 |
Obs | Cramer class | Threshold of toxicological concern | Description |
---|---|---|---|
1 | 1 | 30 | |
2 | 2 | 1.5 | |
3 | 3 | 1.5 | |
4 | 4 | 0.0025 | This value is the TTC for compounds having a structural alert for genotoxicity |
Values 30, 1.5 and 0.025 µg /kg /d come from EFSA (2012)[5]
Compound-specific data about guidance values
Obs | Compound | Guidance | Result | Notes |
---|---|---|---|---|
1 | 1,8-Cineole | ADI | 2.8 | |
2 | 4-Terpineol | ADI | 1.2 | |
3 | Benzylbenzoate | ADI | 5 | |
4 | Cinnamaldehyde | ADI | 0.7 | |
5 | Coumarin | TDI | 0.1 | |
6 | Estragole | BMDL10 | 3.3-6.5 | |
7 | Eugenol | ADI | 2.5 | |
8 | Fenchone | ADI | 10.64 | |
9 | Limonene | ADI | 1 | |
10 | Linalool | ADI | 0.5 | |
11 | Myrcene | ADI | 2.5 | |
12 | Trans-anethole | ADI | 2 | |
13 | Safrole | BMDL10 | 1.9-5.1 | |
14 | α-Terpineol | ADI | 1.2 |
Cramer classes of compounds | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
See also
- Plantlibra
- Plantlibra deliverable DWP5-6
- heande:Composition of cinnamon dried bark essential oil
- heande:Composition of plant-based food supplements
- heande:Composition of bitter fennel essential oil
- Compound intake estimator
- Compound intake estimator Presentation about the tool
References
- ↑ Segen's Medical Dictionary. 2012 Farlex, Inc. [1] accessed 15th April, 2014.
- ↑ Wikipedia: Tolerable daily intake accessed 15th April 2014
- ↑ U.S.EPA: Benchmark Dose (BMD) Methodology [2] accessed 15th April, 2014.
- ↑ Opinion on the Use of the Threshold of Toxicological Concern (TTC) Approach for Human Safety Assessment of Chemical Substances with focus on Cosmetics and Consumer Products. European Union (2012) SCCP/1171/08. [3] accessed 15th April 2014.
- ↑ EFSA (2012). Scientific Opinion on Exploring options for providing advice about possible human health risks based on the concept of Threshold of Toxicological Concern (TTC). EFSA Journal 2012;10(7):2750
- ↑ van den Berg SJPL, Restani P, Boersma MG, Delmulle L, Rietjens IMCM (2011) Levels of Genotoxic and Carcinogenic Ingredients in Plant Food Supplements and Associated Risk Assessment. Food and Nutrition Sciences, 2(9): 989-1010.
Give comments about the content or approach