GrammaredSequence.distance(other, metric=None)[source]

Compute the distance to another sequence.

State: Experimental as of 0.4.0.

  • other (str, Sequence, or 1D np.ndarray (np.uint8 or '|S1')) – Sequence to compute the distance to. If other is a Sequence object, it must be the same type as this sequence. Other input types will be converted into a Sequence object of the same type as this sequence.

  • metric (function, optional) – Function used to compute the distance between this sequence and other. If None (the default), Hamming distance will be used (skbio.sequence.distance.hamming()). metric should take two skbio.Sequence objects and return a float. The sequence objects passed to metric will be the same type as this sequence. See skbio.sequence.distance for other predefined metrics that can be supplied via metric.


Distance between this sequence and other as defined by metric.

Return type



TypeError – If other is a Sequence object with a different type than this sequence.

See also

skbio.sequence.distance(), fraction_diff(), fraction_same()


>>> from skbio import Sequence
>>> s = Sequence('GGUC')
>>> t = Sequence('AGUC')

Compute Hamming distance (the default metric):

>>> s.distance(t)

Use a custom metric:

>>> def custom_metric(s1, s2): return 0.42
>>> s.distance(t, custom_metric)