OSCR

Developmental dynamics of catshark cranial neural crest cells provide insights into gnathostome facial evolution.

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

Jupyter notebook · 181 lines · 5.2 KB · GPL-3.0

  1. # %% [markdown]
  2. # # Welcome to the HCR 3.0 Probe Maker v0.3.2
  3. # ### Written by:
  4. # RW Null, MD Ramirez, D Sun, and BD Özpolat
  5. # %% [markdown]
  6. #
  7. # ### To run a cell, click on it, hold "SHIFT" and press "RETURN" on your keyboard
  8. #
  9. # #### - or - use the [>| Run] button above
  10. # %% [markdown]
  11. # # Start with this box.
  12. # ### After you run this box you can use the boxes below to modify particular inputs of your run.
  13. # %%
  14. from start import start
  15. from maker37cb import maker
  16. strt = start()
  17. name,fullseq,amplifier,pause,choose,polyAT,polyCG,BlastProbes,db,dropout,show,report,maxprobe,numbr = strt[0],strt[1],strt[2],strt[3],strt[4],strt[5],strt[6],strt[7],strt[8],strt[9],strt[10],strt[11],strt[12],strt[13]
  18. maker(name,fullseq,amplifier,pause,choose,polyAT,polyCG,BlastProbes,db,dropout,show,report,maxprobe,numbr)
  19. # %% [markdown]
  20. #
  21. #
  22. # ## Running the cells below allow you to modify parts of your input
  23. #
  24. # %% [markdown]
  25. #
  26. # ### Change the gene name used for outputs
  27. #
  28. # %%
  29. name = str(input("What is the gene name? (ex. eGFP) "))
  30. # %% [markdown]
  31. #
  32. # ### Change the cDNA sequence
  33. #
  34. # %%
  35. fullseq = str(input("Enter the sense sequence of your cDNA without spaces or returns. "))
  36. # %% [markdown]
  37. #
  38. # ### Change the hairpin you will use to amplify with.
  39. # ##### B1-B5 were used by Choi et al. 2014 and B7 to B17 were reported by Wang et al. BioRxiv 2020
  40. #
  41. # %%
  42. amplifier = str(input("What is the amplifier to be used with this probe set? B1,B2,B3,B4,B5,B7,B9,B10,B11,B13,B14,B15,or B17 ").upper())
  43. # %% [markdown]
  44. #
  45. #
  46. # ### Adjust the number of bases skipped at the 5' end of the cDNA before starting to make probes
  47. #
  48. # %%
  49. pause = int(input("How many bases from 5' end of the Sense RNA before starting to hybridize? ex. 100 "))
  50. # %% [markdown]
  51. #
  52. # ### Change the tolerated homopolymer lengths of (poly-A & poly-T) and/or (poly-C & polyG)
  53. #
  54. # %%
  55. polyAT = int(input("What is the max acceptable length for polyA or polyT homopolymers? "))
  56. polyCG = int(input("What is the max acceptable length for polyC or polyG homopolymers? "))
  57. # %% [markdown]
  58. #
  59. # ### If multiple probe pair sets are available, toggle the option to choose which set of probes gets made
  60. #
  61. # %%
  62. choose1 = str(input("Do you want to be able to select between potential longest probe sets? (Choosing 'N' defaults to the first longest set of probes.) Y or N "))
  63. # %% [markdown]
  64. #
  65. # ### Toggle on/off whether a BLASTn search is performed on the potential probes or the original input cDNA
  66. #
  67. # %%
  68. BlastProbes = str(input("Would you like BLAST potential probes against a FASTA file? Y or N "))
  69. # %% [markdown]
  70. #
  71. # ### Specify the directory path of the FASTA file to be used as the BLASTn subject
  72. #
  73. # %%
  74. db = str(input("Where is the FASTA file you would like to BLAST against? Example: 'C:/users/user/***.fasta' Ignore if not BLASTing " ))
  75. # %% [markdown]
  76. # ### Use BLASTn results to remove potential off-target probes
  77. # %%
  78. dropout = str(input("Do you want to eliminate probes that appear in low quaility BLAST outputs? Y or N "))
  79. # %% [markdown]
  80. # ### Toggle the presentation of detailed BLASTn results on/off
  81. # %%
  82. show = str(input("Do you want to display detailed BLAST outputs? Y or N "))
  83. # %% [markdown]
  84. # ### Toggle printing of parameters used at the end of the report
  85. # %%
  86. report = str(input("Do you want to display chosen parameters in output? Y or N "))
  87. # %% [markdown]
  88. # ### Toggle the max/arbitrary number of output sequences
  89. # ##### The biggest number of probes OPools will allow is 33 probe pairs at 50pmol for 99 dollars, less still costs 99, more increases the cost by each additional base.
  90. # ##### This option will let you set the limit of the number of probes; if left off will return the max number of probes.
  91. # %%
  92. maxprobe = str(input("Do you want to limit the number of probes made? Y or N "))
  93. # %% [markdown]
  94. # ### Set the maximum number of probes output.
  95. # ##### If you want the most, leave "maxprobe" off.
  96. # ##### If you want the optimal cost/probe ratio, enter 0 or 33
  97. # %%
  98. numbr = int(input("Enter a particular number of probes made. The default max is 33. Enter integer or enter 0 for default. "))
  99. # %% [markdown]
  100. #
  101. # ## Use the cell below to rerun the probe maker
  102. # %% [markdown]
  103. #
  104. # %%
  105. maker(name,fullseq,amplifier,pause,choose,polyAT,polyCG,BlastProbes,db,dropout,show,report,maxprobe,numbr)
  106. # %% [markdown]
  107. # ### Jupyter Notebook help can be found here:
  108. # https://jupyter-notebook.readthedocs.io/en/stable/
  109. # %% [markdown]
  110. # ## Before running this notebook you will need to have a few additional programs installed on your machine.
  111. #
  112. # ### These Python libraries
  113. # ##### Biopython v1.77+
  114. # https://anaconda.org/anaconda/biopython
  115. # ##### Numpy v1.19.1+
  116. # https://anaconda.org/anaconda/numpy
  117. # ##### Pandas v1.1.1+
  118. # https://anaconda.org/anaconda/pandas
  119. # ### BLAST+
  120. # ##### Download
  121. # https://blast.ncbi.nlm.nih.gov/Blast.cgi?PAGE_TYPE=BlastDocs&DOC_TYPE=Download
  122. # ##### Installation help, PC
  123. # https://www.ncbi.nlm.nih.gov/books/NBK52637/
  124. # ##### Installation help, Mac/Unix
  125. # https://www.ncbi.nlm.nih.gov/books/NBK52640/
  126. #
  127. #

