Simulation data and scripts from: Tunable electrostatic interactions of lipid-coated quantum dots with biological membranes
Data files
Sep 02, 2026 version files 72.85 GB
-
lcQD.tar.gz
72.85 GB
-
README.md
10.35 KB
Abstract
Surface functionalization of inorganic quantum dot nanoparticles is of great interest in the application of these materials toward a wide range of biological applications where membrane interactions are critical. The use of amphiphilic lipids to functionalize the surfaces of quantum dots represents a promising alternative to produce water-soluble and membrane-active materials with facile tuning of the quantum dot's surface properties. Here, we demonstrate an experimental approach that yields lipid-coated quantum dots with highly tunable surface charge by controlling the concentration of cationic lipids during preparation. Through fluorescence-activated cell sorting assays, we show that these cationic lipid-coated quantum dots can enhance membrane interactions and increase membrane labeling density in live HEK293 cells. We further employed coarse-grained molecular dynamics simulations to model the lipid self-assembly process using an implicit solvent force field and subsequently model the adsorption of lipid-coated quantum dots to model membranes. Our simulations show that we can control the effective surface charge of lipid-coated quantum dots and influence the strength of adsorption to oppositely charged lipid membranes, a process that is mediated by the release of counterions at the quantum dot-membrane interface. This work supports the future development of biocompatible and water-soluble inorganic nanoparticles with highly tunable surfaces, and provides mechanistic insight into how different lipids can influence nanoparticle-membrane interactions at a molecular scale.
Dataset DOI: 10.5061/dryad.ns1rn8q7c
Description of the data and file structure
This document includes processed data for the main simulation results in the paper "Tunable electrostatic interactions of lipid-coated quantum dots with biological membranes" as well as the input files and scripts required to reproduce the computational workflow and analyses.
Files and variables
File: lcQD.tar.gz
Description: Contains data and scripts to reproduce figures from the main text. Contains files and scripts necessary to reproduce computational methods. Also contains data and files to for experimental data.
Code/software
#
# File structure:
# lcQD/
# |__ lcQD525\ FACS/ : FACS Data for lcQD 525
# | |__ 180419_lcqd525\ 1.csv : FACS analysis of lcQD 525 chi_dotap=20%
# | |__ 180419_lcqd525\ 2.csv : FACS analysis of lcQD 525 chi_dotap=30%
# | |__ 180419_lcqd525\ 3.csv : FACS analysis of lcQD 525 chi_dotap=40%
# | |__ 180419_lcqd525\ 4.csv : FACS analysis of lcQD 525 chi_dotap=50%
# | |__ 180419_NO\ QD\ 5.csv : FACS analysis of unstained cell
# |__ lcQD600\ FACS/ : FACS Data for lcQD 600
# | |__ 25-12-18_lcqd600\ 1.csv : FACS analysis of lcQD 600 chi_dotap=10%
# | |__ 25-12-18_lcqd600\ 2.csv : FACS analysis of lcQD 600 chi_dotap=30%
# | |__ 25-12-18_lcqd600\ 3.csv : FACS analysis of lcQD 600 chi_dotap=40%
# | |__ 25-12-18_lcqd600\ 4.csv : FACS analysis of lcQD 600 chi_dotap=50%
# | |__ 25-12-18_NO\ QD\ 5.csv : FACS analysis of unstained cell
# |__ FACS_VIS_chargeQD_525.m matlab script for visualization of FACS experiments for the 525nm QDs
# |__ FACS_VIS_chargeQD.m matlab script for visualization of FACS experiments for the 600nm QDs
# |__ analysis_scripts/ : contains PY and SH scripts to analyze and plot data
# | |__ dry_selfAssembly_plot_ChiSurface-vs-ChiOverall.py : python script to plot Chi surface as a function of Chi overall
# | |__ dry_selfAssembly_plot_ChiSurface-vs-TotalLipids.py : python script to plot Chi surface as a function of total number of lipids
# | |__ dry_selfAssembly_plot_sasa.py : python script to plot SASA as a function of total number of lipids
# | |__ wet_unbiased_adsorption_short_analyze_numberDensities.py : python script to calculate number densities
# | |__ wet_unbiased_adsorption_short_analyze_localDensities-stateProbabilities.py : python script to calculate number of species and state probabilities
# | |__ wet_unbiased_adsorption_short_plot_numberDensities.py : python script to plot number densities 2D histogram
# | |__ wet_unbiased_adsorption_short_plot_stateProbabilities.py : python script to plot state probabilities
# | |__ wet_unbiased_adsorption_short_plot_localDensities.py : python script to plot number of species as a function of simulation time
# |__ QD_CSZS_2nm/ : directory for data corresponding to the 2 nm diameter QD - also applies to QD_CSZS_5nm (dry_self_assembly only)
# |__ dry_self_assembly/ : directory for self-assembly simulations in implicit solvent
# | |__ <# total lipids>_<# DLPC>DLPC_<# DOTAP>DOTAP/ : directory for specific lipid mixture
# | |__ rep_<replicate number>/ : directory for replicate
# | |__ input_files/ : directory for input files
# | | |__ analyze_lcQDExtraction.py : python script that extracts lipid-coated quantum dot
# | |__ equil/ : directory for NVT simulation
# | |__ data_extraction.csv : data corresponding to lipid coating for extracted lcQD
# | |__ index_extraction.ndx : index file with groups corresponding to extracted lcQD
# | |__ index_sasa.ndx : index file with groups used in computing SASA
# | |__ nvt.tpr : TPR file to run simulation
# | |__ nvt_centered.gro : final structure file
# | |__ nvt_centered.xtc : final trajectory with QD centered in the simulation box
# | |__ sasa_atom_QD.xvg : SASA computed for the QD (per atom)
# | |__ sasa_atom_QDLIPIDS-LIGANDS.xvg : SASA computed for the QD-LIPIDS and LIGANDS (per atom)
# | |__ sasa_total_QD.xvg : SASA computed for the QD (total)
# | |__ sasa_total_QDLIPIDS-LIGANDS.xvg : SASA computed for the QD-LIPIDS and LIGANDS (total)
# |__ wet_unbiased_adsorption_short/ : directory for QD-Membrane adsorption simulations in explicit solvent
# |__ <# total lipids>_<# DLPC>DLPC_<# DOTAP>DOTAP/ : directory for specific lipid mixture
# |__ rep_<replicate number of selected lcQD>/ : directory of the replicate selected for the lcQD
# |__ 80DOPC_20DOPG/ : directory for the biomembrane composition
# |__ pickle_data_localDensities.p : saved data for the number of species at the lcQD-membrane interface
# |__ pickle_data_stateProbabilities.p : saved data for the probabilities of each state
# |__ rep_<replicate_number>/ : directory for replicate
# |__ input_files/ : directory for input files
# | |__ index.ndx : index file with groups used in calculating minimum distance
# |__ prod/ : directory for production simulations
# |__ analysis_mindist/ : directory for minimum distance calculation
# | |__ LC-MEMB.xvg : data corresponding to minimum distance between lipid coating and membrane
# |__ pickle_data_numberDensities.p : saved data for the number density 2D histograms
# |__ prod.tpr : TPR file to run simulation
# |__ prod_centered_translated.gro : final structure file
# |__ prod_centered_translated.xtc : final trajectory with QD centered in the simulation box
# |__ prod_centered_translated_dry-ion.gro : final structure file without water
# |__ prod_centered_translated_dry-ion.xtc : final trajectory with QD centered in the simulation box without water
#
##########################################
### LIPID SELF-ASSEMBLY ON QUANTUM DOT ###
### IN IMPLICIT SOLVENT ###
##########################################
# Move into working directory -- replace NP, SYSTEM, REP accordingly
NP="QD_CSZS_5nm"
SYSTEM="500_250DLPC_250DOTAP"
REP="rep_0"
cd ${NP}/dry_self_assembly/${SYSTEM}/${REP}/equil/
# Run simulation
gmx mdrun -v -deffnm nvt
gmx trjconv -f nvt.gro -s nvt.tpr -pbc mol -center -o nvt_centered.gro <<< $'QD\nSystem'
gmx trjconv -f nvt.xtc -s nvt.tpr -pbc mol -center -o nvt_centered.xtc <<< $'QD\nSystem'
# Extract lcQD
cd ../
python input_files/analyze_lcQDExtraction.py
gmx trjconv -f nvt_centered.gro -s nvt.tpr -n index_extraction.ndx -o lcQD.gro
# Generate index file for analyses
gmx make_ndx -f nvt_centered.gro -o index_sasa.ndx << INPUTS
del 1-10
r QD
name 1 QD
r QD & a C5 | r DLPC DOTAP
name 2 DLPC_DOTAP_C5
r QD DLPC DOTAP
name 3 QD_DLPC_DOTAP
r QD & a C5
name 4 C5
r QD & a S1 C2 C3 C4 C5
name 5 LIGANDS
r DLPC DOTAP
name 6 DLPC_DOTAP
q
INPUTS
# Analyze SASA
gmx sasa -f nvt_centered.xtc -s nvt.tpr -n index_sasa.ndx -surface QD -probe 0.26 -ndots 4800 -oa sasa_atom_QD.xvg -o sasa_total_QD.xvg
gmx sasa -f nvt_centered.xtc -s nvt.tpr -n index_sasa.ndx -surface QD_DLPC_DOTAP -output LIGANDS -probe 0.26 -ndots 4800 -oa sasa_atom_QDLIPIDS-LIGANDS.xvg -o sasa_total_QDLIPIDS-LIGANDS.xvg
##########################################
### LCQD ADSORPTION ON BIOMEMBRANE ###
### IN EXPLICIT SOLVENT ###
##########################################
# Move into working directory -- replace NP, LC_SYSTEM, LC_REP, SYSTEM, REP accordingly
NP="QD_CSZS_2nm"
LC_SYSTEM="500_250DLPC_250DOTAP"
LC_REP="rep_1"
SYSTEM="80DOPC_20DOPG"
REP="rep_0"
cd ${NP}/wet_unbiased_adsorption_short/${LC_SYSTEM}/${LC_REP}/${SYSTEM}/${REP}/prod/
# Run simulation
gmx mdrun -v -deffnm prod
gmx trjconv -f prod.gro -s prod.tpr -pbc mol -center -o prod_centered.gro <<< $'QD\nSystem'
gmx trjconv -f prod.xtc -s prod.tpr -pbc mol -center -o prod_centered.xtc <<< $'QD\nSystem'
# Translate system along z-axis if membrane crosses pbc
# these output files should be named "prod_centered_translated.gro" and "prod_centered_translated.xtc"
# Compute mindist
cd ../
mkdir prod/analysis_mindist/
gmx mindist -f prod/prod_centered_translated.xtc -s prod/prod.tpr -n input_files/index.ndx -od prod/analysis_mindist/LC-MEMB.xvg
# Data analysis and plotting (from lcQD/ directory)
cd analysis_scripts/
python3 dry_selfAssembly_plot_ChiSurface-vs-ChiOverall.py ../ ./ QD_CSZS_2nm 500_450DLPC_50DOTAP 500_350DLPC_150DOTAP 500_250DLPC_250DOTAP 500_150DLPC_350DOTAP 500_50DLPC_450DOTAP
python3 dry_selfAssembly_plot_ChiSurface-vs-TotalLipids.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP 1000_500DLPC_500DOTAP 1500_750DLPC_750DOTAP
python3 dry_selfAssembly_plot_sasa.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP 1000_500DLPC_500DOTAP 1500_750DLPC_750DOTAP
# Analyze densities
# Uses prod_centered_translated_dry-ion.gro and prod_centered_translated_dry-ion.xtc for computational efficiency
# 2 nm {'500_450DLPC_50DOTAP' : 'rep_0', '500_250DLPC_250DOTAP' : 'rep_1', '500_50DLPC_450DOTAP' : 'rep_3'}
python3 wet_unbiased_adsorption_short_analyze_numberDensities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0
python3 wet_unbiased_adsorption_short_analyze_localDensities-stateProbabilities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0 rep_1 rep_2 rep_3 rep_4 rep_5 rep_6 rep_7 rep_8 rep_9 rep_10 rep_11 rep_12 rep_13 rep_14 rep_15
# Plot data
python3 wet_unbiased_adsorption_short_plot_numberDensities.py ../ ./ QD_CSZS_2nm 500_250DLPC_250DOTAP rep_1 80DOPC_20DOPG rep_0
python3 wet_unbiased_adsorption_short_plot_stateProbabilities.py ../ ./ QD_CSZS_2nm 80DOPC_20DOPG 500_450DLPC_50DOTAP/rep_0 500_250DLPC_250DOTAP/rep_1 500_50DLPC_450DOTAP/rep_3
python3 wet_unbiased_adsorption_short_plot_localDensities.py ../ ./ QD_CSZS_2nm 80DOPC_20DOPG 500_450DLPC_50DOTAP/rep_0 500_250DLPC_250DOTAP/rep_1 500_50DLPC_450DOTAP/rep_3
