def reverse_complement_hsp_fragment(frag, query_length): rev = SearchIO.HSPFragment(hit_id=frag.hit_id, query_id=frag.query_id) rev.query_start = query_length - frag.query_end rev.query_end = query_length - frag.query_start rev.hit_start = frag.hit_start rev.hit_end = frag.hit_end if frag.hit_strand == -1: rev.hit_strand = +1 elif frag.hit_strand == +1: rev.hit_strand = -1 else: #O or None, rev.hit_strand = frag.hit_strand return rev