Class DbVcf

java.lang.Object
org.snpsift.annotate.DbVcf
All Implemented Interfaces:
DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
Direct Known Subclasses:
DbVcfMem, DbVcfSorted, DbVcfTabix

public abstract class DbVcf extends Object implements DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
Use a VCF file as a database for annotations A VCF database consists of a VCF file and an index. When a query is made, the index is used to quickly get the file positions where matching VCF entries are. File is read, entries are parsed and returned as query() result. WARNING: VcfEntry may hold multiple variants (e.g. multi-allelic VcfEntries). So we index by variant and return all matching vcfEntries for a given variant. This is why we use 'VariantVcfEntry' as opposed to 'VcfEntry' Notes: If another query matches the same region of the file, then we could use some sort of caching to speed up the process. If the same file region is matched multiple times by successive queries, creating an intervalTree from the VCF entries matching the region might be effective
Author:
pcingola
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected String
     
    protected boolean
     
    protected org.snpeff.vcf.VcfHeader
     
    protected boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DbVcf(String dbFileName)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract void
    Close database, free resources
    org.snpeff.vcf.VcfHeader
     
    abstract void
    Open database (load index in memory if required)
    abstract Collection<org.snpeff.vcf.VariantVcfEntry>
    query(org.snpeff.interval.Variant variant)
    Find matching entries in the database
    void
    setDebug(boolean debug)
     
    void
    setVerbose(boolean verbose)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • debug

      protected boolean debug
    • verbose

      protected boolean verbose
    • dbFileName

      protected String dbFileName
    • vcfHeader

      protected org.snpeff.vcf.VcfHeader vcfHeader
  • Constructor Details

    • DbVcf

      public DbVcf(String dbFileName)
  • Method Details

    • close

      public abstract void close()
      Description copied from interface: DbMarker
      Close database, free resources
      Specified by:
      close in interface DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
    • getVcfHeader

      public org.snpeff.vcf.VcfHeader getVcfHeader()
    • open

      public abstract void open()
      Description copied from interface: DbMarker
      Open database (load index in memory if required)
      Specified by:
      open in interface DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
    • query

      public abstract Collection<org.snpeff.vcf.VariantVcfEntry> query(org.snpeff.interval.Variant variant)
      Find matching entries in the database
      Specified by:
      query in interface DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
    • setDebug

      public void setDebug(boolean debug)
      Specified by:
      setDebug in interface DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>
    • setVerbose

      public void setVerbose(boolean verbose)
      Specified by:
      setVerbose in interface DbMarker<org.snpeff.interval.Variant,org.snpeff.vcf.VariantVcfEntry>