OSCR

Peptides Targeting GDNF Family Receptor Alpha 1 (GFRα1) Mimic Glial Cell Line-Derived Neurotrophic Factor (GDNF) Bioactivity.

Code ↔ Paper

The paper beside its authors' code: matches between them have not been computed for this paper yet.

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

Python · 355 lines · 12 KB · no license

  1. import re
  2. import numpy as np
  3. import random
  4. from matplotlib import pyplot as plt
  5. import json
  6. INCLUDE_N = True # Set to True to include 'N' in the DNA sequences, False to exclude
  7. CULL_MINLENGTH = 10 # Minimum length of DNA sequences to be extracted
  8. CULL_MAXLENGTH = 1000 # Maximum length of DNA sequences to be extracted
  9. FILE_SEPARATOR = "+" # Separator used in the input file, can be space, tab, etc.
  10. K = {"G","T"}
  11. K_REV = {"C","A"}
  12. N = {"A","T","G","C"}
  13. def extract_sequences(file_path):
  14. with open(file_path, "r") as file:
  15. #Example Entry after regex as a tuple
  16. #('NB501061:163:HVYLLAFX3:1:11101:1980:1063' - Run ID,
  17. # '1:N:0:GTATTATCT+CATATCGTT' - Additional Run Information,
  18. # 'TGTAGACTATTCTCACTCTTCTTGTCTGGTTCCTCCGCGTCCGACGTGTGGTGGAGGTTCGGTCGACG', - DNA Sequence
  19. # 'AAAAAEE<EE<EEEEEEEEEEAEEEE/EEAEEEEA//AA/EAAEEEEEEEEAEEEEEE/EA<EEEEE6' - DNA Quality Score)
  20. regexExpression = r"@([A-Z0-9.:\-\s]+)(?:\s)([A-Z0-9:+\/-]+)(?:\s*)([CODONS]{cull_minlength,cull_maxlength})(?:\s+SPLIT\s*)([!-I]{cull_minlength,cull_maxlength})".replace("cull_minlength", str(CULL_MINLENGTH)).replace("cull_maxlength", str(CULL_MAXLENGTH))
  21. regexExpression = regexExpression.replace("CODONS", "ATGCN" if INCLUDE_N else "ATGC")
  22. cleanedFileSeparator = FILE_SEPARATOR.replace("\\\\", "\\")
  23. regexExpression = regexExpression.replace("SPLIT", f"[{cleanedFileSeparator}]?")
  24. entries = re.findall(regexExpression, file.read())
  25. return [x[2] for x in entries] # Return only the DNA sequences
  26. def load_from_json(file_path):
  27. seqs = []
  28. with open(file_path, "r") as file:
  29. data = json.load(file)
  30. for key, entry in data.items() :
  31. seqs.append(entry["sequences"])
  32. return seqs
  33. def _validate_umi(umi):
  34. validate_lambda = lambda u, T_K: u[1] in T_K and u[2] in T_K and all(base in "ATGC" for base in u)
  35. if len(umi) == 8:
  36. return validate_lambda(umi[:4], K) and validate_lambda(umi[4:], K_REV)
  37. if len(umi) == 4:
  38. return validate_lambda(umi, K)
  39. raise ValueError(f"UMI length must be either 4 or 8, got {len(umi)}")
  40. def _validate_region(region, target_length=68):
  41. return len(region) == target_length - 47 and all(base in "ATGC" for base in region)
  42. def umi_analysis(sequences, only_front_umi : bool =True, target_length : int = 68):
  43. umi_fixed = {}
  44. region_fixed = {}
  45. umi_lambda = lambda seq: seq[:4] if only_front_umi else seq[:4] + seq[-4:]
  46. region_lambda = lambda seq: seq[25:-22]
  47. for seq in sequences:
  48. umi = umi_lambda(seq)
  49. region = region_lambda(seq)
  50. t = _validate_umi(umi)
  51. t2 = _validate_region(region)
  52. if not _validate_umi(umi) or not _validate_region(region):
  53. continue
  54. umi_fixed.setdefault(umi, {})
  55. umi_fixed[umi][region] = umi_fixed[umi].get(region, 0) + 1
  56. region_fixed.setdefault(region, {})
  57. region_fixed[region][umi] = region_fixed[region].get(umi, 0) + 1
  58. '''
  59. #Calculate the mean and std of the number of UMIs per region
  60. umi_unique_region_counts = [len(regions) for regions in umi_fixed.values()]
  61. mean_umis_per_region = sum(umi_unique_region_counts) / len(umi_unique_region_counts)
  62. std_umis_per_region = (sum((x - mean_umis_per_region) ** 2 for x in umi_unique_region_counts) / len(umi_unique_region_counts)) ** 0.5
  63. print(f"Mean UMIs per region: {mean_umis_per_region}")
  64. print(f"Standard Deviation of UMIs per region: {std_umis_per_region}")
  65. region_unique_umi_counts = [len(umis) for umis in region_fixed.values()]
  66. mean_regions_per_umi = sum(region_unique_umi_counts) / len(region_unique_umi_counts)
  67. std_regions_per_umi = (sum((x - mean_regions_per_umi) ** 2 for x in region_unique_umi_counts) / len(region_unique_umi_counts)) ** 0.5
  68. print(f"Mean regions per UMI: {mean_regions_per_umi}")
  69. print(f"Standard Deviation of regions per UMI: {std_regions_per_umi}")
  70. '''
  71. t = set(sequences)
  72. umi_unique_region_counts = np.array([len(regions) for regions in umi_fixed.values()])
  73. mean_umis_per_region = np.mean(umi_unique_region_counts)
  74. std_umis_per_region = np.std(umi_unique_region_counts)
  75. region_unique_umi_counts = np.array([len(umis) for umis in region_fixed.values()])
  76. mean_regions_per_umi = np.mean(region_unique_umi_counts)
  77. std_regions_per_umi = np.std(region_unique_umi_counts)
  78. print(f"Mean UMIs per region: {mean_umis_per_region}")
  79. print(f"Standard Deviation of UMIs per region: {std_umis_per_region}")
  80. print(f"Mean regions per UMI: {mean_regions_per_umi}")
  81. print(f"Standard Deviation of regions per UMI: {std_regions_per_umi}")
  82. return umi_fixed, region_fixed
  83. def _umi_gt_analysis(sequences, only_front_umi : bool =True, target_length : int = 68):
  84. def _generate_random_umi(only_front_umi):
  85. temp_N = list(N)
  86. temp_K = list(K)
  87. temp_K_REV = list(K_REV)
  88. if only_front_umi:
  89. b1 = random.choice(temp_N)
  90. b2 = random.choice(temp_K)
  91. b3 = random.choice(temp_K)
  92. b4 = random.choice(temp_N)
  93. return b1 + b2 + b3 + b4
  94. else:
  95. b5 = random.choice(temp_N)
  96. b6 = random.choice(temp_K_REV)
  97. b7 = random.choice(temp_K_REV)
  98. b8 = random.choice(temp_N)
  99. return _generate_random_umi(True) + b5 + b6 + b7 + b8
  100. region_counts = {}
  101. for seq in sequences:
  102. umi = seq[:4] if only_front_umi else seq[:4] + seq[-4:]
  103. region = seq[25:-22]
  104. if not _validate_region(region, target_length):
  105. continue
  106. region_counts[region] = region_counts.get(region, 0) + 1
  107. synth_data = [(_generate_random_umi(only_front_umi), seq) for seq in region_counts.keys()]
  108. umi_fixed = {}
  109. region_fixed = {}
  110. for umi, region in synth_data:
  111. umi_fixed.setdefault(umi, {})
  112. umi_fixed[umi][region] = umi_fixed[umi].get(region, 0) + 1
  113. region_fixed.setdefault(region, {})
  114. region_fixed[region][umi] = region_fixed[region].get(umi, 0) + 1
  115. umi_unique_region_counts = np.array([len(regions) for regions in umi_fixed.values()])
  116. mean_umis_per_region = np.mean(umi_unique_region_counts)
  117. std_umis_per_region = np.std(umi_unique_region_counts)
  118. region_unique_umi_counts = np.array([len(umis) for umis in region_fixed.values()])
  119. mean_regions_per_umi = np.mean(region_unique_umi_counts)
  120. std_regions_per_umi = np.std(region_unique_umi_counts)
  121. print(f"Mean UMIs per region: {mean_umis_per_region}")
  122. print(f"Standard Deviation of UMIs per region: {std_umis_per_region}")
  123. print(f"Mean regions per UMI: {mean_regions_per_umi}")
  124. print(f"Standard Deviation of regions per UMI: {std_regions_per_umi}")
  125. return umi_fixed, region_fixed
  126. pass
  127. def plot_region_distribution(region_fixed):
  128. counts_per_top_umi = []
  129. for region, umis in region_fixed.items():
  130. sorted_umis = sorted(umis.items(), key=lambda x: x[1], reverse=True)
  131. total_umis = sum(umis.values())
  132. if total_umis <= 100:
  133. continue
  134. for i, (umi, count) in enumerate(sorted_umis):
  135. if i > 100:
  136. break
  137. if len(counts_per_top_umi) <= i:
  138. counts_per_top_umi.append([])
  139. counts_per_top_umi[i].append(count/total_umis)
  140. plt.figure(figsize=(10, 6))
  141. plt.boxplot(counts_per_top_umi)
  142. plt.ylabel('Count of Regions Associated with UMI')
  143. plt.title('Distribution of Region Counts for Top UMIs')
  144. plt.show()
  145. def NKKN_analysis(sequences):
  146. nkkn_counts = {}
  147. dropped_N_count = 0
  148. dropped_K_count = 0
  149. total_count = 0
  150. count_of_bases_in_position = [{"A": 0, "T": 0, "G": 0, "C": 0, "N": 0} for _ in range(4)]
  151. for seq in sequences:
  152. first_four = seq[:4]
  153. total_count += 1
  154. if("N" in first_four):
  155. dropped_N_count += 1
  156. continue
  157. #Check K
  158. if first_four[1] not in K or first_four[2] not in K:
  159. dropped_K_count += 1
  160. continue
  161. nkkn_counts[first_four] = nkkn_counts.get(first_four, 0) + 1
  162. for i, base in enumerate(first_four):
  163. if base in count_of_bases_in_position[i]:
  164. count_of_bases_in_position[i][base] += 1
  165. for nkkn, count in nkkn_counts.items():
  166. print(f"{nkkn}: {count}")
  167. max_nkkn = max(nkkn_counts, key=nkkn_counts.get)
  168. min_nkkn = min(nkkn_counts, key=nkkn_counts.get)
  169. print(f"Most common NKKN: {max_nkkn} with count {nkkn_counts[max_nkkn]}")
  170. print(f"Least common NKKN: {min_nkkn} with count {nkkn_counts[min_nkkn]}")
  171. #Output the count of bases in each position as a csv
  172. print("Position, A, T, G, C, N")
  173. for i, counts in enumerate(count_of_bases_in_position):
  174. print(f"{i+1}, {counts['A']}, {counts['T']}, {counts['G']}, {counts['C']}, {counts['N']}")
  175. pass
  176. def plot_nkkn_composition(raw, merged):
  177. def _t(data):
  178. counts_per_top_umi = []
  179. for region, umis in data.items():
  180. sorted_umis = sorted(umis.items(), key=lambda x: x[1], reverse=True)
  181. total_umis = sum(umis.values())
  182. if total_umis <= 100:
  183. continue
  184. for i, (umi, count) in enumerate(sorted_umis):
  185. if i > 100:
  186. break
  187. if len(counts_per_top_umi) <= i:
  188. counts_per_top_umi.append([])
  189. counts_per_top_umi[i].append(count/total_umis)
  190. return counts_per_top_umi
  191. raw_distribution = _t(raw)
  192. merged_distribution = _t(merged)
  193. raw_means = [np.mean(counts) for counts in raw_distribution]
  194. merged_means = [np.mean(counts) for counts in merged_distribution]
  195. differences = [m - r for m, r in zip(merged_means, raw_means)]
  196. plt.figure(figsize=(10, 6))
  197. plt.plot(differences, marker='o', label='Difference in Mean Proportion (Merged - Raw)')
  198. plt.plot(raw_means, marker='o', label='Raw Mean Proportion')
  199. plt.plot(merged_means, marker='o', label='Merged Mean Proportion')
  200. plt.xlabel('UMI Rank')
  201. plt.ylabel('Difference in Mean Proportion of Regions (Merged - Raw)')
  202. plt.title('Difference in Mean Proportion of Regions for Top UMIs (Merged vs Raw)')
  203. plt.legend()
  204. plt.axhline(0, color='gray', linestyle='--')
  205. plt.show()
  206. def plot_nkkn_composition_bins(raw, merged, threshold=0.1):
  207. def _parse(data):
  208. counts = []
  209. total_lengths = 0
  210. for region, umis in data.items():
  211. if sum(umis.values()) <= 100:
  212. continue
  213. total_umis = sum(umis.values())
  214. for i, (umi, count) in enumerate(umis.items()):
  215. counts.append(count)
  216. return [c for c in counts]
  217. raw_bins = _parse(raw)
  218. merged_bins = _parse(merged)
  219. mean_raw = np.mean(raw_bins)
  220. mean_merged = np.mean(merged_bins)
  221. max_raw = max(raw_bins)
  222. max_merged = max(merged_bins)
  223. print(f"Mean Raw Count: {mean_raw}")
  224. print(f"Mean Merged Count: {mean_merged}")
  225. plt.figure(figsize=(10, 6))
  226. plt.hist(raw_bins, bins=200, alpha=0.5, label='Raw', color='blue')
  227. plt.hist(merged_bins, bins=200, alpha=0.5, label='Merged', color='orange')
  228. plt.legend()
  229. plt.show()
  230. def main():
  231. file_path = "data/MON_BSA/PID-1309-M7-MON-BSA-1_S87_R1_001.fastq" # Replace with your actual file path
  232. sequences = extract_sequences(file_path)
  233. umi_fixed, region_fixed = umi_analysis(sequences, only_front_umi=True, target_length=68)
  234. merged_path = "data/MON_BSA/merged.json"
  235. sequences = load_from_json(merged_path)
  236. umi_merged, region_merged = umi_analysis(sequences, only_front_umi=True, target_length=68)
  237. # plot_region_distribution(region_fixed)
  238. plot_nkkn_composition_bins(region_fixed, region_merged)
  239. #umi_counts = _umi_gt_analysis(sequences, only_front_umi=False, target_length=68)
  240. if __name__ == "__main__":
  241. main()

