hbat 2.2.10__tar.gz → 2.2.10.dev28__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 (152) hide show
  1. {hbat-2.2.10 → hbat-2.2.10.dev28}/CODE_OF_CONDUCT.md +1 -2
  2. {hbat-2.2.10 → hbat-2.2.10.dev28}/PKG-INFO +4 -1
  3. {hbat-2.2.10 → hbat-2.2.10.dev28}/README.md +3 -0
  4. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/index.rst +7 -0
  5. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/_version.py +2 -2
  6. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/misc.py +5 -5
  7. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/chain_visualization.py +1 -1
  8. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/graphviz_preferences_dialog.py +1 -1
  9. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/main_window.py +26 -24
  10. {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/cleanup-prereleases.yml +0 -0
  11. {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/release.yml +0 -0
  12. {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/test.yml +0 -0
  13. {hbat-2.2.10 → hbat-2.2.10.dev28}/CITATION.cff +0 -0
  14. {hbat-2.2.10 → hbat-2.2.10.dev28}/CONTRIBUTING.md +0 -0
  15. {hbat-2.2.10 → hbat-2.2.10.dev28}/LICENSE +0 -0
  16. {hbat-2.2.10 → hbat-2.2.10.dev28}/MANIFEST.in +0 -0
  17. {hbat-2.2.10 → hbat-2.2.10.dev28}/Makefile +0 -0
  18. {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone.py +0 -0
  19. {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone_linux.py +0 -0
  20. {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone_windows.py +0 -0
  21. {hbat-2.2.10 → hbat-2.2.10.dev28}/conda/meta.yaml +0 -0
  22. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/Makefile +0 -0
  23. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/requirements.txt +0 -0
  24. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/_static/custom.css +0 -0
  25. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/_static/light-theme.css +0 -0
  26. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/ccd_analyzer.rst +0 -0
  27. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/constants_generator.rst +0 -0
  28. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/generate_ccd_constants.rst +0 -0
  29. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/index.rst +0 -0
  30. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/cli/index.rst +0 -0
  31. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/app.rst +0 -0
  32. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/atomic_data.rst +0 -0
  33. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/index.rst +0 -0
  34. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/misc.rst +0 -0
  35. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/parameters.rst +0 -0
  36. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/pdb_constants.rst +0 -0
  37. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/index.rst +0 -0
  38. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/interactions.rst +0 -0
  39. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/np_analyzer.rst +0 -0
  40. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/np_vector.rst +0 -0
  41. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/pdb_fixer.rst +0 -0
  42. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/pdb_parser.rst +0 -0
  43. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/structure.rst +0 -0
  44. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/examples/index.rst +0 -0
  45. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/gui/index.rst +0 -0
  46. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/index.rst +0 -0
  47. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/atom_utils.rst +0 -0
  48. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/graphviz_utils.rst +0 -0
  49. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/index.rst +0 -0
  50. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/cli.rst +0 -0
  51. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/conf.py +0 -0
  52. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/development.rst +0 -0
  53. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/installation.rst +0 -0
  54. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/license.rst +0 -0
  55. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/logic.rst +0 -0
  56. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/parameters.rst +0 -0
  57. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/pdbfixing.rst +0 -0
  58. {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/quickstart.rst +0 -0
  59. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1bhl.pdb +0 -0
  60. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1gai.pdb +0 -0
  61. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1ubi.pdb +0 -0
  62. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/2izf.pdb +0 -0
  63. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4jsv.pdb +0 -0
  64. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4laz.pdb +0 -0
  65. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4ub7.pdb +0 -0
  66. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4x21.pdb +0 -0
  67. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/6rsa.pdb +0 -0
  68. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/drug_design_strict.hbat +0 -0
  69. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/high_resolution.hbat +0 -0
  70. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/low_resolution.hbat +0 -0
  71. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/membrane_proteins.hbat +0 -0
  72. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/nmr_structures.hbat +0 -0
  73. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/standard_resolution.hbat +0 -0
  74. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/strong_interactions_only.hbat +0 -0
  75. {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/weak_interactions_permissive.hbat +0 -0
  76. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/__init__.py +0 -0
  77. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/__init__.py +0 -0
  78. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/ccd_analyzer.py +0 -0
  79. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/constants_generator.py +0 -0
  80. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/generate_ccd_constants.py +0 -0
  81. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/cli/__init__.py +0 -0
  82. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/cli/main.py +0 -0
  83. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/__init__.py +0 -0
  84. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/app.py +0 -0
  85. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/atomic_data.py +0 -0
  86. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/parameters.py +0 -0
  87. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/pdb_constants.py +0 -0
  88. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/residue_bonds.py +0 -0
  89. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/__init__.py +0 -0
  90. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/analysis.py +0 -0
  91. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/analyzer.py +0 -0
  92. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/app_config.py +0 -0
  93. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/atom_classifier.py +0 -0
  94. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/interactions.py +0 -0
  95. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/np_analyzer.py +0 -0
  96. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/np_vector.py +0 -0
  97. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/pdb_fixer.py +0 -0
  98. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/pdb_parser.py +0 -0
  99. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/structure.py +0 -0
  100. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/__init__.py +0 -0
  101. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/export_manager.py +0 -0
  102. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/graphviz_renderer.py +0 -0
  103. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/matplotlib_renderer.py +0 -0
  104. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/parameter_panel.py +0 -0
  105. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/results_panel.py +0 -0
  106. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/visualization_renderer.py +0 -0
  107. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/__init__.py +0 -0
  108. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/atom_utils.py +0 -0
  109. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/graphviz_utils.py +0 -0
  110. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.egg-info/SOURCES.txt +0 -0
  111. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.icns +0 -0
  112. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.ico +0 -0
  113. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.png +0 -0
  114. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.svg +0 -0
  115. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat_cli.py +0 -0
  116. {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat_gui.py +0 -0
  117. {hbat-2.2.10 → hbat-2.2.10.dev28}/pyproject.toml +0 -0
  118. {hbat-2.2.10 → hbat-2.2.10.dev28}/pytest.ini +0 -0
  119. {hbat-2.2.10 → hbat-2.2.10.dev28}/requirements-dev.txt +0 -0
  120. {hbat-2.2.10 → hbat-2.2.10.dev28}/requirements.txt +0 -0
  121. {hbat-2.2.10 → hbat-2.2.10.dev28}/setup.cfg +0 -0
  122. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/README.md +0 -0
  123. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/__init__.py +0 -0
  124. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/cli/__init__.py +0 -0
  125. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/cli/test_cli_main.py +0 -0
  126. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/conftest.py +0 -0
  127. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/__init__.py +0 -0
  128. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_cli_workflows.py +0 -0
  129. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_complete_workflows.py +0 -0
  130. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_graphviz_workflows.py +0 -0
  131. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_gui_workflows.py +0 -0
  132. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/gui/__init__.py +0 -0
  133. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/gui/test_gui_components.py +0 -0
  134. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/__init__.py +0 -0
  135. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_analyzer_components.py +0 -0
  136. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_cli_integration.py +0 -0
  137. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_graphviz_renderer.py +0 -0
  138. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_molecular_validation.py +0 -0
  139. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_pdb_parsing.py +0 -0
  140. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/__init__.py +0 -0
  141. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/test_ccd_performance.py +0 -0
  142. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/test_performance_workflows.py +0 -0
  143. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/run_tests.py +0 -0
  144. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/__init__.py +0 -0
  145. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_cli_parsing.py +0 -0
  146. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_graphviz_utils.py +0 -0
  147. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_gui_components.py +0 -0
  148. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_interactions.py +0 -0
  149. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_parameters.py +0 -0
  150. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_scrollable_canvas.py +0 -0
  151. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_structures.py +0 -0
  152. {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_vector_math.py +0 -0
@@ -60,8 +60,7 @@ representative at an online or offline event.
60
60
 
61
61
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
62
  reported to the community leaders responsible for enforcement at
63
- ``pwessel at hawaii dot edu``, ``leouieda at gmail dot com``, or
64
- ``meghanj at hawaii dot edu``. All complaints will be reviewed and investigated
63
+ ``hbat at abhishek-tiwari dot com``. All complaints will be reviewed and investigated
65
64
  promptly and fairly.
66
65
 
67
66
  All community leaders are obligated to respect the privacy and security of the
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hbat
3
- Version: 2.2.10
3
+ Version: 2.2.10.dev28
4
4
  Summary: Hydrogen Bond Analysis Tool for PDB structures
5
5
  Author-email: Abhishek Tiwari <hbat@abhishek-tiwari.com>
6
6
  License-Expression: MIT
@@ -93,6 +93,7 @@ A Python package to automate the analysis of potential hydrogen bonds and simila
93
93
 
94
94
  HBAT v2 is a modern Python re-implementation of the original Perl-based tool developed by [Abhishek Tiwari](https://www.abhishek-tiwari.com) and Sunil Kumar Panigrahi.
95
95
 
96
+ ![HBAT GUI](https://static.abhishek-tiwari.com/hbat/hbat-window-v1.png)
96
97
 
97
98
  ## Features
98
99
 
@@ -109,6 +110,8 @@ HBAT v2 is a modern Python re-implementation of the original Perl-based tool de
109
110
 
110
111
  Please review [HBAT documentation](https://hbat.abhishek-tiwari.com/) for more details.
111
112
 
113
+ ![Cooperativity chain visualization](https://static.abhishek-tiwari.com/hbat/6rsa-pdb-chain-6.png)
114
+
112
115
  ### Supported Interactions
113
116
 
114
117
  1. **Hydrogen Bonds**: O-H...O, N-H...O, N-H...N, and other X-H...Y interactions
@@ -25,6 +25,7 @@ A Python package to automate the analysis of potential hydrogen bonds and simila
25
25
 
26
26
  HBAT v2 is a modern Python re-implementation of the original Perl-based tool developed by [Abhishek Tiwari](https://www.abhishek-tiwari.com) and Sunil Kumar Panigrahi.
27
27
 
28
+ ![HBAT GUI](https://static.abhishek-tiwari.com/hbat/hbat-window-v1.png)
28
29
 
29
30
  ## Features
30
31
 
@@ -41,6 +42,8 @@ HBAT v2 is a modern Python re-implementation of the original Perl-based tool de
41
42
 
42
43
  Please review [HBAT documentation](https://hbat.abhishek-tiwari.com/) for more details.
43
44
 
45
+ ![Cooperativity chain visualization](https://static.abhishek-tiwari.com/hbat/6rsa-pdb-chain-6.png)
46
+
44
47
  ### Supported Interactions
45
48
 
46
49
  1. **Hydrogen Bonds**: O-H...O, N-H...O, N-H...N, and other X-H...Y interactions
@@ -73,6 +73,10 @@ Welcome to HBAT (Hydrogen Bond Analysis Tool) documentation!
73
73
 
74
74
  A Python package to automate the analysis of potential hydrogen bonds and similar type of weak interactions like halogen bonds and non-canonical interactions in macromolecular structures, available in Brookhaven Protein Database (PDB) file format. HBAT uses a geometric approach to identify potential hydrogen bonds by analyzing distance and angular criteria between donor-hydrogen-acceptor triplets.
75
75
 
76
+ .. image:: https://static.abhishek-tiwari.com/hbat/hbat-window-v1.png
77
+ :alt: HBAT GUI
78
+ :align: center
79
+
76
80
  .. toctree::
77
81
  :maxdepth: 1
78
82
  :caption: User Guide
@@ -141,6 +145,9 @@ Features
141
145
  - **GUI Interface**: User-friendly graphical interface for interactive analysis
142
146
  - **Command Line Tool**: Scriptable CLI for batch processing and automation
143
147
 
148
+ .. image:: https://static.abhishek-tiwari.com/hbat/6rsa-pdb-chain-6.png
149
+ :alt: Cooperativity chain visualization
150
+ :align: center
144
151
 
145
152
  Cite HBAT
146
153
  ---------
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.2.10'
21
- __version_tuple__ = version_tuple = (2, 2, 10)
20
+ __version__ = version = '2.2.10.dev28'
21
+ __version_tuple__ = version_tuple = (2, 2, 10, 'dev28')
@@ -9,11 +9,11 @@ from .app import APP_VERSION
9
9
  class GUIDefaults:
10
10
  """Default values for GUI interface."""
11
11
 
12
- # Window settings
13
- WINDOW_WIDTH = 1800
14
- WINDOW_HEIGHT = 900
15
- MIN_WINDOW_WIDTH = 1200
16
- MIN_WINDOW_HEIGHT = 800
12
+ # Window settings - optimized for standard displays (1366x768, 1920x1080)
13
+ WINDOW_WIDTH = 1280
14
+ WINDOW_HEIGHT = 720
15
+ MIN_WINDOW_WIDTH = 1024
16
+ MIN_WINDOW_HEIGHT = 680
17
17
 
18
18
  # Layout settings
19
19
  LEFT_PANEL_WIDTH = 400 # Initial pane position
@@ -77,7 +77,7 @@ class ChainVisualizationWindow:
77
77
  """Create the visualization window."""
78
78
  self.viz_window = tk.Toplevel(self.parent)
79
79
  self.viz_window.title(f"Cooperativity Chain Visualization - {self.chain_id}")
80
- self.viz_window.geometry("1000x1000")
80
+ self.viz_window.geometry("900x700")
81
81
 
82
82
  # Create main container frames
83
83
  main_frame = ttk.Frame(self.viz_window)
@@ -89,7 +89,7 @@ class GraphVizPreferencesDialog:
89
89
  """Create the preferences dialog window."""
90
90
  self.dialog = tk.Toplevel(self.parent)
91
91
  self.dialog.title("GraphViz Preferences")
92
- self.dialog.geometry("600x500")
92
+ self.dialog.geometry("550x450")
93
93
  self.dialog.resizable(False, False)
94
94
  self.dialog.grab_set() # Make dialog modal
95
95
 
@@ -179,27 +179,27 @@ class MainWindow:
179
179
  def _create_main_content(self) -> None:
180
180
  """Create the main content area.
181
181
 
182
- Sets up the main interface with a paned window containing file content,
183
- parameter panels, and results display areas.
182
+ Sets up the main interface with a vertical paned window containing PDB file
183
+ content on top (30%) and results display area below (70%).
184
184
 
185
185
  :returns: None
186
186
  :rtype: None
187
187
  """
188
- # Create main paned window
189
- main_paned = ttk.PanedWindow(self.root, orient=tk.HORIZONTAL)
188
+ # Create main paned window with vertical orientation
189
+ main_paned = ttk.PanedWindow(self.root, orient=tk.VERTICAL)
190
190
  main_paned.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
191
191
 
192
- # Left panel - File content and parameters
193
- left_frame = ttk.Frame(main_paned)
194
- main_paned.add(left_frame, weight=1)
192
+ # Top panel - PDB File content (30% of height)
193
+ top_frame = ttk.Frame(main_paned)
194
+ main_paned.add(top_frame, weight=3) # 30% weight ratio
195
195
 
196
- # Create notebook for left panel
197
- left_notebook = ttk.Notebook(left_frame)
198
- left_notebook.pack(fill=tk.BOTH, expand=True)
196
+ # Create notebook for PDB file tabs
197
+ self.left_notebook = ttk.Notebook(top_frame)
198
+ self.left_notebook.pack(fill=tk.BOTH, expand=True)
199
199
 
200
200
  # File content tab
201
- file_frame = ttk.Frame(left_notebook)
202
- left_notebook.add(file_frame, text="PDB File")
201
+ file_frame = ttk.Frame(self.left_notebook)
202
+ self.left_notebook.add(file_frame, text="PDB File")
203
203
 
204
204
  # Create text widget with both vertical and horizontal scrollbars
205
205
  text_frame = ttk.Frame(file_frame)
@@ -224,8 +224,8 @@ class MainWindow:
224
224
  text_frame.grid_columnconfigure(0, weight=1)
225
225
 
226
226
  # Fixed PDB content tab
227
- fixed_file_frame = ttk.Frame(left_notebook)
228
- left_notebook.add(fixed_file_frame, text="Fixed PDB")
227
+ fixed_file_frame = ttk.Frame(self.left_notebook)
228
+ self.left_notebook.add(fixed_file_frame, text="Fixed PDB")
229
229
 
230
230
  # Create text widget with both vertical and horizontal scrollbars
231
231
  fixed_text_frame = ttk.Frame(fixed_file_frame)
@@ -254,22 +254,24 @@ class MainWindow:
254
254
  # Add context menu for Fixed PDB tab
255
255
  self._create_fixed_pdb_context_menu()
256
256
 
257
- # Store reference to the notebook for later updates
258
- self.left_notebook = left_notebook
259
-
260
257
  # Store parameters separately (no longer in tab)
261
258
  self.parameter_panel = None
262
259
  self.parameters_window = None
263
260
  self.session_parameters = None # Store parameters for session persistence
264
261
 
265
- # Right panel - Results
266
- right_frame = ttk.Frame(main_paned)
267
- main_paned.add(right_frame, weight=2)
262
+ # Bottom panel - Results (70% of height)
263
+ bottom_frame = ttk.Frame(main_paned)
264
+ main_paned.add(bottom_frame, weight=7) # 70% weight ratio
268
265
 
269
- self.results_panel = ResultsPanel(right_frame)
266
+ self.results_panel = ResultsPanel(bottom_frame)
270
267
 
271
- # Set initial pane positions
272
- main_paned.sashpos(0, GUIDefaults.LEFT_PANEL_WIDTH)
268
+ # Set initial pane positions (30% for top, 70% for bottom)
269
+ # Position the sash at 30% of the total height
270
+ main_paned.update_idletasks() # Ensure the window is rendered
271
+ total_height = self.root.winfo_height() - 60 # Account for padding and menu
272
+ if total_height > 0:
273
+ sash_position = int(total_height * 0.3)
274
+ main_paned.sashpos(0, sash_position)
273
275
 
274
276
  def _create_status_bar(self) -> None:
275
277
  """Create the status bar.
@@ -1138,7 +1140,7 @@ Author: Abhishek Tiwari
1138
1140
  # Create new parameters window
1139
1141
  self.parameters_window = tk.Toplevel(self.root)
1140
1142
  self.parameters_window.title("Analysis Parameters")
1141
- self.parameters_window.geometry("800x800")
1143
+ self.parameters_window.geometry("700x600")
1142
1144
  self.parameters_window.resizable(True, True)
1143
1145
 
1144
1146
  # Create parameter panel in popup window
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes