Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update README.md Change the recommended threshold for anomaly detection. * Update flag_anomaly.py Update surface atom movement threshold for surface reconstruction detection. * changes to make OC-Dataset compatiable with newer version of ASE and pymatgen * move test folder into ocdata for easier import of the helper functions (#46) * implemented changes * updating with reverse method applied too * lint * making requested updates * Initial commit * Update and rename LICENSE to LICENSE.md * Update README.md * Update README.md * add model configs * pre-commit checks * Upload OC20-Dense dataset links * Add metadata information * readme typo * Update mapping checksum * adsorbml eval script * update docstring * Update README.md * add scripts and readme initial version * add utility script * some documentation * Update README.md * Update README.md * Create README.md * Update README.md * Update README.md * Update README.md * pre-commit hooks * fix eval ionic speedup * update db/pkls to new ASE * random placement code * update READMEs * rename var for consistency * add pointer to pretrained checkpoints * Update MODELS.md * add ml+sp success rates * Bugfix: sample at least 1 site when no. of simplices > num_sites * Bufix: pymatgen expects rotation angle in radians not degrees * Shuffle sites before returning num_sites * ceil instead of floor * set center of mass to 0,0,0 before placing adsorbate * add setup file * reorg for setup * set binding adsorbate to site * update com docs * inplace bufix * eval backwards compatibility fix * adding notebook * updating some small stuff * fix min_diff abs ordering; fmax on only moveable atoms; minor readme fixes * Placement code refactor (#62) * Reorganizes db files a little bit * flake8 config * Reorganize + lint old tests * Separating out core classes + runner code * default python gitignore * Runner scripts in a separate folder * Bulk refactor * Renames surfaces to surface * Default paths * Specify types in core.Bulk * core.Adsorbate refactor + init tests * Surface --> slab in core.Bulk * core.Surface refactor * Copy over atoms when initializing bulk / adsorbate * Some helper functions for adsorbate, bulk, surface * Adslab generation, including rigid body rotations along x, y, z * Structure --> core.Adslab * More renaming * Docs * vasp_flags change from main * remove comment * adding my changes since they are pretty extensive. Needs testing still. * operational. Known issue: itersecting with atoms outside of the simplex - easy fix anticipated * making proximate placement optional since it has the small issue * commit for posterity, changing approach * new approach works well, but definitely clunky. Still needs testing. * init ci config * install typo * pass black * cache ci build * add ci badge * update tests, paths, bulk db * relative ci path * ci directory structure fix * set precomputed defaults to None * update adslab test, add vasp test * downgrade codecov * rename db folder, import error * Rename `Surface`-->`Slab`, `Adslab`-->`AdsorbateSlabConfig` * Moves a lot of the slab creation logic to the Slab object * Pull symbols and covalent radii from ase instead of hardcoding it here * Makes surface tagging modular * Initializing a slab from ase.Atoms * Minor update to how Slabs are initialized from atoms directly * Return adsorbate smiles if available * Pmg placement heuristics: on-top, bridge, hollow sites + binding atoms * Updates test_inputs to latest api * Pass tests * update conversion script * Removes hardcoded min_xy * Constrains heuristic rotations around x and y * bugfix: bulk_id_from_db wasn't getting set when randomly sampling a bulk * explicitly solving for the point of intersection * cleaned up docs * making it work with heuristic and fixing par propagation * Fix undersampling around the edges * Update bulks pkl * Drop unused constants * Updates docstring * Fix seed to set kpoints deterministically * Remove unused functions from vasp utils * AdsorbateSlabConfig doc update * all functional - will clean up docs and what args are passed * all cleaned up. some bad placements possible. need to investigate * added runner script (docstrings not finalized yet) * correctly center at site * bugs with placement * generate from file of indices * correcting adsorbate position for projection * cleaning up overlap function * adding tests + cleanup * return missing * pool for runner script, and formatting * add codecov badge * uncommenting because this edge case still exists * save precomputed surfaces if doesn't exist * adding intercalation test and moving anomaly detection * formatting :) * formatting :) :) * save tiled and tagged slabs, only tile one for random if not saving * tqdm support for driver script * New mode: random sites + heuristic adsorbate placement * making bidentate a random choice * Adsorbate is already moved to site; avoid extra param * add precompute slab logic * add missing pool * save out site and sampled rotation angles to metadata * Uniformly random 3d rotations * bug fix - now check for atoms withing interstitial gap to solve for intersections * make bulk db searchable by src id * adding adsorbate searchability via SMILES * adding bulk docs * removing check for 2D materials since we plan to just catch errors at anomaly detection * adding ability to enumerate specific miller indices * set default and flags for random placement rotations * write surface inputs as part of precompute step * rand site+heur diff prefix * delete file only if it exists * adding binding index selection to adosrbate class for the case where atoms are provided as input. * Updating readme to reflect current repo state * updates to readme api * remove outdated precomputed surfaces from readme * Make things pip-installable * Readme pass * Minor updates to readme * Pass on ocdata.core docs * Link to the OC20 commit * Minor * Version bump --------- Co-authored-by: Abhishek Das <[email protected]> Co-authored-by: Brook Wander <[email protected]> Co-authored-by: Janice Lan <[email protected]> * Fix repo badges (#64) * remove old dataset logic * updates imports * rm unnecessary lines * requested changes from Muhammed * log successful completion * adding output * removing paths * add ml-only success metric * rename to free atoms * initial changes - think this looks much faster * cleaning up timing * black on files I havent changed * add no vasp flag to precompute slabs * Fix NH2NH2 naming and add reaction strings to adsorbates pkl (#67) * fix NH2NH2 naming * rm ase dbs, add reaction string * rm conversion script * resolve failing tests * Allow pre-loaded databases in initializers Bulk and Adsorbate initializers accept a path to database stored in a pkl file. This adds an option to instead pass in an already-loaded database to support cases where they are being read outside of these classes. * Fix test for new adsorbate db structure * Backwards compatibility for adsorbate db (#70) * Backwards compatibility for adsorbate db Open-Catalyst-Project/Open-Catalyst-Dataset#67 added support for reaction strings in adsorbate database entries. Tuple unpacking in the Adsorbate initializer assumes length 4 (after the reaction string was added). Older databases will be missing the reaction string and the initializer will raise when they are used. This makes the initializer backwards compatible with older databases, saving the reaction string only if present. * _save_adsorbate -> _load_adsorbate * adding 2023 neurips challenge folder with eval script and mapping/target files * adding a readme for challenge_eval script * Initial commit * Add Client and get_bulks method * Use common test cases for client method There are a few test cases that we'll want to run against each client method: unexpected response code, exception raised in client, and successful response. This adds a function that runs all cases for each client method, rather than copying the code around for each test. * Add support for GET /ocp/adsorbates * Remove try/catch when reading api response This was left over from parsing the response with an assumption that is was json serialized. Now we are just fetching the plain text in the response. * Removed defaults in data models After getting through a few more data structures in the API, there are enough fields without reasonable defaults that I think it makes sense to removed defaults. We'll still handle the addition of new fields, but removal of a field, if that happens at some point, will require users to upgrade their library version. * Add support for slab enumeration * Add support for enumerating adsorbate slab configs * Add support for submitting relaxations * Add support for fetching relaxation results * Add support for deleting relaxations * Simplify model naming * Add support for fetching relaxation requests * Add doc for exceptions in client methods * Add more type hints to client * Add exception type for rate limited api calls * Add exception type for calls that cannot be retried * Add public api to __init__ file * Add retry decorator for calls to the ocp api * Create client module * Add workflows for adsorbate slab relaxations * Add context to log statements * Add logging for rate limited requests * Return adsorbate details from workflow * Add quickstart to readme * Rename filter on miller indices * Add file IO example to README * Rename AdsorbateConfiguration to AdsorbateSlabRelaxation * Add default client to public workflow methods * Add lifetime to find_adsorbate_binding_sites * Add integration tests for workflows * Add unit tests for context.py * Add unit tests for retry.py * Add "slab" to public workflow names * Add unit tests for adsorbates.py * Add support for omitted_config_ids fields * Add progress bar that tracks finished relaxations * Add note about asyncio to readme * Add methods to convert to ase.Atoms objects * Add forces/energies to ase.Atoms when possible * Add FixAtom constraint to sub-surface atoms * Do not flatten relaxation results across slabs * Configure setuptools to make the package pip-installable (#11) * Initial setup.py * Readme note * Remove env yaml * Make sure to run relaxations with tagged slabs * Create client with scheme and host Previously the Client initializer took the full base URL as input. This splits into scheme and host inputs. Later we'll use the host to map API urls to UI urls. * Add method to get UI results URL Adds a method that returns the URL at which results can be visualized. * Add URLs to workflow outputs Adds the API host and UI URL for each set of relaxations (system in API terminology). * Use equiformer v2 as the default model type * Pypi distribution (#15) * pypi install update + add license, citing info to setup, readme * Add patch id to version * Implement remaining unit tests * Add circleci config * Add circlci badge and code coverage * Check allowed models against server side list * More general slab filtering The old slab_filter interface accepted a single slab and returned True/False to keep/reject it. This updates the interface to accept a list of adslabs and return a list of adslabs, allowing for operations on the entire set, including on individual adsorbate configs if needed. * Add prompt_for_slabs_to_keep filter Changes the default behavior of find_adsorbate_binding_sites() to prompt users for the set of slabs that they want to submit. * Update docs about "adslab" * Documentation fixes Adds a note to the README about the supported bulks and adsorbates, fixes some language in documentation throughout the package, and modifies some docstrings so that they work well with sphinx documentation generators. * Release v1.0.0 * Initial commit * Added force field evaluation code (#1) * Added force field evaluation code --------- Co-authored-by: Anuroop Sriram <[email protected]> * Add files via upload * skip vasp surface inputs + Pymatgen install fix (#72) * skip vasp surface inputs * fix logic * fix ci * ci debug: * snapshot pymatgen version * ci debug * pmg conda install * pmg install ci debug * update pmg debug * pass tests * missing tests * test fix * update shift * Add files via upload * Add files via upload * Add files via upload * Support for placing multiple adsorbates (#74) * initial multi-adsorbate placement * support for multi configurations * add multi-ads coverage tests * update docstring * typo * update metadata dict * adsorbate argument to placement * Remove unused imports * Remove more unused imports * update docs * indent * Update README.md * Update README.md * init commit * pre-commit hooks * add license * add gitignore * Add initial Architector examples for testing (#1) * Add initial Architector examples for testing * rm checkpoint --------- Co-authored-by: Muhammed Shuaibi <[email protected]> * add MIT license (#77) * add MIT license * add license to readme * add orca recipes (#3) * add orca recipes * more docs * explicit setup, directory * version fix * support quacc==0.7.2 * include pkls in pip setup (#81) * [BE] Remove hardcoded paths (#82) * include pkls in pip setup * remove hardcoded paths * remove unused configs * fix test imports * be moving too fast * use pyproject.toml * github actions * in workflows directory * in workflows directory * correct call to black * check only 3.9 * fix dependencies * ocdata not ocpdata * Store oriented unit bulk (#75) * save out oriented unit bulk * informational codecov * black diff * fix lint * test 3.9 only... * initial commit * moving stuff around and correcting paths * bare bones for validation -- files need updating * 3.9 - 3.11 * general updates * Add additional Orca keywors for population analysis/properties which add minimal cost (#4) * Add additional Orca keywors for population analysis/properties which add minimal cost * actually NormalPrint doesn't add useful things * update Sella optimizer to fmax 0.05 --------- Co-authored-by: Daniel Levine <[email protected]> * remove Field * all cleaned up -- should be ready for review * clearing cell output from tutorial notebook * clean up timing * reducing number of initial configs * updating file path approach to mirror new approach in ocdata * explicitly define sella kwargs (#7) * explicitly define sella kwargs * lower scf+max_steps * Support for custom Orca calculator (#6) * feje orca support * feje support * return results * updates per latest quacc * add nbo * move monkey patch to driver script, not recipes * pin ase+update quacc * clarify docs * Added supercell info file * Update README.md * scripts for sampling GEOM dataset (#5) * scripts for sampling geom * Update biomolecules/geom/sample_geom_drugs.py Co-authored-by: Daniel Levine <[email protected]> * minor updates based on review * updating geom scripts to new file structure * fixed level of sampling --------- Co-authored-by: Daniel Levine <[email protected]> * add sella * modify nbo input (#9) * Add printing of Reduced Mulliken and Lowdin populations for each orbital (#10) Also added Lowdin and Mulliken bond orders since they were the only population feature missing from the NormalPrint level. * mark slabs test xfail per pmg bug * assert approx * no pmg version, lint, remove circleci * grid3 * Update README.md fixing tutorial link and adding dataset download link * adding arXiv links to readme * add checksum * move to new src folder * rename imports for monorepo * fix up .gitignore @lbluque solved .pt include * folder promote ocpapi and open-catalyst-dataset * fixes to workflow * move main.py to root * add packages * ruff fixes * remove unused gitignore and pre-commit-config * move ocpapi readme * remove extra github workflows from data/oc * remove extra pyproject.toml and setup.py * move enviornment deps to packages --------- Co-authored-by: apalizha <[email protected]> Co-authored-by: Aini Palizhati <[email protected]> Co-authored-by: Brook Wander <[email protected]> Co-authored-by: Muhammed Shuaibi <[email protected]> Co-authored-by: Muhammed Shuaibi <[email protected]> Co-authored-by: Janice Lan <[email protected]> Co-authored-by: Janice Lan <[email protected]> Co-authored-by: Abhishek Das <[email protected]> Co-authored-by: Muhammed Shuaibi <[email protected]> Co-authored-by: Brook Wander <[email protected]> Co-authored-by: Brook Wander <[email protected]> Co-authored-by: Kyle Michel <[email protected]> Co-authored-by: Kyle Michel <[email protected]> Co-authored-by: Brandon Wood <[email protected]> Co-authored-by: anuroopsriram <[email protected]> Co-authored-by: anuroopsriram <[email protected]> Co-authored-by: Anuroop Sriram <[email protected]> Co-authored-by: Xiaohan Yu <[email protected]> Co-authored-by: Michael G. Taylor <[email protected]> Co-authored-by: lbluque <[email protected]> Co-authored-by: Daniel Levine <[email protected]> Co-authored-by: Brandon Wood <[email protected]> Co-authored-by: Daniel Levine <[email protected]> Co-authored-by: EC2 Default User <[email protected]> Former-commit-id: 0ededf69a58ecea9f41a509a8f01f08784d591ef
- Loading branch information