Skip to content

HiroYokoyama/moleditpy-plugins

Repository files navigation

MoleditPy Plugin Collection

Repo: https://github.com/HiroYokoyama/moleditpy-plugins/
Explorer: https://hiroyokoyama.github.io/moleditpy-plugins/explorer/

This directory contains the official plugins for MoleditPy.

Contribute Your Plugin We believe in the power of community!
If you have created a useful plugin, we would love to include it as an official part of this collection. Please feel free to submit a Pull Request with your plugin to help us expand what MoleditPy can do.

Featured Plugins

1. Gaussian Input Generator Neo (gaussian_input_generator_neo.py)

High-functionality setting dialog for Gaussian input creation.

  • Features: Supports Link 0, Route, Title, Charge/Mult, and appended data.
  • Dependencies: rdkit, PyQt6

2. ORCA Input Generator Neo (orca_input_generator_neo.py)

High-functionality setting dialog for ORCA input creation.

  • Features: Supports Link 0, Route, Block Builder, and Validations.
  • Dependencies: rdkit, PyQt6

3. Gaussian Freq Analyzer (gaussian_fchk_freq_analyzer.py)

Analyzes vibrational frequencies from Gaussian FCHK files.

  • Features: View IR spectrum, animate normal modes, and export GIF animations.
  • Dependencies: rdkit, PyQt6, numpy, Pillow

4. ORCA Freq Analyzer (orca_out_freq_analyzer.py)

Analyzes vibrational frequencies from ORCA output files.

  • Features: View IR spectrum, animate normal modes, and export GIF animations.
  • Dependencies: rdkit, PyQt6, numpy, Pillow

5. MS Spectrum Simulation Neo (ms_spectrum_neo.py)

Simulates the Mass Spectrum for the currently loaded molecule using RDKit descriptors.

  • Features: Includes Gaussian broadening and interactive zoom/pan.
  • Dependencies: rdkit, PyQt6

6. Mapped Cube Viewer (mapped_cube_viewer.py)

Visualizes a property (e.g. ESP) mapped onto an isosurface (e.g. electron density) from two Cube files.

  • Dependencies: numpy, pyvista, PyQt6, rdkit

7. Cube File Viewer (cube_viewer.py)

Visualizes Gaussian Cube files (.cube) containing volumetric data (e.g., orbitals, densities).

  • Features: Renders isosurfaces with interactive controls for isovalue and color.
  • Dependencies: rdkit, pyvista, numpy

8. PubChem Name Resolver (pubchem_ressolver.py)

Resolves chemical names and identifiers to structures using the PubChem PUG REST API.

  • Features: Search by Name or SMILES, load directly into 2D editor.
  • Dependencies: requests, rdkit

9. Symmetry Analyzer (symmetry_analyzer.py)

Visualizes and corrects molecular geometry to perfectly match its ideal symmetry group.

  • Dependencies: pymatgen

10. Chat with Molecule Neo (chat_with_molecule_neo.py)

The AI Copilot for MoleditPy (Powered by Google Gemini)

Revolutionize your workflow with an AI agent that controls the editor directly. This plugin utilizes Function Calling to bridge natural language with chemical operations—loading structures, calculating descriptors, and generating expert-level ORCA inputs instantly.

  • Text-to-Structure: Just say "Load Cubane" to generate 3D models.
  • Context-Aware: Analyzes the active molecule in real-time.
  • Safe Execution: Interactive [Accept]/[Reject] workflow for all AI actions.

Project Detail

Gallery

MS Spectrum Simulation

Gaussian Input Generator

Frequency Analyzer

Cube File Viewer

Cube File Viewer

Installation

To install a plugin:

  1. Locate your MoleditPy plugins directory:

    • Windows: C:\Users\<YourUser>\.moleditpy\plugins
    • macOS/Linux: ~/.moleditpy/plugins
      (If the directory does not exist, create it manually or run "Open Plugin Directory" in MoleditPy application once to generate it.)
  2. Copy the plugin files:

    • Single File Plugin: Copy the .py file (e.g., ms_spectrum.py) into the plugins folder.
    • Folder Plugin: Copy the entire plugin folder (containing __init__.py) into the plugins folder.
  3. Restart MoleditPy or use "Reload Plugins" feature. The new plugin will be automatically loaded.

Development

MoleditPy features a robust plugin architecture allowing deep integration via the PluginContext API.

Quick Start

Create a .py file with an initialize(context) function:

PLUGIN_NAME = "My New Plugin"
PLUGIN_VERSION = "1.0"
PLUGIN_AUTHOR = "Your Name"

def initialize(context):
    # Register a menu action
    context.add_menu_action("My Plugin/Say Hello", lambda: print("Hello!"))

Folder Plugins

For complex plugins, you can create a folder containing an __init__.py file instead of a single script. MoleditPy treats the folder as a single plugin package.

Capabilities

The new API allows plugins to:

  • Add Menu and Toolbar items.
  • Register Bond/Atom Color Overrides.
  • Handle File Drops and custom File Imports.
  • Add custom Export Options and Optimization Methods.
  • Integrate Analysis Tools and persist data in Project Files.

For full documentation and examples, please refer to the PLUGIN_DEVELOPMENT_MANUAL.md.

About

This directory contains official plugins for MoleditPy.

Resources

License

Stars

Watchers

Forks

Packages

No packages published