DenseGenicVarianceMatrix#

class pybrops.model.vmat.DenseGenicVarianceMatrix.DenseGenicVarianceMatrix(mat, taxa=None, taxa_grp=None, trait=None, **kwargs)[source]#

Bases: DenseSquareTaxaTraitMatrix, GenicVarianceMatrix

A semi-concrete class for dense genic variance matrices.

The purpose of this semi-concrete class is to provide functionality for:
  1. Object construction of dense genic variance matrices.

Methods responsible for estimating genic variances from genomic models remain abstract and must be implemented by inheriting classes.

Constructor for the concrete class DenseGenicVarianceMatrix.

Parameters:
  • mat (numpy.ndarray) – Array used to construct the object.

  • taxa (numpy.ndarray, None) – Taxa names.

  • taxa_grp (numpy.ndarray, None) – Taxa groupings.

  • trait (numpy.ndarray, None) – Trait names.

  • kwargs (dict) – Additional keyword arguments.

Methods

adjoin

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

adjoin_taxa

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

adjoin_trait

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

append

Append values to the matrix.

append_taxa

Append values to the Matrix along the taxa axis.

append_trait

Append values to the Matrix along the trait axis.

concat

Concatenate matrices together along an axis.

concat_taxa

Concatenate list of Matrix together along the taxa axis.

concat_trait

Concatenate list of Matrix together along the trait axis.

copy

Make a shallow copy of the DenseGenicVarianceMatrix.

deepcopy

Make a deep copy of the DenseGenicVarianceMatrix.

delete

Delete sub-arrays along an axis.

delete_taxa

Delete sub-arrays along the taxa axis.

delete_trait

Delete sub-arrays along the trait axis.

from_csv

Read a DenseSquareTaxaTraitMatrix from a CSV file.

from_gmod

Estimate genetic variances from a GenomicModel.

from_hdf5

Read DenseSquareTaxaTraitMatrix from an HDF5 file.

from_pandas

Import a DenseSquareTaxaTraitMatrix from a pandas.DataFrame.

group

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

group_taxa

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

incorp

Incorporate values along the given axis before the given indices.

incorp_taxa

Incorporate values along the taxa axis before the given indices.

incorp_trait

Incorporate values along the trait axis before the given indices.

insert

Insert values along the given axis before the given indices.

insert_taxa

Insert values along the taxa axis before the given indices.

insert_trait

Insert values along the trait axis before the given indices.

is_grouped

Determine whether the Matrix has been sorted and grouped.

is_grouped_taxa

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

is_square

Determine whether the axis lengths for the square axes are identical.

is_square_taxa

Determine whether the taxa axes lengths for the square axes are identical.

lexsort

Perform an indirect stable sort using a tuple of keys.

lexsort_taxa

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

lexsort_trait

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

remove

Remove sub-arrays along an axis.

remove_taxa

Remove sub-arrays along the taxa axis.

remove_trait

Remove sub-arrays along the trait axis.

reorder

Reorder the VariantMatrix.

reorder_taxa

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

reorder_trait

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

select

Select certain values from the matrix.

select_taxa

Select certain values from the Matrix along the taxa axis.

select_trait

Select certain values from the Matrix along the trait axis.

sort

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

sort_taxa

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

sort_trait

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

to_csv

Export a DenseSquareTaxaTraitMatrix to a CSV file.

to_hdf5

Write DenseSquareTaxaTraitMatrix to an HDF5 file.

to_pandas

Export a DenseSquareTaxaTraitMatrix to a pandas.DataFrame.

ungroup

Ungroup the DenseSquareTaxaMatrix along an axis by removing grouping metadata.

ungroup_taxa

Ungroup the DenseTaxaMatrix along the taxa axis by removing taxa group metadata.

Attributes

epgc

Description for property epgc.

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.

nsquare

Number of axes that are square.

nsquare_taxa

Number of taxa axes that are square.

ntaxa

Number of taxa

ntrait

Number of traits.

square_axes

Get axis indices for axes that are square

square_axes_len

Axis lengths for axes that are square.

