- Added automatic model downloading from HuggingFace Hub with
load_model(),get_model_info(), andclear_model_cache()functions - Removed model weights from git history to reduce repository size - users should re-clone the repository
- Added ability for interrupting inference with improved UI to Streamlit app
- Added an easy-to-use app for demonstration purposes
- Refactored ShEPhERD inference code to be more modular (backwards compatible).
- The original inference code can still be imported:
from shepherd.inference import inference_sample - New inference functions can be imported with:
from shepherd.inference import generatefrom shepherd.inference import generate_from_intermediate_time
- The original inference code can still be imported:
- Inference now supports atom and bond inpainting
generateis updated to allow atom inpainting from t=Tgenerate_from_intermediate_timeis specialized to allow atom inpainting from an intermediate time (T ≤ t < 0)
- Inference can store full diffusion trajectories by setting
return_trajectories=Trueduring sampling. shepherd.extract- Added
remove_side_groups_with_geometry - Added
remove_overlapsto quickly filter sampled molecules that use atom-inpainting.
- Added
- Refactored ShEPhERD (aided by Matthew Cox's fork: https://github.com/mcox3406/shepherd/)
- Updated import statements: throughout repo to import directly from
shepherdassuming local install. - Fix depreciation warnings:
torch.load()->torch.load(weights_only=True)@torch.cuda.amp.autocast(enabled=False)->@torch.amp.autocast('cuda', enabled=False)
- Training scripts
- Updated
src/shepherd/datasets.pyfor higher versions of PyG. Required changes to the batching functionality for edges (still backwards compatible). - Slight changes to
training/train.pyfor upgraded versions of PyTorch Lightning.
- Updated
- Updated import statements: throughout repo to import directly from
- Model checkpoints have been UPDATED for PyTorch Lightning v2.5.1
- The original checkpoints for PyTorch Lightning v1.2 can be found in previous commits (
c3d5ec0or before), the original publication Release, or at the Dropbox data link: https://www.dropbox.com/scl/fo/rgn33g9kwthnjt27bsc3m/ADGt-CplyEXSU7u5MKc0aTo?rlkey=fhi74vkktpoj1irl84ehnw95h&e=1&st=wn46d6o2&dl=0
- The original checkpoints for PyTorch Lightning v1.2 can be found in previous commits (
- Created a basic unconditional generation test script
- Updated the environment and relevant files to be compatible with PyTorch >= v2.5.1
- Bug fix for
shepherd.datasets.HeteroDataset.__getitem__where x3 point extraction should useget_x2_data
Thank you to Matthew Cox for his contributions in the updated code.
- Added the ability to do partial inpainting for pharmacophores at inference.