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

Docs: add basic workflow tutorial #408

Merged
merged 6 commits into from
Aug 14, 2023
Merged

Conversation

rkingsbury
Copy link
Contributor

Summary

Draft "how to write a workflow tutorial" ported over from the WIP MP Contributor Guide

@codecov
Copy link

codecov bot commented Jun 27, 2023

Codecov Report

Merging #408 (74e7bb4) into main (896604a) will decrease coverage by 0.08%.
Report is 182 commits behind head on main.
The diff coverage is n/a.

❗ Current head 74e7bb4 differs from pull request most recent head 038d5de. Consider uploading reports for the commit 038d5de to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #408      +/-   ##
==========================================
- Coverage   64.95%   64.87%   -0.08%     
==========================================
  Files          74       74              
  Lines        7193     7192       -1     
  Branches      946      947       +1     
==========================================
- Hits         4672     4666       -6     
- Misses       2221     2228       +7     
+ Partials      300      298       -2     

see 2 files with indirect coverage changes

@Andrew-S-Rosen
Copy link
Member

Andrew-S-Rosen commented Jun 28, 2023

Looks great, @rkingsbury! One small comment, which may or may not be relevant for you.

There is a package called cclib that is a community-driven file I/O parser for molecular DFT calculations. It is an optional dependency of Atomate2, and I made a TaskDocument backed by cclib in atomate2.common.schemas.TaskDocument. So, if a user wants to develop a workflow for a new molecular DFT code that doesn't have an existing schema in emmet or in Atomate2, they can likely use this pretty much out-of-the-box. This is especially the case if there isn't already substantial support for that code in Pymatgen's file I/O parsers. A good example might be ORCA, Psi4, Gaussian, or NWChem calculations.

It might be nice to add this somewhere just so people know about it, but you also don't need to if you don't want to. I wanted to bring it up. It'd be a shame if someone wastes their time making an I/O parser for something that already exists and is actively supported by the broader community.

docs/dev/workflow_tutorial.md Outdated Show resolved Hide resolved
docs/dev/workflow_tutorial.md Outdated Show resolved Hide resolved
@rkingsbury
Copy link
Contributor Author

Thanks @arosen93 ! I made some updated per your suggestions, including adding language about cclib.

I will leave further refinements to others that have more hands-on experience with atomate2. Feel free to take what I have here and edit/modify/delete as you see fit!

@Andrew-S-Rosen
Copy link
Member

@rkingsbury: Thanks!! Looks good to me! My $0.02 is that it looks good to merge and then people can add to it!

@utf
Copy link
Member

utf commented Aug 14, 2023

Thanks @rkingsbury, this looks great.

@utf utf merged commit b99da1a into materialsproject:main Aug 14, 2023
@utf utf added the docs Improvements or additions to documentation label Sep 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants