morfeus package

Submodules

Module contents

Calculates steric descriptors for molecules.

Modules:

bite_angle: Bite angle code buried_volume: Buried volume code calculators: Internal calculators cone_angle: Cone angle code conformer: Conformer tools d3_data: Reference data for D3 calculations data: Module related to data geometry: Help classes and functions related to geometry io: Input and output local_force: Local force constant code plotting: Plotting functions pyramidalization: Pyramidalization code qc: Interface to quantum-chemical programs sasa: Solvent accessible surface area code solid_angle: Solid angle code sterimol: Sterimol code typing: Typing code for arrays utils: Helper functions. visible_volume: Visible volume code xtb: xtb interface code

Scripts:

morfeus: Command line interface

class morfeus.BiteAngle(coordinates, metal_index, ligand_index_1, ligand_index_2, ref_atoms=None, ref_vector=None)[source]

Bases: object

Performs and stores the results of a bite angle calculation.

The bite angle can become ‘inverted’ if it goes beyond 180°. This cannot be detected automatically, so the user has to supply a reference vector that should point in the ‘direction’ of the ligand. As a convenience, the vector can be constructed automatically from the metal atom to the geometric mean of a set of ‘ref_atoms’.

Parameters:
  • coordinates (ArrayLike2D) – Coordinates (Å)

  • metal_index (int) – Index of metal atom (1-indexed)

  • ligand_index_1 (int) – Index of first ligand atom (1-indexed)

  • ligand_index_2 (int) – Index of second ligand atom (1-indexed)

  • ref_vector (ArrayLike1D | None) – Reference vector for determining inverted bite angle

  • ref_atoms (Iterable[int] | None) – Reference atoms for determnining inverted bite angle (1-indexed)

angle

Bite angle (degrees)

Type:

float

inverted

Whether angle is ‘inverted’

Type:

bool

class morfeus.BuriedVolume(elements, coordinates, metal_index, excluded_atoms=None, radii=None, include_hs=False, radius=3.5, radii_type='bondi', radii_scale=1.17, density=0.001, z_axis_atoms=None, xz_plane_atoms=None)[source]

Bases: object

Performs and stores the results of a buried volume calculation.

Algorithm similar as to described in Organometallics 2016, 35, 2286.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • metal_index (int) – Index of metal atom (1-indexed)

  • excluded_atoms (Sequence[int] | None) – Indices of atoms to exclude (1-indexed). Metal atom is always excluded and does not have to be given here.

  • radii (ArrayLike1D | None) – vdW radii (Å)

  • include_hs (bool) – Whether to include H atoms in the calculation

  • radius (float) – Radius of sphere (Å)

  • radii_type (str) – Type of radii to use: ‘alvarez’, ‘bondi’, ‘crc’ or ‘truhlar’

  • radii_scale (float) – Scaling factor for radii

  • density (float) – Volume per point in the sphere (ų)

  • z_axis_atoms (Sequence[int] | None) – Atom indices for deciding orientation of z axis (1-indexed)

  • xz_plane_atoms (Sequence[int] | None) – Atom indices for deciding orientation of xz plane (1-indexed)

buried_volume

Buried volume of sphere (ų)

Type:

float

distal_volume

Distal volume of ligand (ų)

Type:

float

fraction_buried_volume

Fraction buried volume of sphere

Type:

float

free_volume

Free volume of sphere (ų)

Type:

float

octants

Results for octant analysis

Type:

dict[str, dict[int, float]]

quadrants

Results for quadrant analysis

Type:

dict[str, dict[int, float]]

compute_distal_volume(method='sasa', octants=False, sasa_density=0.01)[source]

Computes the distal volume.

Uses either SASA or Buried volume with large radius to calculate the molecular volume.

Parameters:
  • method (str) – Method to get total volume: ‘buried_volume’ or ‘sasa’

  • octants (bool) – Whether to compute distal volume for quadrants and octants. Requires method=’buried_volume’

  • sasa_density (float) – Density of points on SASA surface. Ignored unless method=’sasa’

Returns:

Self

Return type:

self

Raises:

ValueError – When method is not specified correctly.

octant_analysis()[source]

Perform octant analysis of the buried volume.

Return type:

BuriedVolume

