-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Command Line tool for the smirky sampler #128
Comments
Can you point to where the sampler code is and where the driver code for it is right now? |
Also, what input options do you want to expose, and how would you like to specify them? If there are a lot of options, we could use YAML files which are human readable and trivially importable as a Python dict of ducts. |
Dict of dicts/lists, that is. |
The sampler code is here: https://github.com/open-forcefield-group/smarty/blob/master/smarty/sampler.py I don't have the driver code yet, I thought I would bring up the issue first. Generally, I was imagining input files could be in a similar form to the smarty atomtype files (such as this), but with SMARTS and probabilities instead of type names.
I was aiming for consistency with the smarty tool, but trying to determine if it should be an option when calling smarty or a separate tool completely. |
I should say that the input is changing to incorporate odds/probabilities so nothing currently online is really up to date quite yet |
@bannanc - I think it ought to be a separate tool, as I agree with you that otherwise it will make SMARTY's command-line interface too complicated (as well as the fact that the input files will have totally different formats depending on whether we're dealing with smarty or smirky). Plus, @camizanette is also working on additional changes to smarty's interface anyway (to allow for it to focus on a particular element) so trying to bolt optional support for that, together with optional support for smirky, sounds like a recipe for something way too complex. I'd make it a separate tool called Also, regarding decorator files -- I have a bit of a preference, honestly, for how Chris framed things in terms of odds. Particularly, your format:
could be written as
These would then get converted to probabilities internally, of course. The advantages of odds, as I see it, are:
Not major issues, but possibly worth going that direction... Your call though. |
I'd take @davidlmobley's suggestion and write a new command-line interface driver for If I were to do this, I'd
I like the idea of having user-specified decorator weights that are used in sampling. I think the most important thing is to aggressively refactor the sampler code into independent and simple modules with well-defined APIs so we can try various different simple implementations of them to see which strategies are most efficient. We discussed this a bit in issues like #110 |
@davidlmobley it looks like we all agree so I will keep it as a separate tool commenting on this:
yes, I was just commenting on the file format so I may have said probabilities when I meant odds or probabilities. I treat all the input into the smirky sampler assuming odds are given and they are immediately converted to weights/probabilities when the Sampler is initialized. I will make sure the documentation is clear. @jchodera I am aiming to have a pull request with the command line tool and examples up tonight or early tomorrow. |
Added in pull request #130
I had some issues with the entry_points working when the command-line drivers were in a buried directory for some reason. It ended up being easier to just make two files in smarty/ smarty/cli_smarty.py and smarty/cli.smirky.py. I will reorganize as needed, but may need some help identifying the problem with the subdirectory. |
Closed with pull request #130 |
I suggested to @cbayly13 today that it would be useful to be able to run the smirky sampler from the command line with files as input the same way we have been using smarty. He agrees it would make testing the probabilities of moves easier and would get us a more polished intermediate tool for sampling chemical environments.
@davidlmobley and @jchodera What is the best/preferred way to set this up? It's input is similar, but not identical to smarty. Should it be a completely separate tool or a new option when running smarty `smarty --sampler smirky? With the latter I'm concerned about how complicated the command line options are going to become with all the different input options.
The text was updated successfully, but these errors were encountered: