MolecularDiffusion.utils.smilify¶
Attributes¶
Exceptions¶
Common base class for all non-exit exceptions. |
Classes¶
Functions¶
|
|
|
|
|
Return covalent radius (Å) for a chemical symbol (via ASE). |
|
|
|
Return an (n, n) bond‐order matrix, using Open Babel if available. |
|
|
|
|
|
|
|
Assume neutral molecule |
|
Convert XYZ to mol using cell2mol with optional timeout. |
|
Module Contents¶
- exception MolecularDiffusion.utils.smilify.TimeoutException¶
Bases:
ExceptionCommon base class for all non-exit exceptions.
Initialize self. See help(type(self)) for accurate signature.
- class MolecularDiffusion.utils.smilify.Molecule(symbols: List[str], positions: torch.Tensor, *, scale: float = 1.2, total_charge: int = 0)¶
- bond_matrix¶
- num_atoms¶
- positions¶
- rdkit_mol¶
- symbols¶
- total_charge = 0¶
- MolecularDiffusion.utils.smilify.check_connected(am, tol=1e-08)¶
- MolecularDiffusion.utils.smilify.check_symmetric(am, tol=1e-08)¶
- MolecularDiffusion.utils.smilify.cov_radius(symbol: str) float¶
Return covalent radius (Å) for a chemical symbol (via ASE).
- MolecularDiffusion.utils.smilify.get_cutoffs(z, radii=ase.data.covalent_radii, mult=1)¶
- MolecularDiffusion.utils.smilify.guess_bond_matrix(symbols: List[str], positions: torch.Tensor, *, scale: float = 1.2, total_charge: int | None = None) torch.LongTensor¶
Return an (n, n) bond‐order matrix, using Open Babel if available. If total_charge is given, we tell OBMol about it so it can distribute formal charges when perceiving bond orders.
- MolecularDiffusion.utils.smilify.read_xyz_ob(path: os.PathLike | str) Tuple[List[str], torch.Tensor]¶
- MolecularDiffusion.utils.smilify.simple_idx_match_check(rdkit_mol, ase_symbols)¶
Check that RDKit atom order matches the ASE symbol list exactly.
- MolecularDiffusion.utils.smilify.simple_idx_match_check(mol, ase_atoms)¶
- MolecularDiffusion.utils.smilify.smilfy_xtb(filename)¶
Assume neutral molecule If fails, change charge to +1 (there could be a better method to detect charge as either +1 or-1)
Then if fails again, loosen the critaria to not sanitize the molecule.
- MolecularDiffusion.utils.smilify.smilify_cell2mol(filename, z=None, coordinates=None, timeout=30, total_charge=0)¶
Convert XYZ to mol using cell2mol with optional timeout.
- MolecularDiffusion.utils.smilify.smilify_openbabel(filename)¶
- MolecularDiffusion.utils.smilify.TIMEOUT = 300¶
- MolecularDiffusion.utils.smilify.bond_dict¶
- MolecularDiffusion.utils.smilify.lg¶