westpa 2022.4__tar.gz → 2022.6__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.
Potentially problematic release.
This version of westpa might be problematic. Click here for more details.
- {westpa-2022.4/src/westpa.egg-info → westpa-2022.6}/PKG-INFO +34 -15
- {westpa-2022.4 → westpa-2022.6}/README.rst +8 -12
- {westpa-2022.4 → westpa-2022.6}/pyproject.toml +2 -1
- {westpa-2022.4 → westpa-2022.6}/setup.py +3 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/_version.py +4 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_fork.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_init.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_run.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_states.py +0 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_succ.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_truncate.py +11 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_assign.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_bins.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_dumpsegs.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_eddist.py +0 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_ipa.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_multi_west.py +20 -3
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_pdist.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_red.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/_rc.py +31 -26
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/_assign.c +27810 -20890
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/assign.py +2 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless_driver.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless_manager.py +25 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab.py +26 -7
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab_driver.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab_manager.py +25 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/data_manager.py +12 -12
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/h5io.py +1 -5
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/_kinetics.c +35722 -27210
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/propagators/__init__.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/propagators/executable.py +2 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/_reweight.c +28972 -21548
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/sim_manager.py +3 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/trajectory.py +9 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/we_driver.py +8 -8
- {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/_fasthist.c +28800 -23004
- {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/_mclib.c +24591 -18028
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/binning.py +2 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/data_reader.py +3 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/kinetics.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/trajwalker.py +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/transitions.py +1 -3
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/cmds/w_ttimes.py +2 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/binning.py +1 -4
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/kinetics_tool.py +0 -3
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/selected_segs.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/_trajtree.c +12239 -7193
- {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/trajtree.py +0 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/adaptvoronoi/adaptVor_driver.py +0 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/example_overrides.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/restart_driver.py +1 -18
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/string_driver.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/string_method.py +0 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/weed_driver.py +2 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/ProbAdjust.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/wess_driver.py +2 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/environment.py +0 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/mpi.py +0 -7
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/core.py +1 -5
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/work_manager.py +1 -2
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/worker.py +0 -1
- {westpa-2022.4 → westpa-2022.6/src/westpa.egg-info}/PKG-INFO +34 -15
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/SOURCES.txt +8 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/requires.txt +9 -2
- westpa-2022.6/tests/test_binning.py +326 -0
- westpa-2022.6/tests/test_data_manager.py +53 -0
- westpa-2022.6/tests/test_kinetics.py +240 -0
- westpa-2022.6/tests/test_loaders.py +38 -0
- westpa-2022.6/tests/test_sim_manager.py +274 -0
- westpa-2022.6/tests/test_we_driver.py +255 -0
- westpa-2022.6/tests/test_yamlfe.py +108 -0
- {westpa-2022.4 → westpa-2022.6}/versioneer.py +174 -102
- {westpa-2022.4 → westpa-2022.6}/AUTHORS +0 -0
- {westpa-2022.4 → westpa-2022.6}/LICENSE +0 -0
- {westpa-2022.4 → westpa-2022.6}/MANIFEST.in +0 -0
- {westpa-2022.4 → westpa-2022.6}/setup.cfg +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/core.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/statistics.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/trajectories.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/ploterr.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/plothist.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_crawl.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_direct.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_fluxanl.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_kinavg.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_kinetics.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_ntop.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_postanalysis_matrix.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_postanalysis_reweight.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_reweight.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_select.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_stateprobs.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_trace.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/_assign.pyx +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/bins.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/extloader.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/_kinetics.pyx +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/events.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/matrates.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/rate_averaging.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/progress.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/_reweight.pyx +1 -1
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/matrix.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/segment.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/states.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/systems.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/textio.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/wm_ops.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/core/yamlcfg.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/__main__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/_fasthist.pyx +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/__main__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/_mclib.pyx +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/atool.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/base_mixin.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/iter_range.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/mcbs.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/output.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/plotting.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/cmds/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/files.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/miscfn.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/accumulator.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/edfs.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/mcbs.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/core.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/data_reader.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/dtypes.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/iter_range.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/plot.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/progress.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/wipi.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/_trajtree.pyx +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/adaptvoronoi/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/fourier_fitting.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/BinCluster.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/ProbAdjustEquil.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/UncertMath.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/core.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/processes.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/serial.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/threads.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/__init__.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/node.py +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/dependency_links.txt +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/entry_points.txt +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/not-zip-safe +0 -0
- {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: westpa
|
|
3
|
-
Version: 2022.
|
|
3
|
+
Version: 2022.6
|
|
4
4
|
Home-page: http://github.com/westpa/westpa
|
|
5
5
|
License: MIT
|
|
6
6
|
Classifier: Development Status :: 5 - Production/Stable
|
|
@@ -12,17 +12,40 @@ Classifier: Programming Language :: Python
|
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
13
|
Classifier: Programming Language :: Cython
|
|
14
14
|
Requires-Python: >=3.6
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
License-File: AUTHORS
|
|
17
|
+
Requires-Dist: numpy>=1.16.0
|
|
18
|
+
Requires-Dist: scipy>=0.19.1
|
|
19
|
+
Requires-Dist: h5py>=2.10
|
|
20
|
+
Requires-Dist: mdtraj>=1.9.5
|
|
21
|
+
Requires-Dist: pyyaml
|
|
22
|
+
Requires-Dist: pyzmq
|
|
23
|
+
Requires-Dist: matplotlib
|
|
24
|
+
Requires-Dist: blessings
|
|
25
|
+
Requires-Dist: ipykernel
|
|
26
|
+
Requires-Dist: tqdm
|
|
27
|
+
Requires-Dist: pandas
|
|
28
|
+
Requires-Dist: tables<3.9; python_version < "3.9"
|
|
29
|
+
Requires-Dist: tables; python_version >= "3.9"
|
|
15
30
|
Provides-Extra: tests
|
|
31
|
+
Requires-Dist: pytest; extra == "tests"
|
|
32
|
+
Requires-Dist: pytest-cov; extra == "tests"
|
|
33
|
+
Requires-Dist: pytest-rerunfailures; extra == "tests"
|
|
34
|
+
Requires-Dist: pytest-timeout; extra == "tests"
|
|
16
35
|
Provides-Extra: mpi
|
|
36
|
+
Requires-Dist: mpi4py; extra == "mpi"
|
|
17
37
|
Provides-Extra: dev
|
|
18
|
-
|
|
19
|
-
|
|
38
|
+
Requires-Dist: pytest; extra == "dev"
|
|
39
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
40
|
+
Requires-Dist: pytest-rerunfailures; extra == "dev"
|
|
41
|
+
Requires-Dist: pytest-timeout; extra == "dev"
|
|
42
|
+
Requires-Dist: pre-commit; extra == "dev"
|
|
20
43
|
|
|
21
44
|
===============
|
|
22
45
|
WESTPA 2.0
|
|
23
46
|
===============
|
|
24
47
|
|
|
25
|
-
|ghactions| |anaconda| |
|
|
48
|
+
|ghactions| |anaconda| |tutorial|
|
|
26
49
|
|
|
27
50
|
|docs| |usersgroup| |develgroup|
|
|
28
51
|
|
|
@@ -34,14 +57,10 @@ WESTPA 2.0
|
|
|
34
57
|
:target: https://westpa.readthedocs.io/en/latest/?badge=latest
|
|
35
58
|
:alt: Documentation Status
|
|
36
59
|
|
|
37
|
-
.. |
|
|
38
|
-
:target: https://github.com/westpa/
|
|
60
|
+
.. |tutorial| image:: https://img.shields.io/badge/WESTPA-tutorials-blueviolet.svg
|
|
61
|
+
:target: https://github.com/westpa/tutorials
|
|
39
62
|
:alt: WESTPA Tutorials GitHub
|
|
40
63
|
|
|
41
|
-
.. |tutorial2| image:: https://img.shields.io/badge/WESTPA2-tutorials-blueviolet.svg
|
|
42
|
-
:target: https://github.com/westpa/westpa2_tutorials
|
|
43
|
-
:alt: WESTPA 2.0 Tutorials GitHub
|
|
44
|
-
|
|
45
64
|
.. |usersgroup| image:: https://img.shields.io/badge/Google%20Group-Users-lightgrey.svg
|
|
46
65
|
:target: http://groups.google.com/group/westpa-users
|
|
47
66
|
:alt: Users Google Group
|
|
@@ -80,7 +99,7 @@ WESTPA is free software, licensed under the terms of the MIT License. See the fi
|
|
|
80
99
|
|
|
81
100
|
.. _survey: https://docs.google.com/forms/d/e/1FAIpQLSfWaB2aryInU06cXrCyAFmhD_gPibgOfFk-dspLEsXuS9-RGQ/viewform
|
|
82
101
|
.. _page: https://westpa.github.io/westpa/overview.html
|
|
83
|
-
.. _powerpoint: https://
|
|
102
|
+
.. _powerpoint: https://docs.google.com/presentation/d/1PKsklN5aYLlLSTDOLdNGti6pcGs4Rgxm/edit?usp=sharing&ouid=117278498028744119802&rtpof=true&sd=true
|
|
84
103
|
|
|
85
104
|
------------
|
|
86
105
|
Requirements
|
|
@@ -88,7 +107,7 @@ Requirements
|
|
|
88
107
|
|
|
89
108
|
WESTPA is written in Python and requires version 3.7 or later. WESTPA also requires a number of Python scientific software packages.
|
|
90
109
|
The simplest way to meet these requirements is to download the
|
|
91
|
-
Anaconda Python distribution from www.
|
|
110
|
+
Anaconda Python distribution from www.anaconda.com (free for all users).
|
|
92
111
|
|
|
93
112
|
WESTPA currently runs on Unix-like operating systems, including Linux and
|
|
94
113
|
Mac OS X. It is developed and tested on x86_64 machines running Linux.
|
|
@@ -124,7 +143,7 @@ To install from source (**not recommended**), start by downloading the correspon
|
|
|
124
143
|
|
|
125
144
|
.. _`releases page`: https://github.com/westpa/westpa/releases
|
|
126
145
|
.. _`Anaconda Python distribution`: https://www.anaconda.com/products/individual
|
|
127
|
-
.. _`wiki`: https://github.com/westpa/westpa/wiki/WESTPA-Quick-
|
|
146
|
+
.. _`wiki`: https://github.com/westpa/westpa/wiki/WESTPA-Quick-Install
|
|
128
147
|
|
|
129
148
|
---------------
|
|
130
149
|
Getting started
|
|
@@ -155,8 +174,8 @@ if a question one has was previously addressed). This is the preferred means
|
|
|
155
174
|
for obtaining help and support. See http://groups.google.com/group/westpa-users
|
|
156
175
|
to sign up or search archived messages.
|
|
157
176
|
|
|
158
|
-
.. _FAQ: https://
|
|
159
|
-
|
|
177
|
+
.. _FAQ: https://github.com/westpa/westpa/wiki/Frequently-Asked-Questions
|
|
178
|
+
|
|
160
179
|
----------
|
|
161
180
|
Developers
|
|
162
181
|
----------
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
WESTPA 2.0
|
|
3
3
|
===============
|
|
4
4
|
|
|
5
|
-
|ghactions| |anaconda| |
|
|
5
|
+
|ghactions| |anaconda| |tutorial|
|
|
6
6
|
|
|
7
7
|
|docs| |usersgroup| |develgroup|
|
|
8
8
|
|
|
@@ -14,14 +14,10 @@ WESTPA 2.0
|
|
|
14
14
|
:target: https://westpa.readthedocs.io/en/latest/?badge=latest
|
|
15
15
|
:alt: Documentation Status
|
|
16
16
|
|
|
17
|
-
.. |
|
|
18
|
-
:target: https://github.com/westpa/
|
|
17
|
+
.. |tutorial| image:: https://img.shields.io/badge/WESTPA-tutorials-blueviolet.svg
|
|
18
|
+
:target: https://github.com/westpa/tutorials
|
|
19
19
|
:alt: WESTPA Tutorials GitHub
|
|
20
20
|
|
|
21
|
-
.. |tutorial2| image:: https://img.shields.io/badge/WESTPA2-tutorials-blueviolet.svg
|
|
22
|
-
:target: https://github.com/westpa/westpa2_tutorials
|
|
23
|
-
:alt: WESTPA 2.0 Tutorials GitHub
|
|
24
|
-
|
|
25
21
|
.. |usersgroup| image:: https://img.shields.io/badge/Google%20Group-Users-lightgrey.svg
|
|
26
22
|
:target: http://groups.google.com/group/westpa-users
|
|
27
23
|
:alt: Users Google Group
|
|
@@ -60,7 +56,7 @@ WESTPA is free software, licensed under the terms of the MIT License. See the fi
|
|
|
60
56
|
|
|
61
57
|
.. _survey: https://docs.google.com/forms/d/e/1FAIpQLSfWaB2aryInU06cXrCyAFmhD_gPibgOfFk-dspLEsXuS9-RGQ/viewform
|
|
62
58
|
.. _page: https://westpa.github.io/westpa/overview.html
|
|
63
|
-
.. _powerpoint: https://
|
|
59
|
+
.. _powerpoint: https://docs.google.com/presentation/d/1PKsklN5aYLlLSTDOLdNGti6pcGs4Rgxm/edit?usp=sharing&ouid=117278498028744119802&rtpof=true&sd=true
|
|
64
60
|
|
|
65
61
|
------------
|
|
66
62
|
Requirements
|
|
@@ -68,7 +64,7 @@ Requirements
|
|
|
68
64
|
|
|
69
65
|
WESTPA is written in Python and requires version 3.7 or later. WESTPA also requires a number of Python scientific software packages.
|
|
70
66
|
The simplest way to meet these requirements is to download the
|
|
71
|
-
Anaconda Python distribution from www.
|
|
67
|
+
Anaconda Python distribution from www.anaconda.com (free for all users).
|
|
72
68
|
|
|
73
69
|
WESTPA currently runs on Unix-like operating systems, including Linux and
|
|
74
70
|
Mac OS X. It is developed and tested on x86_64 machines running Linux.
|
|
@@ -104,7 +100,7 @@ To install from source (**not recommended**), start by downloading the correspon
|
|
|
104
100
|
|
|
105
101
|
.. _`releases page`: https://github.com/westpa/westpa/releases
|
|
106
102
|
.. _`Anaconda Python distribution`: https://www.anaconda.com/products/individual
|
|
107
|
-
.. _`wiki`: https://github.com/westpa/westpa/wiki/WESTPA-Quick-
|
|
103
|
+
.. _`wiki`: https://github.com/westpa/westpa/wiki/WESTPA-Quick-Install
|
|
108
104
|
|
|
109
105
|
---------------
|
|
110
106
|
Getting started
|
|
@@ -135,8 +131,8 @@ if a question one has was previously addressed). This is the preferred means
|
|
|
135
131
|
for obtaining help and support. See http://groups.google.com/group/westpa-users
|
|
136
132
|
to sign up or search archived messages.
|
|
137
133
|
|
|
138
|
-
.. _FAQ: https://
|
|
139
|
-
|
|
134
|
+
.. _FAQ: https://github.com/westpa/westpa/wiki/Frequently-Asked-Questions
|
|
135
|
+
|
|
140
136
|
----------
|
|
141
137
|
Developers
|
|
142
138
|
----------
|
|
@@ -5,7 +5,8 @@ build-backend = 'setuptools.build_meta:__legacy__'
|
|
|
5
5
|
requires = [
|
|
6
6
|
"setuptools>=40.8.0",
|
|
7
7
|
"wheel",
|
|
8
|
-
"Cython>=0.29.16", # Note: sync with setup.py
|
|
8
|
+
"Cython>=0.29.16; python_version >='3.10'", # Note: sync with setup.py
|
|
9
|
+
"Cython<3.0.3, >=0.29.16; python_version < '3.10'",
|
|
9
10
|
"oldest-supported-numpy",
|
|
10
11
|
"scipy>=0.19.1",
|
|
11
12
|
"versioneer-518"
|
|
@@ -120,11 +120,12 @@ INSTALL_REQUIRES = [
|
|
|
120
120
|
"ipykernel",
|
|
121
121
|
"tqdm",
|
|
122
122
|
"pandas",
|
|
123
|
-
"tables",
|
|
123
|
+
"tables < 3.9; python_version < '3.9'",
|
|
124
|
+
"tables; python_version >= '3.9'",
|
|
124
125
|
]
|
|
125
126
|
|
|
126
127
|
EXTRAS_REQUIRE = {
|
|
127
|
-
"tests": ["pytest", "pytest-cov", "
|
|
128
|
+
"tests": ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-timeout"],
|
|
128
129
|
"mpi": ["mpi4py"],
|
|
129
130
|
}
|
|
130
131
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
# This file was generated by 'versioneer.py' (0.
|
|
2
|
+
# This file was generated by 'versioneer.py' (0.29) from
|
|
3
3
|
# revision-control system data, or from the parent directory name of an
|
|
4
4
|
# unpacked source archive. Distribution tarballs contain a pre-generated copy
|
|
5
5
|
# of this file.
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2023-
|
|
11
|
+
"date": "2023-10-20T12:52:31-0400",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "2022.
|
|
14
|
+
"full-revisionid": "ef5fbd3e0aeb4d08160fc56ee39cca6ba75e3217",
|
|
15
|
+
"version": "2022.06"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -101,7 +101,7 @@ def entry_point():
|
|
|
101
101
|
state_map = np.empty((n_segments,), dtype=state_map_dtype)
|
|
102
102
|
state_map['old_n_iter'] = n_iter
|
|
103
103
|
|
|
104
|
-
for
|
|
104
|
+
for iseg, (index_row, pcoord) in enumerate(zip(old_index, old_final_pcoords)):
|
|
105
105
|
istate = istates[iseg]
|
|
106
106
|
istate.iter_created = 0
|
|
107
107
|
istate.iter_used = 1
|
|
@@ -102,7 +102,6 @@ def entry_point():
|
|
|
102
102
|
|
|
103
103
|
# TODO: This would benefit from a refactor to set default args to None, and replace some of those "if <argument>" clauses
|
|
104
104
|
def initialize(mode, bstates, _bstate_file, tstates, _tstate_file):
|
|
105
|
-
|
|
106
105
|
work_manager = make_work_manager()
|
|
107
106
|
|
|
108
107
|
system = westpa.rc.get_system_driver()
|
|
@@ -116,7 +115,6 @@ def initialize(mode, bstates, _bstate_file, tstates, _tstate_file):
|
|
|
116
115
|
|
|
117
116
|
assert mode in ('show', 'replace', 'append')
|
|
118
117
|
if mode == 'show':
|
|
119
|
-
|
|
120
118
|
basis_states = data_manager.get_basis_states(n_iter)
|
|
121
119
|
if basis_states:
|
|
122
120
|
bstate_file = sys.stdout if not _bstate_file else open(_bstate_file, 'wt')
|
|
@@ -57,7 +57,7 @@ class WSucc(CommonOutputMixin, WESTDataReaderMixin, WESTAnalysisTool):
|
|
|
57
57
|
# The above HDF5 selection always returns a vector; we want a 2-d array
|
|
58
58
|
final_pcoords.shape = (len(recycled_seg_ids), pcoord_ndim)
|
|
59
59
|
|
|
60
|
-
for
|
|
60
|
+
for ipc, seg_id in enumerate(recycled_seg_ids):
|
|
61
61
|
self.output_file.write('%8d %8d %20.14g' % (n_iter, seg_id, seg_index[seg_id]['weight']))
|
|
62
62
|
fields = ['']
|
|
63
63
|
for field in final_pcoords[ipc]:
|
|
@@ -23,10 +23,21 @@ def entry_point():
|
|
|
23
23
|
)
|
|
24
24
|
|
|
25
25
|
westpa.rc.add_args(parser)
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'-W',
|
|
28
|
+
'--west-data',
|
|
29
|
+
dest='we_h5filename',
|
|
30
|
+
metavar='WEST_H5FILE',
|
|
31
|
+
help='''Take WEST data from WEST_H5FILE (default: read from the HDF5 file specified in west.cfg).''',
|
|
32
|
+
)
|
|
26
33
|
parser.add_argument('-n', '--iter', dest='n_iter', type=int, help='Truncate this iteration and those following.')
|
|
34
|
+
|
|
27
35
|
args = parser.parse_args()
|
|
28
36
|
westpa.rc.process_args(args, config_required=False)
|
|
29
37
|
dm = westpa.rc.get_data_manager()
|
|
38
|
+
if args.we_h5filename:
|
|
39
|
+
dm.we_h5filename = args.we_h5filename
|
|
40
|
+
|
|
30
41
|
dm.open_backing()
|
|
31
42
|
# max_iter = dm.current_iteration
|
|
32
43
|
n_iter = args.n_iter if args.n_iter > 0 else dm.current_iteration
|
|
@@ -33,7 +33,6 @@ def parse_pcoord_value(pc_str):
|
|
|
33
33
|
def _assign_label_pop(
|
|
34
34
|
n_iter, lb, ub, mapper, nstates, state_map, last_labels, parent_id_dsspec, weight_dsspec, pcoord_dsspec, subsample
|
|
35
35
|
):
|
|
36
|
-
|
|
37
36
|
nbins = len(state_map) - 1
|
|
38
37
|
parent_ids = parent_id_dsspec.get_iter_data(n_iter, index_exp[lb:ub])
|
|
39
38
|
weights = weight_dsspec.get_iter_data(n_iter, index_exp[lb:ub])
|
|
@@ -68,7 +68,6 @@ modify the binning for the current iteration of a WEST simulation.
|
|
|
68
68
|
rebin_parser.set_defaults(func=self.cmd_rebin)
|
|
69
69
|
|
|
70
70
|
def process_args(self, args):
|
|
71
|
-
|
|
72
71
|
self.data_reader.process_args(args)
|
|
73
72
|
self.data_reader.open(mode='r+')
|
|
74
73
|
self.n_iter = getattr(args, 'n_iter', None) or self.data_reader.current_iteration
|
|
@@ -64,7 +64,7 @@ significant analysis tasks).
|
|
|
64
64
|
+ '\n'
|
|
65
65
|
)
|
|
66
66
|
pcoord_lines = ' pcoord[0] = {init_pcoord}\n pcoord[-1] = {final_pcoord}' + '\n'
|
|
67
|
-
for
|
|
67
|
+
for _seg_id, segment in enumerate(segments):
|
|
68
68
|
parents_str = '[' + ', '.join(map(str, sorted(segment.wtg_parent_ids))) + ']'
|
|
69
69
|
init_pcoord_str = '[' + ', '.join('{pcval:<12.6g}'.format(pcval=float(pce)) for pce in segment.pcoord[0]) + ']'
|
|
70
70
|
final_pcoord_str = '[' + ', '.join('{pcval:<12.6g}'.format(pcval=float(pce)) for pce in segment.pcoord[-1]) + ']'
|
|
@@ -68,7 +68,6 @@ def _remote_min_max(ndim, dset_dtype, n_iter, dsspec):
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
def _remote_bin_iter(iiter, n_iter, dsspec, wt_dsspec, initpoint, binbounds, ignore_out_of_range):
|
|
71
|
-
|
|
72
71
|
iter_hist_shape = tuple(len(bounds) - 1 for bounds in binbounds)
|
|
73
72
|
iter_hist = np.zeros(iter_hist_shape, dtype=np.float64)
|
|
74
73
|
|
|
@@ -220,7 +219,6 @@ Command-line options
|
|
|
220
219
|
self.compress_output = False
|
|
221
220
|
|
|
222
221
|
def add_args(self, parser):
|
|
223
|
-
|
|
224
222
|
parser.add_argument(
|
|
225
223
|
'-b',
|
|
226
224
|
'--bins',
|
|
@@ -300,7 +298,6 @@ Command-line options
|
|
|
300
298
|
self.compress_output = args.compress or False
|
|
301
299
|
|
|
302
300
|
def go(self):
|
|
303
|
-
|
|
304
301
|
pi = self.progress.indicator
|
|
305
302
|
pi.operation = 'Initializing'
|
|
306
303
|
with pi:
|
|
@@ -334,7 +331,6 @@ Command-line options
|
|
|
334
331
|
|
|
335
332
|
@staticmethod
|
|
336
333
|
def parse_binspec(binspec):
|
|
337
|
-
|
|
338
334
|
namespace = {'numpy': np, 'np': np, 'inf': float('inf')}
|
|
339
335
|
|
|
340
336
|
try:
|
|
@@ -74,11 +74,23 @@ def get_bin_mapper(we_h5file, hashval):
|
|
|
74
74
|
raise KeyError('hash {} not found'.format(hashval))
|
|
75
75
|
|
|
76
76
|
|
|
77
|
+
def create_idtype_array(input_array):
|
|
78
|
+
'''Return a new array with the new istate_dtype while preserving old data.'''
|
|
79
|
+
new_array = np.zeros(input_array.shape, dtype=istate_dtype)
|
|
80
|
+
for j in input_array.dtype.names:
|
|
81
|
+
new_array[j] = input_array[j].copy()
|
|
82
|
+
|
|
83
|
+
# Need to turn 'basis_auxref' to empty bytestrings...
|
|
84
|
+
new_array['basis_auxref'] = b''
|
|
85
|
+
|
|
86
|
+
return new_array
|
|
87
|
+
|
|
88
|
+
|
|
77
89
|
class WMultiWest(WESTMultiTool):
|
|
78
90
|
prog = 'w_multi_west'
|
|
79
91
|
description = '''\
|
|
80
92
|
Tool designed to combine multiple WESTPA simulations while accounting for
|
|
81
|
-
reweighting.
|
|
93
|
+
reweighting.
|
|
82
94
|
-----------------------------------------------------------------------------
|
|
83
95
|
Command-line options
|
|
84
96
|
-----------------------------------------------------------------------------
|
|
@@ -144,7 +156,7 @@ Command-line options
|
|
|
144
156
|
# Sometimes, we're smaller or larger by one. Hm.
|
|
145
157
|
try:
|
|
146
158
|
self.total_walkers[:] += west['summary'][:-1]['n_particles']
|
|
147
|
-
except
|
|
159
|
+
except ValueError:
|
|
148
160
|
self.total_walkers[:] += west['summary'][:-1]['n_particles'][: len(self.total_walkers)]
|
|
149
161
|
|
|
150
162
|
class Segment:
|
|
@@ -243,8 +255,13 @@ Command-line options
|
|
|
243
255
|
if ifile == 0:
|
|
244
256
|
final_istate_index = west['ibstates/0/istate_index']
|
|
245
257
|
final_istate_pcoord = west['ibstates/0/istate_pcoord']
|
|
258
|
+
if final_istate_index.dtype != istate_dtype:
|
|
259
|
+
final_istate_index = create_idtype_array(final_istate_index)
|
|
246
260
|
else:
|
|
247
|
-
|
|
261
|
+
addition = west['ibstates/0/istate_index'][:]
|
|
262
|
+
if addition.dtype != istate_dtype:
|
|
263
|
+
addition = create_idtype_array(addition)
|
|
264
|
+
final_istate_index = np.append(final_istate_index, addition)
|
|
248
265
|
final_istate_pcoord = np.append(final_istate_pcoord, west['ibstates/0/istate_pcoord'][:])
|
|
249
266
|
|
|
250
267
|
# Saving them into self.output_file
|
|
@@ -51,7 +51,6 @@ def _remote_min_max(ndim, dset_dtype, n_iter, dsspec):
|
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
def _remote_bin_iter(iiter, n_iter, dsspec, wt_dsspec, initpoint, binbounds, ignore_out_of_range):
|
|
54
|
-
|
|
55
54
|
iter_hist_shape = tuple(len(bounds) - 1 for bounds in binbounds)
|
|
56
55
|
iter_hist = np.zeros(iter_hist_shape, dtype=np.float64)
|
|
57
56
|
|
|
@@ -14,7 +14,6 @@ import westpa
|
|
|
14
14
|
import westpa.core.data_manager
|
|
15
15
|
from westpa.core.binning.assign import BinMapper
|
|
16
16
|
from westpa.core.binning import RectilinearBinMapper, RecursiveBinMapper, MABBinMapper, BinlessMapper
|
|
17
|
-
from westpa.core.extloader import get_object
|
|
18
17
|
from .yamlcfg import YAMLConfig
|
|
19
18
|
from .yamlcfg import YAMLSystem
|
|
20
19
|
from . import extloader
|
|
@@ -31,7 +30,7 @@ def bins_from_yaml_dict(bin_dict):
|
|
|
31
30
|
mapper_type = getattr(sys.modules['westpa.core.binning'], typename)
|
|
32
31
|
except AttributeError:
|
|
33
32
|
try:
|
|
34
|
-
mapper_type = get_object(typename)
|
|
33
|
+
mapper_type = extloader.get_object(typename)
|
|
35
34
|
except AttributeError:
|
|
36
35
|
raise KeyError('unknown bin mapper type {!r}'.format(typename))
|
|
37
36
|
|
|
@@ -161,7 +160,10 @@ class WESTRC:
|
|
|
161
160
|
self.rcfile = os.environ.get(self.ENV_RUNTIME_CONFIG) or self.RC_DEFAULT_FILENAME
|
|
162
161
|
|
|
163
162
|
self.config = YAMLConfig()
|
|
164
|
-
|
|
163
|
+
try:
|
|
164
|
+
self.process_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
|
|
165
|
+
except (TypeError, IndexError):
|
|
166
|
+
self.process_name = "unknown"
|
|
165
167
|
|
|
166
168
|
# Crucial simulation and analysis drivers
|
|
167
169
|
self._system = None
|
|
@@ -340,21 +342,23 @@ class WESTRC:
|
|
|
340
342
|
|
|
341
343
|
def new_sim_manager(self):
|
|
342
344
|
drivername = self.config.get(['west', 'drivers', 'sim_manager'], 'default')
|
|
343
|
-
use_mab = self.detect_mab_mapper()
|
|
344
|
-
use_binless = self.detect_binless_mapper()
|
|
345
345
|
|
|
346
|
-
if
|
|
347
|
-
|
|
346
|
+
if drivername.lower() == 'default':
|
|
347
|
+
use_mab = self.detect_mab_mapper()
|
|
348
|
+
use_binless = self.detect_binless_mapper()
|
|
349
|
+
|
|
350
|
+
if use_mab:
|
|
351
|
+
from .binning.mab_manager import MABSimManager
|
|
348
352
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
353
|
+
sim_manager = MABSimManager(rc=self)
|
|
354
|
+
elif use_binless:
|
|
355
|
+
from .binning.binless_manager import BinlessSimManager
|
|
352
356
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
357
|
+
sim_manager = BinlessSimManager(rc=self)
|
|
358
|
+
else:
|
|
359
|
+
from .sim_manager import WESimManager
|
|
356
360
|
|
|
357
|
-
|
|
361
|
+
sim_manager = WESimManager(rc=self)
|
|
358
362
|
else:
|
|
359
363
|
sim_manager = extloader.get_object(drivername)(rc=self)
|
|
360
364
|
|
|
@@ -386,23 +390,25 @@ class WESTRC:
|
|
|
386
390
|
import westpa
|
|
387
391
|
|
|
388
392
|
drivername = self.config.get(['west', 'drivers', 'we_driver'], 'default')
|
|
389
|
-
use_mab = self.detect_mab_mapper()
|
|
390
|
-
use_binless = self.detect_binless_mapper()
|
|
391
393
|
|
|
392
|
-
if
|
|
393
|
-
|
|
394
|
+
if drivername.lower() == 'default':
|
|
395
|
+
use_mab = self.detect_mab_mapper()
|
|
396
|
+
use_binless = self.detect_binless_mapper()
|
|
397
|
+
if use_mab:
|
|
398
|
+
from .binning.mab_driver import MABDriver
|
|
394
399
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
400
|
+
we_driver = MABDriver()
|
|
401
|
+
elif use_binless:
|
|
402
|
+
from .binning.binless_driver import BinlessDriver
|
|
398
403
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
404
|
+
we_driver = BinlessDriver()
|
|
405
|
+
else:
|
|
406
|
+
from .we_driver import WEDriver
|
|
402
407
|
|
|
403
|
-
|
|
408
|
+
we_driver = WEDriver()
|
|
404
409
|
else:
|
|
405
410
|
we_driver = extloader.get_object(drivername)(rc=self)
|
|
411
|
+
|
|
406
412
|
log.debug('loaded WE algorithm driver: {!r}'.format(we_driver))
|
|
407
413
|
|
|
408
414
|
subgroup_function = self.config.get(['west', 'drivers', 'subgroup_function'], 'default')
|
|
@@ -638,7 +644,6 @@ class WESTRC:
|
|
|
638
644
|
return self.work_manager
|
|
639
645
|
|
|
640
646
|
def clear_state(self):
|
|
641
|
-
|
|
642
647
|
self._sim_manager = None
|
|
643
648
|
self._system = None
|
|
644
649
|
self._data_manager = None
|