skbio.metadata.IntervalMetadata.concat¶
-
classmethod
IntervalMetadata.
concat
(interval_metadata)[source]¶ Concatenate an iterable of
IntervalMetadata
objects.State: Experimental as of 0.5.1.
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_metadata (Iterable (IntervalMetadata)) – The interval metadata to concatenate.
- Returns
Concatenated interval metadata.
- Return type
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