Inclusion Updater (INU)#

The INU tool is implemented in inclusion_updater.py and is used to update inclusions.

CLI tool to place protein inclusions in membrane. Reads input.str for protein definitions and places new inclusions in the membrane.

Usage:

TS2CG INU -p point -t 0 -r 2 -N 10 -c 0.1 -o point_new -l both

Tools.inclusion_updater.INU(args: List[str]) None[source]#

Main entry point for protein inclusion tool

Tools.inclusion_updater.calculate_curvature_weights(curvatures: ndarray, target_curvature: float | None, k_factor: float) ndarray[source]#

Calculate Boltzmann weights based on curvature preference

Tools.inclusion_updater.get_nearby_points_both_leaflets(membrane: Point, leaflet: str, point_idx: int, radius: float) Dict[str, ndarray][source]#

Find points within radius in both leaflets from a point in the specified leaflet.

Args:

membrane: Membrane Point object leaflet: Which leaflet the center point is in (‘inner’ or ‘outer’) point_idx: Index of the center point radius: Exclusion radius

Returns:

Dict with excluded points for each leaflet

Tools.inclusion_updater.get_points_near_existing_proteins(membrane: Point, radius: float) Dict[str, Set[int]][source]#

Get points that are too close to existing proteins in any leaflet

Tools.inclusion_updater.pbc_wrap(membrane)[source]#

Wrap membrane coordinates into the primary box

Tools.inclusion_updater.place_proteins(membrane: Point, type_id: int, radius: float, num_proteins: int | None = None, target_curvature: float | None = None, k_factor: float = 1.0, leaflet: str = 'both') Dict[str, int][source]#

Place proteins in membrane with given constraints