From e1ddd034b1a2c53a69a3afc7da05010515325831 Mon Sep 17 00:00:00 2001 From: wenbostar Date: Sat, 27 Apr 2024 20:45:20 -0700 Subject: [PATCH] 1. Supported TMT labelled peptides; 2. Fixed issues: https://github.com/wenbostar/PDV/issues/74 and https://github.com/wenbostar/PDV/issues/71. --- pom.xml | 2 +- .../PDVGUI/gui/utils/GetPredictedOnline.java | 8 ++-- .../gui/utils/ImportPredictedDialog.java | 38 ++++++++++++++----- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/pom.xml b/pom.xml index c64b721..a88a94c 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ PDV PDV jar - 2.0.0 + 2.0.1-beta PDV https://github.com/wenbostar/PDV An integrative proteomics viewer diff --git a/src/main/java/PDVGUI/gui/utils/GetPredictedOnline.java b/src/main/java/PDVGUI/gui/utils/GetPredictedOnline.java index ba25fac..1aa044f 100644 --- a/src/main/java/PDVGUI/gui/utils/GetPredictedOnline.java +++ b/src/main/java/PDVGUI/gui/utils/GetPredictedOnline.java @@ -1,6 +1,5 @@ package PDVGUI.gui.utils; -import com.compomics.util.experiment.identification.spectrum_assumptions.PeptideAssumption; import com.compomics.util.experiment.massspectrometry.Charge; import com.compomics.util.experiment.massspectrometry.MSnSpectrum; import com.compomics.util.experiment.massspectrometry.Peak; @@ -8,7 +7,6 @@ import org.apache.commons.lang3.StringUtils; import org.json.JSONArray; import org.json.JSONObject; -import org.kohsuke.rngom.util.Uri; import java.io.BufferedReader; import java.io.IOException; @@ -17,7 +15,6 @@ import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.MalformedURLException; -import java.net.ProtocolException; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.ArrayList; @@ -105,7 +102,7 @@ private void generateInputString(){ // TODO: C-term modification if(index == 0){ // N-term modification - aa_list[0] = aa_list[0]+newMods.get(index); + aa_list[0] = newMods.get(index) + "-"+ aa_list[0]; }else{ aa_list[index-1] = aa_list[index-1]+newMods.get(index); } @@ -157,7 +154,8 @@ private void generateInputString(){ // " ] }] }"; // } else if (model.equals("Prosit_2020_intensity_TMT")){ - modPep = "[UNIMOD:737]-" + modPep; + // modPep = "[UNIMOD:737]-" + modPep; + // System.out.println(modPep); inputString = "{ \"id\": \"0\", \"inputs\": [ { \"name\": \"peptide_sequences\", \"shape\": [ 1, 1 ], " + "\"datatype\": \"BYTES\", \"data\": [ \"" + modPep + "\" ] }, { \"name\": \"precursor_charges\", " + "\"shape\": [ 1, 1 ], \"datatype\": \"INT32\", \"data\": [ "+ precursorCharge + " ] }, { \"name\": " + diff --git a/src/main/java/PDVGUI/gui/utils/ImportPredictedDialog.java b/src/main/java/PDVGUI/gui/utils/ImportPredictedDialog.java index 70ab98a..7447ffe 100644 --- a/src/main/java/PDVGUI/gui/utils/ImportPredictedDialog.java +++ b/src/main/java/PDVGUI/gui/utils/ImportPredictedDialog.java @@ -11,8 +11,6 @@ import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.HashMap; import java.util.Objects; @@ -256,6 +254,14 @@ private String getModificationString(String originalMod) { if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 0.984016) < 0.01) { modificationString = "[UNIMOD:7]"; } + } else if(originalMod.contains("of K")){ + if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 229.162932) < 0.01) { + modificationString = "[UNIMOD:737]"; + } + } else if(originalMod.contains("of N-term") || originalMod.contains("of peptide N-term")){ + if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 229.162932) < 0.01) { + modificationString = "[UNIMOD:737]"; + } } else{ System.out.println("This modification is not supported:"+originalMod); } @@ -270,10 +276,18 @@ private String getModificationString(String originalMod) { if (Math.abs(ptmFactory.getPTM(originalMod).getMass() -57.021464) < 0.01) { modificationString = "[UNIMOD:4]"; } - } else if (originalMod.contains("of M")){ - if (Math.abs(ptmFactory.getPTM(originalMod).getMass() -15.994915) < 0.01) { + } else if (originalMod.contains("of M")) { + if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 15.994915) < 0.01) { modificationString = "[UNIMOD:35]"; } + } else if(originalMod.contains("of K") && modelListComboBox.getSelectedIndex() == 6){ + if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 229.162932) < 0.01) { + modificationString = "[UNIMOD:737]"; + } + } else if((originalMod.contains("of N-term") || originalMod.contains("of peptide N-term")) && modelListComboBox.getSelectedIndex() == 6){ + if (Math.abs(ptmFactory.getPTM(originalMod).getMass() - 229.162932) < 0.01) { + modificationString = "[UNIMOD:737]"; + } } else{ System.out.println("This modification is not supported:"+originalMod); } @@ -299,11 +313,11 @@ private void submissionButtonActionPerformed(java.awt.event.ActionEvent evt) { newMods.put((int) modificationJTable.getValueAt(i, 1), mod); } } - if (modelListComboBox.getSelectedIndex() == 6) { - JOptionPane.showMessageDialog( - null, "This model will add a TMT tag to the N-term of the peptide.", - "Warning", JOptionPane.WARNING_MESSAGE); - } + //if (modelListComboBox.getSelectedIndex() == 6) { + // JOptionPane.showMessageDialog( + // null, "This model will add a TMT tag to the N-term of the peptide.", + // "Warning", JOptionPane.WARNING_MESSAGE); + //} ProgressDialogX progressDialogX = new ProgressDialogX(spectrumMainPanel.parentFrame, Toolkit.getDefaultToolkit().getImage(getClass().getResource("/icons/SeaGullMass.png")), @@ -418,7 +432,11 @@ public Object getValueAt(int row, int column) { case 0: return modificationMatch.getTheoreticPtm(); case 1: - return modificationMatch.getModificationSite(); + if(modificationMatch.getTheoreticPtm().contains("of N-term") || modificationMatch.getTheoreticPtm().contains("of peptide N-term")){ + return 0; + }else{ + return modificationMatch.getModificationSite(); + } case 2: return getModificationString(modificationMatch.getTheoreticPtm()); case 3: