smooth-app
전 세계 식품의 성분·영양·정보를 자유롭게 협업하고 공개하는 데이터베이스
HLA 대립유전자와 장기·줄기세포 이식 합병증 간 텍스트 동시출현을 탐색합니다
Exploration des co-occurrences textuelles entre allèles HLA et complications de la transplantation d'organes et de cellules souches (rein, foie, cœur, poumon, GCSH, pancréas, intestin) dans la littéra
건강TypeScript · PythonGitHub @GrosBiceps온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Exploration des co-occurrences textuelles entre allèles HLA et complications de la transplantation d'organes et de cellules souches (rein, foie, cœur, poumon, GCSH, pancréas, intestin) dans la littérature indexée. Ce ne sont pas des associations cliniques.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Site compagnon permettant d'explorer la cartographie des co-occurrences textuelles entre allèles HLA et complications de transplantation rénale, avec accès systématique aux publications sources. Ce site cartographie des co-occurrences textuelles dans la littérature indexée PubMed : quels allèles HLA et quelles complications sont mentionnés ensemble, et à quelle fréquence par rapport au hasard. Ce ne sont pas des associations cliniques ni causales. Un signal fort peut refléter une mode de publication, un biais d'indexation ou une erreur d'extraction.README 전문 보기 ↗
Site compagnon permettant d'explorer la cartographie des co-occurrences textuelles entre allèles HLA et complications de transplantation rénale, avec accès systématique aux publications sources.
⚠️ Nature des données
Ce site cartographie des co-occurrences textuelles dans la littérature indexée PubMed : quels allèles HLA et quelles complications sont mentionnés ensemble, et à quelle fréquence par rapport au hasard.
Ce ne sont pas des associations cliniques ni causales. Un signal fort peut refléter une mode de publication, un biais d'indexation ou une erreur d'extraction.
Extraction automatique par NLP — précision mesurée 78,75 %, accord sur la détection de négation kappa = 0,44 (modéré). Environ 1 mention sur 5 est erronée. Toute lecture clinique exige de relire les sources ; le site y conduit systématiquement.
Prototype en cours de construction. Objectif : support de discussion avec le chef du laboratoire HLA avant passage à l'échelle.
| Élément | État |
|---|---|
| Document de conception | ✅ docs/specs |
| Schéma SQLite + builder | ✅ scripts/build_sqlite.py — 8 validations |
| Données synthétiques de développement | ✅ scripts/gen_synthetic.py |
| Interface Next.js | ✅ allèle, complication, article, auteur, graphe, recherche |
| Garde-fous automatisés | ✅ routes + vocabulaire (src/__tests__/) |
| Bascule vers les données réelles | 🔜 procédure documentée |
| Inclus | Exclu | |
|---|---|---|
| Corpus | A — espace allélique, N = 5 581 | B — espace éplétique, N = 359 |
| Navigation | HLA → complication → articles | — |
| Mise à jour | Corpus figé, versionné | Ingestion PubMed temps réel |
Les univers A (allélique) et B (éplétique) sont strictement scindés : corpus distincts, dénominateurs statistiques distincts, vocabulaires d'entités distincts. Aucune vue ne les combine.
Pipeline Python (externe) Ce dépôt
───────────────────────── ──────────────────────────────
PubMed → filtrage → NLP → stats
│
▼
CSV versionnés ──────────► build_sqlite.py
│
▼
corpus_A_v1.2.sqlite
(artefact de build, + SHA-256)
│
▼
Next.js (lecture seule)
Principes :
pmid, forme IPD-IMGT (HLA-DQB1*02:01). Deux
builds sur les mêmes sources produisent des clés identiques.| Couche | Choix |
|---|---|
| Framework | Next.js (App Router) + TypeScript |
| Base de données | SQLite en fichier versionné, lecture seule |
| Recherche | FTS5 (SQLite natif) |
| Graphes | Sigma.js + graphology |
| Graphiques | Observable Plot |
| Styles | Tailwind |
Trois choix de versions sont délibérés. Ils paraissent arbitraires au milieu
des autres plages ^, mais les « corriger » casse le build.
Le projet cible Node 20 en local ; engines accepte aussi Node 22, que
Vercel utilise (Node 20 n'y est plus proposé) :
better-sqlite3 figé à 12.2.0, sans ^. C'est la dernière version
publiant un binaire précompilé pour Node 20 / win32-x64 (ABI 115). Au-delà,
npm install bascule sur node-gyp, qui échoue sans toolchain MSVC
(« You need to install Visual Studio »). À réévaluer en passant à Node 22+.jsdom maintenu en ^26. jsdom@27 tire @asamuzakjp/css-color@4, qui
fait un require() d'un module ESM : ERR_REQUIRE_ESM au démarrage du
worker Vitest sous Node 20.vitest.config.mts, et non .ts. Vitest 4 charge sa config en CJS ;
l'extension .ts déclenche ERR_REQUIRE_ESM sur std-env. L'alternative
("type": "module") casserait postcss.config.mjs et tailwind.config.ts.Le prototype se développe sur un jeu de données synthétique conforme au contrat de schéma, en attendant le rapatriement des sorties réelles du pipeline.
⚠️ Toute interface alimentée par les données synthétiques affiche un bandeau explicite. Les chiffres synthétiques ne doivent jamais être pris pour des résultats.
Le builder est écrit pour avaler les CSV réels sans modification. Bascule par une commande.
La base n'étant pas versionnée, npm run build déclenche d'abord
scripts/ensure-db.mjs (prebuild) : si la base est absente, il la
reconstruit depuis data/synthetic avec scripts/build_sqlite.py (Python,
bibliothèque standard). next.config.ts force ensuite l'inclusion de
dist/*.sqlite dans les fonctions serverless (outputFileTracingIncludes).
?organe= dans l'URL, statistiques
recalculées par strate, garde-fous.Ce site accompagne une série de publications bibliométriques sur le rôle du typage HLA dans les complications de transplantation, suivant la méthodologie de Donthu et al. (2021) — Performance Analysis + Science Mapping.