Package vcf
Interface GT
-
- All Known Implementing Classes:
BasicGT,RefGT,RestrictedGT,SplicedGT,XRefGT
public interface GTInterface
GTrepresents genotype data for a list of markers and a list of samples.All instances of
GTare required to be immutable.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description intallele(int marker, int hap)Returns the allele on the specified haplotype for the specified marker or return -1 if the allele is missing.intallele1(int marker, int sample)Returns the first allele for the specified marker and sample or return -1 if the allele is missing.intallele2(int marker, int sample)Returns the second allele for the specified marker and sample or return -1 if the allele is missing.static floatgl(GT gt, int marker, int sample, int allele1, int allele2)Returns the probability of the observed data for the specified marker and sample if the specified pair of unordered alleles is the true genotype.booleanisPhased()Returnstrueif the genotype for each marker and sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalseotherwise.booleanisReversed()Returnstrueif the markers are ordered by decreasing chromosome base position, and returnsfalseotherwise.Markermarker(int marker)Returns the specified marker.Markersmarkers()Returns the list of markers in order of increasing chromosome position.intnHaps()Returns the number of haplotypes.intnMarkers()Returns the number of markers.intnSamples()Returns the number of samples.GTrestrict(int start, int end)Returns a newGTinstance restricted to genotype data for the specified markers.GTrestrict(Markers markers, int[] indices)Returns aGTinstance restricted to genotype data for the specified markers.Samplessamples()Returns the list of samples.
-
-
-
Method Detail
-
isReversed
boolean isReversed()
Returnstrueif the markers are ordered by decreasing chromosome base position, and returnsfalseotherwise.- Returns:
trueif the markers are ordered by decreasing chromosome base position
-
nMarkers
int nMarkers()
Returns the number of markers.- Returns:
- the number of markers
-
marker
Marker marker(int marker)
Returns the specified marker.- Parameters:
marker- a marker index- Returns:
- the specified marker
- Throws:
java.lang.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()
Returnstrueif the genotype for each marker and sample has non-missing alleles and is either haploid or diploid with a phased allele separator, and returnsfalseotherwise.- Returns:
trueif 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:
java.lang.IndexOutOfBoundsException- ifmarker < 0 || marker >= this.nMarkers()java.lang.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:
java.lang.IndexOutOfBoundsException- ifmarker < 0 || marker >= this.nMarkers()java.lang.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:
java.lang.IndexOutOfBoundsException- ifmarker < 0 || marker >= this.nMarkers()java.lang.IndexOutOfBoundsException- ifhap < 0 || hap >= this.nHaps()
-
restrict
GT restrict(Markers markers, int[] indices)
Returns aGTinstance 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
GTinstance restricted to genotype data for the specified markers - Throws:
java.lang.IndexOutOfBoundsException- if there existsjsuch that(0 <= j && j < indices.length)such that(indices[j] < 0 || indices[j] >= this.nMarkers())java.lang.IllegalArgumentException- if there existsjsuch that(1 <= j && j < indices.length)such that(indices[j] <= indice[j - 1])java.lang.IllegalArgumentException- if there existsjsuch that(0 <= j && j < indices.length)such that(this.marker(indices[j]).equals(markers.marker(j)) == false)java.lang.NullPointerException- ifindices == nulljava.lang.UnsupportedOperationException- ifthis.isReversed() == true
-
restrict
GT restrict(int start, int end)
Returns a newGTinstance restricted to genotype data for the specified markers.- Parameters:
start- the start marker (inclusive)end- the end marker (exclusive)- Returns:
- a
GTinstance restricted to genotype data for the specified markers - Throws:
java.lang.IllegalArgumentException- ifstart >= endjava.lang.IndexOutOfBoundsException- ifstart < 0 || end > this.markers()
-
gl
static float gl(GT gt, int marker, int sample, int allele1, int allele2)
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.0fif the corresponding genotype determined by theisPhased(),allele1(), andallele2()methods is consistent with the specified ordered genotype, and returns0.0fotherwise.- 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:
java.lang.IndexOutOfBoundsException- ifmarker < 0 || marker >= this.nMarkers()java.lang.IndexOutOfBoundsException- ifsamples < 0 || samples >= this.nSamples()java.lang.IndexOutOfBoundsException- ifallele1 < 0 || allele1 >= this.marker(marker).nAlleles()java.lang.IndexOutOfBoundsException- ifallele2 < 0 || allele2 >= this.marker(marker).nAlleles()
-
-