Call

class hail.genetics.Call(alleles, phased=False)[source]

An object that represents an individual’s call at a genomic locus.

Parameters:
  • alleles (list of int) – List of alleles that compose the call.
  • phased (bool) – If True, the alleles are phased and the order is specified by alleles.

Note

This object refers to the Python value returned by taking or collecting Hail expressions, e.g. mt.GT.take(5`). This is rare; it is much more common to manipulate the CallExpression object, which is constructed using the following functions:

Attributes

alleles Get the alleles of this call.
phased True if the call is phased.
ploidy The number of alleles for this call.

Methods

__init__ Initialize self.
is_diploid True if the ploidy == 2.
is_haploid True if the ploidy == 1.
is_het True if the call contains two different alleles.
is_het_non_ref True if the call contains two different alternate alleles.
is_het_ref True if the call contains one reference and one alternate allele.
is_hom_ref True if the call has no alternate alleles.
is_hom_var True if the call contains two identical alternate alleles.
is_non_ref True if the call contains any non-reference alleles.
n_alt_alleles Returns the count of non-reference alleles.
one_hot_alleles Returns a list containing the one-hot encoded representation of the called alleles.
unphased_diploid_gt_index Return the genotype index for unphased, diploid calls.
alleles

Get the alleles of this call.

Returns:list of int
is_diploid()[source]

True if the ploidy == 2.

Return type:bool
is_haploid()[source]

True if the ploidy == 1.

Return type:bool
is_het()[source]

True if the call contains two different alleles.

Return type:bool
is_het_non_ref()[source]

True if the call contains two different alternate alleles.

Return type:bool
is_het_ref()[source]

True if the call contains one reference and one alternate allele.

Return type:bool
is_hom_ref()[source]

True if the call has no alternate alleles.

Return type:bool
is_hom_var()[source]

True if the call contains two identical alternate alleles.

Return type:bool
is_non_ref()[source]

True if the call contains any non-reference alleles.

Return type:bool
n_alt_alleles()[source]

Returns the count of non-reference alleles.

Return type:int
one_hot_alleles(n_alleles)[source]

Returns a list containing the one-hot encoded representation of the called alleles.

Examples

>>> n_alleles = 2
>>> hom_ref = hl.Call([0, 0])
>>> het = hl.Call([0, 1])
>>> hom_var = hl.Call([1, 1])
>>> het.one_hot_alleles(n_alleles)
[1, 1]
>>> hom_var.one_hot_alleles(n_alleles)
[0, 2]

Notes

This one-hot representation is the positional sum of the one-hot encoding for each called allele. For a biallelic variant, the one-hot encoding for a reference allele is [1, 0] and the one-hot encoding for an alternate allele is [0, 1].

Parameters:n_alleles (int) – Number of total alleles, including the reference.
Returns:list of int
phased

True if the call is phased.

Returns:bool
ploidy

The number of alleles for this call.

Returns:int
unphased_diploid_gt_index()[source]

Return the genotype index for unphased, diploid calls.

Returns:int