def handle(self, *args, **options):
        print("Working on file {}".format(options['pdb_file']))

        frag_sp = FragmentSuperpose(options['pdb_file'])
        superposed_fragments = frag_sp.superpose_fragments(use_similar=True)
        if superposed_fragments == []:
            print("No fragments were aligned.")
        else:
            print("{} fragments were aligned.".format(
                len(superposed_fragments)))
            io = PDBIO()
            zipf = zipfile.ZipFile(options['pdb_file'].replace('.pdb', '.zip'),
                                   'a', zipfile.ZIP_DEFLATED)
            for fragment, pdb_data in superposed_fragments:
                io.set_structure(pdb_data)
                tmp = StringIO()
                io.save(tmp)
                zipf.writestr(
                    "all_fragments/{!s}".format(fragment.generate_filename()),
                    tmp.getvalue())
            zipf.close()