Package vcf
Interface GT
- All Known Implementing Classes:
BasicGT
,RefGT
,RestrictedGT
,SplicedGT
,XRefGT
public interface GT
Interface GT
represents genotype data
for a list of markers and a list of samples.
All instances of GT
are required to be immutable.
-
Method Summary
Modifier and TypeMethodDescriptionint
allele
(int marker, int hap) Returns the allele on the specified haplotype for the specified marker or return -1 if the allele is missing.int
allele1
(int marker, int sample) Returns the first allele for the specified marker and sample or return -1 if the allele is missing.int
allele2
(int marker, int sample) Returns the second allele for the specified marker and sample or return -1 if the allele is missing.static float
Returns the probability of the observed data for the specified marker and sample if the specified pair of unordered alleles is the true genotype.boolean
isPhased()
Returnstrue
if the genotype for each marker and sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalse
otherwise.boolean
Returnstrue
if the markers are ordered by decreasing chromosome base position, and returnsfalse
otherwise.marker
(int marker) Returns the specified marker.markers()
Returns the list of markers in order of increasing chromosome position.int
nHaps()
Returns the number of haplotypes.int
nMarkers()
Returns the number of markers.int
nSamples()
Returns the number of samples.restrict
(int start, int end) Returns a newGT
instance restricted to genotype data for the specified markers.Returns aGT
instance restricted to genotype data for the specified markers.samples()
Returns the list of samples.
-
Method Details
-
isReversed
boolean isReversed()Returnstrue
if the markers are ordered by decreasing chromosome base position, and returnsfalse
otherwise.- Returns:
true
if the markers are ordered by decreasing chromosome base position
-
nMarkers
int nMarkers()Returns the number of markers.- Returns:
- the number of markers
-
marker
Returns the specified marker.- Parameters:
marker
- a marker index- Returns:
- the specified marker
- Throws:
IndexOutOfBoundsException
- ifmarker < 0 || marker >= this.nMarkers()
-
markers
Markers markers()Returns the list of markers in order of increasing chromosome position. If(this.isReversed() == false)
then(this.markers().marker(j).equals(this.marker(j)) == true)
for all(0 <= j && j < this.nMarkers())
. If(this.isReversed() == true)
then(this.markers().marker(this.nMarkers() - 1 - j).equals(this.marker(j)) == true)
for all(0 <= j && j < this.nMarkers())
- Returns:
- the list of markers in order of increasing chromosome position
-
nHaps
int nHaps()Returns the number of haplotypes. The returned value is equal to2*this.nSamples()
.- Returns:
- the number of haplotypes
-
nSamples
int nSamples()Returns the number of samples.- Returns:
- the number of samples
-
samples
Samples samples()Returns the list of samples.- Returns:
- the list of samples
-
isPhased
boolean isPhased()Returnstrue
if the genotype for each marker and sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalse
otherwise.- Returns:
true
if the genotype for each marker and sample is a phased, non-missing genotype
-
allele1
int allele1(int marker, int sample) Returns the first allele for the specified marker and sample or return -1 if the allele is missing. The order of the two alleles is unspecified ifthis.isPhased() == false
.- Parameters:
marker
- the marker indexsample
- the sample index- Returns:
- the first allele for the specified marker and sample
- Throws:
IndexOutOfBoundsException
- ifmarker < 0 || marker >= this.nMarkers()
IndexOutOfBoundsException
- ifsample < 0 || sample >= this.nSamples()
-
allele2
int allele2(int marker, int sample) Returns the second allele for the specified marker and sample or return -1 if the allele is missing. The order of the two alleles is unspecified ifthis.isPhased() == false
.- Parameters:
marker
- the marker indexsample
- the sample index- Returns:
- the allele for the specified marker and sample
- Throws:
IndexOutOfBoundsException
- ifmarker < 0 || marker >= this.nMarkers()
IndexOutOfBoundsException
- ifsample < 0 || sample >= this.nSamples()
-
allele
int allele(int marker, int hap) Returns the allele on the specified haplotype for the specified marker or return -1 if the allele is missing. The order of the two alleles is unspecified ifthis.isPhased() == false
.- Parameters:
marker
- the marker indexhap
- the haplotype index- Returns:
- the allele on the specified haplotype for the specified marker
- Throws:
IndexOutOfBoundsException
- ifmarker < 0 || marker >= this.nMarkers()
IndexOutOfBoundsException
- ifhap < 0 || hap >= this.nHaps()
-
restrict
Returns aGT
instance restricted to genotype data for the specified markers.- Parameters:
markers
- the list of markers in the returned instanceindices
- a list of distinct marker indices (fromthis.markers())
in increasing order- Returns:
- a
GT
instance restricted to genotype data for the specified markers - Throws:
IndexOutOfBoundsException
- if there existsj
such that(0 <= j && j < indices.length)
such that(indices[j] < 0 || indices[j] >= this.nMarkers())
IllegalArgumentException
- if there existsj
such that(1 <= j && j < indices.length)
such that(indices[j] <= indice[j - 1])
IllegalArgumentException
- if there existsj
such that(0 <= j && j < indices.length)
such that(this.marker(indices[j]).equals(markers.marker(j)) == false)
NullPointerException
- ifindices == null
UnsupportedOperationException
- ifthis.isReversed() == true
-
restrict
Returns a newGT
instance restricted to genotype data for the specified markers.- Parameters:
start
- the start marker (inclusive)end
- the end marker (exclusive)- Returns:
- a
GT
instance restricted to genotype data for the specified markers - Throws:
IllegalArgumentException
- ifstart >= end
IndexOutOfBoundsException
- ifstart < 0 || end > this.markers()
-
gl
Returns the probability of the observed data for the specified marker and sample if the specified pair of unordered alleles is the true genotype. Returns1.0f
if the corresponding genotype determined by theisPhased()
,allele1()
, andallele2()
methods is consistent with the specified ordered genotype, and returns0.0f
otherwise.- Parameters:
gt
- the genotype datamarker
- the marker indexsample
- the sample indexallele1
- the first allele indexallele2
- the second allele index- Returns:
- the probability of the observed data for the specified marker and sample if the specified pair of ordered alleles is the true ordered genotype
- Throws:
IndexOutOfBoundsException
- ifmarker < 0 || marker >= this.nMarkers()
IndexOutOfBoundsException
- ifsamples < 0 || samples >= this.nSamples()
IndexOutOfBoundsException
- ifallele1 < 0 || allele1 >= this.marker(marker).nAlleles()
IndexOutOfBoundsException
- ifallele2 < 0 || allele2 >= this.marker(marker).nAlleles()
-