pub struct IoContext { /* private fields */ }Expand description
Canonicalization state for residue names used during IO operations.
IoContext stores both the alias-to-canonical mapping as well as the
canonical-to-StandardResidue lookup so that structure builders can translate raw
residue labels into actionable metadata.
Implementations§
Source§impl IoContext
impl IoContext
Sourcepub fn new_default() -> Self
pub fn new_default() -> Self
Creates a context pre-populated with the built-in alias registry.
The registry covers variants for protonation, modifications, and common force-field naming conventions so that raw files parse into consistent structures.
§Returns
A context instance ready for use by IO helpers and downstream operations.
Sourcepub fn resolve_name<'a>(&'a self, name: &'a str) -> &'a str
pub fn resolve_name<'a>(&'a self, name: &'a str) -> &'a str
Resolves an input residue name to its canonical representative.
When the name is unknown the original string is returned unchanged, preserving user-provided labels for heterogens.
§Arguments
name- Raw residue identifier from an input file.
§Returns
A borrowed string slice representing the canonical code, or the original input when no alias mapping exists.
Sourcepub fn map_to_standard(&self, name: &str) -> Option<StandardResidue>
pub fn map_to_standard(&self, name: &str) -> Option<StandardResidue>
Maps a canonical residue name to its StandardResidue entry when possible.
Aliases must be resolved first; the lookup only matches canonical keys that were
registered via IoContext::new_default.
§Arguments
name- Canonical residue code returned byresolve_name.
§Returns
Some(StandardResidue) when the name matches a known polymer residue, otherwise
None for heterogens and custom ligands.
Sourcepub fn add_alias(
&mut self,
alias: impl Into<String>,
canonical: impl Into<String>,
)
pub fn add_alias( &mut self, alias: impl Into<String>, canonical: impl Into<String>, )
Adds or overrides an alias pointing to a canonical residue name.
This is useful when callers want to supply additional naming conventions without rebuilding the default table.
§Arguments
alias- The alternative label to match within input files.canonical- The canonical residue code the alias should resolve to.
Sourcepub fn classify_residue(
&self,
raw_name: &str,
) -> (String, Option<StandardResidue>)
pub fn classify_residue( &self, raw_name: &str, ) -> (String, Option<StandardResidue>)
Classifies a residue by returning the canonical name plus optional standard metadata.
This combines resolve_name and
map_to_standard to provide a single lookup step for IO
pipelines.
§Arguments
raw_name- The residue label read directly from an input structure file.
§Returns
A tuple containing the canonical residue name as an owned String and the optional
StandardResidue classification.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for IoContext
impl RefUnwindSafe for IoContext
impl Send for IoContext
impl Sync for IoContext
impl Unpin for IoContext
impl UnwindSafe for IoContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.