ADMET Predictor® User Manual

PLS Definition for equations and MLR models (.pls)

PLS Definition for equations and MLR models (.pls)

An MLR model definition file (.pls) is generated for each MLR model. The naming convention used is:

<data file name>_<number of descriptors>.pls

Nonlinear regression input (“PLS”) files were designed as a way to store the parameters necessary for ADMET Predictor to run linear and nonlinear regression models. Adding a new model or changing parameters of an existing model is simply a matter of generating an appropriate *.pls file. No computer code modifications are necessary. The following equation describes a general nonlinear regression:

where xi are Ni independent variables (e.g., molecular descriptors, model properties, or symbols); y is a quantity to be predicted (e.g., an ADMET property), images_image_873_.png i are M functions; and bj and ai are Ki and M adjustable parameters (constants), respectively, of the model.

Example E.1

All functions in the MlogP model (Moriguchi 1992 and 1994) are monomials of individual molecular descriptors. It is a nonlinear regression model in the sense that some of the terms are exponentials of descriptors:

MLogP = -1.041 + 1.244*M_CX^0.6 - 1.017*M_NO^0.9 + 0.406*M_PRX - 0.145*M_UB^0.8 + 0.511*M_HB + 0.268*M_POL - 2.215*M_AMP + 0.912*M_ALK - 0.392*M_RNG - 3.684*M_QN + 0.474*M_NO2 + 1.582*M_NCS + 0.773*M_BLM

Each .pls file contains a sequence of three or four blocks:

  • a header

  • a list of descriptors

  • an optional list of symbolic expressions

  • a list of functions

Each block must be preceded by an appropriate keyword. Blocks can be separated by any number of blank lines and/or comment lines. Each comment line must begin with a hash or apostrophe character: # or ‘. The header block consists of only one line indicating the version of the .pls file:

S+PLS Input File v. version.number (author)

The above text should not contain any special character sub as tabs. Only space character should used for white space. The keywords for descriptors, symbolic expressions and functions lists are lower-case descriptors, symbolic_expressions and functions, respectively. The descriptor list contains the following space-delimited records, one per line:

descriptor_name minimum_value maximum_value

The descriptor_name must strictly correspond to those generated by ADMET Predictor. The minimum_value and maximum_value values are optional and must be obtained from the set of training compounds; they are used by ADMET Predictor to determine model outliers.

Descriptors which sometimes take on a text value may now be used in PLS files by specifying a surrogate numerical value to use in place of the text value. This is done in the descriptor section of the file. To specify a surrogate value, add the text value and its numerical surrogate at the end of the descriptor name record. An example can be found in the file CYPSumClearances.pls in your application data folder.

CYP1A2_CLint * * nonsubstrate 0.0

The text value nonsubstrate will be replaced with the numerical value 0.0 when using this descriptor in the PLS equation. The *’s serve as placeholders for the required min and max values, in this case. If min and max values (i.e., the descriptor or model range) are available, they should be entered as numbers in place of the *’s. If multiple surrogate values are needed, include a pair of entries (text value followed by numerical surrogate) on this line for each one.

Since the launch of ADMET Predictor 10.3, a new optional section has been added to the PLS file format named symbolic expressions. The keyword, symbolic_expressions, begins the symbolic expressions list. Symbolic expressions are used to define intermediate results that may be used in subsequent symbolic expressions or in the functions list. Each symbolic expression consists of a text “symbol” followed a function definition as described below in the functions section. This symbol may then be used in the same manner as a molecular descriptor in subsequent functions or symbolic expressions. Unlike the terms in the functions list (described below), the symbols are not summed. They are simply used to define intermediate results for subsequent usage. Symbolic expressions greatly extend the scope of functions that may be represented within a single PLS file. Previously, more complex functions would require multiple PLS files to store intermediate results for use in subsequent functions.

For example, the following symbolic expression defines the symbol, Nr, which can be used in subsequent expressions or functions.

Nr    3.078 monomial RBP 1.0 hum_fup% 1.0 CYP_HLM_CLint 1.0

Refer below to the meaning of the monomial function. In this example, this would set the value of the symbol, Nr, as follows:

Of course, one could simply define this as a term in a function, but at the end of this section, an example will be provided showing how this can be used in a more complex function requiring intermediate results. The symbol, Nr, can now be used in subsequent expressions or functions just like a descriptor.

Function list contains one function definition per line preceded by the matching linear coefficient, ai:

ai function_keyword variable/parameter_list

The functions currently recognized by ADMET Predictor are:

  1. Intercept is the simplest unity function with empty list of variables. It is distinguished by the keyword intercept:

ai intercept

Only one intercept is expected (although not required) for each model.

  1. Monomial is a product of any number of exponentiated variables:

The monomial definition is composed of the keyword monomial followed by the list of variables and their exponents:

