molsysmt.basic.where_is_attribute#
- molsysmt.basic.where_is_attribute(molecular_system, attribute, include_none=False, skip_digestion=False)[source]#
Locating the item where a specific attribute is found.
A molecular system can be composed of multiple items in different forms. This function returns the item and its form where the given attribute is available. If include_none is False, items that have the attribute but with value None will be ignored.
- Parameters:
molecular_system (molecular system) – Molecular system to be analyzed. It can be in any of the supported forms.
attribute (str) – Name of the attribute to search for within the molecular system.
include_none (bool, default=False) – Whether to ignore items that have the attribute defined but its value is None. With default value False, such items will be ignored.
skip_digestion (bool, default=False) –
Whether to skip MolSysMT’s internal argument digestion mechanism.
MolSysMT includes a built-in digestion system that validates and normalizes function arguments. This process checks types, shapes, and values, and automatically adjusts them when possible to meet expected formats.
Setting skip_digestion=True disables this process, which may improve performance in workflows where inputs are already validated. Use with caution: only set this to True if you are certain all input arguments are correct and consistent.
- Returns:
item – The item in which the attribute was found.
str – The form of the item where the attribute was found.
Notes
Supported molecular-system forms are described in Forms.
If multiple items contain the same attribute, the last matching one is returned.
If no item contains the attribute both outputs will be None.
See also
molsysmt.basic.has_attribute()
Checking whether a molecular system contains a given attribute.
molsysmt.basic.get_attributes()
Retrieving the list of attributes present in a molecular system.
Examples
>>> import molsysmt as msm >>> from molsysmt import systems >>> structure = systems['pentalanine']['pentalanine.inpcrd'] >>> topology = systems['pentalanine']['pentalanine.prmtop'] >>> molecular_system = [topology, structure] >>> item, form = msm.basic.where_is_attribute(molecular_system, 'box') >>> form 'file:inpcrd' >>> item, form = msm.basic.where_is_attribute(molecular_system, 'atom_id') >>> form 'file:prmtop'
Tutorial with more examples
See the following tutorial for a practical demonstration of how to use this function, along with additional examples: Where is attribute
Added in version 1.0.0.