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.

Files changed (172) hide show
  1. {westpa-2022.4/src/westpa.egg-info → westpa-2022.6}/PKG-INFO +34 -15
  2. {westpa-2022.4 → westpa-2022.6}/README.rst +8 -12
  3. {westpa-2022.4 → westpa-2022.6}/pyproject.toml +2 -1
  4. {westpa-2022.4 → westpa-2022.6}/setup.py +3 -2
  5. {westpa-2022.4 → westpa-2022.6}/src/westpa/_version.py +4 -4
  6. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_fork.py +1 -1
  7. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_init.py +0 -1
  8. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_run.py +0 -1
  9. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_states.py +0 -2
  10. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_succ.py +1 -1
  11. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/w_truncate.py +11 -0
  12. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_assign.py +0 -1
  13. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_bins.py +0 -1
  14. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_dumpsegs.py +1 -1
  15. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_eddist.py +0 -4
  16. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_ipa.py +0 -1
  17. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_multi_west.py +20 -3
  18. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_pdist.py +0 -1
  19. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_red.py +0 -1
  20. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/_rc.py +31 -26
  21. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/_assign.c +27810 -20890
  22. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/assign.py +2 -2
  23. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless_driver.py +1 -1
  24. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless_manager.py +25 -2
  25. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab.py +26 -7
  26. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab_driver.py +1 -1
  27. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/mab_manager.py +25 -2
  28. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/data_manager.py +12 -12
  29. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/h5io.py +1 -5
  30. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/_kinetics.c +35722 -27210
  31. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/propagators/__init__.py +0 -1
  32. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/propagators/executable.py +2 -4
  33. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/_reweight.c +28972 -21548
  34. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/sim_manager.py +3 -4
  35. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/trajectory.py +9 -1
  36. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/we_driver.py +8 -8
  37. {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/_fasthist.c +28800 -23004
  38. {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/_mclib.c +24591 -18028
  39. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/binning.py +2 -2
  40. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/data_reader.py +3 -4
  41. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/kinetics.py +0 -1
  42. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/trajwalker.py +1 -1
  43. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/transitions.py +1 -3
  44. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/cmds/w_ttimes.py +2 -4
  45. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/binning.py +1 -4
  46. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/kinetics_tool.py +0 -3
  47. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/selected_segs.py +0 -1
  48. {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/_trajtree.c +12239 -7193
  49. {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/trajtree.py +0 -2
  50. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/adaptvoronoi/adaptVor_driver.py +0 -2
  51. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/example_overrides.py +0 -1
  52. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/restart_driver.py +1 -18
  53. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/string_driver.py +0 -1
  54. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/string_method.py +0 -2
  55. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/weed_driver.py +2 -2
  56. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/ProbAdjust.py +0 -1
  57. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/wess_driver.py +2 -2
  58. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/environment.py +0 -1
  59. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/mpi.py +0 -7
  60. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/core.py +1 -5
  61. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/work_manager.py +1 -2
  62. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/worker.py +0 -1
  63. {westpa-2022.4 → westpa-2022.6/src/westpa.egg-info}/PKG-INFO +34 -15
  64. {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/SOURCES.txt +8 -1
  65. {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/requires.txt +9 -2
  66. westpa-2022.6/tests/test_binning.py +326 -0
  67. westpa-2022.6/tests/test_data_manager.py +53 -0
  68. westpa-2022.6/tests/test_kinetics.py +240 -0
  69. westpa-2022.6/tests/test_loaders.py +38 -0
  70. westpa-2022.6/tests/test_sim_manager.py +274 -0
  71. westpa-2022.6/tests/test_we_driver.py +255 -0
  72. westpa-2022.6/tests/test_yamlfe.py +108 -0
  73. {westpa-2022.4 → westpa-2022.6}/versioneer.py +174 -102
  74. {westpa-2022.4 → westpa-2022.6}/AUTHORS +0 -0
  75. {westpa-2022.4 → westpa-2022.6}/LICENSE +0 -0
  76. {westpa-2022.4 → westpa-2022.6}/MANIFEST.in +0 -0
  77. {westpa-2022.4 → westpa-2022.6}/setup.cfg +0 -0
  78. {westpa-2022.4 → westpa-2022.6}/src/westpa/__init__.py +0 -0
  79. {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/__init__.py +0 -0
  80. {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/core.py +0 -0
  81. {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/statistics.py +0 -0
  82. {westpa-2022.4 → westpa-2022.6}/src/westpa/analysis/trajectories.py +0 -0
  83. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/__init__.py +0 -0
  84. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/core/__init__.py +0 -0
  85. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/__init__.py +0 -0
  86. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/ploterr.py +0 -0
  87. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/plothist.py +0 -0
  88. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_crawl.py +0 -0
  89. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_direct.py +0 -0
  90. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_fluxanl.py +0 -0
  91. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_kinavg.py +0 -0
  92. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_kinetics.py +0 -0
  93. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_ntop.py +0 -0
  94. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_postanalysis_matrix.py +0 -0
  95. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_postanalysis_reweight.py +0 -0
  96. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_reweight.py +0 -0
  97. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_select.py +0 -0
  98. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_stateprobs.py +0 -0
  99. {westpa-2022.4 → westpa-2022.6}/src/westpa/cli/tools/w_trace.py +0 -0
  100. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/__init__.py +0 -0
  101. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/__init__.py +0 -0
  102. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/_assign.pyx +0 -0
  103. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/binless.py +0 -0
  104. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/binning/bins.py +0 -0
  105. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/extloader.py +0 -0
  106. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/__init__.py +0 -0
  107. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/_kinetics.pyx +0 -0
  108. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/events.py +0 -0
  109. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/matrates.py +0 -0
  110. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/kinetics/rate_averaging.py +0 -0
  111. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/progress.py +0 -0
  112. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/__init__.py +0 -0
  113. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/_reweight.pyx +1 -1
  114. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/reweight/matrix.py +0 -0
  115. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/segment.py +0 -0
  116. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/states.py +0 -0
  117. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/systems.py +0 -0
  118. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/textio.py +0 -0
  119. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/wm_ops.py +0 -0
  120. {westpa-2022.4 → westpa-2022.6}/src/westpa/core/yamlcfg.py +0 -0
  121. {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/__init__.py +0 -0
  122. {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/__main__.py +0 -0
  123. {westpa-2022.4 → westpa-2022.6}/src/westpa/fasthist/_fasthist.pyx +0 -0
  124. {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/__init__.py +0 -0
  125. {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/__main__.py +0 -0
  126. {westpa-2022.4 → westpa-2022.6}/src/westpa/mclib/_mclib.pyx +0 -0
  127. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/__init__.py +0 -0
  128. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/__init__.py +0 -0
  129. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/atool.py +0 -0
  130. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/base_mixin.py +0 -0
  131. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/iter_range.py +0 -0
  132. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/mcbs.py +0 -0
  133. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/output.py +0 -0
  134. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/aframe/plotting.py +0 -0
  135. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/cmds/__init__.py +0 -0
  136. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/files.py +0 -0
  137. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/miscfn.py +0 -0
  138. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/__init__.py +0 -0
  139. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/accumulator.py +0 -0
  140. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/edfs.py +0 -0
  141. {westpa-2022.4 → westpa-2022.6}/src/westpa/oldtools/stats/mcbs.py +0 -0
  142. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/__init__.py +0 -0
  143. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/core.py +0 -0
  144. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/data_reader.py +0 -0
  145. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/dtypes.py +0 -0
  146. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/iter_range.py +0 -0
  147. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/plot.py +0 -0
  148. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/progress.py +0 -0
  149. {westpa-2022.4 → westpa-2022.6}/src/westpa/tools/wipi.py +0 -0
  150. {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/__init__.py +0 -0
  151. {westpa-2022.4 → westpa-2022.6}/src/westpa/trajtree/_trajtree.pyx +0 -0
  152. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/__init__.py +0 -0
  153. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/adaptvoronoi/__init__.py +0 -0
  154. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/hamsm_restarting/__init__.py +0 -0
  155. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/__init__.py +0 -0
  156. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/stringmethod/fourier_fitting.py +0 -0
  157. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/BinCluster.py +0 -0
  158. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/ProbAdjustEquil.py +0 -0
  159. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/UncertMath.py +0 -0
  160. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/weed/__init__.py +0 -0
  161. {westpa-2022.4 → westpa-2022.6}/src/westpa/westext/wess/__init__.py +0 -0
  162. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/__init__.py +0 -0
  163. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/core.py +0 -0
  164. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/processes.py +0 -0
  165. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/serial.py +0 -0
  166. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/threads.py +0 -0
  167. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/__init__.py +0 -0
  168. {westpa-2022.4 → westpa-2022.6}/src/westpa/work_managers/zeromq/node.py +0 -0
  169. {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/dependency_links.txt +0 -0
  170. {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/entry_points.txt +0 -0
  171. {westpa-2022.4 → westpa-2022.6}/src/westpa.egg-info/not-zip-safe +0 -0
  172. {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.4
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
- License-File: LICENSE
19
- License-File: AUTHORS
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| |tutorial1| |tutorial2|
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
- .. |tutorial1| image:: https://img.shields.io/badge/WESTPA-tutorials-brightgreen.svg
38
- :target: https://github.com/westpa/westpa_tutorials
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://pitt.box.com/s/metui7tsfwh3bcv1xgbbj4g6fe0uokag
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.continuum.io (free for all users).
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-Installation
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://westpa.github.io/westpa/users_guide/faq.html
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| |tutorial1| |tutorial2|
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
- .. |tutorial1| image:: https://img.shields.io/badge/WESTPA-tutorials-brightgreen.svg
18
- :target: https://github.com/westpa/westpa_tutorials
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://pitt.box.com/s/metui7tsfwh3bcv1xgbbj4g6fe0uokag
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.continuum.io (free for all users).
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-Installation
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://westpa.github.io/westpa/users_guide/faq.html
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", "nose"],
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.28) from
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-02-01T14:01:18-0500",
11
+ "date": "2023-10-20T12:52:31-0400",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "c5ee2fcdb8b82ee3cbfd2894065a375157a6ba75",
15
- "version": "2022.04"
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 (iseg, (index_row, pcoord)) in enumerate(zip(old_index, old_final_pcoords)):
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
@@ -18,7 +18,6 @@ EPS = np.finfo(np.float64).eps
18
18
 
19
19
 
20
20
  def entry_point():
21
-
22
21
  parser = argparse.ArgumentParser(
23
22
  'w_init',
24
23
  description='''\
@@ -30,7 +30,6 @@ def entry_point():
30
30
 
31
31
 
32
32
  def run_simulation():
33
-
34
33
  work_manager = westpa.rc.work_manager = make_work_manager()
35
34
 
36
35
  # Load the sim manager and other drivers
@@ -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 (ipc, seg_id) in enumerate(recycled_seg_ids):
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 (_seg_id, segment) in enumerate(segments):
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:
@@ -641,7 +641,6 @@ class WIPI(WESTParallelTool):
641
641
  return self._future
642
642
 
643
643
  class Future(WIPIDataset):
644
-
645
644
  # This isn't a real fancy one.
646
645
  def __getitem__(self, value):
647
646
  if isinstance(value, str):
@@ -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. Test code thus far.
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 (ValueError):
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
- final_istate_index = np.append(final_istate_index, west['ibstates/0/istate_index'][:])
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
 
@@ -333,7 +333,6 @@ class RateCalculator:
333
333
  return self._dc
334
334
 
335
335
  def calc_rate(self, i_iter=None, red=False, **kwargs):
336
-
337
336
  if i_iter is None:
338
337
  i_iter = self.n_iters
339
338
 
@@ -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
- self.process_name = os.path.splitext(os.path.basename(sys.argv[0]))[0]
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 use_mab:
347
- from .binning.mab_manager import MABSimManager
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
- sim_manager = MABSimManager(rc=self)
350
- elif use_binless:
351
- from .binning.binless_manager import BinlessSimManager
353
+ sim_manager = MABSimManager(rc=self)
354
+ elif use_binless:
355
+ from .binning.binless_manager import BinlessSimManager
352
356
 
353
- sim_manager = BinlessSimManager(rc=self)
354
- elif drivername.lower() == 'default':
355
- from .sim_manager import WESimManager
357
+ sim_manager = BinlessSimManager(rc=self)
358
+ else:
359
+ from .sim_manager import WESimManager
356
360
 
357
- sim_manager = WESimManager(rc=self)
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 use_mab:
393
- from .binning.mab_driver import MABDriver
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
- we_driver = MABDriver()
396
- elif use_binless:
397
- from .binning.binless_driver import BinlessDriver
400
+ we_driver = MABDriver()
401
+ elif use_binless:
402
+ from .binning.binless_driver import BinlessDriver
398
403
 
399
- we_driver = BinlessDriver()
400
- elif drivername.lower() == 'default':
401
- from .we_driver import WEDriver
404
+ we_driver = BinlessDriver()
405
+ else:
406
+ from .we_driver import WEDriver
402
407
 
403
- we_driver = WEDriver()
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