public final class HaploidIbd
extends java.lang.Object
Class HaploidIbd
implements the Refined IBD algorithm.
The Refined IBD algorithm detects candidate haplotype IBD segments with the
Germline Algorithm and then evaluates candidate IBD segments using a
likelihood ratio test.
Instances of class HaploidIbd
are immutable.
Constructor and Description |
---|
HaploidIbd(int ibdTrim,
float minIbdLod)
Constructs a new
HaploidIbd instance from the specified data. |
Modifier and Type | Method and Description |
---|---|
java.util.Map<IntPair,java.util.List<IbdSegment>> |
run(GL gl,
Dag dag,
SampleHapPairs haps,
int nThreads)
Runs the Refined IBD algorithm, and returns a map whose keys are
ordered pairs of haplotype indices and whose values are thread-safe
lists of IBD segments for each haplotype pair.
|
public HaploidIbd(int ibdTrim, float minIbdLod)
HaploidIbd
instance from the specified data.ibdTrim
- the number of markers to trim from an IBS segment
when computing the IBD versus non-IBD likelihood ratiominIbdLod
- the minimum IBD LOD score of reported IBD segmentsjava.lang.IllegalArgumentException
- if ibdTrim < 0
java.lang.IllegalArgumentException
- if
ibdLod <= 0.0f || Float.isFinite(ibdLod) == false
public java.util.Map<IntPair,java.util.List<IbdSegment>> run(GL gl, Dag dag, SampleHapPairs haps, int nThreads)
gl
- the HMM emission probabilitiesdag
- the HMM transition probabilitieshaps
- the sample haplotype pairsnThreads
- the number of threads of execution that may be usedjava.lang.IllegalArgumentException
- if nThreads < 1
java.lang.IllegalArgumentException
- if
gl.samples().equals(haps.samples()) == false
java.lang.IllegalArgumentException
- if
gl.markers().equals(dag.markers()) == false
|| gl.markers().equals(haps.markers()) == false
java.lang.NullPointerException
- if
gl == null || dag == null || haps == null