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.
- {moleditpy-0.3.8 → moleditpy-1.1.0}/PKG-INFO +33 -13
- {moleditpy-0.3.8 → moleditpy-1.1.0}/README.md +30 -11
- {moleditpy-0.3.8 → moleditpy-1.1.0}/pyproject.toml +3 -2
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy/main.py +496 -124
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/PKG-INFO +33 -13
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/requires.txt +1 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/setup.cfg +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy/__init__.py +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy/assets/icon.ico +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy/assets/icon.png +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/SOURCES.txt +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/dependency_links.txt +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/entry_points.txt +0 -0
- {moleditpy-0.3.8 → moleditpy-1.1.0}/src/moleditpy.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: moleditpy
|
|
3
|
-
Version:
|
|
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.
|
|
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
|
[](https://doi.org/10.5281/zenodo.17268532)
|
|
28
29
|
[](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+
|
|
74
|
-
| `Ctrl+
|
|
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
|
-
* **分子分析ウィンドウ:**
|
|
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
|
|
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のバージョンディレクトリ名(例: `
|
|
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 のメッシュ(球や円柱)を生成して描画します。
|
|
279
|
+
* RDKit のコンフォーマ座標から PyVista のメッシュ(球や円柱)を生成して描画します。
|
|
280
|
+
* カスタムの`vtkInteractorStyle`を実装し、3Dビュー内での原子の直接的なドラッグ&ドロップ編集を可能にしています。
|
|
261
281
|
|
|
262
282
|
-----
|
|
263
283
|
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
[](https://doi.org/10.5281/zenodo.17268532)
|
|
4
4
|
[](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+
|
|
50
|
-
| `Ctrl+
|
|
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
|
-
* **分子分析ウィンドウ:**
|
|
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
|
|
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のバージョンディレクトリ名(例: `
|
|
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 のメッシュ(球や円柱)を生成して描画します。
|
|
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 = "
|
|
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.
|
|
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]
|