moleditpy 0.3.8__tar.gz → 1.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moleditpy
3
- Version: 0.3.8
3
+ Version: 1.1.0
4
4
  Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
5
5
  Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/HiroYokoyama/python_molecular_editor
@@ -14,25 +14,24 @@ Classifier: Programming Language :: Python :: 3.9
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
16
  Classifier: License :: OSI Approved :: Apache Software License
17
- Requires-Python: >=3.8
17
+ Requires-Python: >=3.6
18
18
  Description-Content-Type: text/markdown
19
19
  Requires-Dist: PyQt6
20
20
  Requires-Dist: rdkit
21
21
  Requires-Dist: numpy
22
22
  Requires-Dist: pyvista
23
23
  Requires-Dist: pyvistaqt
24
+ Requires-Dist: openbabel-wheel
24
25
 
25
26
  # MoleditPy -- Python Molecular Editor
26
27
 
27
28
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17268532.svg)](https://doi.org/10.5281/zenodo.17268532)
28
29
  [![Powered by RDKit](https://img.shields.io/badge/Powered%20by-RDKit-3838ff.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEXc3NwUFP8UPP9kZP+MjP+0tP////9ZXZotAAAAAXRSTlMAQObYZgAAAAFiS0dEBmFmuH0AAAAHdElNRQfmAwsPGi+MyC9RAAAAQElEQVQI12NgQABGQUEBMENISUkRLKBsbGwEEhIyBgJFsICLC0iIUdnExcUZwnANQWfApKCK4doRBsKtQFgKAQC5Ww1JEHSEkAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xMVQxNToyNjo0NyswMDowMDzr2J4AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTFUMTU6MjY6NDcrMDA6MDBNtmAiAAAAAElFTkSuQmCC)](https://www.rdkit.org/)
29
30
 
30
-
31
31
  Pythonで構築された、クロスプラットフォームかつシンプルで直感的な分子構造エディターです。2Dでの分子描画と、3D構造可視化ができます。DFT計算ソフト用のインプット用に構造ファイルのエクスポートをサポートします。
32
32
 
33
33
  A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
34
34
 
35
-
36
35
  作者: HiroYokoyama
37
36
  ライセンス: Apache-2.0
38
37
  リポジトリ: [https://github.com/HiroYokoyama/python\_molecular\_editor](https://github.com/HiroYokoyama/python_molecular_editor)
@@ -70,8 +69,9 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
70
69
  | `+`/`-` | 電荷を増減 | 形式電荷の変更 |
71
70
  | `C`, `N`, `O` など | 原子記号を変更 | カーソル下または選択中の原子に適用 |
72
71
  | `4` | ベンゼン環の配置 | カーソル下の原子/結合にワンショットで配置 |
73
- | `Ctrl+K` | 2D最適化を実行 | |
74
- | `Ctrl+L` | 3D変換を実行 | |
72
+ | `Ctrl+J` | 2D最適化を実行 | |
73
+ | `Ctrl+K` | 3D変換を実行 | |
74
+ | `Ctrl+L` | 3D最適化を実行 | |
75
75
 
76
76
  ### 3\. 2D構造の最適化
77
77
 
@@ -80,10 +80,11 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
80
80
 
81
81
  ### 4\. 高品質な3D可視化と分析
82
82
 
83
- * **3D変換:** RDKit で 3D 座標を生成し MMFF94 ベースで最適化(**Convert to 3D**)します。
83
+ * **3D変換:** RDKit で 3D 座標を生成し MMFF94 ベースで最適化(**Convert to 3D**)します。RDKitでの生成に失敗した場合、**Open Babelによるフォールバック**を実行し、堅牢性を高めています。
84
84
  * **インタラクティブ表示:** PyVista / pyvistaqt によるインタラクティブな3D表示(Ball & Stick / CPK スタイル)を提供します。
85
+ * **インタラクティブ3D編集:** 3D編集モードを有効にすると、3Dビュー内の原子を**マウスで直接ドラッグして位置を微調整**できます。
85
86
  * **キラルラベル表示:** 3D変換後、キラル中心に R/S ラベルを自動で付与し、**3Dビュー**に表示します。
86
- * **分子分析ウィンドウ:** 分子量、SMILES、LogP、TPSAなど、RDKitベースの**主要な分子特性を一覧表示**する専用ウィンドウがあります。
87
+ * **分子分析ウィンドウ:** 分子式、分子量、SMILES、LogP、TPSAなど、RDKitベースの**主要な分子特性を一覧表示**する専用ウィンドウがあります。
87
88
 
88
89
  ### 5\. ファイル入出力
89
90
 
@@ -98,7 +99,7 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
98
99
 
99
100
  #### 必要ライブラリ
100
101
 
101
- `PyQt6`, `RDKit`, `NumPy`, `PyVista`, `pyvistaqt`
102
+ `PyQt6`, `RDKit`, `NumPy`, `PyVista`, `pyvistaqt`, `openbabel`
102
103
 
103
104
  #### インストール例
104
105
 
@@ -109,13 +110,30 @@ pip install moleditpy
109
110
  ```
110
111
 
111
112
  > **Note**
112
- > RDKit は特に科学計算ディストリビューションである `conda` を使ってインストールすることが推奨されます。
113
+ > RDKit と Open Babel は、科学計算ディストリビューションである `conda` を使ってインストールすることが推奨されます。Open Babelは3D構造変換のフォールバック機能に必要です。
113
114
 
114
115
  #### アプリの起動
115
116
 
116
117
  ```bash
117
118
  moleditpy
118
119
  ```
120
+ ご要望に応じて、READMEから**開発環境**の表セクションのみを抽出して表示します。
121
+
122
+ ## 開発環境
123
+
124
+ MoleditPyの動作確認および推奨される開発・実行環境は以下の通りです。
125
+
126
+ | コンポーネント | バージョン |
127
+ | :--- | :--- |
128
+ | **Python** | `3.13.7` |
129
+ | **numpy** | `2.3.3` |
130
+ | **openbabel-wheel** | `3.1.1.22` |
131
+ | **PyQt6** | `6.9.1` |
132
+ | **QtPy** | `2.4.3` |
133
+ | **rdkit** | `2025.3.6` |
134
+ | **vtk** | `9.5.2` |
135
+ | **pyvista** | `0.46.3` |
136
+ | **pyvistaqt** | `0.11.3` |
119
137
 
120
138
  -----
121
139
 
@@ -131,7 +149,7 @@ Windows環境でプロジェクトファイル(`.pmeraw`)をダブルクリ
131
149
  | **関連付けたい拡張子** | `.pmeraw` |
132
150
  | **アイコンファイルのパス (Icon)** | `C:\Users\%USERNAME%\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\moleditpy\assets\icon.ico` |
133
151
 
134
- > **注意:** `%USERNAME%` はお使いのユーザー名、`PythonXX` はインストールされているPythonのバージョンディレクトリ名(例: `Python313`)に置き換えてください。
152
+ > **注意:** `%USERNAME%` はお使いのユーザー名、`PythonXX` はインストールされているPythonのバージョンディレクトリ名(例: `Python311`)に置き換えてください。
135
153
 
136
154
  ### 2\. ファイルの関連付け手順 (.pmeraw をダブルクリックで開く)
137
155
 
@@ -253,11 +271,13 @@ chmod +x /Users/<username>/Library/Python/<python_version>/bin/moleditpy
253
271
  * **GUI と 2D 描画 (PyQt6):**
254
272
  * `QGraphicsScene` 上にカスタムの `AtomItem`(原子)と `BondItem`(結合)を配置し、対話的に操作します。
255
273
  * Undo/Redo機能は、アプリケーションの状態を丸ごと `pickle` でシリアライズしてスタックに保存することで実現しています。
256
- * **化学計算 (RDKit):**
274
+ * **化学計算 (RDKit / Open Babel):**
257
275
  * 2D データから RDKit 分子オブジェクトを生成し、3D 座標生成(`AllChem.EmbedMolecule`)や分子特性計算を実行します。
276
+ * RDKitでの3D座標生成が失敗した際は、**Open Babel**にフォールバックして計算を試みます。
258
277
  * 計算は別スレッド(`QThread`)で行い、GUI の応答性を維持しています。
259
278
  * **3D 可視化 (PyVista / pyvistaqt):**
260
- * RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。CPKカラーや3D結合のマルチレンダリングに対応しています。
279
+ * RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。
280
+ * カスタムの`vtkInteractorStyle`を実装し、3Dビュー内での原子の直接的なドラッグ&ドロップ編集を可能にしています。
261
281
 
262
282
  -----
263
283
 
@@ -3,12 +3,10 @@
3
3
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.17268532.svg)](https://doi.org/10.5281/zenodo.17268532)
4
4
  [![Powered by RDKit](https://img.shields.io/badge/Powered%20by-RDKit-3838ff.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEXc3NwUFP8UPP9kZP+MjP+0tP////9ZXZotAAAAAXRSTlMAQObYZgAAAAFiS0dEBmFmuH0AAAAHdElNRQfmAwsPGi+MyC9RAAAAQElEQVQI12NgQABGQUEBMENISUkRLKBsbGwEEhIyBgJFsICLC0iIUdnExcUZwnANQWfApKCK4doRBsKtQFgKAQC5Ww1JEHSEkAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyMi0wMy0xMVQxNToyNjo0NyswMDowMDzr2J4AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjItMDMtMTFUMTU6MjY6NDcrMDA6MDBNtmAiAAAAAElFTkSuQmCC)](https://www.rdkit.org/)
5
5
 
6
-
7
6
  Pythonで構築された、クロスプラットフォームかつシンプルで直感的な分子構造エディターです。2Dでの分子描画と、3D構造可視化ができます。DFT計算ソフト用のインプット用に構造ファイルのエクスポートをサポートします。
8
7
 
9
8
  A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
10
9
 
11
-
12
10
  作者: HiroYokoyama
13
11
  ライセンス: Apache-2.0
14
12
  リポジトリ: [https://github.com/HiroYokoyama/python\_molecular\_editor](https://github.com/HiroYokoyama/python_molecular_editor)
@@ -46,8 +44,9 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
46
44
  | `+`/`-` | 電荷を増減 | 形式電荷の変更 |
47
45
  | `C`, `N`, `O` など | 原子記号を変更 | カーソル下または選択中の原子に適用 |
48
46
  | `4` | ベンゼン環の配置 | カーソル下の原子/結合にワンショットで配置 |
49
- | `Ctrl+K` | 2D最適化を実行 | |
50
- | `Ctrl+L` | 3D変換を実行 | |
47
+ | `Ctrl+J` | 2D最適化を実行 | |
48
+ | `Ctrl+K` | 3D変換を実行 | |
49
+ | `Ctrl+L` | 3D最適化を実行 | |
51
50
 
52
51
  ### 3\. 2D構造の最適化
53
52
 
@@ -56,10 +55,11 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
56
55
 
57
56
  ### 4\. 高品質な3D可視化と分析
58
57
 
59
- * **3D変換:** RDKit で 3D 座標を生成し MMFF94 ベースで最適化(**Convert to 3D**)します。
58
+ * **3D変換:** RDKit で 3D 座標を生成し MMFF94 ベースで最適化(**Convert to 3D**)します。RDKitでの生成に失敗した場合、**Open Babelによるフォールバック**を実行し、堅牢性を高めています。
60
59
  * **インタラクティブ表示:** PyVista / pyvistaqt によるインタラクティブな3D表示(Ball & Stick / CPK スタイル)を提供します。
60
+ * **インタラクティブ3D編集:** 3D編集モードを有効にすると、3Dビュー内の原子を**マウスで直接ドラッグして位置を微調整**できます。
61
61
  * **キラルラベル表示:** 3D変換後、キラル中心に R/S ラベルを自動で付与し、**3Dビュー**に表示します。
62
- * **分子分析ウィンドウ:** 分子量、SMILES、LogP、TPSAなど、RDKitベースの**主要な分子特性を一覧表示**する専用ウィンドウがあります。
62
+ * **分子分析ウィンドウ:** 分子式、分子量、SMILES、LogP、TPSAなど、RDKitベースの**主要な分子特性を一覧表示**する専用ウィンドウがあります。
63
63
 
64
64
  ### 5\. ファイル入出力
65
65
 
@@ -74,7 +74,7 @@ A cross-platform, simple, and intuitive molecular structure editor built in Pyth
74
74
 
75
75
  #### 必要ライブラリ
76
76
 
77
- `PyQt6`, `RDKit`, `NumPy`, `PyVista`, `pyvistaqt`
77
+ `PyQt6`, `RDKit`, `NumPy`, `PyVista`, `pyvistaqt`, `openbabel`
78
78
 
79
79
  #### インストール例
80
80
 
@@ -85,13 +85,30 @@ pip install moleditpy
85
85
  ```
86
86
 
87
87
  > **Note**
88
- > RDKit は特に科学計算ディストリビューションである `conda` を使ってインストールすることが推奨されます。
88
+ > RDKit と Open Babel は、科学計算ディストリビューションである `conda` を使ってインストールすることが推奨されます。Open Babelは3D構造変換のフォールバック機能に必要です。
89
89
 
90
90
  #### アプリの起動
91
91
 
92
92
  ```bash
93
93
  moleditpy
94
94
  ```
95
+ ご要望に応じて、READMEから**開発環境**の表セクションのみを抽出して表示します。
96
+
97
+ ## 開発環境
98
+
99
+ MoleditPyの動作確認および推奨される開発・実行環境は以下の通りです。
100
+
101
+ | コンポーネント | バージョン |
102
+ | :--- | :--- |
103
+ | **Python** | `3.13.7` |
104
+ | **numpy** | `2.3.3` |
105
+ | **openbabel-wheel** | `3.1.1.22` |
106
+ | **PyQt6** | `6.9.1` |
107
+ | **QtPy** | `2.4.3` |
108
+ | **rdkit** | `2025.3.6` |
109
+ | **vtk** | `9.5.2` |
110
+ | **pyvista** | `0.46.3` |
111
+ | **pyvistaqt** | `0.11.3` |
95
112
 
96
113
  -----
97
114
 
@@ -107,7 +124,7 @@ Windows環境でプロジェクトファイル(`.pmeraw`)をダブルクリ
107
124
  | **関連付けたい拡張子** | `.pmeraw` |
108
125
  | **アイコンファイルのパス (Icon)** | `C:\Users\%USERNAME%\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\moleditpy\assets\icon.ico` |
109
126
 
110
- > **注意:** `%USERNAME%` はお使いのユーザー名、`PythonXX` はインストールされているPythonのバージョンディレクトリ名(例: `Python313`)に置き換えてください。
127
+ > **注意:** `%USERNAME%` はお使いのユーザー名、`PythonXX` はインストールされているPythonのバージョンディレクトリ名(例: `Python311`)に置き換えてください。
111
128
 
112
129
  ### 2\. ファイルの関連付け手順 (.pmeraw をダブルクリックで開く)
113
130
 
@@ -229,11 +246,13 @@ chmod +x /Users/<username>/Library/Python/<python_version>/bin/moleditpy
229
246
  * **GUI と 2D 描画 (PyQt6):**
230
247
  * `QGraphicsScene` 上にカスタムの `AtomItem`(原子)と `BondItem`(結合)を配置し、対話的に操作します。
231
248
  * Undo/Redo機能は、アプリケーションの状態を丸ごと `pickle` でシリアライズしてスタックに保存することで実現しています。
232
- * **化学計算 (RDKit):**
249
+ * **化学計算 (RDKit / Open Babel):**
233
250
  * 2D データから RDKit 分子オブジェクトを生成し、3D 座標生成(`AllChem.EmbedMolecule`)や分子特性計算を実行します。
251
+ * RDKitでの3D座標生成が失敗した際は、**Open Babel**にフォールバックして計算を試みます。
234
252
  * 計算は別スレッド(`QThread`)で行い、GUI の応答性を維持しています。
235
253
  * **3D 可視化 (PyVista / pyvistaqt):**
236
- * RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。CPKカラーや3D結合のマルチレンダリングに対応しています。
254
+ * RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。
255
+ * カスタムの`vtkInteractorStyle`を実装し、3Dビュー内での原子の直接的なドラッグ&ドロップ編集を可能にしています。
237
256
 
238
257
  -----
239
258
 
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "moleditpy"
7
7
 
8
- version = "0.3.8"
8
+ version = "1.1.0"
9
9
 
10
10
  authors = [
11
11
  { name="HiroYokoyama", email="titech.yoko.hiro@gmail.com" },
@@ -15,7 +15,7 @@ description = "A cross-platform, simple, and intuitive molecular structure edito
15
15
 
16
16
  readme = "README.md"
17
17
 
18
- requires-python = ">=3.8"
18
+ requires-python = ">=3.6"
19
19
 
20
20
  classifiers = [
21
21
  "Programming Language :: Python :: 3",
@@ -35,6 +35,7 @@ dependencies = [
35
35
  "numpy",
36
36
  "pyvista",
37
37
  "pyvistaqt",
38
+ "openbabel-wheel",
38
39
  ]
39
40
 
40
41
  [project.urls]