UserInterface_v0.3.2.ipynb at commit 3e85a8c, under GPL-3.0 · at the source

Overview

  1. Max Planck Institute for Evolutionary Biology, August-Thienemann-Str. 2, 24306 Plön, Germany
  2. Ocean Museum Germany, Katharinenberg 14–20, 18439 Stralsund, Germany
  3. Institute of Biosciences, University of Rostock, Albert-Einstein-Str. 3, 18059 Rostock, Germany
  4. Institute of Materials Physics, Helmholtz-Zentrum Hereon, Max-Planck-Str. 1, 21502 Geesthacht, Germany
  5. Leibniz Institute for the Analysis of Biodiversity Change, Martin-Luther-King-Platz 3, D-20146 Hamburg, Germany
Journal: Development (Cambridge, England), volume 153, issue 9, article dev205258
Dates: received 19 September 2025; accepted 1 April 2026; published online 7 May 2026; in print May 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1242/dev.205258 · PMID 41987760 · PMCID PMC13200729 · OpenAlex W7154572443
Open access: hybrid, a free copy (OpenAlex)
Status: code verified
Categories: genetics / omics (modality), developmental (subfield)
Methods: Statistics, Smoothing, state filtering, decompositions
Keywords: Chondrichthyes, Small-spotted catshark, Scyliorhinus canicula, Cranial neural crest cells, Facial morphogenesis, Single-cell transcriptomics
MeSH: Biological Evolution*, Face*, Neural Crest*, Sharks*, Skull*, Animals, Cell Lineage, Gene Expression Regulation, Developmental, Morphogenesis, Phylogeny (* major topic)
Journal subjects: Techniques and Resources
Topic: Developmental Biology and Gene Regulation (Molecular Biology, Biochemistry, Genetics and Molecular Biology), according to OpenAlex
Citations: not cited yet (Europe PMC); 85 references in the paper

Abstract

Cranial neural crest cells (CNCCs) are a vertebrate-specific, multipotent cell population central to facial morphogenesis and a cellular substrate for evolutionary change. Although core CNCC developmental programmes are deeply conserved, changes in their gene expression programmes and cell behaviour underlie both macroevolutionary transitions and microevolutionary adaptations. While CNCC biology has been well characterized in bony vertebrates, comparatively little is known about CNCC properties and the behaviour of their derivatives in cartilaginous fishes (Chondrichthyes). To address this gap, we investigate CNCC development in a representative chondrichthyan: the small-spotted catshark (Scyliorhinus canicula). By integrating high-resolution molecular and morphological analyses, we reveal how conserved developmental programmes are modulated in chondrichthyans to generate divergent facial morphologies. We show that the molecular toolkit of CNCC is largely conserved across jawed vertebrates, and the developmental divergence and lineage-specific differences arise from divergent behaviour of their ectomesenchymal derivatives. These findings establish a high-resolution reference of CNCC biology in Chondrichthyes and uncover the evolutionary origins of both shared and lineage-specific traits, offering key insights into the developmental and evolutionary processes shaping gnathostome facial diversity.

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

Repository

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

rwnull/insitu_probe_generator

License: GPL-3.0
State: the link answers, verified on 28 September 2026
Evidence: files inventoried
Commit: 3e85a8c5ceab641c746e9cba4c95a8d1b3785f57, 19 September 2023
Languages: Python (2), Jupyter (1)
Size: 6 files, 3 scripts
Software Heritage: archived
Found in: the text, “In situ HCR”
Holds: README, license file, 1 notebook
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: Biopython (1 file), NumPy (1 file), pandas (1 file)
Availability: 1 check, the latest on 28 September 2026: the link answers
  • 28 September 2026: the link answers
5 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;
  • 3 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

Other data links

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: — → The Company of Biologists

Version 1, 28 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 9 authors, 6 keywords, 10 MeSH terms, 2 funders, 84 references.

Cite

This paper

Escamilla-Vega, E., Murillo-Rincón, A. P., Seton, L. W. G., Koch, A.-K., Kyomen, S., Fortmann-Grote, C., Hammel, J. U., Moritz, T., & Kaucká, M. (2026). Developmental dynamics of catshark cranial neural crest cells provide insights into gnathostome facial evolution. Development (Cambridge, England), 153(9), dev205258. https://doi.org/10.1242/dev.205258

BibTeX

