Changes

From Genome Analysis Wiki
Jump to navigationJump to search
Line 39: Line 39:  
   ##INFO=<ID=FIC,Number=1,Type=Float,Description="Genotype likelihood based Inbreeding Coefficient">
 
   ##INFO=<ID=FIC,Number=1,Type=Float,Description="Genotype likelihood based Inbreeding Coefficient">
 
   ##INFO=<ID=AB,Number=1,Type=Float,Description="Genotype likelihood based Allele Balance">
 
   ##INFO=<ID=AB,Number=1,Type=Float,Description="Genotype likelihood based Allele Balance">
   ##FILTER=<ID=TPASS,Description="Temporary pass">
+
   ##FILTER=<ID=PASS,Description="Temporary pass">
 
   ##FILTER=<ID=overlap,Description="Overlapping variant">
 
   ##FILTER=<ID=overlap,Description="Overlapping variant">
   Line 50: Line 50:  
The columns are CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO, FORMAT, Genotype fields denoted by the sample name.
 
The columns are CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO, FORMAT, Genotype fields denoted by the sample name.
   −
   22 36990877 . GGT G . TPASS AC=32;AN=116;AF=0.275862;GC=32,20,6;GN=58;
+
   22 36990878 . GGT G 455 PASS AC=32;AN=116;AF=0.275862;GC=32,20,6;GN=58;
 
                                                                 GF=0.551724,0.344828,0.103448;NS=58;  
 
                                                                 GF=0.551724,0.344828,0.103448;NS=58;  
 
                                                                 HWEAF=0.275797;HWEGF=0.52447,0.399466,0.0760642;
 
                                                                 HWEAF=0.275797;HWEGF=0.52447,0.399466,0.0760642;
Line 61: Line 61:     
   22            : chromosome
 
   22            : chromosome
   36990877       : genome position
+
   36990878       : genome position
 
   .              : this is the ID field that is left blank.
 
   .              : this is the ID field that is left blank.
   GGT            : the reference sequence that is replaced by the alternative sequence below.
+
   GGT            : the reference sequence that is replaced by the alternative sequence below.
   G              : so this is basically a deletion of GT
+
   G              : so this is basically a deletion of GT
   .              : QUAL field which is left missing.
+
   455            : QUAL field denoting validity of this variant, higher the better.
   TPASS          : a temporary passed variant.
+
   PASS          : a passed variant.
   INFO          : fields containing information about the variant.
+
   INFO          : fields containing information about the variant.
 
   FORMAT        : format field labels for the genotype columns.
 
   FORMAT        : format field labels for the genotype columns.
 
   0/0:0,9,108:9:3,0,6:10 :  genotype information.
 
   0/0:0,9,108:9:3,0,6:10 :  genotype information.
Line 124: Line 124:  
         no. of observed variants          :        720
 
         no. of observed variants          :        720
   −
The variants have filter labels TPASS meaning a temporary pass and overlap, meaning that the variants are overlapping with another variant, implying multiallelicity.
+
The variants have filter labels PASS meaning a temporary pass and overlap, meaning that the variants are overlapping with another variant, implying multiallelicity.
 
We can count the number of variants with the following commands.
 
We can count the number of variants with the following commands.
   −
   vt peek all.genotypes.bcf -f "FILTER.TPASS"
+
   vt peek all.genotypes.bcf -f "FILTER.PASS"
    
   stats: no. of samples                    :        62
 
   stats: no. of samples                    :        62
Line 140: Line 140:  
         no. of chromosomes                :          1 <br>
 
         no. of chromosomes                :          1 <br>
 
         no. Indels                        :        136
 
         no. Indels                        :        136
             2 alleles (ins/del)            :            136 (1.89) [89/47]  #notice the difference insertion deletion ratios differences
+
             2 alleles (ins/del)            :            136 (1.89) [89/47]  #notice the difference in insertion deletion ratios
 
             >=3 alleles (ins/del)          :              0 (-nan) [0/0]
 
             >=3 alleles (ins/del)          :              0 (-nan) [0/0]
 +
 +
  #passed singletons only
 +
  vt peek all.genotypes.bcf -f "FILTER.PASS&&INFO.AC==1"
 +
 +
  #passed indels of length 1 only
 +
  vt peek all.genotypes.bcf -f "FILTER.PASS&&LEN==1"
 +
 +
  #passed indels of length >4
 +
  vt peek all.genotypes.bcf -f "FILTER.PASS&&LEN>1"
 +
 
 +
  #passed singletons of length 4 or insertions of length 3
 +
  vt peek all.genotypes.bcf -f "FILTER.PASS&&(LEN==4||DLEN==3)"
    