property percent_buried_volume: float

Deprecated attribute. Use ‘fraction_buried_volume’ instead.

print_report()[source]

Prints a report of the buried volume.

Return type:

None

class morfeus.ConeAngle(elements, coordinates, atom_1, radii=None, radii_type='crc', method='libconeangle')[source]

Bases: object

Calculates and stores the results of exact cone angle calculation.

As described in J. Comput. Chem. 2013, 34, 1189.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • atom_1 (int) – Index of central atom (1-inexed)

  • radii (ArrayLike1D | None) – vdW radii (Å)

  • radii_type (str) – Type of vdW radii: ‘alvarez’, ‘bondi’, ‘crc’ or ‘truhlar’

  • method (str) – Method of calculation: ‘internal’ or ‘libconeangle’ (default)

cone_angle

Exact cone angle (degrees)

Type:

float

tangent_atoms

Atoms tangent to cone (1-indexed)

Type:

list[int]

Raises:
  • RunTimeError – If cone angle could not be found by internal algorithm

  • ValueError – If atoms within vdW radius of central atom or if exception happened with libconeangle or if wrong method chosen

Parameters:
  • elements (Iterable[int] | Iterable[str])

  • coordinates (ArrayLike2D)

  • atom_1 (int)

  • radii (ArrayLike1D | None)

  • radii_type (str)

  • method (str)

print_report()[source]

Prints report of results.

Return type:

None

class morfeus.Dispersion(elements, coordinates, radii=None, radii_type='rahm', point_surface=True, compute_coefficients=True, density=0.1, excluded_atoms=None, included_atoms=None)[source]

Bases: object

Calculates and stores the results for the 🍺P_int dispersion descriptor.

The descriptor is defined in 10.1002/anie.201905439. Morfeus can compute it based on a surface either from vdW radii, surface vertices or the electron density. Dispersion can be obtained with the D3 or D4 model.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • radii (ArrayLike1D | None) – VdW radii (Å)

  • radii_type (str) – Choice of vdW radii: ‘alvarez’, ‘bondi’, ‘crc’, ‘rahm’ and ‘truhlar’

  • point_surface (bool) – Use point surface from vdW radii

  • compute_coefficients (bool) – Whether to compute D3 coefficients with internal code

  • density (float) – Area per point (Ų) on the vdW surface

  • excluded_atoms (Sequence[int] | None) – Atoms to exclude (1-indexed). Used for substituent P_ints

  • included_atoms (Sequence[int] | None) – Atoms to include. Used for functional group P_ints

area

Area of surface (Ų)

Type:

float

atom_areas

Atom indices as keys and atom areas as values (Ų)

Type:

dict[int, float]

atom_p_int

Atom indices as keys and P_int as values (kcal¹ᐟ² mol⁻¹⸍²))

Type:

dict[int, float]

atom_p_max

