docs: def parse_csv_file(csv_filepath, expect_negative_correlation = False, STDev_cutoff = 1.0, headers_start_with = 'ID', comments_start_with = None, separator = ','):
      """
      Analyzes a CSV file.
      Expects a CSV file with a header line starting with headers_start_with e.g. "ID,experimental value, prediction 1 value, prediction 2 value,"
      Record IDs are expected in the first column.
      Experimental values are expected in the second column.
      Predicted values are expected in the subsequent columns.
  
      :param csv_filepath: The path to a CSV file containing experimental and predicted data for some dataset.
      :param expect_negative_correlation: See parse_csv.
      :param STDev_cutoff: See parse_csv.
      :param headers_start_with: See parse_csv.
      :param comments_start_with: See parse_csv.
      :param separator: See parse_csv.
      """
      assert (os.path.exists(csv_filepath))
      return parse_csv(get_file_lines(csv_filepath),
                       expect_negative_correlation = expect_negative_correlation, STDev_cutoff = STDev_cutoff, headers_start_with = headers_start_with,
                       comments_start_with = comments_start_with, separator = separator)