Informatics

Molecular Revised Autocorrelations

molSimplify.Informatics.lacRACAssemble.append_descriptor_derivatives(descriptor_derivative_names, descriptor_derivatives, mat_of_names, dmat, prefix, suffix)[source]

Utility to build standardly formated RACS derivatives

Parameters:
  • descriptor_derivative_names (list) – RAC names, will be a matrix, will be appended to

  • descriptor_derivatives (list) – RAC, will be appended to

  • mat_of_names (list) – names, will be added

  • dmat (list) – mat of RAC derivatives

  • prefix (str) – RAC prefix

  • suffix (str) – RAC suffix

Returns:

  • descriptor_derivative_names (list) – Compiled list (matrix) of descriptor derivative names

  • descriptor_derivatives (list) – Derivatives of RACs w.r.t atomic props (matrix)

molSimplify.Informatics.lacRACAssemble.append_descriptors(descriptor_names, descriptors, list_of_names, list_of_props, prefix, suffix)[source]

Utility to build standardly formated RACS

Parameters:
  • descriptor_names (list) – Descriptors names list to be appended to

  • descriptors (list) – Descriptors list to be appended to

  • list_of_names (list) – nmaes to be added

  • list_of_props (list) – Types of RACs

  • prefix (str) – Prefix to be added to names

  • suffix (str) – Suffix to be added to names

Returns:

  • descriptor_names (list) – Compiled list of descriptor names

  • descriptors (list) – Compiled list of descriptor values

