Skip to contents

The class is initialised with an identifier. Chemical information is retrieved from the internet. Additionally, it can be generated using RDKit if RDKit and its python bindings are installed.

Format

An R6Class generator object

Public fields

identifier

(character(1))
The identifier that was used to initiate the object, with attribute 'source'

inchikey

(character(1))
InChI Key, with attribute 'source'

smiles

(character())
SMILES code(s), with attribute 'source'

mw

(numeric(1))
Molecular weight, with attribute 'source'

pubchem

(list())
List of information retrieved from PubChem

rdkit

List of information obtained with RDKit

mol

<rdkit.Chem.rdchem.Mol> object

svg

SVG code

Picture

Graph as a picture object obtained using grImport

Pict_font_size

Font size as extracted from the intermediate PostScript file

pdf_height

Height of the MediaBox in the pdf after cropping

p0

Vapour pressure in Pa

cwsat

Water solubility in mg/L

PUF

Plant uptake factor

chyaml

List of information obtained from a YAML file

TPs

List of transformation products as chent objects Add a transformation product to the internal list

transformations

Data frame of observed transformations Add a line in the internal dataframe holding observed transformations

soil_degradation

Dataframe of modelling DT50 values Add a line in the internal dataframe holding modelling DT50 values

soil_ff

Dataframe of formation fractions

soil_sorption

Dataframe of soil sorption data Add soil sorption data

Methods


Method new()

Creates a new instance of this R6 class.

Usage

chent$new(
  identifier,
  smiles = NULL,
  inchikey = NULL,
  pubchem = TRUE,
  pubchem_from = c("name", "smiles", "inchikey"),
  rdkit = TRUE,
  template = NULL,
  chyaml = TRUE
)

Arguments

identifier

Identifier to be stored in the object

smiles

Optional user provided SMILES code

inchikey

Optional user provided InChI Key

pubchem

Should an attempt be made to retrieve chemical information from PubChem via the webchem package?

pubchem_from

Possibility to select the argument that is used to query pubchem

rdkit

Should an attempt be made to retrieve chemical information from a local rdkit installation via python and the reticulate package?

template

An optional SMILES code to be used as template for RDKit

chyaml

Should we look for a identifier.yaml file in the working directory? Try to get chemical information from PubChem


Method try_pubchem()

Usage

chent$try_pubchem(query, from = "name")

Arguments

query

Query string to be passed to get_cid

from

Passed to get_cid Get chemical information from PubChem for a known PubChem CID


Method get_pubchem()

Usage

chent$get_pubchem(pubchem_cid)

Arguments

pubchem_cid

CID Get chemical information from RDKit if available


Method get_rdkit()

Usage

chent$get_rdkit(template = NULL)

Arguments

template

Optional template specified as a SMILES code Obtain information from a YAML file


Method get_chyaml()

Usage

chent$get_chyaml(
  repo = c("wd", "local", "web"),
  chyaml = paste0(URLencode(self$identifier), ".yaml")
)

Arguments

repo

Should the file be looked for in the current working directory, a local git repository under ~/git/chyaml, or from the web (not implemented).

chyaml

The filename to be looked for Add a vapour pressure


Method add_p0()

Usage

chent$add_p0(p0, T = NA, source = NA, page = NA, remark = "")

Arguments

p0

The vapour pressure in Pa

T

Temperature

source

An acronym specifying the source of the information

page

The page from which the information was taken

remark

A remark Add a water solubility


Method add_cwsat()

Usage

chent$add_cwsat(cwsat, T = NA, pH = NA, source = NA, page = NA, remark = "")

Arguments

cwsat

The water solubility in mg/L

T

Temperature

pH

The pH value

source

An acronym specifying the source of the information

page

The page from which the information was taken

remark

A remark Add a plant uptake factor


Method add_PUF()

Usage

chent$add_PUF(
  PUF = 0,
  source = "focus_generic_gw_2014",
  page = 41,
  remark = "Conservative default value"
)

Arguments

PUF

The plant uptake factor, a number between 0 and 1

source

An acronym specifying the source of the information

page

The page from which the information was taken

remark

A remark


Method add_TP()

Usage

chent$add_TP(x, smiles = NULL, pubchem = FALSE)

Arguments

x

A chent object, or an identifier to generate a chent object

smiles

A SMILES code for defining a chent object

pubchem

Should chemical information be obtained from PubChem?


Method add_transformation()

Usage

chent$add_transformation(
  study_type,
  TP_identifier,
  max_occurrence,
  remark = "",
  source = NA,
  pages = NA
)

Arguments

study_type

A characterisation of the study type

TP_identifier

An identifier of one of the transformation products in self$TPs

max_occurrence

