morfeus package#
Submodules#
- morfeus.bite_angle module
- morfeus.buried_volume module
- morfeus.calculators module
- morfeus.cone_angle module
- morfeus.conformer module
Conformer
ConformerEnsemble
ConformerEnsemble.charge
ConformerEnsemble.conformers
ConformerEnsemble.connectivity_matrix
ConformerEnsemble.elements
ConformerEnsemble.formal_charges
ConformerEnsemble.mol
ConformerEnsemble.multiplicity
ConformerEnsemble.ref_cip_label
ConformerEnsemble.add_conformers()
ConformerEnsemble.add_inverted()
ConformerEnsemble.align_conformers()
ConformerEnsemble.boltzmann_average_dT()
ConformerEnsemble.boltzmann_statistic()
ConformerEnsemble.boltzmann_weights()
ConformerEnsemble.condense_enantiomeric()
ConformerEnsemble.detect_enantiomers()
ConformerEnsemble.from_crest()
ConformerEnsemble.from_ob_ff()
ConformerEnsemble.from_ob_ga()
ConformerEnsemble.from_rdkit()
ConformerEnsemble.generate_mol()
ConformerEnsemble.get_cip_labels()
ConformerEnsemble.get_coordinates()
ConformerEnsemble.get_degeneracies()
ConformerEnsemble.get_energies()
ConformerEnsemble.get_properties()
ConformerEnsemble.get_relative_energies()
ConformerEnsemble.get_rmsd()
ConformerEnsemble.n_conformers
ConformerEnsemble.optimize_qc_engine()
ConformerEnsemble.prune_enantiomers()
ConformerEnsemble.prune_energy()
ConformerEnsemble.prune_rmsd()
ConformerEnsemble.set_coordinates()
ConformerEnsemble.set_degeneracies()
ConformerEnsemble.set_energies()
ConformerEnsemble.set_multiplicity_from_mol()
ConformerEnsemble.set_properties()
ConformerEnsemble.sort()
ConformerEnsemble.sp_qc_engine()
ConformerEnsemble.update_mol()
ConformerEnsemble.write_xyz()
boltzmann_average_dT()
boltzmann_statistic()
boltzmann_weights()
cli()
conformers_from_ob_ff()
conformers_from_ob_ga()
conformers_from_rdkit()
- morfeus.d3_data module
- morfeus.data module
- morfeus.dispersion module
Dispersion
Dispersion.area
Dispersion.atom_areas
Dispersion.atom_p_int
Dispersion.atom_p_max
Dispersion.atom_p_min
Dispersion.p_int
Dispersion.p_max
Dispersion.p_min
Dispersion.p_values
Dispersion.volume
Dispersion.compute_coefficients()
Dispersion.compute_p_int()
Dispersion.load_coefficients()
Dispersion.print_report()
Dispersion.save_vtk()
Dispersion.surface_from_cube()
Dispersion.surface_from_multiwfn()
cli()
- morfeus.geometry module
Angle
Atom
Atom.accessible_mask
Atom.accessible_points
Atom.area
Atom.cone
Atom.coordinates
Atom.coordination_number
Atom.element
Atom.index
Atom.invisible_mask
Atom.occluded_mask
Atom.occluded_points
Atom.p_values
Atom.point_areas
Atom.point_volumes
Atom.point
Atom.proximal_mask
Atom.radius
Atom.volume
Atom.get_cone()
Bond
Cone
Dihedral
InternalCoordinates
Sphere
kabsch_rotation_matrix()
rotate_coordinates()
sphere_line_intersection()
- morfeus.io module
- morfeus.local_force module
LocalForce
LocalForce.internal_coordinates
LocalForce.local_force_constants
LocalForce.local_frequencies
LocalForce.n_imag
LocalForce.add_internal_coordinate()
LocalForce.compute_compliance()
LocalForce.compute_frequencies()
LocalForce.compute_local()
LocalForce.detect_bonds()
LocalForce.get_local_force_constant()
LocalForce.get_local_frequency()
LocalForce.load_file()
LocalForce.normal_mode_analysis()
LocalForce.print_report()
LocalForce.reset_internal_coordinates()
cli()
- morfeus.plotting module
- morfeus.pyramidalization module
- morfeus.qc module
- morfeus.sasa module
- morfeus.solid_angle module
- morfeus.sterimol module
- morfeus.typing module
- morfeus.utils module
- morfeus.visible_volume module
VisibleVolume
VisibleVolume.distal_area
VisibleVolume.distal_visible_area
VisibleVolume.distal_visible_volume
VisibleVolume.distal_volume
VisibleVolume.invisible_area
VisibleVolume.invisible_volume
VisibleVolume.proximal_area
VisibleVolume.proximal_visible_area
VisibleVolume.proximal_visible_volume
VisibleVolume.proximal_volume
VisibleVolume.total_area
VisibleVolume.total_volume
VisibleVolume.visible_area
VisibleVolume.visible_volume
cli()
- morfeus.xtb module
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.
- property percent_buried_volume: float#
Deprecated attribute. Use ‘fraction_buried_volume’ instead.
- 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) –
- 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
- 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 (Å)
- 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:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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