def _getReactionBezierHandles(df, id):
    """
    Get the bezier handle positions of a reaction with its certain reaction id.

    Args:
        df: tuple-(df_CompartmentData, df_NodeData, df_ReactionData, df_ArbitraryTextData, df_ArbitraryShapeData).
    
        id: str-the id of the reaction.

    Returns:
        line_handle_positions_list: list of handle_positions.

        handle_positions: list-position of the handles: 
        [center handle, reactant handles, product handles].
    """
    idx_list = df[2].index[df[2]["id"] == id].tolist()
    handle_positions_list =[] 
    for i in range(len(idx_list)):
        handle_positions_list.append(df[2].iloc[idx_list[i]]["handles"])

    return handle_positions_list