def intersect_match(blastn_dataframe, q_seq_dict, r_seq_dict): match_dict = dict() for i, data in blastn_dataframe.iterrows(): q_seq = q_seq_dict[data['q_name']] r_seq = r_seq_dict[data['r_name']] match = Match(data, q_seq, r_seq) if match.m_name not in match_dict: match_dict[match.m_name] = match else: match_dict[match.m_name].extend(data, q_seq, r_seq) for m_name in match_dict.keys(): match = match_dict[m_name] q_seq = q_seq_dict[match.q_name] r_seq = r_seq_dict[match.r_name] match.calculate_identity(q_seq, r_seq) return match_dict