The networks
Two interactive views of the same object: the layered pigmentation substrate, and the pigmentation core coupled to its sex-hormone axis
This project runs on one curated object — a pigmentation gene network with independent evidence layers, coupled to the sex-hormone axis that reaches the melanocyte. This page shows it two ways. The first view separates the pigmentation substrate into its evidence layers so you can see where independent lines converge. The second view adds the sex-hormone module and shows how the two halves couple.
The layered pigmentation substrate
The harmonized substrate merges independent lines of evidence into one tagged network. This view lets you see that integration in three dimensions: each evidence layer is a plane, and every gene sits only on the layers that actually carry it — so the gaps between planes are as informative as the overlaps.
The four network layers (bottom to top):
- Functional association (STRING v12) — the broad net of co-functional links. Most genes live here.
- Literature validation (OmniPath) — curated, published interactions.
- TF→target regulon (GRN) — MITF / SOX10 / PAX3 transcriptional targets. Selective.
- Mechanistic pathway (Raghunath 2015) — the signed, directed melanogenesis model.
A gene threaded by a vertical line through all four planes is one where independent evidence converges; a gene present on only one or two planes is supported more narrowly. Node size grows with the number of layers, rings mark clinical (OMIM) genes, and diamonds mark Bajpai CRISPR melanin-screen hits.
How to explore: drag to rotate · scroll to zoom · hover a gene for its layers and clinical / functional flags · click a layer in the legend to isolate it. Best viewed on a desktop screen.
This shows the 162 genes supported by at least two of the four network layers. A further ~530 genes appear in a single layer — almost all STRING-only associations — and are omitted here for legibility; they are all present in the underlying data.
How the layered view is built
The view is built by scripts/make_multilayer_interactive.py from the harmonized substrate assembled in the harmonized-substrate notebook.
Node universe — 803 genes. Every gene carried by any evidence layer in the harmonized substrate (data/processed/nb7_substrate_nodes.csv).
Four network planes (bottom → top): STRING v12 functional association (our STRING pull merged with D’Arcy et al.’s Tables S4/S5 network), OmniPath literature validation, the GRN — MITF / SOX10 / PAX3 regulon targets — and the Raghunath 2015 mechanistic melanogenesis backbone. OmniPath membership is edge-derived: a gene sits on that plane only if it is an endpoint of an OmniPath-validated edge. KEGG and Reactome pathway memberships are in the substrate but carry no gene–gene edges, so they are not drawn as planes. OMIM disease status, melanocyte-proteome detection, and the Bajpai CRISPR screen are node annotations (rings and diamonds) — by design they never add a node or an edge, only decorate genes already wired in.
Inclusion rule — ≥ 2 of the 4 planes → 162 genes. A gene is shown only if it lands on at least two network planes. Of the 803, 539 sit on a single plane (almost all STRING-only) and 102 on none (KEGG/Reactome membership only) — present in the underlying data, omitted here for legibility. Every one of the 162 shown is on both the STRING and Raghunath planes; the GRN and OmniPath planes are what stack on top. Node size encodes this convergence — the more planes a gene is on, the larger it is drawn.
Edges. Each edge (nb7_substrate_edges.csv) is an unordered gene-pair tagged with every layer that asserts it; it is drawn on a plane whenever that layer is among its supporting layers (so one pair can appear on several planes) and only when both endpoints survive the ≥ 2-plane node cut. The view adds no further score filter and fabricates no edges.
Layout. All four planes share one 2D spring_layout (deterministic seed): a gene keeps the same x, y on every plane it occupies and only its height changes, so the vertical stitch lines read as one gene threaded through its layers. Edge weights are tuned by layer selectivity — Raghunath and GRN pull at full strength, OmniPath at 0.85, STRING’s dense mesh at only 0.12 — so STRING’s thousands of associations don’t collapse every gene toward the centre.
The flattened view
The same convergence story as a single two-dimensional network — useful when you want every link at once rather than the separated planes:

The coupled pigmentation–hormone network
The macroevolutionary arm tests one object for signatures of selection across primates (the dichromatism finding): a curated network that couples the pigmentation core to its physically-linked sex-hormone axis. This is that network — the 80-gene panel assembled across the sex-hormone layer → gene-panel → dichromatism-synthesis notebooks — shown two ways: as two coupled networks, and as the signalling pathway that runs through them.
Two coupled networks
The panel is 27 pigmentation genes and 53 sex-hormone genes — two disjoint gene sets that share no members, joined only where hormones actually reach the melanocyte. Each module is drawn as its own STRING v12 network (the hormone side split into its six functional groups as stacked sub-planes); a thin interface layer holds the pigment genes that couple to the hormone axis (POMC, MITF, TYR, …), and the coupling itself is drawn on top.
Drag to rotate · click any gene for a side panel with its full name, role, connections, and the cited coupling (with PubMed links). The magenta links are the three hand-curated, PMID-cited mechanisms; the gold links are STRING functional associations (see Reading the evidence below).
From signal to pigment — the pathway
The same coupling as a directed hourglass: four diffusible signals (melanocortin, estrogen, androgen, endothelin) funnel down onto MITF at the waist; MITF and SOX10 then fan out to the melanogenesis genes — the curated Raghunath melanin pathway (TYR, TYRP1, DCT, PMEL, MLANA, OCA2, SLC45A2) — and back down to melanin.
Click any node for its role, mechanism, citation, and signal flow. Thick edges are established; thin edges are weak or regional.
How the coupled network is built
Every node and edge is set explicitly in scripts/make_coupled_network_3d.py — four rules turn the panel into the object on screen.
Nodes — the 80-gene selection panel. Each node is a row of gene_panel.csv: 27 pigmentation and 53 sex-hormone genes, two disjoint sets assembled across the sex-hormone layer → gene-panel → dichromatism-synthesis notebooks. The hormone side is split by functional group into six stacked sub-planes (top → bottom: GnRH signaling 2, HPG axis 10, steroid biosynthesis 20, coactivators / carriers 7, androgen axis 7, estrogen axis 7). The pigment core sits on the bottom plane, and seven interface genes — the five with a high-confidence hormone link (EDNRB, KIT, PAX3, POMC, TFAP2A) plus the two cited-bridge targets (MITF, TYR) — are lifted onto a thin layer between the two.
Edges — STRING v12, reported at one floor, drawn by confidence. All edges are STRING v12 functional associations (combined_score, rescaled 0–1) from panel_string_edges.csv. Every link a gene has — inside its module or across to the other — is listed in its click-to-open dossier at a single floor of ≥ 0.40, with the score shown and tagged high (≥ 0.70) or medium (0.40–0.70). What gets drawn as a line then depends on where the edge sits:
- Within a module, only high-confidence (≥ 0.70) edges are drawn (275 hormone, 80 pigment lines). The full ≥ 0.40 set (477 hormone, 179 pigment) would collapse each module into a hairball, so the medium ones are counted and listed but not drawn.
- Across the modules — the coupling, the whole point of the figure — every pigment ↔︎ hormone link ≥ 0.40 is drawn: 18 high-confidence as solid gold, 35 medium as faint gold. Nothing is hidden; a faint line is a real but medium-confidence association.
This is why BNC2 shows its hormone link ESR2 (0.46) right beside its pigment links MC1R (0.48) and IRF4 (0.40) — all medium, none dropped. Confidence is encoded (solid = high, faint = medium), not thresholded away, and the same ≥ 0.40 floor governs both modules so a dossier never reports “no link” for an association it would show within a module.
Cited bridges (magenta). The three magenta edges are not from STRING. They are hand-curated, PMID-cited, directed mechanisms from the hormone_bridge rows of nb13_hormone_interlayer_edges.csv — GPER1 → MITF and ESR2 → MITF (estrogen) and AR → TYR (androgen) — each carrying its own mechanism and PubMed IDs.
Layout. Each module is positioned independently by networkx spring_layout (force-directed, fixed seed) over its own ≥ 0.40 edge set; connectivity sets x, y, then z is imposed by rule (hormone genes to their six slabs, pigment genes to the core, interface genes to the intermediate layer). The stacking is imposed, not emergent.
The pathway figure is built differently. The hourglass in From signal to pigment is not a STRING projection — its edges are the curated Raghunath directed melanogenesis model plus four hand-specified signal → receptor → MITF arms (make_coupled_pathway_3d.py). It shows direction of signal flow, where the coupled-network figure shows undirected functional association.
Reading the evidence
Two very different kinds of hormone ↔︎ pigment link are on screen — don’t conflate them.
- Cited sex-steroid bridges (magenta / thick). Three hand-curated, literature-backed mechanisms from the sex-hormone layer: GPER1 → MITF and ESR2 → MITF (estrogen) and AR → TYR (androgen). Each is a specific directed interaction with a PMID and a spelled-out mechanism, and each passed a melanocyte-expression gate.
- STRING coupling (gold / thin). STRING v12 functional associations (score ≥ 0.7) between the modules — broad, statistical “these genes co-function” evidence, not individually verified mechanisms. POMC is the standout hub here: cleaved into α-MSH (→ MC1R, pigment) and ACTH (→ adrenal steroidogenesis), it wires the melanocortin/pigment axis to the steroid axis.
And the sex-steroid arm is deliberately hedged: estrogen via GPER is paper-supported (Natale 2016, +208 % melanin), while ESR2 and the androgen (AR) arm are weak or regional — the panel is a hypothesis about coupling, not a claim of settled human biology.
Provenance & reproducibility
Both interactive views and the flattened figure regenerate from committed tables (no kernel, no network).
| Component | Source |
|---|---|
| Layered substrate (nodes, edges, per-layer membership) | data/processed/nb7_substrate_nodes.csv, nb7_substrate_edges.csv — harmonized-substrate notebook |
| 80-gene panel (module + functional group) | comparative-genomics/config/gene_panel.csv — gene-panel / dichromatism-synthesis |
| Cited hormone → pigment bridges (PMID-gated) | data/processed/nb13_hormone_interlayer_edges.csv — sex-hormone layer |
| Within/between-module network edges | STRING v12 · data/processed/panel_string_edges.csv |
| Pigment pathway (directed) | Raghunath melanogenesis model · network-reconstruction notebook |
Build scripts: make_multilayer_interactive.py and make_substrate_layer_figure.py for the layered substrate; make_coupled_network_3d.py and make_coupled_pathway_3d.py for the coupled network. The layered graph is also exported as a portable interactive/nb7_multilayer_graph.json.