MoleditPy-linux 2.8.1__tar.gz → 2.8.3__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.
Files changed (67) hide show
  1. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/PKG-INFO +1 -1
  2. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/pyproject.toml +1 -1
  3. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/PKG-INFO +1 -1
  4. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/angle_dialog.py +6 -13
  5. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/bond_length_dialog.py +6 -5
  6. moleditpy_linux-2.8.3/src/moleditpy_linux/modules/calculation_worker.py +1323 -0
  7. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/constants.py +1 -1
  8. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/constrained_optimization_dialog.py +3 -2
  9. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window.py +4 -0
  10. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_compute.py +21 -2
  11. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_edit_3d.py +8 -19
  12. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_main_init.py +13 -0
  13. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/mol_geometry.py +50 -0
  14. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/move_group_dialog.py +0 -12
  15. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/translation_dialog.py +0 -18
  16. moleditpy_linux-2.8.1/src/moleditpy_linux/modules/calculation_worker.py +0 -1334
  17. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/LICENSE +0 -0
  18. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/README.md +0 -0
  19. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/setup.cfg +0 -0
  20. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/SOURCES.txt +0 -0
  21. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/dependency_links.txt +0 -0
  22. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/entry_points.txt +0 -0
  23. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/requires.txt +0 -0
  24. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/MoleditPy_linux.egg-info/top_level.txt +0 -0
  25. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/__init__.py +0 -0
  26. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/__main__.py +0 -0
  27. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/assets/file_icon.ico +0 -0
  28. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/assets/icon.icns +0 -0
  29. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/assets/icon.ico +0 -0
  30. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/assets/icon.png +0 -0
  31. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/main.py +0 -0
  32. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/__init__.py +0 -0
  33. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/about_dialog.py +0 -0
  34. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/align_plane_dialog.py +0 -0
  35. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/alignment_dialog.py +0 -0
  36. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/analysis_window.py +0 -0
  37. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/atom_item.py +0 -0
  38. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/bond_item.py +0 -0
  39. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/color_settings_dialog.py +0 -0
  40. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/custom_interactor_style.py +0 -0
  41. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/custom_qt_interactor.py +0 -0
  42. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/dialog3_d_picking_mixin.py +0 -0
  43. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/dihedral_dialog.py +0 -0
  44. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_app_state.py +0 -0
  45. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_dialog_manager.py +0 -0
  46. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_edit_actions.py +0 -0
  47. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_export.py +0 -0
  48. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_molecular_parsers.py +0 -0
  49. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_project_io.py +0 -0
  50. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_string_importers.py +0 -0
  51. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_ui_manager.py +0 -0
  52. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_view_3d.py +0 -0
  53. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/main_window_view_loaders.py +0 -0
  54. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/mirror_dialog.py +0 -0
  55. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/molecular_data.py +0 -0
  56. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/molecule_scene.py +0 -0
  57. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/periodic_table_dialog.py +0 -0
  58. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/planarize_dialog.py +0 -0
  59. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/plugin_interface.py +0 -0
  60. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/plugin_manager.py +0 -0
  61. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/plugin_manager_window.py +0 -0
  62. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/settings_dialog.py +0 -0
  63. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/sip_isdeleted_safe.py +0 -0
  64. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/template_preview_item.py +0 -0
  65. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/template_preview_view.py +0 -0
  66. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/user_template_dialog.py +0 -0
  67. {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.3}/src/moleditpy_linux/modules/zoomable_view.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy-linux
3
- Version: 2.8.1
3
+ Version: 2.8.3
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
  License: GNU GENERAL PUBLIC LICENSE
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
  [project]
6
6
  name = "MoleditPy-linux"
7
7
 
8
- version = "2.8.1"
8
+ version = "2.8.3"
9
9
 
10
10
  license = {file = "LICENSE"}
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: MoleditPy-linux
3
- Version: 2.8.1
3
+ Version: 2.8.3
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
  License: GNU GENERAL PUBLIC LICENSE
@@ -24,10 +24,10 @@ from PyQt6.QtWidgets import (
24
24
 
25
25
  try:
26
26
  from .dialog3_d_picking_mixin import Dialog3DPickingMixin
27
- from .mol_geometry import adjust_bond_angle, get_connected_group, rodrigues_rotate
27
+ from .mol_geometry import adjust_bond_angle, calc_angle_deg, get_connected_group, rodrigues_rotate
28
28
  except Exception:
29
29
  from modules.dialog3_d_picking_mixin import Dialog3DPickingMixin
30
- from modules.mol_geometry import adjust_bond_angle, get_connected_group, rodrigues_rotate
30
+ from modules.mol_geometry import adjust_bond_angle, calc_angle_deg, get_connected_group, rodrigues_rotate
31
31
 
32
32
  import numpy as np
33
33
  from PyQt6.QtCore import Qt
@@ -310,17 +310,10 @@ class AngleDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
310
310
  def calculate_angle(self):
311
311
  """現在の角度を計算"""
312
312
  conf = self.mol.GetConformer()
313
- pos1 = np.array(conf.GetAtomPosition(self.atom1_idx))
314
- pos2 = np.array(conf.GetAtomPosition(self.atom2_idx)) # vertex
315
- pos3 = np.array(conf.GetAtomPosition(self.atom3_idx))
316
-
317
- vec1 = pos1 - pos2
318
- vec2 = pos3 - pos2
319
-
320
- cos_angle = np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
321
- cos_angle = np.clip(cos_angle, -1.0, 1.0)
322
- angle_rad = np.arccos(cos_angle)
323
- return np.degrees(angle_rad)
313
+ pos1 = conf.GetAtomPosition(self.atom1_idx)
314
+ pos2 = conf.GetAtomPosition(self.atom2_idx) # vertex
315
+ pos3 = conf.GetAtomPosition(self.atom3_idx)
316
+ return calc_angle_deg(pos1, pos2, pos3)
324
317
 
325
318
  def on_angle_input_changed(self, text):
326
319
  """Line edit text changed, update slider."""
@@ -26,7 +26,7 @@ from PyQt6.QtWidgets import (
26
26
  )
27
27
 
28
28
  from .dialog3_d_picking_mixin import Dialog3DPickingMixin
29
- from .mol_geometry import get_connected_group
29
+ from .mol_geometry import calc_distance, get_connected_group
30
30
 
31
31
 
32
32
  class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
@@ -242,9 +242,10 @@ class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
242
242
 
243
243
  # Calculate current distance
244
244
  conf = self.mol.GetConformer()
245
- pos1 = np.array(conf.GetAtomPosition(self.atom1_idx))
246
- pos2 = np.array(conf.GetAtomPosition(self.atom2_idx))
247
- current_distance = np.linalg.norm(pos2 - pos1)
245
+ current_distance = calc_distance(
246
+ conf.GetAtomPosition(self.atom1_idx),
247
+ conf.GetAtomPosition(self.atom2_idx),
248
+ )
248
249
  self.distance_label.setText(f"Current distance: {current_distance:.3f} Å")
249
250
  self.apply_button.setEnabled(True)
250
251
  # Update the distance input box to show current distance
@@ -349,7 +350,7 @@ class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
349
350
 
350
351
  # Direction vector from atom1 to atom2
351
352
  direction = pos2 - pos1
352
- current_distance = np.linalg.norm(direction)
353
+ current_distance = calc_distance(pos1, pos2)
353
354
 
354
355
  if current_distance == 0:
355
356
  return