BilayerAnalyzer analysis: nnf
- Lateral order nearest neighbor fraction.¶
Description¶
Estimate the fraction of one lipid type within the nearest neighbors of another.
This analysis picks a specified number (n_neighbors) of nearest neighbors centered on a lipid of reference lipid type and then counts the number of lipids (M) of target lipid type and estimates the fraction, nnf = <M/n_neighbors> , where angle brackets denote averaging over lipids of specified by settings resname_1. This is the nearest neighbor analysis described in Ref. 1, and subsequently used in Ref. 2. This metric isn’t exactly the same but is similar to the ‘fractional interations’ analysis of Ref. 3.
This protocol is identified by the analysis key: ‘nnf’
Initiated by instance of:¶
<class 'pybilt.bilayer_analyzer.analysis_protocols.NNFProtocol'>
Syntax¶
nnf analysis-ID keyword value
nnf = analysis-Key - keyword/name for this analysis.
analysis-ID = The unique name/ID being assigned to this analysis.
keyword value = settings keyword value pairs
leaflet (str: ‘both’, ‘upper’, or ‘lower’): Specifies the bilayer leaflet to include in the estimate. Default: ‘both’
n_neighbors (int): Specifies the number of nearest neighbors to to include in computation. Default: 5
resname_2 (str): Specify the resname of the target lipid type to include in this analysis. Default: ‘first’, the first lipid in the list pulled from the com_frame representation.
resname_1 (str): Specify the resname of the reference lipid type to include in this analysis. Default: ‘first’, the first lipid in the list pulled from the com_frame representation.
Examples¶
Construct analyzer:
analyzer = BilayerAnalyzer(structure='name_of_structure_file',
trajectory='name_of_traj_file',
selection='resname POPC DOPC')
Add by string - use default settings:
analyzer.add_analysis('nnf nnf_1')
Add by string - adjust a setting:
analyzer.add_analysis('nnf nnf_1 leaflet both')
Add by list:
analyzer.add_analysis(list(['nnf', 'nnf_1', dict({'leaflet':'both'})]))
Add by dict:
analyzer.add_analysis(dict({'analysis_key': 'nnf', 'analysis_id': 'nnf_1','analysis_settings':dict({'leaflet':'both'})}))
To remove from analyzer:
analyzer.remove_analysis('nnf_1')
Output Info:¶
Retrieve output after running analyses:
output = analyzer.get_analysis_data('nnf_1')
The output is type <type 'numpy.ndarray'>
Note
The anlysis in centered on lipids of the type specified by the ```resname_1``` setting and returns the fraction of lipids of the type specified by the ```resname_2``` setting within the ```n_neighbors``` nearest neighbors.
References¶
A. H. de Vries, A. E. Mark and S. J. Marrink, J. Phys. Chem. B, 2004, 108, 2454-2463
M. Orsi and J. W. Essex, Faraday Discuss., 2013, 161, 249-272
Koldso H, Shorthouse D, He Lie 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