square_taxa_axes

Axis indices for taxa axes that are square.

square_taxa_axes_len

Axis lengths for axes that are square.

taxa

Taxa label array

taxa_axis

First square axis along which taxa are stored

taxa_grp

Taxa group label.

taxa_grp_len

Taxa group length.

taxa_grp_name

Taxa group name.

taxa_grp_spix

Taxa group stop index.

taxa_grp_stix

Taxa group start index.

trait

Trait label.

trait_axis

Axis along which traits are stored.

__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, taxa=None, taxa_grp=None, trait=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.

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

  • taxa_grp (numpy.ndarray) – Taxa groups to adjoin to the Matrix. If values is a DenseSquareTaxaTraitMatrix that has a non-None taxa_grp field, providing this argument overwrites the field.

  • trait (numpy.ndarray, None) – Trait names to adjoin to the Matrix. If values is a DenseSquareTaxaTraitMatrix that has a non-None taxa_grp field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseSquareTaxaTraitMatrix

adjoin_taxa(values, taxa=None, taxa_grp=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.

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

  • taxa_grp (numpy.ndarray) – Taxa groups to adjoin to the Matrix. If values is a DenseSquareTaxaMatrix that has a non-None taxa_grp field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseSquareTaxaMatrix

adjoin_trait(values, trait=None, **kwargs)#

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

Parameters:
  • values (DenseTraitMatrix, numpy.ndarray) – Values to be adjoined to the Matrix.

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

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseTraitMatrix

append(values, axis=-1, taxa=None, taxa_grp=None, trait=None, **kwargs)#

Append values to the matrix.

Parameters:
  • values (DenseSquareTaxaTraitMatrix, 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.

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

  • taxa_grp (numpy.ndarray) – Taxa groups to append to the Matrix. If values is a DenseSquareTaxaTraitMatrix that has a non-None taxa_grp field, providing this argument overwrites the field.

  • trait (numpy.ndarray, None) – Trait names to append to the Matrix. If values is a DenseSquareTaxaTraitMatrix that has a non-None taxa_grp field, providing this argument overwrites the field.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

append_taxa(values, taxa=None, taxa_grp=None, **kwargs)#

Append values to the Matrix along the taxa axis.

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

  • taxa (numpy.ndarray) – Taxa names to append to the Matrix.

  • taxa_grp (numpy.ndarray) – Taxa groups to append to the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

append_trait(values, trait=None, **kwargs)#

Append values to the Matrix along the trait axis.

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

  • trait (numpy.ndarray) – Trait names to append to the Matrix.

  • 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 DenseSquareTaxaTraitMatrix. Note that concat does not occur in-place: a new DenseSquareTaxaTraitMatrix is allocated and filled.

Return type:

DenseSquareTaxaTraitMatrix

classmethod concat_taxa(mats, **kwargs)#

Concatenate list of Matrix together along the taxa 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 DenseSquareTaxaMatrix. Note that concat does not occur in-place: a new DenseSquareTaxaMatrix is allocated and filled.

Return type:

DenseSquareTaxaMatrix

classmethod concat_trait(mats, **kwargs)#

Concatenate list of Matrix together along the trait axis.

Parameters:
  • mats (Sequence of DenseTraitMatrix) – List of DenseTraitMatrix 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 DenseTraitMatrix. Note that concat does not occur in-place: a new DenseTraitMatrix is allocated and filled.

Return type:

DenseTraitMatrix

copy()[source]#

Make a shallow copy of the DenseGenicVarianceMatrix.

Returns:

out – A shallow copy of the original DenseGenicVarianceMatrix.

Return type:

DenseGenicVarianceMatrix

deepcopy(memo=None)[source]#

Make a deep copy of the DenseGenicVarianceMatrix.

Parameters:

memo (dict) – Dictionary of memo metadata.

Returns:

out – A deep copy of the original DenseGenicVarianceMatrix.

Return type:

DenseGenicVarianceMatrix

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 DenseSquareTaxaTraitMatrix with deleted elements. Note that concat does not occur in-place: a new DenseSquareTaxaTraitMatrix is allocated and filled.

Return type:

DenseSquareTaxaTraitMatrix

delete_taxa(obj, **kwargs)#

Delete sub-arrays along the taxa 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 DenseSquareTaxaMatrix with deleted elements. Note that concat does not occur in-place: a new DenseSquareTaxaMatrix is allocated and filled.

Return type:

DenseSquareTaxaMatrix

delete_trait(obj, **kwargs)#

Delete sub-arrays along the trait 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:

DenseTraitMatrix

property epgc: tuple#

Description for property epgc.

classmethod from_csv(filename, taxa_colnames=True, taxa_grp_colnames=True, trait_colnames=True, value_colname='value', ntaxaaxes=2, sep=',', header=0, **kwargs)#

Read a DenseSquareTaxaTraitMatrix from a CSV file.

Parameters:
  • filename (str) – CSV file name from which to read.

  • taxa_colnames (bool, str, Integral, Sequence of str or Integral, None, default = True) – Sequence of column names or indices from which to read taxa axis columns. There must be one column name or index for each taxa axis. If an element in the sequence cannot be None; all columns must be present. If bool, then import using default names if True or raise error if False. If str, then one taxa axis column is assumed. If Integral, then one taxa axis column is assumed. If None, then raise error.

  • taxa_grp_colnames (bool, str, Integral, Sequence of str or None, None, default = True) – Sequence of column names from which to read taxa group axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then import using default names if True or raise error if False. If str, then one taxa group axis column is assumed. If Integral, then one taxa group axis column is assumed. If None, then raise error.

  • trait_colnames (bool, str, Integral, Sequence of str or Integral, None, default = True) – Sequence of column names or indices from which to read trait columns. There must be one column name for each trait. If an element in the sequence is None, then do not export the column. If bool, then import using default names if True or raise error if False. If str, then one column name is assumed. If Integral, then one column name is assumed. If None, then raise error.

  • value_colname (str, Integral, default = "value") – Name or index of the value column.

  • ntaxaaxes (Integral) – Expected number of taxa axes for the matrix.

  • sep (str) – CSV file separator.

  • header (int) – Header row index.

  • kwargs (dict) – Additional keyword arguments to use for dictating importing from a CSV.

Returns:

out – An object read from a CSV file.

Return type:

CSVInputOutput

abstract classmethod from_gmod(gmod, pgmat, nprogeny, **kwargs)#

Estimate genetic variances from a GenomicModel.

Parameters:
  • gmod (GenomicModel) – GenomicModel with which to estimate genetic variances.

  • pgmat (PhasedGenotypeMatrix) – Input genomes to use to estimate genetic variances.

  • nprogeny (int) – Number of progeny to simulate per cross to estimate genetic variance.

  • kwargs (dict) – Additional keyword arguments.

Returns:

out – A matrix of genic variance estimations.

Return type:

GenicVarianceMatrix

classmethod from_hdf5(filename, groupname=None)#

Read DenseSquareTaxaTraitMatrix 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 DenseSquareTaxaTraitMatrix data is stored. If None, DenseSquareTaxaTraitMatrix is read from base HDF5 group.

Returns:

out – A dense matrix read from file.

Return type:

DenseSquareTaxaTraitMatrix

classmethod from_pandas(df, taxa_colnames=True, taxa_grp_colnames=True, trait_colnames=True, value_colname='value', ntaxaaxes=2, **kwargs)#

Import a DenseSquareTaxaTraitMatrix from a pandas.DataFrame.

Parameters:
  • df (pandas.DataFrame) – Pandas dataframe from which to read.

  • taxa_colnames (bool, str, Integral, Sequence of str or Integral, None, default = True) – Sequence of column names or indices from which to read taxa axis columns. There must be one column name or index for each taxa axis. If an element in the sequence cannot be None; all columns must be present. If bool, then import using default names if True or raise error if False. If str, then one taxa axis column is assumed. If Integral, then one taxa axis column is assumed. If None, then raise error.

  • taxa_grp_colnames (bool, str, Integral, Sequence of str or None, None, default = True) – Sequence of column names from which to read taxa group axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then import using default names if True or raise error if False. If str, then one taxa group axis column is assumed. If Integral, then one taxa group axis column is assumed. If None, then raise error.

  • trait_colnames (bool, str, Integral, Sequence of str or Integral, None, default = True) – Sequence of column names or indices from which to read trait columns. There must be one column name for each trait. If an element in the sequence is None, then do not export the column. If bool, then import using default names if True or raise error if False. If str, then one column name is assumed. If Integral, then one column name is assumed. If None, then raise error.

  • value_colname (str, Integral, default = "value") – Name or index of the value column.

  • ntaxaaxes (Integral) – Expected number of taxa axes for the matrix.

  • kwargs (dict) – Additional keyword arguments to be passed for dataframe construction.

Returns:

out – Output pandas dataframe.

Return type:

pandas.DataFrame

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

Sort the DenseSquareTaxaTraitMatrix 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_taxa(**kwargs)#

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

Parameters:

kwargs (dict) – Additional keyword arguments.

Return type:

None

incorp(obj, values, axis=-1, taxa=None, taxa_grp=None, trait=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.

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

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

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

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

incorp_taxa(obj, values, taxa=None, taxa_grp=None, **kwargs)#

Incorporate values along the taxa 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.

  • taxa (numpy.ndarray) – Taxa names to incorporate into the Matrix.

  • taxa_grp (numpy.ndarray) – Taxa groups to incorporate into the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

incorp_trait(obj, values, trait=None, **kwargs)#

Incorporate values along the trait 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.

  • trait (numpy.ndarray) – Trait names to incorporate into the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

insert(obj, values, axis=-1, taxa=None, taxa_grp=None, trait=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 (Matrix, numpy.ndarray) – Values to insert into the matrix.

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

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

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

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

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseSquareTaxaTraitMatrix

insert_taxa(obj, values, taxa=None, taxa_grp=None, **kwargs)#

Insert values along the taxa 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 (Matrix, numpy.ndarray) – Values to insert into the matrix.

  • taxa (numpy.ndarray) – Taxa names to insert into the Matrix.

  • taxa_grp (numpy.ndarray) – Taxa groups to insert into the Matrix.

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseSquareTaxaMatrix

insert_trait(obj, values, trait=None, **kwargs)#

Insert values along the trait 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 (Matrix, numpy.ndarray) – Values to insert into the matrix.

  • trait (numpy.ndarray) – Trait names to insert into the Matrix.

  • 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:

DenseTraitMatrix

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

Determine whether the Matrix has been sorted and grouped.

Parameters:
  • axis (int) – Axis to test for grouping.

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

bool

is_grouped_taxa(**kwargs)#

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

Parameters:

kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

bool

is_square()#

Determine whether the axis lengths for the square axes are identical.

Returns:

outTrue if all square axes are the same length. False if not all square axes are the same length.

Return type:

bool

is_square_taxa()#

Determine whether the taxa axes lengths for the square axes are identical.

Returns:

outTrue if all square taxa axes are the same length. False if not all square taxa axes are the same length.

Return type:

bool

lexsort(keys, 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.

  • 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_taxa(keys=None, **kwargs)#

Perform an indirect stable sort using a sequence of keys along the taxa 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

lexsort_trait(keys=None, **kwargs)#

Perform an indirect stable sort using a sequence of keys along the trait 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 nsquare: int#

Number of axes that are square.

property nsquare_taxa: int#

Number of taxa axes that are square.

property ntaxa: int#

Number of taxa

property ntrait: int#

Number of traits.

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_taxa(obj, **kwargs)#

Remove sub-arrays along the taxa 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

remove_trait(obj, **kwargs)#

Remove sub-arrays along the trait 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_taxa(indices, **kwargs)#

Reorder elements of the Matrix along the taxa 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

reorder_trait(indices, **kwargs)#

Reorder elements of the Matrix along the trait 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 DenseSquareTaxaTraitMatrix with values selected. Note that select does not occur in-place: a new DenseSquareTaxaTraitMatrix is allocated and filled.

Return type:

DenseSquareTaxaTraitMatrix

select_taxa(indices, **kwargs)#

Select certain values from the Matrix along the taxa axis.

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

  • kwargs (dict) – Additional keyword arguments.

Returns:

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

Return type:

DenseSquareTaxaMatrix

select_trait(indices, **kwargs)#

Select certain values from the Matrix along the trait 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:

DenseTraitMatrix

sort(keys=None, 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.

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

  • kwargs (dict) – Additional keyword arguments.

Return type:

None

sort_taxa(keys=None, **kwargs)#

Sort slements of the Matrix along the taxa 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

sort_trait(keys=None, **kwargs)#

Sort slements of the Matrix along the trait 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

property square_axes: tuple#

Get axis indices for axes that are square

property square_axes_len: tuple#

Axis lengths for axes that are square.

property square_taxa_axes: tuple#

Axis indices for taxa axes that are square.

property square_taxa_axes_len: tuple#

Axis lengths for axes that are square.

property taxa: ndarray | None#

Taxa label array

property taxa_axis: int#

First square axis along which taxa are stored

property taxa_grp: ndarray | None#

Taxa group label.

property taxa_grp_len: ndarray | None#

Taxa group length.

property taxa_grp_name: ndarray | None#

Taxa group name.

property taxa_grp_spix: ndarray | None#

Taxa group stop index.

property taxa_grp_stix: ndarray | None#

Taxa group start index.

to_csv(filename, taxa_colnames=True, taxa_grp_colnames=True, trait_colnames=True, value_colname='value', sep=',', header=True, index=False, **kwargs)#

Export a DenseSquareTaxaTraitMatrix to a CSV file.

Parameters:
  • filename (str) – CSV file name to which to write.

  • taxa_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name taxa axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one taxa axis column is assumed. If None, then do not export taxa columns.

  • taxa_grp_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name taxa group axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one taxa group axis column is assumed. If None, then do not export taxa group columns.

  • trait_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name trait columns. There must be one column name for each trait. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one column name is assumed. If None, then do not export trait column.

  • value_colname (str, default = "value") – Name of the value column.

  • sep (str, default = ",") – Separator to use in the exported CSV file.

  • header (bool, default = True) – Whether to save header names.

  • index (bool, default = False) – Whether to save a row index in the exported CSV file.

  • kwargs (dict) – Additional keyword arguments to use for dictating export to a CSV.

Return type:

None

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

Write DenseSquareTaxaTraitMatrix 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 DenseSquareTaxaTraitMatrix data is stored. If None, the DenseSquareTaxaTraitMatrix 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

to_pandas(taxa_colnames=True, taxa_grp_colnames=True, trait_colnames=True, value_colname='value', **kwargs)#

Export a DenseSquareTaxaTraitMatrix to a pandas.DataFrame.

Parameters:
  • taxa_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name taxa axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one taxa axis column is assumed. If None, then do not export taxa columns.

  • taxa_grp_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name taxa group axis columns. There must be one column name for each taxa axis. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one taxa group axis column is assumed. If None, then do not export taxa group columns.

  • trait_colnames (bool, str, Sequence of str or None, None, default = True) – Sequence of column names for which to name trait columns. There must be one column name for each trait. If an element in the sequence is None, then do not export the column. If bool, then assign default names if True or do not export columns if False. If str, then one column name is assumed. If None, then do not export trait column.

  • value_colname (str, default = "value") – Name of the value column.

  • kwargs (dict) – Additional keyword arguments to be passed for dataframe construction.

Returns:

out – Output pandas dataframe.

Return type:

pandas.DataFrame

property trait: ndarray | None#

Trait label.

property trait_axis: int#

Axis along which traits are stored.

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

Ungroup the DenseSquareTaxaMatrix 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_taxa(**kwargs)#

Ungroup the DenseTaxaMatrix along the taxa axis by removing taxa group metadata.

Parameters:

kwargs (dict) – Additional keyword arguments.

Return type:

None