data.omol.modules.evaluator#

Functions#

rmsd(orca_atoms, mlip_atoms)

Calculate the RMSD between atoms optimized with ORCA and the MLIP,

interaction_energy_and_forces(results, supersystem)

For a supersystem (e.g. a protein-ligand complex), calculate the

spin_deltas(results)

Calculate deltaE and deltaF values for the spin gap evaluation task.

charge_deltas(results)

Calculate deltaE and deltaF values for adding and removing electrons

rmsd_mapping(structs0, structs1)

Map two conformer ensembles via linear sum assignment on an RMSD

ligand_strain_processing(results)

Process results for the ligand strain evaluation task.

get_one_prot_diff_name_pairs(names)

Get all pairs of names that have a charge difference of 1.

sr_or_lr(name)

ligand_pocket(orca_results, mlip_results)

Calculate error metrics for ligand pocket evaluation task.

ligand_strain(orca_results, mlip_results)

Calculate error metrics for ligand strain evaluation task.

geom_conformers(orca_results, mlip_results)

Calculate error metrics for conformer evaluation task.

protonation_energies(orca_results, mlip_results)

Calculate error metrics for the type1 protonation energies evaluation task.

unoptimized_ie_ea(orca_results, mlip_results)

Calculate error metrics for unoptimized IE and EA calculations.

compute_distance_scaling_metrics(pes_curve, ...)

Compute metrics for distance scaling eval for a single PES curve

distance_scaling(orca_results, mlip_results)

Calculate error metrics for distance scaling evaluation task.

unoptimized_spin_gap(orca_results, mlip_results)

Calculate error metrics for unoptimized spin gap evaluation task.

singlepoint(orca_results, mlip_results)

Module Contents#

data.omol.modules.evaluator.rmsd(orca_atoms, mlip_atoms)#

Calculate the RMSD between atoms optimized with ORCA and the MLIP, where we assume that ORCA atoms have sensible bonding.

data.omol.modules.evaluator.interaction_energy_and_forces(results, supersystem)#

For a supersystem (e.g. a protein-ligand complex), calculate the interaction energy and forces with each individual component (e.g. the protein and the ligand) in the complex.

We assume that the supersystem is the sum of the individual components and all are present.

results looks like: {

“system_name”: {
“ligand_pocket”: {

“energy”: float, “forces”: list of floats, “atoms”: dict (MSONAtoms format)

}, “ligand”: {

“energy”: float, “forces”: list of floats, “atoms”: dict (MSONAtoms format)

}, “pocket”: {

“energy”: float, “forces”: list of floats, “atoms”: dict (MSONAtoms format)

}

}

}

Parameters:
  • results (dict) – Results from ORCA or MLIP calculations.

  • supersystem (str) – The name of the supersystem (e.g. “ligand_pocket”)

Returns:

interaction_energy, interaction_forces

data.omol.modules.evaluator.spin_deltas(results)#

Calculate deltaE and deltaF values for the spin gap evaluation task.

results looks like: {

“system_name”: {
“1”: {

“energy”: float, “forces”: list of floats, “atoms”: dict (MSONAtoms format)

}, “3”: {

“energy”: float, “forces”: list of floats, “atoms”: dict (MSONAtoms format)

}

}

Parameters:
  • results (dict) – Results from ORCA or MLIP calculations performed at

  • spins. (different)

Returns:

deltaE (dict), deltaF (dict)

data.omol.modules.evaluator.charge_deltas(results)#

Calculate deltaE and deltaF values for adding and removing electrons

Parameters:
  • results (dict) – Results from ORCA or MLIP calculations performed

  • charges. (at different)

Returns:

deltaE (dict), deltaF (dict)

data.omol.modules.evaluator.rmsd_mapping(structs0, structs1)#

Map two conformer ensembles via linear sum assignment on an RMSD cost matrix.

data.omol.modules.evaluator.ligand_strain_processing(results)#

Process results for the ligand strain evaluation task. Calculate the strain energy as the difference in energy between the global minimum and the loosely optimized ligand-in-pocket structure. Also save the global minimum structure for RMSD calculations.

Parameters:

results (dict) – Results from ORCA or MLIP calculations.

Returns:

Processed results for the ligand strain evaluation task.

Return type:

dict

data.omol.modules.evaluator.get_one_prot_diff_name_pairs(names)#

Get all pairs of names that have a charge difference of 1.

Assumes that the names are in the format “name_charge_spin”

data.omol.modules.evaluator.sr_or_lr(name)#
data.omol.modules.evaluator.ligand_pocket(orca_results, mlip_results)#

Calculate error metrics for ligand pocket evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for ligand pocket evaluation task

Return type:

dict

data.omol.modules.evaluator.ligand_strain(orca_results, mlip_results)#

Calculate error metrics for ligand strain evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for ligand strain evaluation task

Return type:

dict

data.omol.modules.evaluator.geom_conformers(orca_results, mlip_results)#

Calculate error metrics for conformer evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for type1 conformer evaluation task

Return type:

dict

data.omol.modules.evaluator.protonation_energies(orca_results, mlip_results)#

Calculate error metrics for the type1 protonation energies evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for protonation energies evaluation task

Return type:

dict

data.omol.modules.evaluator.unoptimized_ie_ea(orca_results, mlip_results)#

Calculate error metrics for unoptimized IE and EA calculations.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for unoptimized IE and EA calculations.

Return type:

dict

data.omol.modules.evaluator.compute_distance_scaling_metrics(pes_curve, mlip_results, orca_min_point, orca_min_data)#

Compute metrics for distance scaling eval for a single PES curve

Parameters:
  • pes_curve – specification of points on PES in the short or long range regime only, also contains ORCA data

  • mlip_results – results from all points alng

  • orca_min_point – name of reference point for ddE

  • orca_min_data – data for reference point for ddE

Returns:

ddE, and ddF metrics for the given PES curve

data.omol.modules.evaluator.distance_scaling(orca_results, mlip_results)#

Calculate error metrics for distance scaling evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for distance scaling evaluation task

Return type:

dict

data.omol.modules.evaluator.unoptimized_spin_gap(orca_results, mlip_results)#

Calculate error metrics for unoptimized spin gap evaluation task.

Parameters:
  • orca_results (dict) – Results from ORCA calculations.

  • mlip_results (dict) – Results from MLIP calculations.

Returns:

Error metrics for unoptimized spin gap evaluation task

Return type:

dict

data.omol.modules.evaluator.singlepoint(orca_results, mlip_results)#