Atom indices as keys and P_max as values (kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

dict[int, float]

atom_p_min

Atom indices as keys and P_min as values( kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

dict[int, float]

p_int

P_int value for molecule (kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

float

p_max

Highest P value (kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

float

p_min

Lowest P value (kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

float

p_values

All P values (kcal¹ᐟ² mol⁻¹ᐟ²)

Type:

Any

volume

Volume of surface (ų)

Type:

float

Raises:

Exception – When both exluded_atoms and included_atom are given

Parameters:
  • elements (Iterable[int] | Iterable[str])

  • coordinates (ArrayLike2D)

  • radii (ArrayLike1D | None)

  • radii_type (str)

  • point_surface (bool)

  • compute_coefficients (bool)

  • density (float)

  • excluded_atoms (Sequence[int] | None)

  • included_atoms (Sequence[int] | None)

compute_coefficients(model='id3', order=8, charge=0)[source]

Compute dispersion coefficients.

Can either use internal D3 model or D4 via Grimme’s dftd4 program.

Parameters:
  • model (str) – Calculation model: ‘id3’ (default) or ‘gd4’

  • order (int) – Order of the Cᴬᴬ coefficients

  • charge (int) – Molecular charge for D4 model

Returns:

Self

Return type:

self

Raises:

ValueError – When model not supported

compute_p_int(points=None)[source]

Compute P_int values for surface or points.

Parameters:

points (ArrayLike2D | None) – Points to compute P values for

Returns:

Self

Return type:

self

load_coefficients(file, model)[source]

Load the C₆ and C₈ coefficients.

Output can be read from the dftd3 and dftd4 programs by giving a file in combination with the corresponding model.

Parameters:
  • file (str | PathLike) – Output file from the dftd3 or dftd4 programs

  • model (str) – Calculation model: ‘d3’ or ‘d4’

Returns:

Self

Return type:

self

Raises:

ValueError – When model not supported

print_report(verbose=False)[source]

Print report of results.

Parameters:

verbose (bool) – Whether to print atom P_ints

Return type:

None

save_vtk(filename)[source]

Save surface as .vtk file.

Parameters:

filename (str) – Name of file. Use .vtk suffix.

Returns:

Self

Return type:

self

surface_from_cube(file, isodensity=0.001, method='flying_edges')[source]

Adds an isodensity surface from a Gaussian cube file.

Parameters:
  • file (str | PathLike) – Gaussian cube file

  • isodensity (float) – Isodensity value (electrons/bohr³)

  • method (str) – Method for contouring: ‘contour’ or ‘flying_edges

Returns:

Self

Return type:

self

surface_from_multiwfn(file, fix_mesh=True)[source]

Adds surface from Multiwfn vertex file with connectivity information.

Parameters:
  • file (str | PathLike) – Vertex.pdb file

  • fix_mesh (bool) – Whether to fix holes in the mesh with pymeshfix (recommended)

Returns:

Self

Return type:

self

class morfeus.LocalForce(elements=None, coordinates=None)[source]

Bases: object

Calculates and stores the results from local force constant calculations.

The method is described by Cremer in 10.1002/(SICI)1097-461X(1998)67:1<1::AID-QUA1>3.0.CO;2-Z. Alternatively, the compliance matrix method can be used according to 10.1063/1.3413528

Parameters:
  • elements (Iterable[int] | Iterable[str] | None) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D | None) – Coordinates (Å)

internal_coordinates

Internal coordinates

Type:

list[Bond | Angle | Dihedral]

local_force_constants

Local force constants (mDyne/Å)

Type:

Array1DFloat

local_frequencies

Local mode frequencies (cm⁻¹)

Type:

Array1DFloat

n_imag

Number of normal modes with imaginary frequencies

Type:

int

add_internal_coordinate(atoms)[source]

Add internal coordinate.

Composed of two (bond), three (angle) or four atoms (dihedral).

Parameters:

atoms (Sequence[int]) – Atom indices of internal coordinate

Returns:

Self

Return type:

self

compute_compliance()[source]

Compute local force constants with the compliance matrix method.

Return type:

LocalForce

compute_frequencies()[source]

Compute local frequencies.

Return type:

LocalForce

compute_local(project_imag=True, cutoff=0.001)[source]

Compute local force constants with the local modes approach.

Parameters:
  • project_imag (bool) – Whether to project out imaginary frequencies

  • cutoff (float) – Cutoff for low force constant (mDyne/Å)

Returns:

Self

Return type:

self

detect_bonds(radii=None, radii_type='pyykko', scale_factor=1.2)[source]

Detect bonds based on scaled sum of covalent radii.

Parameters:
  • radii (ArrayLike1D | None) – Covalent radii (Å)

  • radii_type (str) – Covalent radii type: ‘pyykko’

  • scale_factor (float) – Scale factor for covalent radii

Returns:

Self

Return type:

self

get_local_force_constant(atoms)[source]

Return the local force constant between a set of atoms.

Parameters:

atoms (Sequence[int]) – Atom indices of the internal coordinate

Returns:

Local force constant (mDyne/Å, mDyne Å/rad²)

Return type:

force_constant

Raises:

ValueError – When no internal coordinate found

get_local_frequency(atoms)[source]

Return the local frequency between a set of atoms.

Parameters:

atoms (Sequence[int]) – Atom indices in the internal coordinate

Returns:

Local frequency (cm⁻¹)

Return type:

frequency

Raises:

ValueError – When no internal coordinate found

load_file(file, program, filetype)[source]

Load data from external file.

Parameters:
  • file (str | PathLike) – File

  • program (str) – Program used to generate file: ‘gaussian’, ‘unimovib’ or ‘xtb’

  • filetype (str) – Filetype. For ‘gaussian’: ‘fchk’ or ‘log’. For ‘unimovib’: ‘local’ or ‘log’. For ‘xtb’: ‘hessian’ or ‘normal_modes’

Returns:

Self

Return type:

self

normal_mode_analysis(hessian=None, save_hessian=False)[source]

Perform normal mode analysis.

With projection of translations and vibrations to get normal modes and force constants.

Parameters:
  • hessian (ArrayLike2D | None) – User-supplied Hessian

  • save_hessian (bool) – Save projected Hessian for use in compliance matrix method.

Returns:

Self

Return type:

self

print_report(angles=False, dihedrals=False, angle_units=False)[source]

Print report of results.

Parameters:
  • angle_units (bool) – Wheter to convert angle and dihedral force constants to mDyne Å/rad²

  • angles (bool) – Whether to print angles

  • dihedrals (bool) – Whether to print dihedrals

Return type:

None

reset_internal_coordinates()[source]

Reset internal coordinate system.

Return type:

LocalForce

class morfeus.Pyramidalization(coordinates, atom_index, neighbor_indices=None, elements=None, radii=None, radii_type='pyykko', excluded_atoms=None, method='distance', scale_factor=1.2)[source]

Bases: object

Calculates and stores results of pyramidalization and alpha angle.

As described in Struct. Chem. 1991, 2, 107 and alternatively according to bond angles as in J. Comput. Chem. 2012, 33 (27), 2173–2179.

Parameters:
  • coordinates (ArrayLike2D) – Coordinates (Å)

  • atom_index (int) – Index of pyramidalized atom (1-indexed)

  • neighbor_indices (list[int]) – Indices of neighbors to pyramidalized atom

  • elements (Iterable[int] | Iterable[str] | None) – Elements as atomic symbols or numbers

  • radii (ArrayLike1D | None) – Covalent radii used to determine connectivity (Å)

  • radii_type (str) – Covalent radii type: ‘pyykko’

  • excluded_atoms (Sequence[int] | None) – Indices of atoms to exclude

  • method (str) – Method for detecting neighbors: ‘connectivity’ or ‘distance’. Ignored if neighbor_indices is given.

  • scale_factor (float)

alpha

Average alpha angle (degrees)

Type:

float

alphas

Alpha angles for all permutations of neighbors (degrees)

Type:

Any

neighbor_indices

Indices of neighbors to pyramidalized atom

Type:

list[int]

P_angle

Pyramidalization according to Gavrish

Type:

float

P

Pyramidalization according to Radhakrishnan

Type:

float

print_report()[source]

Print report of results.

Return type:

None

class morfeus.SASA(elements, coordinates, radii=None, radii_type='crc', probe_radius=1.4, density=0.01)[source]

Bases: object

Performs and stores results of solvent accessible surface area calculations.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • radii (ArrayLike1D | None) – VdW radii (Å)

  • radii_type (str) – Choice of vdW radii: ‘bondi’ or ‘crc’ (default)

  • probe_radius (float) – Radius of probe atom (Å)

  • density (float) – Area per point (Ų) on the vdW surface

area

Area of the solvent accessible surface.

Type:

float

atom_areas

Atom areas (starting from 1)

Type:

dict[int, float]

atom_volumes

Atom volumes (starting from 1)

Type:

dict[int, float]

volume

Volume of the solvent accessible surface

Type:

float

print_report(verbose=False)[source]

Print report of results.

Parameters:

verbose (bool) – Whether to print atom areas

Return type:

None

class morfeus.SolidAngle(elements, coordinates, metal_index, radii=None, radii_type='crc', density=0.001)[source]

Bases: object

Calculates and stores the results of a solid angle calculation.

As described in J. Chem. Theory Comput. 2013, 9 (12), 5734-5744 and Dalton Trans. 2006, 33, 3991.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • metal_index (int) – Index of central atom (1-inexed)

  • radii (ArrayLike1D | None) – vdW radii (Å)

  • radii_type (str) – Type of vdW radii: ‘alvarez’, ‘bondi’, ‘crc’ or ‘truhlar’

  • density (float) – Area per point (Ų) on the sphere surface

cone_angle

Solid cone angle (degrees)

Type:

float

solid_angle

Solid angle (steradians)

Type:

float

G

G parameter

Type:

float

print_report()[source]

Prints report of results.

Return type:

None

class morfeus.Sterimol(elements, coordinates, dummy_index, attached_index, radii=None, radii_type='crc', n_rot_vectors=3600, excluded_atoms=None, calculate=True)[source]

Bases: object

Performs and stores results of Sterimol calculation.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • dummy_index (int) – Index of dummy atom (1-indexed)

  • attached_index (int | Iterable[int]) – Index of attached atom of substituent (1-indexed). For a list of indices, a dummy atom is created at their geometric center

  • radii (ArrayLike1D | None) – List of radii (Å)

  • radii_type (str) – vdW radii type: ‘alvarez’, ‘bondi’, ‘crc’ or ‘truhlar’

  • n_rot_vectors (int) – Number of rotational vectors for determining B₁ and B₅

  • excluded_atoms (Sequence[int] | None) – Atom indices to exclude from the calculation

  • calculate (bool) – Whether to calculate the Sterimol parameters directly

B_1_value

Sterimol B₁ value (Å)

Type:

float

B_1

Sterimol B₁ vector (Å)

Type:

Any

B_5_value

Sterimol B_5 value (Å)

Type:

float

B_5

Sterimol B₅ vector (Å)

Type:

Any

bond_length

Bond length between atom 1 and atom 2 (Å)

Type:

float

L_value_uncorrected

Sterimol L value minus 0.40 (Å)

Type:

float

L_value

Sterimol L value (Å)

Type:

float

L

Sterimol L vector (Å)

Type:

Any

bury(sphere_radius=5.5, method='delete', radii_scale=0.5, density=0.01)[source]

Do a Buried Sterimol calculation.

There are three available schemes based on deletion, truncation or slicing.

Parameters:
  • sphere_radius (float) – Radius of sphere (Å)

  • method (str) – Method for burying: ‘delete’, ‘slice’ or ‘truncate’

  • radii_scale (float) – Scale radii for metohd=’delete’ calculation

  • density (float) – Area per point on surface (Ų)

Returns:

Self

Return type:

self

Raises:
  • ValueError – When method is not specified correctly

  • Exception – When using method=’truncate’ and sphere is too small

calculate()[source]

Calculate Sterimol parameters.

Return type:

Sterimol

print_report(verbose=False)[source]

Prints the values of the Sterimol parameters.

Parameters:

verbose (bool) – Whether to print uncorrected L_value and bond length

Return type:

None

set_points(points, shift=True)[source]

Set points for calculation of Sterimol.

Parameters:
  • points (Sequence[Sequence[float]]) – Points (Å)

  • shift (bool) – Whether to shift the points to have origin at dummy atom.

Returns:

Self

Return type:

self

surface_from_radii(density=0.01)[source]

Create surface points from vdW surface.

Parameters:

density (float) – Area per point on surface (Ų)

Returns:

Self

Return type:

self

class morfeus.VisibleVolume(elements, coordinates, metal_index, include_hs=True, radii=None, radii_type='pyykko', radius=3.5, density=0.01)[source]

Bases: object

Calculates and stores visible volume and area.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • metal_index (int) – Index of metal atom (1-indexed)

  • include_hs (bool) – Whether to include H atoms in the calculation

  • radii (ArrayLike1D | None) – Atomic radii (Å)

  • radii_type (str) – Radii type: ‘alvarez’, ‘bondi’, ‘crc’, ‘pyykko’, ‘rahm’ or ‘truhlar’

  • radius (float) – Radius of sphere to divide proximal and distal (Å)

  • density (float) – Area per point on atom surface (Ų)

distal_area

Distal area (Ų)

Type:

float

distal_visible_area

Distal visible area (Ų)

Type:

float

distal_visible_volume

Distal visible volume (ų)

Type:

float

distal_volume

Distal volume (ų)

Type:

float

invisible_area

Invisible area (Ų)

Type:

float

invisible_volume

Invisible volume (ų)

Type:

float

proximal_area

Proximal area (Ų)

Type:

float

proximal_visible_area

Proximal visible area (Ų)

Type:

float

proximal_visible_volume

Proximal visible volume (ų)

Type:

float

proximal_volume

Proximal volume (ų)

Type:

float

total_area

Total area (Ų)

Type:

float

total_volume

Total volume (ų)

Type:

float

visible_area

Visible area (Ų)

Type:

float

visible_volume

Visible volume (ų)

Type:

float

class morfeus.XTB(elements, coordinates, version='2', charge=0, n_unpaired=None, solvent=None, electronic_temperature=None)[source]

Bases: object

Calculates electronic properties with the xtb-python package.

Parameters:
  • elements (Iterable[int] | Iterable[str]) – Elements as atomic symbols or numbers

  • coordinates (ArrayLike2D) – Coordinates (Å)

  • version (str) – Version of xtb to use. Currently works with ‘1’ or ‘2’.

  • charge (int) – Molecular charge

  • n_unpaired (int | None) – Number of unpaired electrons

  • solvent (str | None) – Solvent. See xtb-python documentation

  • electronic_temperature (int | None) – Electronic temperature (K)

get_bond_order(i, j)[source]

Returns bond order between two atoms.

Parameters:
  • i (int) – Index of atom 1 (1-indexed)

  • j (int) – Index of atom 2 (1-indexed)

Returns:

Bond order

Return type:

bond_order

get_bond_orders(charge_state=0)[source]

Returns bond orders.

Parameters:

charge_state (int) – Charge state relative to original charge

Returns:

Bond orders

Return type:

bond_orders

get_charges(charge_state=0)[source]

Returns atomic charges.

Parameters:

charge_state (int) – Charge state relative to original charge

Returns:

Atomic charges

Return type:

charges

get_dipole(charge_state=0)[source]

Calculate dipole vector (a.u.).

Parameters:

charge_state (int) – Charge state relative to original charge

Returns:

Dipole vector

Return type:

dipole

get_ea(corrected=False)[source]

Calculate electron affinity.

Parameters:

corrected (bool) – Whether to apply correction term

Returns:

Electron affinity (eV)

Return type:

ea

get_fukui(variety)[source]

Calculate Fukui coefficients.

Parameters:

variety (str) – Type of Fukui coefficient: ‘nucleophilicity’, ‘electrophilicity’, ‘radical’, ‘dual’, ‘local_nucleophilicity’ or ‘local_electrophilicity’.

Returns:

Atomic Fukui coefficients

Return type:

fukui

Raises:

ValueError – When variety does not exist

get_global_descriptor(variety, corrected=False)[source]

Calculate global reactivity descriptors.

Parameters:
  • corrected (bool) – Whether to apply correction term

  • variety (str) – Type of descriptor: ‘electrophilicity’, ‘nucleophilicity’, ‘electrofugality’ or ‘nucleofugality’

Returns:

Global reactivity descriptor (eV)

Return type:

descriptor

Raises:

ValueError – When variety does not exist

get_homo()[source]

Calculate HOMO energy.

Returns:

HOMO energy (a.u.)

Return type:

homo_energy

get_ip(corrected=False)[source]

Calculate ionization potential.

Parameters:

corrected (bool) – Whether to apply correction term

Returns:

Ionization potential (eV)

Return type:

ip

get_lumo()[source]

Calculate LUMO energy.

Returns:

LUMO energy (a.u.)

Return type:

lumo_energy

morfeus.read_geometry(file)[source]

Read geometry file and guess parser based on suffix.

Parameters:

file (str | PathLike) – Filename or Path object

Returns:

Elements as atomic symbols or numbers coordinates: Coordinates (Å)

Return type:

elements

Raises:

ValueError – When suffix is not supported

morfeus.read_gjf(file)[source]

Reads Gaussian gjf/com file and returns elements and coordinates.

Parameters:

file (str | PathLike) – gjf/com file object.

Returns:

Elements as atomic symbols or numbers coordinates: Coordinates (Å)

Return type:

elements

morfeus.read_xyz(file)[source]

Reads xyz file.

Returns elements as written (atomic numbers or symbols) and coordinates.

Parameters:

file (str | PathLike) – Filename or Path object

Returns:

Elements as atomic symbols or numbers coordinates: Coordinates (Å)

Return type:

elements