Package vcf
Class BitArrayRefGTRec
- java.lang.Object
-
- vcf.BitArrayRefGTRec
-
- All Implemented Interfaces:
IntArray
,DuplicatesGTRec
,GTRec
,MarkerContainer
public final class BitArrayRefGTRec extends java.lang.Object implements GTRec
Class
BitArrayRefGTRec
represents phased, nonmissing, genotypes for a list of samples at a single marker. Instances of classBitArrayRefGTRec
store haplotype alleles in bit sets.Instances of class
BitArrayRefGTRec
are immutable.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
allele1(int sample)
Returns the first allele for the specified sample or -1 if the allele is missing.int
allele2(int sample)
Returns the second allele for the specified sample or -1 if the allele is missing.int[]
alleles()
Returns an array of lengththis.size()
whosej
-th element is equal tothis.allele(j
}int
get(int hap)
Returns the specified allele for the specified haplotype or -1 if the allele is missing.boolean
isPhased()
Returnstrue
if every genotype for each sample is a phased, non-missing genotype, and returnsfalse
otherwise.boolean
isPhased(int sample)
Returnstrue
if the genotype for the specified sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalse
otherwise.Marker
marker()
Returns the marker.Samples
samples()
Returns the list of samples.int
size()
Returns the number of haplotypes.static BitArrayRefGTRec[]
toBitArrayRefGTRecs(EstPhase estPhase)
Returns the current estimated phased, non-missing genotypes.static BitArrayRefGTRec[]
toBitArrayRefGTRecs(XRefGT gt, int nThreads)
Returns the phased, non-missing genotypes as aBitArrayRefGTRec[]
array.java.lang.String
toString()
Returns the data represented bythis
as a VCF record with a GT format field.
-
-
-
Method Detail
-
toBitArrayRefGTRecs
public static BitArrayRefGTRec[] toBitArrayRefGTRecs(EstPhase estPhase)
Returns the current estimated phased, non-missing genotypes. This method converts column-major data into row-major data.- Parameters:
estPhase
- the current estimated phased genotypes for each target sample- Returns:
- the current estimated phased, non-missing genotypes
- Throws:
java.lang.NullPointerException
- ifestPhase == null
-
toBitArrayRefGTRecs
public static BitArrayRefGTRec[] toBitArrayRefGTRecs(XRefGT gt, int nThreads)
Returns the phased, non-missing genotypes as aBitArrayRefGTRec[]
array. This method converts column-major data into row-major data.- Parameters:
gt
- the genotype datanThreads
- the maximum number of computational threads for object construction- Returns:
- the phased, non-missing genotypes as a
BitArrayRefGTRec[]
array - Throws:
java.lang.IllegalArgumentException
- ifnThreads < 1
java.lang.NullPointerException
- ifgt == null
-
samples
public Samples samples()
Description copied from interface:GTRec
Returns the list of samples.
-
size
public int size()
Description copied from interface:DuplicatesGTRec
Returns the number of haplotypes.- Specified by:
size
in interfaceDuplicatesGTRec
- Specified by:
size
in interfaceIntArray
- Returns:
- the number of haplotypes
-
marker
public Marker marker()
Description copied from interface:MarkerContainer
Returns the marker.- Specified by:
marker
in interfaceMarkerContainer
- Returns:
- the marker
-
isPhased
public boolean isPhased()
Description copied from interface:DuplicatesGTRec
Returnstrue
if every genotype for each sample is a phased, non-missing genotype, and returnsfalse
otherwise.- Specified by:
isPhased
in interfaceDuplicatesGTRec
- Returns:
true
if the genotype for each sample is a phased, non-missing genotype
-
isPhased
public boolean isPhased(int sample)
Description copied from interface:DuplicatesGTRec
Returnstrue
if the genotype for the specified sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalse
otherwise.- Specified by:
isPhased
in interfaceDuplicatesGTRec
- Parameters:
sample
- a sample index- Returns:
true
if the genotype for the specified sample is a phased, nonmissing genotype
-
allele1
public int allele1(int sample)
Description copied from interface:DuplicatesGTRec
Returns 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:
allele1
in interfaceDuplicatesGTRec
- Parameters:
sample
- a sample index- Returns:
- the first allele for the specified sample
-
allele2
public int allele2(int sample)
Description copied from interface:DuplicatesGTRec
Returns 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:
allele2
in interfaceDuplicatesGTRec
- Parameters:
sample
- a sample index- Returns:
- the second allele for the specified sample
-
get
public int get(int hap)
Description copied from interface:DuplicatesGTRec
Returns 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:
get
in interfaceDuplicatesGTRec
- Specified by:
get
in interfaceIntArray
- Parameters:
hap
- a haplotype index- Returns:
- the specified allele for the specified sample
-
alleles
public int[] alleles()
Description copied from interface:DuplicatesGTRec
Returns an array of lengththis.size()
whosej
-th element is equal tothis.allele(j
}- Specified by:
alleles
in interfaceDuplicatesGTRec
- Returns:
- an array of length
this.size()
whosej
-th element is equal tothis.allele(j
}
-
toString
public java.lang.String toString()
Returns the data represented bythis
as 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:
toString
in classjava.lang.Object
- Returns:
- the data represented by
this
as a VCF record with a GT format field
-
-