Pretty-print sequence(s) from a file.

def pprint(sequence_file, annotation=None, annotation_file=None,
           block_length=10, blocks_per_line=6):
    """
    Pretty-print sequence(s) from a file.
    """
    annotations = []

    if annotation:
        annotations.append([(first - 1, last) for first, last in annotation])

    try:
        # Peek to see if this looks like a FASTA file.
        line = next(sequence_file)
        if line.startswith('>'):
            _pprint_fasta(itertools.chain([line], sequence_file),
                          annotations=annotations,
                          annotation_file=annotation_file,
                          block_length=block_length,
                          blocks_per_line=blocks_per_line)
        else:
            _pprint_line(line.strip(), annotations=annotations,
                         annotation_file=annotation_file,
                         block_length=block_length,
                         blocks_per_line=blocks_per_line)
    except StopIteration:
        pass