oktoberfest.pl.joint_plot

oktoberfest.pl.joint_plot(prosit_target, prosit_decoy, andromeda_target, andromeda_decoy, level, filename)

Generate joint plot to compare rescoring with and without peptide property predictions.

Parameters:
  • prosit_target (DataFrame) – mokapot / percolator target output for rescoring with peptide property prediction

  • prosit_decoy (DataFrame) – mokapot / percolator decoy output for rescoring with peptide property prediction

  • andromeda_target (DataFrame) – mokapot / percolator target output for rescoring without peptide property prediction

  • andromeda_decoy (DataFrame) – mokapot / percolator decoy output for rescoring without peptide property prediction

  • level (str) – The level on which to produce the comparison. Can be either “peptide” or “psm”

  • filename (Union[str, Path]) – the path to the location used for storing the plot

Raises:

ValueError – if a wrong level is provided

Example:

>>> from oktoberfest import plotting as pl
>>> import pandas as pd
>>> # Required columns: PSMId, score, q-value and peptide
>>> target_df = pd.DataFrame({"PSMId": ["F1-15-TAIASPEK-1-5","F2-59-LGLTKLQLH-3-9","F1-24-EFAVEVLK-2-4",
>>>                         "F2-63-ISDPTSPLRTR-2-9","F1-16-ADHPLRTR-1-5","F2-4-YLNPLRTK-1-5"],
>>>                         "q-value": [0.005,0.008,0.002,0.006,0.004,0.001],
>>>                         "score": [-0.1,-0.5,-0.5,0.7,0.4,0.5],
>>>                         "peptide": ["TAIASPEK","LGLTKLQLH","EFAVEVLK","ISDPTSPLRTSR","ADHPLRTR","YLNPLRTK"]})
>>> decoy_df = pd.DataFrame({"PSMId": ["F1-11-KLYNANYIK-3-7","F2-59-LGLTKLQLH-3-9","F1-24-EFAVEVLK-2-4"],
>>>                         "q-value": [0.006,0.004,0.003],
>>>                         "score": [-0.1,-0.5,-0.5],
>>>                         "peptide": ["KLYNANYIK","LGLTKLQLH","EFAVEVLK"]})
>>> andromeda_target_df = pd.DataFrame({"PSMId": ["F1-15-TAIASPEK-1-5","F2-59-LGLTKLQLH-3-9","F2-63-ISDPTSPLRTR-2-9",
>>>                                     "F1-16-ADHPLRTR-1-5","F2-4-YLNPLRTK-1-5"],
>>>                                     "q-value": [0.005,0.008,0.002,0.006,0.001],
>>>                                     "score": [-0.2,-0.8,0.5,0.3,0.4],
>>>                                     "peptide": ["TAIASPEK","LGLTKLQLH","ISDPTSPLRTSR","ADHPLRTR","YLNPLRTK"]})
>>> andromeda_decoy_df = pd.DataFrame({"PSMId": ["F1-11-KLYNANYIK-3-7","F2-59-LGLTKLQLH-3-9","F1-24-EFAVEVLK-2-4"],
>>>                                 "q-value": [0.007,0.005,0.002],
>>>                                 "score": [-0.2,-0.7,-0.8],
>>>                                 "peptide": ["KLYNANYIK","LGLTKLQLH","EFAVEVLK"]})
>>> pl.joint_plot(prosit_target=target_df,
>>>                 prosit_decoy=decoy_df,
>>>                 andromeda_target=andromeda_target_df,
>>>                 andromeda_decoy=andromeda_decoy_df,
>>>                 level="psm",
>>>                 filename="./tests/doctests/output/joint_plot.svg")