OSCR

Lipid droplets promote aberrant liquid-liquid phase separation of alpha-synuclein impairing energy homeostasis.

Code ↔ Paper

10 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 10 matches
  1. [1] § Methods › Methods and protocols › Mitophagy experiments ↔ analyses_of_alpha-synuclein_biomolecular_condensates/C12_pulse_chase/C12_pulse_chase.ipynb, lines 116–126 · score 0.76 · sigmoid adjustment, Gaussian blur, reduce noise, green channel, preprocesses, intensity
  2. [2] § Methods › Methods and protocols › Pulse chase assay for lipid droplet turnover ↔ analyses_of_alpha-synuclein_biomolecular_condensates/C12_pulse_chase/pulse_chase_lipid_droplet_analysis.ipynb, lines 56–66 · score 0.74 · sigmoid adjustment, Gaussian blur, reduce noise, lipid droplets, preprocessing, intensity
  3. [3] § Methods › Methods and protocols › αSyn inclusion quantification through ×63 images ↔ analyses_of_alpha-synuclein_biomolecular_condensates/1kOA_early_inclusions/1kOA_earlyInclusions.ipynb, lines 300–433 · score 0.74 · red channels, segment cells, cell mask, Swiss cheese, summing, surface area
  4. [4] § Methods › Methods and protocols › αSyn inclusion quantification through ×63 images ↔ analyses_of_alpha-synuclein_biomolecular_condensates/C12_pulse_chase/pulse_chase_lipid_droplet_analysis.ipynb, lines 56–66 · score 0.74 · sigmoid adjustment, Gaussian blur, reduce noise, lipid droplet, preprocessing, Fluorescence
  5. [5] § Methods › Methods and protocols › Pulse chase assay for lipid droplet turnover ↔ analyses_of_alpha-synuclein_biomolecular_condensates/C12_pulse_chase/C12_pulse_chase.ipynb, lines 116–126 · score 0.72 · sigmoid adjustment, Gaussian blur, reduce noise, preprocessing, intensity, channels
  6. [6] § Methods › Methods and protocols › Mitophagy experiments ↔ inclusion_pipeline/preprocessing.py, lines 26–60 · score 0.71 · sigmoid adjustment, Gaussian blur, reduce noise, preprocesses, intensity, channels
  7. [7] § Methods › Methods and protocols › Mitochondrial membrane potential measurement ↔ analyses_of_alpha-synuclein_biomolecular_condensates/1kOA_early_inclusions/1kOA_earlyInclusions.ipynb, lines 25–72 · score 0.57 · Cellpose, cyto3, inside, diameter, filtered, radius
  8. [8] § Methods › Methods and protocols › Mitochondrial membrane potential measurement ↔ analyses_of_alpha-synuclein_biomolecular_condensates/C12_pulse_chase/pulse_chase_lipid_droplet_analysis.ipynb, lines 214–297 · score 0.55 · orange channel, green channel, circularity, thresholding, overlap, mitochondria
  9. [9] § Methods › Methods and protocols › Mitophagy experiments ↔ example.ipynb, lines 17–26 · score 0.55 · LAMP1 RFP, mito BFP
  10. [10] § Results › αSyn condensates promote localized mitophagy ↔ example.ipynb, lines 17–26 · score 0.50 · LAMP1 RFP, mito BFP

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Jupyter notebook · 325 lines · 13 KB · MIT · 3 matches

  1. # %%
  2. import os
  3. import numpy as np
  4. import pandas as pd
  5. import matplotlib.pyplot as plt
  6. from skimage.filters import gaussian
  7. from skimage.morphology import remove_small_objects
  8. from skimage.measure import label, regionprops
  9. from skimage import exposure
  10. from skimage import measure
  11. from czifile import imread
  12. from cellpose import models
  13. model_cellpose = models.Cellpose(model_type='cyto')
  14. # %%
  15. def display_two_images(image1, image2, title1, title2, path):
  16. """Display two images side-by-side with smaller title font."""
  17. filename = os.path.basename(path) # Extract final part of path
  18. fig, axes = plt.subplots(1, 2, figsize=(10, 5))
  19. axes[0].imshow(image1, cmap='gray' if image1.ndim == 2 else None)
  20. axes[0].set_title(f"{filename} {title1}", fontsize=10)
  21. axes[0].axis('off')
  22. axes[1].imshow(image2, cmap='gray' if image2.ndim == 2 else None)
  23. axes[1].set_title(f"{filename} {title2}", fontsize=10)
  24. axes[1].axis('off')
  25. plt.tight_layout()
  26. plt.show()
  27. def display_image(image, title, path):
  28. """Display the image."""
  29. plt.imshow(image)
  30. plt.axis('off')
  31. plt.title(f"{title} {path}")
  32. plt.show()
  33. def extract_image_paths(folder):
  34. """Extract all image file paths from the specified folder."""
  35. return [os.path.join(folder, f) for f in os.listdir(folder) if os.path.isfile(os.path.join(folder, f))]
  36. def read_image(image_path):
  37. """Read the LSM image from the specified path."""
  38. return imread(image_path)
  39. def count(mask):
  40. """Count the number of unique labels in the mask."""
  41. return len(np.unique(label(mask))) - 1 # Exclude background label (0)
  42. def extract_channels(image: np.ndarray) -> tuple[np.ndarray, np.ndarray]:
  43. """Extract green and red channels from the squeezed image (shape: [Z, C, H, W])."""
  44. return image[0], image[1], image[2], image[3]
  45. def preprocess_channel(channel):
  46. """
  47. Preprocess the green fluorescence channel for better segmentation and inclusion detection.
  48. - Applies Gaussian blur to reduce noise.
  49. - Enhances contrast using sigmoid adjustment.
  50. - Normalizes intensities to [0, 1] for consistent processing.
  51. """
  52. channel = normalize_image(channel)
  53. confocal_img = gaussian(channel, sigma=2)
  54. confocal_img = exposure.adjust_sigmoid(channel, cutoff=0.1)
  55. return confocal_img
  56. def normalize_image(image):
  57. """
  58. Normalize the image to the range [0, 1].
  59. This is useful for consistent processing across different images.
  60. """
  61. return (image - np.min(image)) / (np.max(image) - np.min(image))
  62. def calculate_surface_area(labeled_image: np.ndarray) -> float:
  63. """Calculate the total surface area for labeled regions."""
  64. props = regionprops(labeled_image)
  65. return sum(prop.area for prop in props)
  66. def find_swiss_cheese_inclusions(inclusion_image, red_channel_thresholded, verbose=False):
  67. """
  68. Identify and categorize inclusion objects based on their overlap with lipid droplets.
  69. - Labels individual inclusion objects in the binary inclusion image.
  70. - For each inclusion:
  71. - Checks whether it overlaps with the thresholded red channel (e.g., lipid droplets).
  72. - If it overlaps, adds it to the "swiss cheese" mask (inclusions with holes).
  73. - Otherwise, adds it to the "regular inclusion" mask (solid inclusions).
  74. - Returns two binary masks:
  75. - swiss_chess_inclusions: inclusions that intersect with the red channel
  76. - regular_inclusions: inclusions that do not intersect with the red channel
  77. """
  78. swiss_chess_inclusions = np.zeros_like(inclusion_image)
  79. regular_inclusions = np.zeros_like(inclusion_image)
  80. labeled_inclusions = label(inclusion_image)
  81. for i, inclusion in enumerate(regionprops(labeled_inclusions)):
  82. mask = labeled_inclusions == inclusion.label
  83. overlap = mask * red_channel_thresholded
  84. if np.sum(overlap) > 30:
  85. swiss_chess_inclusions += mask
  86. else:
  87. regular_inclusions += mask
  88. return swiss_chess_inclusions, regular_inclusions
  89. def remove_overlapping_objects(mask1, mask2):
  90. # Label mask1 if it's not already labeled
  91. labeled_mask1 = label(mask1)
  92. result_mask = np.zeros_like(mask1, dtype=np.uint8)
  93. for region in regionprops(labeled_mask1):
  94. obj_mask = (labeled_mask1 == region.label)
  95. # Check if it overlaps with mask2
  96. if np.any(obj_mask & (mask2 > 0)):
  97. continue # Skip overlapping object
  98. else:
  99. result_mask[obj_mask] = 1 # Keep the non-overlapping object
  100. return result_mask
  101. def extract_touching_objects(mask1, mask2):
  102. """
  103. Return a mask containing whole objects in mask1
  104. that touch mask2.
  105. """
  106. touching_objects = np.zeros_like(mask1, dtype=np.uint8)
  107. labeled_mask = label(mask1)
  108. for region in regionprops(labeled_mask):
  109. region_mask = (labeled_mask == region.label)
  110. overlap = region_mask * mask2
  111. if np.sum(overlap) > 0:
  112. touching_objects += region_mask
  113. return touching_objects
  114. def count_touching_objects(mask1, mask2):
  115. """
  116. Count how many objects in mask1 touch any part of mask2.
  117. Parameters:
  118. mask1 (ndarray): Binary or labeled mask (objects to test).
  119. mask2 (ndarray): Binary mask (objects to touch against).
  120. Returns:
  121. int: Number of objects in mask1 that touch mask2.
  122. """
  123. # Ensure binary input
  124. mask1 = mask1 > 0
  125. mask2 = mask2 > 0
  126. labeled_mask1 = label(mask1)
  127. count = 0
  128. for region in regionprops(labeled_mask1):
  129. obj_mask = labeled_mask1 == region.label
  130. if np.any(obj_mask & mask2):
  131. count += 1
  132. return count
  133. def circularity_index(mask):
  134. regions = measure.regionprops(label(mask))
  135. # Create empty masks to store the results
  136. clustered_lds = np.zeros_like(mask, dtype=bool)
  137. single_lds = np.zeros_like(mask, dtype=bool)
  138. # Iterate through regions and calculate circularity
  139. for region in regions:
  140. area = region.area
  141. perimeter = measure.perimeter(region.image)
  142. # Avoid division by zero
  143. if perimeter == 0 or area <= 10:
  144. continue
  145. circularity = (4 * np.pi * area) / (perimeter ** 2)
  146. # Assign region to the appropriate mask based on circularity
  147. if circularity < 0.7:
  148. # Mask for clustered regions
  149. clustered_lds[region.coords[:, 0], region.coords[:, 1]] = 1
  150. else:
  151. # Mask for non-clustered regions
  152. single_lds[region.coords[:, 0], region.coords[:, 1]] = 1
  153. clustered_lds = clustered_lds.astype(bool)
  154. single_lds = single_lds.astype(bool)
  155. return clustered_lds, single_lds
  156. def remove_overlapping_objects(mask1, mask2):
  157. # Label mask1 if it's not already labeled
  158. labeled_mask1 = label(mask1)
  159. result_mask = np.zeros_like(mask1, dtype=np.uint8)
  160. for region in regionprops(labeled_mask1):
  161. obj_mask = (labeled_mask1 == region.label)
  162. # Check if it overlaps with mask2
  163. if np.any(obj_mask & (mask2 > 0)):
  164. continue # Skip overlapping object
  165. else:
  166. result_mask[obj_mask] = 1 # Keep the non-overlapping object
  167. return result_mask
  168. # %%
  169. def analysis(red: np.ndarray, orange:np.ndarray, green:np.ndarray, blue:np.ndarray, path:str) -> pd.DataFrame:
  170. data = []
  171. df_cell_summary = pd.DataFrame()
  172. print("Starting analysis...")
  173. #preprocess green channel
  174. contrast_adjusted_green_normalized = (green - green.min()) / (green.max() - green.min())
  175. threshold_value_green = np.mean(contrast_adjusted_green_normalized) + (np.std(contrast_adjusted_green_normalized) * 3)
  176. green_thresholded = contrast_adjusted_green_normalized > threshold_value_green
  177. green_thresholded = remove_small_objects(green_thresholded, min_size=10)
  178. #display_two_images(green, green_ml, "Green Channel", "Green ML", path)
  179. display_two_images(green, green_thresholded, "Green Channel", "green thresholded", path)
  180. #segment red channel to find lipid droplets
  181. contrast_adjusted_red_normalized = (red - red.min()) / (red.max() - red.min())
  182. threshold_value_red = np.mean(contrast_adjusted_red_normalized) + (np.std(contrast_adjusted_red_normalized) * 3)
  183. red_thresholded = contrast_adjusted_red_normalized > threshold_value_red
  184. red_thresholded = remove_small_objects(red_thresholded, min_size=10)
  185. display_two_images(red, red_thresholded, "Red Channel", "Red Thresholded", path)
  186. #segment orange channel to find lipid droplets
  187. contrast_adjusted_orange_normalized = (orange - orange.min()) / (orange.max() - orange.min())
  188. threshold_value_orange = np.mean(contrast_adjusted_orange_normalized) + (np.std(contrast_adjusted_orange_normalized) * 3)
  189. orange_thresholded = contrast_adjusted_orange_normalized > threshold_value_orange
  190. orange_thresholded = remove_small_objects(orange_thresholded, min_size=10)
  191. display_two_images(orange, orange_thresholded, "Orange Channel", "Orange Thresholded", path)
  192. #segment blue channel for mitochondria
  193. contrast_adjusted_blue_normalized = (blue - blue.min()) / (blue.max() - blue.min())
  194. threshold_value_blue = np.mean(contrast_adjusted_blue_normalized) + (np.std(contrast_adjusted_blue_normalized) * 3)
  195. blue_thresholded = contrast_adjusted_blue_normalized > threshold_value_blue
  196. blue_thresholded = remove_small_objects(blue_thresholded, min_size=10)
  197. display_two_images(blue, blue_thresholded, "Blue Channel", "Blue Thresholded", path)
  198. green_clustered_lds, green_single_lds = circularity_index(green_thresholded)
  199. red_clustered_lds, red_single_lds = circularity_index(red_thresholded)
  200. orange_clustered_lds, orange_single_lds = circularity_index(orange_thresholded)
  201. display_two_images(green_single_lds, green_clustered_lds, "Green Single LDs", "Green Clustered LDs", path)
  202. display_two_images(red_single_lds, red_clustered_lds, "Red Single LDs", "Red Clustered LDs", path)
  203. display_two_images(orange_single_lds, orange_clustered_lds, "Orange Single LDs", "Orange Clustered LDs", path)
  204. lipid_droplet_red_not_orange = remove_overlapping_objects(red_thresholded, orange_thresholded)
  205. lipid_droplet_red_and_orange = extract_touching_objects(red_thresholded, orange_thresholded)
  206. lipid_droplet_green_not_orange = remove_overlapping_objects(green_thresholded, orange_thresholded)
  207. lipid_droplet_green_and_orange = extract_touching_objects(green_thresholded, orange_thresholded)
  208. lipid_droplet_green_not_red = remove_overlapping_objects(green_thresholded, red_thresholded)
  209. lipid_droplet_red_not_green = remove_overlapping_objects(red_thresholded, green_thresholded)
  210. lipid_droplet_green_and_red = extract_touching_objects(green_thresholded, red_thresholded)
  211. data.append({
  212. 'Image Path': path,
  213. 'Number of green objects': count(green_thresholded),
  214. "Number of red objects": count(red_thresholded),
  215. "Number of orange objects": count(orange_thresholded),
  216. "Number of blue objects": count(blue_thresholded),
  217. "Surface Area of green objects": calculate_surface_area(label(green_thresholded)),
  218. "Surface Area of red objects": calculate_surface_area(label(red_thresholded)),
  219. "Surface Area of orange objects": calculate_surface_area(label(orange_thresholded)),
  220. "Surface Area of blue objects": calculate_surface_area(label(blue_thresholded)),
  221. "Number of green clustered LDs": count(green_clustered_lds),
  222. "Number of green single LDs": count(green_single_lds),
  223. "Number of red clustered LDs": count(red_clustered_lds),
  224. "Number of red single LDs": count(red_single_lds),
  225. "Number of orange clustered LDs": count(orange_clustered_lds),
  226. "Number of orange single LDs": count(orange_single_lds),
  227. "Number of red LDs not orange": count(lipid_droplet_red_not_orange),
  228. "Number of red LDs and orange": count(lipid_droplet_red_and_orange),
  229. "Number of green LDs not orange": count(lipid_droplet_green_not_orange),
  230. "Number of green LDs and orange": count(lipid_droplet_green_and_orange),
  231. "Number of green LDs not red": count(lipid_droplet_green_not_red),
  232. "Number of red LDs not green": count(lipid_droplet_red_not_green),
  233. "Number of green LDs and red": count(lipid_droplet_green_and_red),
  234. })
  235. df_cell_summary = pd.DataFrame(data)
  236. return df_cell_summary
  237. # %%
  238. def main(image_folder):
  239. images_to_analyze = extract_image_paths(image_folder)
  240. output_dir = os.getcwd()
  241. df_cell_summary_list = []
  242. for path in images_to_analyze:
  243. image = read_image(path)
  244. image_squeezed = np.squeeze(image)
  245. red, orange, green, blue= extract_channels(image_squeezed)
  246. df_cell_summary = analysis(red, orange, green, blue, path)
  247. df_cell_summary_list.append(df_cell_summary)
  248. combined_cell_summary_df = pd.concat(df_cell_summary_list, ignore_index=True)
  249. output_summary_path = os.path.join(output_dir, '100925_pulsechase_lipiddroplets_SUMMARY.xlsx')
  250. combined_cell_summary_df.to_excel(output_summary_path, index=False)
  251. if __name__ == "__main__":
  252. image_folder = '100925_pulsechase_lipiddroplets_images'
  253. main(image_folder)

