Data from: Selective vulnerability of cerebral vasculature to NOTCH3 variants in small vessel disease and rescue by phosphodiesterase-5 inhibitor
Data files
Mar 13, 2026 version files 2.33 MB
-
BlueAreaCenter2dis_2.py
10.98 KB
-
C224Y.zip
2.31 MB
-
dis_mean.py
1.87 KB
-
README.md
7.38 KB
-
Spatial_dispersion.py
3.32 KB
Abstract
NOTCH3 variants cause CADASIL, the most common genetic form of small vessel disease (SVD) and vascular dementia (VaD), and increase the stroke and SVD/VaD risk. CADASIL is a systemic vasculopathy but predominantly manifests in the brain. The molecular mechanisms of CADASIL remain largely unclear with no specific available treatments. NOTCH3 is primarily expressed in vascular smooth muscle cells (VSMCs). Using human induced pluripotent stem cell (iPSC) models and developmental lineage-specific VSMC differentiation, we revealed a selective vulnerability of cerebral but not peripheral VSMC mimics to NOTCH3 variants. Transcriptomic, protein and functional analyses demonstrated a switching of CADASIL iPSC-VSMCs from a contractile to a synthetic phenotype, accompanied with extensive extracellular matrix accumulation and impairment of cell adhesion leading to anoikis. Importantly, we describe an endothelial independent nitric oxide signalling in VSMCs which was dysregulated in the CADASIL iPSC-VSMCs, and posphodiesterase-5 (PDE5) inhibition successfully rescued the abnormal VSMC function, suggesting a novel therapeutic strategy. Our findings offer new mechanistic insights into brain specific phenotype in NOTCH3-associated SVD/VaD and support patient-specific iPSCs to be a valuable model for identifying targeted treatment for NOTCH3-associated SVD/VaD.
Dataset DOI: 10.5061/dryad.2280gb66p
Description of the data and file structure
This Code is for the paper titled 'Selective vulnerability of cerebral vasculature to NOTCH3 variants in small vessel disease and rescue by phosphodiesterase-5 inhibitor'. It is permanently open and free to read/download for the entire research community (no access code is needed).
1.'C224Y.zip':The data contains the stress fiber samples used in this article, including one folder labeled 'C224Y'. The results of stress fiber identification for each image, including image edges and cell nuclei, are stored in the 'image' folder, while the rest of the data contains various parameters such as detected coordinates and spatial dispersion.
C224Y:
The images in this folder were captured to examine the distribution of the actin cytoskeleton in induced pluripotent stem cell (iPSC)-derived vascular smooth muscle cells (VSMCs) from a CADASIL patient. This patient carries the Cys224Tyr mutation.
C224Y_iso
The images in this folder were captured to examine the distribution of the actin cytoskeleton in iPSC derived-VSMCs from a CADASIL patient’s isogenic control. In this isogenic control line, the NOTCH3 Cys224Tyr mutation has been corrected, resulting in the same genomic background as the CADASIL patient carrying the C224Y mutation.
C224Y_iso_SIL
The images in this folder were captured to examine the distribution of the actin cytoskeleton in iPSC derived-VSMCs from a CADASIL patient’s isogenic control treated with 10 nM phosphodiesterase 5 (PED5) inhibitor sildenafil.
C224Y_iso_SNAP
The images in this folder were captured to examine the distribution of the actin cytoskeleton in iPSC derived-VSMCs from a CADASIL patient’s isogenic control treated with 100 nM S-Nitroso-N-acetyl-DL-penicillamine (SNAP).
C224Y_SIL
The images in this folder were captured to examine the distribution of the actin cytoskeleton in iPSC derived-VSMCs from a CADASIL patient treated with 10 nM PED5 inhibitor sildenafil.
C224Y_SNAP
The images in this folder were captured to examine the distribution of the actin cytoskeleton in iPSC derived-VSMCs from a CADASIL patient treated with 100 nM SNAP.
| Category | Sildenafil treatment | SNAP treatment |
|---|---|---|
| C224Y | No | No |
| C224Y_iso | No | No |
| C224Y_SIL | Yes | No |
| C224Y_SNAP | No | Yes |
| C224Y_iso_SIL | Yes | No |
| C224Y_iso_SNAP | No | Yes |
'C224Y.xlsx' stores the merged results of spatial dispersion.
Each sample folder contains 'angle', 'distance', 'dis_angle', 'image', and 'Spatial_dispersion.csv',
'Distance' (pixel) : The distance from the center point of the blue nucleus to each stress fiber (green). It is the input of the file 'dis_mean.py', and the output of the file ' BlueAreaCenter2dis_2.py'.
'angle' (°): Record the angle between each stress fiber (green) and the horizontal 180° line . It is the input of the file 'dis_mean.py', and the output of the file ' BlueAreaCenter2dis_2.py'.
'dis_angle'(pixel/°): The first column represents the mean distance, while the second column represents the mean angle. It is the output of the file 'dis_mean.py'.
'image': Effect diagram of stressfiber and cell nucleus recognition. It is the output of the file ''BlueAreaCenter2dis_2.py'.
'image/outline':Stress fiber recognition effect diagram. It is the output of the file ' BlueAreaCenter2dis_2.py'.
'spatial dispersion': For the "Spatial dispersion under average area" with a value range of [0, 1]. No Unit. It is the output of the file 'Spatial_dispersion.py'.
The above files can assist in presenting the recognition results on images, with the recognition results stored in the "image" folder. For instructions on how to use these files, please refer to the usage instructions in the following 'py' file.
2.' BlueAreaCenter2dis_2.py': Identify the blue cell nucleus region, perform edge detection on the stress fibers, and perform segmentation. Calculate the distance from the center point to each edge of the stress fibers, as well as the angle between each edge of the stress fibers and the horizontal line, and save them to the 'Angle' folder. For images containing multiple blue regions, the distance from the center of each blue region to the edge of the stress fibers needs to be calculated, and then the average of these distances is taken as the distance from a stress fiber to the center point. In this process, blue regions with smaller areas and stress fiber edges with shorter lengths are eliminated.
Runing Steps:
Unzip 'C224Y.zip' to see the corresponding folder, and Modify the directory in the BlueAreaCenter2dis_2.py file.
image = cv2.imread("./C224Y/C224Y_SNAP(Treatment 2)/0" + str(p) + "_C224Y_SNAP.png")
//output the file path and filename of stress fiber edge and blue area
output_path = "./C224Y/result/C224Y_SNAP(Treatment 2)/image/0" + str(p) + "_C224Y_SNAP.png"
lunkuo_path = "./C224Y/result/C224Y_SNAP(Treatment 2)/image/outline/0" + str(p) + "_C224Y_SNAP.png"
//Output the file path and filename of the binary image for the edge contour:
// File path and filename of the calculated distances saved to the CSV file
dis_csv = "./C224Y/result/C224Y_SNAP(Treatment 2)/distance/0" + str(p) + "_C224Y_SNAP.csv"
// File path and filename of the calculated angles saved to the CSV file
angle_csv = "./C224Y/result/C224Y_SNAP(Treatment 2)/angle/0" + str(p) + "_C224Y_SNAP.csv"
After making the modifications, you can run the script directly.
3. 'dis_mean.py': Save the average distance and angle values of stress fiber, corresponding folder:('dis_angle', 'distance', 'angle')
# set the path
// Path to the folder where the distance CSV files from BlueAreaCenter2dis_2.py are saved (only the path, not the filename)
dis_folder_path = './C224Y/result/C224Y_SNAP(Treatment 2)/distance'
// Path to the folder where the angle CSV files from BlueAreaCenter2dis_2.py are saved (only the path, not the filename)
angle_folder_path = './C224Y/result/C224Y_SNAP(Treatment 2)/angle'
// Path to save the average distance and angle values (only the path, not the filename)
output_path = './C224Y/result/C224Y_SNAP(Treatment 2)/dis_angle'
4. 'Spatial_dispersion.py': calculating spatial dispersion
// Output path for the spatial dispersion results
dsp_csv = "./C224Y/result/C224Y_SNAP(Treatment 2)/Spatial_dispersion.csv"
data = pd.read_csv("./C224Y/result/C224Y_SNAP(Treatment 2)/dis_angle/0" + str(p) + "_C224Y_SNAP_averages.csv", header=None)
to the output_path from dis_mean.py, including the filename.
Execution Order:
First, run BlueAreaCenter2dis_2.py, then execute dis_mean.py, and finally run Spatial_dispersion.py.
Access information
Other publicly accessible locations of the data:
We resize the input image to 512×512 pixels. Then, the standard Canny edge detection algorithm is employed to outline the edges of stress fibers. Technically speaking, a Gaussian filter is applied to smooth the image whilst reducing noise. Afterwards, image gradients are computed so that potential edges can be identified.
