@staticmethod
def find_longest_substring(full, partial):
    """Finds the longest overlap between a full length sequences and a partial length sequence.

        Parameters
        ----------
        full : str
            A full length sequence string.
        partial : str
            A partial length sequence string to compare against the full length sequence.

        Returns
        -------
        str
            The longest substring from the compared input strings.

        """
    var_1 = [([0] * (1 + len(partial))) for i in range(1 + len(full))]
    index_1, index_2 = 0, 0
    for x in range(1, 1 + len(full)):
        for y in range(1, 1 + len(partial)):
            if full[x - 1] == partial[y - 1]:
                var_1[x][y] = var_1[x - 1][y - 1] + 1
                if var_1[x][y] > index_1:
                    index_1 = var_1[x][y]
                    index_2 = x
            else:
                var_1[x][y] = 0
    return full[index_2 - index_1:index_2]
