public class BiparentalHaplotypeFinder
protected PopulationData myPopulationData
protected GenotypeTable initialGenotype
protected TableReportBuilder reportBuilder
protected int window
The size of the window in which to evaluate haplotypes
protected int overlap
The extent of overlap between adjacent windows. The overlap is used to assign individual haplotypes to the same parent groups as the previous window.
protected double minNotMissingProportion
Only cluster haplotypes with a minimum number of non missing values.
protected int minClusterSize
Only use clusters with minClusterSize taxa as parent haplotypes
protected int maxDifferenceScore
Haplotypes with a difference score less than or equal to maxDifferenceScore will be assigned to the same cluster. The difference between two non-equal homozygotes is 2, between a homozygote and heterozygote is 1.
protected double minR2
Filter out sites with less than minR2 average r-square with neighboring sites (window size = 50).
protected double minMaf
Filter out sites with minimum allele frequency less than minMaf.
protected double minCoverage
Filter out sites with coverage less than minCoverage.
protected double maxHetDeviation
Filter out sites more than maxHetDeviation * (standard deviation) different from the mean percent heterozygosity.;
public BiparentalHaplotypeFinder(PopulationData popdata)
public void addHaplotypesToReport(HaplotypeClusterer clusters, int pos)
public TableReport getClusterReport()
public void assignHaplotyes()
public HaplotypeClusterer clusterWindow(GenotypeTable a, int start, int length, int maxdif, int minNotMissingPerHaplotype)
public void updatePopulationDataAlleles(java.util.ArrayList<java.util.ArrayList> parentHaplotypes,
java.util.ArrayList<net.maizegenetics.dna.map.Position> positions,
int start,
int length)
public java.util.ArrayList<net.maizegenetics.analysis.clustering.Haplotype> mergeMajorHaplotypes(HaplotypeClusterer clusterMaker, int minClusterSize)
public void convertGenotypesToParentCalls()
public GenotypeTable preFilterSites()
public static java.util.ArrayList<java.util.ArrayList> getParentHaplotypesV1(java.util.ArrayList<java.util.ArrayList> previousParents,
java.util.ArrayList<net.maizegenetics.analysis.clustering.Haplotype> candidates,
int overlap,
boolean forward)
public static java.util.ArrayList<java.util.ArrayList> getParentHaplotypes(java.util.ArrayList<java.util.ArrayList> previousParents,
java.util.ArrayList<net.maizegenetics.analysis.clustering.Haplotype> candidates,
int overlap,
boolean forward)