See on seotud küsimusega, mille esitasin siin. Mõelgem vcf-failile, mis sisaldab duplikaatvariante, kuid kus duplikaadid ei ole lihtsalt ühesuguses tähistuses sama asi, vaid üks on teise alamhulk. Näiteks:
## 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 Sample1chr12 529514. AACAC AATAC. ÜLE ANDMA . GT 0 / 1chr12 529516. C T. ÜLE ANDMA . GT 0/1
Need kaks varianti on tegelikult samad. Nende tulemuseks on täpselt sama genotüüp. AACAC-i muutmine asendis 529514 AATAC-ks tähendab lihtsalt positsiooni C muutmist asendisse T asendis 529516.
Kas on olemas mõni tööriist, mis suudaks sellised duplikaadid tuvastada ja need eemaldada? Proovisin vcfuniq
vcflib
-st, kuid see ei tundu seda duplikaadina ära tundvat. Ma arvan, et see vaatleb ainult 4 esimest välja ja arvestab, et need duplikaadid muudavad täpselt samade väärtustega variante neljandal neljandal väljal:
$ ./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 FILTER14 INFO FORMAT S. AACAC AATAC. ÜLE ANDMA . GT 0 / 1chr12 529516. C T. ÜLE ANDMA . GT 0/1
Nagu selgitatud lingitud küsimuses, peab EBI vcf_validator
seda kehtetuks. Ja tegelikult pole mõtet neid duplikaate igal juhul omada, nii et kas saan kuidagi neid tuvastada ja eemaldada? Eelistatavalt olemasolev tööriist, kuid olen avatud ka skriptimislahendustele.
Sellised juhtumid muudavad seda keerulisemaks:
## fileformat = VCFv4 .1 ## reference = foo ## FORMAT = <ID = GT, arv = 1, tüüp = string, kirjeldus = "genotüüp" >
## contig = <ID = chr12> # CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample1chr12 529514 529514 AACAC AAT, AATAC 0,00. . GT 0 / 1chr12 529516 529516 C T. ÜLE ANDMA . GT 0/1
Kahjuks ei jõua see Danieli nutika skripti lähenemisviisiga:
$ kassi test2.vcf | foo.py ## fileformat = VCFv4.1 ## reference = foo ## FORMAT = <ID = GT, arv = 1, tüüp = string, kirjeldus = "genotüüp" > ## contig = <ID = chr12AiliyghyaltID = chr12> # CHROM POS ID REF ALT KVALITEETFILTRI INFO VORMING Proov1chr12 529514 529514 AACAC AAT, AATAC 0,00. . GT 0 / 1chr12 529516 529516 C T. ÜLE ANDMA . GT 0/1