pybilt.lipid_grid package

Submodules

pybilt.lipid_grid.lipid_grid module

Build lipid grids derived from COMFrame objects. Classes and functions to implement lipid COM gridding and analysis for lipid bilayers. This module defines version that build grids off of COMFrame objects and is meant primarily for internal use by the BilayerAnalyzer class. The gridding and anlaysis procedures are based on the descriptions given in Gapsys et al. J Comput Aided Mol Des (2013) 27:845-858, which is itself a modified version of the GridMAT-MD method by Allen et al. Vol. 30, No. 12 Journal of Computational Chemistry. However, I have currently left out bits of the extra functionality like the handling of an embedded proteins.

class pybilt.lipid_grid.lipid_grid.LipidGrid2d(com_frame, com_frame_indices, plane, nxbins=50, nybins=50)[source]

Bases: object

A 2d lipid grid object.

This object is used by the LipidGrids object to construct a 2d grid for a bilayer leaflet and assign lipids to it using the coordinates derived from a COMFrame representation object.

frame

Stores a local copy of the COMFrame object from which the the coordinate data and lipid type data is derived from.

Type

COMFrame

x_nbins

The number of grid bins in the ‘x’ dimension.

Type

int

y_nbins

The number of grid bins in the ‘y’ dimension.

Type

int

x_min

The lower boundary of the grid range in the ‘x’ dimension.

Type

float

x_max

The upper boundary of the grid range in the ‘x’ dimension.

Type

float

x_incr

The size of grid boxes (or spacing between grid points) in the ‘x’ dimension.

Type

float

x_centers

The center points of the grid boxes in the ‘x’ dimension.

Type

np.array

x_edges

The edges of the grid boxes in the ‘x’ dimension.

Type

np.array

x_centers

The centers of the grid boxes in the ‘x’ dimension.

Type

np.array

y_min

The lower boundary of the grid range in the ‘y’ dimension.

Type

float

y_max

The upper boundary of the grid range in the ‘y’ dimension.

Type

float

y_incr

The size of grid boxes (or spacing between grid points) in the ‘y’ dimension.

Type

float

y_centers

The center points of the grid boxes in the ‘y’ dimension.

Type

np.array

y_edges

The edges of the grid boxes in the ‘y’ dimension.

Type

np.array

y_centers

The centers of the grid boxes in the ‘y’ dimension.

Type

np.array

lipid_grid

A 2d array of size x_nbins*y_nbins that stores the index of lipids from the COMFrame that are assigned to each grid box.

Type

np.array

lipid_grid_z

A 2d array of size x_nbins*y_nbins that stores the z coordinate of the lipids assigned to each grid box.

Type

np.array

Initialize the LipidGrid2d object.

