Skip to main content

A Python package to analyze magnetic molecular orbitals (SOMOs) from Gaussian outputs

Project description

SOMOs

Version [0.9.1] & [0.9.3] - 2024-04-26

Changed

  • gSOMOs-v3.pdf scientific document now downloadable in gsomos.readthedocs.io

Added

  • Short examples in the documentation
  • docstring for projection_heatmap_from_df
  • docstring of show_alpha_to_homo translated in English

Fixed

  • minor fixes

Version [0.9.0] - 2024-04-26

Changed

  • logo is now gSOMOs instead of SOMOs
  • in the projection scheme (proj.py), there are now two criteria to identify a SOMO, namely "SOMO P2v?" (formerly SOMO?) and "SOMO dom. β MO?" (see scientific documentation)
    • SOMOs identified according to the P^2_virtual criterion are highlighted in green
    • SOMOs identified only on the basis of a dominant virtual beta MO are highlighted in orange (weaker criterion)
  • Scientific documentation renamed gSOMOs.pdf. And content updated

Added

  • new analyzis scheme in proj.py: bases on the diagonalization of projection matrices
  • new clean_logfile_name() function in io.py (made to solve a prefix issue for X.log.gz files)

SOMOs

🔗 Available on PyPI

A Python library to identify and analyze Single Occupied Molecular Orbitals (SOMOs) from Gaussian 09 or Gaussian 16 .log files.

PyPI version Documentation Status License Python Build


Installation

pip install SOMOs

Capabilities Overview

SOMOs is a Python toolkit for analyzing molecular orbitals (MOs) from Gaussian log files, with a focus on identifying SOMOs (Singly Occupied Molecular Orbitals) in open-shell systems.


🚀 Main Features

Load Gaussian Log Files

  • Parses .log and .log.gz Gaussian output files
  • Extracts orbital energies, coefficients, overlap matrices, and spin

Cosine Similarity & SOMO Detection

  • Computes cosine similarities between alpha and beta orbitals
  • Identifies SOMO candidates from orbital projections

Projection-Based Analysis

  • Projects occupied and virtual alpha MOs onto virtual beta MOs
  • Decomposes projection matrix to extract leading contributions

📊 Visualization Tools

Heatmaps

  • Interactive or static heatmaps of MO similarities
heatmap

t-SNE (Dimensionality Reduction)

  • Projects high-dimensional orbital space to 2D for visual exploration
  • Enables inspection of orbital families and similarity patterns
tSNE

📁 Output

  • .xlsx tables of SOMO similarity and projections
  • .png images of heatmaps and projections
  • All results saved in the logs/ folder
  • well-organized dataframes and printing
=== Summary of SOMO candidates ===

──────────── SOMO Candidate #1 ────────────
  α occupied contributions:
    • α 187 (44.2%)
    • α 164 (27.3%)
  β virtual projections:
    • β 194 (73.3%)
    • β 196 (16.1%)

──────────── SOMO Candidate #2 ────────────
  α occupied contributions:
    • α 169 (41.1%)
    • α 186 (21.6%)
    • α 165 (15.7%)
  β virtual projections:
    • β 192 (53.1%)
    • β 193 (26.9%)

──────────── SOMO Candidate #3 ────────────
  α occupied contributions:
    • α 186 (30.0%)
  β virtual projections:
    • β 198 (73.0%)

──────────── SOMO Candidate #4 ────────────
  α occupied contributions:
    • α 168 (51.8%)
    • α 183 (16.3%)
  β virtual projections:
    • β 193 (41.6%)
    • β 192 (26.7%)

✅ Examples Used in Notebooks (compressed Gaussian files)

  • H2CO_T1_g09_wOverlaps.log.gz
  • FeComplex.log.gz

Examples

see the SOMOs-examples.ipynb Jupyter notebook


Technical and scientific documentation

This document describes two complementary methods to identify singly occupied molecular orbitals (SOMOs) in open-shell systems:

  • Orbital projection analysis, where occupied α orbitals are projected onto the β orbital basis using the AO overlap matrix;
  • Cosine similarity mapping, which computes the angular similarity between α and β orbitals and matches them using the Kuhn–Munkres (Hungarian) algorithm.

Two examples based on the triplet state (T₁) of formaldehyde (H₂CO) and on the lowest quintet state of an iron complex are commented in this document.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gsomos-0.9.3.tar.gz (48.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gsomos-0.9.3-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file gsomos-0.9.3.tar.gz.

File metadata

  • Download URL: gsomos-0.9.3.tar.gz
  • Upload date:
  • Size: 48.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for gsomos-0.9.3.tar.gz
Algorithm Hash digest
SHA256 7d1f2721dcfd9830d5781c2ef286a112edb4ba7580b8714e7d3b0d1bd0ccba4d
MD5 9a3e93fbba00f7daf2b55acf8c0232ad
BLAKE2b-256 f73a16f9031d4a00850c29d037996f995ea1f4dc25281f64dcb606d70f329564

See more details on using hashes here.

File details

Details for the file gsomos-0.9.3-py3-none-any.whl.

File metadata

  • Download URL: gsomos-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for gsomos-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1d4bcc3ead295617740b4d264b367859f29aed9fb457852ad6a6901f3ac6994
MD5 88b963fac047226e33d507bba3fad639
BLAKE2b-256 83d5c093bbe371478b436b6d958672d26773eb46f44b8be6bcaa7a992b3d066b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page