Orca Class

Main Orca class for quantum chemical calculations.

class orca_descriptors.orca.Orca(script_path: str = 'orca', working_dir: str = '.', output_dir: str = '.', functional: str = 'AM1', basis_set: str = 'def2-SVP', method_type: str = 'Opt', dispersion_correction: str | None = 'D3BJ', solvation_model: str | None = None, n_processors: int = 1, max_scf_cycles: int = 100, scf_convergence: float = 1e-06, charge: int = 0, multiplicity: int = 1, cache_dir: str | None = None, log_level: int = 20, max_wait: int = 300, use_mpirun: bool = False, mpirun_path: str | None = None, extra_env: dict | None = None, pre_optimize: bool = True)[source]

Bases: OrcaBase, CalculationMixin, ElectronicDescriptorsMixin, EnergyDescriptorsMixin, StructuralDescriptorsMixin, TopologicalDescriptorsMixin, MiscDescriptorsMixin

Main class for ORCA quantum chemical calculations.

Supports both DFT methods (with basis sets) and semi-empirical methods (AM1, PM3, PM6, PM7, etc.). For semi-empirical methods, basis_set and dispersion_correction parameters are ignored.

calculate_descriptors(smiles_column: Any | list[str], descriptors: list[str] | None = None, progress: bool = True) Any[source]

Calculate descriptors for molecules from SMILES and add to DataFrame.

This method provides optional pandas compatibility. If pandas is available, it accepts a pandas Series or DataFrame column and returns a DataFrame with added descriptor columns. If pandas is not available, it accepts a list of SMILES strings and returns a list of dictionaries.

By default, calculates all available descriptors. Use the descriptors parameter to specify a subset of descriptors to calculate.

Note: This method is a wrapper around ORCABatchProcessing for backward compatibility. For advanced features like multiprocessing, use ORCABatchProcessing directly.

Parameters:
  • smiles_column – pandas Series/DataFrame column with SMILES strings, or a list of SMILES strings

  • descriptors – Optional list of descriptor names to calculate. If None, calculates all available descriptors. Descriptor names correspond to method names of the Orca class.

  • progress – Whether to show progress (default: True)

Returns:

DataFrame with descriptor columns added (if pandas available), or list of dictionaries (if pandas not available)

Raises:
  • ImportError – If pandas is not installed and a pandas object is passed

  • ValueError – If an invalid descriptor name is provided