<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_coach_go(infile):
 """Parse a GO output file from COACH and return a rank-ordered list of GO term predictions The columns in all files are: GO terms, Confidence score, Name of GO terms. The files are: - GO_MF.dat - GO terms in 'molecular function' - GO_BP.dat - GO terms in 'biological process' - GO_CC.dat - GO terms in 'cellular component' Args: infile (str):
 Path to any COACH GO prediction file Returns: Pandas DataFrame: Organized dataframe of results, columns defined below - ``go_id``: GO term ID - ``go_term``: GO term text - ``c_score``: confidence score of the GO prediction """

    go_list = []

    with open(infile) as go_file:
        for line in go_file.readlines():
            go_dict = {}

            go_split = line.split()
            go_dict['go_id'] = go_split[0]
            go_dict['c_score'] = go_split[1]
            go_dict['go_term'] = ' '.join(go_split[2:])

            go_list.append(go_dict)

    return go_list