def calc_trees(self, indices=None, task_interface=None, jobhandler=default_jobhandler, batchsize=1,
                   show_progress=True, **kwargs):
        """
        Infer phylogenetic trees for the loaded Alignments

        :param indices: Only run inference on the alignments at these given indices
        :param task_interface: Inference tool specified via TaskInterface (default RaxmlTaskInterface)
        :param jobhandler: Launch jobs via this JobHandler (default SequentialJobHandler; also available are
            ThreadpoolJobHandler and ProcesspoolJobHandler for running inference in parallel)
        :param batchsize: Batch size for Thread- or ProcesspoolJobHandlers)
        :param kwargs: Remaining arguments to pass to the TaskInterface
        :return: None
        """
        if indices is None:
            indices = list(range(len(self)))

        if task_interface is None:
            task_interface = tasks.RaxmlTaskInterface()

        records = [self[i] for i in indices]

        # Scrape args from records
        args, to_delete = task_interface.scrape_args(records, **kwargs)

        # Dispatch work
        msg = '{} Tree estimation'.format(task_interface.name) if show_progress else ''
        map_result = jobhandler(task_interface.get_task(), args, msg, batchsize)

        # Process results
        with fileIO.TempFileList(to_delete):
            for rec, result in zip(records, map_result):
                #logger.debug('Result - {}'.format(result))
                rec.parameters.construct_from_dict(result)
Infer phylogenetic trees for the loaded Alignments

        :param indices: Only run inference on the alignments at these given indices
        :param task_interface: Inference tool specified via TaskInterface (default RaxmlTaskInterface)
        :param jobhandler: Launch jobs via this JobHandler (default SequentialJobHandler; also available are
            ThreadpoolJobHandler and ProcesspoolJobHandler for running inference in parallel)
        :param batchsize: Batch size for Thread- or ProcesspoolJobHandlers)
        :param kwargs: Remaining arguments to pass to the TaskInterface
        :return: None