prolint.core.groups¶
Atom group extensions for ProLint.
This module provides extended atom group classes with additional functionality for biomolecular interaction analysis.
Classes¶
Abstract base class for ProLint atom group operations. |
|
Extended MDAnalysis AtomGroup with additional ProLint functionality. |
Module Contents¶
- class prolint.core.groups.PLAtomGroupBase[source]¶
Bases:
abc.ABCAbstract base class for ProLint atom group operations.
Defines the interface for atom group manipulation methods used throughout ProLint.
- abstractmethod add(resname: str | list[str] | None = None, atomname: str | list[str] | None = None, resnum: int | list[int] | None = None, atomids: int | list[int] | None = None) ExtendedAtomGroup[source]¶
Add atoms to the atom group.
- Parameters:
- Returns:
New atom group with added atoms.
- Return type:
- abstractmethod remove(resname: str | list[str] | None = None, atomname: str | list[str] | None = None, resnum: int | list[int] | None = None, atomids: int | list[int] | None = None) ExtendedAtomGroup[source]¶
Remove atoms from the atom group.
- Parameters:
- Returns:
New atom group with specified atoms removed.
- Return type:
- abstractmethod get_resnames(resids: Iterable[int], out: type[list] | type[dict] = list) list[str] | Dict[int, str][source]¶
Get residue names for given residue IDs.
- abstractmethod get_resids(resname: str) numpy.ndarray[source]¶
Get residue IDs for a given residue name.
- Parameters:
resname (str) – Residue name to look up.
- Returns:
Array of residue IDs matching the residue name.
- Return type:
ndarray
- abstractmethod get_all_resids(resnames: Iterable[str], out: type[list] | type[dict] = list) list[numpy.ndarray] | Dict[str, numpy.ndarray][source]¶
Get residue IDs for multiple residue names.
- abstractmethod filter_resids_by_resname(resids: Iterable[int], resname: str) numpy.ndarray[source]¶
Filter residue IDs to keep only those matching a residue name.
- property unique_resnames: numpy.ndarray[source]¶
- Abstractmethod:
Unique residue names in the atom group.
- Returns:
Array of unique residue names.
- Return type:
ndarray
- property resname_counts: collections.Counter[source]¶
- Abstractmethod:
Count of residues for each residue name.
- Returns:
Mapping of residue name to count.
- Return type:
Counter
- class prolint.core.groups.ExtendedAtomGroup(*args: Any, **kwargs: Any)[source]¶
Bases:
MDAnalysis.AtomGroup,PLAtomGroupBaseExtended MDAnalysis AtomGroup with additional ProLint functionality.
Provides enhanced methods for manipulating and querying atom selections, with cached properties for efficient repeated access.
- Parameters:
Examples
>>> from prolint import Universe >>> u = Universe("topology.gro", "trajectory.xtc") >>> u.database.unique_resnames array(['POPC', 'POPE', 'CHOL'], dtype='<U4') >>> u.database.resname_counts Counter({'POPC': 128, 'POPE': 64, 'CHOL': 32})
Add atoms:
>>> extended = u.database.add(resname="DPPC")
Remove atoms:
>>> filtered = u.database.remove(resname="CHOL")
See also
Universe.queryQuery atom group (typically protein)
Universe.databaseDatabase atom group (typically lipids)
- add(resname: str | list[str] | None = None, atomname: str | list[str] | None = None, resnum: int | list[int] | None = None, atomids: int | list[int] | None = None) ExtendedAtomGroup[source]¶
Add atoms to the atom group.
See
PLAtomGroupBase.add()for parameter documentation.
- remove(resname: str | list[str] | None = None, atomname: str | list[str] | None = None, resnum: int | list[int] | None = None, atomids: int | list[int] | None = None) ExtendedAtomGroup[source]¶
Remove atoms from the atom group.
See
PLAtomGroupBase.remove()for parameter documentation.
- get_resnames(resids: Iterable[int], out: type[list] | type[dict] = list) list[str] | Dict[int, str][source]¶
Get residue names for given residue IDs.
See
PLAtomGroupBase.get_resnames()for parameter documentation.
- get_resids(resname: str) numpy.ndarray[source]¶
Get residue IDs for a given residue name.
See
PLAtomGroupBase.get_resids()for parameter documentation.
- get_all_resids(resnames: Iterable[str], out: type[list] | type[dict] = list) list[numpy.ndarray] | Dict[str, numpy.ndarray][source]¶
Get residue IDs for multiple residue names.
See
PLAtomGroupBase.get_all_resids()for parameter documentation.
- filter_resids_by_resname(resids: Iterable[int], resname: str) numpy.ndarray[source]¶
Filter residue IDs to keep only those matching a residue name.
See
PLAtomGroupBase.filter_resids_by_resname()for parameter documentation.
- property unique_resnames: numpy.ndarray[source]¶
Unique residue names in the atom group.
- Returns:
Array of unique residue names.
- Return type:
ndarray
- property resname_counts: collections.Counter[source]¶
Count of residues for each residue name.
- Returns:
Mapping of residue name to count.
- Return type:
Counter