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.
- {hbat-2.2.10 → hbat-2.2.10.dev28}/CODE_OF_CONDUCT.md +1 -2
- {hbat-2.2.10 → hbat-2.2.10.dev28}/PKG-INFO +4 -1
- {hbat-2.2.10 → hbat-2.2.10.dev28}/README.md +3 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/index.rst +7 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/_version.py +2 -2
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/misc.py +5 -5
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/chain_visualization.py +1 -1
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/graphviz_preferences_dialog.py +1 -1
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/main_window.py +26 -24
- {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/cleanup-prereleases.yml +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/release.yml +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/.github/workflows/test.yml +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/CITATION.cff +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/CONTRIBUTING.md +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/LICENSE +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/MANIFEST.in +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/Makefile +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone_linux.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/build_standalone_windows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/conda/meta.yaml +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/Makefile +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/requirements.txt +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/_static/custom.css +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/_static/light-theme.css +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/ccd_analyzer.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/constants_generator.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/generate_ccd_constants.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/ccd/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/cli/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/app.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/atomic_data.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/misc.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/parameters.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/constants/pdb_constants.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/interactions.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/np_analyzer.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/np_vector.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/pdb_fixer.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/pdb_parser.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/core/structure.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/examples/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/gui/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/atom_utils.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/graphviz_utils.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/api/utilities/index.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/cli.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/conf.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/development.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/installation.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/license.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/logic.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/parameters.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/pdbfixing.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/docs/source/quickstart.rst +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1bhl.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1gai.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/1ubi.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/2izf.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4jsv.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4laz.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4ub7.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/4x21.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_pdb_files/6rsa.pdb +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/drug_design_strict.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/high_resolution.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/low_resolution.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/membrane_proteins.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/nmr_structures.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/standard_resolution.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/strong_interactions_only.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/example_presets/weak_interactions_permissive.hbat +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/ccd_analyzer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/constants_generator.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/ccd/generate_ccd_constants.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/cli/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/cli/main.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/app.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/atomic_data.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/parameters.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/pdb_constants.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/constants/residue_bonds.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/analysis.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/analyzer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/app_config.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/atom_classifier.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/interactions.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/np_analyzer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/np_vector.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/pdb_fixer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/pdb_parser.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/core/structure.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/export_manager.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/graphviz_renderer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/matplotlib_renderer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/parameter_panel.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/results_panel.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/gui/visualization_renderer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/atom_utils.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat/utilities/graphviz_utils.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.egg-info/SOURCES.txt +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.icns +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.ico +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.png +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat.svg +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat_cli.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/hbat_gui.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/pyproject.toml +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/pytest.ini +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/requirements-dev.txt +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/requirements.txt +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/setup.cfg +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/README.md +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/cli/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/cli/test_cli_main.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/conftest.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_cli_workflows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_complete_workflows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_graphviz_workflows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/e2e/test_gui_workflows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/gui/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/gui/test_gui_components.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_analyzer_components.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_cli_integration.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_graphviz_renderer.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_molecular_validation.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/integration/test_pdb_parsing.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/test_ccd_performance.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/performance/test_performance_workflows.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/run_tests.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/__init__.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_cli_parsing.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_graphviz_utils.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_gui_components.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_interactions.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_parameters.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_scrollable_canvas.py +0 -0
- {hbat-2.2.10 → hbat-2.2.10.dev28}/tests/unit/test_structures.py +0 -0
- {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
|
-
``
|
|
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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
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
|
+

|
|
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 =
|
|
14
|
-
WINDOW_HEIGHT =
|
|
15
|
-
MIN_WINDOW_WIDTH =
|
|
16
|
-
MIN_WINDOW_HEIGHT =
|
|
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("
|
|
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("
|
|
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
|
|
183
|
-
|
|
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.
|
|
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
|
-
#
|
|
193
|
-
|
|
194
|
-
main_paned.add(
|
|
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
|
|
197
|
-
left_notebook = ttk.Notebook(
|
|
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
|
-
#
|
|
266
|
-
|
|
267
|
-
main_paned.add(
|
|
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(
|
|
266
|
+
self.results_panel = ResultsPanel(bottom_frame)
|
|
270
267
|
|
|
271
|
-
# Set initial pane positions
|
|
272
|
-
|
|
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("
|
|
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
|
|
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
|
|
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
|
|
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
|