@article{escamillavega2026developmental,
author = {Escamilla-Vega, Elio and Murillo-Rincón, Andrea P. and Seton, Louk W. G. and Koch, Ann-Katrin and Kyomen, Stella and Fortmann-Grote, Carsten and Hammel, Jörg U. and Moritz, Timo and Kaucká, Markéta},
title = {{Developmental dynamics of catshark cranial neural crest cells provide insights into gnathostome facial evolution}},
journal = {Development (Cambridge, England)},
year = {2026},
month = may,
volume = {153},
number = {9},
pages = {dev205258},
publisher = {The Company of Biologists},
issn = {0950-1991},
doi = {10.1242/dev.205258},
url = {https://doi.org/10.1242/dev.205258},
pmid = {41987760},
pmcid = {PMC13200729}
}

RIS

TY - JOUR
AU - Escamilla-Vega, Elio
AU - Murillo-Rincón, Andrea P.
AU - Seton, Louk W. G.
AU - Koch, Ann-Katrin
AU - Kyomen, Stella
AU - Fortmann-Grote, Carsten
AU - Hammel, Jörg U.
AU - Moritz, Timo
AU - Kaucká, Markéta
TI - Developmental dynamics of catshark cranial neural crest cells provide insights into gnathostome facial evolution
T2 - Development (Cambridge, England)
J2 - Development
PY - 2026
DA - 2026/05/07
VL - 153
IS - 9
SP - dev205258
SN - 0950-1991
PB - The Company of Biologists
DO - 10.1242/dev.205258
UR - https://doi.org/10.1242/dev.205258
LA - en
ER -

CSL-JSON

{
"id": "10.1242/dev.205258",
"type": "article-journal",
"title": "Developmental dynamics of catshark cranial neural crest cells provide insights into gnathostome facial evolution",
"container-title": "Development (Cambridge, England)",
"author": [
{
"family": "Escamilla-Vega",
"given": "Elio"
},
{
"family": "Murillo-Rincón",
"given": "Andrea P."
},
{
"family": "Seton",
"given": "Louk W. G."
},
{
"family": "Koch",
"given": "Ann-Katrin"
},
{
"family": "Kyomen",
"given": "Stella"
},
{
"family": "Fortmann-Grote",
"given": "Carsten"
},
{
"family": "Hammel",
"given": "Jörg U."
},
{
"family": "Moritz",
"given": "Timo"
},
{
"family": "Kaucká",
"given": "Markéta"
}
],
"container-title-short": "Development",
"volume": "153",
"issue": "9",
"page": "dev205258",
"DOI": "10.1242/dev.205258",
"PMID": "41987760",
"PMCID": "PMC13200729",
"ISSN": "0950-1991",
"publisher": "The Company of Biologists",
"URL": "https://doi.org/10.1242/dev.205258",
"language": "en",
"issued": {
"date-parts": [
[
2026,
5,
7
]
]
}
}

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/s41586-026-10490-y [code]
Lineage and organ signals sequentially build organ intrinsic nervous systems.
Journal: Nature
In common: pandas, NumPy, developmental, 3 references
[2] doi:10.64898/2026.03.30.714220 [code]
An integrated single cell and spatial omics atlas of human prenatal development
Journal: bioRxiv (preprint)
In common: Biopython, pandas, NumPy, 1 reference
[3] doi:10.1038/s41467-026-73065-5
Polycomb chromatin topology enables long-range enhancer recruitment during craniofacial development.
Journal: Nature communications
In common: 3 references
[4] doi:10.1038/s42003-026-10957-8 [code]
Brain defence by the extracellular matrix protein Cochlin.
Journal: Communications biology
In common: Biopython, pandas, NumPy, 1 reference
[5] doi:10.1038/s41467-026-74434-w [code]
The alx gene family confers segmental identity to frontonasal cranial neural crest cells.
Journal: Nature communications
In common: 3 references
[6] doi:10.1038/s41467-026-76675-1 [code]
Long-read proteogenomic atlas of human neuronal differentiation reveals isoform diversity informing neurodevelopmental risk mechanisms.
Journal: Nature communications
In common: Biopython, pandas, NumPy, developmental, genetics / omics
[7] doi:10.1038/s41562-026-02486-5 [code]
Genome-wide association studies of infant and toddler temperament in European and multi-ancestry populations.
Journal: Nature human behaviour
In common: Biopython, pandas, NumPy, developmental, genetics / omics
[8] doi:10.1038/s43587-026-01207-x [code]
A microprotein atlas of the human frontal cortex in Alzheimer's disease.
Journal: Nature aging
In common: Biopython, pandas, NumPy, genetics / omics
[9] doi:10.1038/s41592-026-03211-w [code]
Spatial isoform sequencing at single-cell resolution reveals cell-type-specific spatial isoform variability in multiple brain cell types.
Journal: Nature methods
In common: Biopython, pandas, NumPy, genetics / omics
[10] doi:10.3389/fneur.2026.1822479 [code]
Circulating neuron-derived cfDNA for blood-based detection of Alzheimer's and other neurodegenerative conditions.
Journal: Frontiers in neurology
In common: Biopython, pandas, NumPy, genetics / omics

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.