generateTPsLibrary | R Documentation |
Automatically obtains transformation products from a library.
generateTPsLibrary(
parents = NULL,
TPLibrary = NULL,
generations = 1,
skipInvalid = TRUE,
prefCalcChemProps = TRUE,
neutralChemProps = FALSE,
neutralizeTPs = FALSE,
matchParentsBy = "InChIKey",
matchGenerationsBy = "InChIKey",
calcSims = FALSE,
fpType = "extended",
fpSimMethod = "tanimoto"
)
parents |
The parents for which transformation products should be obtained. This can be (1) a suspect list (see
suspect screening for more information), (2) the resulting output of
|
TPLibrary |
If |
generations |
An |
skipInvalid |
If set to |
prefCalcChemProps |
If |
neutralChemProps |
If |
neutralizeTPs |
If |
matchParentsBy |
A |
matchGenerationsBy |
Similar to |
calcSims |
If set to |
fpType |
The type of structural fingerprint that should be calculated. See the |
fpSimMethod |
The method for calculating similarities (i.e. not dissimilarity!). See the |
This function uses a library to obtain transformation products. This function is called when calling generateTPs
with
algorithm="library"
.
By default, a library is used that is based on data from PubChem. However, it also possible to use your own library.
An important advantage of this algorithm is that it provides structural information for generated TPs. However, this also means that if the input is from a parent suspect list or screening then either SMILES or InChI information must be available for the parents.
The TPs are stored in an object derived from the transformationProductsStructure
class.
The TPLibrary
argument is used to specify a custom TP library. This should be a
data.frame
where each row specifies a TP for a parent, with the following columns:
parent_name
and TP_name
: The name of the parent/TP.
parent_SMILES
and TP_SMILES
The SMILES of the parent/TP structure.
retDir
The retention direction of the TP compared to its parent: ‘-1’ (elutes before), ‘1’
(elutes after) or ‘0’ (elutes similarly or unknown). If not specified then the log P
values below may
be used to calculate retention time directions. (optional)
parent_LogP
and TP_LogP
The log P
values for the parent/TP. (optional)
LogPDiff
The difference between parent and TP Log P
values. Ignored if both
parent_LogP
and TP_LogP
are specified. (optional)
Other columns are allowed, and will be included in the final object. Multiple TPs for a single parent are specified
by repeating the value within parent_
columns.
Chemical properties such as SMILES, InChIKey and formula 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.
When the parents
argument is a compounds
object, the candidate library identifier
is used in case the candidate has no defined compoundName
.
rcdk1
\insertRefOBoyle2011patRoon
generateTPs
for more details and other algorithms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.