pub trait StructureFeatures {
// Required methods
fn decode_amino_acids(&self, device: &Device) -> Result<Tensor>;
fn encode_amino_acids(&self, device: &Device) -> Result<Tensor>;
fn create_cb(&self, device: &Device) -> Result<Tensor>;
fn featurize_lmpnn(&self, device: &Device) -> Result<ProteinFeatures>;
fn get_res_index(&self) -> Vec<u32>;
fn to_numeric_backbone_atoms(&self, device: &Device) -> Result<Tensor>;
fn to_numeric_atom37(&self, device: &Device) -> Result<Tensor>;
fn to_numeric_ligand_atoms(
&self,
device: &Device,
) -> Result<(Tensor, Tensor, Tensor)>;
}Expand description
. Trait defining Protein->Tensor utilities useful for Machine Learning
Required Methods§
Sourcefn decode_amino_acids(&self, device: &Device) -> Result<Tensor>
fn decode_amino_acids(&self, device: &Device) -> Result<Tensor>
Convert amino acid sequence to numeric representation
Sourcefn encode_amino_acids(&self, device: &Device) -> Result<Tensor>
fn encode_amino_acids(&self, device: &Device) -> Result<Tensor>
Convert amino acid sequence to numeric representation
Sourcefn create_cb(&self, device: &Device) -> Result<Tensor>
fn create_cb(&self, device: &Device) -> Result<Tensor>
Convert amino acid sequence to numeric representation
Sourcefn featurize_lmpnn(&self, device: &Device) -> Result<ProteinFeatures>
fn featurize_lmpnn(&self, device: &Device) -> Result<ProteinFeatures>
Prepare for ProteinMPNN
Sourcefn get_res_index(&self) -> Vec<u32>
fn get_res_index(&self) -> Vec<u32>
Get residue indices
Sourcefn to_numeric_backbone_atoms(&self, device: &Device) -> Result<Tensor>
fn to_numeric_backbone_atoms(&self, device: &Device) -> Result<Tensor>
Extract backbone atom coordinates (N, CA, C, O)
Sourcefn to_numeric_atom37(&self, device: &Device) -> Result<Tensor>
fn to_numeric_atom37(&self, device: &Device) -> Result<Tensor>
Extract all atom coordinates in standard ordering
Sourcefn to_numeric_ligand_atoms(
&self,
device: &Device,
) -> Result<(Tensor, Tensor, Tensor)>
fn to_numeric_ligand_atoms( &self, device: &Device, ) -> Result<(Tensor, Tensor, Tensor)>
Extract ligand atom coordinates and properties
Implementations on Foreign Types§
Source§impl StructureFeatures for AtomCollection
impl StructureFeatures for AtomCollection
Source§fn decode_amino_acids(&self, device: &Device) -> Result<Tensor>
fn decode_amino_acids(&self, device: &Device) -> Result<Tensor>
Decode amino acid integer indices back to one-letter codes as ASCII bytes.
This is the inverse of encode_amino_acids. It iterates over the amino acid
residues in the structure, converts each three-letter residue name to a
one-letter code, then encodes it as an integer via aa1to_int, decodes it
back via int_to_aa1, and returns the ASCII byte values in a tensor of
shape [1, n] where n is the number of amino acid residues.
Unknown residues map to the sentinel index 20, which decodes to 'X' (ASCII 88).
Source§fn encode_amino_acids(&self, device: &Device) -> Result<Tensor>
fn encode_amino_acids(&self, device: &Device) -> Result<Tensor>
Convert amino acid sequence to numeric representation
Source§fn get_res_index(&self) -> Vec<u32>
fn get_res_index(&self) -> Vec<u32>
Get residue indices
Source§fn to_numeric_backbone_atoms(&self, device: &Device) -> Result<Tensor>
fn to_numeric_backbone_atoms(&self, device: &Device) -> Result<Tensor>
create numeric Tensor of shape [1,
Source§fn to_numeric_atom37(&self, device: &Device) -> Result<Tensor>
fn to_numeric_atom37(&self, device: &Device) -> Result<Tensor>
create numeric Tensor of shape [1,
fn featurize_lmpnn(&self, device: &Device) -> Result<ProteinFeatures>
fn to_numeric_ligand_atoms( &self, device: &Device, ) -> Result<(Tensor, Tensor, Tensor)>
Source§impl StructureFeatures for Model
Delegate all StructureFeatures methods to an AtomCollection adapter.
impl StructureFeatures for Model
Delegate all StructureFeatures methods to an AtomCollection adapter.
This lets callers pass a &Model directly to ML featurisation routines
without manually calling AtomCollection::from(&model) at every call site.