chemparseplot 1.9.2__tar.gz → 1.9.4__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.
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/PKG-INFO +1 -1
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/_version.py +2 -2
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/neb.py +85 -11
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/.gitignore +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/LICENSE +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/chemgp_hdf5.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/chemgp_jsonl.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/converter.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/_trajectory_common.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/con_io.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/dimer_trajectory.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/gprd.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/min_trajectory.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/minimization.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/neb.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/saddle_search.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/eon/stitch.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/file_.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/neb_utils.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/orca/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/orca/geomscan.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/orca/neb/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/orca/neb/interp.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/orca/neb/opi_parser.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/patterns.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/plumed.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/projection.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/sella/saddle_search.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/trajectory/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/trajectory/hdf5.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/trajectory/neb.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/parse/types.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/chemgp.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/geomscan.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/optimization.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/plumed.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/structs.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/plot/theme.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/units.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/chemparseplot/util.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/pyproject.toml +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/readme.md +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/_optional_imports.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/conftest.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/_con_fixtures.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/orca/test_geomscan.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/orca/test_interp.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_chemgp_hdf5.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_chemgp_jsonl_types.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_con_io.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_converter.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_dimer_trajectory.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_eon_neb_types.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_eon_trajectory_common.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_min_trajectory.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_minimization_result.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_neb_stitch.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_neb_utils.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_parser_types.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_patterns.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_plumed.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_projection.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_readcon_boundary.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_saddle_results.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_sella_saddle.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_trajectory_hdf5.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/parse/test_trajectory_neb.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/__init__.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_chemgp_utils.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_neb_helpers.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_neb_renderers.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_optimization.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_orca_neb_payload.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_projection_refactor.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_strip_rendering.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/plot/test_structs_units.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/test_coverage_batch.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/test_full_coverage.py +0 -0
- {chemparseplot-1.9.2 → chemparseplot-1.9.4}/tests/tutorials/test_chemparseplot.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chemparseplot
|
|
3
|
-
Version: 1.9.
|
|
3
|
+
Version: 1.9.4
|
|
4
4
|
Summary: Parsers and plotting tools for computational chemistry
|
|
5
5
|
Project-URL: Documentation, https://chemparseplot.rgoswami.me
|
|
6
6
|
Project-URL: Issues, https://github.com/HaoZeke/chemparseplot/issues
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.9.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 9,
|
|
21
|
+
__version__ = version = '1.9.4'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 9, 4)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -1362,8 +1362,12 @@ def plot_landscape_path_overlay(
|
|
|
1362
1362
|
)
|
|
1363
1363
|
|
|
1364
1364
|
cb = ax.figure.colorbar(
|
|
1365
|
-
plt.cm.ScalarMappable(norm=norm, cmap=colormap),
|
|
1365
|
+
plt.cm.ScalarMappable(norm=norm, cmap=colormap),
|
|
1366
|
+
ax=ax,
|
|
1367
|
+
fraction=0.046,
|
|
1368
|
+
pad=0.02,
|
|
1366
1369
|
)
|
|
1370
|
+
cb.set_label(z_label, rotation=270, labelpad=16)
|
|
1367
1371
|
return cb
|
|
1368
1372
|
|
|
1369
1373
|
|
|
@@ -1577,18 +1581,86 @@ def landscape_projection_basis(global_basis, final_r, final_p):
|
|
|
1577
1581
|
return compute_projection_basis(final_r, final_p)
|
|
1578
1582
|
|
|
1579
1583
|
|
|
1580
|
-
def landscape_half_span(
|
|
1581
|
-
|
|
1584
|
+
def landscape_half_span(
|
|
1585
|
+
x_limits,
|
|
1586
|
+
final_r,
|
|
1587
|
+
final_p,
|
|
1588
|
+
additional_atoms_data,
|
|
1589
|
+
global_basis,
|
|
1590
|
+
*,
|
|
1591
|
+
path_pad: float = 1.15,
|
|
1592
|
+
min_half: float = 0.02,
|
|
1593
|
+
):
|
|
1594
|
+
"""Symmetric |d| half-span from the path (and optional overlays), not s/2.
|
|
1582
1595
|
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1596
|
+
Using the reaction-progress half-width as the default forced a near-square
|
|
1597
|
+
frame and large empty bands above/below paths that stay near ``d=0``.
|
|
1598
|
+
"""
|
|
1586
1599
|
|
|
1587
1600
|
basis = landscape_projection_basis(global_basis, final_r, final_p)
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1601
|
+
_s, _d = project_to_sd(np.asarray(final_r), np.asarray(final_p), basis)
|
|
1602
|
+
half_span = max(abs(float(_d.max())), abs(float(_d.min())), min_half) * path_pad
|
|
1603
|
+
for overlay in additional_atoms_data or []:
|
|
1604
|
+
_, add_d = project_to_sd(
|
|
1605
|
+
np.array([overlay.r]), np.array([overlay.p]), basis
|
|
1606
|
+
)
|
|
1607
|
+
half_span = max(half_span, abs(float(add_d[0])) * path_pad)
|
|
1608
|
+
# Tiny floor only (absolute), never a fraction of s — that reintroduced the
|
|
1609
|
+
# empty top/bottom bands on near-linear paths.
|
|
1610
|
+
del x_limits # reserved for future asymmetric s handling
|
|
1611
|
+
return max(half_span, min_half)
|
|
1612
|
+
|
|
1613
|
+
|
|
1614
|
+
def mark_saddle_point(
|
|
1615
|
+
ax,
|
|
1616
|
+
x,
|
|
1617
|
+
y,
|
|
1618
|
+
*,
|
|
1619
|
+
label: str = "SP",
|
|
1620
|
+
font_size: float = 12.0,
|
|
1621
|
+
vline: bool = False,
|
|
1622
|
+
annotate: bool = True,
|
|
1623
|
+
):
|
|
1624
|
+
"""Draw a high-contrast saddle marker (gold star) on a profile or landscape."""
|
|
1625
|
+
|
|
1626
|
+
ax.scatter(
|
|
1627
|
+
float(x),
|
|
1628
|
+
float(y),
|
|
1629
|
+
marker="*",
|
|
1630
|
+
s=max(280, int(font_size**2 * 3.2)),
|
|
1631
|
+
c="#FFD700",
|
|
1632
|
+
edgecolors="black",
|
|
1633
|
+
linewidths=1.8,
|
|
1634
|
+
zorder=100,
|
|
1635
|
+
label=label,
|
|
1636
|
+
)
|
|
1637
|
+
if vline:
|
|
1638
|
+
ax.axvline(
|
|
1639
|
+
float(x),
|
|
1640
|
+
color="black",
|
|
1641
|
+
linestyle="--",
|
|
1642
|
+
linewidth=1.4,
|
|
1643
|
+
alpha=0.75,
|
|
1644
|
+
zorder=50,
|
|
1645
|
+
)
|
|
1646
|
+
if annotate:
|
|
1647
|
+
ax.annotate(
|
|
1648
|
+
label,
|
|
1649
|
+
xy=(float(x), float(y)),
|
|
1650
|
+
xytext=(10, 14),
|
|
1651
|
+
textcoords="offset points",
|
|
1652
|
+
fontsize=int(font_size * 1.05),
|
|
1653
|
+
fontweight="bold",
|
|
1654
|
+
color="black",
|
|
1655
|
+
zorder=101,
|
|
1656
|
+
bbox={
|
|
1657
|
+
"boxstyle": "round,pad=0.2",
|
|
1658
|
+
"facecolor": "white",
|
|
1659
|
+
"edgecolor": "black",
|
|
1660
|
+
"linewidth": 0.8,
|
|
1661
|
+
"alpha": 0.92,
|
|
1662
|
+
},
|
|
1663
|
+
)
|
|
1592
1664
|
|
|
1593
1665
|
|
|
1594
1666
|
def save_plot(output_file, dpi, *, has_strip):
|
|
@@ -1603,7 +1675,9 @@ def save_plot(output_file, dpi, *, has_strip):
|
|
|
1603
1675
|
transparent=False,
|
|
1604
1676
|
dpi=dpi,
|
|
1605
1677
|
bbox_inches="tight",
|
|
1606
|
-
|
|
1678
|
+
# Enough pad for vertical axis labels / colorbar titles on equal-aspect
|
|
1679
|
+
# (s,d) landscapes; still crops large empty canvas from the figure.
|
|
1680
|
+
pad_inches=0.25,
|
|
1607
1681
|
)
|
|
1608
1682
|
|
|
1609
1683
|
|
|
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
|