docs: def modificationlocalization(df):
      """
      Plot the % of Class I, II and III localised peptides according to standard thresholds.
  
      Generates a pie chart showing the % of peptides that fall within the Class I, II and III
      classifications based on localisation probability. These definitions are::
  
          Class I     0.75 < x
          Class II    0.50 > x <= 0.75
          Class III   0.25 > x <= 0.50
  
      Any peptides with a localisation score of <= 0.25 are excluded.
  
      :param df:
      :return: matplotlib axis
      """
  
  
      colors =  ["#78c679", "#d9f0a3", "#ffffe5"]
  
      lp = df['Localization prob'].values
      class_i = np.sum(lp > 0.75)
      class_ii = np.sum( (lp > 0.5) & (lp <= 0.75 ) )
      class_iii = np.sum( (lp > 0.25) & (lp <= 0.5 ) )
  
      cl = [class_i, class_ii, class_iii]
      total_v = class_i + class_ii + class_iii
      
      df = pd.DataFrame(cl)
  
      df.index = ["%.2f%% (%d)" % (100*v/total_v, v) for n, v in enumerate(cl) ]
      
      ax = df.plot(kind='pie', y=0, colors=colors)
  
      ax.legend(['Class I (> 0.75)', 'Class II (> 0.5 ≤ 0.75)', 'Class III (> 0.25, ≤ 0.5)'],
                loc='upper left', bbox_to_anchor=(1.0, 1.0))
      ax.set_ylabel('')
      ax.set_xlabel('')
  
      for t in ax.texts:
          t.set_fontsize(15)
  
      ax.figure.set_size_inches(6,6)
  
      return ax