DenseSquareTraitMatrix#
- class pybrops.core.mat.DenseSquareTraitMatrix.DenseSquareTraitMatrix(mat, trait=None, **kwargs)[source]#
Bases:
DenseSquareMatrix
,DenseTraitMatrix
,SquareTraitMatrix
A concrete class for dense matrices with trait metadata and axes that are square.
The purpose of this abstract class is to merge the following implementations and interfaces:
DenseSquareMatrix (implementation)
DenseTraitMatrix (implementation)
SquareTraitMatrix (interface)
Constructor for DenseSquareTraitMatrix.
- Parameters:
mat (numpy.ndarray) – A numpy.ndarray used to construct the object.
trait (numpy.ndarray, None) – A numpy.ndarray of shape
(t,)
containing trait names. IfNone
, do not store any trait name information.kwargs (dict) – Additional keyword arguments used for cooperative inheritance.
Methods
Add additional elements to the end of the Matrix along an axis.
Add additional elements to the end of the Matrix along an axis.
Append values to the matrix.
Append values to the Matrix along the trait axis.
Concatenate matrices together along an axis.
Concatenate list of Matrix together along the trait axis.
Make a shallow copy of the Matrix.
Make a deep copy of the Matrix.
Delete sub-arrays along an axis.
Delete sub-arrays along the trait axis.
Read a
DenseTraitMatrix
from an HDF5 file.Incorporate values along the given axis before the given indices.
Incorporate values along the trait axis before the given indices.
Insert values along the given axis before the given indices.
Insert values along the trait axis before the given indices.
Determine whether the axis lengths for the square axes are identical.
Determine whether the trait axes lengths for the square axes are identical.
Perform an indirect stable sort using a tuple of keys.
Perform an indirect stable sort using a sequence of keys along the trait axis.
Remove sub-arrays along an axis.
Remove sub-arrays along the trait axis.
Reorder the VariantMatrix.
Reorder elements of the Matrix along the trait axis using an array of indices.
Select certain values from the matrix.
Select certain values from the Matrix along the trait axis.
Reset metadata for corresponding axis: name, stix, spix, len.
Sort slements of the Matrix along the trait axis using a sequence of keys.
Write
DenseTraitMatrix
to an HDF5 file.Attributes
Pointer to raw numpy.ndarray object.
Number of dimensions of the raw numpy.ndarray.
Shape of the raw numpy.ndarray.
Number of axes that are square.
Number of trait axes that are square.
Number of traits.
Axis indices for axes that are square.
Axis lengths for axes that are square.
Axis indices for trait axes that are square.
Axis lengths for axes that are square.
Trait label.
First square axis along which trait 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, trait=None, **kwargs)[source]#
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.
trait (numpy.ndarray) – Trait names to adjoin to the Matrix. If values is a DenseHaplotypeMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A copy of DenseSquareTraitMatrix with values appended to axis. Note that adjoin does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- adjoin_trait(values, trait=None, **kwargs)[source]#
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.
trait (numpy.ndarray) – Trait names to adjoin to the Matrix. If values is a DenseHaplotypeMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A copy of DenseSquareTraitMatrix with values appended to axis. Note that adjoin does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- append(values, axis=-1, trait=None, **kwargs)[source]#
Append values to the matrix.
- Parameters:
values (DenseHaplotypeMatrix, 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.
trait (numpy.ndarray) – Trait names to append to the Matrix. If values is a DenseSquareTraitMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- append_trait(values, trait=None, **kwargs)[source]#
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. If values is a DenseSquareTraitMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- classmethod concat(mats, axis=-1, **kwargs)[source]#
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 DenseSquareTraitMatrix. Note that concat does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- classmethod concat_trait(mats, **kwargs)[source]#
Concatenate list of Matrix together along the trait 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 DenseSquareTraitMatrix. Note that concat does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- copy()#
Make a shallow copy of the Matrix.
- Returns:
out – A shallow copy of the original DenseMatrix.
- Return type:
- 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:
- delete(obj, axis=-1, **kwargs)[source]#
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 DenseSquareTraitMatrix with deleted elements. Note that concat does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- delete_trait(obj, **kwargs)[source]#
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 DenseSquareTraitMatrix with deleted elements. Note that concat does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- classmethod from_hdf5(filename, groupname=None)#
Read a
DenseTraitMatrix
from an HDF5 file.- Parameters:
filename (str, Path, h5py.File) – If
str
orPath
, an HDF5 file name from which to read. File is closed after reading. Ifh5py.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 whichDenseTraitMatrix
data is stored. IfNone
,DenseTraitMatrix
is read from base HDF5 group.
- Returns:
out – A dense trait matrix read from file.
- Return type:
- incorp(obj, values, axis=-1, trait=None, **kwargs)[source]#
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.
trait (numpy.ndarray) – Trait names to incorporate into the Matrix. If values is a DenseSquareTraitMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Return type:
None
- incorp_trait(obj, values, trait=None, **kwargs)[source]#
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, trait=None, **kwargs)[source]#
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.
trait (numpy.ndarray) – Trait names to insert into the Matrix. If values is a DenseHaplotypeMatrix that has a non-None trait field, providing this argument overwrites the field.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A DenseSquareTraitMatrix with values inserted. Note that insert does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- insert_trait(obj, values, trait=None, **kwargs)[source]#
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 DenseSquareTraitMatrix with values inserted. Note that insert does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- is_square()[source]#
Determine whether the axis lengths for the square axes are identical.
- Returns:
out –
True
if all square axes are the same length.False
if not all square axes are the same length.- Return type:
bool
- is_square_trait()[source]#
Determine whether the trait axes lengths for the square axes are identical.
- Returns:
out –
True
if all square trait axes are the same length.False
if not all square trait axes are the same length.- Return type:
bool
- lexsort(keys, axis=-1, **kwargs)[source]#
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_trait(keys=None, **kwargs)[source]#
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_trait: int#
Number of trait axes that are square.
- property ntrait: int#
Number of traits.
- remove(obj, axis=-1, **kwargs)[source]#
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_trait(obj, **kwargs)[source]#
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)[source]#
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_trait(indices, **kwargs)[source]#
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)[source]#
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 DenseSquareTraitMatrix with values selected. Note that select does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- select_trait(indices, **kwargs)[source]#
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 DenseSquareTraitMatrix with values selected. Note that select does not occur in-place: a new DenseSquareTraitMatrix is allocated and filled.
- Return type:
- sort(keys=None, axis=-1, **kwargs)[source]#
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_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#
Axis indices for axes that are square.
- property square_axes_len: tuple#
Axis lengths for axes that are square.
- property square_trait_axes: tuple#
Axis indices for trait axes that are square.
- property square_trait_axes_len: tuple#
Axis lengths for axes that are square.
- to_hdf5(filename, groupname=None, overwrite=True)#
Write
DenseTraitMatrix
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. Ifh5py.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 theDenseMatrix
data is stored. IfNone
, theDenseMatrix
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
- property trait: ndarray | None#
Trait label.
- property trait_axis: int#
First square axis along which trait are stored