DenseGeneticMappableMatrix#

class pybrops.popgen.gmap.DenseGeneticMappableMatrix.DenseGeneticMappableMatrix(mat, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)[source]#

Bases: DenseVariantMatrix, GeneticMappableMatrix

Concrete class for dense variant matrices that can be interpolated using a GeneticMap.

Constructor for the concrete class DenseGeneticMappableMatrix

Parameters:
  • mat (numpy.ndarray) –

  • vrnt_chrgrp (numpy.ndarray, None) –

  • vrnt_phypos (numpy.ndarray, None) –

  • vrnt_name (numpy.ndarray, None) –

  • vrnt_genpos (numpy.ndarray, None) –

  • vrnt_xoprob (numpy.ndarray, None) –

  • vrnt_hapgrp (numpy.ndarray, None) –

  • vrnt_hapalt (numpy.ndarray, None) –

  • vrnt_hapref (numpy.ndarray, None) –

  • vrnt_mask (numpy.ndarray, None) –

  • kwargs (dict) – Additional keyword arguments.

Methods

adjoin

Add additional elements to the end of the Matrix along an axis.

adjoin_vrnt

Add additional elements to the end of the Matrix along the variant axis.

append

Append values to the matrix.

append_vrnt

Append values to the Matrix along the variant axis.

concat

Concatenate matrices together along an axis.

concat_vrnt

Concatenate list of Matrix together along the variant axis.

copy

Make a shallow copy of the Matrix.

deepcopy

Make a deep copy of the Matrix.

delete

Delete sub-arrays along an axis.

delete_vrnt

Delete sub-arrays along the variant axis.

from_hdf5

Read DenseVariantMatrix from an HDF5 file.

group

Sort the DenseVariantMatrix along an axis, then populate grouping indices.

group_vrnt

Sort the Matrix along the variant axis, then populate grouping indices for the variant axis.

incorp

Incorporate values along the given axis before the given indices.

incorp_vrnt

Incorporate values along the variant axis before the given indices.

insert

Insert values along the given axis before the given indices.

insert_vrnt

Insert values along the variant axis before the given indices.

interp_genpos

Interpolate genetic map postions for variants using a GeneticMap

interp_xoprob

Interpolate genetic map positions AND crossover probabilities between sequential markers using a GeneticMap and a GeneticMapFunction.

is_grouped

Determine whether the Matrix has been sorted and grouped.

is_grouped_vrnt

Determine whether the Matrix has been sorted and grouped along the variant axis.

lexsort

Perform an indirect stable sort using a tuple of keys.

lexsort_vrnt

Perform an indirect stable sort using a sequence of keys along the variant axis.

remove

Remove sub-arrays along an axis.

remove_vrnt

Remove sub-arrays along the variant axis.

reorder

Reorder the VariantMatrix.

reorder_vrnt

Reorder elements of the Matrix along the variant axis using an array of indices.

select

Select certain values from the matrix.

select_vrnt

Select certain values from the Matrix along the variant axis.

sort

Reset metadata for corresponding axis: name, stix, spix, len.

sort_vrnt

Sort slements of the Matrix along the variant axis using a sequence of keys.

to_hdf5

Write DenseVariantMatrix to an HDF5 file.

ungroup

Ungroup the DenseVariantMatrix along an axis by removing grouping metadata.

ungroup_vrnt

Ungroup the DenseVariantMatrix along the variant axis by removing variant group metadata.

Attributes

mat

Pointer to raw numpy.ndarray object.

mat_ndim

Number of dimensions of the raw numpy.ndarray.

mat_shape

Shape of the raw numpy.ndarray.

nvrnt

Number of variants.

vrnt_axis

Axis along which variants are stored.

vrnt_chrgrp

Variant chromosome group label.

vrnt_chrgrp_len

Variant chromosome group length.

vrnt_chrgrp_name

Variant chromosome group names.

vrnt_chrgrp_spix

Variant chromosome group stop indices.

vrnt_chrgrp_stix

Variant chromosome group start indices.

vrnt_genpos

Variant genetic position.

vrnt_hapalt

Variant haplotype sequence.

vrnt_hapgrp

Variant haplotype group label.

vrnt_hapref

Variant reference haplotype sequence.

vrnt_mask

Variant mask.

vrnt_name

Variant name.

vrnt_phypos

Variant physical position.

vrnt_xoprob

Variant crossover sequential probability.

__add__(value)#

Elementwise add matrices

Parameters:

value (object) – Object which to add.

Returns:

out – An object resulting from the addition.

Return type:

object

__mul__(value)#

Elementwise multiply matrices

Parameters:

value (object) – Object which to multiply.

Returns:

