def collect_potential_dependencies(self, job):
    'Collect all potential dependencies of a job. These might contain\n        ambiguities. The keys of the returned dict represent the files to be considered.'
    dependencies = defaultdict(list)
    file2jobs = self.file2jobs
    input_files = list(job.unique_input)
    if self.is_batch_rule(job.rule):
        input_batch = self.batch.get_batch(input_files)
        if (len(input_batch) != len(input_files)):
            logger.info("Considering only batch {} for DAG computation.\nAll jobs beyond the batching rule are omitted until the final batch.\nDon't forget to run the other batches too.".format(self.batch))
            input_files = input_batch
    for file in input_files:
        if (file in job.subworkflow_input):
            continue
        try:
            if (file in job.dependencies):
                jobs = [self.new_job(job.dependencies[file], targetfile=file)]
            else:
                jobs = file2jobs(file)
            dependencies[file].extend(jobs)
        except MissingRuleException as ex:
            dependencies[file] = []
    return dependencies
Collect all potential dependencies of a job. These might contain
ambiguities. The keys of the returned dict represent the files to be considered.
def collect_potential_dependencies(self, job):
    'Collect all potential dependencies of a job. These might contain\n        ambiguities. The keys of the returned dict represent the files to be considered.'
    dependencies = defaultdict(list)
    file2jobs = self.file2jobs
    input_files = list(job.unique_input)
    if self.is_batch_rule(job.rule):
        input_batch = self.batch.get_batch(input_files)
        if (len(input_batch) != len(input_files)):
            logger.info("Considering only batch {} for DAG computation.\nAll jobs beyond the batching rule are omitted until the final batch.\nDon't forget to run the other batches too.".format(self.batch))
            input_files = input_batch
    for file in input_files:
        if (file in job.subworkflow_input):
            continue
        try:
            if (file in job.dependencies):
                jobs = [self.new_job(job.dependencies[file], targetfile=file)]
            else:
                jobs = file2jobs(file)
            dependencies[file].extend(jobs)
        except MissingRuleException as ex:
            dependencies[file] = []
    return dependencies