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

Plans for librarifying alchemical-analysis functionality using alchemlyb #111

Open
harlor opened this issue Oct 19, 2018 · 23 comments
Open

Comments

@harlor
Copy link
Contributor

harlor commented Oct 19, 2018

I see that there are plans to librarify alchemical-analysis with alchemlyb.

Since this likely means rewriting alchemical-analysis, I would like to ask you how you are planning to do that. I already started with a plugin based solution that can already reproduce some alchemical-analysis functionality: https://github.com/harlor/flamel

@davidlmobley
Copy link
Member

Basically, I don't have any plans for that which have resources behind them, so I would be delighted to have you do it. The current thinking was to basically:
a) port any functionality we want to retain (that it makes sense to port) from alchemical-analysis to alchemlyb, and then
b) retire alchemical-analysis

If you have better ideas I suspect we would be very receptive to that. Specifically we can give you permission to adapt code from alchemical-analysis to use in your tool. Though the license should already give you the right to do that; you just need to credit us. But I'd be enthusiastic.

Key for your tool would be to get in place automated testing framework, code coverage tests, etc. This ends up being critical for sustainability. You may want to check out the MolSSI cookiecutter stuff which can help with this.

@mrshirts
Copy link
Contributor

a) port any functionality we want to retain (that it makes sense to port) from alchemical-analysis to alchemlyb, and then
b) retire alchemical-analysis

I am happy to go along with this plan.

I don't have much time to code, but I have enough time to explain design principles and reasons for doing things to make sure any product is scientifically optimal. I was behind pretty much all the calculations in alchemical-analysis (though not the file parsing (not great in alchemical-analysis), or the graphing utilities (rather nice)).

I know a lot of people like the graphics quality-of-calculation metrics in alchemical-analysis. And I know a lot of people like the ability to show lots of calculation results to gether when the data is available (to catch weird things).

So those are alchemical-analysis features that are useful. So borrow code :)

@mrshirts
Copy link
Contributor

Perhaps the next step is to set up a call to do some knowledge transter? My time is most free after Nov 1st, though perhaps could squeeze in something before then.

@harlor
Copy link
Contributor Author

harlor commented Oct 24, 2018

Sorry I just overlooked the notifications for this thread.

Perhaps the next step is to set up a call to do some knowledge transter? My time is most free after Nov 1st, though perhaps could squeeze in something before then.

Oh thank you - for me that would be very helpful! I'm busy till Nov 7th and won't have much time for alchemlyb in the meantime. So if it works for you, a call after Nov 7th would be great.

@mrshirts
Copy link
Contributor

Maybe 9:00 a.m. Mountain Time on Thursday the 13th? I assume you will be central european time? That would be 5:00 p.m. there. But that might not work for @davidlmobley ?

@davidlmobley
Copy link
Member

That probably works.

@harlor
Copy link
Contributor Author

harlor commented Oct 25, 2018

Maybe 9:00 a.m. Mountain Time on Thursday the 13th? I assume you will be central european time? That would be 5:00 p.m. there.

Yes, CET indeed. That would work perfectly for me.

@mrshirts
Copy link
Contributor

Whoop, I was looking at the wrong month. It would be Thursday the 15th, not 13th.

@davidlmobley
Copy link
Member

I do have time then.

But what about @orbeckst who is the alchemlyb guru? If we're going to discuss plans relating to alchemlyb he is key.

@orbeckst
Copy link

I can do 7/15 9am MST.

I can set up a Zoom if you want to use it – it's better than skype or hangouts in my experience.

@davidlmobley
Copy link
Member

Agreed re zoom. That sounds perfect.

@orbeckst
Copy link

