Package vcf

Class SeqCodedRefGTRec

  • All Implemented Interfaces:
    IntArray, DuplicatesGTRec, GTRec, MarkerContainer, RefGTRec

    public class SeqCodedRefGTRec
    extends java.lang.Object
    implements RefGTRec

    Class SeqCodedRefGT represents phased, non-missing genotypes for a list of reference samples at a single marker. Genotype emission probabilities are determined by the sample genotypes.

    Instances of class SeqCodedRefGT are immutable.

    • Constructor Summary

      Constructors 
      Constructor Description
      SeqCodedRefGTRec​(Marker marker, Samples samples, IntArray hapToSeq, IntArray seqToAllele)
      Creates a new SeqCodedRefGT instance with phased, non-missing genotypes from the specified marker, samples, and haplotype alleles.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int allele1​(int sample)
      Returns the first allele for the specified sample or -1 if the allele is missing.
      int allele2​(int sample)
      Returns the second allele for the specified sample or -1 if the allele is missing.
      int alleleCount​(int allele)
      Returns the number of haplotypes that carry the specified allele.
      int[] alleles()
      Returns an array of length this.size() whose j-th element is equal to this.allele(j}
      int get​(int hap)
      Returns the specified allele for the specified haplotype or -1 if the allele is missing.
      float gl​(int sample, int allele1, int allele2)
      Returns the probability of the observed data for the specified sample if the specified pair of ordered alleles is the true ordered genotype.
      int hapIndex​(int allele, int copy)
      Returns index of the haplotype that carries the specified copy of the specified allele.
      int[][] hapIndices()
      Returns an array whose j-th element is null if j is the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry the j-th allele sorted in increasing order
      boolean isAlleleCoded()
      Returns true if this instance stores the indices of haplotypes that carry non-major alleles, and returns false otherwise.
      boolean isCarrier​(int allele, int hap)
      Returns true if the specified haplotype carries the specified allele and return false otherwise.
      boolean isGTData()
      Returns true if the value returned by this.gl() is determined by a called or missing genotype, and returns false otherwise.
      boolean isPhased()
      Returns true.
      boolean isPhased​(int sample)
      Returns true.
      int majorAllele()
      Returns the index of the major allele.
      IntArray map​(int index)
      Returns this.maps()[index].
      IntArray[] maps()
      Returns an array of maps, which when composed map haplotype indices to values.
      Marker marker()
      Returns the marker.
      int nAlleles()
      Returns the number of marker alleles.
      int nMaps()
      Returns this.maps().length
      int nSamples()
      Returns the number of samples.
      Samples samples()
      Returns the list of samples.
      int size()
      Returns the number of haplotypes.
      java.lang.String toString()
      Returns the data represented by this as a VCF record with a GT format field.
      • Methods inherited from class java.lang.Object

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

      • SeqCodedRefGTRec

        public SeqCodedRefGTRec​(Marker marker,
                                Samples samples,
                                IntArray hapToSeq,
                                IntArray seqToAllele)
        Creates a new SeqCodedRefGT instance with phased, non-missing genotypes from the specified marker, samples, and haplotype alleles. The contract for the constructed object is undefined if any element of hapToSeq is negative or greater than or equal to seqToAllele.size() or if any element of seqToAllele is negative or greater than or equal to marker.nAlleles().
        Parameters:
        marker - the marker
        samples - the samples
        hapToSeq - an array whose j-th element is the index of the distinct allele sequence carried by the j-th haplotype
        seqToAllele - an array whose j-th element is the marker allele carried by the j-th distinct allele sequence
        Throws:
        java.lang.IllegalArgumentException - if hapToSeq.size() != 2*samples.nSamples()
        java.lang.NullPointerException - if any parameter is null
    • Method Detail

      • isPhased

        public boolean isPhased​(int sample)
        Description copied from interface: RefGTRec
        Returns true.
        Specified by:
        isPhased in interface DuplicatesGTRec
        Specified by:
        isPhased in interface RefGTRec
        Parameters:
        sample - the sample index
        Returns:
        true
      • nSamples

        public int nSamples()
        Description copied from interface: DuplicatesGTRec
        Returns the number of samples. The returned value is equal to this.size()/2.
        Specified by:
        nSamples in interface DuplicatesGTRec
        Returns:
        the number of samples
      • samples

        public Samples samples()
        Description copied from interface: GTRec
        Returns the list of samples.
        Specified by:
        samples in interface GTRec
        Returns:
        the list of samples
      • size

        public int size()
        Description copied from interface: DuplicatesGTRec
        Returns the number of haplotypes. The returned value is equal to 2*this.nSamples().
        Specified by:
        size in interface DuplicatesGTRec
        Specified by:
        size in interface IntArray
        Returns:
        the number of haplotypes
      • isGTData

        public boolean isGTData()
        Description copied from interface: GTRec
        Returns true if the value returned by this.gl() is determined by a called or missing genotype, and returns false otherwise.
        Specified by:
        isGTData in interface GTRec
        Returns:
        true if the value returned by this.gl() is determined by a called or missing genotype
      • gl

        public float gl​(int sample,
                        int allele1,
                        int allele2)
        Description copied from interface: GTRec
        Returns the probability of the observed data for the specified sample if the specified pair of ordered alleles is the true ordered genotype.
        Specified by:
        gl in interface GTRec
        Parameters:
        sample - the sample index
        allele1 - the first allele index
        allele2 - the second allele index
        Returns:
        the probability of the observed data for the specified sample if the specified pair of ordered alleles is the true ordered genotype.
      • hapIndices

        public int[][] hapIndices()
        Description copied from interface: RefGTRec
        Returns an array whose j-th element is null if j is the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry the j-th allele sorted in increasing order
        Specified by:
        hapIndices in interface RefGTRec
        Returns:
        an array whose j-th element is null if j is the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry the j-th allele sorted in increasing order
      • isAlleleCoded

        public boolean isAlleleCoded()
        Description copied from interface: RefGTRec
        Returns true if this instance stores the indices of haplotypes that carry non-major alleles, and returns false otherwise.
        Specified by:
        isAlleleCoded in interface RefGTRec
        Returns:
        true if this instance stores the indices of haplotypes that carry non-major alleles
      • majorAllele

        public int majorAllele()
        Description copied from interface: RefGTRec
        Returns the index of the major allele.
        Specified by:
        majorAllele in interface RefGTRec
        Returns:
        the index of the major allele
      • alleleCount

        public int alleleCount​(int allele)
        Description copied from interface: RefGTRec
        Returns the number of haplotypes that carry the specified allele.
        Specified by:
        alleleCount in interface RefGTRec
        Parameters:
        allele - an allele index
        Returns:
        the number of haplotypes that carry the specified allele
      • allele1

        public int allele1​(int sample)
        Description copied from interface: DuplicatesGTRec
        Returns the first allele for the specified sample or -1 if the allele is missing. The two alleles for a sample are arbitrarily ordered if this.unphased(marker, sample) == false.
        Specified by:
        allele1 in interface DuplicatesGTRec
        Parameters:
        sample - a sample index
        Returns:
        the first allele for the specified sample
      • allele2

        public int allele2​(int sample)
        Description copied from interface: DuplicatesGTRec
        Returns the second allele for the specified sample or -1 if the allele is missing. The two alleles for a sample are arbitrarily ordered if this.unphased(marker, sample) == false.
        Specified by:
        allele2 in interface DuplicatesGTRec
        Parameters:
        sample - a sample index
        Returns:
        the second allele for the specified sample
      • get

        public int get​(int hap)
        Description copied from interface: DuplicatesGTRec
        Returns the specified allele for the specified haplotype or -1 if the allele is missing. The two alleles for a sample at a marker are arbitrarily ordered if this.unphased(marker, hap/2) == false.
        Specified by:
        get in interface DuplicatesGTRec
        Specified by:
        get in interface IntArray
        Parameters:
        hap - a haplotype index
        Returns:
        the specified allele for the specified sample
      • alleles

        public int[] alleles()
        Description copied from interface: DuplicatesGTRec
        Returns an array of length this.size() whose j-th element is equal to this.allele(j}
        Specified by:
        alleles in interface DuplicatesGTRec
        Returns:
        an array of length this.size() whose j-th element is equal to this.allele(j}
      • nAlleles

        public int nAlleles()
        Description copied from interface: MarkerContainer
        Returns the number of marker alleles.
        Specified by:
        nAlleles in interface MarkerContainer
        Returns:
        the number of marker alleles.
      • hapIndex

        public int hapIndex​(int allele,
                            int copy)
        Description copied from interface: RefGTRec
        Returns index of the haplotype that carries the specified copy of the specified allele.
        Specified by:
        hapIndex in interface RefGTRec
        Parameters:
        allele - an allele index
        copy - a copy index
        Returns:
        index of the haplotype that carries the specified allele
      • isCarrier

        public boolean isCarrier​(int allele,
                                 int hap)
        Description copied from interface: RefGTRec
        Returns true if the specified haplotype carries the specified allele and return false otherwise.
        Specified by:
        isCarrier in interface RefGTRec
        Parameters:
        allele - an allele index
        hap - a haplotype index
        Returns:
        true if the specified haplotype carries the specified allele
      • toString

        public java.lang.String toString()
        Returns the data represented by this as a VCF record with a GT format field. The returned VCF record will have missing QUAL and INFO fields, will have "PASS" in the filter field, and will have a GT format field.
        Overrides:
        toString in class java.lang.Object
        Returns:
        the data represented by this as a VCF record with a GT format field
      • nMaps

        public int nMaps()
        Description copied from interface: RefGTRec
        Returns this.maps().length
        Specified by:
        nMaps in interface RefGTRec
        Returns:
        this.maps().length
      • maps

        public IntArray[] maps()
        Description copied from interface: RefGTRec
        Returns an array of maps, which when composed map haplotype indices to values. The allele stored at haplotype h is determined by the following calculation:
                    IntArray[] maps = this.maps();
                    int value = maps[0].get(h);
                    for (int j=1; j<maps.length; ++j) {
                       value = indexArrays[j].get(value);
                    }
                    int allele = value
               
        Specified by:
        maps in interface RefGTRec
        Returns:
        an array of maps, which when composed map haplotype indices to values
      • map

        public IntArray map​(int index)
        Description copied from interface: RefGTRec
        Returns this.maps()[index].
        Specified by:
        map in interface RefGTRec
        Parameters:
        index - the index in this.maps()
        Returns:
        this.maps()[index]