Package vcf

Class VcfHeader

java.lang.Object
vcf.VcfHeader

public final class VcfHeader extends Object

Class VcfHeader represents the Variant Call Format (VCF) meta-information lines and the Variant Call Format header line that precede the first Variant Call Format record.

Instances of class VcfHeader are immutable.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    A string equal to the first nine tab-delimited fields of a VCF header line that contains sample data.
  • Constructor Summary

    Constructors
    Constructor
    Description
    VcfHeader(String src, String[] lines, boolean[] isDiploid)
    Returns a VCF header object for the specified VCF meta information lines and header line.
    VcfHeader(String src, String[] lines, boolean[] isDiploid, Filter<String> sampleFilter)
    Returns a VCF header object for the specified VCF meta information lines and header line.
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean[]
    isDiploid(String vcfRec)
    Returns a boolean array whose k-th value is true if the FORMAT field for the k-th sample in a VCF record contains an allele separator character and returns false otherwise.
    metaInfoLine(int index)
    Returns the specified VCF meta-information line.
    int
    Returns the number of fields in the VCF header line before sample exclusions.
    int
    Returns the number of VCF meta-information lines.
    int
    Returns the number of samples after sample exclusions.
    int
    Returns the number of samples before sample exclusions.
    Returns this.sample().ids().
    Return the list of samples after sample exclusions.
    src()
    Returns the source from which data are read.
    Returns a String containing the VCF meta-information lines and the post-sample-filtering VCF header line.
    int
    Returns the index of the specified sample in the original list of samples before sample exclusions.

    Methods inherited from class java.lang.Object

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

    • HEADER_PREFIX

      public static final String HEADER_PREFIX
      A string equal to the first nine tab-delimited fields of a VCF header line that contains sample data.
      See Also:
  • Constructor Details

    • VcfHeader

      public VcfHeader(String src, String[] lines, boolean[] isDiploid)
      Returns a VCF header object for the specified VCF meta information lines and header line. The header line must be the last line in the specified lines array.
      Parameters:
      src - a string describing the source of the VCF file
      lines - the VCF meta-information and header lines
      isDiploid - a boolean array whose k-th value is true if the k-th sample is diploid, and is false if the k-th sample is haploid
      Throws:
      IllegalArgumentException - if a format error is encountered in a meta-information line or header lines}
      NullPointerException - if src==null || lines == null || isDiploid == null
    • VcfHeader

      public VcfHeader(String src, String[] lines, boolean[] isDiploid, Filter<String> sampleFilter)
      Returns a VCF header object for the specified VCF meta information lines and header line. The header line must be the last line in the specified lines array.
      Parameters:
      src - a string describing the source of the VCF file
      lines - the VCF meta-information and header lines
      isDiploid - a boolean array whose k-th value is true if the k-th sample is diploid, and is false if the k-th sample is haploid
      sampleFilter - a sample filter
      Throws:
      IllegalArgumentException - if a format error is encountered in a meta-information line or header lines}
      NullPointerException - if src==null || lines == null || isDiploid == null
  • Method Details

    • isDiploid

      public static boolean[] isDiploid(String vcfRec)
      Returns a boolean array whose k-th value is true if the FORMAT field for the k-th sample in a VCF record contains an allele separator character and returns false otherwise. The contract for this method is undefined of the specified string is not a properly-formatted VCF record.
      Parameters:
      vcfRec - a VCF record
      Returns:
      a boolean array whose k-th value is true if the FORMAT field for the k-th sample does not contain an allele separator character
      Throws:
      NullPointerException - if vcfHeader == null || rec == null
    • src

      public String src()
      Returns the source from which data are read. The string representation of the source is undefined and subject to change.
      Returns:
      the source from which data are read
    • nMetaInfoLines

      public int nMetaInfoLines()
      Returns the number of VCF meta-information lines. VCF meta-information lines are lines that precede the VCF header line. A VCF meta-information line must begin with "##".
      Returns:
      the number of VCF meta-information lines
    • metaInfoLine

      public VcfMetaInfo metaInfoLine(int index)
      Returns the specified VCF meta-information line.
      Parameters:
      index - a VCF meta-information line index
      Returns:
      the specified VCF meta-information line
      Throws:
      IndexOutOfBoundsException - if index < 0 || index >= this.nMetaInfoLines()
    • nHeaderFields

      public int nHeaderFields()
      Returns the number of fields in the VCF header line before sample exclusions.
      Returns:
      the number of fields in the VCF header line before sample exclusions
    • nUnfilteredSamples

      public int nUnfilteredSamples()
      Returns the number of samples before sample exclusions.
      Returns:
      the number of samples before sample exclusions
    • unfilteredSampleIndex

      public int unfilteredSampleIndex(int sample)
      Returns the index of the specified sample in the original list of samples before sample exclusions.
      Parameters:
      sample - a sample index
      Returns:
      the index of the specified sample in the original list of samples before sample exclusions
      Throws:
      IndexOutOfBoundsException - if sample < 0 || sample >= this.size()
    • nSamples

      public int nSamples()
      Returns the number of samples after sample exclusions.
      Returns:
      the number of samples after sample exclusions
    • samples

      public Samples samples()
      Return the list of samples after sample exclusions.
      Returns:
      the list of samples after sample exclusions
    • sampleIds

      public String[] sampleIds()
      Returns this.sample().ids().
      Returns:
      this.sample().ids()
    • toString

      public String toString()
      Returns a String containing the VCF meta-information lines and the post-sample-filtering VCF header line. Each line in the String is terminated with a line separator.
      Overrides:
      toString in class Object
      Returns:
      the VCF meta-information lines and the VCF header line after applying sample exclusions