molSimplify.Informatics.lacRACAssemble.atom_only_autocorrelation(mol, prop, d, atomIdx, oct=True, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Calculate product autocorrelation vectors from a given atom or list of atoms (e.g. up to depth 4 from the connecting atoms)

Parameters:
  • mol (mol3D) – molecule to calculate atom-only autocorrelations from

  • prop (str) – property to calculate

  • d (int) – depth to calculate derivatives over

  • atomIdx (int or list) – atoms from which the autocorrelation vector should be centered

  • oct (bool, optional) – use octahedral flag, by default True

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

autocorrelation_vector – list of atom-only autocorrelations

Return type:

list

molSimplify.Informatics.lacRACAssemble.atom_only_autocorrelation_derivative(mol, prop, d, atomIdx, oct=True)[source]

Calculate product autocorrelation derivative vectors from a given atom or list of atoms (e.g. up to depth 4 from the connecting atoms)

Parameters:
  • mol (mol3D) – molecule to calculate atom-only autocorrelation derivatives from

  • prop (str) – property to calculate

  • d (int) – depth to calculate derivatives over

  • atomIdx (int or list) – atoms from which the autocorrelation vector should be centered

  • oct (bool, optional) – use octahedral flag, by default True

Returns:

autocorrelation_vector – list of atom-only autocorrelation derivatives

Return type:

list

molSimplify.Informatics.lacRACAssemble.atom_only_deltametric(mol, prop, d, atomIdx, oct=True, modifier=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Calculate deltametric autocorrelation vectors from a given atom or list of atoms (e.g. up to depth 4 from the connecting atoms)

Parameters:
  • mol (mol3D) – molecule to calculate atom-only autocorrelations from

  • prop (str) – property to calculate

  • d (int) – depth to calculate derivatives over

  • atomIdx (int or list) – atoms from which the autocorrelation vector should be centered

  • oct (bool, optional) – use octahedral flag, by default True

  • modifier (TODO) –

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

autocorrelation_vector – list of atom-only deltametric autocorrelations

Return type:

list

molSimplify.Informatics.lacRACAssemble.atom_only_deltametric_derivative(mol, prop, d, atomIdx, oct=True, modifier=False)[source]

Calculate deltametric autocorrelation derivative vectors from a given atom or list of atoms (e.g. up to depth 4 from the connecting atoms)

Parameters:
  • mol (mol3D) – molecule to calculate atom-only deltametric autocorrelation derivatives from

  • prop (str) – property to calculate

  • d (int) – depth to calculate derivatives over

  • atomIdx (int or list) – atoms from which the autocorrelation vector should be centered

  • oct (bool, optional) – use octahedral flag, by default True

  • modifier (bool, optional) – use ox_modifier, by default False

Returns:

deltametric_derivative_mat – matrix of atom-only deltametric autocorrelation derivatives

Return type:

list

molSimplify.Informatics.lacRACAssemble.autocorrelation(mol, prop_vec, orig, d, oct=True, use_dist=False, size_normalize=False)[source]

Calculate and return the products autocorrelation

Parameters:
  • mol (mol3D) – mol3D object to calculate autocorrelation over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

Returns:

result_vector – assembled products autocorrelations

Return type:

list

molSimplify.Informatics.lacRACAssemble.autocorrelation_derivative(mol, prop_vec, orig, d, oct=True)[source]

Returns derivative vector of products autocorrelations

Parameters:
  • mol (mol3D) – mol3D object to calculate derivatives over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

Returns:

derivative_mat – RAC derivatives matrix

Return type:

list

molSimplify.Informatics.lacRACAssemble.construct_property_vector(mol, prop, oct=True, modifier=False, MRdiag_dict={})[source]

Assigns the value of property for atom i (zero index) in mol.

Parameters:
  • mol (mol3D) – molecule to generate property vector for

  • prop (str) – Property to generate vector for - Acceptable prop values: [‘electronegativity’, ‘nuclear_charge’, ‘ident’, ‘topology’, ‘ox_nuclear_charge’, ‘size’, ‘vdwrad’, ‘group_number’, ‘polarizability’, ‘bondvalence’, ‘num_bonds’, ‘bondvalence_devi’, ‘bodavrg’, ‘bodstd’, ‘charge’]

  • oct (bool, optional) – Flag is octahedral complex, by default True

  • modifier (bool, optional) – if passed - dict, used to modify prop vector (e.g. for adding ONLY used with ox_nuclear_charge ox or charge) {“Fe”:2, “Co”: 3} etc, by default False

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

w – property vector for mol by atom

Return type:

list

molSimplify.Informatics.lacRACAssemble.deltametric(mol, prop_vec, orig, d, oct=True, use_dist=False, size_normalize=False)[source]

Returns the deltametric autocorrelation

Parameters:
  • mol (mol3D) – mol3D object to calculate deltametric autocorrelation over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

Returns:

results_vector – deltametric autocorrelations

Return type:

list

molSimplify.Informatics.lacRACAssemble.deltametric_derivative(mol, prop_vec, orig, d, oct=True)[source]

Returns the deltametric autocorrelation derivative vector

Parameters:
  • mol (mol3D) – mol3D object to calculate deltametric autocorrelation derivative over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

Returns:

derivative_mat – Deltametric autocorrelation derivatives matrix

Return type:

list

molSimplify.Informatics.lacRACAssemble.full_autocorrelation(mol, prop, d, oct=True, modifier=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Calculate full scope product autocorrelations (i.e. start at every atom up to depth d)

Parameters:
  • mol (mol3D) – molecule to calculate full scope RAC over

  • prop (str) – Property to evaluete

  • d (int) – depth of full scope autocorrelation

  • oct (bool, optional) – Is octahedral flag, by default True

  • modifier (bool, optional) – Use ox modifier, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by distance of atoms from each other, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

autocorrelation_vector – full scope product autocorrelation values

Return type:

list

molSimplify.Informatics.lacRACAssemble.full_autocorrelation_derivative(mol, prop, d, oct=True, modifier=False)[source]

Calculate full scope product autocorrelations derivatives (i.e. start at every atom up to depth d)

Parameters:
  • mol (mol3D) – molecule to calculate full scope RAC over

  • prop (str) – Property to evaluate

  • d (int) – depth of scope to evalue

  • oct (bool, optional) – Is octahedral flag, by default True

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • modifier (bool, optional) – Use ox modifier, by default False

Returns:

autocorrelation_derivative_mat – full scope autocorrelation derivative matrix

Return type:

list

molSimplify.Informatics.lacRACAssemble.generate_all_ligand_autocorrelation_derivatives(mol, loud, depth=4, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]

Utility for generating all ligand-based autocorrelation derivatives for a complex

Parameters:
  • mol (mol3D) – molecule to get lc-RAC derivatives for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • custom_ligand_dict (bool, optional) – Dict of ligands if passed - see generate_descriptor_vector, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

Returns:

results_dictionary – Dictionary of all geo-based ligand product descriptor derivatives (both full and connecting atom scopes) {‘colnames’: colnames, ‘result_ax_full’: result_ax_full, ‘result_eq_full’: result_eq_full, ‘result_ax_con’: result_ax_con, ‘result_eq_con’: result_eq_con}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_all_ligand_autocorrelations(mol, loud, depth=4, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Utility for generating all ligand-based product autocorrelations for a complex

Parameters:
  • mol (mol3D) – molecule to get lc-RACs for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • custom_ligand_dict (bool, optional) – Dict of ligands if passed - see generate_descriptor_vector, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

results_dictionary – Dictionary of all geo-based ligand product descriptors (both full and connecting atom scopes) - {‘colnames’: colnames, ‘result_ax_full’: result_ax_full, ‘result_eq_full’: result_eq_full, ‘result_ax_con’: result_ax_con, ‘result_eq_con’: result_eq_con}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_all_ligand_deltametric_derivatives(mol, loud, depth=4, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]

Utility for generating all ligand-based deltametric derivatives for a complex

Parameters:
  • mol (mol3D) – molecule to get lc-RAC deltametric derivatives for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • custom_ligand_dict (bool, optional) – Dict of ligands if passed - see generate_descriptor_vector, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

Returns:

results_dictionary – Dictionary of all geo-based ligand deltametric descriptor derivatives (both full and connecting atom scopes) - {‘colnames’: colnames, ‘result_ax_con’: result_ax_con, ‘result_eq_con’: result_eq_con}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_all_ligand_deltametrics(mol, loud, depth=4, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Utility for generating all ligand-based deltametric autocorrelations for a complex

Parameters:
  • mol (mol3D) – molecule to get D_lc-RACs for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • custom_ligand_dict (bool, optional) – Dict of ligands if passed - see generate_descriptor_vector, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

results_dictionary – Dictionary of all geo-based ligand deltametric descriptors (both full and connecting atom scopes) - {‘colnames’: colnames, ‘result_ax_con’: result_ax_con, ‘result_eq_con’: result_eq_con}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_all_ligand_misc(mol, loud, custom_ligand_dict=False, smiles_charge=False)[source]
Get the ligand_misc_descriptors (axial vs. equatorial

charge (from OBMol) and denticity)

Parameters:
  • mol (mol3D) – molecule to get the ligand_misc descriptors from

  • loud (bool) – print debugging information

  • custom_ligand_dict (bool, optional) – custom_ligand_dictionary if passed, by default False

  • smiles_charge (bool, optional) – Whether or not to use the smiles charge assignent, default is False

Returns:

results_dictionary

Labels and results of ligand_misc RACs - {‘colnames’: colnames,

’result_ax’: result_ax, ‘result_eq’: result_eq}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_full_complex_autocorrelation_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]

Utility to manage full complex autocorrelation derivative generation and labeling.

Parameters:
  • mol (mol3D) – molecule used for full scope

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of autocorrelations to evaluate, by default 4

  • oct (bool, optional) – is an octahedral complex, by default True

  • flag_name (bool, optional) – Prepend “f_all” to results to track full complex, by default False

  • modifier (bool, optional) – Use ox_modifier on metal charge, by default False

  • NumB (bool, optional) – use number of bonds as RAC, by default False

  • Gval (bool, optional) – use G value as RAC, by default False

Returns:

results_dictionary – formatted dictionary with {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_full_complex_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, use_dist=False, size_normalize=False, NumB=False, Gval=False, polarizability=False, MRdiag_dict={})[source]

Utility to manage full complex autocorrelation generation and labeling.

Parameters:
  • mol (mol3D) – molecule used for full scope

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of autocorrelations to evaluate, by default 4

  • oct (bool, optional) – is an octahedral complex, by default True

  • flag_name (bool, optional) – Prepend “f_all” to results to track full complex, by default False

  • modifier (bool, optional) – Use ox_modifier on metal charge, by default False

  • use_dist (bool, optional) – Weigh autocorrelations by interatomic distances, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • NumB (bool, optional) – use number of bonds as RAC, by default False

  • Gval (bool, optional) – use G value as RAC, by default False

  • polarizability (bool, optional) – Use polarizability (alpha) as RAC, by default False

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

results_dictionary – formatted dictionary with {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_metal_autocorrelation_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False, metal_ind=None)[source]

Utility for generating all metal-centered product autocorrelation derivatives for a complex

Parameters:
  • mol (mol3D) – molecule to get mc-RAC derivatives for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • oct (bool, optional) – Use octahedral criteria for structure evaluation, by default True

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • modifier (bool, optional) – Use ox_modifier for metal, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

Returns:

results_dictionary – Dictionary of all geo-based MC-RAC product descriptor derivatives {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_metal_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False, metal_ind=None, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Utility for generating all metal-centered product autocorrelations for a complex

Parameters:
  • mol (mol3D) – molecule to get mc-RACs for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • oct (bool, optional) – Use octahedral criteria for structure evaluation, by default True

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • modifier (bool, optional) – Use ox_modifier for metal, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

results_dictionary – Dictionary of all geo-based MC-RAC product descriptors - {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_metal_deltametric_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False, metal_ind=None)[source]

Utility for generating all metal-centered deltametric autocorrelation derivatives for a complex

Parameters:
  • mol (mol3D) – molecule to get D_mc-RAC derivatives for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • oct (bool, optional) – Use octahedral criteria for structure evaluation, by default True

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • modifier (bool, optional) – Use ox_modifier for metal, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

Returns:

results_dictionary – Dictionary of all geo-based MC-RAC deltametric descriptor derivatives - {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_metal_deltametrics(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False, metal_ind=None, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Utility for generating all metal-centered deltametric autocorrelations for a complex

Parameters:
  • mol (mol3D) – molecule to get D_mc-RACs for

  • loud (bool) – print debugging information

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • oct (bool, optional) – Use octahedral criteria for structure evaluation, by default True

  • flag_name (bool, optional) – Shift RAC names slightly, by default False

  • modifier (bool, optional) – Use ox_modifier for metal, by default False

  • NumB (bool, optional) – Use number of bonds as descriptor property, by default False

  • Gval (bool, optional) – Use G value as descriptor property, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

results_dictionary – Dictionary of all geo-based MC-RAC deltametric descriptors - {‘colnames’: colnames, ‘results’: result}

Return type:

dict

molSimplify.Informatics.lacRACAssemble.generate_metal_ox_autocorrelation_derivatives(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False, metal_ind=None)[source]
molSimplify.Informatics.lacRACAssemble.generate_metal_ox_autocorrelations(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False, metal_ind=None, use_dist=False, size_normalize=False)[source]
molSimplify.Informatics.lacRACAssemble.generate_metal_ox_deltametric_derivatives(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False, metal_ind=False)[source]
molSimplify.Informatics.lacRACAssemble.generate_metal_ox_deltametrics(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False, metal_ind=None, use_dist=False, size_normalize=False)[source]
molSimplify.Informatics.lacRACAssemble.get_descriptor_derivatives(this_complex, custom_ligand_dict=False, ox_modifier=False, lacRACs=True, depth=4, loud=False, metal_ind=None)[source]

Calculate and return all derivatives of RACs for a given octahedral complex.

Parameters:
  • this_complex (mol3D) – Transition metal complex to be featurized.

  • custom_ligand_dict (bool, optional) – Custom ligand dictionary to evaluate for complex if passed, by default False Skip the ligand breakdown steps - in cases where 3D geo is not correct/formed custom_ligand_dict.keys() must be eq_ligands_list, ax_ligand_list ax_con_int_list ,eq_con_int_list with types: eq/ax_ligand_list list of mol3D eq/ax_con_int_list list of list/tuple of int e.g, [[1,2] [1,2]]

  • ox_modifier (bool, optional) – dict, used to modify prop vector (e.g. for adding ONLY used with ox_nuclear_charge ox or charge) {“Fe”:2, “Co”: 3} etc, by default False

  • lacRACs (bool, optional) – Use ligand_assign_consistent (lac) to represent mol3D given if False, use ligand_assign (older), default True

  • depth (int, optional) – depth of RACs to calculate, by default 4

  • loud (bool, optional) – Print debugging information, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate RACs from, by default False

Returns:

  • descriptor_derivative_names (list) – Compiled list (matrix) of descriptor derivative names

  • descriptor_derivatives (list) – Derivatives of RACs w.r.t atomic props (matrix)

molSimplify.Informatics.lacRACAssemble.get_descriptor_vector(this_complex, custom_ligand_dict=False, ox_modifier=False, NumB=False, Gval=False, lacRACs=True, loud=False, metal_ind=None, smiles_charge=False, eq_sym=False, use_dist=False, size_normalize=False, alleq=False, MRdiag_dict={}, depth=3)[source]

Calculate and return all geo-based RACs for a given octahedral complex (featurize).

Parameters:
  • this_complex (mol3D) – Transition metal complex to be featurized.

  • custom_ligand_dict (bool, optional) – Custom ligand dictionary to evaluate for complex if passed, by default False Skip the ligand breakdown steps - in cases where 3D geo is not correct/formed custom_ligand_dict.keys() must be eq_ligands_list, ax_ligand_list ax_con_int_list ,eq_con_int_list with types: eq/ax_ligand_list list of mol3D eq/ax_con_int_list list of list/tuple of int e.g, [[1,2] [1,2]]

  • ox_modifier (bool, optional) – dict, used to modify prop vector (e.g. for adding ONLY used with ox_nuclear_charge ox or charge) {“Fe”:2, “Co”: 3} etc, by default False

  • NumB (bool, optional) – Use Number of Bonds as additional RAC, by default False

  • Gval (bool, optional) – Use group number as RAC, by default False

  • lacRACs (bool, optional) – Use ligand_assign_consistent (lac) to represent mol3D given if False, use ligand_assign (older), default True

  • loud (bool, optional) – Print debugging information, by default False

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

  • smiles_charge (bool, optional) – use obmol conversion through smiles to assign ligand_misc_charges, by default False

  • use_dist (bool, optional) – Whether or not CD-RACs used.

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • alleq (bool, optional) – Whether or not all ligands are equatorial.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

  • depth (int, optional) – The depth of the RACs (how many bonds out the RACs go).

Returns:

  • descriptor_names (list) – Compiled list of descriptor names

  • descriptors (list) – Compiled list of descriptor values

molSimplify.Informatics.lacRACAssemble.metal_only_autocorrelation(mol, prop, d, oct=True, metal_ind=None, func=<function autocorrelation>, modifier=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Calculate the metal_only product autocorrelations (e.g. metal-centered atom-only RACs)

Parameters:
  • mol (mol3D) – molecule with metal to calculate MC product RACs for

  • prop (str) – Property to evaluate

  • d (int) – depth of autocorrelation

  • oct (bool, optional) – use octahedral geometry evaluations, by default True

  • metal_ind (bool, optional) – index of the metal atom to generate property, by default False

  • func (function, optional) – which function to evaluate mc-racs by, by default autocorrelation

  • modifier (bool, optional) – use ox_modifier, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

autocorrelation_vector – MC atom-only RACs vector

Return type:

list

molSimplify.Informatics.lacRACAssemble.metal_only_autocorrelation_derivative(mol, prop, d, oct=True, metal_ind=None, func=<function autocorrelation_derivative>, modifier=False)[source]

Calculate the metal_only product autocorrelation derivatives (e.g. metal-centered atom-only RAC derivatives)

Parameters:
  • mol (mol3D) – molecule with metal to calculate MC product RAC derivatives for

  • prop (str) – Property to evaluate

  • d (int) – depth of autocorrelation

  • oct (bool, optional) – use octahedral geometry evaluations, by default True

  • metal_ind (bool, optional) – index (int) of metal atom to consider, default False

  • func (function, optional) – which function to evaluate mc-racs by, by default autocorrelation_derivative

  • modifier (bool, optional) – use ox_modifier, by default False

Returns:

autocorrelation_vector – MC atom-only RAC derivatives vector (matrix)

Return type:

list

molSimplify.Informatics.lacRACAssemble.metal_only_deltametric(mol, prop, d, oct=True, metal_ind=None, func=<function deltametric>, modifier=False, use_dist=False, size_normalize=False, MRdiag_dict={})[source]

Gets the metal atom-only deltametric RAC

Parameters:
  • mol (mol3D) – molecule with metal to calculate MC deltametric RACs

  • prop (str) – Property to evaluate

  • d (int) – depth of autocorrelation

  • oct (bool, optional) – use octahedral geometry evaluations, by default True

  • metal_ind (bool, optional) – index of metal atom to consider, by default False

  • func (function, optional) – which function to evaluate mc-racs by, by default deltametric

  • modifier (bool, optional) – use ox_modifier, by default False

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

  • size_normalize (bool, optional) – Whether or not to normalize by the number of atoms.

  • MRdiag_dict (dict, optional) – Keys are ligand identifiers, values are MR diagnostics like E_corr.

Returns:

deltametric_vector – metal-centerted deltametric RAC vector

Return type:

list

molSimplify.Informatics.lacRACAssemble.metal_only_deltametric_derivative(mol, prop, d, oct=True, metal_ind=None, func=<function deltametric_derivative>, modifier=False)[source]

Gets the metal atom-only deltametric derivatives

Parameters:
  • mol (mol3D) – molecule with metal to calculate MC deltametric RAC derivatives for

  • prop (str) – Property to evaluate

  • d (int) – depth of autocorrelation

  • oct (bool, optional) – use octahedral geometry evaluations, by default True

  • metal_ind (bool, optional) – index of metal atom to consider, by default False

  • func (function, optional) – which function to evaluate mc-racs by, by default deltametric_derivative

  • modifier (bool, optional) – use ox_modifier, by default False

Returns:

deltametric_vector_derivative – metal-centerted deltametric derivatives vector (matrix)

Return type:

list

molSimplify.Informatics.autocorrelation.atom_only_autocorrelation(mol, prop, d, atomIdx, oct=True)[source]
molSimplify.Informatics.autocorrelation.atom_only_autocorrelation_derivative(mol, prop, d, atomIdx, oct=True)[source]
molSimplify.Informatics.autocorrelation.atom_only_deltametric(mol, prop, d, atomIdx, oct=True, modifier=False)[source]
molSimplify.Informatics.autocorrelation.atom_only_deltametric_derivative(mol, prop, d, atomIdx, oct=True, modifier=False)[source]
molSimplify.Informatics.autocorrelation.atom_only_ratiometric(mol, prop_num, prop_den, d, atomIdx, oct=True)[source]
molSimplify.Informatics.autocorrelation.atom_only_summetric(mol, prop, d, atomIdx, oct=True)[source]
molSimplify.Informatics.autocorrelation.autocorrelation(mol, prop_vec, orig, d, oct=True, catoms=None, use_dist=False)[source]

Calculate and return the products autocorrelation for a single atom

Parameters:
  • mol (mol3D) – mol3D object to calculate autocorrelation over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

  • catoms (list, optional) – List of connecting atoms, by default None (uses mol3D.getBondedAtomsSmart)

  • use_dist (bool, optional) – Weigh autocorrelation by physical distance of atom from original, by default False

Returns:

result_vector – assembled products autocorrelations

Return type:

list

molSimplify.Informatics.autocorrelation.autocorrelation_catoms(mol, prop_vec, orig, d, oct=True, catoms=None)[source]
molSimplify.Informatics.autocorrelation.autocorrelation_derivative(mol, prop_vec, orig, d, oct=True, catoms=None)[source]

Returns derivative vector of products autocorrelations

Parameters:
  • mol (mol3D) – mol3D object to calculate derivatives over

  • prop_vec (list) – property of atoms in mol in order of index

  • orig (int) – zero-indexed starting atom

  • d (int) – number of hops to travel

  • oct (bool, optional) – Flag is octahedral complex, by default True

  • catoms (list, optional) – List of connecting atom, by default None (use mol3D.getBondedAtomsSmart)

Returns:

derivative_mat – RAC derivatives matrix

Return type:

list

molSimplify.Informatics.autocorrelation.construct_property_vector(mol: mol3D, prop: str, oct=True, modifier=False, transition_metals_only=True)[source]
molSimplify.Informatics.autocorrelation.deltametric(mol: mol3D, prop_vec, orig, d: int, oct=True, catoms=None)[source]
molSimplify.Informatics.autocorrelation.deltametric_catoms(mol, prop_vec, orig, d, oct=True, catoms=None)[source]
molSimplify.Informatics.autocorrelation.deltametric_derivative(mol, prop_vec, orig, d, oct=True, catoms=None)[source]
molSimplify.Informatics.autocorrelation.find_ligand_autocorrelation_derivatives_oct(mol, prop, loud, depth, name=False, oct=True, custom_ligand_dict=False)[source]
molSimplify.Informatics.autocorrelation.find_ligand_autocorrelations_oct(mol, prop, loud, depth, name=False, oct=True, custom_ligand_dict=False)[source]
molSimplify.Informatics.autocorrelation.find_ligand_autocorrs_and_deltametrics_oct_dimers(mol, prop, loud, depth, name=False, oct=True, custom_ligand_dict=False)[source]
molSimplify.Informatics.autocorrelation.find_ligand_deltametric_derivatives_oct(mol, prop, loud, depth, name=False, oct=True, custom_ligand_dict=False)[source]
molSimplify.Informatics.autocorrelation.find_ligand_deltametrics_oct(mol, prop, loud, depth, name=False, oct=True, custom_ligand_dict=False)[source]
molSimplify.Informatics.autocorrelation.find_mc_eq_ax_autocorrelation_oct(mol, prop, loud, depth, name=False, oct=True, func=<function autocorrelation_catoms>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.find_mc_eq_ax_deltametrics_oct(mol, prop, loud, depth, name=False, oct=True, func=<function deltametric_catoms>)[source]
molSimplify.Informatics.autocorrelation.full_autocorrelation(mol, prop, d, oct=<built-in function oct>, modifier=False, use_dist=False, transition_metals_only=True)[source]
molSimplify.Informatics.autocorrelation.full_autocorrelation_derivative(mol, prop, d, oct=<built-in function oct>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.generate_all_ligand_autocorrelation_derivatives(mol, loud, depth=4, name=False, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_all_ligand_autocorrelations(mol, loud, depth=4, name=False, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_all_ligand_autocorrs_and_deltametrics_dimers(mol, loud, depth=4, name=False, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_all_ligand_deltametric_derivatives(mol, loud, depth=4, name=False, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_all_ligand_deltametrics(mol, loud, depth=4, name=False, flag_name=False, custom_ligand_dict=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_atomonly_autocorrelation_derivatives(mol, atomIdx, loud, depth=4, oct=True, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_atomonly_autocorrelations(mol, atomIdx, loud, depth=4, oct=True, NumB=False, Gval=False, polarizability=False)[source]
molSimplify.Informatics.autocorrelation.generate_atomonly_deltametric_derivatives(mol, atomIdx, loud, depth=4, oct=True, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_atomonly_deltametrics(mol, atomIdx, loud, depth=4, oct=True, NumB=False, Gval=False, polarizability=False)[source]
molSimplify.Informatics.autocorrelation.generate_full_complex_autocorrelation_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_full_complex_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, use_dist=False, NumB=False, Gval=False, polarizability=False)[source]
molSimplify.Informatics.autocorrelation.generate_full_complex_coulomb_autocorrelations(mol, loud, depth=3, oct=True, flag_name=False, modifier=False, use_dist=False, transition_metals_only=True)[source]
molSimplify.Informatics.autocorrelation.generate_mc_eq_ax_autocorrelation(mol, loud, depth=4, name=False, func=<function autocorrelation_catoms>, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_mc_eq_ax_deltametrics(mol, loud, depth=4, name=False, func=<function deltametric_catoms>, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_autocorrelation_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_deltametric_derivatives(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_deltametrics(mol, loud, depth=4, oct=True, flag_name=False, modifier=False, NumB=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_autocorrelation_derivatives(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_autocorrelations(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_deltametric_derivatives(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_deltametrics(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_eff_autocorrelations(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_metal_ox_eff_deltametrics(oxmodifier, mol, loud, depth=4, oct=True, flag_name=False)[source]
molSimplify.Informatics.autocorrelation.generate_multiatom_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, additional_elements=False)[source]
molSimplify.Informatics.autocorrelation.generate_multiatom_deltametrics(mol, loud, depth=4, oct=True, flag_name=False, additional_elements=False)[source]
molSimplify.Informatics.autocorrelation.generate_multimetal_autocorrelations(mol, loud, depth=4, oct=True, flag_name=False, polarizability=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.generate_multimetal_deltametrics(mol, loud, depth=4, oct=True, flag_name=False, polarizability=False, Gval=False)[source]
molSimplify.Informatics.autocorrelation.layer_density_in_3D(mol, prop_vec, orig, d, oct=True)[source]
molSimplify.Informatics.autocorrelation.metal_only_autocorrelation(mol, prop, d, oct=True, catoms=None, func=<function autocorrelation>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.metal_only_autocorrelation_derivative(mol, prop, d, oct=True, catoms=None, func=<function autocorrelation_derivative>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.metal_only_deltametric(mol, prop, d, oct=True, catoms=None, func=<function deltametric>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.metal_only_deltametric_derivative(mol, prop, d, oct=True, catoms=None, func=<function deltametric_derivative>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.metal_only_layer_density(mol, prop, d, oct=True)[source]
molSimplify.Informatics.autocorrelation.multiatom_only_autocorrelation(mol, prop, d, oct=True, catoms=None, func=<function autocorrelation>, modifier=False, additional_elements=False)[source]
molSimplify.Informatics.autocorrelation.multiatom_only_deltametric(mol, prop, d, oct=True, catoms=None, func=<function deltametric>, modifier=False, additional_elements=False)[source]
molSimplify.Informatics.autocorrelation.multimetal_only_autocorrelation(mol, prop, d, oct=True, catoms=None, func=<function autocorrelation>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.multimetal_only_deltametric(mol, prop, d, oct=True, catoms=None, func=<function deltametric>, modifier=False)[source]
molSimplify.Informatics.autocorrelation.ratiometric(mol, prop_vec_num, prop_vec_den, orig, d, oct=True, catoms=None)[source]

This function returns the ratiometrics for one atom

Parameters:
  • mol (mol3D class) –

  • prop_vec (vector, property of atoms in mol in order of index) –

  • orig (int, zero-indexed starting atom) –

  • d (int, number of hops to travel) –

  • oct (bool, if complex is octahedral, will use better bond checks) –

Returns:

result_vector

Return type:

vector of prop_vec_num / prop_vec_den

molSimplify.Informatics.autocorrelation.summetric(mol, prop_vec, orig, d, oct=True, catoms=None)[source]

This function returns the summetrics for one atom

Parameters:
  • mol (mol3D class) –

  • prop_vec (vector, property of atoms in mol in order of index) –

  • orig (int, zero-indexed starting atom) –

  • d (int, number of hops to travel) –

  • oct (bool, if complex is octahedral, will use better bond checks) –

Returns:

result_vector

Return type:

vector of prop_vec_num / prop_vec_den

Revised Autocorrelations for MOFs

Documentation for RACs coming soon!