Skip to main content

A program to edit molecular structures using Python.

Project description

moleditpy -- Python Molecular Editor

Pythonで構築された、シンプルで直感的な分子構造エディターです。2Dでの分子描画と、3D構造可視化をサポートします。

作者: HiroYokoyama ライセンス: Apache-2.0 リポジトリ: https://github.com/HiroYokoyama/python_molecular_editor


概要

このアプリケーションは、化学者や学生が分子構造を容易に描き、その3次元的な形状を視覚的に確認するためのツールです。PyQt6によるモダンなGUI、RDKitによる強力な化学計算、PyVistaによる高性能な3Dレンダリングを組み合わせています。


主な機能

  • 直感的な2D描画

    • マウスのクリック&ドラッグで原子や結合を簡単に追加・編集
    • 原子(C, N, O, Hなど)や結合(単結合、二重結合、三重結合)のツールバーからの選択
    • 周期表ダイアログから任意の元素を選択可能
    • Undo/Redo、選択、全選択、削除
  • テンプレートプレビューと配置

    • ベンゼン環や3〜9員環のテンプレートをプレビューして配置可能
    • 既存の原子や結合にスナップして配置できる
  • キーボードショートカットと操作性の改善

    • Space: 選択モード切替 / 選択モードで全選択
    • 1/2/3: カーソル下または選択中の結合の結合次数を変更
    • Delete / Backspace: 選択項目の削除
    • 原子上でキー入力(C, N, O, S, F, B, I, H, Shift+C=Cl, Shift+B=Br)で元素を即時切替
  • 2D構造の最適化

    • RDKit の Compute2DCoords を使った自動レイアウト(Optimize 2D)
  • 高品質な3D可視化

    • RDKit で 3D 座標を生成し MMFF94 ベースで最適化
    • PyVista / pyvistaqt によるインタラクティブな3D表示(原子は球、結合は円柱で表現)
    • 3Dビューをクリックすると2Dにフォーカスを戻す動作など、操作性の改善
  • ファイル入出力

    • 2D を MOL 形式で保存
    • 3D を MOL / XYZ 形式で保存
    • MOL/SDF の読み込み
    • プロジェクトファイル(.pmeraw)で編集状態の保存/読み込み

実行とインストール

必要ライブラリ

PyQt6, RDKit, NumPy, PyVista, pyvistaqt

インストール例

pip を使う場合:

pip install moleditpy

Note RDKit は conda を使ってインストールすることが推奨されます。

アプリの起動

moleditpy

技術的な仕組み

  • GUI と 2D 描画 (PyQt6)

    • アプリの骨格と 2D 描画キャンバスは PyQt6 の Graphics View Framework を利用しています。
    • QGraphicsScene 上にカスタムの AtomItem(原子)と BondItem(結合)を配置し、マウス/キー入力で対話的に操作します。
    • テンプレートのプレビューは専用の TemplatePreviewItem で描画されます。
  • 化学計算 (RDKit)

    • 2D 描画データから MOL ブロックを生成し、RDKit に渡して 3D 座標生成(AllChem.EmbedMolecule)と最適化(AllChem.MMFFOptimizeMolecule)を実行します。
    • 2D の自動レイアウト(Compute2DCoords)にも RDKit を使用します。
    • 計算は別スレッド(QThread)で行い、GUI の応答性を維持しています。
  • 3D 可視化 (PyVista / pyvistaqt)

    • RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。
    • ボンドの種類(単結合/二重結合/三重結合)に応じた複数円柱のレンダリングを実装しています。

ライセンス

このプロジェクトは Apache-2.0 License のもとで公開されています。詳細は LICENSE ファイルを参照してください。

Project details


Release history Release notifications | RSS feed

This version

0.1.4

Download files

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

Source Distribution

moleditpy-0.1.4.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

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

moleditpy-0.1.4-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file moleditpy-0.1.4.tar.gz.

File metadata

  • Download URL: moleditpy-0.1.4.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for moleditpy-0.1.4.tar.gz
Algorithm Hash digest
SHA256 38af950bab0ae1f50a5b9e2758c81fec608406d50e4fede8d09b23e4a658b383
MD5 f4105cc7bbbe1bb0f1a71d6c11a456d1
BLAKE2b-256 378f0f54ae75d098783ffb4c49e1bfa2e2a4c5936ed3b04ab25b20062e898425

See more details on using hashes here.

File details

Details for the file moleditpy-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: moleditpy-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for moleditpy-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 35de637abed0dc9ec7a6739ecf543ba037e2a2a75477cf26df24054c525e18b2
MD5 9fd5f46abe9f65a906182b0039923abc
BLAKE2b-256 3c380c08d5c49314849411172247ce8abea415ea966edd48862001f4c76fa42b

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