Package vcf
Class SeqCodedRefGTRec
- java.lang.Object
-
- vcf.SeqCodedRefGTRec
-
- All Implemented Interfaces:
IntArray,DuplicatesGTRec,GTRec,MarkerContainer,RefGTRec
public class SeqCodedRefGTRec extends java.lang.Object implements RefGTRec
Class
SeqCodedRefGTrepresents phased, non-missing genotypes for a list of reference samples at a single marker. Genotype emission probabilities are determined by the sample genotypes.Instances of class
SeqCodedRefGTare immutable.
-
-
Constructor Summary
Constructors Constructor Description SeqCodedRefGTRec(Marker marker, Samples samples, IntArray hapToSeq, IntArray seqToAllele)Creates a newSeqCodedRefGTinstance with phased, non-missing genotypes from the specified marker, samples, and haplotype alleles.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intallele1(int sample)Returns the first allele for the specified sample or -1 if the allele is missing.intallele2(int sample)Returns the second allele for the specified sample or -1 if the allele is missing.intalleleCount(int allele)Returns the number of haplotypes that carry the specified allele.int[]alleles()Returns an array of lengththis.size()whosej-th element is equal tothis.allele(j}intget(int hap)Returns the specified allele for the specified haplotype or -1 if the allele is missing.floatgl(int sample, int allele1, int allele2)Returns the probability of the observed data for the specified sample if the specified pair of ordered alleles is the true ordered genotype.inthapIndex(int allele, int copy)Returns index of the haplotype that carries the specified copy of the specified allele.int[][]hapIndices()Returns an array whosej-th element isnullifjis the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry thej-th allele sorted in increasing orderbooleanisAlleleCoded()Returnstrueif this instance stores the indices of haplotypes that carry non-major alleles, and returnsfalseotherwise.booleanisCarrier(int allele, int hap)Returnstrueif the specified haplotype carries the specified allele and returnfalseotherwise.booleanisGTData()Returnstrueif the value returned bythis.gl()is determined by a called or missing genotype, and returnsfalseotherwise.booleanisPhased()Returnstrue.booleanisPhased(int sample)Returnstrue.intmajorAllele()Returns the index of the major allele.IntArraymap(int index)Returnsthis.maps()[index].IntArray[]maps()Returns an array of maps, which when composed map haplotype indices to values.Markermarker()Returns the marker.intnAlleles()Returns the number of marker alleles.intnMaps()Returnsthis.maps().lengthintnSamples()Returns the number of samples.Samplessamples()Returns the list of samples.intsize()Returns the number of haplotypes.java.lang.StringtoString()Returns the data represented bythisas a VCF record with a GT format field.
-
-
-
Constructor Detail
-
SeqCodedRefGTRec
public SeqCodedRefGTRec(Marker marker, Samples samples, IntArray hapToSeq, IntArray seqToAllele)
Creates a newSeqCodedRefGTinstance with phased, non-missing genotypes from the specified marker, samples, and haplotype alleles. The contract for the constructed object is undefined if any element ofhapToSeqis negative or greater than or equal toseqToAllele.size()or if any element ofseqToAlleleis negative or greater than or equal tomarker.nAlleles().- Parameters:
marker- the markersamples- the sampleshapToSeq- an array whosej-th element is the index of the distinct allele sequence carried by thej-th haplotypeseqToAllele- an array whosej-th element is the marker allele carried by thej-th distinct allele sequence- Throws:
java.lang.IllegalArgumentException- ifhapToSeq.size() != 2*samples.nSamples()java.lang.NullPointerException- if any parameter isnull
-
-
Method Detail
-
isPhased
public boolean isPhased(int sample)
Description copied from interface:RefGTRecReturnstrue.- Specified by:
isPhasedin interfaceDuplicatesGTRec- Specified by:
isPhasedin interfaceRefGTRec- Parameters:
sample- the sample index- Returns:
true
-
isPhased
public boolean isPhased()
Returnstrue.- Specified by:
isPhasedin interfaceDuplicatesGTRec- Specified by:
isPhasedin interfaceRefGTRec- Returns:
true
-
nSamples
public int nSamples()
Description copied from interface:DuplicatesGTRecReturns the number of samples. The returned value is equal tothis.size()/2.- Specified by:
nSamplesin interfaceDuplicatesGTRec- Returns:
- the number of samples
-
samples
public Samples samples()
Description copied from interface:GTRecReturns the list of samples.
-
size
public int size()
Description copied from interface:DuplicatesGTRecReturns the number of haplotypes. The returned value is equal to2*this.nSamples().- Specified by:
sizein interfaceDuplicatesGTRec- Specified by:
sizein interfaceIntArray- Returns:
- the number of haplotypes
-
marker
public Marker marker()
Description copied from interface:MarkerContainerReturns the marker.- Specified by:
markerin interfaceMarkerContainer- Returns:
- the marker
-
isGTData
public boolean isGTData()
Description copied from interface:GTRecReturnstrueif the value returned bythis.gl()is determined by a called or missing genotype, and returnsfalseotherwise.
-
gl
public float gl(int sample, int allele1, int allele2)Description copied from interface:GTRecReturns the probability of the observed data for the specified sample if the specified pair of ordered alleles is the true ordered genotype.
-
hapIndices
public int[][] hapIndices()
Description copied from interface:RefGTRecReturns an array whosej-th element isnullifjis the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry thej-th allele sorted in increasing order- Specified by:
hapIndicesin interfaceRefGTRec- Returns:
- an array whose
j-th element isnullifjis the major allele with lowest index, and otherwise is an array of indices of haplotypes that carry thej-th allele sorted in increasing order
-
isAlleleCoded
public boolean isAlleleCoded()
Description copied from interface:RefGTRecReturnstrueif this instance stores the indices of haplotypes that carry non-major alleles, and returnsfalseotherwise.- Specified by:
isAlleleCodedin interfaceRefGTRec- Returns:
trueif this instance stores the indices of haplotypes that carry non-major alleles
-
majorAllele
public int majorAllele()
Description copied from interface:RefGTRecReturns the index of the major allele.- Specified by:
majorAllelein interfaceRefGTRec- Returns:
- the index of the major allele
-
alleleCount
public int alleleCount(int allele)
Description copied from interface:RefGTRecReturns the number of haplotypes that carry the specified allele.- Specified by:
alleleCountin interfaceRefGTRec- Parameters:
allele- an allele index- Returns:
- the number of haplotypes that carry the specified allele
-
allele1
public int allele1(int sample)
Description copied from interface:DuplicatesGTRecReturns the first allele for the specified sample or -1 if the allele is missing. The two alleles for a sample are arbitrarily ordered ifthis.unphased(marker, sample) == false.- Specified by:
allele1in interfaceDuplicatesGTRec- Parameters:
sample- a sample index- Returns:
- the first allele for the specified sample
-
allele2
public int allele2(int sample)
Description copied from interface:DuplicatesGTRecReturns the second allele for the specified sample or -1 if the allele is missing. The two alleles for a sample are arbitrarily ordered ifthis.unphased(marker, sample) == false.- Specified by:
allele2in interfaceDuplicatesGTRec- Parameters:
sample- a sample index- Returns:
- the second allele for the specified sample
-
get
public int get(int hap)
Description copied from interface:DuplicatesGTRecReturns the specified allele for the specified haplotype or -1 if the allele is missing. The two alleles for a sample at a marker are arbitrarily ordered ifthis.unphased(marker, hap/2) == false.- Specified by:
getin interfaceDuplicatesGTRec- Specified by:
getin interfaceIntArray- Parameters:
hap- a haplotype index- Returns:
- the specified allele for the specified sample
-
alleles
public int[] alleles()
Description copied from interface:DuplicatesGTRecReturns an array of lengththis.size()whosej-th element is equal tothis.allele(j}- Specified by:
allelesin interfaceDuplicatesGTRec- Returns:
- an array of length
this.size()whosej-th element is equal tothis.allele(j}
-
nAlleles
public int nAlleles()
Description copied from interface:MarkerContainerReturns the number of marker alleles.- Specified by:
nAllelesin interfaceMarkerContainer- Returns:
- the number of marker alleles.
-
hapIndex
public int hapIndex(int allele, int copy)Description copied from interface:RefGTRecReturns index of the haplotype that carries the specified copy of the specified allele.
-
isCarrier
public boolean isCarrier(int allele, int hap)Description copied from interface:RefGTRecReturnstrueif the specified haplotype carries the specified allele and returnfalseotherwise.
-
toString
public java.lang.String toString()
Returns the data represented bythisas a VCF record with a GT format field. The returned VCF record will have missing QUAL and INFO fields, will have "PASS" in the filter field, and will have a GT format field.- Overrides:
toStringin classjava.lang.Object- Returns:
- the data represented by
thisas a VCF record with a GT format field
-
nMaps
public int nMaps()
Description copied from interface:RefGTRecReturnsthis.maps().length
-
maps
public IntArray[] maps()
Description copied from interface:RefGTRecReturns an array of maps, which when composed map haplotype indices to values. The allele stored at haplotypehis determined by the following calculation:IntArray[] maps = this.maps(); int value = maps[0].get(h); for (int j=1; j<maps.length; ++j) { value = indexArrays[j].get(value); } int allele = value
-
-