Skip to content
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

Bring multistate samplers into openmmtools #398

Merged
merged 47 commits into from
Feb 3, 2019
Merged

Bring multistate samplers into openmmtools #398

merged 47 commits into from
Feb 3, 2019

Conversation

jchodera
Copy link
Member

@jchodera jchodera commented Jan 26, 2019

This PR brings multistate samplers and the FIRE minimizer from YANK into openmmtools.

@jchodera
Copy link
Member Author

I've enabled sphinx builds for this branch, but it looks like they are failing:
https://readthedocs.org/projects/openmmtools/builds/8453444/

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/openmmtools/conda/multistate/lib/python3.7/site-packages/sphinx/registry.py", line 472, in load_extension
    mod = __import__(extname, None, None, ['setup'])
ModuleNotFoundError: No module named 'sphinxcontrib.bibtex'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/openmmtools/conda/multistate/lib/python3.7/site-packages/sphinx/cmd/build.py", line 303, in build_main
    args.tags, args.verbosity, args.jobs, args.keep_going)
  File "/home/docs/checkouts/readthedocs.org/user_builds/openmmtools/conda/multistate/lib/python3.7/site-packages/sphinx/application.py", line 228, in __init__
    self.setup_extension(extension)
  File "/home/docs/checkouts/readthedocs.org/user_builds/openmmtools/conda/multistate/lib/python3.7/site-packages/sphinx/application.py", line 449, in setup_extension
    self.registry.load_extension(self, extname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/openmmtools/conda/multistate/lib/python3.7/site-packages/sphinx/registry.py", line 475, in load_extension
    raise ExtensionError(__('Could not import extension %s') % extname, err)
sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.bibtex (exception: No module named 'sphinxcontrib.bibtex')

Extension error:
Could not import extension sphinxcontrib.bibtex (exception: No module named 'sphinxcontrib.bibtex')

Looks like we need to add sphinxcontrib-bibtex to docs/environment.yml.

@hannahbrucemacdonald
Copy link
Contributor

Will add that now, missed it because there's no docs/environment.yaml in yank

@hannahbrucemacdonald
Copy link
Contributor

Will try figure out why the python 3.7 travis build is seg faulting, but I can't reproduce it locally

@andrrizzi
Copy link
Contributor

That may be a known problem, see #192 . I've never been able to figure out a work-around (beside restarting the Travis tests). It seems more of a Travis+SWIG+nosetests problem than a real issue.

@jchodera
Copy link
Member Author

You don't think switching to pytest would help, would it?

@hannahbrucemacdonald
Copy link
Contributor

You don't think switching to pytest would help, would it?

Happy to try switching over. I think the tests that use yield will need to be updated

@andrrizzi
Copy link
Contributor

You don't think switching to pytest would help, would it?

Possibly, I'm not sure. I'm still getting familiar with pytest's features so I can't really give an estimate about how much time the conversion will take.

@jchodera
Copy link
Member Author

Maybe we can do that switch as part of a larger overhaul to conform to the latest cookiecutter structure, after @andrrizzi has more time to get familiar with it?

@jchodera jchodera requested a review from andrrizzi January 30, 2019 02:29
@jchodera
Copy link
Member Author

Multistate sampler docs are being built and pushed to this branch of readthedocs. You can see the API docs here.

@jchodera
Copy link
Member Author

jchodera commented Feb 1, 2019

This is almost ready to be merged, @andrrizzi. I'm just solving some problems with SAMS tests that use the currently-unsupported non-global jumps, but I might just change that to global jump only and punt the rest of the local jump to later.

@jchodera
Copy link
Member Author

jchodera commented Feb 1, 2019

Correction: The failing tests are with SAMS and global jump, and started when we upgraded the NetCDF libraries to a version that uses masked arrays by default. However, I think this may have revealed a bug in the old SAMS analysis implementation. Will be important to see if we can fix this.

@jchodera
Copy link
Member Author

jchodera commented Feb 2, 2019

I think I've sorted this. If tests pass, this should be ready to merge.

@jchodera jchodera changed the title [WIP] Bring multistate samplers into openmmtools Bring multistate samplers into openmmtools Feb 2, 2019
@jchodera
Copy link
Member Author

jchodera commented Feb 2, 2019

Yay! Travis tests pass now.

Windows tests fail because drand48() doesn't exist in windows, and this causes the cython compile of _mix_replicas to fail. We can later fix this by instead using the C++11 standard library, but we aren't supporting windows now.

@jchodera
Copy link
Member Author

jchodera commented Feb 3, 2019

The docs build on readthedocs now!
The travis failure is the stochastic barostat segfault, so I'll merge this now.

@jchodera jchodera merged commit 8db070e into master Feb 3, 2019
@jchodera jchodera deleted the multistate branch February 3, 2019 18:02
@jchodera jchodera mentioned this pull request Feb 18, 2019
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants