Files
anatomia/data-pipeline/seed/build-manifest-cell.mjs
T

79 lines
3.3 KiB
JavaScript

// Gera manifest-cell.json — as 5 organelas do sistema "citologia", com
// malha 3D REAL (ao contrário de "histologia", que continua sendo
// fotomicrografias 2D — ver build-manifest-microscopy.mjs).
//
// Fonte: célula HeLa (jrc_hela-2) reconstruída em 3D a partir de FIB-SEM
// real e segmentada por machine learning pelo projeto CellMap/COSEM do
// Janelia Research Campus (HHMI) — OpenOrganelle, CC BY 4.0.
// https://openorganelle.janelia.org/ — DOI da coleção:
// https://doi.org/10.25378/janelia.c.7456966
// Extração das malhas: data-pipeline/scripts/fetch-cell-organelles.py
// Simplificação/compressão final: data-pipeline/scripts/build-cell-model.mjs
//
// O nome de cada nó do citologia.glb (definido no script Python) é usado
// aqui como "meshName" — sem simplificação de nome/exclusão como no
// esquelético, já que são só 5 peças, cada uma com nome final único.
import { writeFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import path from "node:path";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const MODEL_FILE = "citologia.glb";
const CREDIT =
"Malha 3D real, segmentada por FIB-SEM (célula HeLa, jrc_hela-2) pelo projeto CellMap/Janelia Research Campus — OpenOrganelle, CC BY 4.0.";
function structure(slug, namePt, nameEn, description) {
return {
system: "citologia",
slug,
namePt,
nameEn,
synonyms: [],
description: `${description} ${CREDIT}`,
regionPath: ["Citologia", "Célula (HeLa) — FIB-SEM real"],
modelFile: MODEL_FILE,
meshName: slug,
};
}
const structures = [
structure(
"celula-membrana-plasmatica",
"Membrana Plasmática",
"Plasma Membrane",
"Envoltório que delimita a célula, controlando a entrada e saída de substâncias; formada por uma bicamada fosfolipídica com proteínas de membrana.",
),
structure(
"celula-nucleo",
"Núcleo",
"Nucleus",
"Organela que guarda o DNA da célula e comanda a síntese proteica; a forma irregular e volumosa vista aqui é real e típica de células HeLa (uma linhagem tumoral, com núcleo frequentemente atípico).",
),
structure(
"celula-reticulo-endoplasmatico",
"Retículo Endoplasmático",
"Endoplasmic Reticulum",
"Rede de membranas contínua com o envoltório nuclear, espalhada por todo o citoplasma; participa da síntese de proteínas (porção rugosa) e lipídios, além do armazenamento de cálcio.",
),
structure(
"celula-complexo-de-golgi",
"Complexo de Golgi",
"Golgi Apparatus",
"Conjunto de sáculos membranosos empilhados, tipicamente posicionado perto do núcleo (posição confirmada nesta reconstrução real); processa, modifica e empacota proteínas vindas do retículo endoplasmático.",
),
structure(
"celula-mitocondrias",
"Mitocôndrias",
"Mitochondria",
"População completa de mitocôndrias segmentadas nesta célula — organelas responsáveis pela produção de ATP por respiração celular; note a variação real de tamanho e forma entre elas, incluindo fragmentação, comum em linhagens tumorais.",
),
];
writeFileSync(
path.resolve(__dirname, "manifest-cell.json"),
JSON.stringify({ structures }, null, 2),
);
console.log(`manifest-cell.json gerado com ${structures.length} organelas.`);