pulse_chase_lipid_droplet_analysis.ipynb at commit 4ca87aa, under MIT · at the source

Overview

Authors: Jose Cevallos1, Elena Eubanks1, Sunghoo Jung1, Yiming Huang1, Elyse Guadagno1, Nora Jaber2, Yuzhou Xia3, Jinying Wang3, Huan Wang3,4,5, Neeharika Rao Suvvari1, Aryan Doshi1, Nitya Ravinutala1, Alejandro Mosera1,6, Timothy Hsu1, Jiya Mody1,7, Benjamin Sacks1,8, Anvi Narayan1, Breanna Smith1, Maia Wang1, Meghana Gottapu1
and 8 other authorsHeba Alnakhala9,10, Nagendran Ramalingam9,10,11,12, Arati Tripathi9,10, Tim Bartels13, Ulf Dettmer9,10, Zheng Shi3, Wei Dai2, Eleanna Kara1
13 affiliations
  1. Department of Neurology, Robert Wood Johnson Medical School, Institute for Neurological Therapeutics at Rutgers, Rutgers Biomedical and Health Sciences, Piscataway, NJ USA
  2. Department of Cell Biology and Neuroscience & Institute for Quantitative Biomedicine, Rutgers University, Piscataway, NJ USA
  3. Department of Chemistry and Chemical Biology, Rutgers University, Piscataway, NJ USA
  4. Present Address: Department of Chemistry, Stanford University, Stanford, CA USA
  5. Present Address: Wu Tsai Neurosciences Institute and ChEM-H Institute, Stanford University, Stanford, CA USA
  6. Present Address: Bowles Center for Alcohol Studies, School of Medicine, University of North Carolina, Chapel Hill, NC USA
  7. Present Address: Department of Molecular Biophysics and Biochemistry, Yale University, New Haven, CT USA
  8. Present Address: Department of Radiology, Athinoula A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Charlestown, MA USA
  9. Ann Romney Center for Neurologic Diseases, Brigham and Women’s Hospital, Boston, MA USA
  10. Harvard Medical School, Boston, MA USA
  11. Present Address: Byrd Alzheimer’s Center & Research Institute, University of South Florida, Tampa, FL USA
  12. Present Address: Department of Molecular Medicine, USF Morsani College of Medicine, Tampa, FL USA
  13. UK Dementia Research Institute, University College London, London, UK
Journal: EMBO reports, volume 27, issue 15, pages 4299-4331
Dates: received 20 November 2025; accepted 22 June 2026; published online 2 July 2026; in print August 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1038/s44319-026-00856-8 · PMID 42393234 · PMCID PMC13458734 · OpenAlex W7167073532
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), Parkinson's (population), cellular / molecular (subfield)
Methods: Statistics, fMRI & imaging
Keywords: Metabolism, Neuroscience
MeSH: alpha-Synuclein*, Energy Metabolism*, Lipid Droplets*, Animals, Homeostasis, Humans, Membrane Potential, Mitochondrial, Mitochondria, Mitophagy, Parkinson Disease, Phase Separation (* major topic)
Topic: RNA Research and Splicing (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: HHS | National Institutes of Health (AG085401, R25NS105143, NS122880, NS133979, S10OD036338, R35GM147027); Aresty Research Center summer science research fellowship (N/A); NINDS NIH HHS (R01 NS122880, R01 NS133979, RF1 NS122880, RF1 NS133979, R25 NS105143); NIA NIH HHS (R21 AG085401); Jack Kent Cooke Foundation (N/A); Rutgers Health Center for Biomedical Informatics &amp; Health Artificial Intelligence (BMIHAI) summer research internship (N/A); Alpha Omega Alpha Honor Medical Society (N/A); NIGMS NIH HHS (R35 GM147027); National Science Foundation (NSF) (CAREER MCB-2046180); Rutgers startup funding (N/A); NIH HHS (S10 OD036338)
Citations: cited by 1 paper (Europe PMC); 72 references in the paper
Research resources: LAMP1-RFP was a gift from Walther Mothes RRID:Addgene_1817, mito-BFP was a gift from Gia Voeltz RRID:Addgene_49151

Abstract

Alpha-synuclein (αSyn) inclusions are a defining neuropathological feature of Parkinson’s disease, but the cellular events that initiate their formation and promote neurotoxicity remain incompletely understood. Aberrant liquid–liquid phase separation has emerged as a potential early step in αSyn dysregulation, yet the physiological triggers and functional consequences of this process are unclear. Here, we show that lipid droplets promote the spontaneous phase separation of wild-type and E46K mutant αSyn into condensates. These condensates sequester lipid droplets and impair their turnover, indicating disruption of cellular lipid homeostasis. Mitochondria in close proximity to αSyn condensates exhibit reduced membrane potential and increased mitophagy. Correlative light and electron microscopy further reveals αSyn oligomers associated with mitochondrial membranes displaying structural abnormalities. Together, these findings identify lipid droplets as drivers of aberrant αSyn phase separation and suggest that lipid droplet-rich condensates contribute to mitochondrial dysfunction and impaired energy homeostasis. Given the enrichment of lipid droplets within neuromelanin-containing dopaminergic neurons of the substantia nigra, this mechanism may be relevant to the selective neuronal vulnerability observed in Parkinson’s disease.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 10 matches between paragraphs and lines of code.

eleannakara/kara-lab

License: MIT
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 4ca87aa5d4dbd4fce31fd6d51e9a4028125d0687, 1 September 2026
Languages: Jupyter (110)
Size: 2,434 files, 110 scripts
Software Heritage: not archived
Found in: “Data availability”
Holds: README, license file, 110 notebooks
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: pandas (4 files), Cellpose (3 files), Matplotlib (3 files), NumPy (3 files), scikit-image (3 files), PyTorch (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
6 files

sunghoojung/segment-classify-pipeline

License: none: the authors keep all their rights
State: the link answers, verified on 27 September 2026
Evidence: files inventoried
Commit: 9ce7427cfbb838ad34a3ca98d73b1ba5077c48ed, 30 January 2026
Languages: Python (6), Jupyter (1)
Size: 18 files, 7 scripts
Software Heritage: not archived
Found in: “Data availability”
Holds: README, environment (pyproject.toml), 1 notebook
Not found: license file, CITATION.cff, tests, continuous integration, documentation
Tools: NumPy (6 files), PyTorch (3 files), Matplotlib (2 files), scikit-image (2 files), Pillow (1 file)
Availability: 1 check, the latest on 27 September 2026: the link answers
  • 27 September 2026: the link answers
8 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 2 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 11 scripts, each with its path and the digest of its content;
  • 10 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

Datasets cited

Other data links

Data availability

Python code used in data analysis in this manuscript has been posted publicly on GitHub: https://github.com/eleannakara/Kara-Lab/tree/main/analyses_of_alpha-synuclein_biomolecular_condensates and https://github.com/sunghoojung/segment-classify-pipeline. Tomograms of cell lysates from 3K cells have been deposited in the EMDB under accession codes EMD-76979 (https://www.ebi.ac.uk/emdb/EMD-76979), EMD-76980 (https://www.ebi.ac.uk/emdb/EMD-76980), EMD-76981 (https://www.ebi.ac.uk/emdb/EMD-76981), and EMD-76983 (https://www.ebi.ac.uk/emdb/EMD-76983), showing a mitochondrion with pronounced membrane deformation in direct contact with an extensive network of αSyn condensates, a deformed mitochondrion in close proximity to αSyn condensates, a mitochondrion with putative αSyn species associated with the outer membrane, exhibiting irregular, ragged morphology, and a mitochondrion located near αSyn condensates but without direct interaction, respectively. Microscopy images and western blots have been uploaded at BioImage Archive with accession number: S-BIAD3320 (https://www.ebi.ac.uk/biostudies/bioimages/studies/S-BIAD3320).

The source data of this paper are collected in the following database record: biostudies:S-SCDT-10_1038-S44319-026-00856-8 (https://www.ebi.ac.uk/biostudies/sourcedata/studies/S-SCDT-10_1038-S44319-026-00856-8).

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 28 authors, 2 keywords, 11 MeSH terms, 11 funders, 72 references, 2 RRIDs.

Cite

This paper

Cevallos, J., Eubanks, E., Jung, S., Huang, Y., Guadagno, E., Jaber, N., Xia, Y., Wang, J., Wang, H., Suvvari, N. R., Doshi, A., Ravinutala, N., Mosera, A., Hsu, T., Mody, J., Sacks, B., Narayan, A., Smith, B., Wang, M., . . . Kara, E. (2026). Lipid droplets promote aberrant liquid-liquid phase separation of alpha-synuclein impairing energy homeostasis. EMBO reports, 27(15), 4299-4331. https://doi.org/10.1038/s44319-026-00856-8

BibTeX

@article{cevallos2026lipid,
author = {Cevallos, Jose and Eubanks, Elena and Jung, Sunghoo and Huang, Yiming and Guadagno, Elyse and Jaber, Nora and Xia, Yuzhou and Wang, Jinying and Wang, Huan and Suvvari, Neeharika Rao and Doshi, Aryan and Ravinutala, Nitya and Mosera, Alejandro and Hsu, Timothy and Mody, Jiya and Sacks, Benjamin and Narayan, Anvi and Smith, Breanna and Wang, Maia and Gottapu, Meghana and Alnakhala, Heba and Ramalingam, Nagendran and Tripathi, Arati and Bartels, Tim and Dettmer, Ulf and Shi, Zheng and Dai, Wei and Kara, Eleanna},
title = {{Lipid droplets promote aberrant liquid-liquid phase separation of alpha-synuclein impairing energy homeostasis}},
journal = {EMBO reports},
year = {2026},
month = jul,
volume = {27},
number = {15},
pages = {4299--4331},
publisher = {Nature Publishing Group},
issn = {1469-221X},
doi = {10.1038/s44319-026-00856-8},
url = {https://doi.org/10.1038/s44319-026-00856-8},
pmid = {42393234},
pmcid = {PMC13458734}
}

RIS

TY - JOUR
AU - Cevallos, Jose
AU - Eubanks, Elena
AU - Jung, Sunghoo
AU - Huang, Yiming
AU - Guadagno, Elyse
AU - Jaber, Nora
AU - Xia, Yuzhou
AU - Wang, Jinying
AU - Wang, Huan
AU - Suvvari, Neeharika Rao
AU - Doshi, Aryan
AU - Ravinutala, Nitya
AU - Mosera, Alejandro
AU - Hsu, Timothy
AU - Mody, Jiya
AU - Sacks, Benjamin
AU - Narayan, Anvi
AU - Smith, Breanna
AU - Wang, Maia
AU - Gottapu, Meghana
AU - Alnakhala, Heba
AU - Ramalingam, Nagendran
AU - Tripathi, Arati
AU - Bartels, Tim
AU - Dettmer, Ulf
AU - Shi, Zheng
AU - Dai, Wei
AU - Kara, Eleanna
TI - Lipid droplets promote aberrant liquid-liquid phase separation of alpha-synuclein impairing energy homeostasis
T2 - EMBO reports
J2 - EMBO Rep
PY - 2026
DA - 2026/07/02
VL - 27
IS - 15
SP - 4299
EP - 4331
SN - 1469-221X
PB - Nature Publishing Group
DO - 10.1038/s44319-026-00856-8
UR - https://doi.org/10.1038/s44319-026-00856-8
LA - en
ER -

CSL-JSON

{
"id": "10.1038/s44319-026-00856-8",
"type": "article-journal",
"title": "Lipid droplets promote aberrant liquid-liquid phase separation of alpha-synuclein impairing energy homeostasis",
"container-title": "EMBO reports",
"author": [
{
"family": "Cevallos",
"given": "Jose"
},
{
"family": "Eubanks",
"given": "Elena"
},
{
"family": "Jung",
"given": "Sunghoo"
},
{
"family": "Huang",
"given": "Yiming"
},
{
"family": "Guadagno",
"given": "Elyse"
},
{
"family": "Jaber",
"given": "Nora"
},
{
"family": "Xia",
"given": "Yuzhou"
},
{
"family": "Wang",
"given": "Jinying"
},
{
"family": "Wang",
"given": "Huan"
},
{
"family": "Suvvari",
"given": "Neeharika Rao"
},
{
"family": "Doshi",
"given": "Aryan"
},
{
"family": "Ravinutala",
"given": "Nitya"
},
{
"family": "Mosera",
"given": "Alejandro"
},
{
"family": "Hsu",
"given": "Timothy"
},
{
"family": "Mody",
"given": "Jiya"
},
{
"family": "Sacks",
"given": "Benjamin"
},
{
"family": "Narayan",
"given": "Anvi"
},
{
"family": "Smith",
"given": "Breanna"
},
{
"family": "Wang",
"given": "Maia"
},
{
"family": "Gottapu",
"given": "Meghana"
},
{
"family": "Alnakhala",
"given": "Heba"
},
{
"family": "Ramalingam",
"given": "Nagendran"
},
{
"family": "Tripathi",
"given": "Arati"
},
{
"family": "Bartels",
"given": "Tim"
},
{
"family": "Dettmer",
"given": "Ulf"
},
{
"family": "Shi",
"given": "Zheng"
},
{
"family": "Dai",
"given": "Wei"
},
{
"family": "Kara",
"given": "Eleanna"
}
],
"container-title-short": "EMBO Rep",
"volume": "27",
"issue": "15",
"page": "4299-4331",
"DOI": "10.1038/s44319-026-00856-8",
"PMID": "42393234",
"PMCID": "PMC13458734",
"ISSN": "1469-221X",
"publisher": "Nature Publishing Group",
"URL": "https://doi.org/10.1038/s44319-026-00856-8",
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
2
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1016/j.nbd.2026.107379 [code]
DYRK1A and Parkinson's disease, facts and hypotheses.
Journal: Neurobiology of disease
In common: pandas, Matplotlib, NumPy, Parkinson's, cellular / molecular, 4 references
[2] doi:10.1371/journal.pcbi.1014571 [code]
SynAPSeg: A novel dataset and image analysis framework for deep learning-based synapse detection and quantification.
Journal: PLoS computational biology
In common: Cellpose, scikit-image, Pillow, 4 other tools
[3] doi:10.1038/s41467-026-72130-3 [code]
Retinoic acid drives cell fate specification, maturation and retinal regionality in human retinal organoids.
Journal: Nature communications
In common: Cellpose, scikit-image, Pillow, 3 other tools
[4] doi:10.1038/s42003-026-10063-9 [code]
Conserved Kir channel mechanisms governing intrinsic excitability in human and rodent parvalbumin neurons.
Journal: Communications biology
In common: Cellpose, scikit-image, Pillow, 3 other tools, cellular / molecular
[5] doi:10.1038/s41586-026-10323-y [code]
Genetically encoded assembly recorder temporally resolves cellular history.
Journal: Nature
In common: Cellpose, scikit-image, Pillow, 3 other tools, cellular / molecular
[6] doi:10.1126/sciadv.aeb4205 [code]
Learning stochastic dynamics and cell-fate landscapes from single-cell snapshots via optimal transport.
Journal: Science advances
In common: Cellpose, scikit-image, PyTorch, 3 other tools, cellular / molecular
[7] doi:10.1073/pnas.2609132123 [code]
A human lysosomal storage disorder toolkit for decoding proteome landscapes in cortical-like and dopaminergic-like induced neurons.
Journal: Proceedings of the National Academy of Sciences of the United States of America
In common: Cellpose, scikit-image, PyTorch, 3 other tools, cellular / molecular
[8] doi:10.1002/advs.202522762 [code]
Enhancing Maturation of Human Neuromuscular Organoids via Electrical Stimulation.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: Cellpose, scikit-image, Pillow, 3 other tools
[9] doi:10.1016/j.isci.2026.116355 [code]
Tera-MIND: Tera-scale mouse brain simulation via spatial mRNA-guided diffusion.
Journal: iScience
In common: Cellpose, Pillow, PyTorch, 3 other tools, cellular / molecular
[10] doi:10.1002/advs.202515887 [code]
An Open-Source Pipeline for Calcium Imaging and All-Optical Physiology in Human Stem Cell-Derived Neurons.
Journal: Advanced science (Weinheim, Baden-Wurttemberg, Germany)
In common: Cellpose, scikit-image, PyTorch, 3 other tools

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.