Package vcf
Class MarkerMap
- java.lang.Object
-
- vcf.MarkerMap
-
public class MarkerMap extends java.lang.Object
Class
MarkerRecombMap
represents genetic map positions and inter-marker genetic distances for a sequence of genomic loci.Instances of class
MarkerRecombMap
are immutable.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MarkerMap
create(GeneticMap genMap, double minGenDist, Markers markers)
Returns a newMarkerMap
instance constructed from the specified data.static MarkerMap
create(GeneticMap genMap, Markers markers)
Returns a newMarkerMap
instance constructed from the specified data.FloatArray
genDist()
Return aFloatArray
of sizethis.markers().nMarkers()
whosek
-th element is the genetic distance between thek
-th target marker and the previous marker, or0.0
if(k == 0)
.DoubleArray
genPos()
Returns aDoubleArray
of sizethis.markers().nMarkers()
whosek
-th element is the genetic map position of thek
-th marker.static double
meanSingleBaseGenDist(GeneticMap genMap, Markers markers)
Returns the mean genetic distance between two consecutive base positions.FloatArray
pRecomb(float recombIntensity)
Returns a map of marker index to the probability of recombination in the interval between the marker and the preceding marker.MarkerMap
restrict(int[] indices)
Return a marker map restricted to the specified markersMarkerMap
restrict(IntArray indices)
Return a marker map restricted to the specified markers
-
-
-
Method Detail
-
create
public static MarkerMap create(GeneticMap genMap, Markers markers)
Returns a newMarkerMap
instance constructed from the specified data.- Parameters:
genMap
- the genetic mapmarkers
- a list of markers- Returns:
- a returns new
MarkerMap
instance - Throws:
java.lang.IllegalArgumentException
- ifmarkers.marker(0).chromIndex() != markers.marker(markers.nMarkers() - 1).chromIndex()
java.lang.IllegalArgumentException
- if the specified genetic map has no map positions for the specified chromosomejava.lang.NullPointerException
- ifgenMap == null || markers == null
-
create
public static MarkerMap create(GeneticMap genMap, double minGenDist, Markers markers)
Returns a newMarkerMap
instance constructed from the specified data.- Parameters:
genMap
- the genetic mapminGenDist
- the required minimum cM distance between successive markersmarkers
- a list of markers- Returns:
- a returns new
MarkerMap
instance - Throws:
java.lang.IllegalArgumentException
- ifmarkers.marker(0).chromIndex() != markers.marker(markers.nMarkers() - 1).chromIndex()
java.lang.IllegalArgumentException
- ifDouble.isFinite(minDist) == false
java.lang.IllegalArgumentException
- if the specified genetic map has no map positions for the specified chromosomejava.lang.NullPointerException
- ifgenMap == null || markers == null
-
meanSingleBaseGenDist
public static double meanSingleBaseGenDist(GeneticMap genMap, Markers markers)
Returns the mean genetic distance between two consecutive base positions.- Parameters:
genMap
- the genetic mapmarkers
- a list of markers- Returns:
- the mean genetic distance between two consecutive base positions
- Throws:
java.lang.IllegalArgumentException
- ifmarkers.marker(0).chromIndex() != markers.marker(markers.nMarkers() - 1).chromIndex()
java.lang.IllegalArgumentException
- ifmarkers.marker(0).pos() == markers.marker(markers.nMarkers() - 1).pos()
java.lang.IllegalArgumentException
- if the specified genetic map has no map positions for the specified chromosomejava.lang.NullPointerException
- ifgenMap == null || markers == null
-
restrict
public MarkerMap restrict(int[] indices)
Return a marker map restricted to the specified markers- Parameters:
indices
- a list of distinct marker indices in increasing order- Returns:
- a marker map restricted to the specified markers
- Throws:
java.lang.IndexOutOfBoundsException
- if there existsj
such that(0 <= j && j < indices.length)
such that(indices[j] < 0 || indices[j] >= this.nMarkers())
java.lang.IllegalArgumentException
- if there existsj
such that(1 <= j && j < indices.length)
such that(indices[j] <= indice[j - 1])
java.lang.NullPointerException
- ifindices == null
-
restrict
public MarkerMap restrict(IntArray indices)
Return a marker map restricted to the specified markers- Parameters:
indices
- a list of distinct marker indices in increasing order- Returns:
- a marker map restricted to the specified markers
- Throws:
java.lang.IndexOutOfBoundsException
- if there existsj
such that(0 <= j && j < indices.length)
such that(indices.get(j) < 0 || indices.get(j) >= this.nMarkers())
java.lang.IllegalArgumentException
- if there existsj
such that(1 <= j && j < indices.length)
such that(indices.get(j) <= indice.get(j - 1))
java.lang.NullPointerException
- ifindices == null
-
genPos
public DoubleArray genPos()
Returns aDoubleArray
of sizethis.markers().nMarkers()
whosek
-th element is the genetic map position of thek
-th marker.- Returns:
- the array of genetic map positions
-
genDist
public FloatArray genDist()
Return aFloatArray
of sizethis.markers().nMarkers()
whosek
-th element is the genetic distance between thek
-th target marker and the previous marker, or0.0
if(k == 0)
.- Returns:
- a
FloatArray
of sizethis.nTargMarkers()
whosek
-th element is the genetic distance between thek
-th target marker and the previous marker,
-
pRecomb
public FloatArray pRecomb(float recombIntensity)
Returns a map of marker index to the probability of recombination in the interval between the marker and the preceding marker.- Parameters:
recombIntensity
- the intensity of the exponential distribution that gives the probability of transitioning to a random HMM state in a specified cM distance- Returns:
- a map of marker index to the probability of recombination in the interval between the marker and the preceding marker
- Throws:
java.lang.IllegalArgumentException
- ifintensity <= 0.0 || Float.isFinite(intensity)==false
-
-