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

transformations

Data frame of observed transformations

soil_degradation

Dataframe of modelling DT50 values

soil_ff

Dataframe of formation fractions

soil_sorption

Dataframe of 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 = FALSE
)

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?


Method try_pubchem()

Try to get chemical information from PubChem

Usage

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

Arguments

query

Query string to be passed to get_cid

from

Passed to get_cid


Method get_pubchem()

Get chemical information from PubChem for a known PubChem CID

Usage

chent$get_pubchem(pubchem_cid)

Arguments

pubchem_cid

CID


Method get_rdkit()

Get chemical information from RDKit if available

Usage

chent$get_rdkit(template = NULL)

Arguments

template

An optional SMILES code to be used as template for RDKit


Method get_chyaml()

Obtain information from a YAML file

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


Method add_p0()

Add a vapour pressure

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


Method add_cwsat()

Add a water solubility

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

pH value

source

An acronym specifying the source of the information

page

The page from which the information was taken

remark

A remark


Method add_PUF()

Add a plant uptake factor

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()

Add a transformation product to the internal list

Usage

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

Arguments

x

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

smiles

Optional user provided SMILES code

pubchem

Should chemical information be obtained from PubChem?


Method add_transformation()

Add a line in the internal dataframe holding observed transformations

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 pages from which the information was taken


Method add_soil_degradation()

Add a line in the internal dataframe holding modelling DT50 values

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()

Add one or more formation fractions for degradation in soil

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)

remark

A remark

source

An acronym specifying the source of the information

page

The page from which the information was taken


Method add_soil_sorption()

Add soil sorption data

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

soils

Names of the soils

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

type

The soil type

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

perc_clay

The percentage of clay in the soil

CEC

The cation exchange capacity

remark

A remark

source

An acronym specifying the source of the information

page

The page from which the information was taken


Method pdf()

Write a PDF image of the structure

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

An optional SMILES code to be used as template for RDKit


Method png()

Write a PNG image of the structure

Usage

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

Arguments

file

The file to write to

dir

The directory to write the file to

antialias

Passed to png


Method emf()

Write an EMF image of the structure using emf

Usage

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

Arguments

file

The file to write to

dir

The directory to write the file 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

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
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)
}

oct <- chent$new("1-octanol", smiles = "CCCCCCCCO", pubchem = FALSE)
#> Trying to get chemical information from RDKit using user SMILES
#> CCCCCCCCO
print(oct)
#> <chent>
#> Identifier $identifier 1-octanol 
#> InChI Key $inchikey NA 
#> SMILES string $smiles:
#>        user 
#> "CCCCCCCCO" 
#> Molecular weight $mw: 130.2