Fork me on GitHub

biom-format.org

biom.table.Table.update_ids

«  biom.table.Table.transpose   ::   Contents   ::   Converting between file formats  »

biom.table.Table.update_ids

Table.update_ids(id_map, axis='sample', strict=True, inplace=True)

Update the ids along the given axis

Parameters:

id_map : dict

Mapping of old to new ids

axis : {‘sample’, ‘observation’}, optional

Axis to search for id. Defaults to ‘sample’

strict : bool, optional

If True, raise an error if an id is present in the given axis but is not a key in id_map. If False, retain old identifier for ids that are present in the given axis but are not keys in id_map.

inplace : bool, optional

If True the ids are updated in self; if False the ids are updated in a new table is returned.

Returns:

Table

Table object where ids have been updated.

Raises:

UnknownAxisError

If provided an unrecognized axis.

TableException

If an id from self is not in id_map and strict is True.

Examples

Create a 2x3 BIOM table:

>>> data = np.asarray([[0, 0, 1], [1, 3, 42]])
>>> table = Table(data, ['O1', 'O2'], ['S1', 'S2', 'S3'])

Define a mapping of old to new sample ids:

>>> id_map = {'S1':'s1.1', 'S2':'s2.2', 'S3':'s3.3'}

Get the ids along the sample axis in the table:

>>> print table.ids(axis='sample')
['S1' 'S2' 'S3']

Update the sample ids and get the ids along the sample axis in the updated table:

>>> updated_table = table.update_ids(id_map, axis='sample')
>>> print updated_table.ids(axis='sample')
['s1.1' 's2.2' 's3.3']

«  biom.table.Table.transpose   ::   Contents   ::   Converting between file formats  »