NKKN_analysis.py at commit 018bcb4, no license · at the source

Overview

  1. School of Pharmacy, UCL, 29-39 Brunswick Square, London WC1N 1AX, U.K
  2. Centre for Nerve Engineering, UCL, 29-39 Brunswick Square, London WC1N 1AX, U.K
  3. Department of Chemistry, UCL, 20 Gordon Street, London WC1H 0AJ, U.K
Institutions: University College London (United Kingdom)
Journal: Journal of medicinal chemistry, volume 69, issue 10, pages 11914-11925
Dates: received 20 November 2025; accepted 30 April 2026; published online 8 May 2026; in print May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1021/acs.jmedchem.5c03413 · PMID 42100797 · PMCID PMC13224089 · OpenAlex W7160656057
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), other condition (population), cellular / molecular (subfield)
MeSH: Glial Cell Line-Derived Neurotrophic Factor*, Glial Cell Line-Derived Neurotrophic Factor Receptors*, Peptides*, Animals, Cell Line, Tumor, Cell Proliferation, Ganglia, Spinal, Humans, Neurons, Peptide Library, Signal Transduction (* major topic)
Topic: Nerve injury and regeneration (Cellular and Molecular Neuroscience, Neuroscience), according to OpenAlex
Funding: Engineering and Physical Sciences Research Council (UKRI3030); RCUK | Biotechnology and Biological Sciences Research Council (BBSRC) (BB/T008709/1); Royal Society of Chemistry (R25-0983224461); EPSRC/SFI Centre for Doctoral Training in Transformative Pharmaceutical Technologies (EP/S023054/1)
Citations: not cited yet (Europe PMC); 59 references in the paper
Research resources: RRID:SCR_027307

