Esempio n. 1
0
def aln_identity(aln1: AASeq, aln2: AASeq) -> float:
    """
    :param aln1: alignment sequence (with gaps)
    :param aln2: alignment sequence (with gaps)
    :return: the identity calculated by: (# identities)/(aln1 length, no gaps)
    >>> a = AASeq(aligned='-ABC-D')
    >>> b = AASeq(aligned='-ABCED')
    >>> aln_identity(a, b)
    1.0
    >>> b = AASeq(string='-BBCED')
    >>> aln_identity(a, b)
    0.75
    """
    res = 0.
    for i, aa in enumerate(aln1):
        res += 1. if aln1.get_aligned()[i] == aln2.get_aligned()[i] != '-' else 0.
    length = float(len(len(aln1)))
    return res/length
Esempio n. 2
0
def aln_identity(aln1: AASeq, aln2: AASeq) -> float:
    """
    :param aln1: alignment sequence (with gaps)
    :param aln2: alignment sequence (with gaps)
    :return: the identity calculated by: (# identities)/(aln1 length, no gaps)
    >>> a = AASeq(aligned='-ABC-D')
    >>> b = AASeq(aligned='-ABCED')
    >>> aln_identity(a, b)
    1.0
    >>> b = AASeq(string='-BBCED')
    >>> aln_identity(a, b)
    0.75
    """
    res = 0.
    for i, aa in enumerate(aln1):
        res += 1. if aln1.get_aligned()[i] == aln2.get_aligned(
        )[i] != '-' else 0.
    length = float(len(len(aln1)))
    return res / length