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
      LongArray allelesToBits​(int[] alleles)
      Returns a bit array storing the specified haplotype.
      int bitsToAllele​(LongArray hapBits, int marker)
      Returns the specified allele stored in the specified hapBits array.
      int[] bitsToAlleles​(LongArray 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.
      int nMarkers()
      Returns the number 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.
      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 sumHaplotypeBits()
      Returns this.sumHaplotypeBits(this.nMarkers()).
      int sumHaplotypeBits​(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
      • nMarkers

        public int nMarkers()
        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())
      • sumHaplotypeBits

        public int sumHaplotypeBits​(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()
      • sumHaplotypeBits

        public int sumHaplotypeBits()
        Returns this.sumHaplotypeBits(this.nMarkers()).
        Returns:
        this.sumHaplotypeBits(this.nMarkers())
      • allelesToBits

        public LongArray allelesToBits​(int[] alleles)
        Returns a bit array storing the specified haplotype.
        Parameters:
        alleles - the alleles at each marker
        Returns:
        a bit array storing the specified haplotype.
        Throws:
        java.lang.IllegalArgumentException - if alleles.length != this.nMarkers()
        java.lang.NullPointerException - if alleles == null
      • bitsToAllele

        public int bitsToAllele​(LongArray hapBits,
                                int marker)
        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
        marker - a marker index
        Returns:
        the specified allele stored in the specified hapBits array.
        Throws:
        java.lang.IndexOutOfBoundsException - if marker < 0 || marker >= this.nMarkers()
      • bitsToAlleles

        public int[] bitsToAlleles​(LongArray 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
      • 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