Abstract

Glial cell line-derived neurotrophic factor (GDNF) is a neuroprotective protein with widespread applications in regenerative medicine, though its clinical translation has been limited. Peptide mimetics have the potential to overcome the limitations associated with the translation of GDNF. Herein, peptides targeting the GDNF receptor GFRα1 were identified by screening a 12-mer linear peptide phage display library against GFRα1. Peptide hits were rationalized by computational alanine scanning mutagenesis studies to identify residues contributing to GDNF and GFRα1 binding. Four hit peptides were synthesized and tested for GFRα1 binding affinity. All peptides activated the downstream phosphatidylinositol 3 kinase signaling pathway in SH-SY5Y cells and increased cellular proliferation. The biological activity of two peptides matched that of recombinant GDNF, as measured by neurite outgrowth of primary dorsal root ganglion neurons. For the first time, we report monomeric GFRα1-targeting peptides that mimic the biological effects of GDNF, with potential applications in regenerative medicine.

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

Repository

Its files are read in the Code ↔ Paper reader above.

taoyangwu/P3ANUT

License: none: the authors keep all their rights
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 018bcb46573b94060105e55f58239b61c30f8a4d, 17 July 2026
Languages: Python (32), Jupyter (1)
Size: 80 files, 33 scripts
Software Heritage: not archived
Found in: the text, “Extraction of Single-Stranded Phage DNA and Sequ”
Holds: README, environment (requirements.txt), 1 notebook
Not found: license file, CITATION.cff, tests, continuous integration, documentation
Tools: NumPy (19 files), Matplotlib (15 files), pandas (10 files), SciPy (4 files), scikit-learn (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
34 files

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:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 33 scripts, each with its path and the digest of its content;
  • no match between paragraphs and code yet;
  • 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

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 2, 28 September 2026

  • Publisher: n/a → American Chemical Society

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 8 authors, 11 MeSH terms, 4 funders, 58 references, 1 RRID.

Cite

This paper

Atkinson, E. A., Liu, T., Fowler, M., Smith, P. O., Tabor, A. B., Morris, C. J., Phillips, J. B., & Dickman, R. (2026). Peptides Targeting GDNF Family Receptor Alpha 1 (GFRα1) Mimic Glial Cell Line-Derived Neurotrophic Factor (GDNF) Bioactivity. Journal of medicinal chemistry, 69(10), 11914-11925. https://doi.org/10.1021/acs.jmedchem.5c03413

BibTeX

@article{atkinson2026peptides,
author = {Atkinson, Emily A. and Liu, Tianyang and Fowler, Maria and Smith, Poppy O. and Tabor, Alethea B. and Morris, Christopher J. and Phillips, James B. and Dickman, Rachael},
title = {{Peptides Targeting GDNF Family Receptor Alpha 1 (GFRα1) Mimic Glial Cell Line-Derived Neurotrophic Factor (GDNF) Bioactivity}},
journal = {Journal of medicinal chemistry},
year = {2026},
month = may,
volume = {69},
number = {10},
pages = {11914--11925},
publisher = {American Chemical Society},
issn = {0022-2623},
doi = {10.1021/acs.jmedchem.5c03413},
url = {https://doi.org/10.1021/acs.jmedchem.5c03413},
pmid = {42100797},
pmcid = {PMC13224089}
}

RIS

TY - JOUR
AU - Atkinson, Emily A.
AU - Liu, Tianyang
AU - Fowler, Maria
AU - Smith, Poppy O.
AU - Tabor, Alethea B.
AU - Morris, Christopher J.
AU - Phillips, James B.
AU - Dickman, Rachael
TI - Peptides Targeting GDNF Family Receptor Alpha 1 (GFRα1) Mimic Glial Cell Line-Derived Neurotrophic Factor (GDNF) Bioactivity
T2 - Journal of medicinal chemistry
J2 - J Med Chem
PY - 2026
DA - 2026/05/08
VL - 69
IS - 10
SP - 11914
EP - 11925
SN - 0022-2623
PB - American Chemical Society
DO - 10.1021/acs.jmedchem.5c03413
UR - https://doi.org/10.1021/acs.jmedchem.5c03413
LA - en
ER -

CSL-JSON

{
"id": "10.1021/acs.jmedchem.5c03413",
"type": "article-journal",
"title": "Peptides Targeting GDNF Family Receptor Alpha 1 (GFRα1) Mimic Glial Cell Line-Derived Neurotrophic Factor (GDNF) Bioactivity",
"container-title": "Journal of medicinal chemistry",
"author": [
{
"family": "Atkinson",
"given": "Emily A."
},
{
"family": "Liu",
"given": "Tianyang"
},
{
"family": "Fowler",
"given": "Maria"
},
{
"family": "Smith",
"given": "Poppy O."
},
{
"family": "Tabor",
"given": "Alethea B."
},
{
"family": "Morris",
"given": "Christopher J."
},
{
"family": "Phillips",
"given": "James B."
},
{
"family": "Dickman",
"given": "Rachael"
}
],
"container-title-short": "J Med Chem",
"volume": "69",
"issue": "10",
"page": "11914-11925",
"DOI": "10.1021/acs.jmedchem.5c03413",
"PMID": "42100797",
"PMCID": "PMC13224089",
"ISSN": "0022-2623",
"publisher": "American Chemical Society",
"URL": "https://doi.org/10.1021/acs.jmedchem.5c03413",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
8
]
]
}
}

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.1038/s42003-026-10252-6 [code]
RET signaling as a mediator of estrogen receptor positive breast cancer brain metastasis.
Journal: Communications biology
In common: pandas, Matplotlib, NumPy, other condition, cellular / molecular, 2 references
[2] doi:10.1038/s41467-026-75806-y [code]
Cryo-EM insights into isoform-specific properties of the IP&lt;sub&gt;3&lt;/sub&gt;R2 channel.
Journal: Nature communications
In common: pandas, SciPy, Matplotlib, 1 other tool, cellular / molecular, 2 references
[3] doi:10.1016/j.molcel.2026.07.006 [code]
DeorphaNN: Virtual screening of GPCR peptide agonists using AlphaFold-predicted active-state complexes and deep learning embeddings.
Journal: Molecular cell
In common: scikit-learn, pandas, SciPy, 2 other tools, cellular / molecular, 1 reference
[4] doi:10.1038/s41586-026-10391-0 [code]
Cell-type-targeted mitochondrial transplantation rescues cell degeneration.
Journal: Nature
In common: scikit-learn, pandas, SciPy, 2 other tools, cellular / molecular, 1 reference
[5] doi:10.1038/s41586-026-10670-w [code]
Zero-shot design of drug-binding proteins via neural iterative selection-expansion.
Journal: Nature
In common: scikit-learn, pandas, SciPy, 2 other tools, cellular / molecular, 1 reference
[6] doi:10.3390/biom16071049 [code]
AUKAT: Conditional VAE-Driven Augmentation and Neural Modeling of Enzyme Turnover Numbers.
Journal: Biomolecules
In common: scikit-learn, pandas, SciPy, 1 other tool, 1 reference
[7] doi:10.1038/s41467-026-75444-4 [code]
Structural insights enable drug discovery for the neuronal NBCn2 carbonate transporter.
Journal: Nature communications
In common: pandas, SciPy, Matplotlib, 1 other tool, cellular / molecular, 1 reference
[8] doi:10.1038/s41592-026-03065-2 [code]
PinkyCaMP: an mScarlet-based calcium sensor with enhanced brightness, photostability and multiplexing capabilities.
Journal: Nature methods
In common: pandas, SciPy, Matplotlib, 1 other tool, cellular / molecular, 1 reference
[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: pandas, SciPy, Matplotlib, 1 other tool, cellular / molecular, 1 reference
[10] doi:10.1038/s41467-026-72568-5 [code]
Endosome maturation is orchestrated by inside-out proton signaling through a Na&lt;sup&gt;+&lt;/sup&gt;/H&lt;sup&gt;+&lt;/sup&gt; exchanger and pH-dependent Rab GTPase cycling.
Journal: Nature communications
In common: SciPy, Matplotlib, NumPy, cellular / molecular, 1 reference

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.