Efter at have læst GIAB-papiret i https://www.biorxiv.org/content/early/2018/05/25/281006 og dets figur 1, har jeg stadig problemer med at forstå dataene inde i GIAB VCF-filen til HG001 (HG001_GRCh38_GIAB_highconf_CG-IllFB-IllGATKHC-Ion-10X-SOLID_CHROM1-X_v.3.3.2_all.vcf). Især skal jeg forstå de oplysninger, der førte til en FILTER-værdi af PASS for nogle varianter.
Den første sag, som jeg gerne vil diskutere, er følgende variant:
chr1 110176467. AG 50 PASS-platforme = 3; platformnavne = Illumina, CG, 10X; datasæt = 3; datasætnavne = HiSeqPE300x, CGnormal, 10XChromium; kaldesæt = 4; kaldesætnavne = HiSeqPE300xGATK, CGnormal, HiSeqPE300xfreebayes, 10XGATKhapplo; = CS_HiSeqPE300xGATK_callable, CS_CGnormal_callable, CS_HiSeqPE300x freebayes_callable GT: PS: DP: ADALL: AD: GQ 0/1:.: 512: 114,106: 145,148: 760
Oversættelse til engelsk i informationen, oversættelse af oplysningerne i informationen i den dette er hvad jeg får:
- Vi overvejede data fra følgende sekventeringsteknologier: Illumina, CG, 10X, IonExome, SolidPE50x50bp og SolidSE75bp.
- Af dem manglede nogle af dem (IonExome, SolidPE50x50bp, SolidSE75bp) opkaldet, så vi kasserede dem.
- Derfor kommer dataene til varianten fra 3 platforme (Illumina, CG, 10X), 3 datasæt (HiSeqPE300x, CGnormal, 10XChromium) og 4 kaldesæt (HiSeqPE300xGATK, CGnormal, HiSeqPE300xfreebayes, 10XGATKhap ), fordi vi analyserede data fra HiSeqPE300x med GATK og også med Freebayes.
- Imidlertid havde opkaldssættene fra CS_HiSeqPE300xGATK, CS_CGnormal og CS_HiSeqPE300x freebayes dette opkald i en region med lav dækning af høj MQ-læsning. li>
- På tværs af alle platforme kommer DP = 512
- ADALL (Værdier 114,106) kommer fra “alle” datasættene. Er disse “alle” sættet (HiSeqPE300x + Cgnormal + 10XChromium), eller sættet (Illumina + CG + 10X + IonExome + SolidPE50x50bp + SolidSE75bp).
- AD (værdier 145,148) kommer fra de samme "alle" datasæt som ADALL, men de er ufiltrerede, så 145> 114 og 148> 106.
Alt dette giver mening, men jeg vil gerne vide, hvilken sag i figur 1c, der blev anvendt for at nå frem til PASS-værdien.
Den anden variant, som jeg gerne vil nævne, er denne:
chr1 5705293. TC 50 PASS-platforme = 3; platformnavne = Illumina, CG, 10X; datasæt = 3; datasætnavne = HiSeqPE300x, CGnormal, 10XChromium; opkaldssæt = 4; kaldesætnavne = HiSeqPE300xGATK, CGnormal, HiSeqPE300xfreebayes, 10XGATKhpall; = CS_HiSeqPE300xGATK_callable, CS_CGnormal_callable, CS_HiSeqPE300x freebayes_callable; filt = CS_HiSeqPE300xGATK_filt GT: PS: DP: ADALL: AD: GQ 0/1:.: 599: 121,139: oversættelse ville være: -
Vi overvejede data fra følgende sekventeringsteknologier: Illumina, CG, 10X, IonExome, SolidPE50x50bp og SolidSE75bp.
-
Af dem manglede nogle af dem (IonExome, SolidPE50x50bp, SolidSE75bp) opkaldet, så vi kasserede dem.
-
Derfor kommer dataene til varianten fra 3 platforme (Illumina, CG, 10X), 3 datasæt (HiSeqPE300x, CGnormal, 10XChromium) og 4 kaldesæt ( HiSeqPE300xGATK, CGnormal, HiSeqPE300xfreebayes, 10XGATKhaplo), fordi vi analyserede data fra HiSeqPE300x med GATK og også med Freebayes.
- Opkaldssættene fra CS_HiSeqPE300xGATK, CS_CaCe, CS_Ca region med lav dækning af høj MQ-læsning.
- Data fra CS_HiSeqPE300xGATK_filt blev også filtreret / kasseret
- På tværs af alle platforme, DP = 599
- ADALL ( Værdier 121,139) kommer fra “alle” datasættene. Jeg antager (Cgnormal + 10XChromium), fordi CS_HiSeqPE300xGATK_filt blev filtreret.
- AD (Værdier 49,28) er ufiltrerede.
Men bemærk at 49<121 og 28<139. Hvorfor kommer der mindre ufiltrerede læser (AD)? Bør det ikke være tilfældet, at AD> ADALL i alle tilfælde?
Jeg ved ikke, hvordan jeg kan forene de to varianter. Leverer de ikke modsat information i AD og ADALL felterne? Hvilke specifikke datasæt og kaldesæt er involveret i at få AD og ADALL til hver variant?
Jeg vil også sætte pris på svarene på et par andre spørgsmål:
-
Hvorfor er disse to varianter en PASS, hvis der er 3 "kaldbare" datasæt i regioner med lav dækning?
-
Har varianterne fulgt en voldgiftsproces? Jeg antager ikke, hvis INFO-flaget "arbitreret" mangler.
Til reference er her beskrivelserne i overskriften på VCF-filen, som jeg har brugt:
## INFO = <ID = platforme, nummer = 1, type = heltal, beskrivelse = "antal forskellige platforme, hvor mindst et kaldesæt kaldte denne genotype, uanset om det var filtreret eller ikke" > ## INFO = <ID = platformnavne, Number =., Type = String, Beskrivelse = "Navne på platforme, for hvilke mindst et kaldesæt kaldte denne genotype, uanset om de var filtreret" > ## INFO = <ID = datasæt, Number = 1, Type = Heltal, Beskrivelse = "Antal forskellige datasæt, hvor mindst et opkaldssæt kaldte denne genotype, uanset om det var filtreret" > ## INFO = <ID = datasætnavne, Number =., Type = String, Beskrivelse = "Navne på datasæt, til hvilke mindst et kaldesæt kaldte denne genotype, uanset om den var filtreret eller ikke "> ## FORMAT = <ID = ADALL, Number = R, Type = Integer, Description =" Netto alleldybder på tværs af alle da tasets "> ## FORMAT = <ID = AD, Number = R, Type = Heltal, Beskrivelse =" Netto alleldybder på tværs af alle ufiltrerede datasæt med kaldet genotype "> ## FORMAT = <ID = DP, Number = 1, Type = Integer Beskrivelse = "Samlet læsedybde opsummeret på tværs af alle datasæt, undtagen MQ0 læser" >
## INFO = <ID = datasetsmissingcall, Number =., Type = Integer, Description = "Navne på datasæt, der mangler et opkald eller har et forkert opkald på dette sted, og opkaldet med høj tillid er en variant" > ## INFO = <ID = kaldbar, nummer =., Type = streng, beskrivelse = "Liste over opkaldssæt, der havde dette opkald i en region med lav dækning med høj MQ-læsning." > ## INFO = <ID = filt, Number =., Type = Streng, beskrivelse = "Liste over opkaldssæt, der havde filtreret dette opkald." > ## INFO = <ID = arbitreret, Number = 1, Type = String, Description = "TRUE hvis kaldesæt havde uoverensstemmende opkald, så der var behov for voldgift." >