Package vcf

Class Markers


  • public final class Markers
    extends java.lang.Object

    Class Markers represent a list of markers in chromosome order.

    Instances of class Markers are immutable.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int allele​(BitArray hapBits, int marker)
      Returns the specified allele
      void allelesToBits​(int[] alleles, BitArray bitList)
      Stores the specified alleles in the specified bitList
      int[] bitsToAlleles​(BitArray hapBits)
      Returns the specified allele stored in the specified hapBits array.
      boolean contains​(Marker marker)
      Returns true if the specified marker is not null and is an element in the list of markers represented by this, and returns false otherwise.
      static Markers create​(Marker[] markers)
      Returns a new Markers instance that is constructed from the specified data.
      boolean equals​(java.lang.Object obj)
      Returns true if the specified object is a Markers instance which represents the same list of markers as this, and returns false otherwise.
      int hashCode()
      Returns a hash code value for the object.
      Marker marker​(int marker)
      Returns the specified marker.
      Marker[] markers()
      Returns the list of markers.
      Markers restrict​(int[] indices)
      Returns a Markers instance that represents the specified markers.
      Markers restrict​(int start, int end)
      Returns a Markers instance that represents the specified range of marker indices.
      void setAllele​(int marker, int allele, BitArray bitList)
      Stores the specified alleles in the specified bitList
      int size()
      Returns the number of markers.
      int sumAlleles()
      Returns this.sumAlleles(this.nMarkers()).
      int sumAlleles​(int marker)
      Returns the sum of the number of alleles for the markers with index less than the specified index.
      int sumGenotypes()
      Returns this.sumGenotypes(this.nMarkers()).
      int sumGenotypes​(int marker)
      Returns the sum of the number of possible genotypes for the markers with index less than the specified index.
      int sumHapBits()
      Returns this.sumHaplotypeBits(this.nMarkers()).
      int sumHapBits​(int marker)
      Returns the number of bits requires to store a haplotype for the markers with index less than the specified index.
      java.lang.String toString()
      Returns a string representation of this.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Method Detail

      • create

        public static Markers create​(Marker[] markers)
        Returns a new Markers instance that is constructed from the specified data.
        Parameters:
        markers - a list of markers in chromosome order
        Returns:
        a new Markers instance corresponding to the specified list of markers
        Throws:
        java.lang.IllegalArgumentException - if markers on a chromosome are not in chromosome order
        java.lang.IllegalArgumentException - if there are duplicate markers
        java.lang.IllegalArgumentException - if the markers on a chromosome do not form a contiguous set of entries within the array
        java.lang.NullPointerException - if markers == null or if markers[j] == null for any j satisfying (0 <= j && j < markers.length)
      • hashCode

        public int hashCode()
        Returns a hash code value for the object. The returned hash code equals Arrays.deepHashCode(this.markers()).
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        a hash code value for the object
      • equals

        public boolean equals​(java.lang.Object obj)
        Returns true if the specified object is a Markers instance which represents the same list of markers as this, and returns false otherwise. Two lists of markers are the same if the lists have the same size and if markers with the same index in the two lists are equal.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to be tested for equality with this
        Returns:
        true if the specified object is a Markers instance which represents the same list of markers as this
      • size

        public int size()
        Returns the number of markers.
        Returns:
        the number of markers
      • marker

        public Marker marker​(int marker)
        Returns the specified marker.
        Parameters:
        marker - a marker index
        Returns:
        the specified marker
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker >= this.nMarkers()
      • markers

        public Marker[] markers()
        Returns the list of markers.
        Returns:
        the list of markers
      • contains

        public boolean contains​(Marker marker)
        Returns true if the specified marker is not null and is an element in the list of markers represented by this, and returns false otherwise.
        Parameters:
        marker - a marker
        Returns:
        true if the specified marker is not null and is an element in the list of markers represented by this
      • restrict

        public Markers restrict​(int start,
                                int end)
        Returns a Markers instance that represents the specified range of marker indices.
        Parameters:
        start - the starting marker index (inclusive)
        end - the ending marker index (exclusive)
        Returns:
        a Markers instance that represents the specified range of marker indices
        Throws:
        java.lang.IndexOutOfBoundsException - if start < 0 || end > this.nMarkers()
        java.lang.IllegalArgumentException - if start >= end
      • restrict

        public Markers restrict​(int[] indices)
        Returns a Markers instance that represents the specified markers.
        Parameters:
        indices - a list of distinct marker indices in increasing order
        Returns:
        a new Markers instance that represents the specified markers
        Throws:
        java.lang.IndexOutOfBoundsException - if there exists j such that (0 <= j && j < indices.length) such that (indices[j] < 0 || indices[j] >= this.nMarkers())
        java.lang.IllegalArgumentException - if there exists j such that (1 <= j && j < indices.length) such that (indices[j] <= indice[j - 1])
        java.lang.NullPointerException - if indices == null
      • sumAlleles

        public int sumAlleles​(int marker)
        Returns the sum of the number of alleles for the markers with index less than the specified index.
        Parameters:
        marker - a marker index
        Returns:
        the sum of the number of alleles for the markers with index less than the specified index
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker > this.nMarkers()
      • sumAlleles

        public int sumAlleles()
        Returns this.sumAlleles(this.nMarkers()).
        Returns:
        this.sumAlleles(this.nMarkers())
      • sumGenotypes

        public int sumGenotypes​(int marker)
        Returns the sum of the number of possible genotypes for the markers with index less than the specified index.
        Parameters:
        marker - a marker index
        Returns:
        the sum of the number of possible genotypes for the markers with index less than the specified index
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker > this.nMarkers()
      • sumGenotypes

        public int sumGenotypes()
        Returns this.sumGenotypes(this.nMarkers()).
        Returns:
        this.sumGenotypes(this.nMarkers())
      • sumHapBits

        public int sumHapBits​(int marker)
        Returns the number of bits requires to store a haplotype for the markers with index less than the specified index.
        Parameters:
        marker - a marker index
        Returns:
        the number of bits requires to store a haplotype for the markers with index less than the specified index
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker > this.nMarkers()
      • sumHapBits

        public int sumHapBits()
        Returns this.sumHaplotypeBits(this.nMarkers()).
        Returns:
        this.sumHaplotypeBits(this.nMarkers())
      • bitsToAlleles

        public int[] bitsToAlleles​(BitArray hapBits)
        Returns the specified allele stored in the specified hapBits array. The contract for this method is undefined if the specified hapBits array was not created with the this.allelesToBits() method.
        Parameters:
        hapBits - the bit array storing the haplotype alleles
        Returns:
        the specified allele stored in the specified hapBits array.
        Throws:
        java.lang.NullPointerException - if hapBits == null
      • allelesToBits

        public void allelesToBits​(int[] alleles,
                                  BitArray bitList)
        Stores the specified alleles in the specified bitList
        Parameters:
        alleles - a sequence of alleles
        bitList - a sequence of bits
        Throws:
        java.lang.IllegalArgumentException - if alleles.length != this.nMarkers()
        java.lang.IllegalArgumentException - if bitList.size() != this.sumHaplotypeBits()
        java.lang.IllegalArgumentException - if there exists a k such that (0 < k && k < alleles.length) and (alleles[k] < 0 || alleles[k] >= this.marker(k).nAlleles())
        java.lang.NullPointerException - if alleles == null || bitList == null
      • setAllele

        public void setAllele​(int marker,
                              int allele,
                              BitArray bitList)
        Stores the specified alleles in the specified bitList
        Parameters:
        marker - a marker index
        allele - an allele index
        bitList - a sequence of bits
        Throws:
        java.lang.IllegalArgumentException - if alleles.length != this.nMarkers()
        java.lang.IllegalArgumentException - if bitList.size() != this.sumHaplotypeBits()
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker >= this.nMarkers()
        java.lang.IndexOutOfBoundsException - if allele < 0 || allele >= this.marker(marker).nAlleles()
        java.lang.NullPointerException - if bitList == null
      • allele

        public int allele​(BitArray hapBits,
                          int marker)
        Returns the specified allele
        Parameters:
        hapBits - a haplotype encoded as bits with the this.allelesToBits() method
        marker - a marker index
        Returns:
        the specified allele
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker >= this.nMarkers()
        java.lang.IndexOutOfBoundsException - if hapBits.size() < this.sumHaplotypeBits(marker + 1)
        java.lang.NullPointerException - if hapBits == null
      • toString

        public java.lang.String toString()
        Returns a string representation of this. The exact details of the representation are unspecified and subject to change.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this