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

Add MD-SAPT to MDAKits #47

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
62 changes: 62 additions & 0 deletions mdakits/mdsapt/metadata.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Required entries
## str: name of the project (the respository name)
project_name: MD-SAPT
## List(str): a list of authors (or a link to the authors file)
authors:
- Alia Lescoulie
- Astrid Yu
- Ashley Ringer McDonald
## List(str): a list of maintainers
maintainers:
- Alia Lescoulie
- Ashley Ringer McDonald
## str: a free form description of the mdakit
description:
SAPT calculations on MD data using Psi4
## List(str): a list of keywords which describe the mdakit
keywords:
- SAPT
- protein
- quantum
## str: the license the mdakit falls under
license: GPL-3.0-or-later
## str: the link to the project's code
project_home: https://github.com/calpolyccg/MDSAPT
## str: the link to the project's documentation
documentation_home: https://mdsapt.readthedocs.io
## str: the type of documentation available [UserGuide, API, README]
documentation_type: UserGuide + API

# Optional entries
## List(str): a list of commands to use when installing the latest
## release of the code. Note: only one installation method can currently
## be defined. We suggest using conda/mamba where possible.
install:
- mamba install -c psi4/label/dev -c conda-forge mdsapt
## List(str): a list of commands to use when installing the mdakit from its
## source code.
src_install:
# required dependencies from environment.yaml
- mamba install -c psi4 -c conda-forge -c defaults "psi4>=1.6.1,<1.7" click numpy openmm pandas pdbfixer pytest pydantic pytest-cov pyyaml rdkit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question for @IAlibay : Is it correct to do the installation of dependencies before the source pip install if I don't want dependencies to be pip-installed? I'd love to be able to say mamba install -f environment.yml but to my knowledge that doesn't work (only works with mamba create). Because I have to list dependencies explicitly, I also have to explicitly add pinning (like for psi4). That looks a bit awkward and prone to breakage. Is there a better way?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 yes that is indeed a bit of a problem.

What would the desired workflow be here? Fetch the yaml file from the remote directory and create the environment using that? Or should we try to read the yaml file and install from there?

This is definitely something to be considered as part of the refactor.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the end of the day the package developers should be responsible for keeping the meta data in sync with the package installation. I’d rather keep our side simple and suggest that ultimately packages follow standard procedures. In the meantime explicit pinning should be fine as a temporary measure — if this gets the kit installed correctly.

- pip install git+https://github.com/calpolyccg/MDSAPT@master
orbeckst marked this conversation as resolved.
Show resolved Hide resolved
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the „develop“ CI installs your source (ie your master branch) and tests against the MDAnalysis develop branch! That’s the configuration to check for the segfault.

## str: the package name used to import the mdakit
import_name: mdsapt
## str: a specification for the range of Python versions supported by this MDAKit
python_requires: ">=3.8"
## str: a specification for the range of MDAnalysis versions supported by this MDAKit
mdanalysis_requires: ">=2.0.0"
## List(str): a list of commands to use when attempting to run the MDAKit's tests
run_tests:
- git clone latest
- pytest -v ./mdsapt/tests
## List(str): a list of commands to use to install the necessary dependencies required
## to run the MDAKit's tests
test_dependencies:
project_org: calpolyccg
## str: the development status of the MDAKit
development_status: Mature
## List(str) a list of publications to cite when using the MDAKit
publications:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

paper published?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not yet, were working on it

community_home:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe enable GitHub discussions on https://github.com/calpolyccg/MDSAPT ??

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I enabled discussions

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add an link to discussions?

## str: a link to the MDAKit's changelog
changelog: https://github.com/calpolyccg/MDSAPT/releases
Loading