torchref.restraints.builders_numba module
Fast Restraint Builder Classes using NumPy and Numba
This module provides optimized builder classes that avoid Pandas operations in the hot loop.
- torchref.restraints.builders_numba.find_atom_index(atom_names, target)[source]
Find index of target atom name in array.
Returns -1 if not found.
- torchref.restraints.builders_numba.match_bonds_numba(residue_atom_names, residue_atom_indices, bond_atom1, bond_atom2, bond_values, bond_sigmas, out_idx1, out_idx2, out_refs, out_sigmas)[source]
Match bond restraints for a single residue.
Returns number of matched bonds.
- torchref.restraints.builders_numba.match_angles_numba(residue_atom_names, residue_atom_indices, angle_atom1, angle_atom2, angle_atom3, angle_values, angle_sigmas, out_idx1, out_idx2, out_idx3, out_refs, out_sigmas)[source]
Match angle restraints for a single residue.
- torchref.restraints.builders_numba.match_torsions_numba(residue_atom_names, residue_atom_indices, torsion_atom1, torsion_atom2, torsion_atom3, torsion_atom4, torsion_values, torsion_sigmas, torsion_periods, out_idx1, out_idx2, out_idx3, out_idx4, out_refs, out_sigmas, out_periods)[source]
Match torsion restraints for a single residue.
- torchref.restraints.builders_numba.match_chirals_numba(residue_atom_names, residue_atom_indices, chiral_center, chiral_atom1, chiral_atom2, chiral_atom3, chiral_volume_signs, chiral_sigmas, out_center, out_idx1, out_idx2, out_idx3, out_signs, out_sigmas)[source]
Match chiral restraints for a single residue.
- class torchref.restraints.builders_numba.PreprocessedPDB(pdb)[source]
Bases:
objectPre-processed PDB data as NumPy arrays for fast access.
Converts DataFrame operations to array lookups.
- class torchref.restraints.builders_numba.PreprocessedCIF(cif_dict)[source]
Bases:
objectPre-processed CIF restraints as NumPy arrays.
Stores restraint data per residue type for fast lookup.
- class torchref.restraints.builders_numba.FastResidueIterator(preprocessed, filter_protein=False)[source]
Bases:
objectFast residue iterator using pre-processed PDB data.
- __init__(preprocessed, filter_protein=False)[source]
Initialize from preprocessed PDB.
- Parameters:
preprocessed (PreprocessedPDB) – Pre-processed PDB data.
filter_protein (bool) – If True, only iterate over ATOM records.
- class torchref.restraints.builders_numba.FastBondBuilder(verbose=0)[source]
Bases:
objectFast bond restraint builder using Numba.
- class torchref.restraints.builders_numba.FastAngleBuilder(verbose=0)[source]
Bases:
objectFast angle restraint builder using Numba.
- class torchref.restraints.builders_numba.FastTorsionBuilder(verbose=0)[source]
Bases:
objectFast torsion restraint builder using Numba.
- class torchref.restraints.builders_numba.FastPlaneBuilder(verbose=0)[source]
Bases:
objectFast plane restraint builder.
- process_residue(atom_names, atom_indices, cif_planes)[source]
Process plane restraints for a residue.
- class torchref.restraints.builders_numba.FastChiralBuilder(verbose=0)[source]
Bases:
objectFast chiral restraint builder using Numba.
- torchref.restraints.builders_numba.build_all_restraints_fast(pdb, cif_dict, device, verbose=0)[source]
Build all restraints using the fast implementation.
- Parameters:
pdb (pd.DataFrame) – PDB DataFrame.
cif_dict (dict) – CIF dictionary with restraints.
device (torch.device) – Target device.
verbose (int) – Verbosity level.
- Returns:
Dictionary with all restraint tensors.
- Return type: