parameters: (self, shift_fraction=0.70710678118655)
docstring: Rotates the sequence to a new starting point. It shifts by a non-rational (well, almost)
          fraction of the sequence length so repeated executions of this function don't result in
          repeated starting positions.
docstring_summary: Rotates the sequence to a new starting point. It shifts by a non-rational (well, almost)
          fraction of the sequence length so repeated executions of this function don't result in
          repeated starting positions.
docstring_tokens: Rotates the sequence to a new starting point . It shifts by a non - rational ( well almost ) fraction of the sequence length so repeated executions of this function don t result in repeated starting positions .
function: def rotate_circular_sequences(self, shift_fraction=0.70710678118655):
          """
          Rotates the sequence to a new starting point. It shifts by a non-rational (well, almost)
          fraction of the sequence length so repeated executions of this function don't result in
          repeated starting positions.
          """
          for seg_name, segment in self.segments.items():
              if self.segment_is_circular(seg_name):
                  seq = segment.forward_sequence
                  shift = int(len(seq) * shift_fraction)
                  seq = seq[shift:] + seq[:shift]
                  segment.forward_sequence = seq
                  segment.reverse_sequence = reverse_complement(seq)
function_tokens: def rotate_circular_sequences ( self , shift_fraction = 0.70710678118655 ) : for seg_name , segment in self . segments . items ( ) : if self . segment_is_circular ( seg_name ) : seq = segment . forward_sequence shift = int ( len ( seq ) * shift_fraction ) seq = seq [ shift : ] + seq [ : shift ] segment . forward_sequence = seq segment . reverse_sequence = reverse_complement ( seq )