skbio.metadata.IntervalMetadata.concat#
- classmethod IntervalMetadata.concat(interval_metadata)[source]#
Concatenate an iterable of
IntervalMetadataobjects.It concatenates the multiple
IntervalMetadataobjects into one coordinate space. The order of the objects in the input iterable matters. The coordinate of the secondInterableMetadatawill be shifted up with the length of the firstIntervalMetadataobject.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
IntervalMetadataobjects:>>> 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