<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def linearize(self, index=0):
        '''Linearize circular DNA at an index.

        :param index: index at which to linearize.
        :type index: int
        :returns: A linearized version of the current sequence.
        :rtype: coral.DNA
        :raises: ValueError if the input is linear DNA.

        '''
        if not self.circular:
            raise ValueError('Cannot relinearize linear DNA.')
        copy = self.copy()
        # Snip at the index
        if index:
            return copy[index:] + copy[:index]
        copy.circular = False
        copy.top.circular = False
        copy.bottom.circular = False

        return copy