R/TP-CTS.R
generateTPsCTS.RdUses Chemical Transformation Simulator (CTS) to predict TPs.
generateTPsCTS(
parents,
transLibrary,
generations = 1,
errorRetries = 3,
skipInvalid = TRUE,
prefCalcChemProps = TRUE,
neutralChemProps = FALSE,
neutralizeTPs = TRUE,
TPStructParams = getDefTPStructParams(),
parallel = TRUE
)The parents for which transformation products should be obtained. This can be
a suspect list (see suspect screening for more information)
the output of screenSuspects in which case the suspects hits are used as parents
a compounds object in which case all candidates are used
parents
The parents need to have SMILES or InChI information available.
A character specifying which transformation library should be used. Currently supported
are: "hydrolysis", "abiotic_reduction", "photolysis_unranked", "photolysis_ranked",
"mammalian_metabolism", "combined_abioticreduction_hydrolysis",
"combined_photolysis_abiotic_hydrolysis", "pfas_environmental", "pfas_metabolism".
An integer that specifies the number of transformation generations to predict.
The maximum number of connection retries. Sets the times argument to the
http::RETRY function.
If set to TRUE then the parents will be skipped (with a warning) for which insufficient
information (e.g. SMILES) is available.
If TRUE then calculated chemical properties such as the formula and
InChIKey are preferred over what is already present in the parent suspect list. For efficiency reasons it is
recommended to set this to TRUE. See the Validating and calculating chemical properties section for
more details.
If TRUE then the neutral form of the molecule is considered to calculate
SMILES, formulae etc. Enabling this may improve feature matching when considering common adducts
(e.g. [M+H]+, [M-H]-). See the Validating and calculating chemical properties section
for more details.
If TRUE then all resulting TP structure information is
neutralized. This argument has a similar meaning as neutralChemProps. This is defaulted to TRUE for
prediction algorithms, as these may output charged molecules. NOTE: if neutralization results in
duplicate TPs, i.e. when the neutral form of the TP was also generated by the algorithm, then the
neutralized TP will be removed.
Parameters that influence the calculation of structural properties. See
getDefTPStructParams.
If set to TRUE then code is executed in parallel through the future package. Please
see the parallelization section in the handbook for more details.
The TPs are stored in an object derived from the transformationProductsStructure class.
This function uses CTS to obtain transformation products. This function is called when calling generateTPs with
algorithm="cts".
This function uses the httr package to access the Web API of CTS for automatic TP prediction. Hence, an Internet connection is mandatory. Please take care to not 'abuse' the CTS servers, e.g. by running very large batch calculations in parallel, as this may result in rejected connections.
When the parents argument is a compounds object, the
candidate library identifier is used in case the candidate has no defined compoundName.
Chemical properties such as SMILES, InChIKey and formulae in the parent suspect list are automatically validated and calculated if missing/invalid.
The internal validation/calculation process performs the following steps:
Validation of SMILES, InChI, InChIKey and formula data (if present). Invalid
entries will be set to NA.
If neutralChemProps=TRUE then chemical data (SMILES, formulae etc.) is neutralized by
(de-)protonation (using the –neutralized option of OpenBabel). An additional column
molNeutralized is added to mark those molecules that were neutralized. Note that neutralization requires
either SMILES or InChI data to be available.
The SMILES and InChI data are used to calculate missing or invalid SMILES,
InChI, InChIKey and formula data. If prefCalcChemProps=TRUE then existing
InChIKey and formula data is overwritten by calculated values whenever possible.
The chemical formulae which were not calculated are verified and normalized. This process may be time
consuming, and is potentially largely avoided by setting prefCalcChemProps=TRUE.
Neutral masses are calculated for missing values (prefCalcChemProps=FALSE) or whenever possible
(prefCalcChemProps=TRUE).
Note that calculation of formulae for molecules that are isotopically labelled is currently only supported for deuterium (2H) elements.
This functionality relies heavily on OpenBabel, please make sure it is installed.
OBoyle NM, Banck M, James CA, Morley C, Vandermeersch T, Hutchison GR (2011). “Open Babel: An open chemical toolbox.” Journal of Cheminformatics, 3(1). doi:10.1186/1758-2946-3-33 .
Wolfe K, Pope N, Parmar R, Galvin M, Stevens C, Weber E, Flaishans J, Purucker T (2016).
“Chemical transformation system: Cloud based cheminformatic services to support integrated environmental modeling.”
Proceedings of the 8th International Congress on Environmental Modelling and Software.
Tebes-Stevens C, Patel JM, Jones WJ, Weber EJ (2017).
“Prediction of Hydrolysis Products of Organic Chemicals under Environmental pH Conditions.”
Environmental Science & Technology, 51(9), 5008–5016.
doi:10.1021/acs.est.6b05412
.
Yuan C, Tebes-Stevens C, Weber EJ (2020).
“Reaction Library to Predict Direct Photochemical Transformation Products of Environmental Organic Contaminants in Sunlit Aquatic Systems.”
Environmental Science & Technology, 54(12), 7271–7279.
doi:10.1021/acs.est.0c00484
.
Yuan C, Tebes-Stevens C, Weber EJ (2021).
“Prioritizing Direct Photolysis Products Predicted by the Chemical Transformation Simulator: Relative Reasoning and Absolute Ranking.”
Environmental Science & Technology, 55(9), 5950-5958.
doi:10.1021/acs.est.0c08745
, PMID: 33881833, https://doi.org/10.1021/acs.est.0c08745.
OBoyle NM, Banck M, James CA, Morley C, Vandermeersch T, Hutchison GR (2011).
“Open Babel: An open chemical toolbox.”
Journal of Cheminformatics, 3(1).
doi:10.1186/1758-2946-3-33
.
generateTPs for more details and other algorithms.
The website: https://qed.epa.gov/cts/ and the CTS User guide.