🧮 Main Commands for Using gSOMOs
This page summarizes the essential commands you need to use gSOMOs, along with a short explanation for each.
Working examples are vailable in a gSOMOs Examples Jupyter Notebook on GitHub
Also download a log folder with the two examples describied in the documentation.
📂 Load Gaussian Log Files
from somos import io
alpha_df, beta_df, alpha_mat, beta_mat, nbasis, overlap_matrix, info = io.load_mos_from_cclib(logfolder, logfile)
→ Loads alpha and beta molecular orbitals, coefficients, overlap matrix, and other information from a Gaussian log file. It is usually done internally. Whatever the way you decide to load a G09 or G16 log file - that can be gzipped to save disk space - dont forget to initialize logfolder
(eg logfolder = "./logs"
) and logfile
(eg logfile
= “H2CO.log.gz”)
📈 Analyze Cosine Similarity Between Orbitals
Main routine
from somos import cosim
listMOs, coeffMOs, nBasis, dfSOMOs, S = cosim.analyzeSi milarity(logfolder, logfile)
cosim.save_similarity_per_somo_from_df(dfSOMOs, listMOs, coeffMOs, nBasis, S, logfolder, logfile)
→ Calculates cosine similarities between alpha and beta orbitals to identify SOMO candidates. Saves results to Excel files.
Heatmap
cosim.heatmap_MOs(listMOs, coeffMOs, nBasis, S, logfolder, logfile)
→ Interactive cosine similarity heatmap between alpha and beta MOs around the HOMO-LUMO frontier
tSNE analyzis and plot
cosim.tsne(listMOs, coeffMOs, S, logfolder,logfile)
→ Performs a t-SNE projection of molecular orbitals (alpha and beta) using a cosine similarity metric invariant to phase, and displays an interactive Plotly visualization
📊 Projection Analysis
Main routine
from somos import proj
df_proj, info = proj.project_occupied_alpha_onto_beta(logfolder, logfile)
proj.projection_heatmap_from_df(df_proj, logfolder, logfile)
→ Projects occupied alpha orbitals onto virtual beta orbitals and generates a heatmap of the projection matrix.
Heatmap
proj.projection_heatmap_from_df(df_proj, info["nbasis"], logfolder, logfile)
→ Generates an interactive heatmap visualization of the main projections between occupied/virtual alpha and beta molecular orbitals (MOs) from a Gaussian log file
Projection of the occupied alpha MOs on the space spanned by the beta occupied MOs
from somos import proj
proj.diagonalize_alpha_occ_to_beta_occ_and_virt_separately(logfolder,logfile)
→ Projects occupied alpha orbitals separately onto beta occupied and beta virtual subspaces, diagonalizes the two projection matrices, and analyzes dominant contributions