OPEN TARGETS
Plateforme de preuves
- Intègre les preuves cible–maladie
- Optimise la découverte et l’accès aux preuves
- Expose des payloads source riches
- Fournit une excellente fondation biomédicale
Décision d’architecture · juillet 2026
Parce qu’une grande plateforme de preuves biomédicales ne devient pas automatiquement un graphe biologiquement fidèle, causal et prêt pour le machine learning. Jouvence-Graph part d’Open Targets, puis change le contrat scientifique.
La fondation
Open Targets apporte à Jouvence-Graph un cœur de grande valeur : génétique, preuves cible–maladie, variants, médicaments, pharmacogénomique, interactions et identifiants harmonisés. Réutiliser ce travail est le choix rationnel.
Mais Open Targets est conçu pour agréger et servir des preuves afin d’identifier des cibles. Jouvence-Graph vise autre chose en aval : construire adjacence d’entraînement, features et supervision pour des modèles de graphes hétérogènes, tout en conservant exactement ce que chaque source a observé. Cela impose de refuser certains liens disponibles et d’ajouter des couches biologiques qu’Open Targets n’a jamais eu vocation à rendre ML-ready dans un même graphe.
OPEN TARGETS
JOUVENCE-GRAPH
Pertinence biologique
La décision la plus importante de Jouvence-Graph est la modélisation source-native. Une normalisation peut changer l’identifiant ; elle ne doit jamais changer silencieusement le niveau biologique de l’assertion.
Une association au niveau gène reste au niveau gène. Une arête protéine exige un endpoint protéine ou isoforme direct. Chaque xref gène ne devient pas une preuve protéique.
Un motif n’est pas une liaison TF observée. Un overlap de coordonnées n’est pas une régulation. Une fréquence populationnelle n’est pas une pathogenicité.
Papiers, datasets, texte d’essais et métadonnées denses restent des preuves, features ou objets de catalogue sans relation biologique défendable.
L’expression ARN ne prouve pas qu’une protéine ou un isoforme existe. Une protéine observée directement peut soutenir une expression génique dérivée, en conservant la dérivation.
Pertinence causale
Le nom d’une relation ne suffit pas à dire à un modèle si inhiber une cible doit aider ou aggraver une maladie. Jouvence-Graph garde des relations biologiques stables, puis attache mécanisme, signe, action et contexte soutenus par les sources.
L’arête est dédupliquée. Essais, études, populations, scores, releases et conflits restent auditables séparément.
Mécanisme et direction s’agrègent en single, consensus, conflicting ou unknown. Une inférence signée échoue sur les deux derniers.
Les règles de chemins approuvées génèrent des candidats dans des surfaces séparées. Elles ne remplacent jamais une observation source.
Outcomes d’essais, preuves circulaires et conséquences aval sont exclus des inputs s’ils peuvent révéler le label cible.
Pourquoi pas Neo4j aujourd’hui ?
Pour Jouvence-Graph aujourd’hui, Neo4j dupliquerait les données canoniques sans résoudre les problèmes difficiles : sémantique des endpoints, multiplicité des preuves, fuite, promotion reproductible et export graph ML.
Lectures bulk versionnées, anti-joins, audits ligne à ligne, hashes, exports par relation et assemblage de features correspondent naturellement à Parquet, DuckDB et PyArrow.
Matérialiser chaque enregistrement source comme objet de graphe multiplierait stockage et coût opérationnel sur plus de 100M de lignes d’arêtes auditées.
TxGNN et PyG consomment tenseurs, node maps, features et contrats de splits. Neo4j devrait tout de même exporter déterministiquement ces représentations.
Une base vivante et éditable ajoute migrations, index, backups, contrôle d’accès et synchronisation. Les Parquets canoniques restent moins chers à versionner, revoir et reproduire.
La position exacte
Nous utiliserions une projection Neo4j générée et read-only pour explorer les voisinages, écrire des requêtes Cypher, faire des démos et extraire des sous-graphes bornés. Chaque projection doit être reproductible depuis les Parquets canoniques, porter un manifeste et ne jamais devenir une source de vérité modifiée indépendamment.
L’architecture qui en résulte
Cette combinaison rend Jouvence-Graph moins facile à construire qu’un property graph générique. Elle rend aussi chaque arête d’entraînement plus facile à défendre.