== Comparison with other data sets ==
 
== Comparison with other data sets ==
   −
It is usually useful to examine the call sets against known data sets.
+
It is usually useful to examine the call sets against known data sets for the passed variants.
 +
 
 +
  vt profile_indels -g indel.reference.txt  -r hs37d5.fa all.genotypes.bcf -i 22:36000000-37000000 -f "PASS"
 +
 
 +
  data set
 +
    No Indels        :        613 [0.72]    #613 passed variants with an insertion deletion ratio of 0.72
 +
      FS/NFS        :      0.50 (2/2)    #frame shift / non frameshift indels proportion, the bracket gives the counts of the frame shift and non frameshift indels
 +
      Low complexity :      0.46 (283/613) #fraction of indels in low complexity region, the bracket gives the counts of the indels <br>
 +
  1000G  #1000 Genomes Phase 1 data set
 +
    A-B        371 [0.76] #variants found in call set only, square brackets contain insertion deletion ratio
 +
    A&B        242 [0.66] #variants found in both data sets
 +
    B-A        276 [0.89] #variants found in 1000G phase 1 data set only
 +
    Precision    39.5%    #39.5% of the call set are previously known, so 60.5% are novel variants.
 +
    Sensitivity  46.7%    #sensitivity of variant calling, 46,7% of known variants from 1000 Genomes were rediscovered  <br>
 +
  mills  #The gold standard Mills et al. indel set
 +
    A-B        542 [0.68]
 +
    A&B        71 [1.03]
 +
    B-A        31 [1.07]
 +
    Precision    11.6%
 +
    Sensitivity  69.6%  <br>
 +
  dbsnp  #Indels from dbSNP
 +
    A-B        405 [0.68]
 +
    A&B        208 [0.79]
 +
    B-A        494 [2.03]
 +
    Precision    33.9%
 +
    Sensitivity  29.6%
 +
 
 +
Ins/Del ratios:  Reference alignment based methods tend to be biased towards the detection of deletions.  This provides a useful measure for discovery Indel sets to show the varying degree of biasness.  It also appears that as coverage increases, the ins/del ratio tends to 1.
 +
 
 +
Coding region analysis:  Coding region Indels may be categorised as Frame shift Indels and Non frameshift Indels.  A lower proportion of Frameshift Indels may indicate a better quality data set but this depends also on the individuals sequenced.
 +
 
 +
Complexity region analysis: Indels in regions marked by DUST - a low complexity region masker used in the NCBI pipeline.
 +
 
 +
Overlap analysis:  overlap analysis with other data sets is an indicator of sensitivity.
 +
 
 +
* 1000G: contains Indels from 1000 Genomes, represent a wide spectrum of variants from many different populations.  Variants here have an allele frequency above 0.005.
 +
* Mills:  contains doublehit common indels from the Mills. et al paper and is a relatively good measure of sensitivity for common variants.  Because not all Indels in this set is expected to be present in your sample, this actually gives you an underestimate of sensitivity.
 +
* dbsnp: contains Indels submitted from everywhere, I am not sure what does this represent exactly.  But assuming most are real, then precision is a useful estimated quantity from this reference data set.
 +
 
 +
We perform the same analysis for the failed variants again, the relatively low overlap with known data sets imply a reasonable tradeoff in sensitivity and specificity.
   −
   vt profile_indels -g /net/fantasia/home/atks/ref/vt/grch37/indel.reference.txt  -r /net/fantasia/home/atks/ref/vt/grch37/hs37d5.fa run/final/all.genotypes.bcf -i 22:36000000-37000000
+
   vt profile_indels -g indel.reference.txt  -r hs37d5.fa all.genotypes.bcf -i 22:36000000-37000000 -f "~PASS"
    
   data set
 
   data set
     No Indels        :        720 [0.84] #720 indels, with and insertion deletion ratio of 0.84
+
     No Indels        :        107 [2.06]
       FS/NFS        :      0.50 (2/2) #only 4 variants overlap with coding regions, half of which are frameshift variants