Parameters
  • com_frame (COMFrame) – The instance of COMFrame from which to pull the coordinates for lipids to use when building the grid.

  • com_frame_indices (list) – A list COMFrame lipid indices to include when building the grid.

  • plane (list) – The indices from the 3d coordinates for the coordinates that correspond to the bilayer lateral plane.

  • nxbins (Optional[int]) – The number of bins along the ‘x’ dimension, i.e. along the dimension corresponding to plane[0]. Defaults to 50.

  • nybins (Optional[int) – The number of bins along the ‘y’ dimension, i.e. along the dimension corresponding to plane[1]. Defaults to 50.

get_index_at(ix, iy)[source]

Returns the COMFrame index of the lipid at the specified position in the lipid_grid.

Parameters
  • ix (int) – The ‘x’ index in the lipid_grid.

  • iy () – The ‘y’ index in the lipid_grid.

Returns

The index of the lipid.

Return type

int

get_z_at(ix, iy)[source]

Returns the z coordinate of the lipid at the specified position in the lipid_grid.

Parameters
  • ix (int) – The ‘x’ index in the lipid_grid.

  • iy () – The ‘y’ index in the lipid_grid.

Returns

The z coordinate of the lipid.

Return type

float

write_xyz(xyz_name)[source]

Write out the lipid grid as an xyz coordinate file.

Parameters

xyz_name (str) – File path and name for the output file.

z_perturb_grid()[source]

Returns the array with z coordinates shifted by the mean.

Returns

The mean shifted z coordinate array.

Return type

np.array

class pybilt.lipid_grid.lipid_grid.LipidGrids(com_frame, leaflets, plane, nxbins=50, nybins=50)[source]

Bases: object

area_per_lipid()[source]
average_thickness(return_grid=False)[source]
curvature(use_gaussian_filter=True, filter_sigma=10.0, filter_mode='nearest')[source]
get_integer_type_arrays()[source]
get_one_array_per_leaflet()[source]
get_xyzc(leaflet='both', zvalue_dict=None, color_dict=None, color_grid=None, color_type_dict=None)[source]
grid_to_dict(in_grid, leaflet='upper')[source]
map_to_grid(com_values_dict, leaflet='both')[source]
surface_area(use_gaussian_filter=True, filter_sigma=10.0, filter_mode='nearest')[source]
thickness_grid()[source]
write_pdb(pdb_name, leaflet='both', z_grid_upper=None, z_grid_lower=None, beta_grid_upper=None, beta_grid_lower=None, use_gaussian_filter=False, filter_sigma=10.0, filter_mode='nearest')[source]

Write out the lipid grid as an PDB coordinate file.

Parameters
  • pdb_name (str) – File path and name for the output file.

  • leaflet (Optional[str]) – Specify which leaflets to write to the PDB file. The options are ‘both’, ‘upper’, or ‘lower’. Defaults to ‘both’.

  • z_grid_upper (Optional[np.array]) – A 2d grid of values corresponding to the elements of the upper leaflet of the lipid grid that are to be written as the z-coordinate in the PDB file for upper leaflet members. Defaults to None.

  • z_grid_lower (Optional[np.array]) – A 2d grid of values corresponding to the elements of the lower leaflet of the lipid grid that are to be written as the z-coordinate in the PDB file for lower leaflet members. Defaults to None.

  • beta_grid_upper (Optional[np.array]) – A 2d grid of values corresponding to the elements of the upper leaflet of the lipid grid that are to be written in the Beta column of the PDB file for upper leaflet members. Defaults to None.

  • beta_grid_lower (Optional[np.array]) – A 2d grid of values corresponding to the elements of the lower leaflet of the lipid grid that are to be written in the Beta column of the PDB file for upper leaflet members. Defaults to None.

  • use_gaussian_filter (Optional[bool]) – Use SciPy’s Gaussian filter to filter the z-coordinates before outputting the PDB file. Defaults to False. This option overrides inputs for z_grid_upper and z_grid_lower.

  • filter_sigma (Optional[bool]) – Set the sigma value for the Gaussian filter. Defaults to 10.0

  • filter_mode (Optional[‘str’]) – Set the mode for Gaussian filter. Defaults to ‘nearest’

write_xyz(leaflet='both', zvalue_dict='Default', out_path='./')[source]
pybilt.lipid_grid.lipid_grid.grid_curvature(x_vals, y_vals, zgrid)[source]

Compute the Mean and Gaussian curvature across a grid. :Parameters: * x_vals (np.array) – The bin labels along the x-axis of the gridded data.

  • y_vals (np.arrray) – The bin labels along the y-axis of the gridded data.

  • zgrid (np.array) – The 2d grid of bin values.

Returns

Returns a 2 item tuple with the 2d numpy arrays of the curvatures with

format (mean curvature, Gaussian curvature).

Return type

tuple

pybilt.lipid_grid.lipid_grid.grid_surface_area(x_vals, y_vals, zgrid)[source]

Compute the surface area across a regular 2d grid. :Parameters: * x_vals (np.array) – The bin labels along the x-axis of the gridded data.

  • y_vals (np.arrray) – The bin labels along the y-axis of the gridded data.

  • zgrid (np.array) – The 2d grid of bin values.

Returns

Returns a the surface area estimate.

Return type

float

pybilt.lipid_grid.lipid_grid_curv module

clustering of lipid molecules” of Koldso H, Shorthouse D, He lie J, Sansom MSP (2014) Lipid Clustering Correlates with Membrane Curvature as Revealed by Molecular Simulations of Complex Lipid Bilayers. PLoS Comput Biol 10(10): e1003911. doi:10.1371/journal.pcbi.1003911 However, this implementation currently uses the z position (or normal position) of the lipids’ centers of mass, while their implementaion uses “the z coordinate of the interface between the head groups of the lipids (excluding the current species being calculated and tails in that box.”

class pybilt.lipid_grid.lipid_grid_curv.LipidGrid_2d(com_frame, com_frame_indices, plane, nxbins=20, nybins=20)[source]

Bases: object

get_index_at(ix, iy)[source]
get_z_at(ix, iy)[source]
class pybilt.lipid_grid.lipid_grid_curv.LipidGrids(com_frame, leaflets, plane, nxbins=3, nybins=3)[source]

Bases: object

norm_displacement_cross_correlation()[source]

pybilt.lipid_grid.lipid_grid_mda module

Classes and functions to implement lipid COM gridding and analysis for lipid bilayers. Acts on MemSys objects. The gridding and anlaysis procedures are based on the decriptions given in Gapsys et al. J Comput Aided Mol Des (2013) 27:845-858, which is itself a modified version of the GridMAT-MD method by Allen et al. Vol. 30, No. 12 Journal of Computational Chemistry. However, I have currently left out several bits of the extra functionality, e.g. the handling of an embedded protein.

class pybilt.lipid_grid.lipid_grid_mda.LipidGrid_2d(mda_frame, mda_universe, mda_frame_resids, plane, nxbins=50, nybins=50)[source]

Bases: object

get_index_at(ix, iy)[source]
get_z_at(ix, iy)[source]
write_xyz(xyz_name)[source]
class pybilt.lipid_grid.lipid_grid_mda.LipidGrids(mda_frame, mda_universe, leaflets, plane, nxbins=50, nybins=50)[source]

Bases: object

area_per_lipid()[source]
average_thickness(return_grid=False)[source]
curvature()[source]
get_integer_type_arrays()[source]
get_one_array_per_leaflet()[source]
get_xyzc(leaflet='both', zvalue_dict=None, color_dict=None, color_grid=None, color_type_dict=None)[source]
grid_to_dict(in_grid, leaflet='upper')[source]
map_to_grid(com_values_dict, leaflet='both')[source]
thickness_grid()[source]
write_xyz(leaflet='both', zvalue_dict='Default', out_path='./')[source]

Module contents