Max number of walkers & keep only fringe walkers

41 views
Skip to first unread message

Razvan Marinescu

unread,
Jul 1, 2022, 2:53:23 PM7/1/22
to westpa-users
Hi everyone,

I'm trying WESTPA on a more complex system of interactions between 4 proteins. I have a few quick questions:
1. How can I set an overall maximum number of walkers, instead of walkers/bin? The --max-replicas option doesn't work anymore. 
2. How can I only allow fringe walkers to survive? I.e. walkers that are in the bins closest to the target state? Once some walkers have made progress towards the target state, I don't want to waste resources on walkers in intermediate states.
3. I currently have a setup with a 1D progress coordinate, even though I combine 3 different distances into 1 (each distance is for a different protein-protein interface). I initially thought of running a 3D progress coordinate, but the number of walkers will explode. Do you nonetheless suggest to do it in 3D? How can I get around the explosion in # of walkers? Any advice? 

Many thanks,
Razvan

Anthony Bogetti

unread,
Jul 2, 2022, 6:10:23 AM7/2/22
to westpa...@googlegroups.com
Hi Razvan,

Thanks for the questions!

1.  WESTPA does not currently have an option for constant number of total walkers, but we are working on making that available. When using the minimal adaptive binning (MAB) scheme with WESTPA (which is a built-in option), your number of walkers will generally be kept somewhat constant.

2. The MAB scheme was designed to prioritize the splitting of those “fringe" walkers in each progress coordinate dimension. Please see this paper for a more in depth explanation of the MAB algorithm and this Wiki page for more information about how to use MAB in WESTPA 2.0.

3. We suggest trying to find a one- or at most two-dimensional progress coordinate that can sufficiently capture your transition of interest, and it sounds like the coordinate you have constructed (the combination of the three distances) may be a good choice. However, if you want to use 3D, the MAB scheme can be tuned to maintain a relatively low number of walkers in each dimension while still prioritizing splitting the fringe walkers. This greatly helps in keeping the number of total walkers from getting too large.

To summarize, I suggest you try using the MAB scheme (if you haven’t tried it already) with your current 1D progress coordinate setup and tune the parameters to see if you can see transitions while still keeping the computational cost low. Please see the Wiki page I linked above for all the available parameters associated with the MAB scheme. The MAB scheme is available with WESTPA 2.0, which is installable through pip with python -m pip install westpa.

Let us know if you have any further questions!
Anthony

--
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/859e9d5b-81f6-490d-9b17-a31c6c7cb0fan%40googlegroups.com.

Razvan Marinescu

unread,
Jul 2, 2022, 4:58:29 PM7/2/22
to westpa-users
Hi Anthony,

Thank you so much for the detailed answers, this is very useful! 

Regarding point 2: I just read the MAB paper and I'll try it. While it's great that the MAB framework can adaptively re-bin the fringe walkers, it still keeps walkers at intermediate values of the progress coordinate (PG). For now however, I don't want to waste computing resources on the intermediate walkers. Is there a way to kill those walkers automatically during the WESTPA run? For now, our biggest challenge is reaching the target state per se. Even though it's possible that removing them might bias the calculation of flux rate constants or FPTs, I don't care right now about the unbiased flux rates -- once we have a few trajectories reaching the target state, we will start doing flux analysis. 

Thanks,
Razvan

Razvan Marinescu

unread,
Jul 2, 2022, 5:05:05 PM7/2/22
to westpa-users
Actually to clarify, I would also like to (automatically) kill/remove the trailing walkers. So only keep the most advanced walkers closest to the target state.

Razvan

Matthew Zwier

unread,
Jul 4, 2022, 11:58:03 AM7/4/22
to westpa...@googlegroups.com
You can always adjust the number of walkers in intermediate bins down to a small number (like one; not zero, because WESTPA doesn’t in general know how to kill off all the walkers in a bin). That would require stopping the simulation, changing the number of walkers, and restarting; the new counts would be enforced at the next resampling. There isn’t an automatic way to do this, and it will indeed bias your pathways based on what has been sampled when you do this reduction in count. If getting a few crossings is all you need and you can accept that bias, it might do what you need. I wouldn’t touch that idea with a 10 foot pole for a production simulation, even for exploring path ensembles without regard to kinetics, but if you need to refine state definitions, it might work. It might also work to explore possible progress coordinates, but I would be very careful there; you could very easily misconstrue the observed path (sub)ensemble as the norm when it is more likely an exception.

This might be a reasonably easy plug-in to write, but you'd want to prototype it by hand anyway, to discover some of the unknown unknowns that might be trouble down the line.

Cheers,
Matt Z.

On Jul 2, 2022, at 3:58 PM, Razvan Marinescu <mraz...@gmail.com> wrote:

Hi Anthony,

Barmak Mostofian

unread,
Jul 4, 2022, 3:39:59 PM7/4/22
to westpa-users
Hi Razvan,

If I may add my two cents here.  As an alternative to what Matt suggested, you could also (manually) change the bin widths and then restart the simulation.  That way, you could then collapse many bins from earlier stages of your simulation, thus reducing the overall number of walkers sampled per iteration.  This is briefly described in section 6.2.8 (Adjusting Bin Spacings "On the Fly") in the WESTPA training article: https://doi.org/10.33011/livecoms.1.2.10607

Having said that, the MAB scheme Anthony mentioned could be the best solution to your situation.  As he wrote, the total number of walkers is generally constant then.  And, in my experience, this was the total number of possible walkers, i.e., #bins * #walkers/bin.  However, with the MAB scheme, you can reduce the number of (adaptive) bins dramatically compared to the manual bin definition, thus limiting the #walkers/iteration to a value that is manageable given your resources.  Note, that the region of interest to apply the MAB scheme to may even be ['-inf', 'inf'].         

Good luck!

Barmak


Razvan Marinescu

unread,
Jul 5, 2022, 1:37:49 PM7/5/22
to westpa-users
Hi Matt and Barmak,

Thank you so much for the insightful answers. That all makes sense. So I'll try first the MAB scheme, and if that doesn't work, I'll change the widths of the intermediate bins during the WESTPA simulation. 

However Matt, regarding the biasing, I actually realized it might not be that bad. Because when switching from 10 walkers/bin -> 1 walker/bin, the new trajectory will inherit the sum of weights from all the previous 10 trajectories ... so it will have significantly more weight. Same with re-binning on the fly. 

Razvan
Reply all
Reply to author
Forward
0 new messages