choderalab / yank

An open, extensible Python framework for GPU-accelerated alchemical free energy calculations.
http://getyank.org
MIT License
178 stars 70 forks source link

Add simulation health check output to YANK #82

Open jchodera opened 10 years ago

jchodera commented 10 years ago

I want to try to prototype a scheme for outputting a "simulation health check" summary that reports on the quality of mixing and sampling and the current estimates of contributions to the free energy of binding.

I've drafted a mockup of what this might look like (on paper):

simulation-health-report-mockup

jchodera commented 10 years ago

@pgrinaway, @kyleabeauchamp, @dannyparton, and @bas-rustenburg : Any suggestions on Python libraries I can use to build a PDF or webpage with plots like this? I could try to use pylab, but that may not be the best choice here...

kyleabeauchamp commented 10 years ago

In the Repex repository, we have already prototyped a somewhat hacky matplotlib + ReST + Pandoc approach:

https://github.com/choderalab/repex/blob/master/repex/analysis.py#L375

kyleabeauchamp commented 10 years ago

Recall that several items on the current wish list have already been implemented in our refactored sampler code. E.g. #74

kyleabeauchamp commented 10 years ago

I think it's mostly those two things that are available for backporting. Might be a couple more, but not significantly more.

jchodera commented 10 years ago

In the Repex repository, we have already prototyped a somewhat hacky matplotlib + ReST + Pandoc approach

I had somehow not even realized this!

kyleabeauchamp commented 10 years ago

Yeah, it's currently missing the actual calculations and instead has placeholder images, but it's one possible path. Not sure what the other options are.

bas-rustenburg commented 10 years ago

If you do decide to use pylab, I saw an interesting library called mpld3 which integrates matplotlib plots and D3js.

http://mpld3.github.io/

jchodera commented 10 years ago

Hm, it seems that sphinx already has extensions for embedding matplotlib plots.

bas-rustenburg commented 10 years ago

Aren't those just png images that it generates from the source code? You don't necessarily need sphinx for that. Does it need to be interactive, or is it just meant to put figures together in a coherent layout?

bas-rustenburg commented 10 years ago

Also, this seems like a cool library (https://plot.ly/python).

Especially check out: https://plot.ly/python/embedding-plotly-graphs-in-HTML/