+
       FS/NFS        :      -nan (0/0)
       Low complexity :      0.47 (335/720)   #47% of the variants are in low complexity regions <br>
+
       Low complexity :      0.79 (85/107) <br>
 
   1000G
 
   1000G
     A-B        719 [0.83] 
+
     A-B        107 [2.06]
    A&B          1 [inf]      #only one variant overlaps with 1000 Genomes phase 1 data set.
+
     A&B          0 [-nan]
    B-A        517 [0.77]
+
     B-A        518 [0.77]
    Precision    0.1%
  −
    Sensitivity  0.2% <br>
  −
  mills
  −
    A-B        720 [0.84]
  −
     A&B          0 [-nan] #no variants overlaps with Mills et al. double hit variants.
  −
     B-A        102 [1.04]
   
     Precision    0.0%
 
     Precision    0.0%
 
     Sensitivity  0.0% <br>
 
     Sensitivity  0.0% <br>
 +
  mills
 +
    A-B        105 [2.09]
 +
    A&B          2 [1.00]
 +
    B-A        100 [1.04]
 +
    Precision    1.9%
 +
    Sensitivity  2.0% <br>
 
   dbsnp
 
   dbsnp
     A-B        720 [0.84]
+
     A-B        102 [2.00]
     A&B          0 [-nan] #no variants overlaps with Mills et al. double hit variants.
+
     A&B          5 [4.00]
     B-A        702 [1.52]
+
     B-A        697 [1.51]
     Precision    0.0%
+
     Precision    4.7%
     Sensitivity  0.0%
+
     Sensitivity  0.7%
 +
 
   −
This discovery set appears to have many novel variants! (or false positives)
+
This analysis supports filters too.
    
==Normalization==
 
==Normalization==
 +
 +
A slight digression here, when analyzing indels, it is important to normalize it.  While it is a simple concept,
 +
it is hardly standardized.  The call set here had already been normalized but we feel that this is an important
 +
concept so we discuss this a bit here.
    
Indel representation is not unique, you should normalize them and remove duplicates.
 
Indel representation is not unique, you should normalize them and remove duplicates.
Line 226: Line 282:  
| 0
 
| 0
 
| 374
 
| 374
|  
+
| 0
|  
+
| 0
 
|-
 
|-
 
| Left aligned
 
| Left aligned
Line 265: Line 321:  
To normalize and remove duplicate variants:
 
To normalize and remove duplicate variants:
   −
   vt normalize  mills.genotypes.bcf -r ~/ref/vt/grch37/hs37d5.fa  | vt mergedups - -o mills.normalized.genotypes.bcf  
+
   vt normalize  mills.genotypes.bcf -r hs37d5.fa  | vt mergedups - -o mills.normalized.genotypes.bcf  
    
and you will observe that 3994 variants had to be left aligned and 1092 variants were removed.
 
and you will observe that 3994 variants had to be left aligned and 1092 variants were removed.
Line 282: Line 338:  
           no. right trimmed                    : 0 <br>
 
           no. right trimmed                    : 0 <br>
 
       no. variants observed                    : 9996 <br>
 
       no. variants observed                    : 9996 <br>
  Time elapsed: 0.14s <br> <br>
+
  <br>
 
   stats: Total number of observed variants  9996
 
   stats: Total number of observed variants  9996
 
         Total number of unique variants    8904 <br>
 
         Total number of unique variants    8904 <br>
  Time elapsed: 0.13s
  −
  −
The following will be slight faster: + denotes using of uncompressed bcf stream. 
  −
  −
  vt normalize  mills.genotypes.bcf -r ~/ref/vt/grch37/hs37d5.fa -o + | vt mergedups + -o mills.normalized.genotypes.bcf
  −
  −
Also remember to index this file and extract the sites.
     −
==to document==
     −
* Annotation of STRs is really important. Show example of a deceptive single base pair variant
+
UMICH's algorithm for normalization has been adopted by Petr Danecek in bcftools and is also used in GKNO.
* Mendelian analysis
  −
* AFS
  −
* Can check concordance of genotypes between callers - partitiion
  −
* Type of Indels - homopolymer types and STR types and isolated, Adjacent SNPs ,Adjacent MNPs,Clumping variants
  −
* genotype likelihood concordance
  −
* concordance stratified by indel length or tract length
  −
* mendelian concordance by tract length
 
1,102

edits

Navigation menu