ai monomial x1 b1 x2 b2 … xN bN

Example E.2

The first few terms of Moriguchi logP model are coded in a .pls file as follows:

functions

-1.041 intercept

1.244 monomial M_CX 0.6

-1.017 monomial M_NO 0.9

0.406 monomial M_PRX 1.0

…

  1. Shifted monomial

A shifted monomial is a generalization of the monomial in which each variable is adjusted by a constant shift, si:

The keyword in this case is shifted_monomial followed by the list of variables, shifts, and exponents:

ai shifted_monomial x1 s1 b1 x2 s2 b2 … xN sN bN

  1. Positive shifted monomial

This function is a slight modification of shifted monomial and assumes either positive values or zero:

The keyword is shifted_monomial_pos followed by the same list as shifted monomial:

ai shifted_monomial_pos x1 s1 b1 x2 s2 b2 … xN sN bN

Example E.3

The melting point term in the Meylan solubility model (Meylan 1996) is a classic example of a positively shifted monomial:

Functions

…

-0.0092 shifted_monomial_pos MeltingPoint –298.0 1.0

…

  1. Flag

A flag is a non-parametric binary indicator function:

i..e., its value is zero if all of the variables are zero and 1 otherwise. The flag definition is composed of the keyword flag followed by a list of variables:

ai flag x1 x2 … xN

  1. Base-10 logarithm

A decimal logarithm function for log-based models where each variable is adjusted by a constant shift, si:

The keyword in this case is log followed by the list of variables and shifts:

ai log x1 s1 x2 s2 … xN sN

7. Base-10 exponential function

A decimal exponential function for antilog-based models where each variable is multiplied by a constant coefficient, ci:

The keyword in this case is exp10 followed by the list of coefficients and variables:

ai exp10 c1 x1 c2 x2 … cN xN

  1. Minimum function

The minimum of a set of specified variables.

The definition is composed of the keyword min followed by a list of variables.

ai min x1 x2 … xN

  1. Maximum function

The maximum of a set of specified variables.

The definition is composed of the keyword max followed by a list of variables.

ai max x1 x2 … xN

  1. Sum function

The weighted sum of a set of specified variables.  This function is useful for storing intermediate sums as symbolic expressions.

The definition is composed of the keyword sum followed by a list of coefficients and variables:

ai sum c1 x1 c2 x2 … cN xN

Example E.4 Below is a complete .pls file for the Moriguchi logP model:

S+PLS Input File v. 1.1 (RF)

# Moriguchi logP

descriptors

M_CX

M_NO

M_PRX

M_UB

M_HB

M_POL

M_AMP

M_ALK

M_RNG

M_QN

M_NO2

M_NCS

M_BLM

functions

-1.041 intercept

** 1.244 monomial M_CX 0.6**

-1.017 monomial M_NO 0.9

** 0.406 monomial M_PRX 1**

-0.145 monomial M_UB 0.8

** 0.511 monomial M_HB 1**

** 0.268 monomial M_POL 1**

** 2.215 monomial M_AMP 1**

** 0.912 monomial M_ALK 1**

-0.392 monomial M_RNG 1

-3.684 monomial M_QN 1

** 0.474 monomial M_NO2 1**

** 1.582 monomial M_NCS 1**

** 0.773 monomial M_BLM 1**

Example E.5 illustrates the use of a PLS file that includes symbolic_expressions:

S+PLS Input File v. 1.1 (ML)

## Plasma clearance using well-stirred model equation

## Computes plasma clearance from HLM intrinsic clearance (unbound)

## using the well-stirred model. Assumes a 70kg human with a 1500g liver,

## and a blood flow rate of 90 L/hour

## Inputs:

## CYP_HLM_CLint - unbound intrinsic clearance in ug/min/mg HLM protein

## hum_fup% - fraction unbound (as percentage)

## RBP - ratio of blood to plasma

## Output:

## - Plasma clearance in L/h

##

## 3.078*RBP*hum_fup%*CYP_HLM_CLint/

##     (RBP*90+(0.0342*hum_fup%*CYP_HLM_CLint))

##

## The denominator of the above equation contains a sum. The best way

## to represent this in a symbolic expression is to take the anti-log of the log of the

## sum of the two components. The two components are assigned

## Dr1 and Dr2 in the symbolic_expressions below.

##

descriptors

RBP

hum_fup%

CYP_HLM_CLint

symbolic_expressions

Nr 3.078 monomial RBP 1.0 hum_fup% 1.0 CYP_HLM_CLint 1.0

Dr1 90 monomial RBP 1.0

Dr2 0.0342 monomial hum_fup% 1.0 CYP_HLM_CLint 1.0

Log_Dr 1.0 log Dr1 0.0 Dr2 0.0

Dr 1.0 exp10 1.0 Log_Dr

functions

1.0 monomial Nr 1.0 Dr -1.0