def locate(self, pattern):
        '''Find sequences matching a pattern. For a circular sequence, the
        search extends over the origin.

        :param pattern: str or NucleicAcidSequence for which to find matches.
        :type pattern: str or coral.DNA
        :returns: A list of top and bottom strand indices of matches.
        :rtype: list of lists of indices (ints)
        :raises: ValueError if the pattern is longer than either the input
                 sequence (for linear DNA) or twice as long as the input
                 sequence (for circular DNA).

        '''
        top_matches = self.top.locate(pattern)
        bottom_matches = self.bottom.locate(pattern)

        return [top_matches, bottom_matches]
Find sequences matching a pattern. For a circular sequence, the
        search extends over the origin.

        :param pattern: str or NucleicAcidSequence for which to find matches.
        :type pattern: str or coral.DNA
        :returns: A list of top and bottom strand indices of matches.
        :rtype: list of lists of indices (ints)
        :raises: ValueError if the pattern is longer than either the input
                 sequence (for linear DNA) or twice as long as the input
                 sequence (for circular DNA).