Package main

Class WindowWriter

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class WindowWriter
    extends java.lang.Object
    implements java.io.Closeable

    Class WindowWriter writes VCF and IBD output data.

    Instances of class WindowWriter are not thread-safe.

    • Constructor Summary

      Constructors 
      Constructor Description
      WindowWriter​(Samples samples, java.lang.String outPrefix)
      Constructs a new WindowWriter object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      java.lang.String outPrefix()
      Returns the output file prefix.
      void print​(ImpData impData, java.util.concurrent.atomic.AtomicReferenceArray<StateProbs> stateProbs, int refStart, int refEnd)
      Prints the data in alProbs for markers with index between refStart (inclusive) and refEnd (exclusive) to the output VCF file: this.outPrefix() + ".vcf.gz".
      void print​(GT phasedTarg, int start, int end, int nThreads)
      Writes the data in phased genotypes for the specified markers to the output VCF file: this.outPrefix() + ".vcf.gz".
      void printGV​(CurrentData cd, GenotypeValues gv)
      Prints VCF records with GT and GP format fields for markers with index between cd.lastSplice() (inclusive) and cd.nextSplice() (exclusive).
      Samples samples()
      Returns the samples whose data is written by this.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • WindowWriter

        public WindowWriter​(Samples samples,
                            java.lang.String outPrefix)
        Constructs a new WindowWriter object.
        Parameters:
        samples - the sample whose data will be printed
        outPrefix - the output file prefix
        Throws:
        java.lang.IllegalArgumentException - if outPrefix.length() == 0
        java.lang.NullPointerException - if samples == null || outPrefix == null
    • Method Detail

      • outPrefix

        public java.lang.String outPrefix()
        Returns the output file prefix.
        Returns:
        the output file prefix
      • samples

        public Samples samples()
        Returns the samples whose data is written by this.
        Returns:
        the samples whose data is written by this
      • printGV

        public void printGV​(CurrentData cd,
                            GenotypeValues gv)
        Prints VCF records with GT and GP format fields for markers with index between cd.lastSplice() (inclusive) and cd.nextSplice() (exclusive).
        Parameters:
        cd - the input data for the current marker window
        gv - scaled genotype probabilities for the target samples
        Throws:
        java.lang.NullPointerException - if cd == null || gv == null
      • print

        public void print​(ImpData impData,
                          java.util.concurrent.atomic.AtomicReferenceArray<StateProbs> stateProbs,
                          int refStart,
                          int refEnd)
        Prints the data in alProbs for markers with index between refStart (inclusive) and refEnd (exclusive) to the output VCF file: this.outPrefix() + ".vcf.gz".
        Parameters:
        impData - the input data for genotype imputation
        stateProbs - the imputed state probabilities
        refStart - the starting ref marker index (inclusive)
        refEnd - the ending ref marker index (exclusive)
        Throws:
        java.lang.IllegalArgumentException - if stateProbs.size() != impData.nTargHaps()
        java.lang.IndexOutOfBoundsException - if refStart < 0 || refEnd > impData.refGT().nMarkers()
        java.lang.NullPointerException - if impData==null || stateProbs==null
        java.lang.NullPointerException - if any element of stateProbs is null
      • print

        public void print​(GT phasedTarg,
                          int start,
                          int end,
                          int nThreads)
        Writes the data in phased genotypes for the specified markers to the output VCF file: this.outPrefix() + ".vcf.gz".
        Parameters:
        phasedTarg - the estimated target haplotypes
        start - the starting marker index (inclusive)
        end - the ending marker index (exclusive)
        nThreads - the number of parallel threads to use
        Throws:
        java.lang.IllegalArgumentException - if isImputed.length != alProbs.nMarkers()
        java.lang.IllegalArgumentException - if phasedTarg.isPhased() == false
        java.lang.IllegalArgumentException - if nThreads < 1
        java.lang.IndexOutOfBoundsException - if start < 0 || end > phasedTarg.nMarkers() || start > end
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable