Parses EOWorkflow input arguments provided by user and raises an error if something is wrong. This is
        done automatically in the process of workflow execution

def parse_input_args(input_args):
        """ Parses EOWorkflow input arguments provided by user and raises an error if something is wrong. This is
        done automatically in the process of workflow execution
        """
        input_args = input_args if input_args else {}
        for task, args in input_args.items():
            if not isinstance(task, EOTask):
                raise ValueError('Invalid input argument {}, should be an instance of EOTask'.format(task))

            if not isinstance(args, (tuple, dict)):
                raise ValueError('Execution input arguments of each task should be a dictionary or a tuple, for task '
                                 '{} got arguments of type {}'.format(task.__class__.__name__, type(args)))

        return input_args