def METHOD_NAME(input_file, column_names, output_file):
    # import .seg file
    seg = pd.read_table(input_file, index_col=None, header=None, names=column_names)
    seg.fillna('NA', inplace=True)
    # shift start position by 1 to the right
    seg['start'] = seg['start'].apply(lambda x: x+1)
    # split information in the last column into separate columns to match original segmentation file
    # first get the names of the columns
    other_columns = seg.iloc[:,-1]
    names = str(other_columns.name)
    col_names = list(names.split('|')[:-1])
    # then split values for each feature in a column
    seg = seg.join(seg[names].str.split('|', expand=True))
    seg = seg.drop(names, axis=1)
    seg = seg.iloc[:, :-1]
    # rename the columns to match original segmentation file
    seg.columns = seg.columns[:3].tolist()+col_names
    # rearrange columns order to match it original .seg file
    ID_column = seg[['ID']]
    other_columns = seg.drop(['ID'], axis=1)
    seg = ID_column.join(other_columns)
    # write resulting data frame to the output file
    seg.to_csv(output_file, header=True, index=False, sep="\t")