From dbbc6bf32312dc36f12bdeda866b6c0cd3775b08 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Mon, 23 Jan 2023 00:03:17 +0100 Subject: [PATCH 01/23] msfragger_pepxml in gui --- peptdeep/constants/default_settings.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/peptdeep/constants/default_settings.yaml b/peptdeep/constants/default_settings.yaml index 28c7753a..d3614e68 100644 --- a/peptdeep/constants/default_settings.yaml +++ b/peptdeep/constants/default_settings.yaml @@ -115,6 +115,7 @@ model_mgr: - maxquant - diann - speclib_tsv + - msfragger_pepxml psm_files: [] ms_file_type: alphapept_hdf ms_file_type_choices: From b974e381dfbbf7c13a3d012aeced5497cfa0be23 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Mon, 23 Jan 2023 19:58:37 +0100 Subject: [PATCH 02/23] CHORE: rt_to_irt docs --- peptdeep/protein/fasta.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peptdeep/protein/fasta.py b/peptdeep/protein/fasta.py index 84fda4fb..ff65e7de 100644 --- a/peptdeep/protein/fasta.py +++ b/peptdeep/protein/fasta.py @@ -128,7 +128,7 @@ def __init__(self, Defaults to False rt_to_irt : bool, optional - If convert predicted RT to iRT values + If convert predicted RT to iRT values, by default False """ SpecLibFasta.__init__(self, charged_frag_types=charged_frag_types, From beda8b3d5b8910120778c7c1206d381a448d4e8b Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Mon, 23 Jan 2023 23:41:54 +0100 Subject: [PATCH 03/23] speclib_tsv for transfer learning --- nbdev_nbs/pipeline_api.ipynb | 275 ++++++++++++---------- nbs/README.md | 3 - {nbs => nbs_tests}/speclib_from_dda.ipynb | 0 peptdeep/constants/default_settings.yaml | 1 + peptdeep/pipeline_api.py | 29 ++- 5 files changed, 175 insertions(+), 133 deletions(-) delete mode 100644 nbs/README.md rename {nbs => nbs_tests}/speclib_from_dda.ipynb (100%) diff --git a/nbdev_nbs/pipeline_api.ipynb b/nbdev_nbs/pipeline_api.ipynb index 3a1dacf4..652e49d6 100644 --- a/nbdev_nbs/pipeline_api.ipynb +++ b/nbdev_nbs/pipeline_api.ipynb @@ -64,50 +64,50 @@ "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:27> Platform information:\n", - "2023-01-20 09:28:27> system - Darwin\n", - "2023-01-20 09:28:27> release - 20.6.0\n", - "2023-01-20 09:28:27> version - 10.16\n", - "2023-01-20 09:28:27> machine - x86_64\n", - "2023-01-20 09:28:27> processor - i386\n", - "2023-01-20 09:28:27> cpu count - 8\n", - "2023-01-20 09:28:27> ram - 10.8/32.0 Gb (available/total)\n", - "2023-01-20 09:28:27> \n", - "2023-01-20 09:28:28> Python information:\n", - "2023-01-20 09:28:28> alphabase - 1.0.0\n", - "2023-01-20 09:28:28> biopython - 1.78\n", - "2023-01-20 09:28:28> click - 8.1.3\n", - "2023-01-20 09:28:28> lxml - 4.6.2\n", - "2023-01-20 09:28:28> numba - 0.54.0\n", - "2023-01-20 09:28:28> numpy - 1.19.4\n", - "2023-01-20 09:28:28> pandas - 1.3.5\n", - "2023-01-20 09:28:28> peptdeep - 1.0.1\n", - "2023-01-20 09:28:28> psutil - 5.8.0\n", - "2023-01-20 09:28:28> python - 3.8.3\n", - "2023-01-20 09:28:28> scikit-learn - 1.1.1\n", - "2023-01-20 09:28:28> streamlit - 1.16.0\n", - "2023-01-20 09:28:28> streamlit-aggrid - 0.2.1\n", - "2023-01-20 09:28:28> torch - 1.7.1\n", - "2023-01-20 09:28:28> tqdm - 4.56.0\n", - "2023-01-20 09:28:28> transformers - 4.25.1\n", - "2023-01-20 09:28:28> \n", - "2023-01-20 09:28:38> Generating the spectral library ...\n", - "2023-01-20 09:28:40> Predicting RT/IM/MS2 for 156 precursors ...\n", - "2023-01-20 09:28:40> Predicting RT ...\n" + "2023-01-23 23:37:33> Platform information:\n", + "2023-01-23 23:37:33> system - Darwin\n", + "2023-01-23 23:37:33> release - 20.6.0\n", + "2023-01-23 23:37:33> version - 10.16\n", + "2023-01-23 23:37:33> machine - x86_64\n", + "2023-01-23 23:37:33> processor - i386\n", + "2023-01-23 23:37:33> cpu count - 8\n", + "2023-01-23 23:37:33> ram - 11.4/32.0 Gb (available/total)\n", + "2023-01-23 23:37:33> \n", + "2023-01-23 23:37:33> Python information:\n", + "2023-01-23 23:37:33> alphabase - 1.0.1\n", + "2023-01-23 23:37:33> biopython - 1.78\n", + "2023-01-23 23:37:33> click - 8.1.3\n", + "2023-01-23 23:37:33> lxml - 4.6.2\n", + "2023-01-23 23:37:33> numba - 0.54.0\n", + "2023-01-23 23:37:33> numpy - 1.19.4\n", + "2023-01-23 23:37:33> pandas - 1.3.5\n", + "2023-01-23 23:37:33> peptdeep - 1.0.1\n", + "2023-01-23 23:37:33> psutil - 5.8.0\n", + "2023-01-23 23:37:33> python - 3.8.3\n", + "2023-01-23 23:37:33> scikit-learn - 1.1.1\n", + "2023-01-23 23:37:33> streamlit - 1.16.0\n", + "2023-01-23 23:37:33> streamlit-aggrid - 0.2.1\n", + "2023-01-23 23:37:33> torch - 1.7.1\n", + "2023-01-23 23:37:33> tqdm - 4.56.0\n", + "2023-01-23 23:37:33> transformers - 4.25.1\n", + "2023-01-23 23:37:33> \n", + "2023-01-23 23:37:37> Generating the spectral library ...\n", + "2023-01-23 23:37:38> Predicting RT/IM/MS2 for 156 precursors ...\n", + "2023-01-23 23:37:38> Predicting RT ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 13/13 [00:00<00:00, 46.66it/s]" + "100%|██████████| 13/13 [00:00<00:00, 49.43it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:41> Predicting mobility ...\n" + "2023-01-23 23:37:38> Predicting mobility ...\n" ] }, { @@ -115,30 +115,31 @@ "output_type": "stream", "text": [ "\n", - "100%|██████████| 13/13 [00:00<00:00, 67.14it/s]\n" + "100%|██████████| 13/13 [00:00<00:00, 54.33it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:41> Predicting MS2 ...\n" + "2023-01-23 23:37:39> Predicting MS2 ...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "100%|██████████| 13/13 [00:00<00:00, 19.11it/s]" + "\n", + "100%|██████████| 13/13 [00:00<00:00, 28.19it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:41> End predicting RT/IM/MS2\n", - "2023-01-20 09:28:41> Predicting the spectral library with 156 precursors and 0.01M fragments used 0.3971 GB memory\n", - "2023-01-20 09:28:41> Saving HDF library to /Users/zengwenfeng/peptdeep/spec_libs/predict.speclib.hdf ...\n" + "2023-01-23 23:37:39> End predicting RT/IM/MS2\n", + "2023-01-23 23:37:39> Predicting the spectral library with 156 precursors and 0.01M fragments used 0.3940 GB memory\n", + "2023-01-23 23:37:39> Saving HDF library to /Users/zengwenfeng/peptdeep/spec_libs/predict.speclib.hdf ...\n" ] }, { @@ -152,7 +153,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:42> Library generated!!\n" + "2023-01-23 23:37:39> Library generated!!\n" ] } ], @@ -187,102 +188,128 @@ "name": "stdout", "output_type": "stream", "text": [ - "2023-01-20 09:28:42> Platform information:\n", - "2023-01-20 09:28:42> system - Darwin\n", - "2023-01-20 09:28:42> release - 20.6.0\n", - "2023-01-20 09:28:42> version - 10.16\n", - "2023-01-20 09:28:42> machine - x86_64\n", - "2023-01-20 09:28:42> processor - i386\n", - "2023-01-20 09:28:42> cpu count - 8\n", - "2023-01-20 09:28:42> ram - 10.7/32.0 Gb (available/total)\n", - "2023-01-20 09:28:42> \n", - "2023-01-20 09:28:42> Python information:\n", - "2023-01-20 09:28:42> alphabase - 1.0.0\n", - "2023-01-20 09:28:42> biopython - 1.78\n", - "2023-01-20 09:28:42> click - 8.1.3\n", - "2023-01-20 09:28:42> lxml - 4.6.2\n", - "2023-01-20 09:28:42> numba - 0.54.0\n", - "2023-01-20 09:28:42> numpy - 1.19.4\n", - "2023-01-20 09:28:42> pandas - 1.3.5\n", - "2023-01-20 09:28:42> peptdeep - 1.0.1\n", - "2023-01-20 09:28:42> psutil - 5.8.0\n", - "2023-01-20 09:28:42> python - 3.8.3\n", - "2023-01-20 09:28:42> scikit-learn - 1.1.1\n", - "2023-01-20 09:28:42> streamlit - 1.16.0\n", - "2023-01-20 09:28:42> streamlit-aggrid - 0.2.1\n", - "2023-01-20 09:28:42> torch - 1.7.1\n", - "2023-01-20 09:28:42> tqdm - 4.56.0\n", - "2023-01-20 09:28:42> transformers - 4.25.1\n", - "2023-01-20 09:28:42> \n", - "2023-01-20 09:28:46> Loading PSMs and extracting fragments ...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "100%|██████████| 1/1 [00:01<00:00, 1.08s/it]" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2023-01-20 09:28:54> Training CCS model ...\n", - "2023-01-20 09:28:54> Finished training CCS model\n", - "2023-01-20 09:28:54> Training RT model ...\n", - "2023-01-20 09:28:54> 10 PSMs for RT model training/transfer learning\n", - "2023-01-20 09:28:54> Training with fixed sequence length: 0\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[Training] Epoch=1, lr=5e-05, loss=0.23635914623737336\n", - "[Training] Epoch=2, lr=0.0001, loss=0.23305423259735109\n", - "[Training] Epoch=3, lr=7.500000000000001e-05, loss=0.22809805870056152\n", - "[Training] Epoch=4, lr=2.500000000000001e-05, loss=0.22056499421596526\n", - "[Training] Epoch=5, lr=0.0, loss=0.21937111914157867\n", - "2023-01-20 09:28:55> Finished training RT model\n", - "2023-01-20 09:28:55> Training MS2 model ...\n", - "2023-01-20 09:28:55> 14 PSMs for MS2 model training/transfer learning\n", - "2023-01-20 09:28:55> Training with fixed sequence length: 0\n", - "[Training] Epoch=1, lr=5e-05, loss=0.023086506687104703\n", - "[Training] Epoch=2, lr=0.0001, loss=0.023529775300994517\n", - "[Training] Epoch=3, lr=7.500000000000001e-05, loss=0.020745731191709638\n", - "[Training] Epoch=4, lr=2.500000000000001e-05, loss=0.019724564673379064\n", - "[Training] Epoch=5, lr=0.0, loss=0.01900430452078581\n", - "2023-01-20 09:28:57> Finished training MS2 model\n", - "2023-01-20 09:28:57> Models were saved in /Users/zengwenfeng/peptdeep/refined_models\n" + "2023-01-23 23:37:40> Platform information:\n", + "2023-01-23 23:37:40> system - Darwin\n", + "2023-01-23 23:37:40> release - 20.6.0\n", + "2023-01-23 23:37:40> version - 10.16\n", + "2023-01-23 23:37:40> machine - x86_64\n", + "2023-01-23 23:37:40> processor - i386\n", + "2023-01-23 23:37:40> cpu count - 8\n", + "2023-01-23 23:37:40> ram - 11.3/32.0 Gb (available/total)\n", + "2023-01-23 23:37:40> \n", + "2023-01-23 23:37:40> Python information:\n", + "2023-01-23 23:37:40> alphabase - 1.0.1\n", + "2023-01-23 23:37:40> biopython - 1.78\n", + "2023-01-23 23:37:40> click - 8.1.3\n", + "2023-01-23 23:37:40> lxml - 4.6.2\n", + "2023-01-23 23:37:40> numba - 0.54.0\n", + "2023-01-23 23:37:40> numpy - 1.19.4\n", + "2023-01-23 23:37:40> pandas - 1.3.5\n", + "2023-01-23 23:37:40> peptdeep - 1.0.1\n", + "2023-01-23 23:37:40> psutil - 5.8.0\n", + "2023-01-23 23:37:40> python - 3.8.3\n", + "2023-01-23 23:37:40> scikit-learn - 1.1.1\n", + "2023-01-23 23:37:40> streamlit - 1.16.0\n", + "2023-01-23 23:37:40> streamlit-aggrid - 0.2.1\n", + "2023-01-23 23:37:40> torch - 1.7.1\n", + "2023-01-23 23:37:40> tqdm - 4.56.0\n", + "2023-01-23 23:37:40> transformers - 4.25.1\n", + "2023-01-23 23:37:40> \n", + "2023-01-23 23:37:43> Loading PSMs and extracting fragments ...\n", + "2023-01-23 23:37:50> Training CCS model ...\n", + "2023-01-23 23:37:50> 6 PSMs for CCS model training/transfer learning\n", + "2023-01-23 23:37:50> Training with fixed sequence length: 0\n", + "[Training] Epoch=1, lr=5e-05, loss=72.02513885498047\n", + "[Training] Epoch=2, lr=0.0001, loss=70.70065307617188\n", + "[Training] Epoch=3, lr=7.500000000000001e-05, loss=70.00852966308594\n", + "[Training] Epoch=4, lr=2.500000000000001e-05, loss=70.87555694580078\n", + "[Training] Epoch=5, lr=0.0, loss=69.33621215820312\n", + "2023-01-23 23:37:50> Finished training CCS model\n", + "2023-01-23 23:37:50> Training RT model ...\n", + "2023-01-23 23:37:50> 6 PSMs for RT model training/transfer learning\n", + "2023-01-23 23:37:50> Training with fixed sequence length: 0\n", + "[Training] Epoch=1, lr=5e-05, loss=0.1509222537279129\n", + "[Training] Epoch=2, lr=0.0001, loss=0.15018533170223236\n", + "[Training] Epoch=3, lr=7.500000000000001e-05, loss=0.1460469514131546\n", + "[Training] Epoch=4, lr=2.500000000000001e-05, loss=0.14407621324062347\n", + "[Training] Epoch=5, lr=0.0, loss=0.1382778435945511\n", + "2023-01-23 23:37:50> Finished training RT model\n", + "2023-01-23 23:37:50> Training MS2 model ...\n", + "2023-01-23 23:37:50> 6 PSMs for MS2 model training/transfer learning\n", + "2023-01-23 23:37:50> Training with fixed sequence length: 0\n", + "[Training] Epoch=1, lr=5e-05, loss=0.0506102591753006\n", + "[Training] Epoch=2, lr=0.0001, loss=0.05237181484699249\n", + "[Training] Epoch=3, lr=7.500000000000001e-05, loss=0.05081913247704506\n", + "[Training] Epoch=4, lr=2.500000000000001e-05, loss=0.045893214643001556\n", + "[Training] Epoch=5, lr=0.0, loss=0.04533657804131508\n", + "2023-01-23 23:37:50> Finished training MS2 model\n", + "2023-01-23 23:37:50> Models were saved in /Users/zengwenfeng/peptdeep/refined_models\n" ] } ], "source": [ + "from io import StringIO\n", "from peptdeep.pipeline_api import transfer_learn\n", "\n", - "alphapept_hdf = os.path.expanduser('~/Workspace/Data/Thermo_iRT/iRT.ms_data.hdf')\n", + "tsv_str = \"\"\"PrecursorCharge\tModifiedPeptide\tStrippedPeptide\tiRT\tLabeledPeptide\tPrecursorMz\tFragmentLossType\tFragmentNumber\tFragmentType\tFragmentCharge\tFragmentMz\tRelativeIntensity\tIonMobility\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t3\tb\t1\t326.1710473\t14.37029\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t3\ty\t1\t361.2081611\t37.7585\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t4\tb\t1\t397.2081611\t9.488808\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t4\ty\t1\t432.2452749\t100\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t5\tb\t1\t496.276575\t5.498003\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t5\ty\t1\t545.3293389\t74.56643\t0.9\n", + "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t6\ty\t2\t321.6946896\t51.50719\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t3\ty\t1\t411.1639269\t6.911595\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t3\ty\t1\t313.1870287\t17.38582\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t4\ty\t1\t510.2323409\t10.65426\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t4\ty\t1\t412.2554427\t37.41231\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t5\ty\t1\t609.3007548\t45.03617\t0.9\n", + "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t5\ty\t1\t511.3238566\t100\t0.9\n", + "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tnoloss\t3\ty\t1\t349.1717756\t9.20575\t0.9\n", + "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tnoloss\t6\ty\t1\t686.2756622\t10.37339\t0.9\n", + "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tH3PO4\t6\ty\t1\t588.298764\t100\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t3\ty\t1\t347.2288965\t88.27327\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t3\tb\t1\t256.1291795\t64.97146\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t4\ty\t1\t494.2973105\t100\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t4\tb\t1\t403.1975934\t35.17805\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t5\ty\t1\t661.2956694\t19.89741\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t5\tb\t1\t490.2296218\t40.04738\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t5\ty\t1\t563.3187712\t77.43164\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t6\tb\t1\t701.290584\t24.43497\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t6\tb\t1\t603.3136858\t63.09999\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t3\tb\t1\t238.1186147\t62.60851\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t5\tb\t1\t472.219057\t22.99903\t0.9\n", + "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t6\tb\t1\t585.303121\t66.30389\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t3\ty\t1\t329.1931797\t100\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t3\tb\t1\t268.165565\t5.755442\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t4\tb\t2\t267.0740493\t8.743931\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t4\ty\t1\t496.1915387\t27.69686\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t4\tb\t1\t435.1639239\t6.162673\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\t2(+H3+O4+P)\t4\tb\t1\t337.1870258\t10.84257\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t4\ty\t1\t398.2146405\t26.28527\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t5\ty\t1\t497.2830544\t28.41294\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t6\ty\t1\t762.2583115\t8.490795\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t6\ty\t1\t664.2814133\t32.87384\t0.9\n", + "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\t2(+H3+O4+P)\t6\ty\t1\t566.3045151\t35.87218\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t3\ty\t1\t331.1975964\t49.20179\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t4\ty\t1\t498.1959553\t10.89141\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t4\ty\t1\t400.2190571\t27.99594\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t5\ty\t1\t611.2800193\t14.11057\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t5\ty\t1\t513.3031211\t70.5295\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t6\ty\t1\t698.3120477\t60.23455\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t6\ty\t1\t600.3351495\t100\t0.9\n", + "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\t1(+H2+O)1(+H3+O4+P)\t6\ty\t1\t582.3245847\t5.233977\t0.9\n", + "\"\"\"\n", + "\n", "mgr_settings = global_settings['model_mgr']\n", - "mgr_settings['transfer']['psm_files'] = [alphapept_hdf]\n", - "mgr_settings['transfer']['psm_type'] = 'alphapept'\n", - "mgr_settings['transfer']['ms_file_type'] = 'alphapept_hdf'\n", - "mgr_settings['transfer']['ms_files'] = [alphapept_hdf]\n", + "mgr_settings['transfer']['psm_files'] = [StringIO(tsv_str)]\n", + "mgr_settings['transfer']['psm_type'] = 'speclib_tsv'\n", + "mgr_settings['transfer']['ms_file_type'] = 'speclib_tsv'\n", "mgr_settings['transfer']['epoch_ms2'] = 5\n", "mgr_settings['transfer']['warmup_epoch_ms2'] = 2\n", "mgr_settings['transfer']['epoch_rt_ccs'] = 5\n", "mgr_settings['transfer']['warmup_epoch_rt_ccs'] = 2\n", - "\n", - "if os.path.isfile(alphapept_hdf):\n", - " transfer_learn()\n", - "else:\n", - " print(\"`pipeline_api.transfer_learn()` will be not tested\")" + "transfer_learn()" ] }, { diff --git a/nbs/README.md b/nbs/README.md deleted file mode 100644 index d1785000..00000000 --- a/nbs/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Jupyter notebooks for PeptDeep - -All tutorial notebooks have been moved to [docs/nbs](../docs/nbs). \ No newline at end of file diff --git a/nbs/speclib_from_dda.ipynb b/nbs_tests/speclib_from_dda.ipynb similarity index 100% rename from nbs/speclib_from_dda.ipynb rename to nbs_tests/speclib_from_dda.ipynb diff --git a/peptdeep/constants/default_settings.yaml b/peptdeep/constants/default_settings.yaml index d3614e68..531cde15 100644 --- a/peptdeep/constants/default_settings.yaml +++ b/peptdeep/constants/default_settings.yaml @@ -123,6 +123,7 @@ model_mgr: - thermo_raw - mgf - mzml + - speclib_tsv ms_files: [] psm_num_to_train_ms2: 100000000 psm_num_per_mod_to_train_ms2: 50 diff --git a/peptdeep/pipeline_api.py b/peptdeep/pipeline_api.py index 3537854c..916f686f 100644 --- a/peptdeep/pipeline_api.py +++ b/peptdeep/pipeline_api.py @@ -13,6 +13,9 @@ get_charged_frag_types, concat_precursor_fragment_dataframes ) +from alphabase.spectral_library.reader import ( + SWATHLibraryReader +) from peptdeep.spec_lib.translate import mod_to_unimod_dict from peptdeep.settings import global_settings @@ -199,13 +202,27 @@ def transfer_learn(verbose=True): model_mgr.psm_num_to_train_ms2 > 0 and len(mgr_settings['transfer']['ms_files'])>0 ): - psm_df, frag_df = match_psms() + psm_df, frag_df = match_psms() else: - psm_df = import_psm_df( - mgr_settings['transfer']['psm_files'], - mgr_settings['transfer']['psm_type'], - ) - frag_df = None + if ( + mgr_settings['transfer']['ms_file_type'].lower()== 'speclib_tsv' + and mgr_settings['transfer']['psm_type'].lower() == 'speclib_tsv' + ): + dfs = [] + frag_inten_dfs = [] + for psm_file in mgr_settings['transfer']['psm_files']: + _lib = SWATHLibraryReader() + dfs.append(_lib.import_file(psm_file)) + frag_inten_dfs.append(_lib.fragment_intensity_df) + psm_df, frag_df = concat_precursor_fragment_dataframes( + dfs, frag_inten_dfs + ) + else: + psm_df = import_psm_df( + mgr_settings['transfer']['psm_files'], + mgr_settings['transfer']['psm_type'], + ) + frag_df = None logging.info("Training CCS model ...") model_mgr.train_ccs_model(psm_df) From 658be967ba085f91df766683a17f2ee2df28265e Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Mon, 23 Jan 2023 23:51:02 +0100 Subject: [PATCH 04/23] speclib_tsv for transfer learning --- CHANGELOG.md | 6 ++++++ peptdeep/webui/transfer_ui.py | 1 + 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c3e434d7..b606e48d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ Follow the changelog format from https://keepachangelog.com/en/1.0.0/. +## 1.0.2 + +### Added + +- Enable `speclib_tsv` for transfer learning in CLI and GUI. + ## 1.0.1 - 2023.01.20 ### Fixed diff --git a/peptdeep/webui/transfer_ui.py b/peptdeep/webui/transfer_ui.py index f88b7734..74e2323b 100644 --- a/peptdeep/webui/transfer_ui.py +++ b/peptdeep/webui/transfer_ui.py @@ -140,6 +140,7 @@ def show(): "thermo_raw": ".raw", "mgf": ".mgf", "mzml": ".mzml", + "speclib_tsv": [".tsv", ".csv"] } global_settings['model_mgr']['transfer']['ms_file_type'] = ms_file_type select_files( From 37d7d2f387132cdf41ced75fb2ad7cc1b5c320f9 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Wed, 1 Feb 2023 08:39:14 +0100 Subject: [PATCH 05/23] refine GUI --- peptdeep/spec_lib/predict_lib.py | 3 ++- peptdeep/webui/transfer_ui.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/peptdeep/spec_lib/predict_lib.py b/peptdeep/spec_lib/predict_lib.py index 973ff193..8ec62391 100644 --- a/peptdeep/spec_lib/predict_lib.py +++ b/peptdeep/spec_lib/predict_lib.py @@ -107,7 +107,8 @@ def predict_all(self, 1. Predict RT/IM/MS2 for self._precursor_df 2. Calculate isotope information in self._precursor_df """ - self.calc_precursor_mz() + if 'precursor_mz' not in self.precursor_df.columns: + self.calc_precursor_mz() if self.generate_precursor_isotope: if self.model_manager.verbose: logging.info('Calculating precursor isotope distributions ...') diff --git a/peptdeep/webui/transfer_ui.py b/peptdeep/webui/transfer_ui.py index 74e2323b..7f4d5b6b 100644 --- a/peptdeep/webui/transfer_ui.py +++ b/peptdeep/webui/transfer_ui.py @@ -28,6 +28,7 @@ def nce_search(): global_settings['model_mgr']['transfer']['grid_instrument'] = grid_instrument def fine_tune(): + st.write("#### Epochs and learning rates") epoch_ms2 = st.number_input(label='Epoch to train MS2 model', value = global_settings['model_mgr']['transfer']['epoch_ms2']) global_settings['model_mgr']['transfer']['epoch_ms2'] = epoch_ms2 warmup_epoch_ms2 = st.number_input(label='Warmup epoch to train MS2 model', value = global_settings['model_mgr']['transfer']['warmup_epoch_ms2'], max_value=epoch_ms2) @@ -155,6 +156,7 @@ def show(): with training_expander: fine_tune() + st.write('#### PSM numbers for training and testing') global_settings['model_mgr']['transfer'][ 'psm_num_to_train_ms2' ] = st.number_input( @@ -205,6 +207,8 @@ def show(): 'psm_num_to_test_rt_ccs' ]), step = 1 ) + + st.write("#### Other hyper-parameters") global_settings['model_mgr']['transfer'][ 'top_n_mods_to_train' ] = st.number_input( From 66045d1e27c995ce57de2e491875e1b0d53c1f72 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Wed, 1 Feb 2023 23:02:59 +0100 Subject: [PATCH 06/23] test global_ui_settings --- peptdeep/webui/library_ui.py | 172 +++++++++++++++++----------------- peptdeep/webui/model_ui.py | 50 +++++----- peptdeep/webui/rescore_ui.py | 3 +- peptdeep/webui/settings_ui.py | 65 ++++++------- peptdeep/webui/transfer_ui.py | 135 +++++++++++++------------- peptdeep/webui/ui_utils.py | 4 + 6 files changed, 217 insertions(+), 212 deletions(-) diff --git a/peptdeep/webui/library_ui.py b/peptdeep/webui/library_ui.py index d0d95462..bb435074 100644 --- a/peptdeep/webui/library_ui.py +++ b/peptdeep/webui/library_ui.py @@ -8,8 +8,6 @@ from alphabase.yaml_utils import save_yaml from alphabase.protein.fasta import protease_dict -from peptdeep.settings import global_settings - from peptdeep.webui.ui_utils import ( get_posix, select_files, file_type_selectbox ) @@ -18,21 +16,23 @@ from peptdeep.constants._const import CONST_FOLDER +from .ui_utils import global_ui_settings + def mod_options(): with st.form(key="Select modifications"): st.write('#### Fixed and variable modifications') fixmod = st.multiselect( label='Please select fixed modifications', options=MOD_DF.index.values, - default = global_settings['library']['fix_mods'] + default = global_ui_settings['library']['fix_mods'] ) varmod = st.multiselect( label='Please select variable modifications', options=MOD_DF.index.values, - default = global_settings['library']['var_mods'] + default = global_ui_settings['library']['var_mods'] ) - global_settings['library']['fix_mods'] = fixmod - global_settings['library']['var_mods'] = varmod + global_ui_settings['library']['fix_mods'] = fixmod + global_ui_settings['library']['var_mods'] = varmod st.form_submit_button(label="Click to add these selected modifications") st.write("Selected modifications:") @@ -45,15 +45,15 @@ def mod_options(): def varmod_range(): min_varmod = st.number_input(label='Min number of variable modifications', - value = global_settings['library']['min_var_mod_num'], + value = global_ui_settings['library']['min_var_mod_num'], min_value = 0, step = 1, ) max_varmod = st.number_input(label='Max number of variable modifications', - value = global_settings['library']['max_var_mod_num'], + value = global_ui_settings['library']['max_var_mod_num'], min_value = 0, step = 1, ) - global_settings['library']['min_var_mod_num'] = min_varmod - global_settings['library']['max_var_mod_num'] = max_varmod + global_ui_settings['library']['min_var_mod_num'] = min_varmod + global_ui_settings['library']['max_var_mod_num'] = max_varmod def specialmod_options(): st.write('#### Special modificatins') @@ -62,19 +62,19 @@ def specialmod_options(): st.write('- For GlyGly@K or GG@K, it will not occur at C-term Lys/K, using `special modifications` to enable this feature.') specialmod_expander = st.expander( label='Special modificatins', - expanded=len(global_settings['library']['special_mods'])>0, + expanded=len(global_ui_settings['library']['special_mods'])>0, ) with specialmod_expander: with st.form(key="Select special modifications"): - global_settings['library']['special_mods'] = st.multiselect( + global_ui_settings['library']['special_mods'] = st.multiselect( label='Please select special modifications', options=MOD_DF.index.values, - default=global_settings['library']['special_mods'] + default=global_ui_settings['library']['special_mods'] ) st.form_submit_button(label="Click to add selected modifications") st.write("Selected special modifications:") st.dataframe(MOD_DF.loc[ - global_settings['library']['special_mods'], + global_ui_settings['library']['special_mods'], [ 'mod_name','classification','composition','mass', 'modloss_composition','modloss','modloss_importance' @@ -85,31 +85,31 @@ def specialmod_options(): def specialmod_range(): min_specialmod = st.number_input(label='Min number of special modifications', - value = global_settings['library']['min_special_mod_num'], + value = global_ui_settings['library']['min_special_mod_num'], min_value = 0, step = 1 ) max_specialmod = st.number_input(label='Max number of special modifications', - value = global_settings['library']['max_special_mod_num'], + value = global_ui_settings['library']['max_special_mod_num'], min_value = 0, step = 1 ) - global_settings['library']['min_special_mod_num'] = min_specialmod - global_settings['library']['max_special_mod_num'] = max_specialmod + global_ui_settings['library']['min_special_mod_num'] = min_specialmod + global_ui_settings['library']['max_special_mod_num'] = max_specialmod st.write("Special modifications cannot modify AAs at:") st.write("*e.g. GlyGly@K will not occur at C-term Lys/K*") - global_settings['library'][ + global_ui_settings['library'][ 'special_mods_cannot_modify_pep_n_term' ] = bool( st.checkbox(label='N-term', - value=global_settings['library'][ + value=global_ui_settings['library'][ 'special_mods_cannot_modify_pep_n_term' ]) ) - global_settings['library'][ + global_ui_settings['library'][ 'special_mods_cannot_modify_pep_c_term' ] = bool( st.checkbox(label='C-term', - value=global_settings['library'][ + value=global_ui_settings['library'][ 'special_mods_cannot_modify_pep_c_term' ]) ) @@ -126,7 +126,7 @@ def _concat_df_dict(d): else: return pd.concat(df_list, ignore_index=True) def _clear_all(): - global_settings['library']['labeling_channels'] = {} + global_ui_settings['library']['labeling_channels'] = {} st.session_state.select_labeling = [] st.session_state.labeling_channel_id = '' return @@ -134,7 +134,7 @@ def _clear_all(): st.write('*For multiplex-DIA (mDIA) workflow*') labeling_expander = st.expander( label='Labeling channels', - expanded=len(global_settings['library']['labeling_channels'])>0, + expanded=len(global_ui_settings['library']['labeling_channels'])>0, ) with labeling_expander: with st.form(key="Peptide labeling"): @@ -150,34 +150,34 @@ def _clear_all(): channel = int(channel) except ValueError: pass - global_settings['library']['labeling_channels'][channel] = mods + global_ui_settings['library']['labeling_channels'][channel] = mods st.form_submit_button(label="Add selected labeling") st.write("Selected labeling modifications:") - st.dataframe(_concat_df_dict(global_settings['library']['labeling_channels'])) + st.dataframe(_concat_df_dict(global_ui_settings['library']['labeling_channels'])) st.button(label='Clear all labeling', on_click=_clear_all) def choose_precursor_charge(): - from_charge = st.number_input(label='Min precursor charge', min_value = 1, max_value = 4, value = global_settings['library']['min_precursor_charge'], step = 1) + from_charge = st.number_input(label='Min precursor charge', min_value = 1, max_value = 4, value = global_ui_settings['library']['min_precursor_charge'], step = 1) to_charge = st.number_input( label='Max precursor charge', - min_value = from_charge, max_value = 7, value = global_settings['library']['max_precursor_charge'], step = 1 + min_value = from_charge, max_value = 7, value = global_ui_settings['library']['max_precursor_charge'], step = 1 ) - global_settings['library']['min_precursor_charge'] = from_charge - global_settings['library']['max_precursor_charge'] = to_charge + global_ui_settings['library']['min_precursor_charge'] = from_charge + global_ui_settings['library']['max_precursor_charge'] = to_charge def choose_precursor_mz(): - min_precursor_mz = st.number_input(label='Min precursor mz', value = global_settings['library']['min_precursor_mz']) - global_settings['library']['min_precursor_mz'] = min_precursor_mz - max_precursor_mz = st.number_input(label='Max precursor mz', min_value = min_precursor_mz, value = global_settings['library']['max_precursor_mz']) - global_settings['library']['max_precursor_mz'] = max_precursor_mz + min_precursor_mz = st.number_input(label='Min precursor mz', value = global_ui_settings['library']['min_precursor_mz']) + global_ui_settings['library']['min_precursor_mz'] = min_precursor_mz + max_precursor_mz = st.number_input(label='Max precursor mz', min_value = min_precursor_mz, value = global_ui_settings['library']['max_precursor_mz']) + global_ui_settings['library']['max_precursor_mz'] = max_precursor_mz def add_decoy(): - global_settings['library']['decoy'] = st.selectbox( + global_ui_settings['library']['decoy'] = st.selectbox( label='Decoy method (Protein-level decoy only works for fasta)', - options=global_settings['library']['decoy_choices'], - index = global_settings['library']['decoy_choices'].index( - global_settings['library']['decoy'] + options=global_ui_settings['library']['decoy_choices'], + index = global_ui_settings['library']['decoy_choices'].index( + global_ui_settings['library']['decoy'] ) ) @@ -198,65 +198,65 @@ def on_custom_protease(): print( st.session_state['custom_protease_text'], - global_settings['library']['fasta']['protease'] + global_ui_settings['library']['fasta']['protease'] ) custom_protease = st.text_input( label="Custom protease (name or regular expression, use `Common protease` below if empty)", - value=global_settings['library']['fasta']['protease'], + value=global_ui_settings['library']['fasta']['protease'], key="custom_protease_text", on_change=on_custom_protease ) protease = st.selectbox( label='Common protease (set `Custom protease` above as empty to enable this)', - options=global_settings['library']['fasta']['protease_choices'], + options=global_ui_settings['library']['fasta']['protease_choices'], index=0, disabled=(custom_protease!='') ) if custom_protease: - global_settings['library']['fasta']['protease'] = custom_protease + global_ui_settings['library']['fasta']['protease'] = custom_protease else: - global_settings['library']['fasta']['protease'] = protease + global_ui_settings['library']['fasta']['protease'] = protease - st.text(f"Selected protease: {global_settings['library']['fasta']['protease']}") + st.text(f"Selected protease: {global_ui_settings['library']['fasta']['protease']}") - max_miss_cleave = st.number_input(label='Max number of miss cleavages',value = global_settings['library']['fasta']['max_miss_cleave']) - global_settings['library']['fasta']['max_miss_cleave'] = max_miss_cleave + max_miss_cleave = st.number_input(label='Max number of miss cleavages',value = global_ui_settings['library']['fasta']['max_miss_cleave']) + global_ui_settings['library']['fasta']['max_miss_cleave'] = max_miss_cleave def choose_peptide_len(): - min_peptide_len = st.number_input(label='Min peptide length', value = global_settings['library']['min_peptide_len']) - max_peptide_len = st.number_input(label='Max peptide length', min_value = min_peptide_len, value = global_settings['library']['max_peptide_len']) - global_settings['library']['min_peptide_len'] = min_peptide_len - global_settings['library']['max_peptide_len'] = max_peptide_len + min_peptide_len = st.number_input(label='Min peptide length', value = global_ui_settings['library']['min_peptide_len']) + max_peptide_len = st.number_input(label='Max peptide length', min_value = min_peptide_len, value = global_ui_settings['library']['max_peptide_len']) + global_ui_settings['library']['min_peptide_len'] = min_peptide_len + global_ui_settings['library']['max_peptide_len'] = max_peptide_len def choose_frag_types(): frag_types = st.multiselect( - label='Fragment types',options=(global_settings['model']['frag_types']), - default = global_settings['library']['frag_types'] + label='Fragment types',options=(global_ui_settings['model']['frag_types']), + default = global_ui_settings['library']['frag_types'] ) - global_settings['library']['frag_types'] = frag_types - max_frag_charge = st.number_input(label='Max fragment charge',min_value = 1, max_value = 2, value = global_settings['library']['max_frag_charge'], step = 1) - global_settings['library']['max_frag_charge'] = max_frag_charge + global_ui_settings['library']['frag_types'] = frag_types + max_frag_charge = st.number_input(label='Max fragment charge',min_value = 1, max_value = 2, value = global_ui_settings['library']['max_frag_charge'], step = 1) + global_ui_settings['library']['max_frag_charge'] = max_frag_charge def output_tsv(): - min_fragment_mz = st.number_input(label='Min fragment mz:', value = global_settings['library']['output_tsv']['min_fragment_mz']) - global_settings['library']['output_tsv']['min_fragment_mz'] = min_fragment_mz - max_fragment_mz = st.number_input(label='Max fragment mz:', min_value = min_fragment_mz, value = global_settings['library']['output_tsv']['max_fragment_mz']) - global_settings['library']['output_tsv']['max_fragment_mz'] = max_fragment_mz + min_fragment_mz = st.number_input(label='Min fragment mz:', value = global_ui_settings['library']['output_tsv']['min_fragment_mz']) + global_ui_settings['library']['output_tsv']['min_fragment_mz'] = min_fragment_mz + max_fragment_mz = st.number_input(label='Max fragment mz:', min_value = min_fragment_mz, value = global_ui_settings['library']['output_tsv']['max_fragment_mz']) + global_ui_settings['library']['output_tsv']['max_fragment_mz'] = max_fragment_mz min_relative_intensity = st.number_input( label='Min relative intensity:', - value = global_settings['library']['output_tsv']['min_relative_intensity'], + value = global_ui_settings['library']['output_tsv']['min_relative_intensity'], step=0.0001, format='%0.4f' ) - global_settings['library']['output_tsv']['min_relative_intensity'] = min_relative_intensity + global_ui_settings['library']['output_tsv']['min_relative_intensity'] = min_relative_intensity keep_higest_k_peaks = st.number_input( label='Number of highest peaks to keep:', - value = global_settings['library']['output_tsv']['keep_higest_k_peaks'] + value = global_ui_settings['library']['output_tsv']['keep_higest_k_peaks'] ) - global_settings['library']['output_tsv']['keep_higest_k_peaks'] = keep_higest_k_peaks - global_settings['library']['output_tsv']['translate_mod_to_unimod_id']=bool( + global_ui_settings['library']['output_tsv']['keep_higest_k_peaks'] = keep_higest_k_peaks + global_ui_settings['library']['output_tsv']['translate_mod_to_unimod_id']=bool( st.checkbox(label='Translate modifications to Unimod ids', - value=global_settings['library']['output_tsv']['translate_mod_to_unimod_id'] + value=global_ui_settings['library']['output_tsv']['translate_mod_to_unimod_id'] )) def show(): @@ -267,14 +267,14 @@ def show(): infile_type = file_type_selectbox( ui_label='Input file type', st_key='lib_input_type', - default_type=global_settings['library']['infile_type'], - monitor_files=global_settings['library']['infiles'], - choices=global_settings['library']['infile_type_choices'], - index=global_settings['library']['infile_type_choices'].index( - global_settings['library']['infile_type'] + default_type=global_ui_settings['library']['infile_type'], + monitor_files=global_ui_settings['library']['infiles'], + choices=global_ui_settings['library']['infile_type_choices'], + index=global_ui_settings['library']['infile_type_choices'].index( + global_ui_settings['library']['infile_type'] ) ) - global_settings['library']['infile_type'] = infile_type + global_ui_settings['library']['infile_type'] = infile_type if infile_type != 'fasta': df = pd.DataFrame({ @@ -300,12 +300,12 @@ def show(): } if infile_type == 'fasta': - global_settings['library']['fasta']['add_contaminants'] = bool(st.checkbox( + global_ui_settings['library']['fasta']['add_contaminants'] = bool(st.checkbox( label='Add fasta of contaminants', - value=global_settings['library']['fasta']['add_contaminants'] + value=global_ui_settings['library']['fasta']['add_contaminants'] )) select_files( - global_settings['library']['infiles'], + global_ui_settings['library']['infiles'], infile_ext_dict[infile_type], 'Input sequence files', ) @@ -339,29 +339,29 @@ def show(): output_folder = st.text_input( label="Output folder", - value=global_settings['library']['output_folder'].format( - PEPTDEEP_HOME=global_settings['PEPTDEEP_HOME'] + value=global_ui_settings['library']['output_folder'].format( + PEPTDEEP_HOME=global_ui_settings['PEPTDEEP_HOME'] ) ) output_folder = os.path.expanduser(output_folder) output_folder = get_posix(output_folder) - global_settings['library']['output_folder'] = output_folder + global_ui_settings['library']['output_folder'] = output_folder - global_settings['library']['rt_to_irt'] = bool(st.checkbox( + global_ui_settings['library']['rt_to_irt'] = bool(st.checkbox( label='Convert predicted RT to iRT', - value=global_settings['library']['rt_to_irt'] + value=global_ui_settings['library']['rt_to_irt'] )) - global_settings['library']['generate_precursor_isotope'] = bool(st.checkbox( + global_ui_settings['library']['generate_precursor_isotope'] = bool(st.checkbox( label="Generate precursor isotopes (don't check this for DiaNN/Spectronaut search)", - value=global_settings['library']['generate_precursor_isotope'] + value=global_ui_settings['library']['generate_precursor_isotope'] )) tsv_enabled = bool(st.checkbox( label='Output TSV (for DiaNN/Spectronaut)', - value=global_settings['library']['output_tsv']['enabled'] + value=global_ui_settings['library']['output_tsv']['enabled'] )) - global_settings['library']['output_tsv']['enabled'] = tsv_enabled + global_ui_settings['library']['output_tsv']['enabled'] = tsv_enabled st.warning("Writing the TSV file for a big library is very slow") if tsv_enabled: output_tsv() @@ -371,20 +371,20 @@ def show(): task_name = st.text_input(label="Task name", value=f"peptdeep_library_{current_time}") if st.button(label='Submit for library prediction'): - global_settings['task_type'] = 'library' + global_ui_settings['task_type'] = 'library' if not os.path.exists(output_folder): os.makedirs(output_folder) yaml_path = f'{queue_folder}/{task_name}.yaml' save_yaml( - yaml_path, global_settings + yaml_path, global_ui_settings ) save_yaml( os.path.join( output_folder, f'{task_name}.yaml' ), - global_settings + global_ui_settings ) st.write(f'`library` task saved as `{os.path.expanduser(yaml_path)}`') diff --git a/peptdeep/webui/model_ui.py b/peptdeep/webui/model_ui.py index 70ee86ad..97664a9f 100644 --- a/peptdeep/webui/model_ui.py +++ b/peptdeep/webui/model_ui.py @@ -1,33 +1,33 @@ import streamlit as st -from peptdeep.settings import global_settings +from .ui_utils import global_ui_settings def predict(): - batch_size_ms2 = st.number_input(label='Batch size to predict MS2', value = global_settings['model_mgr']['predict']['batch_size_ms2']) - global_settings['model_mgr']['predict']['batch_size_ms2'] = batch_size_ms2 - batch_size_rt_ccs = st.number_input(label='Batch size to predict RT and CCS', value = global_settings['model_mgr']['predict']['batch_size_rt_ccs']) - global_settings['model_mgr']['predict']['batch_size_rt_ccs'] = batch_size_rt_ccs + batch_size_ms2 = st.number_input(label='Batch size to predict MS2', value = global_ui_settings['model_mgr']['predict']['batch_size_ms2']) + global_ui_settings['model_mgr']['predict']['batch_size_ms2'] = batch_size_ms2 + batch_size_rt_ccs = st.number_input(label='Batch size to predict RT and CCS', value = global_ui_settings['model_mgr']['predict']['batch_size_rt_ccs']) + global_ui_settings['model_mgr']['predict']['batch_size_rt_ccs'] = batch_size_rt_ccs - instruments = list(global_settings['model_mgr']['instrument_group'].keys()) - global_settings['model_mgr']['default_instrument'] = st.selectbox( + instruments = list(global_ui_settings['model_mgr']['instrument_group'].keys()) + global_ui_settings['model_mgr']['default_instrument'] = st.selectbox( label='Instrument',options=instruments,index = instruments.index( - global_settings['model_mgr']['default_instrument'] + global_ui_settings['model_mgr']['default_instrument'] ) ) - default_nce = st.number_input(label='NCE', value = global_settings['model_mgr']['default_nce']) - global_settings['model_mgr']['default_nce'] = default_nce + default_nce = st.number_input(label='NCE', value = global_ui_settings['model_mgr']['default_nce']) + global_ui_settings['model_mgr']['default_nce'] = default_nce - verbose = st.checkbox(label='Verbose', value=global_settings['model_mgr']['predict']['verbose']) - global_settings['model_mgr']['predict']['verbose'] = verbose - multiprocessing = st.checkbox(label='Multiprocessing (if no GPUs)', value=global_settings['model_mgr']['predict']['multiprocessing']) - global_settings['model_mgr']['predict']['multiprocessing'] = multiprocessing + verbose = st.checkbox(label='Verbose', value=global_ui_settings['model_mgr']['predict']['verbose']) + global_ui_settings['model_mgr']['predict']['verbose'] = verbose + multiprocessing = st.checkbox(label='Multiprocessing (if no GPUs)', value=global_ui_settings['model_mgr']['predict']['multiprocessing']) + global_ui_settings['model_mgr']['predict']['multiprocessing'] = multiprocessing def model(): - model_url = st.text_input(label='URL (or local path) to download the pre-trained models',value = global_settings['model_url']) - global_settings['model_url'] = model_url + model_url = st.text_input(label='URL (or local path) to download the pre-trained models',value = global_ui_settings['model_url']) + global_ui_settings['model_url'] = model_url - global_settings['model_mgr']['external_ms2_model'] = st.text_input(label='External MS2 model', value=global_settings['model_mgr']['external_ms2_model']) - global_settings['model_mgr']['external_rt_model'] = st.text_input(label='External RT model', value=global_settings['model_mgr']['external_rt_model']) - global_settings['model_mgr']['external_ccs_model'] = st.text_input(label='External CCS model', value=global_settings['model_mgr']['external_ccs_model']) + global_ui_settings['model_mgr']['external_ms2_model'] = st.text_input(label='External MS2 model', value=global_ui_settings['model_mgr']['external_ms2_model']) + global_ui_settings['model_mgr']['external_rt_model'] = st.text_input(label='External RT model', value=global_ui_settings['model_mgr']['external_rt_model']) + global_ui_settings['model_mgr']['external_ccs_model'] = st.text_input(label='External CCS model', value=global_ui_settings['model_mgr']['external_ccs_model']) def show(): @@ -36,16 +36,16 @@ def show(): st.write('### Pre-trained models') model() - global_settings['model_mgr']['model_type'] = st.selectbox( + global_ui_settings['model_mgr']['model_type'] = st.selectbox( label='Model type', - options=global_settings['model_mgr']['model_choices'], - index = global_settings['model_mgr']['model_choices'].index( - global_settings['model_mgr']['model_type'] + options=global_ui_settings['model_mgr']['model_choices'], + index = global_ui_settings['model_mgr']['model_choices'].index( + global_ui_settings['model_mgr']['model_type'] ) ) - global_settings['model_mgr']['mask_modloss'] = bool( + global_ui_settings['model_mgr']['mask_modloss'] = bool( st.checkbox(label='mask modloss (this will set intensity values to zero for neutral loss of PTMs (e.g. -98 Da for Phospho@S/T))', - value = global_settings['model_mgr']['mask_modloss']) + value = global_ui_settings['model_mgr']['mask_modloss']) ) st.write('### Prediction') diff --git a/peptdeep/webui/rescore_ui.py b/peptdeep/webui/rescore_ui.py index 6989406a..a1841e5a 100644 --- a/peptdeep/webui/rescore_ui.py +++ b/peptdeep/webui/rescore_ui.py @@ -3,8 +3,7 @@ import os import time -from peptdeep.settings import global_settings -from peptdeep.webui.ui_utils import files_in_folder_pandas +from .ui_utils import files_in_folder_pandas, global_ui_settings def show(): """Streamlit page that displays information on how to rescore.""" diff --git a/peptdeep/webui/settings_ui.py b/peptdeep/webui/settings_ui.py index 9ff8f747..b8a5c55e 100644 --- a/peptdeep/webui/settings_ui.py +++ b/peptdeep/webui/settings_ui.py @@ -9,11 +9,12 @@ ) from peptdeep.settings import ( - global_settings, update_settings, add_user_defined_modifications, ) +from .ui_utils import global_ui_settings + def add_user_mods(): st.write("#### User-defined modifications") st.write('PeptDeep supports modifications those are not in UniMod') @@ -33,18 +34,18 @@ def add_user_mods(): ).strip() if mod_name: - global_settings['common']['user_defined_modifications'][mod_name] = { + global_ui_settings['common']['user_defined_modifications'][mod_name] = { 'composition': composition, 'modloss_composition': modloss_composition, } st.dataframe(pd.DataFrame().from_dict( - global_settings['common']['user_defined_modifications'], + global_ui_settings['common']['user_defined_modifications'], orient = 'index', )) def _clear_user_mods(): - global_settings['common']['user_defined_modifications'] = {} + global_ui_settings['common']['user_defined_modifications'] = {} st.session_state.user_mod_name = '' st.session_state.user_mod_comp = '' st.session_state.user_mod_loss = '' @@ -57,7 +58,7 @@ def _clear_user_mods(): add_user_defined_modifications() st.write("Check last n+2 modifications:") st.dataframe(MOD_DF.tail( - len(global_settings['common'][ + len(global_ui_settings['common'][ 'user_defined_modifications' ])+2 )) @@ -70,46 +71,46 @@ def show(): add_user_mods() - ms2_ppm = st.checkbox(label='MS2 ppm (otherwise Da)', value=global_settings['peak_matching']['ms2_ppm']) - global_settings['peak_matching']['ms2_ppm'] = ms2_ppm - ms2_tol_value = st.number_input(label='MS2 tolerance', value = global_settings['peak_matching']['ms2_tol_value'], step = 1.0) - global_settings['peak_matching']['ms2_tol_value'] = ms2_tol_value + ms2_ppm = st.checkbox(label='MS2 ppm (otherwise Da)', value=global_ui_settings['peak_matching']['ms2_ppm']) + global_ui_settings['peak_matching']['ms2_ppm'] = ms2_ppm + ms2_tol_value = st.number_input(label='MS2 tolerance', value = global_ui_settings['peak_matching']['ms2_tol_value'], step = 1.0) + global_ui_settings['peak_matching']['ms2_tol_value'] = ms2_tol_value - ms1_ppm = st.checkbox(label='MS1 ppm (otherwise Da)', value=global_settings['peak_matching']['ms1_ppm']) - global_settings['peak_matching']['ms1_ppm'] = ms1_ppm - ms1_tol_value = st.number_input(label='MS1 tolerance', value = global_settings['peak_matching']['ms1_tol_value'], step = 1.0) - global_settings['peak_matching']['ms1_tol_value'] = ms1_tol_value + ms1_ppm = st.checkbox(label='MS1 ppm (otherwise Da)', value=global_ui_settings['peak_matching']['ms1_ppm']) + global_ui_settings['peak_matching']['ms1_ppm'] = ms1_ppm + ms1_tol_value = st.number_input(label='MS1 tolerance', value = global_ui_settings['peak_matching']['ms1_tol_value'], step = 1.0) + global_ui_settings['peak_matching']['ms1_tol_value'] = ms1_tol_value cpu_count = multiprocessing.cpu_count() thread_num = st.number_input(label='Thread number', - value=global_settings['thread_num'] - if global_settings['thread_num'] Date: Wed, 1 Feb 2023 23:07:45 +0100 Subject: [PATCH 07/23] gui print port --- peptdeep/gui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peptdeep/gui.py b/peptdeep/gui.py index 23a1559b..f27ff07f 100644 --- a/peptdeep/gui.py +++ b/peptdeep/gui.py @@ -2,7 +2,7 @@ import os def run(port=10077): - print('Starting PeptDeep Web Server ...') + print(f'Starting PeptDeep Web Server on port {port} ...') _this_file = __file__ _this_directory = os.path.dirname(_this_file) From 81dafecc682de38a78dd99bd4ce473285f1913ab Mon Sep 17 00:00:00 2001 From: jalew188 Date: Wed, 1 Feb 2023 23:41:09 +0100 Subject: [PATCH 08/23] use session_state.global_settings --- peptdeep/webui/library_ui.py | 2 +- peptdeep/webui/model_ui.py | 3 ++- peptdeep/webui/rescore_ui.py | 3 ++- peptdeep/webui/settings_ui.py | 4 +++- peptdeep/webui/transfer_ui.py | 5 +++-- peptdeep/webui/ui_utils.py | 2 +- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/peptdeep/webui/library_ui.py b/peptdeep/webui/library_ui.py index bb435074..f0f24796 100644 --- a/peptdeep/webui/library_ui.py +++ b/peptdeep/webui/library_ui.py @@ -16,7 +16,7 @@ from peptdeep.constants._const import CONST_FOLDER -from .ui_utils import global_ui_settings +global_ui_settings = st.session_state.global_settings def mod_options(): with st.form(key="Select modifications"): diff --git a/peptdeep/webui/model_ui.py b/peptdeep/webui/model_ui.py index 97664a9f..08738af3 100644 --- a/peptdeep/webui/model_ui.py +++ b/peptdeep/webui/model_ui.py @@ -1,5 +1,6 @@ import streamlit as st -from .ui_utils import global_ui_settings +import peptdeep.webui.ui_utils +global_ui_settings = st.session_state.global_settings def predict(): batch_size_ms2 = st.number_input(label='Batch size to predict MS2', value = global_ui_settings['model_mgr']['predict']['batch_size_ms2']) diff --git a/peptdeep/webui/rescore_ui.py b/peptdeep/webui/rescore_ui.py index a1841e5a..2f6f50c5 100644 --- a/peptdeep/webui/rescore_ui.py +++ b/peptdeep/webui/rescore_ui.py @@ -3,7 +3,8 @@ import os import time -from .ui_utils import files_in_folder_pandas, global_ui_settings +from .ui_utils import files_in_folder_pandas +global_ui_settings = st.session_state.global_settings def show(): """Streamlit page that displays information on how to rescore.""" diff --git a/peptdeep/webui/settings_ui.py b/peptdeep/webui/settings_ui.py index b8a5c55e..385d8616 100644 --- a/peptdeep/webui/settings_ui.py +++ b/peptdeep/webui/settings_ui.py @@ -13,7 +13,9 @@ add_user_defined_modifications, ) -from .ui_utils import global_ui_settings +import peptdeep.webui.ui_utils + +global_ui_settings = st.session_state.global_settings def add_user_mods(): st.write("#### User-defined modifications") diff --git a/peptdeep/webui/transfer_ui.py b/peptdeep/webui/transfer_ui.py index f9026cd5..f384fe81 100644 --- a/peptdeep/webui/transfer_ui.py +++ b/peptdeep/webui/transfer_ui.py @@ -7,12 +7,13 @@ from alphabase.yaml_utils import save_yaml from alphabase.constants.modification import MOD_DF +from peptdeep.webui.server import queue_folder from peptdeep.webui.ui_utils import ( get_posix, select_files, file_type_selectbox, - global_ui_settings ) -from peptdeep.webui.server import queue_folder + +global_ui_settings = st.session_state.global_settings def nce_search(): diff --git a/peptdeep/webui/ui_utils.py b/peptdeep/webui/ui_utils.py index 3f0c0676..820d4bd6 100644 --- a/peptdeep/webui/ui_utils.py +++ b/peptdeep/webui/ui_utils.py @@ -12,7 +12,7 @@ import copy from peptdeep.settings import global_settings -global_ui_settings = copy.deepcopy(global_settings) +st.session_state['global_settings'] = copy.deepcopy(global_settings) def get_posix(_path:str): return pathlib.PureWindowsPath(_path).as_posix() From 70107849a782f6ec5b7957c54fe9e8587e074183 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Fri, 3 Feb 2023 09:27:56 +0100 Subject: [PATCH 09/23] CHORE add warnings --- peptdeep/mass_spec/ms_reader.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/peptdeep/mass_spec/ms_reader.py b/peptdeep/mass_spec/ms_reader.py index fab630a2..19ed228a 100644 --- a/peptdeep/mass_spec/ms_reader.py +++ b/peptdeep/mass_spec/ms_reader.py @@ -2,11 +2,13 @@ import numpy as np import pandas as pd from alphabase.io.hdf import HDF_File +from utils import logging try: # should be replaced by AlphaRaw in the near future from peptdeep.legacy.thermo_raw.pyrawfilereader import RawFileReader except (ImportError,AttributeError): + logging.warn("Cannot import `RawFileReader`, check if PythonNet is installed. See https://github.com/MannLabs/alphapeptdeep#pip") RawFileReader = None class MSReaderBase: @@ -240,7 +242,9 @@ def register_reader(self, ms2_type, reader_class): self.reader_dict[ms2_type.lower()] = reader_class def get_reader(self, file_type)->MSReaderBase: - if file_type not in self.reader_dict: return None + if file_type not in self.reader_dict: + logging.warn(f'"{file_type}" is not registered in `MSReaderProvider` yet.') + return None else: return self.reader_dict[file_type.lower()]() ms2_reader_provider = MSReaderProvider() From 783e8888c863671635b20937895bbab55786f19a Mon Sep 17 00:00:00 2001 From: alphapept Date: Fri, 3 Feb 2023 11:00:57 +0100 Subject: [PATCH 10/23] pipeline_api: read_peptide_table(): keep_default_na=False --- peptdeep/pipeline_api.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/peptdeep/pipeline_api.py b/peptdeep/pipeline_api.py index 916f686f..18277445 100644 --- a/peptdeep/pipeline_api.py +++ b/peptdeep/pipeline_api.py @@ -254,10 +254,7 @@ def _get_delimiter(tsv_file:str): def read_peptide_table(tsv_file:str)->pd.DataFrame: sep = _get_delimiter(tsv_file) - df = pd.read_csv(tsv_file, sep=sep) - df.fillna('', inplace=True) - if 'mod_sites' in df.columns: - df['mod_sites'] = df.mod_sites.astype('U') + df = pd.read_csv(tsv_file, sep=sep, keep_default_na=False) return df def generate_library(): From 47d669466a3bb35e6b970faa576a92d77917402e Mon Sep 17 00:00:00 2001 From: jalew188 Date: Fri, 3 Feb 2023 11:03:01 +0100 Subject: [PATCH 11/23] CHORE FIX --- peptdeep/mass_spec/ms_reader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peptdeep/mass_spec/ms_reader.py b/peptdeep/mass_spec/ms_reader.py index 19ed228a..423ec415 100644 --- a/peptdeep/mass_spec/ms_reader.py +++ b/peptdeep/mass_spec/ms_reader.py @@ -2,7 +2,7 @@ import numpy as np import pandas as pd from alphabase.io.hdf import HDF_File -from utils import logging +from peptdeep.utils import logging try: # should be replaced by AlphaRaw in the near future From d39d60dd4152724b5e35838800c186e4a14969ad Mon Sep 17 00:00:00 2001 From: jalew188 Date: Fri, 3 Feb 2023 13:34:30 +0100 Subject: [PATCH 12/23] settings:translate_batch_size=100000 --- peptdeep/constants/default_settings.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peptdeep/constants/default_settings.yaml b/peptdeep/constants/default_settings.yaml index 531cde15..2c3b8924 100644 --- a/peptdeep/constants/default_settings.yaml +++ b/peptdeep/constants/default_settings.yaml @@ -272,5 +272,5 @@ library: max_fragment_mz: 2000 min_relative_intensity: 0.001 keep_higest_k_peaks: 12 - translate_batch_size: 1000000 + translate_batch_size: 100000 translate_mod_to_unimod_id: False \ No newline at end of file From 603463eb8abee9679421b40f6109897eaec996cd Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Sat, 4 Feb 2023 22:30:17 +0100 Subject: [PATCH 13/23] FIX: Thermo RAW Reader --- peptdeep/legacy/thermo_raw/__init__.py | 1 - peptdeep/mass_spec/ms_reader.py | 10 +++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/peptdeep/legacy/thermo_raw/__init__.py b/peptdeep/legacy/thermo_raw/__init__.py index 43826d7d..e69de29b 100644 --- a/peptdeep/legacy/thermo_raw/__init__.py +++ b/peptdeep/legacy/thermo_raw/__init__.py @@ -1 +0,0 @@ -from peptdeep.legacy import pyrawfilereader \ No newline at end of file diff --git a/peptdeep/mass_spec/ms_reader.py b/peptdeep/mass_spec/ms_reader.py index 423ec415..a7068440 100644 --- a/peptdeep/mass_spec/ms_reader.py +++ b/peptdeep/mass_spec/ms_reader.py @@ -3,12 +3,15 @@ import pandas as pd from alphabase.io.hdf import HDF_File from peptdeep.utils import logging +from inspect import currentframe, getframeinfo try: # should be replaced by AlphaRaw in the near future from peptdeep.legacy.thermo_raw.pyrawfilereader import RawFileReader -except (ImportError,AttributeError): - logging.warn("Cannot import `RawFileReader`, check if PythonNet is installed. See https://github.com/MannLabs/alphapeptdeep#pip") +except (ImportError,AttributeError) as e: + raise e + frameinfo = getframeinfo(currentframe()) + logging.warn(f"{frameinfo.filename}#L{frameinfo.lineno}: Cannot import `RawFileReader`, check if PythonNet is installed. See https://github.com/MannLabs/alphapeptdeep#pip") RawFileReader = None class MSReaderBase: @@ -243,7 +246,8 @@ def register_reader(self, ms2_type, reader_class): def get_reader(self, file_type)->MSReaderBase: if file_type not in self.reader_dict: - logging.warn(f'"{file_type}" is not registered in `MSReaderProvider` yet.') + frameinfo = getframeinfo(currentframe()) + logging.warn(f'{frameinfo.filename}#L{frameinfo.lineno}: "{file_type}" is not registered in `MSReaderProvider` yet.') return None else: return self.reader_dict[file_type.lower()]() From 3418fe2008f760e692eb84d1df9b85125bdb4181 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Sat, 4 Feb 2023 23:05:42 +0100 Subject: [PATCH 14/23] FIX #74 --- nbdev_nbs/utils.ipynb | 42 ++++++++++----------------------- peptdeep/mass_spec/ms_reader.py | 1 - peptdeep/utils.py | 16 +++++++++---- 3 files changed, 24 insertions(+), 35 deletions(-) diff --git a/nbdev_nbs/utils.ipynb b/nbdev_nbs/utils.ipynb index bd6b5c59..b6fb283f 100644 --- a/nbdev_nbs/utils.ipynb +++ b/nbdev_nbs/utils.ipynb @@ -64,9 +64,9 @@ " 'device': 'cuda'},\n", " 'cuda': {'is_available': bool>,\n", " 'device': 'cuda'},\n", - " 'mps': {'is_available': bool>,\n", + " 'mps': {'is_available': bool>,\n", " 'device': 'mps'},\n", - " 'm1': {'is_available': bool>,\n", + " 'm1': {'is_available': bool>,\n", " 'device': 'mps'}}" ] }, @@ -90,40 +90,22 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "#| hide\n", - "df = pd.DataFrame({'rt_norm':np.arange(10), 'rt_pred':np.arange(10)+np.random.normal(0,0.3,10)})\n", - "evaluate_linear_regression_plot(df)" + "from peptdeep.utils import parse_ms_file_names_to_dict\n", + "\n", + "d = parse_ms_file_names_to_dict([\n", + " 'a.raw', 'b.ms_data.hdf','c_HCDFT.mgf'\n", + "])\n", + "assert 'a' in d\n", + "assert 'b' in d\n", + "assert 'c' in d" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.3 ('base')", + "display_name": "base", "language": "python", "name": "python3" } diff --git a/peptdeep/mass_spec/ms_reader.py b/peptdeep/mass_spec/ms_reader.py index a7068440..8229974b 100644 --- a/peptdeep/mass_spec/ms_reader.py +++ b/peptdeep/mass_spec/ms_reader.py @@ -9,7 +9,6 @@ # should be replaced by AlphaRaw in the near future from peptdeep.legacy.thermo_raw.pyrawfilereader import RawFileReader except (ImportError,AttributeError) as e: - raise e frameinfo = getframeinfo(currentframe()) logging.warn(f"{frameinfo.filename}#L{frameinfo.lineno}: Cannot import `RawFileReader`, check if PythonNet is installed. See https://github.com/MannLabs/alphapeptdeep#pip") RawFileReader = None diff --git a/peptdeep/utils.py b/peptdeep/utils.py index b1891309..626f84a5 100644 --- a/peptdeep/utils.py +++ b/peptdeep/utils.py @@ -205,6 +205,11 @@ def show_python_info() -> None: logging.info(f"{key:<{max_len}} - {value}") logging.info("") +_special_raw_suffices = [ + '.ms_data.hdf', + '_hcdft.mgf', +] + def parse_ms_file_names_to_dict( ms_file_list:list )->dict: @@ -225,10 +230,13 @@ def parse_ms_file_names_to_dict( spec_dict = {} for ms_file in ms_file_list: - raw_name = os.path.basename(ms_file) - if raw_name.endswith('.ms_data.hdf'): - raw_name = raw_name[:-len('.ms_data.hdf')] - else: + raw_filename = os.path.basename(ms_file) + raw_name = raw_filename.lower() + for raw_suff in _special_raw_suffices: + if raw_name.endswith(raw_suff): + raw_name = raw_filename[:-len(raw_suff)] + break + if len(raw_filename)==len(raw_name): raw_name = os.path.splitext(raw_name)[0] spec_dict[raw_name] = ms_file return spec_dict From 5da6ac17885bf60888affc4a8e550e5ab92c5856 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Tue, 7 Feb 2023 12:08:15 +0100 Subject: [PATCH 15/23] remove other columns mapping --- nbdev_nbs/test_ui.ipynb | 77 ++++++++++++------------ peptdeep/constants/default_settings.yaml | 8 --- peptdeep/rescore/percolator.py | 4 -- 3 files changed, 40 insertions(+), 49 deletions(-) diff --git a/nbdev_nbs/test_ui.ipynb b/nbdev_nbs/test_ui.ipynb index ae38cc67..f4925885 100644 --- a/nbdev_nbs/test_ui.ipynb +++ b/nbdev_nbs/test_ui.ipynb @@ -16,50 +16,53 @@ "name": "stderr", "output_type": "stream", "text": [ - "2022-07-22 09:09:17.053 INFO numexpr.utils: NumExpr defaulting to 8 threads.\n" + "2023-02-07 12:06:31.478 WARNING streamlit.runtime.state.session_state_proxy: Session state does not function when running a script without `streamlit run`\n" ] }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "2022-07-22 09:09:42> \n", - " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", - " command:\n", - "\n", - " streamlit run /Users/zengwenfeng/opt/anaconda3/lib/python3.8/site-packages/ipykernel_launcher.py [ARGUMENTS]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2022-07-22 09:09:42.894 \n", - " \u001b[33m\u001b[1mWarning:\u001b[0m to view this Streamlit app on a browser, run it with the following\n", - " command:\n", - "\n", - " streamlit run /Users/zengwenfeng/opt/anaconda3/lib/python3.8/site-packages/ipykernel_launcher.py [ARGUMENTS]\n" + "ename": "AttributeError", + "evalue": "st.session_state has no attribute \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:437\u001b[0m, in \u001b[0;36mSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 436\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 437\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_getitem(widget_id, key)\n\u001b[1;32m 438\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:482\u001b[0m, in \u001b[0;36mSessionState._getitem\u001b[0;34m(self, widget_id, user_key)\u001b[0m\n\u001b[1;32m 481\u001b[0m \u001b[39m# We'll never get here\u001b[39;00m\n\u001b[0;32m--> 482\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m\n", + "\u001b[0;31mKeyError\u001b[0m: ", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:118\u001b[0m, in \u001b[0;36mSessionStateProxy.__getattr__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 118\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m[key]\n\u001b[1;32m 119\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:89\u001b[0m, in \u001b[0;36mSessionStateProxy.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 88\u001b[0m require_valid_user_key(key)\n\u001b[0;32m---> 89\u001b[0m \u001b[39mreturn\u001b[39;00m get_session_state()[key]\n", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/safe_session_state.py:110\u001b[0m, in \u001b[0;36mSafeSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 108\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(key)\n\u001b[0;32m--> 110\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_state[key]\n", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:439\u001b[0m, in \u001b[0;36mSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 438\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n\u001b[0;32m--> 439\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(_missing_key_error_message(key))\n", + "\u001b[0;31mKeyError\u001b[0m: 'st.session_state has no key \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m/Users/zengwenfeng/Workspace/alphapeptdeep/nbdev_nbs/test_ui.ipynb Cell 2\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mos\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[39m__file__\u001b[39m \u001b[39m=\u001b[39m os\u001b[39m.\u001b[39mpath\u001b[39m.\u001b[39mabspath(\u001b[39m'\u001b[39m\u001b[39m./test_ui.py\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m----> 3\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mlibrary_ui\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmain_ui\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmodel_ui\u001b[39;00m\n", + "File \u001b[0;32m~/Workspace/alphapeptdeep/peptdeep/webui/library_ui.py:19\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mserver\u001b[39;00m \u001b[39mimport\u001b[39;00m queue_folder\n\u001b[1;32m 17\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mconstants\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39m_const\u001b[39;00m \u001b[39mimport\u001b[39;00m CONST_FOLDER\n\u001b[0;32m---> 19\u001b[0m global_ui_settings \u001b[39m=\u001b[39m st\u001b[39m.\u001b[39;49msession_state\u001b[39m.\u001b[39;49mglobal_settings\n\u001b[1;32m 21\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mmod_options\u001b[39m():\n\u001b[1;32m 22\u001b[0m \u001b[39mwith\u001b[39;00m st\u001b[39m.\u001b[39mform(key\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mSelect modifications\u001b[39m\u001b[39m\"\u001b[39m):\n", + "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:120\u001b[0m, in \u001b[0;36mSessionStateProxy.__getattr__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m[key]\n\u001b[1;32m 119\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n\u001b[0;32m--> 120\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mAttributeError\u001b[39;00m(_missing_attr_error_message(key))\n", + "\u001b[0;31mAttributeError\u001b[0m: st.session_state has no attribute \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization" ] } ], "source": [ - "import os\n", - "__file__ = os.path.abspath('./test_ui.py')\n", - "import peptdeep.webui.library_ui\n", - "import peptdeep.webui.main_ui\n", - "import peptdeep.webui.model_ui\n", - "import peptdeep.webui.rescore_ui\n", - "import peptdeep.webui.startpage\n", - "import peptdeep.webui.transfer_ui\n", - "import peptdeep.webui.settings_ui\n", - "# import peptdeep.webui.server_ui\n", + "# import os\n", + "# __file__ = os.path.abspath('./test_ui.py')\n", + "# import peptdeep.webui.library_ui\n", + "# import peptdeep.webui.main_ui\n", + "# import peptdeep.webui.model_ui\n", + "# import peptdeep.webui.rescore_ui\n", + "# import peptdeep.webui.startpage\n", + "# import peptdeep.webui.transfer_ui\n", + "# import peptdeep.webui.settings_ui\n", + "# # import peptdeep.webui.server_ui\n", "\n", - "peptdeep.webui.library_ui.show()\n", - "peptdeep.webui.model_ui.show()\n", - "peptdeep.webui.rescore_ui.show()\n", - "peptdeep.webui.transfer_ui.show()\n", - "peptdeep.webui.settings_ui.show()\n", - "# peptdeep.webui.server_ui.show()" + "# peptdeep.webui.library_ui.show()\n", + "# peptdeep.webui.model_ui.show()\n", + "# peptdeep.webui.rescore_ui.show()\n", + "# peptdeep.webui.transfer_ui.show()\n", + "# peptdeep.webui.settings_ui.show()\n", + "# # peptdeep.webui.server_ui.show()" ] }, { @@ -72,7 +75,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3.8.3 ('base')", + "display_name": "base", "language": "python", "name": "python3" } diff --git a/peptdeep/constants/default_settings.yaml b/peptdeep/constants/default_settings.yaml index 2c3b8924..0f158d95 100644 --- a/peptdeep/constants/default_settings.yaml +++ b/peptdeep/constants/default_settings.yaml @@ -195,14 +195,6 @@ percolator: - mgf - mzml ms_files: [] - other_score_column_mapping: - alphapept: {} - pfind: - raw_score: Raw_Score - msfragger: - hyperscore: hyperscore - nextscore: nextscore - maxquant: {} output_folder: "{PEPTDEEP_HOME}/rescore" library: infile_type: fasta diff --git a/peptdeep/rescore/percolator.py b/peptdeep/rescore/percolator.py index 69608c1d..b1104fb8 100644 --- a/peptdeep/rescore/percolator.py +++ b/peptdeep/rescore/percolator.py @@ -195,10 +195,6 @@ def __init__(self, f for f in self.feature_extractor.score_feature_list ] self.feature_list += ['score','nAA','charge'] - psm_type = perc_settings['input_files']['psm_type'] - self.feature_list += list(perc_settings['input_files'][ - 'other_score_column_mapping' - ][psm_type].keys()) self.max_train_sample = perc_settings['max_perc_train_sample'] self.min_train_sample = perc_settings['min_perc_train_sample'] From 769cd59b34b5a67e9106f4bca628c824a59300f9 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Tue, 7 Feb 2023 14:05:51 +0100 Subject: [PATCH 16/23] nbdev_clean --- nbdev_nbs/test_ui.ipynb | 35 +---------------------------------- 1 file changed, 1 insertion(+), 34 deletions(-) diff --git a/nbdev_nbs/test_ui.ipynb b/nbdev_nbs/test_ui.ipynb index f4925885..b1395932 100644 --- a/nbdev_nbs/test_ui.ipynb +++ b/nbdev_nbs/test_ui.ipynb @@ -11,40 +11,7 @@ "cell_type": "code", "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-02-07 12:06:31.478 WARNING streamlit.runtime.state.session_state_proxy: Session state does not function when running a script without `streamlit run`\n" - ] - }, - { - "ename": "AttributeError", - "evalue": "st.session_state has no attribute \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:437\u001b[0m, in \u001b[0;36mSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 436\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 437\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_getitem(widget_id, key)\n\u001b[1;32m 438\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:482\u001b[0m, in \u001b[0;36mSessionState._getitem\u001b[0;34m(self, widget_id, user_key)\u001b[0m\n\u001b[1;32m 481\u001b[0m \u001b[39m# We'll never get here\u001b[39;00m\n\u001b[0;32m--> 482\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m\n", - "\u001b[0;31mKeyError\u001b[0m: ", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:118\u001b[0m, in \u001b[0;36mSessionStateProxy.__getattr__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 117\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 118\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m[key]\n\u001b[1;32m 119\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:89\u001b[0m, in \u001b[0;36mSessionStateProxy.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 88\u001b[0m require_valid_user_key(key)\n\u001b[0;32m---> 89\u001b[0m \u001b[39mreturn\u001b[39;00m get_session_state()[key]\n", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/safe_session_state.py:110\u001b[0m, in \u001b[0;36mSafeSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 108\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(key)\n\u001b[0;32m--> 110\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49m_state[key]\n", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state.py:439\u001b[0m, in \u001b[0;36mSessionState.__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 438\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n\u001b[0;32m--> 439\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mKeyError\u001b[39;00m(_missing_key_error_message(key))\n", - "\u001b[0;31mKeyError\u001b[0m: 'st.session_state has no key \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization'", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/Users/zengwenfeng/Workspace/alphapeptdeep/nbdev_nbs/test_ui.ipynb Cell 2\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mos\u001b[39;00m\n\u001b[1;32m 2\u001b[0m \u001b[39m__file__\u001b[39m \u001b[39m=\u001b[39m os\u001b[39m.\u001b[39mpath\u001b[39m.\u001b[39mabspath(\u001b[39m'\u001b[39m\u001b[39m./test_ui.py\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[0;32m----> 3\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mlibrary_ui\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmain_ui\u001b[39;00m\n\u001b[1;32m 5\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mmodel_ui\u001b[39;00m\n", - "File \u001b[0;32m~/Workspace/alphapeptdeep/peptdeep/webui/library_ui.py:19\u001b[0m, in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mwebui\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mserver\u001b[39;00m \u001b[39mimport\u001b[39;00m queue_folder\n\u001b[1;32m 17\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mpeptdeep\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39mconstants\u001b[39;00m\u001b[39m.\u001b[39;00m\u001b[39m_const\u001b[39;00m \u001b[39mimport\u001b[39;00m CONST_FOLDER\n\u001b[0;32m---> 19\u001b[0m global_ui_settings \u001b[39m=\u001b[39m st\u001b[39m.\u001b[39;49msession_state\u001b[39m.\u001b[39;49mglobal_settings\n\u001b[1;32m 21\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mmod_options\u001b[39m():\n\u001b[1;32m 22\u001b[0m \u001b[39mwith\u001b[39;00m st\u001b[39m.\u001b[39mform(key\u001b[39m=\u001b[39m\u001b[39m\"\u001b[39m\u001b[39mSelect modifications\u001b[39m\u001b[39m\"\u001b[39m):\n", - "File \u001b[0;32m~/opt/anaconda3/lib/python3.8/site-packages/streamlit/runtime/state/session_state_proxy.py:120\u001b[0m, in \u001b[0;36mSessionStateProxy.__getattr__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[39mreturn\u001b[39;00m \u001b[39mself\u001b[39m[key]\n\u001b[1;32m 119\u001b[0m \u001b[39mexcept\u001b[39;00m \u001b[39mKeyError\u001b[39;00m:\n\u001b[0;32m--> 120\u001b[0m \u001b[39mraise\u001b[39;00m \u001b[39mAttributeError\u001b[39;00m(_missing_attr_error_message(key))\n", - "\u001b[0;31mAttributeError\u001b[0m: st.session_state has no attribute \"global_settings\". Did you forget to initialize it? More info: https://docs.streamlit.io/library/advanced-features/session-state#initialization" - ] - } - ], + "outputs": [], "source": [ "# import os\n", "# __file__ = os.path.abspath('./test_ui.py')\n", From 1943a02a1989eac66b57fa7e7268b43d53c17266 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Fri, 10 Feb 2023 15:43:26 +0100 Subject: [PATCH 17/23] CHORE --- peptdeep/pretrained_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peptdeep/pretrained_models.py b/peptdeep/pretrained_models.py index f7aaa320..a664dc7d 100644 --- a/peptdeep/pretrained_models.py +++ b/peptdeep/pretrained_models.py @@ -570,7 +570,7 @@ def train_rt_model(self, tr_df = [] if self.psm_num_to_test_rt_ccs > 0: - if self.psm_num_to_train_rt_ccs > 0 and len(tr_df) > 0: + if len(tr_df) > 0: test_psm_df = psm_df[ ~psm_df.sequence.isin(set(tr_df.sequence)) ] From daa2287d8a0837ed78bb70b412ffba0101fbacba Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Sun, 12 Feb 2023 21:06:20 +0100 Subject: [PATCH 18/23] CHORE: test_multi_target --- nbs_tests/test_multi_target.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nbs_tests/test_multi_target.ipynb b/nbs_tests/test_multi_target.ipynb index d71e5842..b6afb835 100644 --- a/nbs_tests/test_multi_target.ipynb +++ b/nbs_tests/test_multi_target.ipynb @@ -32,6 +32,7 @@ " ModelInterface_for_Generic_AASeq_Regression,\n", ")\n", "import torch\n", + "import numpy as np\n", "\n", "class ModelInterface_MultiTarget(ModelInterface_for_Generic_AASeq_BinaryClassification):\n", " def __init__(self):\n", @@ -45,7 +46,7 @@ "\n", " def _get_targets_from_batch_df(self, batch_df, **kwargs):\n", " return self._as_tensor(\n", - " list(batch_df[self.target_column_to_train].values), \n", + " np.stack(batch_df[self.target_column_to_train].values), \n", " dtype=torch.float32\n", " )\n", "\n", From 63fb93e144661079a52a59bd13034a3dd0e729e0 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Tue, 14 Feb 2023 23:13:32 +0200 Subject: [PATCH 19/23] multi target in generic --- peptdeep/model/generic_property_prediction.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/peptdeep/model/generic_property_prediction.py b/peptdeep/model/generic_property_prediction.py index d244c3e9..7c539e42 100644 --- a/peptdeep/model/generic_property_prediction.py +++ b/peptdeep/model/generic_property_prediction.py @@ -408,3 +408,43 @@ def _get_features_from_batch_df(self, batch_df: pd.DataFrame, ): return self._get_aa_mod_features(batch_df) + +class ModelInterface_for_Generic_ModAASeq_MultiTargetClassification( + ModelInterface_for_Generic_ModAASeq_BinaryClassification +): + def __init__(self, num_target_values:int=6): + self.num_target_values = num_target_values + super().__init__( + model_class=Model_for_Generic_AASeq_BinaryClassification_LSTM, + output_dim=self.num_target_values, + nlayers=3, hidden_dim=128, + ) + self.target_column_to_train = 'charge_probs' + self.target_column_to_predict = 'charge_probs_pred' + + def _get_targets_from_batch_df(self, batch_df, **kwargs): + return self._as_tensor( + np.stack(batch_df[self.target_column_to_train].values), + dtype=torch.float32 + ) + + def _prepare_predict_data_df(self, precursor_df, **kwargs): + precursor_df[self.target_column_to_predict] = [ + [0]*self.num_target_values + ]*len(precursor_df) + self.predict_df = precursor_df + + def _set_batch_predict_data(self, batch_df, predict_values, **kwargs): + predict_values[predict_values Date: Fri, 17 Feb 2023 09:18:21 +0200 Subject: [PATCH 20/23] multi-target pred --- peptdeep/model/generic_property_prediction.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/peptdeep/model/generic_property_prediction.py b/peptdeep/model/generic_property_prediction.py index 7c539e42..6a8199ea 100644 --- a/peptdeep/model/generic_property_prediction.py +++ b/peptdeep/model/generic_property_prediction.py @@ -412,15 +412,22 @@ def _get_features_from_batch_df(self, class ModelInterface_for_Generic_ModAASeq_MultiTargetClassification( ModelInterface_for_Generic_ModAASeq_BinaryClassification ): - def __init__(self, num_target_values:int=6): + def __init__(self, + num_target_values:int=6, + model_class:torch.nn.Module=Model_for_Generic_AASeq_BinaryClassification_Transformer, + nlayers=4, hidden_dim=256, device='gpu', + dropout=0.1, **kwargs, + ): self.num_target_values = num_target_values super().__init__( - model_class=Model_for_Generic_AASeq_BinaryClassification_LSTM, + model_class=model_class, output_dim=self.num_target_values, - nlayers=3, hidden_dim=128, + nlayers=nlayers, hidden_dim=hidden_dim, + device=device, dropout=dropout, + **kwargs ) - self.target_column_to_train = 'charge_probs' - self.target_column_to_predict = 'charge_probs_pred' + self.target_column_to_train = 'target_probs' + self.target_column_to_predict = 'target_probs_pred' def _get_targets_from_batch_df(self, batch_df, **kwargs): return self._as_tensor( From 94781122ed7dff111712122260b2e261db92e520 Mon Sep 17 00:00:00 2001 From: jalew188 Date: Fri, 17 Feb 2023 09:37:40 +0200 Subject: [PATCH 21/23] read_peptide_table(): mod_sites as str --- peptdeep/pipeline_api.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/peptdeep/pipeline_api.py b/peptdeep/pipeline_api.py index 18277445..18278f1c 100644 --- a/peptdeep/pipeline_api.py +++ b/peptdeep/pipeline_api.py @@ -255,6 +255,8 @@ def _get_delimiter(tsv_file:str): def read_peptide_table(tsv_file:str)->pd.DataFrame: sep = _get_delimiter(tsv_file) df = pd.read_csv(tsv_file, sep=sep, keep_default_na=False) + if 'mod_sites' in df.columns: + df['mod_sites'] = df.mod_sites.astype('U') return df def generate_library(): From 9f309922a7ba01144db254f7b41df48d88650194 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Fri, 17 Feb 2023 09:42:38 +0100 Subject: [PATCH 22/23] =?UTF-8?q?Bump=20version:=201.0.1=20=E2=86=92=201.0?= =?UTF-8?q?.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion.cfg | 2 +- docs/conf.py | 2 +- peptdeep/__init__.py | 2 +- release/one_click_linux_gui/control | 2 +- release/one_click_linux_gui/create_installer_linux.sh | 2 +- release/one_click_macos_gui/Info.plist | 4 ++-- release/one_click_macos_gui/create_installer_macos.sh | 4 ++-- release/one_click_macos_gui/distribution.xml | 2 +- release/one_click_windows_gui/create_installer_windows.sh | 2 +- release/one_click_windows_gui/peptdeep_innoinstaller.iss | 2 +- settings.ini | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 65c13a5c..a586da2b 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.0.1 +current_version = 1.0.2 commit = True tag = False parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+)(?P\d+))? diff --git a/docs/conf.py b/docs/conf.py index abb276df..f2325613 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,7 +23,7 @@ copyright = '2022, Mann Labs, MPIB' author = 'Mann Labs, MPIB' -release = "1.0.1" +release = "1.0.2" # -- General configuration --------------------------------------------------- diff --git a/peptdeep/__init__.py b/peptdeep/__init__.py index e4f1cc27..d0c8e31c 100644 --- a/peptdeep/__init__.py +++ b/peptdeep/__init__.py @@ -11,7 +11,7 @@ pass __project__ = "peptdeep" -__version__ = "1.0.1" +__version__ = "1.0.2" __license__ = "Apache 2.0" __description__ = "The AlphaX Deep (PeptDeep) Learning Platform for Proteomics" __author__ = "Mann Labs" diff --git a/release/one_click_linux_gui/control b/release/one_click_linux_gui/control index ab7fb2de..9be2a02b 100644 --- a/release/one_click_linux_gui/control +++ b/release/one_click_linux_gui/control @@ -1,5 +1,5 @@ Package: peptdeep -Version: 1.0.1 +Version: 1.0.2 Architecture: all Maintainer: Mann Labs Description: peptdeep diff --git a/release/one_click_linux_gui/create_installer_linux.sh b/release/one_click_linux_gui/create_installer_linux.sh index 31973d17..83dc4d80 100644 --- a/release/one_click_linux_gui/create_installer_linux.sh +++ b/release/one_click_linux_gui/create_installer_linux.sh @@ -17,7 +17,7 @@ python setup.py sdist bdist_wheel # Setting up the local package cd release/one_click_linux_gui # Make sure you include the required extra packages and always use the stable or very-stable options! -pip install "../../dist/peptdeep-1.0.1-py3-none-any.whl[stable]" +pip install "../../dist/peptdeep-1.0.2-py3-none-any.whl[stable]" if [ "$1" == "CPU" ]; then pip install torch -U --extra-index-url https://download.pytorch.org/whl/cpu diff --git a/release/one_click_macos_gui/Info.plist b/release/one_click_macos_gui/Info.plist index 0371ec8d..62f1d0f6 100644 --- a/release/one_click_macos_gui/Info.plist +++ b/release/one_click_macos_gui/Info.plist @@ -9,9 +9,9 @@ CFBundleIconFile alpha_logo.icns CFBundleIdentifier - peptdeep.1.0.1 + peptdeep.1.0.2 CFBundleShortVersionString - 1.0.1 + 1.0.2 CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/release/one_click_macos_gui/create_installer_macos.sh b/release/one_click_macos_gui/create_installer_macos.sh index 2439bd18..4ce7b7e9 100644 --- a/release/one_click_macos_gui/create_installer_macos.sh +++ b/release/one_click_macos_gui/create_installer_macos.sh @@ -20,7 +20,7 @@ python setup.py sdist bdist_wheel # Setting up the local package cd release/one_click_macos_gui -pip install "../../dist/peptdeep-1.0.1-py3-none-any.whl[stable]" +pip install "../../dist/peptdeep-1.0.2-py3-none-any.whl[stable]" # Creating the stand-alone pyinstaller folder pip install pyinstaller @@ -40,5 +40,5 @@ cp ../../LICENSE.txt Resources/LICENSE.txt cp ../logos/alpha_logo.png Resources/alpha_logo.png chmod 777 scripts/* -pkgbuild --root dist/peptdeep --identifier de.mpg.biochem.peptdeep.app --version 1.0.1 --install-location /Applications/peptdeep.app --scripts scripts peptdeep.pkg +pkgbuild --root dist/peptdeep --identifier de.mpg.biochem.peptdeep.app --version 1.0.2 --install-location /Applications/peptdeep.app --scripts scripts peptdeep.pkg productbuild --distribution distribution.xml --resources Resources --package-path peptdeep.pkg dist/peptdeep_gui_installer_macos.pkg diff --git a/release/one_click_macos_gui/distribution.xml b/release/one_click_macos_gui/distribution.xml index 5abeb484..6554d975 100644 --- a/release/one_click_macos_gui/distribution.xml +++ b/release/one_click_macos_gui/distribution.xml @@ -1,6 +1,6 @@ - peptdeep 1.0.1 + peptdeep 1.0.2 diff --git a/release/one_click_windows_gui/create_installer_windows.sh b/release/one_click_windows_gui/create_installer_windows.sh index 4882edb5..fb0a2295 100644 --- a/release/one_click_windows_gui/create_installer_windows.sh +++ b/release/one_click_windows_gui/create_installer_windows.sh @@ -17,7 +17,7 @@ python setup.py sdist bdist_wheel # Setting up the local package cd release/one_click_windows_gui # Make sure you include the required extra packages and always use the stable or very-stable options! -pip install "../../dist/peptdeep-1.0.1-py3-none-any.whl[stable]" +pip install "../../dist/peptdeep-1.0.2-py3-none-any.whl[stable]" # Creating the stand-alone pyinstaller folder pip install pyinstaller diff --git a/release/one_click_windows_gui/peptdeep_innoinstaller.iss b/release/one_click_windows_gui/peptdeep_innoinstaller.iss index 3031875e..513e67f5 100644 --- a/release/one_click_windows_gui/peptdeep_innoinstaller.iss +++ b/release/one_click_windows_gui/peptdeep_innoinstaller.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "peptdeep" -#define MyAppVersion "1.0.1" +#define MyAppVersion "1.0.2" #define MyAppPublisher "Max Planck Institute of Biochemistry and the University of Copenhagen, Mann Labs" #define MyAppURL "https://github.com/MannLabs/peptdeep" #define MyAppExeName "peptdeep_gui.exe" diff --git a/settings.ini b/settings.ini index afb1c033..de036ff6 100644 --- a/settings.ini +++ b/settings.ini @@ -5,7 +5,7 @@ ### Python library ### repo = alphapeptdeep lib_name = peptdeep -version = 1.0.1 +version = 1.0.2 min_python = 3.7 license = apache2 From f13c91b3a711208e00b4ffec4c5504cc50d1a633 Mon Sep 17 00:00:00 2001 From: "Zeng, Wen-Feng" Date: Fri, 17 Feb 2023 11:04:24 +0100 Subject: [PATCH 23/23] moved library_frag_reader to alphabase.spectral_library.reader --- .../psm_frag_reader/library_frag_reader.ipynb | 987 ------------------ peptdeep/__init__.py | 2 +- peptdeep/psm_frag_reader/__init__.py | 2 +- .../psm_frag_reader/library_frag_reader.py | 196 ---- 4 files changed, 2 insertions(+), 1185 deletions(-) delete mode 100644 nbdev_nbs/psm_frag_reader/library_frag_reader.ipynb delete mode 100644 peptdeep/psm_frag_reader/library_frag_reader.py diff --git a/nbdev_nbs/psm_frag_reader/library_frag_reader.ipynb b/nbdev_nbs/psm_frag_reader/library_frag_reader.ipynb deleted file mode 100644 index de0596e9..00000000 --- a/nbdev_nbs/psm_frag_reader/library_frag_reader.ipynb +++ /dev/null @@ -1,987 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#---#| default_exp psm_frag_reader.library_frag_reader" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# TSV Fragment Reader" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Read PSMs and their fragments from TSV spectral library" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from peptdeep.psm_frag_reader.psm_frag_reader import *" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#|hide\n", - "from io import StringIO" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
sequencechargertmobilitymodsmod_sitesnAAfrag_start_idxfrag_stop_idxrt_normprecursor_mzccs
0AVVVSPK2-22.8497400.9Phospho@S57060.018341390.206780366.858877
1DPLAVDK2-15.0871000.976120.150034379.208161367.043100
2SVSFSLK135.0141100.9Phospho@S3712181.000000847.396112183.178171
3VSVSPGR2-23.9308500.9Phospho@S;Phospho@S2;4718240.000000431.167001366.254833
4YSLSPSK2-6.4281980.9Phospho@S4724300.296932431.191327366.254509
\n", - "
" - ], - "text/plain": [ - " sequence charge rt mobility mods mod_sites nAA \\\n", - "0 AVVVSPK 2 -22.849740 0.9 Phospho@S 5 7 \n", - "1 DPLAVDK 2 -15.087100 0.9 7 \n", - "2 SVSFSLK 1 35.014110 0.9 Phospho@S 3 7 \n", - "3 VSVSPGR 2 -23.930850 0.9 Phospho@S;Phospho@S 2;4 7 \n", - "4 YSLSPSK 2 -6.428198 0.9 Phospho@S 4 7 \n", - "\n", - " frag_start_idx frag_stop_idx rt_norm precursor_mz ccs \n", - "0 0 6 0.018341 390.206780 366.858877 \n", - "1 6 12 0.150034 379.208161 367.043100 \n", - "2 12 18 1.000000 847.396112 183.178171 \n", - "3 18 24 0.000000 431.167001 366.254833 \n", - "4 24 30 0.296932 431.191327 366.254509 " - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#| hide\n", - "tsv_str = \"\"\"PrecursorCharge\tModifiedPeptide\tStrippedPeptide\tiRT\tLabeledPeptide\tPrecursorMz\tFragmentLossType\tFragmentNumber\tFragmentType\tFragmentCharge\tFragmentMz\tRelativeIntensity\tIonMobility\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t3\tb\t1\t326.1710473\t14.37029\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t3\ty\t1\t361.2081611\t37.7585\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t4\tb\t1\t397.2081611\t9.488808\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t4\ty\t1\t432.2452749\t100\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t5\tb\t1\t496.276575\t5.498003\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t5\ty\t1\t545.3293389\t74.56643\t0.9\n", - "2\t_DPLAVDK_\tDPLAVDK\t-15.0871\t_DPLAVDK_\t379.2081611\tnoloss\t6\ty\t2\t321.6946896\t51.50719\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t3\ty\t1\t411.1639269\t6.911595\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t3\ty\t1\t313.1870287\t17.38582\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t4\ty\t1\t510.2323409\t10.65426\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t4\ty\t1\t412.2554427\t37.41231\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tnoloss\t5\ty\t1\t609.3007548\t45.03617\t0.9\n", - "2\t_AVVVS[Phospho (STY)]PK_\tAVVVSPK\t-22.84974\t_AVVVS[Phospho (STY)]PK_\t390.2067795\tH3PO4\t5\ty\t1\t511.3238566\t100\t0.9\n", - "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tnoloss\t3\ty\t1\t349.1717756\t9.20575\t0.9\n", - "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tnoloss\t6\ty\t1\t686.2756622\t10.37339\t0.9\n", - "2\t_MGS[Phospho (STY)]LDSK_\tMGSLDSK\t-27.5635\t_MGS[Phospho (STY)]LDSK_\t409.1617118\tH3PO4\t6\ty\t1\t588.298764\t100\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t3\ty\t1\t347.2288965\t88.27327\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t3\tb\t1\t256.1291795\t64.97146\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t4\ty\t1\t494.2973105\t100\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t4\tb\t1\t403.1975934\t35.17805\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t5\ty\t1\t661.2956694\t19.89741\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t5\tb\t1\t490.2296218\t40.04738\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t5\ty\t1\t563.3187712\t77.43164\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tnoloss\t6\tb\t1\t701.290584\t24.43497\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\tH3PO4\t6\tb\t1\t603.3136858\t63.09999\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t3\tb\t1\t238.1186147\t62.60851\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t5\tb\t1\t472.219057\t22.99903\t0.9\n", - "1\t_SVS[Phospho (STY)]FSLK_\tSVSFSLK\t35.01411\t_SVS[Phospho (STY)]FSLK_\t847.3961117\t1(+H2+O)1(+H3+O4+P)\t6\tb\t1\t585.303121\t66.30389\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t3\ty\t1\t329.1931797\t100\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t3\tb\t1\t268.165565\t5.755442\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t4\tb\t2\t267.0740493\t8.743931\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t4\ty\t1\t496.1915387\t27.69686\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t4\tb\t1\t435.1639239\t6.162673\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\t2(+H3+O4+P)\t4\tb\t1\t337.1870258\t10.84257\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t4\ty\t1\t398.2146405\t26.28527\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t5\ty\t1\t497.2830544\t28.41294\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tnoloss\t6\ty\t1\t762.2583115\t8.490795\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\tH3PO4\t6\ty\t1\t664.2814133\t32.87384\t0.9\n", - "2\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\tVSVSPGR\t-23.93085\t_VS[Phospho (STY)]VS[Phospho (STY)]PGR_\t431.1670009\t2(+H3+O4+P)\t6\ty\t1\t566.3045151\t35.87218\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t3\ty\t1\t331.1975964\t49.20179\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t4\ty\t1\t498.1959553\t10.89141\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t4\ty\t1\t400.2190571\t27.99594\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t5\ty\t1\t611.2800193\t14.11057\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t5\ty\t1\t513.3031211\t70.5295\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tnoloss\t6\ty\t1\t698.3120477\t60.23455\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\tH3PO4\t6\ty\t1\t600.3351495\t100\t0.9\n", - "2\t_YSLS[Phospho (STY)]PSK_\tYSLSPSK\t-6.428198\t_YSLS[Phospho (STY)]PSK_\t431.1913264\t1(+H2+O)1(+H3+O4+P)\t6\ty\t1\t582.3245847\t5.233977\t0.9\n", - "\"\"\"\n", - "\n", - "reader = psm_w_frag_reader_provider.get_reader('spectronaut')\n", - "psm_df = reader.import_file(StringIO(tsv_str))\n", - "for col in ['sequence','charge','rt','rt_norm','mods','mod_sites','nAA','frag_start_idx','frag_stop_idx']:\n", - " assert col in psm_df.columns\n", - "psm_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
b_z1b_z2y_z1y_z2b_modloss_z1b_modloss_z2y_modloss_z1y_modloss_z2
00.0000000.0000000.0000000.0000000.0000000.00.0000000.0
10.0000000.0000000.4503620.0000000.0000000.01.0000000.0
20.0000000.0000000.1065430.0000000.0000000.00.3741230.0
30.0000000.0000000.0691160.0000000.0000000.00.1738580.0
40.0000000.0000000.0000000.0000000.0000000.00.0000000.0
50.0000000.0000000.0000000.0000000.0000000.00.0000000.0
60.0000000.0000000.0000000.5150720.0000000.00.0000000.0
70.0000000.0000000.7456640.0000000.0000000.00.0000000.0
80.1437030.0000001.0000000.0000000.0000000.00.0000000.0
90.0948880.0000000.3775850.0000000.0000000.00.0000000.0
100.0549800.0000000.0000000.0000000.0000000.00.0000000.0
110.0000000.0000000.0000000.0000000.0000000.00.0000000.0
120.0000000.0000000.0000000.0000000.0000000.00.0000000.0
130.0000000.0000000.1989740.0000000.0000000.00.7743160.0
140.0000000.0000001.0000000.0000000.6497150.00.0000000.0
150.0000000.0000000.8827330.0000000.3517810.00.0000000.0
160.0000000.0000000.0000000.0000000.4004740.00.0000000.0
170.2443500.0000000.0000000.0000000.6310000.00.0000000.0
180.0000000.0000000.0849080.0000000.0000000.00.3287380.0
190.0000000.0000000.0000000.0000000.0000000.00.2841290.0
200.0000000.0000000.2769690.0000000.0575540.00.2628530.0
210.0000000.0874391.0000000.0000000.0616270.00.0000000.0
220.0000000.0000000.0000000.0000000.0000000.00.0000000.0
230.0000000.0000000.0000000.0000000.0000000.00.0000000.0
240.0000000.0000000.6023460.0000000.0000000.01.0000000.0
250.0000000.0000000.1411060.0000000.0000000.00.7052950.0
260.0000000.0000000.1089140.0000000.0000000.00.2799590.0
270.0000000.0000000.4920180.0000000.0000000.00.0000000.0
280.0000000.0000000.0000000.0000000.0000000.00.0000000.0
290.0000000.0000000.0000000.0000000.0000000.00.0000000.0
\n", - "
" - ], - "text/plain": [ - " b_z1 b_z2 y_z1 y_z2 b_modloss_z1 b_modloss_z2 \\\n", - "0 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "1 0.000000 0.000000 0.450362 0.000000 0.000000 0.0 \n", - "2 0.000000 0.000000 0.106543 0.000000 0.000000 0.0 \n", - "3 0.000000 0.000000 0.069116 0.000000 0.000000 0.0 \n", - "4 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "5 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "6 0.000000 0.000000 0.000000 0.515072 0.000000 0.0 \n", - "7 0.000000 0.000000 0.745664 0.000000 0.000000 0.0 \n", - "8 0.143703 0.000000 1.000000 0.000000 0.000000 0.0 \n", - "9 0.094888 0.000000 0.377585 0.000000 0.000000 0.0 \n", - "10 0.054980 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "11 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "12 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "13 0.000000 0.000000 0.198974 0.000000 0.000000 0.0 \n", - "14 0.000000 0.000000 1.000000 0.000000 0.649715 0.0 \n", - "15 0.000000 0.000000 0.882733 0.000000 0.351781 0.0 \n", - "16 0.000000 0.000000 0.000000 0.000000 0.400474 0.0 \n", - "17 0.244350 0.000000 0.000000 0.000000 0.631000 0.0 \n", - "18 0.000000 0.000000 0.084908 0.000000 0.000000 0.0 \n", - "19 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "20 0.000000 0.000000 0.276969 0.000000 0.057554 0.0 \n", - "21 0.000000 0.087439 1.000000 0.000000 0.061627 0.0 \n", - "22 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "23 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "24 0.000000 0.000000 0.602346 0.000000 0.000000 0.0 \n", - "25 0.000000 0.000000 0.141106 0.000000 0.000000 0.0 \n", - "26 0.000000 0.000000 0.108914 0.000000 0.000000 0.0 \n", - "27 0.000000 0.000000 0.492018 0.000000 0.000000 0.0 \n", - "28 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "29 0.000000 0.000000 0.000000 0.000000 0.000000 0.0 \n", - "\n", - " y_modloss_z1 y_modloss_z2 \n", - "0 0.000000 0.0 \n", - "1 1.000000 0.0 \n", - "2 0.374123 0.0 \n", - "3 0.173858 0.0 \n", - "4 0.000000 0.0 \n", - "5 0.000000 0.0 \n", - "6 0.000000 0.0 \n", - "7 0.000000 0.0 \n", - "8 0.000000 0.0 \n", - "9 0.000000 0.0 \n", - "10 0.000000 0.0 \n", - "11 0.000000 0.0 \n", - "12 0.000000 0.0 \n", - "13 0.774316 0.0 \n", - "14 0.000000 0.0 \n", - "15 0.000000 0.0 \n", - "16 0.000000 0.0 \n", - "17 0.000000 0.0 \n", - "18 0.328738 0.0 \n", - "19 0.284129 0.0 \n", - "20 0.262853 0.0 \n", - "21 0.000000 0.0 \n", - "22 0.000000 0.0 \n", - "23 0.000000 0.0 \n", - "24 1.000000 0.0 \n", - "25 0.705295 0.0 \n", - "26 0.279959 0.0 \n", - "27 0.000000 0.0 \n", - "28 0.000000 0.0 \n", - "29 0.000000 0.0 " - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#| hide\n", - "reader.fragment_intensity_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#| hide\n", - "df = pd.read_csv(StringIO(tsv_str), sep='\\t')\n", - "seq = 'YSLSPSK'\n", - "seq,start,end = psm_df.loc[psm_df.sequence==seq,['sequence','frag_start_idx','frag_stop_idx']].values[0]\n", - "y_df = df[(df['StrippedPeptide']==seq)&(df['FragmentLossType']=='noloss')&(df['FragmentType']=='y')]\n", - "y_ions = np.zeros(len(seq)-1)\n", - "y_ions[len(seq)-y_df.FragmentNumber-1] = y_df.RelativeIntensity.values / 100\n", - "assert np.allclose(\n", - " reader.fragment_intensity_df.loc[start:end+1,'y_z1'].values,\n", - " y_ions\n", - ")\n", - "y_df = df[(df['StrippedPeptide']==seq)&(df['FragmentLossType']=='H3PO4')&(df['FragmentType']=='y')]\n", - "y_ions = np.zeros(len(seq)-1)\n", - "y_ions[len(seq)-y_df.FragmentNumber-1] = y_df.RelativeIntensity.values / 100\n", - "assert np.allclose(\n", - " reader.fragment_intensity_df.loc[start:end+1,'y_modloss_z1'].values,\n", - " y_ions\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
sequencechargertmobilitymodsmod_sitesnAAfrag_start_idxfrag_stop_idxrt_normprecursor_mzccs
0ALVATPGK2-5.0327030.758Phospho@T58070.234119418.717512308.612143
1ELIQEYGAQSGGLEK239.0846101.081Phospho@S10157211.000000851.390200436.485165
2GGSPDLWK230.2007200.775Phospho@S3821280.845775470.202226314.974129
3NLTEDNSQNQDLIAK212.6500001.0921528420.541092851.915755440.924535
4TLTPPLR227.7165900.818Phospho@T3742480.802650439.230786332.788837
5TRLSPPR2-18.5187200.785Phospho@S4748540.000000453.731485319.205696
\n", - "
" - ], - "text/plain": [ - " sequence charge rt mobility mods mod_sites nAA \\\n", - "0 ALVATPGK 2 -5.032703 0.758 Phospho@T 5 8 \n", - "1 ELIQEYGAQSGGLEK 2 39.084610 1.081 Phospho@S 10 15 \n", - "2 GGSPDLWK 2 30.200720 0.775 Phospho@S 3 8 \n", - "3 NLTEDNSQNQDLIAK 2 12.650000 1.092 15 \n", - "4 TLTPPLR 2 27.716590 0.818 Phospho@T 3 7 \n", - "5 TRLSPPR 2 -18.518720 0.785 Phospho@S 4 7 \n", - "\n", - " frag_start_idx frag_stop_idx rt_norm precursor_mz ccs \n", - "0 0 7 0.234119 418.717512 308.612143 \n", - "1 7 21 1.000000 851.390200 436.485165 \n", - "2 21 28 0.845775 470.202226 314.974129 \n", - "3 28 42 0.541092 851.915755 440.924535 \n", - "4 42 48 0.802650 439.230786 332.788837 \n", - "5 48 54 0.000000 453.731485 319.205696 " - ] - }, - "execution_count": null, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "#| hide\n", - "tsv_str = \"\"\"ReferenceRun\tPrecursorCharge\tWorkflow\tIntModifiedPeptide\tCV\tAllowForNormalization\tModifiedPeptide\tStrippedPeptide\tiRT\tIonMobility\tiRTSourceSpecific\tBGSInferenceId\tIsProteotypic\tIntLabeledPeptide\tLabeledPeptide\tPrecursorMz\tReferenceRunQvalue\tReferenceRunMS1Response\tFragmentLossType\tFragmentNumber\tFragmentType\tFragmentCharge\tFragmentMz\tRelativeIntensity\tExcludeFromAssay\tDatabase\tProteinGroups\tUniProtIds\tProtein Name\tProteinDescription\tOrganisms\tOrganismId\tGenes\tProtein Existence\tSequence Version\tFASTAName\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tnoloss\t3\ty\t1\t301.187031733932\t53.1991\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tH3PO4\t4\ty\t1\t384.224142529733\t26.31595\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tnoloss\t5\ty\t1\t553.238154507802\t54.60104\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tH3PO4\t5\ty\t1\t455.261256314443\t46.09977\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tnoloss\t6\ty\t1\t652.306568420792\t100\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_ALVAT[+80]PGK_\t\tTrue\t_ALVAT[Phospho (STY)]PGK_\tALVATPGK\t-5.032703\t0.758\t-5.032703\tP19338\tFalse\t_ALVAT[+80]PGK_\t_ALVAT[Phospho (STY)]PGK_\t418.717511324722\t0\t10352\tH3PO4\t6\ty\t1\t554.329670227433\t50.4698\tFalse\tsp\tP19338\tP19338\tNUCL_HUMAN\tNucleolin\tHomo sapiens\t\tNCL\t1\t3\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tnoloss\t3\tb\t1\t396.153027901512\t6.3264\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tnoloss\t3\ty\t1\t385.255780000092\t29.70625\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tnoloss\t4\ty\t1\t482.308543848942\t100\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tnoloss\t5\ty\t1\t663.322552838102\t15.22549\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tH3PO4\t5\ty\t1\t565.345654644743\t78.98973\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tH3PO4\t6\ty\t1\t678.429718621873\t7.326889\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tNH3\t3\ty\t1\t368.229231614472\t5.478241\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TLT[+80]PPLR_\t\tTrue\t_TLT[Phospho (STY)]PPLR_\tTLTPPLR\t27.71659\t0.818\t27.71659\tQ5T200\tFalse\t_TLT[+80]PPLR_\t_TLT[Phospho (STY)]PPLR_\t439.230785875227\t0.000138389150379226\t23117\tnoloss\t6\ty\t2\t388.706946641022\t5.111521\tFalse\tsp\tQ5T200\tQ5T200\tZC3HD_HUMAN\tZinc finger CCCH domain-containing protein 13\tHomo sapiens\t\tZC3H13\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_AGS[+80]PDVLR_\t\tTrue\t_AGS[Phospho (STY)]PDVLR_\tAGSPDVLR\t-0.7970191\t0.78\t-0.7970191\tQ8NDX6\tTrue\t_AGS[+80]PDVLR_\t_AGS[Phospho (STY)]PDVLR_\t447.707674917012\t0\t20561\tnoloss\t3\ty\t1\t387.271430064232\t52.42308\tFalse\tsp\tQ8NDX6\tQ8NDX6\tZN740_HUMAN\tZinc finger protein 740\tHomo sapiens\t\tZNF740\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_AGS[+80]PDVLR_\t\tTrue\t_AGS[Phospho (STY)]PDVLR_\tAGSPDVLR\t-0.7970191\t0.78\t-0.7970191\tQ8NDX6\tTrue\t_AGS[+80]PDVLR_\t_AGS[Phospho (STY)]PDVLR_\t447.707674917012\t0\t20561\tnoloss\t4\ty\t1\t502.298373088062\t9.560875\tFalse\tsp\tQ8NDX6\tQ8NDX6\tZN740_HUMAN\tZinc finger protein 740\tHomo sapiens\t\tZNF740\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_AGS[+80]PDVLR_\t\tTrue\t_AGS[Phospho (STY)]PDVLR_\tAGSPDVLR\t-0.7970191\t0.78\t-0.7970191\tQ8NDX6\tTrue\t_AGS[+80]PDVLR_\t_AGS[Phospho (STY)]PDVLR_\t447.707674917012\t0\t20561\tnoloss\t5\ty\t1\t599.351136936912\t100\tFalse\tsp\tQ8NDX6\tQ8NDX6\tZN740_HUMAN\tZinc finger protein 740\tHomo sapiens\t\tZNF740\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_AGS[+80]PDVLR_\t\tTrue\t_AGS[Phospho (STY)]PDVLR_\tAGSPDVLR\t-0.7970191\t0.78\t-0.7970191\tQ8NDX6\tTrue\t_AGS[+80]PDVLR_\t_AGS[Phospho (STY)]PDVLR_\t447.707674917012\t0\t20561\tH3PO4\t6\ty\t2\t334.689937067692\t68.40089\tFalse\tsp\tQ8NDX6\tQ8NDX6\tZN740_HUMAN\tZinc finger protein 740\tHomo sapiens\t\tZNF740\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_AGS[+80]PDVLR_\t\tTrue\t_AGS[Phospho (STY)]PDVLR_\tAGSPDVLR\t-0.7970191\t0.78\t-0.7970191\tQ8NDX6\tTrue\t_AGS[+80]PDVLR_\t_AGS[Phospho (STY)]PDVLR_\t447.707674917012\t0\t20561\tH3PO4\t7\ty\t2\t363.200668927977\t27.03024\tFalse\tsp\tQ8NDX6\tQ8NDX6\tZN740_HUMAN\tZinc finger protein 740\tHomo sapiens\t\tZNF740\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tnoloss\t3\ty\t1\t369.224479871812\t97.64322\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tnoloss\t4\tb\t1\t538.238488860972\t17.74173\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tH3PO4\t4\tb\t1\t440.261590667613\t100\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tH3PO4\t4\ty\t1\t438.245940603473\t7.038487\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tnoloss\t5\ty\t1\t649.306902773962\t6.46876\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tH3PO4\t5\tb\t1\t537.314354516463\t10.4885\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\tH3PO4\t5\ty\t1\t551.330004580603\t20.62304\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_TRLS[+80]PPR_\t\tTrue\t_TRLS[Phospho (STY)]PPR_\tTRLSPPR\t-18.51872\t0.785\t-18.51872\tQ96PK6\tTrue\t_TRLS[+80]PPR_\t_TRLS[Phospho (STY)]PPR_\t453.731484366392\t0.000731277163140476\t55003\t1(+H3+N)1(+H3+O4+P)\t4\tb\t1\t423.235042281993\t8.850685\tFalse\tsp\tQ96PK6\tQ96PK6\tRBM14_HUMAN\tRNA-binding protein 14\tHomo sapiens\t\tRBM14\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_S[+80]SPLSWR_\t\tTrue\t_S[Phospho (STY)]SPLSWR_\tSSPLSWR\t32.96021\t0.806\t32.96021\tQ8NEY1;Q8NEY1-3\tFalse\t_S[+80]SPLSWR_\t_S[Phospho (STY)]SPLSWR_\t456.702392575162\t0.00218558823689818\t6996\tnoloss\t3\ty\t1\t448.230293528242\t74.2921\tFalse\tsp\tQ8NEY1;Q8NEY1-3\tQ8NEY1;Q8NEY1-3\tNAV1_HUMAN\tNeuron navigator 1;Isoform of Q8NEY1, Isoform 3 of Neuron navigator 1\tHomo sapiens\t\tNAV1\t1;\t2;\tMCT_human_UP000005640_9606;MCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_S[+80]SPLSWR_\t\tTrue\t_S[Phospho (STY)]SPLSWR_\tSSPLSWR\t32.96021\t0.806\t32.96021\tQ8NEY1;Q8NEY1-3\tFalse\t_S[+80]SPLSWR_\t_S[Phospho (STY)]SPLSWR_\t456.702392575162\t0.00218558823689818\t6996\tnoloss\t4\ty\t1\t561.314357505372\t100\tFalse\tsp\tQ8NEY1;Q8NEY1-3\tQ8NEY1;Q8NEY1-3\tNAV1_HUMAN\tNeuron navigator 1;Isoform of Q8NEY1, Isoform 3 of Neuron navigator 1\tHomo sapiens\t\tNAV1\t1;\t2;\tMCT_human_UP000005640_9606;MCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_S[+80]SPLSWR_\t\tTrue\t_S[Phospho (STY)]SPLSWR_\tSSPLSWR\t32.96021\t0.806\t32.96021\tQ8NEY1;Q8NEY1-3\tFalse\t_S[+80]SPLSWR_\t_S[Phospho (STY)]SPLSWR_\t456.702392575162\t0.00218558823689818\t6996\tnoloss\t5\ty\t1\t658.367121354222\t53.05514\tFalse\tsp\tQ8NEY1;Q8NEY1-3\tQ8NEY1;Q8NEY1-3\tNAV1_HUMAN\tNeuron navigator 1;Isoform of Q8NEY1, Isoform 3 of Neuron navigator 1\tHomo sapiens\t\tNAV1\t1;\t2;\tMCT_human_UP000005640_9606;MCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_S[+80]SPLSWR_\t\tTrue\t_S[Phospho (STY)]SPLSWR_\tSSPLSWR\t32.96021\t0.806\t32.96021\tQ8NEY1;Q8NEY1-3\tFalse\t_S[+80]SPLSWR_\t_S[Phospho (STY)]SPLSWR_\t456.702392575162\t0.00218558823689818\t6996\tH2O\t4\ty\t1\t543.303792701295\t8.122206\tFalse\tsp\tQ8NEY1;Q8NEY1-3\tQ8NEY1;Q8NEY1-3\tNAV1_HUMAN\tNeuron navigator 1;Isoform of Q8NEY1, Isoform 3 of Neuron navigator 1\tHomo sapiens\t\tNAV1\t1;\t2;\tMCT_human_UP000005640_9606;MCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_S[+80]SPLSWR_\t\tTrue\t_S[Phospho (STY)]SPLSWR_\tSSPLSWR\t32.96021\t0.806\t32.96021\tQ8NEY1;Q8NEY1-3\tFalse\t_S[+80]SPLSWR_\t_S[Phospho (STY)]SPLSWR_\t456.702392575162\t0.00218558823689818\t6996\tNH3\t4\ty\t1\t544.287809119752\t11.54993\tFalse\tsp\tQ8NEY1;Q8NEY1-3\tQ8NEY1;Q8NEY1-3\tNAV1_HUMAN\tNeuron navigator 1;Isoform of Q8NEY1, Isoform 3 of Neuron navigator 1\tHomo sapiens\t\tNAV1\t1;\t2;\tMCT_human_UP000005640_9606;MCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tnoloss\t3\ty\t1\t446.276181091502\t14.71406\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tnoloss\t4\ty\t1\t561.303124115332\t33.08263\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tnoloss\t5\tb\t1\t494.128269705652\t6.559356\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tnoloss\t5\ty\t1\t658.355887964182\t100\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tH3PO4\t5\tb\t1\t396.151371512293\t6.920845\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tnoloss\t6\tb\t1\t607.212333682782\t6.388004\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tH3PO4\t6\tb\t1\t509.235435489423\t19.9082\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tH3PO4\t6\ty\t2\t364.192312581327\t80.62402\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tH3PO4\t7\tb\t1\t695.314748439283\t16.95742\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\tH3PO4\t7\ty\t2\t392.703044441612\t23.94268\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_100ug_test_S4-A1_1_25843\t2\t\t_GGS[+80]PDLWK_\t\tTrue\t_GGS[Phospho (STY)]PDLWK_\tGGSPDLWK\t30.20072\t0.775\t30.20072\tQ96JM3\tTrue\t_GGS[+80]PDLWK_\t_GGS[Phospho (STY)]PDLWK_\t470.202225398577\t0\t14524\t1(+H2+O)1(+H3+O4+P)\t6\tb\t1\t491.224876407391\t7.7026\tFalse\tsp\tQ96JM3\tQ96JM3\tCHAP1_HUMAN\tChromosome alignment-maintaining phosphoprotein 1\tHomo sapiens\t\tCHAMP1\t1\t2\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t8\tb\t1\t904.441074140122\t13.24587\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t8\ty\t1\t869.376438885762\t9.73339\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH3PO4\t8\ty\t1\t771.399540692403\t15.5311\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t9\ty\t1\t926.397902606332\t62.03978\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH3PO4\t9\ty\t1\t828.421004412973\t100\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t10\ty\t1\t1089.46123113888\t27.16885\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH3PO4\t10\ty\t1\t991.484332945523\t37.66399\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t11\ty\t1\t1218.50382422685\t11.55311\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH3PO4\t11\ty\t1\t1120.52692603349\t14.68472\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tnoloss\t12\ty\t2\t673.784839099472\t19.2975\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH3PO4\t13\ty\t2\t681.338421991357\t5.416843\tTrue\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH2O\t3\tb\t1\t338.207432704965\t52.51799\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH2O\t4\tb\t1\t466.266010210245\t11.00296\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH2O\t5\tb\t1\t595.308603298215\t40.71096\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H2+O)1(+H3+O4+P)\t7\ty\t2\t341.679569285214\t6.94033\tTrue\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H3+N)1(+H3+O4+P)\t7\ty\t1\t683.335878522073\t9.944985\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H3+N)1(+H3+O4+P)\t8\ty\t2\t377.690134386797\t6.051629\tTrue\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H2+O)1(+H3+O4+P)\t11\ty\t1\t1102.51636122942\t10.49513\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H3+N)1(+H3+O4+P)\t11\ty\t1\t1103.50037764787\t5.966991\tTrue\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tH2O\t12\ty\t2\t664.779556697433\t18.91663\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\tNH3\t12\ty\t2\t665.271564906662\t5.459162\tTrue\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_ELIQEYGAQS[+80]GGLEK_\t\tTrue\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\tELIQEYGAQSGGLEK\t39.08461\t1.081\t39.08461\tA0A075B730\tFalse\t_ELIQEYGAQS[+80]GGLEK_\t_ELIQEYGAQS[Phospho (STY)]GGLEK_\t851.390199620587\t0\t11732\t1(+H2+O)1(+H3+O4+P)\t12\ty\t2\t615.791107600754\t16.20821\tFalse\ttr\tA0A075B730\tA0A075B730\tA0A075B730_HUMAN\tIsoform of P58107, Epiplakin\tHomo sapiens\t\tEPPK1\t1\t2\tMCT_human2_UP000005640_9606_additional\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t3\tb\t1\t329.181946353492\t19.79472\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t3\ty\t1\t331.233981926352\t34.45748\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t4\ty\t1\t444.318045903482\t41.93548\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t5\tb\t1\t573.251482465292\t56.89149\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t5\ty\t1\t559.344988927312\t31.81818\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t6\ty\t1\t687.403566432592\t6.744868\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t7\ty\t1\t801.446493873732\t100\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t8\ty\t1\t929.505071379012\t6.158358\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t9\ty\t1\t1016.53709978328\t16.27566\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t10\ty\t1\t1130.58002722442\t14.07625\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tnoloss\t12\ty\t1\t1374.64956333622\t23.60704\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tH2O\t3\tb\t1\t311.171381549415\t27.56598\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tNH3\t8\ty\t1\t912.478522993392\t5.718475\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tNH3\t9\ty\t1\t999.510551397662\t6.744868\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "202106018_TIMS03_EVO03_PaSk_SA_HeLa_EGF_Phospho_library15_S4-B3_1_25857\t2\t\t_NLTEDNSQNQDLIAK_\t\tTrue\t_NLTEDNSQNQDLIAK_\tNLTEDNSQNQDLIAK\t12.65\t1.092\t12.65\tQ9UBB4\tFalse\t_NLTEDNSQNQDLIAK_\t_NLTEDNSQNQDLIAK_\t851.915754844857\t0.000129324282170273\t6592\tNH3\t12\ty\t1\t1357.6230149506\t10.41056\tFalse\tsp\tQ9UBB4\tQ9UBB4\tATX10_HUMAN\tAtaxin-10\tHomo sapiens\t\tATXN10\t1\t1\tMCT_human_UP000005640_9606\n", - "\"\"\"\n", - "\n", - "reader = psm_w_frag_reader_provider.get_reader('spectronaut')\n", - "psm_df = reader.import_file(StringIO(tsv_str))\n", - "for col in ['sequence','charge','rt','rt_norm','mods','mod_sites','nAA','frag_start_idx','frag_stop_idx']:\n", - " assert col in psm_df.columns\n", - "if reader.groupby_raw_name:\n", - " assert 'raw_name' in psm_df.columns\n", - "psm_df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3.8.3 ('base')", - "language": "python", - "name": "python3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/peptdeep/__init__.py b/peptdeep/__init__.py index d0c8e31c..6538e5c1 100644 --- a/peptdeep/__init__.py +++ b/peptdeep/__init__.py @@ -13,7 +13,7 @@ __project__ = "peptdeep" __version__ = "1.0.2" __license__ = "Apache 2.0" -__description__ = "The AlphaX Deep (PeptDeep) Learning Platform for Proteomics" +__description__ = "The AlphaX deep learning framework for Proteomics" __author__ = "Mann Labs" __author_email__ = "jalew.zwf@qq.com" __github__ = "https://github.com/MannLabs/peptdeep" diff --git a/peptdeep/psm_frag_reader/__init__.py b/peptdeep/psm_frag_reader/__init__.py index cdcbc06d..fca580ae 100644 --- a/peptdeep/psm_frag_reader/__init__.py +++ b/peptdeep/psm_frag_reader/__init__.py @@ -1,4 +1,4 @@ from peptdeep.psm_frag_reader import ( - library_frag_reader, maxquant_frag_reader, + maxquant_frag_reader, psm_frag_reader, psmlabel_reader ) \ No newline at end of file diff --git a/peptdeep/psm_frag_reader/library_frag_reader.py b/peptdeep/psm_frag_reader/library_frag_reader.py deleted file mode 100644 index e6974332..00000000 --- a/peptdeep/psm_frag_reader/library_frag_reader.py +++ /dev/null @@ -1,196 +0,0 @@ -import pandas as pd -import numpy as np - -from alphabase.io.psm_reader.dia_search_reader import ( - SpectronautReader -) - -import alphabase.peptide.mobility as mobility - -from peptdeep.psm_frag_reader.psm_frag_reader import ( - PSMReader_w_FragBase, - psm_w_frag_reader_provider -) - -class SpectronautMSMSReader(SpectronautReader, PSMReader_w_FragBase): - def __init__(self, - frag_types=['b','y','b_modloss','y_modloss'], - max_frag_charge=2, - rt_unit='irt', - **kwargs - ): - PSMReader_w_FragBase.__init__(self, - frag_types = frag_types, - max_frag_charge = max_frag_charge, - **kwargs - ) - - SpectronautReader.__init__(self, rt_unit=rt_unit) - - self.min_allow_frag_num = 6 - self.groupby_raw_name = False - - @property - def fragment_intensity_df(self): - return self._fragment_intensity_df - - def _find_mapped_columns(self, lib_df): - self.seq_col = None - for col in self.column_mapping['sequence']: - if col in lib_df.columns: - self.seq_col = col - break - self.rt_col = None - for col in self.column_mapping['rt']: - if col in lib_df.columns: - self.rt_col = col - break - self.mob_col = None - for col in self.column_mapping['mobility']: - if col in lib_df.columns: - self.mob_col = col - break - self.raw_col = None - if self.groupby_raw_name: - if isinstance(self.column_mapping['raw_name'],str): - if self.column_mapping['raw_name'] in lib_df.columns: - self.raw_col = self.column_mapping['raw_name'] - else: - for col in self.column_mapping['raw_name']: - if col in lib_df.columns: - self.raw_col = col - break - - def _get_fragment_intensity(self, lib_df): - - frag_col_dict = dict(zip( - self.charged_frag_types, - range(len(self.charged_frag_types)) - )) - - self._find_mapped_columns(lib_df) - - mod_seq_list = [] - seq_list = [] - charge_list = [] - rt_list = [] - mob_list = [] - frag_intens_list = [] - nAA_list = [] - raw_list = [] - - group_cols = [self.mod_seq_column, self.seq_col, 'PrecursorCharge'] - - if self.raw_col is not None: - group_cols.append(self.raw_col) - - for keys, df_group in lib_df.groupby( - group_cols - ): - if len(df_group) < self.min_allow_frag_num: continue - if self.raw_col is None: - mod_seq, seq, charge = keys - else: - mod_seq, seq, charge, raw = keys - nAA = len(seq) - intens = np.zeros( - (nAA-1, len(self.charged_frag_types)),dtype=np.float32 - ) - for frag_type, frag_num, loss_type, frag_charge, inten in df_group[ - [ - 'FragmentType','FragmentNumber','FragmentLossType', - 'FragmentCharge','RelativeIntensity' - ] - ].values: - if frag_type in 'abc': - frag_num -= 1 - elif frag_type in 'xyz': - frag_num = nAA-frag_num-1 - else: - continue - - if loss_type == 'noloss': - frag_type = f'{frag_type}_z{frag_charge}' - elif loss_type == 'H3PO4': - frag_type = f'{frag_type}_modloss_z{frag_charge}' - else: - continue - - if frag_type not in frag_col_dict: - continue - frag_col_idx = frag_col_dict[frag_type] - intens[frag_num, frag_col_idx] = inten - max_inten = np.max(intens) - if max_inten <= 0: continue - intens /= max_inten - - mod_seq_list.append(mod_seq) - seq_list.append(seq) - charge_list.append(charge) - rt_list.append(df_group[self.rt_col].values[0]) - mob_list.append(df_group[self.mob_col].values[0]) - frag_intens_list.append(intens) - nAA_list.append(nAA) - if self.raw_col is not None: - raw_list.append(raw) - - df = pd.DataFrame({ - self.mod_seq_column: mod_seq_list, - self.seq_col: seq_list, - 'PrecursorCharge': charge_list, - self.rt_col: rt_list, - self.mob_col: mob_list, - }) - - if self.raw_col is not None: - df[self.raw_col] = raw_list - - self._fragment_intensity_df = pd.DataFrame( - np.concatenate(frag_intens_list), - columns = self.charged_frag_types - ) - - indices = np.zeros(len(nAA_list)+1, dtype=np.int64) - indices[1:] = np.array(nAA_list)-1 - indices = np.cumsum(indices) - - df['frag_start_idx'] = indices[:-1] - df['frag_stop_idx'] = indices[1:] - - return df - - def _load_file(self, filename): - df = pd.read_csv(filename, sep=self.csv_sep) - self._find_mod_seq_column(df) - - df = self._get_fragment_intensity(df) - - return df - - def _post_process(self, - lib_df - ): - self._psm_df['nAA'] = self._psm_df.sequence.str.len() - self._psm_df[ - ['frag_start_idx','frag_stop_idx'] - ] = lib_df[['frag_start_idx','frag_stop_idx']] - - self.normalize_rt_by_raw_name() - - if ( - 'mobility' in self._psm_df.columns - ): - self._psm_df['ccs'] = ( - mobility.mobility_to_ccs_for_df( - self._psm_df, - 'mobility' - ) - ) - - self._psm_df = self._psm_df[ - ~self._psm_df.mods.isna() - ].reset_index(drop=True) - - - -psm_w_frag_reader_provider.register_reader('spectronaut', SpectronautMSMSReader)