<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build(self, run_data: dict) -> models.Analysis: """Build a new Analysis object."""

        existing_run = self.store.find_analysis(family=run_data['family'],
                                                started_at=run_data['started_at'],
                                                status=run_data['status'])
        if existing_run:
            return None

        run_data['user'] = self.store.user(run_data['user'])
        new_failed_jobs = [self.store.Job(**job) for job in run_data['failed_jobs']]
        del run_data['failed_jobs']
        new_run = self.store.Analysis(**run_data)
        new_run.failed_jobs = new_failed_jobs
        return new_run