AssertionError when running steady-state MAB sim -> assert abs(1 - norm) < EPS*(len(segments)+n_active_bins

77 views
Skip to first unread message

Rebecca Walters

unread,
Aug 19, 2021, 11:56:18 AM8/19/21
to westpa-users
Hi, 

When I am running a steady-state MAB simulation (trying to simulate a trajectory of a drug unbinding from a protein), my simulation will fail after 12 iterations with this error:

Thu Aug 19 16:27:19 2021
Iteration 13 (100 requested)
Beginning iteration 13
28 segments remain in iteration 13 (28 total)
exception caught; shutting down
-- ERROR    [w_run] -- Traceback (most recent call last):
  File "/mnt/storage/scratch/ft18983/Neuraminidase/westpa/src/westpa/cli/core/w_run.py", line 56, in entry_point
    sim_manager.run()
  File "/mnt/storage/scratch/ft18983/Neuraminidase/WESTPA_1.0/ChemDyME_NA_OSE/manager.py", line 622, in run
    self.prepare_iteration()
  File "/mnt/storage/scratch/ft18983/Neuraminidase/WESTPA_1.0/ChemDyME_NA_OSE/manager.py", line 368, in prepare_iteration
    self.report_bin_statistics(initial_binning, save_summary=True)
  File "/mnt/storage/scratch/ft18983/Neuraminidase/WESTPA_1.0/ChemDyME_NA_OSE/manager.py", line 141, in report_bin_statistics
    assert abs(1 - norm) < EPS*(len(segments)+n_active_bins)
AssertionError

Is someone able to help me understand what this means? I followed Anthony's youtube video for setting up WESTPA 2.0 and MAB scheme (very helpful!) but am not sure what is going wrong here. 

I am attaching my adaptive.py, west.cfg, west.log and manager.py (although I have not edited the manager.py file from the one provided by WESTPA). Please let me know of any other information you require. Thank you!

Kind regards, 
Rebecca
west.log
west.cfg
adaptive.py
manager.py

Jeremy Leung

unread,
Aug 19, 2021, 12:46:16 PM8/19/21
to westpa...@googlegroups.com
Hi Rebecca,

Looking at your files, it seems like your target state is incorrectly defined in adaptive.py. WESTPA is trying to recycle trajectories every iteration, because your basis state is the same as your target state. You will end up with more weight over time, which cumulates over tolerance at iteration 13. Your target state is 2-dimensional [None,None], which means your basis state always equal to your target state in the second non-exisiting pcoord dimension, leading to recycling.

In the adaptive.py, change targetstate to [None] for an equilibrium simulation and [value] for steady state, where value is your target state definition.

I would also double check your pcoord length. It should always be the # of frames use to calculate pcoord + one more (for the parent).  For example, if you have 20 frames outputted for pcoord, then it should be 21.

Hope that helps and solve your problem.

Regards,

Jeremy L.
--
Jeremy M. G. Leung
PhD Candidate, Chemistry
Graduate Student Researcher, Chemistry 
University of Pittsburgh | 219 Parkman Avenue, Pittsburgh, PA 15260
jml...@pitt.edu | [He, Him, His]

--
You received this message because you are subscribed to the Google Groups "westpa-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to westpa-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/westpa-users/89e5828a-4df0-44e8-8c55-321161e0e930n%40googlegroups.com.
<west.log><west.cfg><adaptive.py><manager.py>

Reply all
Reply to author
Forward
0 new messages