| from abc import ABC, abstractmethod | |
| from typing import Optional | |
| import numpy as np | |
| from boltzgen.data.data import Tokenized | |
| class Selector(ABC): | |
| """Abstract base class for cropper.""" | |
| def select( | |
| self, | |
| data: Tokenized, | |
| random: np.random.Generator, | |
| chain_id: Optional[int] = None, | |
| interface_id: Optional[int] = None, | |
| ) -> Tokenized: | |
| """Select which part of tokenized should be designed | |
| Parameters | |
| ---------- | |
| data : Tokenized | |
| The tokenized data. | |
| random : np.random.Generator | |
| The random state for reproducibility. | |
| Returns | |
| ------- | |
| Tokenized | |
| The data with updated design entry. | |
| """ | |
| raise NotImplementedError | |