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

List available QC specs #220

Open
mattwthompson opened this issue Jan 25, 2023 · 3 comments
Open

List available QC specs #220

mattwthompson opened this issue Jan 25, 2023 · 3 comments
Labels
documentation Improvements or additions to documentation

Comments

@mattwthompson
Copy link
Member

Description

It would be useful to have an API or CLI point that lists the available QC methods. Second to that, it could be documented in a static file.

Currently you need a fair amount of familiarity with the package and the rest of our ecosystem to know what methods are available. Some docstrings (i.e. here) and other docs imply a short list of supported specs but I don't think there's any centralized way to query what is and is not supported by what is currently installed on a machine.

@mattwthompson mattwthompson added the documentation Improvements or additions to documentation label Jan 25, 2023
@Yoshanuikabundi
Copy link
Contributor

There is the docs installation page, which suggests how to install compatible QC engines, but it doesn't say how to specify them, and I agree that a CLI/API point would be really nice.

@jthorton
Copy link
Contributor

Since we run everything via qcengine you can check this using the CLI in that package qcengine info will list the available packages which can be used to generate data, we could just add this to the docs?

@mattwthompson
Copy link
Member Author

Do I need an extra dependency here?

$ conda list | grep qc && qcengine info
openff-qcsubmit           0.4.1              pyhd8ed1ab_0    conda-forge
qcelemental               0.25.1             pyhd8ed1ab_1    conda-forge
qcengine                  0.26.0             pyhd8ed1ab_0    conda-forge
qcportal                  0.15.8             pyhd8ed1ab_0    conda-forge
>>> Version information
QCEngine:    v0.26.0
QCElemental: v0.25.1

>>> Program information
Available programs:
Traceback (most recent call last):
  File "/Users/mattthompson/mambaforge/envs/bespokefit-test/bin/qcengine", line 10, in <module>
    sys.exit(main())
  File "/Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/qcengine/cli.py", line 169, in main
    info_cli(args)
  File "/Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/qcengine/cli.py", line 132, in info_cli
    info_programs()
  File "/Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/qcengine/cli.py", line 88, in info_programs
    version = program.get_version()
  File "/Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/qcengine/programs/gcp.py", line 70, in get_version
    raise UnknownError(f"Could not identify GCP version

Looks like I have the same issue reported upstream, including the gcp alias I never manually set. I also had another gcp, this one some special version of cp included in GNU coreutils. Anyway, that works nicely once the dust on my machine is blown off:

$ qcengine info programs
>>> Program information
Available programs:
rdkit:       v2022.9.4             /Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/rdkit/__init__.py
xtb:         v20.2                 /Users/mattthompson/mambaforge/envs/bespokefit-test/lib/python3.9/site-packages/xtb/__init__.py

Other supported programs:
adcc cfour dftd3 dftd4 entos gamess gcp mctc-gcp molpro mopac mp2d mrchem nwchem openmm psi4 qchem qcore s-dftd3 terachem terachem_fe terachem_pbs torchani turbomole

If you think available programs are missing, query for details: `python -c "import qcengine as qcng; qcng.get_program('<program>')"`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants