Mutations et variants dans le domaine SDTM GF en R

Tabulez SNV, indels, variants de nombre de copies et fusions de gènes — avec la notation HGVS, la zygotie et la fraction allélique du variant — dans le domaine CDISC GF, et représentez correctement les appels somatiques versus germinaux

Le flux de travail complet de la variation génétique pour le domaine CDISC SDTM Genomics Findings (GF). En s’appuyant sur les fondamentaux du domaine GF, cette leçon mappe chaque type de variant qu’un panel moléculaire appelle — variants mononucléotidiques, insertions et délétions, variants de nombre de copies, et fusions de gènes — vers des enregistrements GF Findings : comment chaque type de variant atterrit dans GFCAT/GFSCAT/GFORRES/GFSTRESC, comment la nomenclature HGVS (génomique g., codant c., protéique p.) est portée, où vont la zygotie, la fraction allélique du variant et la distinction somatique/germinale, et comment une classification de variant définie par un référentiel (ACMG/AMP, AMP/ASCO/CAP) est représentée comme un résultat standardisé — le tout avec R base et sdtm.oak, et chaque code un espace réservé illustratif à vérifier au regard de la terminologie contrôlée CDISC.

Date de publication

1 juillet 2026

Modifié

7 juillet 2026

AstucePoints clés
  • Un seul domaine GF porte chaque type de variant. Les variants mononucléotidiques, les indels, les variants de nombre de copies et les fusions de gènes sont tous des résultats de variation génétique — chacun devient un enregistrement CDISC SDTM (Study Data Tabulation Model) GF (Genomics Findings) ordinaire, distingué par sa sous-catégorie, non par un nouveau domaine.
  • Le type de variant vit dans GFSCAT ; l’appel vit dans GFORRES. GFCAT vaut GENETIC VARIATION pour tous ; GFSCAT nomme le type (SNV, indel, CNV, fusion) ; GFORRES porte l’appel réel — la notation HGVS pour un changement de séquence, un nombre de copies pour un CNV, une jonction de fusion pour un réarrangement.
  • HGVS est l’autorité de nommage, et le niveau importe. Un variant de séquence est nommé au niveau génomique (g.), codant (c.) ou protéique (p.) selon la nomenclature HGVS — toujours ancré à une séquence de référence. Placez la chaîne HGVS rapportée dans GFORRES ; ne retirez pas le transcrit de référence.
  • La zygotie, la VAF et l’origine sont des qualificateurs, pas le résultat. La zygotie (hétérozygote / homozygote), la VAF (fraction allélique du variant) et la distinction somatique/germinale qualifient un résultat — elles accompagnent l’appel, non à l’intérieur de GFORRES.
  • La classification est définie par un référentiel — citez-le, ne l’inventez jamais. Un appel pathogène / VUS provient d’un référentiel d’interprétation (ACMG/AMP pour le germinal, AMP/ASCO/CAP pour le somatique), non de CDISC. Stockez la valeur dans GFSTRESC ; gardez chaque GFTESTCD comme espace réservé illustratif jusqu’à ce que vous le confirmiez au regard du sous-ensemble NCI EVS C181178.

Introduction

Le panel tumoral est revenu pour le sujet 01-701-1033 : une mutation ponctuelle EGFR p.L858R, une amplification HER2, une fusion ALK. Trois types de variant différents — un changement d’une seule base, des copies supplémentaires d’un gène, deux gènes fusionnés — et un seul domaine SDTM doit tous les porter jusqu’au régulateur.

Ce domaine est GF (Genomics Findings), le domaine de la classe Findings du SDTM (Study Data Tabulation Model) de CDISC (Clinical Data Interchange Standards Consortium) pour les données pharmacogénomiques. Cette leçon suppose que vous savez déjà ce qu’est GF ; sinon, commencez par le domaine Genomics Findings (GF) — sa structure, les variables de la classe Findings, le lien vers le biospécimen, et la règle cardinale selon laquelle GF tabule le résultat appelé, jamais les fichiers de séquences FASTQ/BAM/VCF bruts. Ici, nous approfondissons le cheval de bataille de l’oncologie et de la pharmacogénomique : mapper la variation génétique — chaque type de variant — vers GF.

Vous êtes en aval de l’analyse. Appeler les variants à partir des reads de séquençage est un travail en amont qu’enseigne le pilier Bioinformatique (alignement, appel de variants). Cette leçon part de la table des variants déjà appelés et les tabule vers CDISC SDTM. Voici le mapping que chaque section ci-dessous complète — quatre types de variant, une ligne Findings chacun :

A two-column map of how four variant types land in the SDTM GF domain. On the left, four pale-azure tiles each name a variant type and a real example: SNV — EGFR c.2573T></picture>G (p.Leu858Arg); INDEL — EGFR c.2235_2249del (p.Glu746_Ala750del); CNV — ERBB2 amplification, copy number 8; FUSION — EML4::ALK, exon 13 to exon 20. An arrow points from each to a solid-azure tile on the right showing the GF representation: GFCAT is GENETIC VARIATION for all four, while GFSCAT names the type (SNV, INSERTION-DELETION, COPY NUMBER VARIATION, GENE FUSION) and GFORRES carries the call (the HGVS string, the copy number, or the fusion junction). The message is that one Findings shape carries every kind of variant.

À la fin, vous aurez construit chacune de ces lignes à partir d’un export brut d’appels de variants, ajouté les qualificateurs zygotie / VAF / origine, et retracé chaque variant jusqu’à son spécimen tumoral.

Les types de variant que vous devez tabuler

Un panel moléculaire rapporte plusieurs types de variation génétique, et chacun est un objet biologique distinct même si tous atterrissent dans GF. Connaissez les quatre que vous rencontrerez le plus, et comment chacun devient un enregistrement Findings :

Type de variant Ce que c’est Exemple Comment il atterrit dans GF
SNV (variant mononucléotidique) Une base substituée par une autre EGFR c.2573T>G (p.L858R) GFSCAT = SNV ; la chaîne HGVS dans GFORRES
Indel (insertion / délétion) Bases insérées ou supprimées ; peut décaler le cadre de lecture EGFR del exon-19 c.2235_2249del (p.E746_A750del) GFSCAT = INSERTION-DELETION ; HGVS dans GFORRES
CNV (variant de nombre de copies) Un gène gagné (amplifié) ou perdu (délété) en copies amplification ERBB2 (HER2), copy number 8 GFSCAT = COPY NUMBER VARIATION ; le nombre de copies dans GFORRES / GFSTRESN
Fusion (réarrangement) Deux gènes joints en un, souvent un variant conducteur EML4::ALK (exon 13 :: exon 20) GFSCAT = GENE FUSION ; la jonction de fusion dans GFORRES

Les valeurs de sous-catégorie ci-dessus (SNV, INSERTION-DELETION, …) sont illustratives : GFSCAT est un regroupement défini par le promoteur sans liste de codes CDISC publiée, tandis que le code de test GFTESTCD est régi par la terminologie contrôlée CDISC (le sous-ensemble NCI EVS C181178 — CDISC SDTM Genomic Findings Test Code Terminology ; le nom GFTEST associé est C181179). Le domaine GF est détaillé dans SDTMIG v3.4, le guide d’implémentation SDTM qui a publié GF. L’essentiel est structurel : le type est une sous-catégorie d’un seul domaine, pas une raison de quitter GF.

HGVS : nommer le variant

Un variant de séquence (un SNV ou un indel) n’est prêt pour la tabulation qu’une fois nommé sans ambiguïté, et le standard pour cela est HGVS — la nomenclature des variants de séquence de la Human Genome Variation Society. HGVS nomme un changement à trois niveaux, chacun ancré à une séquence de référence, de sorte que le même variant se lit de façon cohérente d’un laboratoire à l’autre :

Niveau Préfixe Ancré à Exemple EGFR L858R
Génomique g. Un assemblage du génome (dépendant du build) NC_000007.14:g.…T>G (GRCh38)
Codant c. Un transcrit de référence (ARNm) NM_005228.5:c.2573T>G
Protéique p. Le produit protéique NP_005219.2:p.(Leu858Arg)

Deux règles gardent une chaîne HGVS exploitable en aval. Premièrement, les niveaux codant et protéique n’ont aucun sens sans leur séquence de référencec.2573T>G ne fixe une base que si vous savez qu’elle se trouve sur le transcrit NM_005228.5 ; la coordonnée génomique g. dépend du build du génome (GRCh37 contre GRCh38 donnent des nombres différents pour le même variant). Portez l’accession, non seulement le changement. Deuxièmement, GFORRES contient la chaîne HGVS exactement telle que le laboratoire l’a rapportée (couramment le changement c. avec la conséquence p., p. ex. c.2573T>G (p.Leu858Arg)) ; le transcrit de référence relève d’un qualificateur de séquence de référence, selon les qualificateurs génomiques que définit SDTMIG v3.4. Ne placez pas une coordonnée g. là où un c. a été rapporté, et ne supprimez pas la conséquence protéique qu’un clinicien lit en premier.

Construire une table brute d’appels de variants

Partez de ce que le laboratoire moléculaire vous remet : une ligne par appel de variant, couvrant les quatre types, avec la notation HGVS, la zygotie ou la VAF (fraction allélique du variant — la proportion de reads de séquençage portant le variant), et l’origine (somatique ou germinale). Celles-ci reposent sur les trois spécimens de tumeur pulmonaire SPEC4.1, SPEC5.1, SPEC6.1 — de vrais identifiants de biospécimens issus des données d’exemple be que nous relions à la fin.

library(sdtm.oak)

# A raw variant-call export: one row per called variant across four variant types.
# HGVS notation names each sequence change; CNV/fusion have no HGVS sequence string.
# VAF = variant allele fraction (somatic reads); zygosity applies to constitutional calls.
var_raw <- data.frame(
  SUBJ    = c("01-701-1033","01-701-1033","01-701-1034","01-701-1034","01-701-1047"),
  SPECREF = c("SPEC4.1","SPEC4.1","SPEC5.1","SPEC5.1","SPEC6.1"),
  GENE    = c("EGFR","ERBB2","EGFR","ALK","KRAS"),
  VTYPE   = c("SNV","CNV","INDEL","FUSION","SNV"),
  HGVSC   = c("c.2573T>G","","c.2235_2249del","","c.34G>T"),
  HGVSP   = c("p.Leu858Arg","","p.Glu746_Ala750del","","p.Gly12Cys"),
  CALL    = c("c.2573T>G (p.Leu858Arg)", "Amplification, copy number 8",
              "c.2235_2249del (p.Glu746_Ala750del)", "EML4::ALK (exon 13 :: exon 20)",
              "c.34G>T (p.Gly12Cys)"),
  COPYNUM = c(NA, 8, NA, NA, NA),
  ZYG     = c("HETEROZYGOUS","","HETEROZYGOUS","","HETEROZYGOUS"),
  VAF     = c(0.38, NA, 0.31, 0.42, 0.22),
  ORIGIN  = rep("SOMATIC", 5),
  ASSAY   = rep("NGS targeted panel", 5),
  COLLDT  = c("2025-09-10","2025-09-10","2025-10-05","2025-10-05","2025-11-01"),
  stringsAsFactors = FALSE
)

var_raw[, c("SUBJ","GENE","VTYPE","CALL","VAF")]
         SUBJ  GENE  VTYPE                                CALL  VAF
1 01-701-1033  EGFR    SNV             c.2573T>G (p.Leu858Arg) 0.38
2 01-701-1033 ERBB2    CNV        Amplification, copy number 8   NA
3 01-701-1034  EGFR  INDEL c.2235_2249del (p.Glu746_Ala750del) 0.31
4 01-701-1034   ALK FUSION      EML4::ALK (exon 13 :: exon 20) 0.42
5 01-701-1047  KRAS    SNV                c.34G>T (p.Gly12Cys) 0.22

Cinq variants appelés, quatre types, trois sujets. NGS désigne le séquençage nouvelle génération (next-generation sequencing) — mais les reads n’atteignent jamais cette table : nous avons déjà le résultat appelé, et c’est tout ce que GF porte jamais. Remarquez ce qui diffère selon le type : un SNV et un indel portent une chaîne HGVS ; un CNV porte un nombre de copies ; une fusion porte une jonction. Une table brute, quatre formes d’appel.

Mapper chaque type de variant vers GF

Remplissez maintenant les colonnes GF avec R base. Les identifiants sont constants ; le topic (GFTESTCD/GFTEST) provient du gène, GFCAT vaut GENETIC VARIATION pour chaque ligne, et GFSCAT enregistre le type de variant afin qu’un examinateur puisse filtrer les SNV des fusions. L’appel va dans GFORRES ; le nombre de copies, étant numérique, alimente aussi GFSTRESN.

# GFTESTCD below is ILLUSTRATIVE (gene root + variant fragment), following the GF
# suffix-fragment convention. The authoritative code list is NCI EVS subset C181178.
gf <- data.frame(
  STUDYID  = "CDISCPILOT01",
  DOMAIN   = "GF",
  USUBJID  = var_raw$SUBJ,
  GFREFID  = var_raw$SPECREF,                          # links to the biospecimen
  GFTESTCD = paste0(var_raw$GENE, "VAR"),              # illustrative — verify vs C181178
  GFTEST   = paste(var_raw$GENE, "Variant"),
  GFCAT    = "GENETIC VARIATION",
  GFSCAT   = var_raw$VTYPE,                            # SNV / CNV / INDEL / FUSION
  GFORRES  = var_raw$CALL,                             # the call, as reported
  GFSTRESC = "DETECTED",                               # every row here is a detected variant
  GFSTRESN = var_raw$COPYNUM,                          # numeric where meaningful (CNV copy number)
  GFSPEC   = "TUMOR TISSUE",
  GFMETHOD = var_raw$ASSAY,
  GFDTC    = var_raw$COLLDT,
  # genomics qualifiers, attached now so they travel with each row (illustrative names —
  # exact GF qualifier variable names are specified in SDTMIG v3.4):
  ZYGOSITY = var_raw$ZYG,                              # allele count (germline calls)
  VAF      = var_raw$VAF,                              # variant allele fraction (somatic calls)
  ORIGIN   = var_raw$ORIGIN,                           # SOMATIC vs GERMLINE
  stringsAsFactors = FALSE
)

gf[, c("USUBJID","GFTESTCD","GFCAT","GFSCAT","GFORRES","GFSTRESN")]
      USUBJID GFTESTCD             GFCAT GFSCAT
1 01-701-1033  EGFRVAR GENETIC VARIATION    SNV
2 01-701-1033 ERBB2VAR GENETIC VARIATION    CNV
3 01-701-1034  EGFRVAR GENETIC VARIATION  INDEL
4 01-701-1034   ALKVAR GENETIC VARIATION FUSION
5 01-701-1047  KRASVAR GENETIC VARIATION    SNV
                              GFORRES GFSTRESN
1             c.2573T>G (p.Leu858Arg)       NA
2        Amplification, copy number 8        8
3 c.2235_2249del (p.Glu746_Ala750del)       NA
4      EML4::ALK (exon 13 :: exon 20)       NA
5                c.34G>T (p.Gly12Cys)       NA

Chaque type de variant est désormais une ligne dans le même domaine : GFCAT est constant, GFSCAT sépare les types, GFORRES conserve l’appel tel que rapporté, et GFSTRESN porte le nombre de copies pour le CNV (vide là où l’appel n’est pas un nombre). Le côté topic tient — un enregistrement par test de gène, chacun avec un code, un nom et une catégorie.

Numéroter les enregistrements avec derive_seq

Un enregistrement Findings conforme a besoin d’un numéro de séquence unique au sein de chaque sujet. derive_seq() de sdtm.oak — le moteur brut-vers-SDTM de pharmaverse — ordonne et numérote les lignes par sujet, exactement comme il le fait pour VSSEQ ou AESEQ :

gf <- derive_seq(gf, tgt_var = "GFSEQ",
                 rec_vars = c("USUBJID", "GFTESTCD"),
                 sbj_vars = "USUBJID")
gf <- as.data.frame(gf)

# structural checks: one domain code, GFSEQ unique per subject, every finding has a specimen
cat("one domain code:             ", length(unique(gf$DOMAIN)) == 1, "\n")
one domain code:              TRUE 
cat("GFSEQ unique within subject: ", !any(duplicated(gf[c("USUBJID","GFSEQ")])), "\n")
GFSEQ unique within subject:  TRUE 
cat("every finding has a specimen:", all(nchar(gf$GFREFID) > 0), "\n")
every finding has a specimen: TRUE 

Trois TRUE — un squelette GF structurellement solide pour les quatre types de variant. En production, un outil de conformité (Pinnacle 21) exécute le jeu de règles complet ; ici, l’essentiel est qu’une fois les variants appelés, les tabuler est un travail Findings ordinaire — quel que soit leur type.

Zygotie, VAF, et somatique versus germinale

L’appel est le résultat ; comment le variant est présent est un qualificateur. Trois qualificateurs reviennent, et les confondre est l’erreur de mapping de variants la plus courante :

Qualificateur Question à laquelle il répond S’applique à Où il va
Zygotie Un allèle ou les deux ? (hétérozygote / homozygote / hémizygote) Appels constitutionnels (germinaux) Un qualificateur génomique — pas GFORRES
VAF (fraction allélique du variant) Quelle fraction de reads porte le variant ? Appels somatiques (tumoraux) Un qualificateur numérique aux côtés du résultat
Origine Héritée ou acquise ? (germinale / somatique) Chaque variant Un qualificateur / distinction au niveau GFSCAT

La distinction qui compte cliniquement est somatique versus germinale. Un variant germinal est hérité — présent dans chaque cellule, il est donc décrit par la zygotie (une copie ou deux) et est appelé à partir d’un spécimen normal (sang, buccal). Un variant somatique est acquis par la tumeur — présent uniquement dans les cellules tumorales à une certaine fraction, il est donc décrit par la VAF, non par la zygotie, et est appelé à partir du spécimen tumoral. Nos cinq variants sont tous somatiques, ils portent donc une VAF et reposent sur du tissu tumoral ; un résultat germinal BRCA1 chez le même sujet porterait plutôt une zygotie, une origine GERMLINE, et un GFREFID pointant vers un spécimen sanguin.

# The zygosity / VAF / origin qualifiers were attached when we built gf, so they travel
# with each finding through derive_seq's ordering. Read them next to the call:
gf[, c("USUBJID","GFSCAT","GFORRES","VAF","ZYGOSITY","ORIGIN")]
      USUBJID GFSCAT                             GFORRES  VAF     ZYGOSITY
1 01-701-1033    SNV             c.2573T>G (p.Leu858Arg) 0.38 HETEROZYGOUS
2 01-701-1033    CNV        Amplification, copy number 8   NA             
3 01-701-1034 FUSION      EML4::ALK (exon 13 :: exon 20) 0.42             
4 01-701-1034  INDEL c.2235_2249del (p.Glu746_Ala750del) 0.31 HETEROZYGOUS
5 01-701-1047    SNV                c.34G>T (p.Gly12Cys) 0.22 HETEROZYGOUS
   ORIGIN
1 SOMATIC
2 SOMATIC
3 SOMATIC
4 SOMATIC
5 SOMATIC

Lisez le résultat et ses qualificateurs ensemble : les SNV, l’indel et la fusion portent une VAF (une fraction de reads somatiques — pour la fusion, la fraction de reads chevauchant la jonction) ; seul le CNV n’en a aucune (un nombre de copies n’est pas une fraction allélique), et chaque ligne est SOMATIC. Ne fondez jamais la VAF dans GFORRES — l’appel est ce qu’est le variant ; la VAF est quelle quantité la tumeur en porte.

Classification des variants : la représenter, non l’inventer

Un rapport moléculaire s’arrête rarement à « detected » — il classe la signification clinique du variant, et cette classification peut être tabulée comme un résultat standardisé dans GFSTRESC. Mais la classification provient d’un référentiel d’interprétation, non de CDISC, et le référentiel dépend de l’origine du variant :

Référentiel Pour Catégories Source
ACMG/AMP (2015) Variants germinaux Pathogène · Probablement pathogène · VUS (variant de signification incertaine) · Probablement bénin · Bénin Richards et al., Genet Med 2015
AMP/ASCO/CAP (2017) Variants somatiques (cancer) Tier I (signification forte) · Tier II (potentielle) · Tier III (incertaine) · Tier IV (bénin) Li et al., J Mol Diagn 2017

La distinction est porteuse : « pathogène / VUS / bénin » est le vocabulaire germinal ; les variants somatiques du cancer sont classés en Tier I–IV. Le référentiel germinal est ACMG/AMP — l’American College of Medical Genetics and Genomics avec l’Association for Molecular Pathology ; le référentiel somatique est AMP/ASCO/CAP — un standard conjoint de l’Association for Molecular Pathology, de l’American Society of Clinical Oncology et du College of American Pathologists. Utiliser des mots de pathogénicité pour un variant conducteur tumoral somatique, ou un Tier pour un résultat germinal, étiquette mal le résultat. Parce que nos variants sont des conducteurs somatiques, leur signification clinique est un tier :

# GFSTRESC carries a standardized classification. These values come from the interpretation
# guideline (AMP/ASCO/CAP for somatic), NOT from CDISC — GF stores the value; the guideline
# defines it. GFTESTCD is again illustrative (a distinct interpretation test).
interp <- data.frame(
  USUBJID  = gf$USUBJID,
  GFTESTCD = paste0(var_raw$GENE, "CLSF"),             # illustrative interpretation test
  GFTEST   = paste(var_raw$GENE, "Variant Clinical Significance"),
  GFCAT    = "GENETIC VARIATION",
  GFSCAT   = "CLINICAL SIGNIFICANCE",
  GFORRES  = var_raw$CALL,
  GFSTRESC = "TIER I",                                 # AMP/ASCO/CAP tier for these drivers
  stringsAsFactors = FALSE
)

interp[, c("USUBJID","GFTESTCD","GFSCAT","GFORRES","GFSTRESC")]
      USUBJID  GFTESTCD                GFSCAT
1 01-701-1033  EGFRCLSF CLINICAL SIGNIFICANCE
2 01-701-1033 ERBB2CLSF CLINICAL SIGNIFICANCE
3 01-701-1034  EGFRCLSF CLINICAL SIGNIFICANCE
4 01-701-1034   ALKCLSF CLINICAL SIGNIFICANCE
5 01-701-1047  KRASCLSF CLINICAL SIGNIFICANCE
                              GFORRES GFSTRESC
1             c.2573T>G (p.Leu858Arg)   TIER I
2        Amplification, copy number 8   TIER I
3 c.2235_2249del (p.Glu746_Ala750del)   TIER I
4      EML4::ALK (exon 13 :: exon 20)   TIER I
5                c.34G>T (p.Gly12Cys)   TIER I

GFSTRESC porte désormais l’interprétation standardisée — mais la valeur est un produit de référentiel. Stockez-la, référencez le référentiel qui l’a produite, et ne présentez jamais une classification (ni le GFTESTCD qui nomme le test d’interprétation) comme définie par CDISC. Lorsqu’aucun code publié ne convient, c’est une question de terminologie contrôlée pour votre équipe standards, non une valeur à inventer.

Retracer chaque variant jusqu’à son biospécimen

Un variant n’est interprétable que si l’on sait sur quoi il a été appelé. Chaque enregistrement GF portait la référence du spécimen tumoral dans GFREFID, de sorte qu’un merge() en R base contre les données d’événements de biospécimens be retrace chaque variant jusqu’à l’échantillon physique — le même lien vers le spécimen que la leçon sur le domaine GF construit en détail :

library(pharmaversesdtm)
data(be)
be <- as.data.frame(be)

# the collection events = the specimens themselves
spec <- be[be$BECAT == "COLLECTION", c("USUBJID","BEREFID","BELOC","BEDTC")]

link <- merge(
  gf[, c("USUBJID","GFSEQ","GFSCAT","GFORRES","GFREFID")],
  spec, by.x = c("USUBJID","GFREFID"), by.y = c("USUBJID","BEREFID"), all.x = TRUE
)
link <- link[order(link$USUBJID, link$GFSEQ), ]
link[, c("USUBJID","GFSCAT","GFORRES","GFREFID","BELOC")]
      USUBJID GFSCAT                             GFORRES GFREFID BELOC
1 01-701-1033    SNV             c.2573T>G (p.Leu858Arg) SPEC4.1  LUNG
2 01-701-1033    CNV        Amplification, copy number 8 SPEC4.1  LUNG
3 01-701-1034 FUSION      EML4::ALK (exon 13 :: exon 20) SPEC5.1  LUNG
4 01-701-1034  INDEL c.2235_2249del (p.Glu746_Ala750del) SPEC5.1  LUNG
5 01-701-1047    SNV                c.34G>T (p.Gly12Cys) SPEC6.1  LUNG

Chaque variant est désormais entièrement traçable : le EGFR p.L858R et l’amplification ERBB2 du sujet 01-701-1033 ont tous deux été appelés sur le spécimen SPEC4.1, un échantillon LUNG — le SNV et le CNV, côte à côte, auditables jusqu’à un seul spécimen physique.

🟢 Avec un agent IA

Demandez à Prova « dans le domaine CDISC SDTM GF, comment tabuler une fusion de gènes par rapport à un SNV, et où vont la zygotie, la VAF et la classification ACMG/AMP ? » — elle répond en s’appuyant sur les leçons de ce pilier et le standard CDISC genomics, avec du R exécutable que vous pouvez essayer sur les données d’exemple. The runtime is the judge. Demandez à Prova →

Problèmes fréquents

Vous forgez un GFTESTCD par gène et le traitez comme officiel CDISC. Les codes de cette leçon (EGFRVAR, KRASCLSF, …) sont des espaces réservés illustratifs suivant la convention suffixe-fragment de GF. La liste faisant autorité est le sous-ensemble NCI EVS C181178 — recherchez-y chaque code avant une soumission, et ne présentez jamais un code inventé comme standard.

Vous mettez le mauvais niveau HGVS dans GFORRES. c.2573T>G (codant) et g.55191822T>G (génomique) nomment le même variant différemment, et une coordonnée g. n’a aucun sens sans son build de génome. Portez la chaîne que le laboratoire a rapportée (habituellement le changement c. avec la conséquence p.) et conservez le transcrit de référence — n’échangez pas les niveaux et ne supprimez pas l’accession.

Vous confondez la VAF somatique avec la zygotie germinale. Elles répondent à des questions différentes. La VAF est la fraction de reads d’un variant somatique dans une tumeur ; la zygotie (hétérozygote / homozygote) est le décompte d’allèles d’un variant germinal. Un appel somatique a une VAF, pas une zygotie ; un appel germinal a une zygotie, pas une VAF. Mettre un « hétérozygote » sur un résultat de VAF tumorale est une erreur de catégorie.

Vous essayez de stocker le VCF (ou les reads probants de la fusion) dans GF. GF contient le variant appelé — la chaîne HGVS, le nombre de copies, la jonction de fusion — non le fichier VCF, le BAM, ni les reads à l’appui. Extrayez l’appel vers une ligne GF ; archivez les fichiers de séquences dans le dépôt génomique de l’étude et référencez-les, comme l’explique la leçon sur le domaine GF.

Questions fréquentes

Une mutation est un résultat de variation génétique : un enregistrement GF (Genomics Findings) avec GFCAT = "GENETIC VARIATION", le type de variant dans GFSCAT (SNV, indel, CNV, fusion), et l’appel dans GFORRES — la chaîne HGVS pour un changement de séquence, un nombre de copies pour un CNV, une jonction de fusion pour un réarrangement. GFTESTCD/GFTEST nomment le test (vérifié au regard du sous-ensemble NCI EVS C181178), et GFREFID le relie au spécimen tumoral. C’est la même forme Findings que n’importe quel résultat d’analyse biologique.

Dans GFORRES — le résultat tel que le laboratoire l’a rapporté, généralement le changement codant avec la conséquence protéique (p. ex. c.2573T>G (p.Leu858Arg)). Suivez la nomenclature HGVS : les niveaux codant (c.) et protéique (p.) sont ancrés à un transcrit de référence et le niveau génomique (g.) à un build de génome, alors portez aussi la séquence de référence — le changement seul est ambigu sans elle.

Par l’origine, portée comme un qualificateur, et par quels qualificateurs accompagnent l’appel. Un variant somatique (acquis par la tumeur) porte une VAF (fraction allélique du variant) et repose sur un spécimen tumoral ; un variant germinal (hérité) porte une zygotie (hétérozygote / homozygote) et est appelé à partir d’un spécimen normal (sang/buccal), de sorte que son GFREFID pointe vers cet échantillon. L’origine détermine aussi le référentiel de classification — ACMG/AMP pour le germinal, AMP/ASCO/CAP pour le somatique.

Comme un résultat de variation génétique avec GFSCAT = "GENE FUSION" et la jonction de fusion dans GFORRES — par exemple EML4::ALK (exon 13 :: exon 20), nommant les gènes partenaires et les points de cassure. Une fusion n’a pas de chaîne HGVS mono-base (et toute VAF qu’elle porte est la fraction de reads chevauchant la jonction, non une fraction allélique par base) ; c’est un seul enregistrement Findings sur le spécimen tumoral, distingué d’un SNV ou d’un CNV uniquement par sa sous-catégorie GFSCAT.

