{"action":"closed","issue":{"url":"https://api.github.com/repos/choderalab/yank/issues/314","labels_url":"https://api.github.com/repos/choderalab/yank/issues/314/labels{/name}","comments_url":"https://api.github.com/repos/choderalab/yank/issues/314/comments","events_url":"https://api.github.com/repos/choderalab/yank/issues/314/events","html_url":"https://github.com/choderalab/yank/issues/314","id":106948233,"number":314,"title":"Simplifying options handling","user":{"login":"jchodera","id":3656088,"avatar_url":"https://avatars.githubusercontent.com/u/3656088?v=3","gravatar_id":"","url":"https://api.github.com/users/jchodera","html_url":"https://github.com/jchodera","followers_url":"https://api.github.com/users/jchodera/followers","following_url":"https://api.github.com/users/jchodera/following{/other_user}","gists_url":"https://api.github.com/users/jchodera/gists{/gist_id}","starred_url":"https://api.github.com/users/jchodera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jchodera/subscriptions","organizations_url":"https://api.github.com/users/jchodera/orgs","repos_url":"https://api.github.com/users/jchodera/repos","events_url":"https://api.github.com/users/jchodera/events{/privacy}","received_events_url":"https://api.github.com/users/jchodera/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2015-09-17T09:47:27Z","updated_at":"2015-11-10T20:40:55Z","closed_at":"2015-11-10T20:40:55Z","body":"The YAML framework introduced by #310 is fantastic, but it seems like we might be able to simplify how we handle options to make things a little simpler.  The `yank.util.YankOptions` object, for example, currently stores \r\n* default options\r\n* CLI options\r\n* YAML options\r\n* runtime options\r\n\r\nand has to correctly juggle precedence among all of these.\r\n\r\nIs there some way we can refine this somehow by allowing options to be specified by either YAML, command-line, or default initialization and just making sure to read these in the correct order?\r\n\r\n Perhaps we can brainstorm how each module can keep a central list of options that it wants to manage, while still allowing us to validate that the options specified by the user are valid and have the correct units.  Is there a simple way to do this?"}}