def hit_groups(hits):
groups = []<EOL>current = False<EOL>for hit in sorted(hits, key = itemgetter(<NUM_LIT:0>)):<EOL><INDENT>if current is False:<EOL><INDENT>current = [hit]<EOL><DEDENT>elif check_overlap(current, hit) is True or check_order(current, hit) is False:<EOL><INDENT>groups.append(current)<EOL>current = [hit]<EOL><DEDENT>else:<EOL><INDENT>current.append(hit)<EOL><DEDENT><DEDENT>groups.append(current)<EOL>return groups<EOL>
* each sequence may have more than one 16S rRNA gene
* group hits for each gene