skbio.metadata.IntervalMetadata.concat#
- classmethod IntervalMetadata.concat(interval_metadata)[source]#
Concatenate an iterable of
IntervalMetadata
objects.It concatenates the multiple
IntervalMetadata
objects into one coordinate space. The order of the objects in the input iterable matters. The coordinate of the secondInterableMetadata
will be shifted up with the length of the firstIntervalMetadata
object.This function is useful when you concatenate multiple sequences.
- Parameters:
- interval_metadataIterable (IntervalMetadata)
The interval metadata to concatenate.
- Returns:
- IntervalMetadata
Concatenated interval metadata.
Examples
>>> from skbio.metadata import IntervalMetadata
Create two
IntervalMetadata
objects:>>> im1 = IntervalMetadata(3) >>> _ = im1.add([(0, 2)], [(True, False)], {'gene': 'sagA'}) >>> im2 = IntervalMetadata(4) >>> _ = im2.add([(1, 4)], [(True, True)], {'gene': 'sagB'})
Concatenate them into a single coordinate space. The second
IntervalMetadata
’s interval features are all shifted up. The resultingIntervalMetadata
’s upper bound is the sum of upper bounds of concatenated objects:>>> im = IntervalMetadata.concat([im1, im2]) >>> im 2 interval features ------------------- Interval(interval_metadata=<...>, bounds=[(0, 2)], fuzzy=[(True, False)], metadata={'gene': 'sagA'}) Interval(interval_metadata=<...>, bounds=[(4, 7)], fuzzy=[(True, True)], metadata={'gene': 'sagB'}) >>> im.upper_bound 7