Applied during the permutation test. Update the edges in the
        network to be weighted by their odds ratios. The odds ratio measures
        how unexpected the observed edge weight is based on the expected
        weight.

        Parameters
        -----------
        edges_expected_weight : list(tup(int, int), float)
          A tuple list of (edge id, edge expected weight) generated from the
          permutation test step.
        flag_as_significant : [set|list](tup(int, int))
          A set or list of edge ids that are considered significant against
          the null model of random associations generated in the permutation
          test

def weight_by_edge_odds_ratios(self,
                                   edges_expected_weight,
                                   flag_as_significant):
        """Applied during the permutation test. Update the edges in the
        network to be weighted by their odds ratios. The odds ratio measures
        how unexpected the observed edge weight is based on the expected
        weight.

        Parameters
        -----------
        edges_expected_weight : list(tup(int, int), float)
          A tuple list of (edge id, edge expected weight) generated from the
          permutation test step.
        flag_as_significant : [set|list](tup(int, int))
          A set or list of edge ids that are considered significant against
          the null model of random associations generated in the permutation
          test
        """
        for edge_id, expected_weight in edges_expected_weight:
            edge_obj = self.edges[edge_id]
            edge_obj.weight /= expected_weight
            if edge_id in flag_as_significant:
                edge_obj.significant = True
            else:
                edge_obj.significant = False