extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/vcf/GenotypeQualityModel.java

Code
Comments
Other
Rev Date Author Line
6514 07 Dec 21 nicklas 1 package net.sf.basedb.reggie.vcf;
6514 07 Dec 21 nicklas 2
6514 07 Dec 21 nicklas 3 /**
6514 07 Dec 21 nicklas 4   Genotype quality scores have different ranges depending on the
6514 07 Dec 21 nicklas 5   program that calculated them.
6514 07 Dec 21 nicklas 6
6514 07 Dec 21 nicklas 7   @since 4.34
6514 07 Dec 21 nicklas 8 */
6514 07 Dec 21 nicklas 9 public enum GenotypeQualityModel 
6514 07 Dec 21 nicklas 10 {
6514 07 Dec 21 nicklas 11   /**
6514 07 Dec 21 nicklas 12     HaplotypeCaller output scores in 0-99 range. Scores below
6514 07 Dec 21 nicklas 13     50 are low and 99 is high.
6514 07 Dec 21 nicklas 14   */
6514 07 Dec 21 nicklas 15   HAPLOTYPECALLER
6514 07 Dec 21 nicklas 16   {
6514 07 Dec 21 nicklas 17     @Override
6514 07 Dec 21 nicklas 18     public boolean isHigh(float gq) 
6514 07 Dec 21 nicklas 19     {
6514 07 Dec 21 nicklas 20       return gq > 98f;
6514 07 Dec 21 nicklas 21     }
6514 07 Dec 21 nicklas 22
6514 07 Dec 21 nicklas 23     @Override
6514 07 Dec 21 nicklas 24     public boolean isLow(float gq) 
6514 07 Dec 21 nicklas 25     {
6514 07 Dec 21 nicklas 26       return gq < 50f;
6514 07 Dec 21 nicklas 27     }
6514 07 Dec 21 nicklas 28   },
6514 07 Dec 21 nicklas 29   
6514 07 Dec 21 nicklas 30   /**
6514 07 Dec 21 nicklas 31     GenomeStudio (and iaap-cli) output scores in 0-1 range. Scores
6514 07 Dec 21 nicklas 32     below 0.2 are low and above 0.9 are high.
6514 07 Dec 21 nicklas 33   */
6514 07 Dec 21 nicklas 34   GENCALL
6514 07 Dec 21 nicklas 35   {
6514 07 Dec 21 nicklas 36     @Override
6514 07 Dec 21 nicklas 37     public boolean isHigh(float gq) 
6514 07 Dec 21 nicklas 38     {
6514 07 Dec 21 nicklas 39       return gq >= 0.9;
6514 07 Dec 21 nicklas 40     }
6514 07 Dec 21 nicklas 41   
6514 07 Dec 21 nicklas 42     @Override
6514 07 Dec 21 nicklas 43     public boolean isLow(float gq) 
6514 07 Dec 21 nicklas 44     {
6514 07 Dec 21 nicklas 45       return gq < 0.2;
6514 07 Dec 21 nicklas 46     }
6514 07 Dec 21 nicklas 47   };
6514 07 Dec 21 nicklas 48   
6514 07 Dec 21 nicklas 49   
6514 07 Dec 21 nicklas 50   /**
6514 07 Dec 21 nicklas 51     Check if the given genotype quality is high.
6514 07 Dec 21 nicklas 52   */
6514 07 Dec 21 nicklas 53   public abstract boolean isHigh(float gq);
6514 07 Dec 21 nicklas 54
6514 07 Dec 21 nicklas 55   /**
6514 07 Dec 21 nicklas 56     Check if the given genotype quality is low.
6514 07 Dec 21 nicklas 57   */
6514 07 Dec 21 nicklas 58   public abstract boolean isLow(float gq);
6514 07 Dec 21 nicklas 59   
6514 07 Dec 21 nicklas 60 }