Non. Ce sont des catégories de référentiel d’interprétation, non de la terminologie contrôlée CDISC. « Pathogène / probablement pathogène / VUS / bénin » est le référentiel germinal ACMG/AMP (Richards et al. 2015) ; les variants somatiques du cancer sont classés en Tier I–IV sous AMP/ASCO/CAP (Li et al. 2017). GF peut stocker la classification dans GFSTRESC, mais c’est le référentiel qui la définit — citez le référentiel et ne présentez pas la valeur (ni son GFTESTCD) comme officielle CDISC.

Testez vos connaissances

La construction ci-dessus a tabulé cinq variants tumoraux somatiques. Supposons que le même sujet ait aussi eu un variant pathogène germinal BRCA1 trouvé sur un spécimen sanguin. Esquissez en quoi sa ligne GF diffère de la ligne du SNV somatique : quel qualificateur remplace la VAF, quelle valeur d’origine elle porte, vers quel spécimen pointe son GFREFID, et quel référentiel de classification la nomme « pathogène ».

Germinal signifie hérité — présent dans chaque cellule, il est donc décrit par un décompte d’allèles, non par une fraction de reads, et il est appelé à partir d’un spécimen normal (non tumoral). Le vocabulaire de classification change lui aussi avec l’origine.

Le résultat germinal BRCA1 reste un enregistrement GF GENETIC VARIATION, mais :

  • La zygotie remplace la VAF. Il porte une zygotie (p. ex. HETEROZYGOUS) — un décompte d’allèles — et aucune VAF, car un variant germinal n’est pas une fraction de reads somatiques.
  • L’origine est GERMLINE, non SOMATIC.
  • GFREFID pointe vers le spécimen sanguin/normal à partir duquel il a été appelé, non le spécimen tumoral — il renvoie donc à un enregistrement de biospécimen différent dans BE de celui des appels somatiques.
  • La classification est ACMG/AMP, non AMP/ASCO/CAP : « pathogène / probablement pathogène / VUS / bénin » est le référentiel germinal, de sorte qu’un GFSTRESC = "PATHOGENIC" est ici correct là où un conducteur somatique porterait un Tier.

Même domaine, même forme Findings — une origine différente, un qualificateur différent, un spécimen différent, et un référentiel d’interprétation différent.

A. Dans GFORRES, accolée à la chaîne HGVS B. Dans un qualificateur numérique aux côtés du résultat (pas dans GFORRES) C. Dans GFSCAT, comme sous-catégorie du variant

B. La VAF (fraction allélique du variant) est un qualificateur — elle dit quelle quantité du variant la tumeur porte, non ce qu’est le variant. Elle accompagne le résultat sous forme de valeur numérique. GFORRES contient l’appel lui-même (la chaîne HGVS) ; GFSCAT contient le type de variant (SNV, CNV, fusion). Fondre la VAF dans GFORRES mélange le résultat avec son qualificateur.

Conclusion

Chaque type de variant qu’un panel moléculaire appelle — SNV, indel, CNV, fusion — est un seul résultat de variation génétique dans le même domaine GF. Mettez le type dans GFSCAT, l’appel dans GFORRES (la chaîne HGVS, le nombre de copies, la jonction de fusion), et la valeur du nombre de copies dans GFSTRESN ; gardez la zygotie, la VAF et l’origine comme qualificateurs, jamais à l’intérieur du résultat ; et ne stockez une classification dans GFSTRESC qu’en nommant le référentiel qui l’a définie — ACMG/AMP pour le germinal, AMP/ASCO/CAP pour le somatique. Gardez chaque GFTESTCD comme espace réservé illustratif tant que C181178 ne l’a pas confirmé, et gardez les fichiers de séquences bruts hors de SDTM. La leçon de mapping de l’expression génique et du RNA-seq à venir dans cette série complète le volet génomique — la même construction Findings, un GFCAT différent.

Note

Cette leçon est reproductible : chaque résultat de cette page a été produit par le code montré — copiez n’importe quel bloc et exécutez-le pour les reproduire. The runtime is the judge.

Leçons connexes

Cette page vous a-t-elle été utile ?

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Mutations et variants dans le domaine SDTM GF en R},
  date = {2026-07-01},
  url = {https://www.datanovia.com/learn/pharma-clinical/02-sdtm-programming/mutation-variant-gf},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Mutations et variants dans le domaine SDTM GF en R.” 2026. July 1. https://www.datanovia.com/learn/pharma-clinical/02-sdtm-programming/mutation-variant-gf.