MPO (Multi-Parameter Optimization)

We’ve seen growing interest in our MPO features, so we’re opening a community discussion to learn more about how you’re using them and what you’d like to see next. This is an opportunity to share feedback, align expectations, and collaborate on how MPO can best support your workflows. Here’s a quick reminder of what’s currently available:

8 Likes

Multiparameter optimization (MPO) helps chemists rank compounds by combining multiple properties — like potency, solubility, permeability, clearance, safety, and selectivity — into a single score, making it easier to prioritize the most promising candidates.

:point_right: See it in action:
Access MPO via Chem → Calculate → MPO Score… and explore compound profiles interactively.

Main features:

  • Uses profiles to define included properties, desirability curves, and relative weights
  • Transforms each property onto a 0–1 desirability scale and aggregates them into a composite score (sum, mean, or weighted)
  • Includes the built-in Pfizer CNS MPO template, combining six physicochemical properties into a 0–6 score correlated with CNS success

:blue_book: Check out the documentation: Multiparameter optimization

mpo

7 Likes

Pareto Front helps chemists identify compounds with the best trade-offs between multiple, often conflicting properties — highlighting non-dominated candidates where improving one objective would worsen another.

:point_right: See it in action:
Launch via Top Menu → ML → Pareto Front… or add the Pareto Front viewer from the menu ribbon (requires the EDA package).

Main features:

  • Highlights Pareto-optimal compounds
  • Supports defining objectives to minimize or maximize selected properties
  • Allows customization of axes and data point labels

:blue_book: Check out the documentation: Pareto front viewer

pareto-front-app

6 Likes

We’re planning a set of core MPO improvements aimed at making the user experience smoother, more intuitive, and more interactive.

Planned highlights include:

  • Profile management: Create, edit, and manage MPO profiles directly from the app or dialog.
  • Desirability functions: Choose from freeform, sigmoid, or gaussian curves — with an option to reset to defaults.
  • Objective aggregation: Combine multiple objectives using sum, average, multiplication, or geometric mean.
  • Real-time feedback: Instantly see how changes to desirability curves affect the overall results.

All details and the full scope are tracked in the ticket.

7 Likes

We are interested to hear your ideas on how can Datagrok best support the process of creating the MPO profile. One idea is to provide an interactive feedback on each change. Scores would be recalculated whenever any change is made to the profile (added or removed properties or changed the desirability function), but in addition to that we are thinking of providing this information in the context panel:

  1. Compounds with the best MPO scores
  2. Compounds with the worst MPO scores
  3. Distribution of the MPO scores

Would that be useful? What else can we do to better guide the MPO profile design?

4 Likes

Hi,

That sounds nice. Editable MPO score fuction will be useful tools.

Looking forward to release of the function near the feature!

Best,

Taka

3 Likes

Hi @skalkin,

I know you talked with Andreas; nevertheless these are features that would be important to us:

  • “cascade”, i.e. fall-back properties in a value is missing
  • default score for missing value (to avoid penalizing missing values too much)
  • scores for categorical properties

From the planned features, editing existing profiles should have the highest priority as setting / using MPO scores is always an iterative process.

7 Likes

Hi @skalkin,
Watched the demo and looks great, what would be important for us would also be:

MPO templates:

  • As an admin/dev I want to be able to manage and update MPO templates that users can import in their session to start their work,

Import / export / share

  • As a user I want to export an MPO that I have created
  • As a user I want to import a previously exported MPO in a new project

Duplicate

  • As a user I want to be able to duplicate an existing MPO within my analysis and then work on them

Improved editing

  • As a user I want to be able to manually trigger re-calculation of an MPO while editing to verify my work
  • As a user I want that when I close the MPO editor window I’m prompted to save my new MPO configuration
5 Likes

Hi @gregori.gerebtzoff.novartis.com

Thanks for these comments. We fully agree that editing existing profiles is the top priority. Coverage for categorical properties and default scores definitely on the short term roadmap. Your cascade idea is interesting. How do you ensure that fall-back properties are in the same scale as the primary properties? How frequently is cascading occurring in practice?

5 Likes

@ejaeger1 Better said “fallback desirability function” - each property has its own desirability function, but some property get considered only if a “parent property” is missing. For instance in this screenshot, if there is no experimental value for Potentiometric logP, the value from the shake-flask experiment will be used. If this one is not available it will use the desirability function of the in silico logP with a lower weight.

3 Likes

A few more ideas from our users:

  • Log scale: use of a column that is linear but upon mpo the value el log, instead of having to generate the log value ahead of time

  • Bell shape distribution as function (particularly useful for logD)

1 Like

Ok. So the story here is the creation of a template that can be used in multiple datasets. You, as the MPO score designer, want to be prepared that different datasets will have alternative properties/measures for the logP parameter and you have a preference as to which should be invoked. So this is a predefined preferential mapping of potential columns and their desirability functions to the parameter of interest in the score.

2 Likes

The bell shape (gaussian) distribution is part of the immediate plan along with a sigmoid distribution augmenting the existing freeform distribution definition.

Log scale transformation is interesting. Not wanting to open pandora’s box, but what other dynamic transformation would be likely. I can see “p” (-log) as relevant.

1 Like

We would also need the ability to specify arbitrary functions as “parameters” - so that you can run MPO just on the molecules alone, and the necessary properties are calculated automatically if not present in the dataset.

2 Likes