code: def collect_expression(sample_frame, ref_targets, ref_sample):
      
      by_gene = {'Sample': sample_frame['Sample'], 'Target': sample_frame['Target']}
      for target in ref_targets:
          by_gene[target] = expression_ddcq(sample_frame, target, ref_sample)
      return pd.DataFrame(by_gene)
docs: Calculates the expression of all rows in the sample_frame relative to
      each of the ref_targets. Used in rank_targets.
  
      :param DataFrame sample_frame: A sample data frame.
      :param iterable ref_targets: A sequence of targets from the Target column of
          the sample frame.
      :param string ref_sample: The name of the sample to which expression should
          be referenced.
      :return: a DataFrame of relative expression; rows represent rows of the
          sample_frame and columns represent each of the ref_targets.
      :rtype: DataFrame