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

Brainstorming ideas/tasks for making physical validation a group project #40

Closed
mrshirts opened this issue Apr 24, 2020 · 15 comments
Closed

Comments

@mrshirts
Copy link
Contributor

mrshirts commented Apr 24, 2020

  • Adding continuous integration testing framework (from MolSSI cookie cutter)
  • Adding pytest tests to the CI
  • adding different nontrivial examples
    • checking replica exchange simulations
    • Checking a vapor phase simulation?
    • What else?
  • Improving the documentation at read the docs
  • Adding support for different molecular simulation tools
    • AMBER (just needs to be tested once we are given it by SiliconTherapeutics)
    • LAMMPS
    • HOOMD (can add angular kinetic energy validation)
  • perform pylint/black reformatting
  • Finish python3 conversion.
  • List the things from JOSS needed.
  • Make it conda-installable?
@mattwthompson
Copy link
Contributor

install_requires=[
'numpy',
'scipy',
'pymbar'
],

Are these the only dependencies? They are all on conda-forge already, so this could also maybe be put there

@ptmerz
Copy link
Member

ptmerz commented Apr 24, 2020

Yes, these are the only dependencies. Putting this on conda has been a long-standing to do, so we'd definitely want to finally do that.

@mrshirts
Copy link
Contributor Author

I think for a lot of the "doing software infrastructure right" sorts of things, it would be good to have more junior people do them, with advice/from the more senior developers (Matt/Pascal) - Matt and Pascal know how to do things like that already, others should learn the skills.

@mattwthompson
Copy link
Contributor

That's a good idea - unfortunately, I went ahead and got it started before seeing this, but there is still some work to be done. This is actually my first time putting something on conda-forge, which is quite a different setup than hosting on personal/organization channels.

That being said, if anybody is interested in the packaging side of things, I am happy to pass this on to them conda-forge/staged-recipes#11370

@SimonBoothroyd
Copy link
Member

SimonBoothroyd commented Apr 24, 2020

Before adding to conda forge, it may be good to we should probably upgrade to the MolSSI CMS - see #41

@SimonBoothroyd
Copy link
Member

@mrshirts @ptmerz was there a particular reason to go with LGPL rather than something like MIT?

@mattwthompson
Copy link
Contributor

Agreed, I think it may even be worthwhile to do a new release after some of these tweaks and before pushing it to conda-forge

@ptmerz
Copy link
Member

ptmerz commented Apr 24, 2020

Agreed on polishing things a bit and then making a release.

@ptmerz
Copy link
Member

ptmerz commented Apr 24, 2020

@SimonBoothroyd Part of the code is currently in the GROMACS repo - the package was shipped with GROMACS before it became a stand-alone package and has not yet been removed. (When we have a stable release, I'll make sure that GROMACS gets the package from pip rather than shipping an outdated version.) At the time, we chose the same license as GROMACS to keep things simple.

Licensing can certainly be rediscussed - should probably be a separate issue where we can discuss and come to a conclusion.

@mrshirts
Copy link
Contributor Author

That's a good idea - unfortunately, I went ahead and got it started before seeing this, but there is still some work to be done. This is actually my first time putting something on conda-forge, which is quite a different setup than hosting on personal/organization channels.

Well, if it's your first time doing things, then I think that's an appropriate thing to take on. :) There will be a lot of things like CI setup that can be done by others.

At this point, I'd focus mostly on brainstorming ideas of what can be done, and then people in the group can choose once it's laid out and Pascal has organized.

@mrshirts
Copy link
Contributor Author

Licensing can certainly be rediscussed - should probably be a separate issue where we can discuss and come to a conclusion.

Agreed. And we can license it differently to different people.

@mattwthompson
Copy link
Contributor

Might be interesting to see what happens when other style bots like LGTM are thrown at this. Some linting stuff leans aesthetic but there can be some practical value in the alerts from LGTM

@SimonBoothroyd
Copy link
Member

some practical value in the alerts from LGTM

I typically find flake8 catches most of the stuff that LGTM does (which is nice because you can run it locally before commits), but LGTM can be really nice for finding duplicate and unreachable code (although it can be prone to false negatives) which is super handy - so a combination of both would probably be a good idea.

@bencoscia
Copy link

To what extent is there interest or need for additional functionality beyond checking ensembles, integrators and kinetic energy distributions?

Personally, I'd like to stay away from the more mundane things (no offense) like converting and porting code and package development. Those tasks would likely be of greater benefit to somebody who will end up applying those skills to their PhD project.

I'm mostly thinking in terms of what I can reasonably contribute in the limited time I have left in the lab without detracting from the goals I want to achieve before passing off my PhD work. Would it make any sense to incorporate calculations of physical properties like viscosity and diffusivity, calculated according to best practices per livecoms? These could be simple checks to make sure that, in addition to preserving the thermodynamic ensemble, we are maintaining the expected kinetics.

@nabraham47
Copy link

I can help with the documentation and providing examples.

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

9 participants