@orbeckst is inviting you to a scheduled Zoom meeting. (See https://support.zoom.us/hc/en-us/articles/201362193-How-Do-I-Join-A-Meeting- if you haven't used Zoom before; in short, it will download a client when you follow the link below so do this a few minutes before the meeting is supposed to start; as a backup there's a call-in number)

The meeting is open to anyone interested.

  • Topic: alchemical-analysis --> alchemlyb
  • Time: Nov 15, 2018 9:00 AM Mountain Time (US and Canada)

Join from PC, Mac, Linux, iOS or Android: https://asu.zoom.us/j/645240600

Or Telephone:

  • Dial(for higher quality, dial a number based on your current location):
    US: +1 646 876 9923 or +1 669 900 6833
  • Meeting ID: 645 240 600
  • International numbers available: https://zoom.us/u/adb46cgc1G

Or iPhone one-tap (US Toll): +16468769923,,645240600# or +16699006833,,645240600#

@orbeckst
Copy link

reminder @harlor @davidlmobley @mrshirts : zoom call in 1h at 9am MST.

See #111 (comment)

@orbeckst
Copy link

Quick summary of the call (@harlor @davidlmobley @orbeckst attended)

Path to new alchemical-analysis

  1. @harlor is going to develop flamel as successor to alchemical-analysis
  2. The flamel repo will be moved to the alchemistry org and @harlor will develop there. A student from @davidlmobley 's group will possibly join development.
  3. Once flamel is production-ready, it will be announced as the successor to alchemical-analysis and rebranded (think of flamel as the code name for the alchemical-analysis succession)

Initial priorities

@davidlmobley
Copy link
Member

@hannahbaumann you might be interested in the comment just prior. I'll talk with you about it.

@orbeckst
Copy link

I added notes to https://github.com/alchemistry/alchemlyb/wiki/Roadmap – please add anything that I have missed.

@mrshirts
Copy link
Contributor

Hi, all- I ended in not being able to join the call, but happy to help out explain anything in alchemical analysis relating to the actual implementation of the analysis and why it's set up the way it is.

@harlor
Copy link
Contributor Author

harlor commented Nov 15, 2018

I added some points to the Desired alchemical-analysis features in https://github.com/alchemistry/alchemlyb/wiki/alchemical-analysis-features.

@harlor
Copy link
Contributor Author

harlor commented Nov 15, 2018

with these changes it would be possible to compare the alchemlyb free energy estimations with alchemical-analysis. It would be great to have tests that cover the "main" alchemical-analysis functionality soon.

@davidlmobley
Copy link
Member

@harlor what tests do we need, specifically?

@harlor
Copy link
Contributor Author

harlor commented Nov 16, 2018

@harlor what tests do we need, specifically?

Once the parser and TI is working in alchemlyb I will open issues for that.

I just wanted to point out that I find it highly desirable to implement tests that compare intermediate results and final results with values that can also be produced with alchemical-analysis.

For example I know the free energy estimation results for the dataset alchemistry/alchemtest#30 (without_energy) from alchemical-analysis:

------------ --------------------- --------------------- 
   States           TI (kJ/mol)         MBAR (kJ/mol)    
------------ --------------------- --------------------- 
   0 -- 1         0.074  +-  0.005      0.071  +-  0.003 
   ...
  36 -- 37       -5.472  +-  0.038     -5.457  +-  0.028 
------------ --------------------- --------------------- 
  Coulomb:      -41.067  +-  0.180    -41.096  +-  0.170 
  vdWaals:       11.912  +-  0.160     12.022  +-  0.139 
    TOTAL:      -29.154  +-  0.241    -29.074  +-  0.220

What I want to do is to work towards tests in alchemlyb that check for these values.

@davidlmobley
Copy link
Member

I just wanted to point out that I find it highly desirable to implement tests that compare intermediate results and final results with values that can also be produced with alchemical-analysis.

I think this is a reasonable idea, though I'm actually headed towards being more confident that alchemlyb is giving correct answers than alchemical-analysis since the latter doesn't have any kind of automated testing framework in place, so if there were changes that resulted in its results being incorrect I would not know.

@harlor
Copy link
Contributor Author

harlor commented Nov 22, 2018

it's helpful that we have a reference - we should use that.

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

No branches or pull requests

4 participants