The maximum observed occurrence of the transformation product, expressed as a fraction of the amount that would result from stochiometric transformation

remark

A remark

source

An acronym specifying the source of the information

pages

The page from which the information was taken


Method add_soil_degradation()

Usage

chent$add_soil_degradation(
  soils,
  DT50_mod,
  DT50_mod_ref,
  type = NA,
  country = NA,
  pH_orig = NA,
  pH_medium = NA,
  pH_H2O = NA,
  perc_OC = NA,
  temperature = NA,
  moisture = NA,
  category = "lab",
  formulation = NA,
  model = NA,
  chi2 = NA,
  remark = "",
  source,
  page = NA
)

Arguments

soils

Names of the soils

DT50_mod

The modelling DT50 in the sense of regulatory pesticide fate modelling

DT50_mod_ref

The normalised modelling DT50 in the sense of regulatory pesticide fate modelling

type

The soil type

country

The country (mainly for field studies)

pH_orig

The pH stated in the study

pH_medium

The medium in which this pH was measured

pH_H2O

The pH extrapolated to pure water

perc_OC

The percentage of organic carbon in the soil

temperature

The temperature during the study in degrees Celsius

moisture

The moisture during the study

category

Is it a laboratory ('lab') or field study ('field')

formulation

Name of the formulation applied, if it was not the technical active ingredient

model

The degradation model used for deriving DT50_mod

chi2

The relative error as defined in FOCUS kinetics

remark

A remark

source

An acronym specifying the source of the information

page

The page from which the information was taken


Method add_soil_ff()

Usage

chent$add_soil_ff(target, soils, ff = 1, remark = "", source, page = NA)

Arguments

target

The identifier(s) of the transformation product

soils

The soil name(s) in which the transformation was observed

ff

The formation fraction(s)


Method add_soil_sorption()

Usage

chent$add_soil_sorption(
  soils,
  Kf,
  Kfoc,
  N,
  type = NA,
  pH_orig = NA,
  pH_medium = NA,
  pH_H2O = NA,
  perc_OC = NA,
  perc_clay = NA,
  CEC = NA,
  remark = "",
  source,
  page = NA
)

Arguments

Kf

The sorption constant in L/kg, either linear (then N is 1) or according to Freundlich

Kfoc

The constant from above, normalised to soil organic carbon

N

The Freundlich exponent

perc_clay

The percentage of clay in the soil

CEC

The cation exchange capacity Write a PDF image of the structure


Method pdf()

Usage

chent$pdf(
  file = paste0(self$identifier, ".pdf"),
  dir = "structures/pdf",
  template = NULL
)

Arguments

file

The file to write to

dir

The directory to write the file to

template

A template expressed as SMILES to use in RDKit Write a PNG image of the structure


Method png()

Usage

chent$png(
  file = paste0(self$identifier, ".png"),
  dir = "structures/png",
  antialias = "gray"
)

Arguments

antialias

Passed to png Write an EMF image of the structure using emf


Method emf()

Usage

chent$emf(file = paste0(self$identifier, ".emf"), dir = "structures/emf")

Arguments

file

The file to write to


Method clone()

The objects of this class are cloneable with this method.

Usage

chent$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", pubchem = FALSE)
#> Trying to get chemical information from RDKit using user SMILES
#> CCCCCCCCO
#> Did not find chyaml file ./1-octanol.yaml
print(oct)
#> <chent>
#> Identifier $identifier 1-octanol 
#> InChI Key $inchikey 
#> SMILES string $smiles:
#>        user 
#> "CCCCCCCCO" 
#> Molecular weight $mw: 130.2 
if (!is.null(oct$Picture)) {
  plot(oct)
}

caffeine <- chent$new("caffeine")
#> PubChem:
#> Trying to get chemical information from RDKit using PubChem_Canonical SMILES
#> CN1C=NC2=C1C(=O)N(C(=O)N2C)C
#> Did not find chyaml file ./caffeine.yaml
print(caffeine)
#> <chent>
#> Identifier $identifier caffeine 
#> InChI Key $inchikey RYYVLZVUVIJVGH-UHFFFAOYSA-N 
#> SMILES string $smiles:
#>              PubChem_Canonical 
#> "CN1C=NC2=C1C(=O)N(C(=O)N2C)C" 
#> Molecular weight $mw: 194.2 
#> PubChem synonyms (up to 10):
#>  [1] "caffeine"                "58-08-2"                
#>  [3] "Guaranine"               "1,3,7-Trimethylxanthine"
#>  [5] "Methyltheobromine"       "Theine"                 
#>  [7] "Thein"                   "Cafeina"                
#>  [9] "Koffein"                 "Mateina"                
if (!is.null(caffeine$Picture)) {
  plot(caffeine)
}