pegasus.set_group_attribute

pegasus.set_group_attribute(data, attribute_string)[source]

Set group attributes used in batch correction.

Batch correction assumes the differences in gene expression between channels are due to batch effects. However, in many cases, we know that channels can be partitioned into several groups and each group is biologically different from others. In this case, pegasus will only perform batch correction for channels within each group.

Parameters
  • data (pegasusio.MultimodalData) – Annotated data matrix with rows for cells and columns for genes.

  • attribute_string (str) –

    Attributes used to construct groups:

    • None

      Assume all channels are from one group.

    • attr

      Define groups by sample attribute attr, which is a keyword in data.obs.

    • att1+att2+...+attrn

      Define groups by the Cartesian product of these n attributes, which are keywords in data.obs.

    • attr=value_11,...value_1n_1;value_21,...value_2n_2;...;value_m1,...,value_mn_m

      In this form, there will be (m+1) groups. A cell belongs to group i (i > 1) if and only if its sample attribute attr, which is a keyword in data.obs, has a value among value_i1, … value_in_i. A cell belongs to group 0 if it does not belong to any other groups.

Returns

Update data.obs:

  • data.obs["Group"]: Group ID for each cell.

Return type

None

Examples

>>> pg.set_group_attribute(data, attr_string = "Individual")
>>> pg.set_group_attribute(data, attr_string = "Individual+assignment")
>>> pg.set_group_attribute(data, attr_string = "Channel=1,3,5;2,4,6,8")