Streszczenie
Variant caller nie odczytuje wariantów wprost z FASTQ. Buduje model: reads są przypisywane do próbki, mapowane do określonej referencji, porządkowane, grupowane w molekuły, lokalnie składane lub porównywane z haplotypami, a następnie oceniane względem błędu i alternatywnych genotypów. Wynik VCF jest listą hipotez zapisanych w konkretnej reprezentacji, nie katalogiem wszystkich różnic biologicznych.
Artykuł prowadzi od FASTQ i metadanych przez alignment, read groups, duplikaty, BQSR, active regions, pileup, local assembly, genotypowanie kohortowe, calling somatyczny, CNV i SV po filtrowanie, normalizację VCF, benchmark i manual review. Wyjaśnia, gdzie powstają false positives, false negatives i no-calls oraz dlaczego pipeline musi być dopasowany do ploidalności, materiału i klasy wariantu.

Najpierw definiuje się zadanie
„Znajdź warianty” jest zbyt szerokim poleceniem. Trzeba określić:
- germline czy somatic;
- jedna próbka, trio, rodzina czy kohorta;
- diploid, haploid, aneuploid lub mixed ploidy;
- SNV, small indel, CNV, SV, repeat expansion czy mtDNA;
- WGS, exome, panel, amplicon lub long reads;
- minimalny VAF;
- materiał świeży, FFPE, cfDNA lub pojedyncza komórka;
- referencję;
- zakres callable;
- zastosowanie badawcze, kliniczne lub sądowe.
Caller zoptymalizowany dla heterozygot germinalnych około 50% nie jest automatycznie odpowiedni dla mozaiki 1%. Pipeline ma hipotezę statystyczną wpisaną w parametry.
Kandydat techniczny, biologiczny i raportowalny
Kandydat techniczny ma dowód reads wystarczający według modelu.
Kandydat biologiczny pozostaje wiarygodny po kontroli źródeł artefaktu i zgodności z próbką.
Wariant raportowalny przechodzi dodatkowo potwierdzenie, adnotację, klasyfikację i zasady zakresu.
Ten artykuł kończy się na dwóch pierwszych poziomach. Znaczenie wariantu jest osobnym etapem.
FASTQ musi mieć tożsamość
FASTQ zawiera sekwencję, jakości i identyfikator readu. Nie zawiera pełnej historii dawcy. Po demultipleksowaniu pliki trzeba połączyć z:
- sample ID;
- library ID;
- lane;
- flow cell;
- platform;
- center;
- run date;
- index;
- assay;
- jednostką biologiczną.
Read group
W BAM/CRAM read group umożliwia rozróżnienie:
- próbki
SM; - biblioteki
LB; - platform unit
PU; - platformy
PL; - identyfikatora grupy
ID.
To nie jest dekoracja. Duplicate marking może grupować według biblioteki, BQSR modelować efekty runu, a joint calling łączyć reads tego samego sample.
Błędne SM może połączyć dwie osoby. Błędne LB może źle klasyfikować duplikaty.
Sample sheet jest częścią chain of identity
Kontrole:
- oczekiwane indeksy;
- niedozwolone pary;
- liczba reads per sample;
- fingerprint;
- płeć chromosomalna;
- mitochondrial haplotype;
- pokrewieństwo;
- contamination.
Pipeline, który analizuje bardzo dobrze zmapowane reads złej osoby, pozostaje technicznie sprawny i biologicznie błędny.
FASTQ QC jest filtrem przed mapowaniem
Ocenia się:
- Q per cycle;
- adapter content;
- GC;
- overrepresented sequences;
- duplication estimate;
- read length;
- insert po mapowaniu;
- indeksy;
- N content;
- yield.
Trimming: mniej nie zawsze znaczy lepiej
Usuwanie adaptera jest potrzebne, gdy insert jest krótszy niż read. Agresywne obcięcie słabych końców może:
- skrócić unikalną kotwicę;
- zwiększyć multi-mapping;
- usunąć dowód indela;
- zmienić insert;
- zmniejszyć overlap.
Współczesny aligner może tolerować słaby koniec i soft clipping. Trimming powinien odpowiadać zwalidowanemu workflow.
Quality encoding
Phred+33 jest dziś typowy, ale pipeline powinien rozpoznać format. Przesunięcie encodingu zmienia interpretację wszystkich jakości.
Referencja musi być dokładnie określona
Nazwa wersji to za mało. Potrzebne są:
- assembly accession;
- FASTA checksum;
- primary chromosomes;
- alt contigs;
- decoy;
- HLA;
- mitochondrial sequence;
- unlocalized/unplaced;
- mask;
- ploidy map.
Reads mapowane do jednej kompozycji referencji nie powinny być analizowane z dictionary innej.
Coordinate system
VCF używa pozycji 1-based. BED zwykle 0-based half-open. Błąd konwersji przesuwa region o jedną bazę.
Każdy interval list powinien mieć:
- wersję;
- checksum;
- padding;
- transkrypty;
- gene model;
- regułę overlap.
Contig naming
chr1 i 1 mogą oznaczać ten sam chromosom, ale narzędzia traktują nazwy literalnie. Automatyczne zmiany nazw muszą zachować zgodność mtDNA i alt loci.
Alignment wybiera najbardziej prawdopodobne miejsce
Krótkie reads często mapuje się algorytmami opartymi na indeksie FM/BWT, długie — minimizerach i chaining. Aligner:
- znajduje seeds;
- tworzy kandydackie regiony;
- buduje alignment;
- punktuje mismatch i gaps;
- wybiera primary;
- raportuje alternative/supplementary;
- estymuje MAPQ.
Local i end-to-end
End-to-end próbuje dopasować cały read. Local może soft-clipować końce. Local pomaga przy adapterze i breakpoint, ale clipped sequence wymaga dalszej interpretacji.
Repetitive seeds
Seed obecny w tysiącu miejsc ma małą wartość. Aligner może go pominąć lub użyć w kontekście. Region bez unikalnych seeds pozostaje trudny niezależnie od wysokiej jakości bazy.
Alignment score jest modelem
Zmiana kary za:
- mismatch;
- gap open;
- gap extension;
- clipping,
może zmienić reprezentację indela lub miejsce mapowania. Parametry są częścią metody.
BAM/CRAM jest uporządkowanym dowodem
Po mapowaniu:
- zapisuje się header i read groups;
- sortuje po współrzędnych;
- indeksuje;
- oznacza duplikaty;
- czasem recalibruje jakości;
- wykonuje QC i fingerprint.
Standard SAM/BAM oraz narzędzia SAMtools ujednoliciły zapis alignment, flag, CIGAR, mate information i optional tags, tworząc wspólną warstwę między alignerem i callerem.3
BAM i CRAM
BAM przechowuje alignments samodzielnie. CRAM kompresuje względem referencji i wymaga identycznej sekwencji do pełnego odtworzenia. Checksum referencji jest krytyczny.
Sortowanie nie zmienia biologii
Sortowanie po współrzędnych ułatwia dostęp do locus. Name-sorted służy innym operacjom. Narzędzie oczekujące konkretnego porządku może dać błąd lub niepoprawny wynik, jeśli header kłamie.
Duplikaty i overlap
Duplikaty oznacza się zgodnie z biblioteką. W ampliconie współrzędne nie identyfikują molekuły. W UMI grouping używa barcode i pozycji.
Paired reads mogą pokrywać tę samą bazę tej samej cząsteczki. Caller powinien nie liczyć overlap jako dwóch niezależnych obserwacji.
Duplicate fraction a calling
Usunięcie duplikatów:
- ogranicza PCR artifacts;
- zmniejsza depth;
- może usunąć natural collisions;
- może zaszkodzić małemu targetowi;
- nie zastępuje UMI.
Ustawienie musi być walidowane per assay.
Base quality jest kalibrowalna
Jakość z sekwenatora przewiduje błąd, ale może zależeć od:
- cyklu;
- kontekstu;
- machine cycle;
- lane;
- dinucleotide;
- chemistry.
Base Quality Score Recalibration porównuje obserwowane mismatches z zestawem znanych wariantów, aby nie traktować prawdziwych polimorfizmów jak błędów. GATK i jego framework upowszechniły modelowanie takich covariates w pipeline NGS.1,2
Circularity BQSR
Jeśli zestaw known sites jest niekompletny dla populacji, prawdziwe warianty mogą być uznane za błędy. Alternatywą jest bootstrapping: pierwszy call tworzy maskę, potem recalibration.
BQSR nie naprawia sekwencji. Zmienia ocenę pewności bazy używaną przez caller.
Kiedy BQSR nie pomaga
- mały panel bez wystarczających obserwacji;
- amplicon o nietypowej geometrii;
- UMI consensus z własnym modelem;
- long reads;
- platforma z inną kalibracją.
„Best practice” jest punktem startu, nie prawem dla każdej biblioteki.
Pileup jest widokiem locus
Pileup układa reads względem pozycji i pokazuje:
- bazę;
- jakość;
- MAPQ;
- strand;
- read position;
- indels;
- clipping.
Prosty caller może liczyć allele per pozycja. Pileup jest czytelny, ale ma problemy z reprezentacją haplotypu i kompleksowych indeli.
Jedna kolumna nie widzi pełnego zdarzenia
Dwa bliskie SNV mogą być:
- na tej samej cząsteczce;
- na różnych haplotypach;
- częścią MNV;
- artefaktem alignment.
Local assembly analizuje fragment jako całość.
Haplotype-based calling
Caller wyznacza active region, zbiera reads, tworzy kandydackie haplotypy i oblicza likelihood reads dla każdej sekwencji. De Bruijn-like graph może reprezentować lokalne SNV i indels.
Etapy:
- active region;
- local assembly;
- candidate haplotypes;
- pair-HMM lub inny likelihood;
- genotype likelihood;
- allele pruning;
- VCF.
Active region może ukryć wariant
Jeśli sygnał nie przekroczy progu aktywności, region może nie być składany. Parametry wpływają na czułość mozaiki i trudnych indeli.
Graph pruning
Słabo wsparta gałąź może być błędem lub prawdziwym niskim VAF. Pruning dobry dla germline może usunąć mozaikę.
Haplotype length
Zbyt krótki region nie połączy wariantów. Zbyt długi zwiększa złożoność grafu. Powtórzenia mogą nie mieć unikalnej ścieżki.
Genotype likelihood
Dla diploidalnego biallelic locus kandydackie genotypy:
0/0;0/1;1/1.
Caller oblicza prawdopodobieństwo reads przy każdym genotypie, uwzględniając jakość i błąd.
PL, GL, GQ
GL— log likelihood;PL— znormalizowane likelihoods w skali Phred;GQ— pewność wybranego genotypu względem następnego.
GQ 99 nie oznacza, że wariant jest biologicznie prawdziwy z 99,99999999% pewnością. Model może nie uwzględniać paralogu lub dropout.
DP i AD
DP jest głębokością według definicji callera. AD liczy reads wspierające allele. Nie zawsze odpowiadają prostemu samtools depth, bo filtry i overlap są inne.
Ploidalność
Genotype space zmienia się dla:
- haploid microorganism;
- chromosome X/Y;
- mtDNA;
- triploid;
- tumor;
- pooled samples.
Użycie diploid default w haploidzie może tworzyć sztuczne heterozygoty.
GVCF oddziela brak wariantu od brak danych
GVCF zawiera rekordy dla wariantów i bloków referencyjnych z informacją o pewności. Pozwala joint genotyping wielu próbek bez ponownego czytania BAM.
Reference confidence
Wysoka pewność 0/0 wymaga dowodu, że alternatywa byłaby wykrywalna. Low depth lub niska mapowalność daje no-call albo niską pewność.
Zwykły VCF z tylko wariantami nie rozróżnia:
0/0;- no-call;
- region not processed.
Joint genotyping
Próbki są najpierw analizowane indywidualnie do GVCF, a następnie genotypowane wspólnie. Allel znaleziony wyraźnie w jednej osobie może być oceniony w pozostałych.
Zalety:
- spójny allele set;
- lepsze genotypy słabego dowodu;
- cohort-level annotations;
- wykrycie rzadkich wariantów.
Ryzyka:
- batch effects;
- rosnąca złożoność loci;
- alleles specyficzne dla platformy;
- sample contamination;
- zmiana wyniku po dodaniu próbek.
Incremental cohort
Dodanie nowych próbek może zmienić allele representation i quality model. Release kohorty powinien być wersjonowany.
Priors populacyjne
Częstość allelu może wpływać na prior genotypu lub filtrowanie. Zasób populacyjny ma własne ancestry, coverage, callability, wersję referencji, filtry, pokrewieństwo i skład kohorty.
Brak wariantu w bazie nie jest dowodem, że jest de novo. Wysoka częstość nie gwarantuje łagodności ani poprawnego mapowania.
Allele pruning w złożonym locus
Joint locus może zawierać wiele alternatyw. Zbyt wiele haplotypów zwiększa koszt i niepewność. Caller może usuwać słabo wspierane allele.
Rzadki prawdziwy allel jednej próbki może zostać utracony, jeśli pruning wykorzystuje cohort support nieadekwatnie. Warto zachować per-sample evidence.
Fazowanie zmienia interpretację zestawu wariantów
Dwa warianty heterozygotyczne w jednym genie mogą być:
- cis — na tym samym haplotypie;
- trans — na przeciwnych.
Read-backed phasing wymaga jednej cząsteczki lub nakładającego się łańcucha. Trio phasing używa transmisji. Statistical phasing używa populacji.
Phase set
VCF może zawierać separator | dla phased genotype, pole PS dla bloku fazy i dodatkowe tags callera. Faza obowiązuje wewnątrz bloku. Nie wolno przenosić jej przez przerwę bez dowodu.
Switch error
Długi blok może mieć przełączenie. Read-backed phase z małej liczby i chimery może być błędny.
Kontrole:
- rodzice;
- long reads;
- linked molecules;
- Hi-C;
- zgodność populacyjna.
Compound heterozygosity
Warianty trans mogą wspólnie zaburzać dwie kopie genu. Same dwa genotypy 0/1 nie dowodzą trans. Jeśli jeden wariant jest de novo, a drugi odziedziczony, pochodzenie może rozstrzygnąć fazę.
Sample-level QC przed przyjęciem VCF
Należy ocenić:
- total reads;
- mapped;
- duplicates;
- insert size;
- coverage;
- contamination;
- heterozygosity;
- Ti/Tv;
- indel ratio;
- singleton count;
- sex chromosomes;
- ancestry PCA;
- relatedness;
- call rate.
Heterozygosity outlier
Zbyt wysoka może sugerować contamination, sample mixture, paralog artifacts albo odległe ancestry względem modelu. Zbyt niska może wynikać z inbreeding, low coverage, allele dropout lub haploidalnego regionu.
Ti/Tv
Transition/transversion ratio jest agregatową kontrolą. Typowa wartość zależy od targetu i organizmu. Exome i WGS mają inne oczekiwania.
Prawidłowe Ti/Tv nie dowodzi poprawności pojedynczego wariantu. Duża liczba łatwych prawdziwych SNV może ukryć małą grupę artefaktów.
Kontrola chromosomów płci
Coverage X/Y, heterozygosity X i ploidy pomagają wykryć sample swap oraz aneuploidię. Nie należy bezrefleksyjnie zastępować rzeczywistego kariotypu deklarowaną etykietą.
Relatedness
IBD i kinship sprawdzają deklarowane trio, duplikaty i pomyłki. Monozygotyczne bliźnięta wymagają dodatkowych metadanych.
Trio i rodzina dodają reguły transmisji
Trio umożliwia:
- de novo calling;
- phasing;
- compound heterozygosity;
- Mendelian error QC;
- identity check.
De novo
Kandydat de novo wymaga:
- dobrego genotypu dziecka;
- wystarczającego depth rodziców;
- braku alternatywy u rodziców;
- kontroli mozaiki rodzica;
- pokrewieństwa;
- kontaminacji;
- mapowalności;
- allele balance.
Brak readu u rodzica przy 5× nie jest mocnym dowodem de novo.
Mendelian error
Niezgodność może oznaczać:
- błąd call;
- de novo;
- CNV;
- UPD;
- mozaikę;
- non-paternity;
- sample swap;
- paralog.
Jest flagą do wyjaśnienia, nie automatycznym artefaktem.
Calling somatyczny jest testem mieszaniny
Tumor zawiera:
- komórki nowotworowe;
- normalne;
- subklony;
- CNV;
- aneuploidię;
- stromę i odporność.
VAF nie mapuje prosto na genotyp.
Tumor–normal
Matched normal pomaga odjąć germline i artefakty osobnicze. Caller porównuje dowód w guzie oraz normalu. MuTect był jednym z klasycznych modeli wykrywania niskiego VAF w paired samples.6
Normal może mieć:
- niską domieszkę guza;
- clonal hematopoiesis;
- mosaicism;
- mały depth;
- contamination.
Panel of normals
PoN gromadzi powtarzalne artefakty techniczne z normalnych próbek. Powinien pasować do:
- assay;
- laboratorium;
- platformy;
- pipeline;
- materiału.
PoN może zawierać prawdziwe częste warianty, jeśli nie zbudowano go właściwie.
Germline resource
Population allele frequency pomaga modelować germline, ale różnice ancestry i coverage wymagają ostrożności. Brak w bazie nie czyni wariantu somatycznym.
Orientation bias
Uszkodzenie jednej nici FFPE tworzy kierunkowy artefakt. Model orientation family wymaga informacji o układzie par i rodzin.
Somatic VAF, purity i copy number
Dla klonalnej heterozygoty w czystym diploidalnym guzie VAF może być 50%. Przy purity 30% i braku CNV przybliżenie:
VAF ≈ 0,3 / 2 = 15%
Jeśli wariant leży na amplifikowanym allelu albo po LOH, wynik się zmienia.
Model powinien uwzględniać:
- purity;
- total CN;
- minor CN;
- multiplicity;
- clonality;
- normal admixture.
Small indels wymagają reprezentacji
Indel w powtórzeniu można zapisać w kilku pozycjach. Normalizacja:
- left-align;
- trim wspólnych baz;
- rozdziela multiallelic, zależnie od celu;
- zachowuje alleles.
Left normalization
W homopolimerze delecja jednej A może być przesunięta. VCF convention wybiera najdalej w lewo w równoważnym kontekście.
Bez normalizacji ten sam wariant wygląda jak różne rekordy.
MNV
Dwa sąsiednie SNV na tym samym haplotypie mogą zmieniać kodon inaczej niż dwa osobne warianty. Decomposition przed phasing może dać błędną adnotację funkcjonalną.
VCF jest modelem danych
Podstawowe pola:
CHROM;POS;ID;REF;ALT;QUAL;FILTER;INFO;FORMAT;- próbki.
QUAL i FILTER
QUAL zwykle dotyczy hipotezy obecności wariantu w rekordzie, nie jakości każdego genotypu. FILTER PASS oznacza przejście zdefiniowanych filtrów, nie potwierdzenie biologiczne.
INFO
Może zawierać:
- depth;
- allele frequency;
- strand metrics;
- mapping metrics;
- annotations;
- caller-specific scores.
Definicje są w header. Nazwa DP może mieć inną semantykę w INFO i FORMAT.
Missing genotype
./. nie jest 0/0. Zachowanie tej różnicy jest krytyczne.
Hard filters i modelowe filtrowanie
Hard filters ustalają progi dla:
- QD;
- FS;
- SOR;
- MQ;
- MQRankSum;
- ReadPosRankSum;
- depth.
Są czytelne, ale kombinacja słabych sygnałów może być lepiej modelowana wielowymiarowo.
VQSR
Variant Quality Score Recalibration uczy model na zestawach wariantów o różnej wiarygodności i tworzy score/tranches. Wymaga:
- wystarczająco dużego zbioru;
- reprezentatywnych annotations;
- dobrych training resources;
- oddzielnego modelu SNV/indel.
Mały panel zwykle nie ma danych do stabilnego modelu.
Machine learning callers
DeepVariant reprezentuje local pileup jako dane wejściowe dla sieci i klasyfikuje genotypy; pokazał wysoką dokładność w germline calling różnych platform.4 Model nadal zależy od training distribution, referencji i preprocessing.
Black-box score nie usuwa potrzeby benchmarku trudnych regionów.
Caller concordance
Dwa callery mogą różnić się:
- region selection;
- local assembly;
- pruning;
- quality model;
- filters;
- representation;
- ploidy.
Intersection zwiększa precision kosztem recall. Union zwiększa recall i liczbę artefaktów. „Dwa programy się zgadzają” nie jest niezależnym potwierdzeniem, jeśli używają tych samych reads i alignment.
Strelka2 jest przykładem callera zoptymalizowanego zarówno dla germline, jak i somatic small variants, z modelem dopasowanym do wysokiej wydajności WGS/exome.5
CNV calling z read depth
Pipeline:
- dzieli target na bins;
- liczy reads;
- koryguje GC/mapowalność;
- porównuje panel normals;
- segmentuje;
- estymuje copy ratio;
- łączy z B-allele frequency.
Exome i panel
Nierówny capture utrudnia CNV. Biny są sondami/eksonami, a resolution zależy od ich gęstości. Pojedynczy exon CNV wymaga bardzo stabilnego assay i potwierdzenia.
WGS
Równe bins dają bardziej ciągły sygnał. Mappability i GC nadal wpływają. Breakpoint może być doprecyzowany split reads.
BAF
Heterozygotyczne SNP tworzą allele fractions. LOH może wystąpić bez zmiany total CN — copy-neutral LOH.
Structural variant calling
Dowody:
- discordant pairs;
- split reads;
- read depth;
- local assembly;
- long-read spanning;
- de novo assembly.
DELLY połączył paired-end i split-read dla zintegrowanego wykrywania SV krótkimi reads.7
Breakend
VCF BND reprezentuje połączenie dwóch końców z orientacją. Translokacja i złożony rearrangement mogą wymagać kilku rekordów.
SV representation
Różne callery mogą raportować:
- inne breakpointy;
- symbolic allele;
- sequence-resolved insertion;
- różne typy;
- jeden lub wiele zdarzeń.
Porównanie wymaga tolerancji pozycji, typu i sequence similarity.
Long-read SV
Sniffles wykorzystuje split-read, mismatch i coverage długich reads do wykrywania SV.8 Długi read zwiększa szansę span, ale chimery, błędy i mały molecule count nadal wymagają filtrów.
Repeat expansions
Zwykły SNV/indel caller może:
- soft-clipować reads;
- raportować mały indel;
- nie raportować nic;
- błędnie mapować repeat.
Dedykowany caller używa:
- repeat-spanning reads;
- flanking reads;
- in-repeat reads;
- paired-end insert;
- motif;
- local assembly;
- long reads.
Wynik powinien określać zakres wielkości i czy oba allele zostały rozwiązane.
Mitochondrial calling
Wymaga:
- circular-aware alignment;
- NUMT control;
- heteroplasmy model;
- wysokiego molecular depth;
- strand/orientation;
- tissue context;
- haplogroup.
Ploidalność diploidalna nie pasuje. VAF jest heteroplazmią, ale może być zaburzony przez NUMTs i amplification.
RNA variant calling
RNA może ujawnić:
- expressed germline variant;
- somatic variant;
- splice junction;
- fusion;
- RNA editing.
Problemy:
- expression-dependent coverage;
- spliced alignment;
- allele-specific expression;
- RNA editing;
- reverse transcription;
- paralogi;
- NMD.
RNA nie zastępuje DNA negative call. Jest dodatkową warstwą.
Single-cell calling
scDNA ma:
- allele dropout;
- WGA artifacts;
- nierówny coverage;
- false doublets;
- amplification bias.
scRNA widzi tylko ekspresjonowane allele. Agregacja komórek może zwiększyć moc, ale miesza subklony.
Model musi uwzględniać dropout i rodzinę komórek.
Filtry artefaktów
Typowe cechy:
- strand bias;
- orientation bias;
- read position;
- base quality;
- MAPQ;
- clipping;
- nearby indels;
- homopolymer;
- paralog;
- panel of normals;
- contamination;
- UMI family;
- sequence context.
Jeden próg nie działa wszędzie
VAF 5% może być:
- silnym somatic signal;
- FFPE artifact;
- NUMT;
- mosaic germline;
- contamination;
- subclone.
Interpretacja zależy od materiału i dowodu.
Manual review
Przegląd w genome browser sprawdza:
- rozkład reads;
- strand;
- clipping;
- MAPQ;
- base quality;
- duplikaty;
- nearby variants;
- paralogi;
- coverage normal/tumor;
- CNV;
- sample identity.
Browser ma ograniczenia
Downsampling może ukryć reads. Kolory i sortowanie zmieniają percepcję. Reference bias i niepoprawna reprezentacja mogą nie być oczywiste.
Manual review nie jest potwierdzeniem; jest etapem kontroli hipotezy.
False negative nie pozostawia rekordu
False positive można znaleźć na liście i odrzucić. False negative jest trudniejszy, bo pipeline go nie wypisał.
Audyt czułości pyta:
- Czy target był w referencji i intervals?
- Czy reads powstały?
- Czy zostały przypisane do próbki?
- Czy zmapowały się?
- Czy przeszły MAPQ i duplicate filters?
- Czy caller analizował region?
- Czy utworzył haplotyp?
- Czy allele nie został pruned?
- Czy filtr go odrzucił?
- Czy reprezentacja utrudniła porównanie?
Dropped records
Pipeline powinien zachowywać:
- pre-filter VCF;
- filtered VCF;
- filter reasons;
- no-call blocks;
- callable mask;
- logs;
- counts per stage.
Jeśli pozostaje tylko final PASS VCF, nie można ustalić, gdzie zniknął kandydat.
Synthetic spike-ins
In silico można wprowadzić warianty do reads lub BAM i mierzyć odzysk. Spike-ins testują pipeline w konkretnym coverage i kontekście.
Ograniczenia:
- nie odwzorowują całej biblioteki;
- mogą nie symulować allele dropout;
- zależą od realizmu błędów;
- nie zastępują materiału referencyjnego.
Complex variants
Kilka bliskich zmian może być jednym zdarzeniem haplotypowym:
- delins;
- MNV;
- tandem duplication;
- insertion z microhomology;
- templated insertion.
Caller może rozbić je na rekordy. Adnotacja każdego osobno może opisać niewłaściwy skutek białkowy.
Phased normalization
Normalizacja powinna zachować haplotyp. Rozdzielenie multiallelic lub MNV musi być świadome celu:
- porównanie callsets;
- annotation;
- clinical representation;
- database lookup.
Nie ma jednego formatu najlepszego dla wszystkich zadań.
Left shift nie rozwiązuje zdarzenia
Left normalization standaryzuje równoważną reprezentację małego indela. Nie ustala mechanizmu ani tego, czy kilka rekordów należy do jednego zdarzenia.
Łączenie callsets
Pipeline może mieć osobne callery:
- SNV/indel;
- CNV;
- SV;
- repeat;
- mtDNA;
- HLA;
- pharmacogenomic loci.
Finalna lista wymaga:
- wspólnej wersji referencji;
- normalizacji;
- de-duplication;
- zachowania provenance;
- priorytetu konfliktów;
- spójnych sample IDs;
- wspólnego zakresu.
Overlap nie zawsze znaczy duplikat
Deletion SV może obejmować ekson, a CNV caller raportować copy loss. To dwa dowody tego samego zdarzenia. Należy je połączyć, nie usunąć jeden rekord bez śladu.
Small indel przy breakpoint może być artefaktem reprezentacji albo dodatkowym wariantem.
Provenance per rekord
Warto zachować:
- caller;
- wersję;
- raw score;
- filters;
- supporting reads;
- assay;
- merge decision.
Finalny PASS bez pochodzenia utrudnia audyt.
Candidate lifecycle
Praktyczny status:
- generated — caller utworzył rekord;
- normalized — reprezentacja ujednolicona;
- technically filtered — przeszedł quality model;
- reviewed — oceniono reads i kontekst;
- confirmed / not confirmed / unresolved;
- annotated;
- classified;
- reported / not reported.
Statusy nie powinny być nadpisywane. Kandydat odrzucony technicznie może wrócić po zmianie pipeline, a potwierdzony wariant może nie być raportowalny z powodów zakresu.
Pipeline dla mikroorganizmów
Haploidalny izolat ma oczekiwany jeden allel, ale mieszanina szczepów tworzy intermediate AF.
Pytania:
- czysty izolat czy metagenom;
- ploidy;
- recombination;
- repeats;
- plasmids;
- reference divergence;
- contamination;
- within-host diversity.
Reference divergence
Odległy reference powoduje:
- więcej mismatch;
- gorsze mapowanie;
- brak regions;
- reference bias;
- false deletions.
De novo assembly i pangenome mogą być właściwsze niż liniowy call.
Mixed infection
Allele fraction może oznaczać dwa szczepy. Diploid genotype 0/1 jest biologicznie niewłaściwy. Model powinien estymować mixture.
Pipeline dla roślin i poliploidów
Autopoliploid 4× ma genotypy z dawką alternatywy 0–4. Oczekiwane fractions:
- 0/4 = 0%;
- 1/4 = 25%;
- 2/4 = 50%;
- 3/4 = 75%;
- 4/4 = 100%.
Sampling i allele bias poszerzają rozkład. Homeologi mogą mapować krzyżowo.
Caller musi obsługiwać:
- wysoką ploidy;
- allele dosage;
- subgenomes;
- repeats;
- paralogs;
- większy genotype space.
Diploid calling może scalić prawdziwe genotypy.
Pipeline po edycji genomu
On-target region może zawierać:
- małe indels;
- duże deletion;
- inversion;
- translocation;
- template integration;
- vector backbone;
- mosaic alleles;
- allele dropout.
Krótki amplicon caller widzi tylko cząsteczki zachowujące startery. Duża delecja może zniknąć.
Projekt łączy:
- short amplicon;
- long-range PCR;
- UMI;
- ddPCR/CNV;
- long reads;
- genome-wide SV;
- karyotype.
Editing outcome classification
Reads można grupować w haplotypy naprawy. Procent reads nie zawsze równa się procentowi komórek z powodu CN, PCR i wielu alleli.
Klon powinien być oceniony także poza on-target.
Pipeline forensic
W śladzie mieszanym caller nie przypisuje prostych diploidalnych genotypów. Niski template tworzy dropout i drop-in.
Wymagania:
- validated loci;
- analytical threshold;
- stochastic threshold;
- stutter;
- mixture number;
- contamination;
- replicate;
- probabilistic genotyping.
Sekwencjonowanie zwiększa liczbę obserwacji, ale nie usuwa niepewności pochodzenia.
Porównanie parametrów nie jest walidacją
Zmiana threshold i wybór tego, który najlepiej pasuje do oczekiwanego wyniku, prowadzi do overfitting. Walidacja powinna mieć:
- development set;
- locked pipeline;
- independent validation set;
- predefined metrics;
- stress cases;
- negative controls.
Regression tests
Po aktualizacji:
- referencji;
- alignera;
- callera;
- modelu ML;
- filter;
- container,
uruchamia się stały zestaw próbek. Porównuje się:
- concordance;
- nowych/utraconych calls;
- quality shifts;
- coverage;
- runtime;
- no-call;
- stratified benchmark.
Zmiana jednego numeru wersji może zmienić wynik medyczny.
Benchmark pipeline
Potrzebne są:
- truth sample;
- truth regions;
- stratification;
- klasy wariantów;
- trudne loci;
- range VAF;
- materiały reprezentatywne;
- replicates;
- negative controls.
Precision, recall i F-score
precision = TP / (TP + FP)
recall = TP / (TP + FN)
F1 = 2 × precision × recall / (precision + recall)
Wyniki należy podać per:
- SNV/indel;
- size;
- GC;
- repeat;
- difficult gene;
- zygosity;
- coverage.
Globalny F1 jest zdominowany przez łatwe SNV.
Representation-aware comparison
VCF trzeba normalizować lub porównywać haplotypowo. Inaczej dwa równoważne warianty mogą zostać uznane za mismatch.
Reproducibility
Pipeline powinien zapisać:
- FASTQ checksums;
- reference checksum;
- intervals;
- tool versions;
- container;
- commands;
- read group;
- sample manifest;
- random seeds;
- filters;
- model files;
- VCF header;
- QC;
- log.
Determinism
Multithreading i ML mogą dawać drobne różnice. Release powinien określić tolerancję oraz test regresyjny.
Macierz: etap, błąd i dowód
| Etap | Typowy błąd | Co go ujawnia |
|---|---|---|
| sample sheet | zamiana lub złe indeksy | fingerprint, kinship, mtDNA |
| FASTQ | adapter, słaby cykl | per-cycle QC, adapter content |
| reference | zły build/contig | checksum, dictionary |
| alignment | paralog, clipping | MAPQ, secondary, browser |
| duplikaty | jedna molekuła liczona wiele razy | UMI, family size |
| BQSR | źle skalibrowane Q | empirical error by covariate |
| local assembly | utracony haplotyp | active-region logs, raw evidence |
| genotyping | zła ploidalność | allele fractions, sex/CN |
| filtering | overfiltrowanie | pre-filter VCF, truth set |
| normalization | różne rekordy tego samego haplotypu | haplotype-aware comparison |
| merge | utrata provenance | source tags, audit table |
Tabela nie zastępuje diagnostyki. Pokazuje, że „caller nie znalazł” może mieć przyczynę znacznie wcześniej.
Minimalny pakiet do przekazania kandydata
Osoba wykonująca późniejszą adnotację powinna otrzymać:
- znormalizowany VCF;
- header z definicjami;
- sample manifest;
- reference accession i checksum;
- callable mask;
- QC próbki;
- typ callera;
- raw i filtered status;
- coverage oraz allele depth;
- family depth, jeśli UMI;
- fazę i phase set;
- CN/purity dla somatic;
- screenshot nie jako jedyny dowód;
- link do BAM/CRAM i index;
- ograniczenia assay.
Bez callable mask brak rekordu może zostać błędnie uznany za homozygotę referencyjną. Bez provenance nie wiadomo, czy VAF pochodzi z reads, rodzin czy modelu.
Dane wrażliwe
BAM/CRAM i VCF są identyfikującymi danymi genomowymi. Dostęp, retencja, transfer i logi powinny odpowiadać polityce prywatności oraz zakresowi zgody. Techniczny pipeline obejmuje także bezpieczeństwo.
Pięć studiów przypadku
Germline SNV
WGS 35×, AD 18/17, obie nici, wysoki MAPQ, brak paralogu, GQ 99. Kandydat jest technicznie silny, ale nadal wymaga adnotacji i zgodności z zakresem.
Germline indel w homopolimerze
Caller raportuje 1-bp deletion, drugi przesunięty rekord. Po left-normalization są równoważne. Pileup ma end bias; local assembly i inna technologia rozstrzygają.
De novo w trio
Dziecko ma 12/14, matka 0/32, ojciec 0/29. Sprawdza się fingerprint, parental mosaicism, allele balance, paralog i potwierdzenie w niezależnej bibliotece.
Somatic 2% FFPE
Raw 30/1500, po UMI 4/220, wszystkie orientation family zgodne z deaminacją, PoN ma sygnał. Kandydat odpada albo pozostaje poniżej LoD.
SV long-read
Sześć spanning reads z unikalnymi kotwicami, cztery reference reads, breakpoint zgodny z depth i short-read pairs. Fazowanie łączy SV z haplotypem. Orthogonal assay zmienia technologię.
Najczęstsze błędy
- „VCF zawiera wszystkie warianty.” Zawiera hipotezy w processed region.
- „PASS oznacza prawdziwy.” Oznacza przejście filtrów.
- „GQ 99 wyklucza paralog.” Model może go nie zawierać.
- „0/0 to brak danych.” No-call to
./.. - „Joint calling tworzy nowe reads.” Zmienia genotypowanie.
- „BQSR naprawia bazy.” Kalibruje jakości.
- „Dwa callery to potwierdzenie.” Używają tego samego dowodu.
- „Diploid działa dla guza i mtDNA.” Ploidalność/model są inne.
- „Somatic 50% to klonalny.” Purity i CN zmieniają VAF.
- „Ten sam indel ma jedną pozycję.” Reprezentacja wymaga normalizacji.
- „Manual review potwierdza wariant.” Tylko ocenia reads.
- „Globalny F1 waliduje trudne geny.” Potrzebne stratification.
Co warto umieć po przeczytaniu
Czytelnik powinien potrafić:
- zdefiniować zadanie callingu;
- prześledzić identity od sample sheet do read group;
- określić referencję i intervals;
- opisać alignment i przygotowanie BAM/CRAM;
- rozróżnić pileup i local assembly;
- interpretować PL, GQ, DP i AD;
- wyjaśnić GVCF i joint genotyping;
- rozplanować trio i somatic matched normal;
- normalizować small variants;
- rozpoznać dowody CNV, SV i expansion;
- odróżnić PASS od potwierdzenia;
- zaprojektować benchmark per klasa.