out – An object resulting from the multiplication.

Return type:

object

adjoin(values, axis=-1, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Add additional elements to the end of the Matrix along an axis.

Parameters:
  • values (Matrix, numpy.ndarray) – Values are appended to append to the Matrix.

  • axis (int) – The axis along which values are adjoined.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to adjoin to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A copy of mat with values appended to axis. Note that adjoin does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

adjoin_vrnt(values, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Add additional elements to the end of the Matrix along the variant axis.

Parameters:
  • values (Matrix, numpy.ndarray) – Values are appended to adjoin to the Matrix.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to adjoin to the Matrix.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to adjoin to the Matrix.

  • vrnt_name (numpy.ndarray) – Variant names to adjoin to the Matrix.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to adjoin to the Matrix.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to adjoin to the Matrix.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to adjoin to the Matrix.

  • vrnt_hapalt (numpy.ndarray) – Variant haplotype alternative sequence.

  • vrnt_hapref (numpy.ndarray) – Variant haplotype reference sequence.

  • vrnt_mask (numpy.ndarray) – Variant mask to adjoin to the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A copy of DenseVariantMatrix with values appended to axis. Note that adjoin does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

append(values, axis=-1, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Append values to the matrix.

Parameters:
  • values (DenseVariantMatrix, numpy.ndarray) – Values are appended to append to the matrix. Must be of type int8. Must be of shape (m, n, p)

  • axis (int) – The axis along which values are appended.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

append_vrnt(values, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Append values to the Matrix along the variant axis.

Parameters:
  • values (Matrix, numpy.ndarray) – Values are appended to append to the matrix.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to append to the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

classmethod concat(mats, axis=-1, **kwargs)#

Concatenate matrices together along an axis.

Parameters:
  • mats (Sequence of matrices) – List of Matrix to concatenate. The matrices must have the same shape, except in the dimension corresponding to axis.

  • axis (int) – The axis along which the arrays will be joined.

  • kwargs (dict) – Additional keyword arguments

Returns:

out – The concatenated matrix. Note that concat does not occur in-place: a new Matrix is allocated and filled.

Return type:

DenseVariantMatrix

classmethod concat_vrnt(mats, **kwargs)#

Concatenate list of Matrix together along the variant axis.

Parameters:
  • mats (Sequence of Matrix) – List of Matrix to concatenate. The matrices must have the same shape, except in the dimension corresponding to axis.

  • kwargs (dict) – Additional keyword arguments

Returns:

out – The concatenated DenseVariantMatrix. Note that concat does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

copy()#

Make a shallow copy of the Matrix.

Returns:

out – A shallow copy of the original DenseMatrix.

Return type:

DenseMatrix

deepcopy(memo=None)#

Make a deep copy of the Matrix.

Parameters:

memo (dict) – Dictionary of memo metadata.

Returns:

out – A deep copy of the original DenseMatrix.

Return type:

DenseMatrix

delete(obj, axis=-1, **kwargs)#

Delete sub-arrays along an axis.

Parameters:
  • obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.

  • axis (int) – The axis along which to delete the subarray defined by obj.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A DenseVariantMatrix with deleted elements. Note that concat does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

delete_vrnt(obj, **kwargs)#

Delete sub-arrays along the variant axis.

Parameters:
  • obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A Matrix with deleted elements. Note that concat does not occur in-place: a new Matrix is allocated and filled.

Return type:

Matrix

classmethod from_hdf5(filename, groupname=None)#

Read DenseVariantMatrix from an HDF5 file.

Parameters:
  • filename (str, Path, h5py.File) – If str or Path, an HDF5 file name from which to read. File is closed after reading. If h5py.File, an opened HDF5 file from which to read. File is not closed after reading.

  • groupname (str, None) – If str, an HDF5 group name under which DenseVariantMatrix data is stored. If None, DenseVariantMatrix is read from base HDF5 group.

Returns:

out – A dense matrix read from file.

Return type:

DenseVariantMatrix

group(axis=-1, **kwargs)#

Sort the DenseVariantMatrix along an axis, then populate grouping indices.

Parameters:
  • axis (int) – The axis along which values are grouped.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

group_vrnt(**kwargs)#

Sort the Matrix along the variant axis, then populate grouping indices for the variant axis.

Parameters:

kwargs (dict) – Additional keyword arguments.

Return type:

None

incorp(obj, values, axis=-1, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Incorporate values along the given axis before the given indices.

Parameters:
  • obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is incorporated.

  • values (array_like) – Values to incorporate into the matrix.

  • axis (int) – The axis along which values are incorporated.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

incorp_vrnt(obj, values, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Incorporate values along the variant axis before the given indices.

Parameters:
  • obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is incorporated.

  • values (Matrix, numpy.ndarray) – Values to incorporate into the matrix.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to incorporate into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

insert(obj, values, axis=-1, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Insert values along the given axis before the given indices.

Parameters:
  • obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is inserted.

  • values (DenseVariantMatrix, numpy.ndarray) – Values to insert into the matrix.

  • axis (int) – The axis along which values are inserted.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_chrgrp field, providing this argument overwrites the field.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_phypos field, providing this argument overwrites the field.

  • vrnt_name (numpy.ndarray) – Variant names to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_name field, providing this argument overwrites the field.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_genpos field, providing this argument overwrites the field.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_xoprob field, providing this argument overwrites the field.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapalt (numpy.ndarray) – Variant alternative haplotype labels to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_hapref (numpy.ndarray) – Variant reference haplotype labels to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_hapgrp field, providing this argument overwrites the field.

  • vrnt_mask (numpy.ndarray) – Variant mask to insert into the Matrix. If values is a DenseVariantMatrix that has a non-None vrnt_mask field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A Matrix with values inserted. Note that insert does not occur in-place: a new Matrix is allocated and filled.

Return type:

DenseVariantMatrix

insert_vrnt(obj, values, vrnt_chrgrp=None, vrnt_phypos=None, vrnt_name=None, vrnt_genpos=None, vrnt_xoprob=None, vrnt_hapgrp=None, vrnt_hapalt=None, vrnt_hapref=None, vrnt_mask=None, **kwargs)#

Insert values along the variant axis before the given indices.

Parameters:
  • obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is inserted.

  • values (array_like) – Values to insert into the matrix.

  • vrnt_chrgrp (numpy.ndarray) – Variant chromosome groups to insert into the Matrix.

  • vrnt_phypos (numpy.ndarray) – Variant chromosome physical positions to insert into the Matrix.

  • vrnt_name (numpy.ndarray) – Variant names to insert into the Matrix.

  • vrnt_genpos (numpy.ndarray) – Variant chromosome genetic positions to insert into the Matrix.

  • vrnt_xoprob (numpy.ndarray) – Sequential variant crossover probabilities to insert into the Matrix.

  • vrnt_hapgrp (numpy.ndarray) – Variant haplotype labels to insert into the Matrix.

  • vrnt_hapalt (numpy.ndarray) –

  • vrnt_hapref (numpy.ndarray) –

  • vrnt_mask (numpy.ndarray) – Variant mask to insert into the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A DenseVariantMatrix with values inserted. Note that insert does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

interp_genpos(gmap, **kwargs)[source]#

Interpolate genetic map postions for variants using a GeneticMap

Parameters:

gmap (GeneticMap) – A genetic map from which to interopolate genetic map postions for loci within the VariantMatrix.

Return type:

None

interp_xoprob(gmap, gmapfn, **kwargs)[source]#

Interpolate genetic map positions AND crossover probabilities between sequential markers using a GeneticMap and a GeneticMapFunction.

Parameters:
  • gmap (GeneticMap) – A genetic map from which to interopolate genetic map postions for loci within the VariantMatrix.

  • gmapfn (GeneticMapFunction) – A genetic map function from which to interpolate crossover probabilities for loci within the VariantMatrix.

Return type:

None

is_grouped(axis=-1, **kwargs)#

Determine whether the Matrix has been sorted and grouped.

Parameters:
  • axis (int) – Axis along which to determine if is grouped.

  • kwargs (dict) – Additional keyword arguments.

Returns:

grouped – True or False indicating whether the GeneticMap has been sorted and grouped.

Return type:

bool

is_grouped_vrnt(**kwargs)#

Determine whether the Matrix has been sorted and grouped along the variant axis.

Parameters:

kwargs (dict) – Additional keyword arguments.

Returns:

grouped – True or False indicating whether the Matrix has been sorted and grouped.

Return type:

bool

lexsort(keys=None, axis=-1, **kwargs)#

Perform an indirect stable sort using a tuple of keys.

Parameters:
  • keys (tuple, None) – A tuple of columns to be sorted. The last column is the primary sort key. If None, sort using vrnt_chrgrp as primary key, and vrnt_phypos as secondary key.

  • axis (int) – The axis of the Matrix over which to sort values.

  • kwargs (dict) – Additional keyword arguments.

Returns:

indices – Array of indices that sort the keys.

Return type:

numpy.ndarray

lexsort_vrnt(keys=None, **kwargs)#

Perform an indirect stable sort using a sequence of keys along the variant axis.

Parameters:
  • keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.

  • kwargs (dict) – Additional keyword arguments.

Returns:

indices – Array of indices that sort the keys along the specified axis.

Return type:

A (N,) ndarray of ints

property mat: ndarray#

Pointer to raw numpy.ndarray object.

property mat_ndim: int#

Number of dimensions of the raw numpy.ndarray.

property mat_shape: tuple#

Shape of the raw numpy.ndarray.

property nvrnt: int#

Number of variants.

remove(obj, axis=-1, **kwargs)#

Remove sub-arrays along an axis.

Parameters:
  • obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.

  • axis (int) – The axis along which to remove the subarray defined by obj.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

remove_vrnt(obj, **kwargs)#

Remove sub-arrays along the variant axis.

Parameters:
  • obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

reorder(indices, axis=-1, **kwargs)#

Reorder the VariantMatrix.

Parameters:
  • indices (numpy.ndarray) – Indices of where to place elements.

  • axis (int) – The axis over which to reorder values.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

reorder_vrnt(indices, **kwargs)#

Reorder elements of the Matrix along the variant axis using an array of indices. Note this modifies the Matrix in-place.

Parameters:
  • indices (A (N,) ndarray of ints) – Array of indices that reorder the matrix along the specified axis.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

select(indices, axis=-1, **kwargs)#

Select certain values from the matrix.

Parameters:
  • indices (array_like (Nj, ...)) – The indices of the values to select.

  • axis (int) – The axis along which values are selected.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – The output DenseVariantMatrix with values selected. Note that select does not occur in-place: a new DenseVariantMatrix is allocated and filled.

Return type:

DenseVariantMatrix

select_vrnt(indices, **kwargs)#

Select certain values from the Matrix along the variant axis.

Parameters:
  • indices (array_like (Nj, ...)) – The indices of the values to select.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – The output Matrix with values selected. Note that select does not occur in-place: a new Matrix is allocated and filled.

Return type:

Matrix

sort(keys, axis=-1, **kwargs)#

Reset metadata for corresponding axis: name, stix, spix, len. Sort the VariantMatrix using a tuple of keys.

Parameters:
  • keys (tuple, None) – A tuple of columns to be sorted. The last column is the primary sort key. If None, sort using vrnt_chrgrp as primary key, and vrnt_phypos as secondary key.

  • axis (int) – The axis over which to sort values.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

sort_vrnt(keys=None, **kwargs)#

Sort slements of the Matrix along the variant axis using a sequence of keys. Note this modifies the Matrix in-place.

Parameters:
  • keys (A (k, N) array or tuple containing k (N,)-shaped sequences) – The k different columns to be sorted. The last column (or row if keys is a 2D array) is the primary sort key.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

to_hdf5(filename, groupname=None, overwrite=True)#

Write DenseVariantMatrix to an HDF5 file.

Parameters:
  • filename (str, Path, h5py.File) – If str, an HDF5 file name to which to write. File is closed after writing. If h5py.File, an opened HDF5 file to which to write. File is not closed after writing.

  • groupname (str, None) – If str, an HDF5 group name under which the DenseMatrix data is stored. If None, the DenseMatrix is written to the base HDF5 group.

  • overwrite (bool) – Whether to overwrite values in an HDF5 file if a field already exists.

Return type:

None

ungroup(axis=-1, **kwargs)#

Ungroup the DenseVariantMatrix along an axis by removing grouping metadata.

Parameters:
  • axis (int) – The axis along which values should be ungrouped.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

ungroup_vrnt(**kwargs)#

Ungroup the DenseVariantMatrix along the variant axis by removing variant group metadata.

Parameters:

kwargs (dict) – Additional keyword arguments.

Return type:

None

property vrnt_axis: int#

Axis along which variants are stored.

property vrnt_chrgrp: ndarray | None#

Variant chromosome group label.

property vrnt_chrgrp_len: ndarray | None#

Variant chromosome group length.

property vrnt_chrgrp_name: ndarray | None#

Variant chromosome group names.

property vrnt_chrgrp_spix: ndarray | None#

Variant chromosome group stop indices.

property vrnt_chrgrp_stix: ndarray | None#

Variant chromosome group start indices.

property vrnt_genpos: ndarray | None#

Variant genetic position.

property vrnt_hapalt: ndarray | None#

Variant haplotype sequence.

property vrnt_hapgrp: ndarray | None#

Variant haplotype group label.

property vrnt_hapref: ndarray | None#

Variant reference haplotype sequence.

property vrnt_mask: ndarray | None#

Variant mask.

property vrnt_name: ndarray | None#

Variant name.

property vrnt_phypos: ndarray | None#

Variant physical position.

property vrnt_xoprob: ndarray | None#

Variant crossover sequential probability.