<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def apply_effect_expression_filters( effects, gene_expression_dict, gene_expression_threshold, transcript_expression_dict, transcript_expression_threshold):
 """ Filter collection of varcode effects by given gene and transcript expression thresholds. Parameters effects : varcode.EffectCollection gene_expression_dict : dict gene_expression_threshold : float transcript_expression_dict : dict transcript_expression_threshold : float """

    if gene_expression_dict:
        effects = apply_filter(
            lambda effect: (
                gene_expression_dict.get(effect.gene_id, 0.0) >=
                gene_expression_threshold),
            effects,
            result_fn=effects.clone_with_new_elements,
            filter_name="Effect gene expression (min = %0.4f)" % gene_expression_threshold)

    if transcript_expression_dict:
        effects = apply_filter(
            lambda effect: (
                transcript_expression_dict.get(effect.transcript_id, 0.0) >=
                transcript_expression_threshold
            ),
            effects,
            result_fn=effects.clone_with_new_elements,
            filter_name=(
                "Effect transcript expression (min=%0.4f)" % (
                    transcript_expression_threshold,)))
    return effects