Dette er relateret til det spørgsmål, jeg stillede her. Overvej en vcf-fil, der indeholder duplikatvarianter, men hvor duplikaterne ikke bare er de samme ting i samme notation, men i stedet er den ene en delmængde af den anden. For eksempel:
## fileformat = VCFv4.1 ## reference = foo ## FORMAT = <ID = GT, Number = 1, Type = String, Description = "Genotype" > ## contig = <ID = chr12> # CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Prøve1chr12 529514. AACAC AATAC. PASS. GT 0 / 1chr12 529516. C T. PASS. GT 0/1
Disse to varianter er faktisk de samme. De resulterer i nøjagtig den samme genotype. Ændring af AACAC til AATAC i position 529514 betyder bare at ændre C til T på position 529516.
Er der noget værktøj, der kan registrere sådanne duplikater og fjerne dem? Jeg prøvede vcfuniq
fra vcflib
, men det ser ikke ud til at genkende dette som en duplikat. Jeg tror, det ser kun på de første 4 felter og betragter kun duplikater af disse varianter med nøjagtigt de samme værdier i de første 4 felter:
$ ./bin/vcfuniq test.vcf ## fileformat = VCFv4.1 ## reference = foo ## FORMAT = <ID = GT, Number = 1, Type = String, Description = "Genotype" > ## contig = <ID = chr12> # CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1 Sample1 AACAC AATAC. PASS. GT 0 / 1chr12 529516. C T. PASS. GT 0/1
Som forklaret i linket spørgsmål anser EBIs vcf_validator
dette imidlertid for ugyldigt. Og det giver ikke rigtig mening at have disse duplikater under alle omstændigheder, så er der nogen måde, jeg kan registrere og fjerne dem på? Fortrinsvis et eksisterende værktøj, men jeg er også åben for script-løsninger.
Dette kompliceres yderligere af tilfælde som denne:
## fileformat = VCFv4 .1 ## reference = foo ## FORMAT = <ID = GT, Number = 1, Type = String, Description = "Genotype" >
## contig = <ID = chr12> # CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Prøve1chr12 529514 529514 AACAC AAT, AATAC 0,00. . GT 0 / 1chr12 529516 529516 C T. PASS. GT 0/1
Desværre bliver denne ikke fanget af tilgangen i Daniels smarte script:
$ kat test2.vcf | foo.py ## fileformat = VCFv4.1 ## reference = foo ## FORMAT = <ID = GT, Number = 1, Type = String, Beskrivelse = "Genotype" > ## contig = <ID = chr12> # CHROM POS ID REF ALT KVALTFILTERINFO FORMAT Eksempel1chr12 529514 529514 AACAC AAT, AATAC 0,00. . GT 0 / 1chr12 529516 529516 C T. PASS. GT 0/1