OSCR

The actomyosin cortex controls t-tubule remodeling in skeletal muscle.

Code ↔ Paper

2 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 2 matches
  1. [1] § MATERIALS AND METHODS › Image analysis ↔ BAR/src/main/resources/scripts/BAR/Analysis/LoG-DoG_Spot_Counter.py, lines 80–138 · score 0.68 · TrackMate, LoG detector, threshold, diameter, detection, ROI
  2. [2] § MATERIALS AND METHODS › Image analysis ↔ BAR/src/main/resources/scripts/BAR/Analysis/LoG-DoG_Spot_Counter.py, lines 80–138 · score 0.66 · LoG detector, spots, Trackmate, threshold, quality, diameter

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 · 210 lines · 8.4 KB · GPL-3.0 · 2 matches

  1. # @Integer(label="First channel (Ch1)", description="Target channel of first detector",min=1,max=10,style="scroll bar",value="1") channel_1
  2. # @String(label="Ch1 Detector", description="Detection algorithm", choices={"LoG", "DoG"}, style="radioButtonHorizontal") detector_ch1
  3. # @Double(label="Ch1 Estimated spot size",description="Estimated diameter in physical units",min=0.001,max=100,style="scroll bar",value=7.200) diameter_ch1
  4. # @Double(label="Ch1 Quality cutoff",description="Spots with lower quality than this are ignored",min=1,max=100,style="scroll bar",value=3.5) threshold_ch1
  5. # @ColorRGB(label="Ch1 Marker color",value="magenta") color_ch1
  6. # @String(value=" ", visibility="MESSAGE") spacer
  7. # @Integer(label="Second channel (Ch2)", description="Target channel of second detector, if present",min=2,max=10,style="scroll bar",value="2") channel_2
  8. # @String(label="Ch2 Detector", description="Detection algorithm", choices={"LoG", "DoG"}, style="radioButtonHorizontal") detector_ch2
  9. # @Double(label="Ch2 Estimated spot size",description="Estimated diameter in physical units",min=0.001,max=1000,style="scroll bar",value=1.080) diameter_ch2
  10. # @Double(label="Ch2 Quality cutoff",description="Spots with lower quality than this are ignored",min=1,max=100,style="scroll bar",value=70.5) threshold_ch2
  11. # @ColorRGB(label="Ch2 Marker color",value="yellow") color_ch2
  12. # @String(value=" ", visibility="MESSAGE") spacer
  13. # @String(label="Analysis label",description="Used to group data in Results table", value="Control image") group
  14. # @Boolean(label="3D stacks: Analyze projection", value=false) project_image
  15. # @Boolean(label="Display console log", value=false) open_console
  16. # @ImagePlus image
  17. # @LogService lservice
  18. # @UIService uiservice
  19. '''
  20. LoG-DoG_Spot_Counter.py
  21. https://github.com/tferr/Scripts/
  22. Detects particles in a multichannel image using TrackMate LoG/DoG (Laplacian/
  23. Difference of Gaussian) segmentation[1,2]. Detected centroids are displayed in
  24. the non-destructive image overlay and total counts shown in the Results table.
  25. The script was written for counting PLA (Proximity ligation Assay) foci in
  26. tissue counterstained for DAPI and WGA, but can be applied to similar images.
  27. It also exemplifies how to script TrackMate[3].
  28. NB:
  29. - If an area ROI exists, it will be used to confine detection
  30. - Toggling Color mode ('Image>Color>Channels Tools...') allows you to display
  31. only the spots detected for the active channel
  32. - The 'Group' field can be used to generate box plots of the data using 'BAR>
  33. Data Analysis>Create Boxplot'
  34. TF 201611
  35. [1] http://imagej.net/TrackMate
  36. [2] http://imagej.net/TrackMate_Algorithms#Spot_detectors
  37. [3] http://imagej.net/Scripting_TrackMate
  38. '''
  39. from fiji.plugin.trackmate import Model, Logger, Settings, TrackMate
  40. from fiji.plugin.trackmate.detection import DetectorKeys as DK, \
  41. LogDetectorFactory, DogDetectorFactory
  42. from org.scijava.util import ColorRGB
  43. from java.awt import Color
  44. from ij import IJ, ImagePlus
  45. from ij.gui import Overlay, PointRoi
  46. from ij.measure import Calibration, ResultsTable
  47. from bar import Utils
  48. def colorRGBtoColor(colorRGB):
  49. """Converts a org.scijava.util.ColorRGB into a java.awt.Color"""
  50. return Color(colorRGB.getRed(), colorRGB.getGreen(), colorRGB.getBlue())
  51. def error(msg):
  52. """ Displays an error message """
  53. uiservice.showDialog(msg, "Error")
  54. def getOverlay(imp):
  55. """ Returns an image overlay cleansed of spot ROIs from previous runs """
  56. overlay = imp.getOverlay()
  57. if overlay is None:
  58. return Overlay()
  59. for i in range(0, overlay.size()-1):
  60. roi_name = overlay.get(i).getName()
  61. if roi_name is not None and "Spots" in roi_name:
  62. overlay.remove(i)
  63. return overlay
  64. def getSpots(imp, channel, detector_type, radius, threshold, overlay,
  65. roi_type="large", roi_color=ColorRGB("blue")):
  66. """ Performs the detection, adding spots to the image overlay
  67. :imp: The image (ImagePlus) being analyzed
  68. :channel: The target channel
  69. :detector_type: A string describing the detector: "LoG" or "DoG"
  70. :radius: Spot radius (NB: trackmate GUI accepts diameter)
  71. :threshold: Quality cutoff value
  72. :overlay: The image overlay to store spot (MultiPoint) ROIs
  73. :roi_type: A string describing how spot ROIs should be displayed
  74. :returns: The n. of detected spots
  75. """
  76. settings = Settings()
  77. settings.setFrom(imp)
  78. settings.detectorFactory = (LogDetectorFactory() if "LoG" in detector_type
  79. else DogDetectorFactory())
  80. settings.detectorSettings = {
  81. DK.KEY_DO_SUBPIXEL_LOCALIZATION: False,
  82. DK.KEY_DO_MEDIAN_FILTERING: True,
  83. DK.KEY_TARGET_CHANNEL: channel,
  84. DK.KEY_RADIUS: radius,
  85. DK.KEY_THRESHOLD: threshold,
  86. }
  87. trackmate = TrackMate(settings)
  88. if not trackmate.execDetection():
  89. lservice.error(str(trackmate.getErrorMessage()))
  90. return 0
  91. model = trackmate.model
  92. spots = model.getSpots()
  93. count = spots.getNSpots(False)
  94. ch_id = "Spots Ch%d" % channel
  95. if count > 0:
  96. roi = None
  97. cal = imp.getCalibration()
  98. t_pos = imp.getT()
  99. if (t_pos > 1):
  100. lservice.warn("Only frame %d was considered..." % t_pos)
  101. for spot in spots.iterable(False):
  102. x = cal.getRawX(spot.getFeature(spot.POSITION_X))
  103. y = cal.getRawY(spot.getFeature(spot.POSITION_Y))
  104. z = spot.getFeature(spot.POSITION_Z)
  105. if z == 0 or not cal.pixelDepth or cal.pixelDepth == 0:
  106. z = 1
  107. else:
  108. z = int(z // cal.pixelDepth)
  109. imp.setPosition(channel, z, t_pos)
  110. if roi is None:
  111. roi = PointRoi(int(x), int(y), imp)
  112. else:
  113. roi.addPoint(imp, x, y)
  114. roi.setStrokeColor(colorRGBtoColor(roi_color))
  115. if "large" in roi_type:
  116. roi.setPointType(3)
  117. roi.setSize(4)
  118. else:
  119. roi.setPointType(2)
  120. roi.setSize(1)
  121. overlay.add(roi, ch_id)
  122. return count
  123. def projectionImage(imp):
  124. """Returns the MIP of the specified ImagePlus (a composite stack)"""
  125. from ij.plugin import ZProjector
  126. roi_exists = imp.getRoi() is not None
  127. imp.deleteRoi()
  128. zp = ZProjector(imp)
  129. zp.setMethod(ZProjector.MAX_METHOD)
  130. zp.setStartSlice(1)
  131. zp.setStopSlice(imp.getNSlices())
  132. zp.doHyperStackProjection(True)
  133. mip_imp = zp.getProjection()
  134. mip_imp.setCalibration(imp.getCalibration())
  135. if roi_exists:
  136. mip_imp.restoreRoi()
  137. return mip_imp
  138. def main():
  139. image = IJ.getImage() # ???This is to solve a mysterious UnboundLocalError:
  140. # local variable 'image' referenced before assignment
  141. # Script parameter @ImagePlus not being recognized???
  142. n_channels = image.getNChannels()
  143. if channel_1 > n_channels and channel_2 > n_channels:
  144. error("Image does not contain specified channel(s)")
  145. return
  146. if open_console:
  147. uiservice.getDefaultUI().getConsolePane().show()
  148. lservice.info("Analyzing " + image.getTitle())
  149. # 2D / 3D analysis?
  150. if project_image and image.getNSlices() > 1:
  151. lservice.info("Retrieving MIP")
  152. image = projectionImage(image)
  153. image.show()
  154. # Prepare overlay and Results table
  155. overlay = getOverlay(image)
  156. table = Utils.getTable("LoG-DoG Spots")
  157. table.incrementCounter()
  158. table.setLabel(image.getTitle(), table.getCounter()-1)
  159. # Perform detection
  160. spots_ch1 = spots_ch2 = float('nan')
  161. if channel_1 <= n_channels:
  162. lservice.info("Processing Ch%d" % channel_1)
  163. spots_ch1 = getSpots(image, channel_1, detector_ch1, diameter_ch1/2,
  164. threshold_ch1, overlay, "large", color_ch1)
  165. if channel_2 <= n_channels:
  166. lservice.info("Processing Ch%d" % channel_2)
  167. spots_ch2 = getSpots(image, channel_2, detector_ch2, diameter_ch2/2,
  168. threshold_ch2, overlay, "small", color_ch2)
  169. # Show results
  170. lservice.info("Displaying spot ROIs and results...")
  171. image.setOverlay(overlay)
  172. table.addValue("# " + "Spots Ch%d" % channel_1, spots_ch1)
  173. table.addValue("# " + "Spots Ch%d" % channel_2, spots_ch2)
  174. table.addValue("Ratio Ch%d/Ch%d" % (channel_1, channel_2),
  175. (float('nan') if spots_ch1 == 0 else spots_ch2 / float(spots_ch1)))
  176. table.addValue("Group", group)
  177. table.show("LoG-DoG Spots")
  178. lservice.info("Analysis concluded")
  179. if __name__ == '__main__':
  180. main()

LoG-DoG_Spot_Counter.py at commit dc0801d, under GPL-3.0 · at the source

Overview

  1. GIMM–Gulbenkian Institute for Molecular Medicine, Avenida Prof. Egas Moniz, 1649-028 Lisboa, Portugal
  2. Faculdade de Medicina, Universidade de Lisboa, Av. Prof. Egas Moniz, 1649-028 Lisboa, Portugal
  3. iNOVA4Health, NOVA Medical School|Faculdade de Ciências Médicas, NMS|FCM, Universidade NOVA de Lisboa, Lisbon, Portugal
  4. Institute of Structural and Molecular Biology, Birkbeck College, London WC1E 7HX, UK
  5. Institute of Structural and Molecular Biology, Division of Biosciences, University College London, London WC1E 6BT, UK
  6. Cellular Signalling and Cytoskeletal Function Laboratory, The Francis Crick Institute, 1 Midland Road, London NW1 1AT, UK
  7. Myology Institute, Groupe Hospitalier Universitaire Pitié-Salpêtrière, Paris, France
  8. Functional Unit of Neuromuscular Pathology, Department of Neuropathology, Groupe Hospitalier Universitaire Pitié-Salpêtrière, APHP Sorbonne University, Paris, France
  9. Sorbonne University, Myology Research Center, UMRS 974, Paris, France
  10. Department of Infectious Disease, Imperial College, London SW7 2AZ, UK
Journal: Science advances, volume 12, issue 36, article eaeb3209
Dates: received 10 August 2025; accepted 22 July 2026; published online 2 September 2026; in print September 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1126/sciadv.aeb3209 · PMID 42685205 · PMCID PMC13537240 · OpenAlex W7206217040
Open access: gold, a free copy (OpenAlex)
Status: code verified
Categories: human (organism), mouse (organism), cellular / molecular (subfield)
Methods: Spectral & time-frequency, Statistics, Connectivity, Evoked potentials, fMRI & imaging
MeSH: Actomyosin*, Muscle, Skeletal*, Actin-Related Protein 2-3 Complex, Animals, Calcium, Cell Membrane, Humans, Mice, Mice, Knockout, Muscle Contraction (* major topic)
Topic: Ion channel regulation and function (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Funding: Wellcome Trust (202679/Z/16/Z, 206166/Z/17/Z, CC2096); European Research Council (810207)
Citations: not cited yet (Europe PMC); 81 references in the paper
Research resources: RRID:Addgene_98823

Abstract

A network of plasma membrane invaginations called t-tubules plays an essential role in controlling calcium release from the endoplasmic reticulum at the triads during muscle contraction. Although the importance of t-tubules for muscle physiology is well established, and abnormalities are found in muscle disorders, the mechanisms that mediate t-tubule growth are unknown. We show that the actomyosin cortex beneath the plasma membrane, regulated by Arp2/3 complexes containing Arpc5, acts as a gatekeeper for the membrane availability during t-tubule growth. Enlarged t-tubules are formed upon disruption of Arpc5, impairing the synchronization between plasma membrane depolarization and calcium release. Knockout of Arpc5 in mouse skeletal muscle results in impaired locomotion and posture. Furthermore, we show that human triadopathy patients and Arpc5 knockout mice accumulate enlarged t-tubules. We propose that cortex-dependent membrane availability affects muscle function, offering a potential pathophysiological mechanism for muscle disorders.

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 2 matches between paragraphs and lines of code.

Zenodo 28838

License: other-open
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Size: 1 file
Software Heritage: not checked
Found in: the references
Not found: README, license file, CITATION.cff, environment file, tests, continuous integration, documentation
Tools: ImageJ / Fiji (5 files)
Availability: 1 check, the latest on 26 September 2026: the link answers (HTTP 200)
  • 26 September 2026: the link answers (HTTP 200)
17 files

tferr/scripts

License: GPL-3.0
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: dc0801d6288fb63d5ddabc7c552b86b5d74459d0, 3 June 2022
Languages: Python (18), Java (16), JavaScript (3), Shell (2)
Size: 136 files, 39 scripts
Software Heritage: not archived
Found in: the Zenodo archive record
Holds: README, license file, continuous integration
Not found: CITATION.cff, environment file, tests, documentation
Tools: ImageJ / Fiji (12 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
41 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;
  • 55 scripts, each with its path and the digest of its content;
  • 2 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

No dataset and no data link were found in the paper.

Data, code, and materials availability

All data and code needed to evaluate and reproduce the results in the paper are present in the paper and/or the Supplementary Materials. AAV1-CAG-GFP-CAAX, GFP-Bin1 (VB220728-1365nbr) plasmids and the C2C12 GFP-Bin1 cell line are available from the corresponding author E.R.G. (). The Arpc5 and Arpc5l KO mice on a C57Bl/6 background that are described in this study are available from M.W. () under a material transfer agreement with The Francis Crick Institute.

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, 15 authors, 10 MeSH terms, 2 funders, 78 references, 1 RRID.

Cite

This paper

Pereira, A. R., Di Francescantonio, S., da Rosa Soares, A., Liu, T., Carvalho, F. A., Ferreira, J. L., Leal, G., Faleiro, I., Kogata, N., Labella, B., Evangelista, T., Santos, N. C., Way, M., Moores, C. A., & Gomes, E. R. (2026). The actomyosin cortex controls t-tubule remodeling in skeletal muscle. Science advances, 12(36), eaeb3209. https://doi.org/10.1126/sciadv.aeb3209

BibTeX

@article{pereira2026actomyosin,
author = {Pereira, Ana Raquel and Di Francescantonio, Silvia and da Rosa Soares, Ana and Liu, Tianyang and Carvalho, Filomena A and Ferreira, Josie Liane and Leal, Graciano and Faleiro, Inês and Kogata, Naoko and Labella, Beatrice and Evangelista, Teresinha and Santos, Nuno C and Way, Michael and Moores, Carolyn A and Gomes, Edgar R},
title = {{The actomyosin cortex controls t-tubule remodeling in skeletal muscle}},
journal = {Science advances},
year = {2026},
month = sep,
volume = {12},
number = {36},
pages = {eaeb3209},
publisher = {American Association for the Advancement of Science},
issn = {2375-2548},
doi = {10.1126/sciadv.aeb3209},
url = {https://doi.org/10.1126/sciadv.aeb3209},
pmid = {42685205},
pmcid = {PMC13537240}
}

RIS

TY - JOUR
AU - Pereira, Ana Raquel
AU - Di Francescantonio, Silvia
AU - da Rosa Soares, Ana
AU - Liu, Tianyang
AU - Carvalho, Filomena A
AU - Ferreira, Josie Liane
AU - Leal, Graciano
AU - Faleiro, Inês
AU - Kogata, Naoko
AU - Labella, Beatrice
AU - Evangelista, Teresinha
AU - Santos, Nuno C
AU - Way, Michael
AU - Moores, Carolyn A
AU - Gomes, Edgar R
TI - The actomyosin cortex controls t-tubule remodeling in skeletal muscle
T2 - Science advances
J2 - Sci Adv
PY - 2026
DA - 2026/09/02
VL - 12
IS - 36
SP - eaeb3209
SN - 2375-2548
PB - American Association for the Advancement of Science
DO - 10.1126/sciadv.aeb3209
UR - https://doi.org/10.1126/sciadv.aeb3209
LA - en
ER -

CSL-JSON

{
"id": "10.1126/sciadv.aeb3209",
"type": "article-journal",
"title": "The actomyosin cortex controls t-tubule remodeling in skeletal muscle",
"container-title": "Science advances",
"author": [
{
"family": "Pereira",
"given": "Ana Raquel"
},
{
"family": "Di Francescantonio",
"given": "Silvia"
},
{
"family": "da Rosa Soares",
"given": "Ana"
},
{
"family": "Liu",
"given": "Tianyang"
},
{
"family": "Carvalho",
"given": "Filomena A"
},
{
"family": "Ferreira",
"given": "Josie Liane"
},
{
"family": "Leal",
"given": "Graciano"
},
{
"family": "Faleiro",
"given": "Inês"
},
{
"family": "Kogata",
"given": "Naoko"
},
{
"family": "Labella",
"given": "Beatrice"
},
{
"family": "Evangelista",
"given": "Teresinha"
},
{
"family": "Santos",
"given": "Nuno C"
},
{
"family": "Way",
"given": "Michael"
},
{
"family": "Moores",
"given": "Carolyn A"
},
{
"family": "Gomes",
"given": "Edgar R"
}
],
"container-title-short": "Sci Adv",
"volume": "12",
"issue": "36",
"page": "eaeb3209",
"DOI": "10.1126/sciadv.aeb3209",
"PMID": "42685205",
"PMCID": "PMC13537240",
"ISSN": "2375-2548",
"publisher": "American Association for the Advancement of Science",
"URL": "https://doi.org/10.1126/sciadv.aeb3209",
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
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.1038/s41467-026-72845-3 [code]
The membrane-to-cortex distance regulates mDia1 activity to control cortical mechanics.
Journal: Nature communications
In common: mouse, cellular / molecular, 9 references
[2] doi:10.7554/elife.104778 [code]
Twelve phosphomimetic mutations induce the assembly of recombinant full-length human tau into paired helical filaments.
Journal: eLife
In common: ImageJ / Fiji, cellular / molecular, 2 references
[3] doi:10.1038/s41586-026-10755-6 [code]
An intrinsic cytoskeletal oscillator establishes neuronal polarity.
Journal: Nature
In common: ImageJ / Fiji, mouse, 1 reference
[4] doi:10.1038/s41467-026-76368-9
Integrative structural analysis of human endosomal NHE6 reveals a lipid-associated gate and disordered C-terminus.
Journal: Nature communications
In common: cellular / molecular, 3 references
[5] doi:10.21769/bioprotoc.5801 [code]
Quantitative Analysis of Axonal Degeneration and TDP-43 Aggregation in Compartmentalized Human iPSC-Derived Motor Neuron-Myotube Co-cultures.
Journal: Bio-protocol
In common: ImageJ / Fiji, cellular / molecular, 1 reference
[6] doi:10.1038/s41556-026-01965-1 [code]
Long-range mutual activation establishes Rho and Rac polarity during cell migration.
Journal: Nature cell biology
In common: cellular / molecular, 3 references
[7] doi:10.1038/s41592-026-03066-1 [code]
A multimodal adaptive optical microscope for in vivo imaging from molecules to organisms.
Journal: Nature methods
In common: mouse, 3 references
[8] doi:10.1038/s41467-026-76831-7
Structural origins of species-specific differences in TRPV2 activation.
Journal: Nature communications
In common: mouse, cellular / molecular, 2 references
[9] doi:10.1038/s41586-026-10299-9 [code]
A µ-opioid receptor superagonist analgesic with minimal adverse effects.
Journal: Nature
In common: mouse, cellular / molecular, 2 references
[10] doi:10.7554/elife.107635 [code]
Stable excitatory-inhibitory synapse balance despite dynamic turnover.
Journal: eLife
In common: ImageJ / Fiji, mouse, cellular / molecular

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.