def split(self, point=None):
if point is None:<EOL><INDENT>point = len(self) / <NUM_LIT:2><EOL><DEDENT>if point < <NUM_LIT:0>:<EOL><INDENT>raise NGSReadError("<STR_LIT>" +<EOL>"<STR_LIT>" + str(point) + "<STR_LIT:)>")<EOL><DEDENT>if point > len(self):<EOL><INDENT>raise NGSReadError("<STR_LIT>" +<EOL>"<STR_LIT>" + str(point) + "<STR_LIT:)>")<EOL><DEDENT>r1 = NGSRead(self.sequenceData[:point], self.name + "<STR_LIT>",<EOL>self.seq_qual[:point])<EOL>r2 = NGSRead(self.sequenceData[point:], self.name + "<STR_LIT>",<EOL>self.seq_qual[point:])<EOL>return r1, r2<EOL>
Split this read into two halves. Original sequence is left unaltered.

The name of the resultant reads will have '.1' and '.2' appended to the
name from the original read.

:param point: the point (index, starting from 0) at which to split this
              read -- everything before this index will be placed into the
              first sequence, and everything at or after this index will be
              placed in the second resultant sequence. If None
              (the default), then we split in the middle; if the original
              size is not a multiple of 2, the extra nucleotide is placed
              into the second resultant sequence. Must be >= 0
              and <= length of sequence.
:return: two NGSRead objects which correspond to the split of this
         sequence.