From 4a3d0d326eefc9e52ba1f0e6c8c656f53e9ed64b Mon Sep 17 00:00:00 2001 From: Fengchao Date: Sat, 1 Jul 2023 16:03:39 -0400 Subject: [PATCH] Add the module to convert DIA-NN output to msstats.csv. --- .../DIA_DIA-Umpire_SpecLib_Quant.workflow | 1 + .../workflows/DIA_SpecLib_Quant.workflow | 1 + .../resources/workflows/Default.workflow | 1 + .../workflows/Diagnostic-ion-mining.workflow | 1 + .../resources/workflows/FPOP.workflow | 1 + .../resources/workflows/LFQ-MBR.workflow | 1 + .../resources/workflows/LFQ-phospho.workflow | 1 + .../workflows/LFQ-ubiquitin.workflow | 1 + .../Labile_ADP-ribosylation.workflow | 1 + .../workflows/Labile_phospho.workflow | 1 + .../workflows/Mass-Offset-CommonPTMs.workflow | 1 + .../workflows/Nonspecific-HLA-C57.workflow | 1 + .../workflows/Nonspecific-HLA-DIA.workflow | 1 + .../workflows/Nonspecific-HLA-TMT10.workflow | 1 + .../workflows/Nonspecific-HLA-glyco.workflow | 1 + .../Nonspecific-HLA-phospho.workflow | 1 + .../workflows/Nonspecific-HLA.workflow | 1 + .../workflows/Nonspecific-peptidome.workflow | 1 + .../workflows/Open-quickscan.workflow | 1 + .../resources/workflows/Open.workflow | 1 + .../workflows/SILAC3-phospho.workflow | 1 + .../resources/workflows/SILAC3.workflow | 1 + .../resources/workflows/SLC-ABPP.workflow | 1 + .../workflows/TMT10-MS3-phospho.workflow | 1 + .../resources/workflows/TMT10-MS3.workflow | 1 + .../resources/workflows/TMT10-Open.workflow | 1 + .../workflows/TMT10-acetyl-noloc.workflow | 1 + .../resources/workflows/TMT10-acetyl.workflow | 1 + .../resources/workflows/TMT10-bridge.workflow | 1 + .../workflows/TMT10-phospho-bridge.workflow | 1 + .../workflows/TMT10-phospho.workflow | 1 + .../workflows/TMT10-ubiquitin.workflow | 1 + ...MT10-ubiquitination-K_tmt_or_ubiq.workflow | 1 + ...10-ubiquitination-K_tmt_plus_ubiq.workflow | 1 + .../resources/workflows/TMT10.workflow | 1 + .../resources/workflows/TMT16-MS3.workflow | 1 + .../workflows/TMT16-acetyl-noloc.workflow | 1 + .../resources/workflows/TMT16-acetyl.workflow | 1 + .../workflows/TMT16-phospho.workflow | 1 + .../resources/workflows/TMT16.workflow | 1 + .../workflows/XRNAX-MassOffset.workflow | 1 + .../resources/workflows/diaTOP_ABPP.workflow | 1 + .../resources/workflows/glyco-N-HCD.workflow | 1 + .../workflows/glyco-N-Hybrid.workflow | 1 + .../resources/workflows/glyco-N-LFQ.workflow | 1 + .../resources/workflows/glyco-N-TMT.workflow | 1 + .../workflows/glyco-N-open-HCD.workflow | 1 + .../workflows/glyco-N-open-Hybrid.workflow | 1 + .../resources/workflows/glyco-O-HCD.workflow | 1 + .../workflows/glyco-O-Hybrid.workflow | 1 + .../resources/workflows/glyco-O-Pair.workflow | 1 + .../workflows/glyco-O-open-HCD.workflow | 1 + .../workflows/glyco-O-open-Hybrid.workflow | 1 + .../workflows/iTRAQ4-phospho.workflow | 1 + .../resources/workflows/iTRAQ4.workflow | 1 + .../resources/workflows/ipIAA-ABPP.workflow | 1 + .../resources/workflows/isoDTB-ABPP.workflow | 1 + .../resources/workflows/isoTOP-ABPP.workflow | 1 + .../src/com/dmtavt/fragpipe/FragpipeRun.java | 4 +- .../dmtavt/fragpipe/api/InputLcmsFile.java | 8 + .../src/com/dmtavt/fragpipe/cmd/CmdDiann.java | 54 ++++++- .../fragpipe/tools/diann/DiannPanel.java | 10 ++ .../fragpipe/tools/diann/DiannToMsstats.java | 153 ++++++++++++++++++ .../tools/diann/DiannToMsstatsTest.java | 71 ++++++++ MSFragger-GUI/test/resources/diann-output.tsv | 6 + .../test/resources/msstats_expected.csv | 33 ++++ .../DIA_DIA-Umpire_SpecLib_Quant.workflow | 1 + .../workflows/DIA_SpecLib_Quant.workflow | 1 + MSFragger-GUI/workflows/Default.workflow | 1 + .../workflows/Diagnostic-ion-mining.workflow | 1 + MSFragger-GUI/workflows/FPOP.workflow | 1 + MSFragger-GUI/workflows/LFQ-MBR.workflow | 1 + MSFragger-GUI/workflows/LFQ-phospho.workflow | 1 + .../workflows/LFQ-ubiquitin.workflow | 1 + .../Labile_ADP-ribosylation.workflow | 1 + .../workflows/Labile_phospho.workflow | 1 + .../workflows/Mass-Offset-CommonPTMs.workflow | 1 + .../workflows/Nonspecific-HLA-C57.workflow | 1 + .../workflows/Nonspecific-HLA-DIA.workflow | 1 + .../workflows/Nonspecific-HLA-TMT10.workflow | 1 + .../workflows/Nonspecific-HLA-glyco.workflow | 1 + .../Nonspecific-HLA-phospho.workflow | 1 + .../workflows/Nonspecific-HLA.workflow | 1 + .../workflows/Nonspecific-peptidome.workflow | 1 + .../workflows/Open-quickscan.workflow | 1 + MSFragger-GUI/workflows/Open.workflow | 1 + .../workflows/SILAC3-phospho.workflow | 1 + MSFragger-GUI/workflows/SILAC3.workflow | 1 + MSFragger-GUI/workflows/SLC-ABPP.workflow | 1 + .../workflows/TMT10-MS3-phospho.workflow | 1 + MSFragger-GUI/workflows/TMT10-MS3.workflow | 1 + MSFragger-GUI/workflows/TMT10-Open.workflow | 1 + .../workflows/TMT10-acetyl-noloc.workflow | 1 + MSFragger-GUI/workflows/TMT10-acetyl.workflow | 1 + MSFragger-GUI/workflows/TMT10-bridge.workflow | 1 + .../workflows/TMT10-phospho-bridge.workflow | 1 + .../workflows/TMT10-phospho.workflow | 1 + .../workflows/TMT10-ubiquitin.workflow | 1 + ...MT10-ubiquitination-K_tmt_or_ubiq.workflow | 1 + ...10-ubiquitination-K_tmt_plus_ubiq.workflow | 1 + MSFragger-GUI/workflows/TMT10.workflow | 1 + MSFragger-GUI/workflows/TMT16-MS3.workflow | 1 + .../workflows/TMT16-acetyl-noloc.workflow | 1 + MSFragger-GUI/workflows/TMT16-acetyl.workflow | 1 + .../workflows/TMT16-phospho.workflow | 1 + MSFragger-GUI/workflows/TMT16.workflow | 1 + .../workflows/XRNAX-MassOffset.workflow | 1 + MSFragger-GUI/workflows/diaTOP_ABPP.workflow | 1 + MSFragger-GUI/workflows/glyco-N-HCD.workflow | 1 + .../workflows/glyco-N-Hybrid.workflow | 1 + MSFragger-GUI/workflows/glyco-N-LFQ.workflow | 1 + MSFragger-GUI/workflows/glyco-N-TMT.workflow | 1 + .../workflows/glyco-N-open-HCD.workflow | 1 + .../workflows/glyco-N-open-Hybrid.workflow | 1 + MSFragger-GUI/workflows/glyco-O-HCD.workflow | 1 + .../workflows/glyco-O-Hybrid.workflow | 1 + MSFragger-GUI/workflows/glyco-O-Pair.workflow | 1 + .../workflows/glyco-O-open-HCD.workflow | 1 + .../workflows/glyco-O-open-Hybrid.workflow | 1 + .../workflows/iTRAQ4-phospho.workflow | 1 + MSFragger-GUI/workflows/iTRAQ4.workflow | 1 + MSFragger-GUI/workflows/ipIAA-ABPP.workflow | 1 + MSFragger-GUI/workflows/isoDTB-ABPP.workflow | 1 + MSFragger-GUI/workflows/isoTOP-ABPP.workflow | 1 + 124 files changed, 452 insertions(+), 3 deletions(-) create mode 100644 MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannToMsstats.java create mode 100644 MSFragger-GUI/test/com/dmtavt/fragpipe/tools/diann/DiannToMsstatsTest.java create mode 100644 MSFragger-GUI/test/resources/diann-output.tsv create mode 100644 MSFragger-GUI/test/resources/msstats_expected.csv diff --git a/MSFragger-GUI/resources/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow b/MSFragger-GUI/resources/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow index 9d8e69bc1..83ecdc891 100644 --- a/MSFragger-GUI/resources/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow +++ b/MSFragger-GUI/resources/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/DIA_SpecLib_Quant.workflow b/MSFragger-GUI/resources/workflows/DIA_SpecLib_Quant.workflow index e7a6df466..e728f823b 100644 --- a/MSFragger-GUI/resources/workflows/DIA_SpecLib_Quant.workflow +++ b/MSFragger-GUI/resources/workflows/DIA_SpecLib_Quant.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Default.workflow b/MSFragger-GUI/resources/workflows/Default.workflow index 294807508..84341ad55 100644 --- a/MSFragger-GUI/resources/workflows/Default.workflow +++ b/MSFragger-GUI/resources/workflows/Default.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Diagnostic-ion-mining.workflow b/MSFragger-GUI/resources/workflows/Diagnostic-ion-mining.workflow index 2d2936223..b57efbc0f 100644 --- a/MSFragger-GUI/resources/workflows/Diagnostic-ion-mining.workflow +++ b/MSFragger-GUI/resources/workflows/Diagnostic-ion-mining.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/FPOP.workflow b/MSFragger-GUI/resources/workflows/FPOP.workflow index 9b51833ee..d0b7a940d 100644 --- a/MSFragger-GUI/resources/workflows/FPOP.workflow +++ b/MSFragger-GUI/resources/workflows/FPOP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/LFQ-MBR.workflow b/MSFragger-GUI/resources/workflows/LFQ-MBR.workflow index 8f472de3d..30f210f00 100644 --- a/MSFragger-GUI/resources/workflows/LFQ-MBR.workflow +++ b/MSFragger-GUI/resources/workflows/LFQ-MBR.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/LFQ-phospho.workflow b/MSFragger-GUI/resources/workflows/LFQ-phospho.workflow index 8c87b36d1..15d652338 100644 --- a/MSFragger-GUI/resources/workflows/LFQ-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/LFQ-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/LFQ-ubiquitin.workflow b/MSFragger-GUI/resources/workflows/LFQ-ubiquitin.workflow index b3daea2ce..cd9fd4c23 100644 --- a/MSFragger-GUI/resources/workflows/LFQ-ubiquitin.workflow +++ b/MSFragger-GUI/resources/workflows/LFQ-ubiquitin.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Labile_ADP-ribosylation.workflow b/MSFragger-GUI/resources/workflows/Labile_ADP-ribosylation.workflow index b35a4d6fa..94ecf08d2 100644 --- a/MSFragger-GUI/resources/workflows/Labile_ADP-ribosylation.workflow +++ b/MSFragger-GUI/resources/workflows/Labile_ADP-ribosylation.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Labile_phospho.workflow b/MSFragger-GUI/resources/workflows/Labile_phospho.workflow index be43f641f..8e2dbbb73 100644 --- a/MSFragger-GUI/resources/workflows/Labile_phospho.workflow +++ b/MSFragger-GUI/resources/workflows/Labile_phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Mass-Offset-CommonPTMs.workflow b/MSFragger-GUI/resources/workflows/Mass-Offset-CommonPTMs.workflow index 87501965c..52dcf1f6c 100644 --- a/MSFragger-GUI/resources/workflows/Mass-Offset-CommonPTMs.workflow +++ b/MSFragger-GUI/resources/workflows/Mass-Offset-CommonPTMs.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-C57.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-C57.workflow index d27ce0b35..72760264d 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-C57.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-C57.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-DIA.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-DIA.workflow index 4b26fe4d2..c68a6faab 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-DIA.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-DIA.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-TMT10.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-TMT10.workflow index cb2cde88f..d176613ec 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-TMT10.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-TMT10.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-glyco.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-glyco.workflow index da13d3851..1c4432c67 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-glyco.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-glyco.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-phospho.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-phospho.workflow index 78f208a90..cd50431d6 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-HLA.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-HLA.workflow index b53321951..8076aead3 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-HLA.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-HLA.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Nonspecific-peptidome.workflow b/MSFragger-GUI/resources/workflows/Nonspecific-peptidome.workflow index 91940e554..66065febb 100644 --- a/MSFragger-GUI/resources/workflows/Nonspecific-peptidome.workflow +++ b/MSFragger-GUI/resources/workflows/Nonspecific-peptidome.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Open-quickscan.workflow b/MSFragger-GUI/resources/workflows/Open-quickscan.workflow index aa2d70f8e..239d8f1df 100644 --- a/MSFragger-GUI/resources/workflows/Open-quickscan.workflow +++ b/MSFragger-GUI/resources/workflows/Open-quickscan.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/Open.workflow b/MSFragger-GUI/resources/workflows/Open.workflow index a5603f82d..cfbff561b 100644 --- a/MSFragger-GUI/resources/workflows/Open.workflow +++ b/MSFragger-GUI/resources/workflows/Open.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/SILAC3-phospho.workflow b/MSFragger-GUI/resources/workflows/SILAC3-phospho.workflow index a87e46881..b41a4e669 100644 --- a/MSFragger-GUI/resources/workflows/SILAC3-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/SILAC3-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/SILAC3.workflow b/MSFragger-GUI/resources/workflows/SILAC3.workflow index 2c7e1e782..0549e2f7e 100644 --- a/MSFragger-GUI/resources/workflows/SILAC3.workflow +++ b/MSFragger-GUI/resources/workflows/SILAC3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/SLC-ABPP.workflow b/MSFragger-GUI/resources/workflows/SLC-ABPP.workflow index dd07fedd7..d2ce32dfd 100644 --- a/MSFragger-GUI/resources/workflows/SLC-ABPP.workflow +++ b/MSFragger-GUI/resources/workflows/SLC-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-MS3-phospho.workflow b/MSFragger-GUI/resources/workflows/TMT10-MS3-phospho.workflow index b1bec717f..9adba96d2 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-MS3-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-MS3-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-MS3.workflow b/MSFragger-GUI/resources/workflows/TMT10-MS3.workflow index c94506897..999374302 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-MS3.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-MS3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-Open.workflow b/MSFragger-GUI/resources/workflows/TMT10-Open.workflow index 9079f3799..8c1cd6ed2 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-Open.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-Open.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-acetyl-noloc.workflow b/MSFragger-GUI/resources/workflows/TMT10-acetyl-noloc.workflow index e9cb04a9f..9acfa03bb 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-acetyl-noloc.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-acetyl-noloc.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-acetyl.workflow b/MSFragger-GUI/resources/workflows/TMT10-acetyl.workflow index 2c6e42d23..8a7338c0a 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-acetyl.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-acetyl.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-bridge.workflow b/MSFragger-GUI/resources/workflows/TMT10-bridge.workflow index 4b924b687..f190285b5 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-bridge.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-bridge.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-phospho-bridge.workflow b/MSFragger-GUI/resources/workflows/TMT10-phospho-bridge.workflow index 3ae626e2f..2b2e02d72 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-phospho-bridge.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-phospho-bridge.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-phospho.workflow b/MSFragger-GUI/resources/workflows/TMT10-phospho.workflow index 11b7d96f5..e31f674de 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-ubiquitin.workflow b/MSFragger-GUI/resources/workflows/TMT10-ubiquitin.workflow index 7fdd9fc39..cf3a210ba 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-ubiquitin.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-ubiquitin.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow b/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow index 16e119459..cbdd2c1ab 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow b/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow index c08af913d..9a775084b 100644 --- a/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT10.workflow b/MSFragger-GUI/resources/workflows/TMT10.workflow index 3c4cb55e2..b81b51355 100644 --- a/MSFragger-GUI/resources/workflows/TMT10.workflow +++ b/MSFragger-GUI/resources/workflows/TMT10.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT16-MS3.workflow b/MSFragger-GUI/resources/workflows/TMT16-MS3.workflow index d0459059c..11f018956 100644 --- a/MSFragger-GUI/resources/workflows/TMT16-MS3.workflow +++ b/MSFragger-GUI/resources/workflows/TMT16-MS3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT16-acetyl-noloc.workflow b/MSFragger-GUI/resources/workflows/TMT16-acetyl-noloc.workflow index 2d573b933..a70493bab 100644 --- a/MSFragger-GUI/resources/workflows/TMT16-acetyl-noloc.workflow +++ b/MSFragger-GUI/resources/workflows/TMT16-acetyl-noloc.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT16-acetyl.workflow b/MSFragger-GUI/resources/workflows/TMT16-acetyl.workflow index 19d92397b..7767c9040 100644 --- a/MSFragger-GUI/resources/workflows/TMT16-acetyl.workflow +++ b/MSFragger-GUI/resources/workflows/TMT16-acetyl.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT16-phospho.workflow b/MSFragger-GUI/resources/workflows/TMT16-phospho.workflow index b316fd6af..de3a80500 100644 --- a/MSFragger-GUI/resources/workflows/TMT16-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/TMT16-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/TMT16.workflow b/MSFragger-GUI/resources/workflows/TMT16.workflow index 636f407bf..0a9a1dbd1 100644 --- a/MSFragger-GUI/resources/workflows/TMT16.workflow +++ b/MSFragger-GUI/resources/workflows/TMT16.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/XRNAX-MassOffset.workflow b/MSFragger-GUI/resources/workflows/XRNAX-MassOffset.workflow index 46191c30a..a09c0afe3 100644 --- a/MSFragger-GUI/resources/workflows/XRNAX-MassOffset.workflow +++ b/MSFragger-GUI/resources/workflows/XRNAX-MassOffset.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/diaTOP_ABPP.workflow b/MSFragger-GUI/resources/workflows/diaTOP_ABPP.workflow index b331b62ed..c7911ca05 100644 --- a/MSFragger-GUI/resources/workflows/diaTOP_ABPP.workflow +++ b/MSFragger-GUI/resources/workflows/diaTOP_ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-HCD.workflow b/MSFragger-GUI/resources/workflows/glyco-N-HCD.workflow index d5df1289c..414a7df23 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-HCD.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-Hybrid.workflow b/MSFragger-GUI/resources/workflows/glyco-N-Hybrid.workflow index 0d20ef13a..e72cbbbc6 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-Hybrid.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-LFQ.workflow b/MSFragger-GUI/resources/workflows/glyco-N-LFQ.workflow index 0155710d3..3272aa746 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-LFQ.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-LFQ.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-TMT.workflow b/MSFragger-GUI/resources/workflows/glyco-N-TMT.workflow index 7a6ff319a..48dded091 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-TMT.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-TMT.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-open-HCD.workflow b/MSFragger-GUI/resources/workflows/glyco-N-open-HCD.workflow index b9620cec2..0e07745d6 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-open-HCD.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-open-HCD.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-N-open-Hybrid.workflow b/MSFragger-GUI/resources/workflows/glyco-N-open-Hybrid.workflow index 9e6f51ae7..2f00b16af 100644 --- a/MSFragger-GUI/resources/workflows/glyco-N-open-Hybrid.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-N-open-Hybrid.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-O-HCD.workflow b/MSFragger-GUI/resources/workflows/glyco-O-HCD.workflow index 8a9168a70..027b4dfb9 100644 --- a/MSFragger-GUI/resources/workflows/glyco-O-HCD.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-O-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-O-Hybrid.workflow b/MSFragger-GUI/resources/workflows/glyco-O-Hybrid.workflow index 44c6def10..ff54cfe41 100644 --- a/MSFragger-GUI/resources/workflows/glyco-O-Hybrid.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-O-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-O-Pair.workflow b/MSFragger-GUI/resources/workflows/glyco-O-Pair.workflow index e582f60ac..34f927e56 100644 --- a/MSFragger-GUI/resources/workflows/glyco-O-Pair.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-O-Pair.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-O-open-HCD.workflow b/MSFragger-GUI/resources/workflows/glyco-O-open-HCD.workflow index 296f6bfc5..e67e53852 100644 --- a/MSFragger-GUI/resources/workflows/glyco-O-open-HCD.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-O-open-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/glyco-O-open-Hybrid.workflow b/MSFragger-GUI/resources/workflows/glyco-O-open-Hybrid.workflow index 85b199e43..b423ccb7b 100644 --- a/MSFragger-GUI/resources/workflows/glyco-O-open-Hybrid.workflow +++ b/MSFragger-GUI/resources/workflows/glyco-O-open-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/iTRAQ4-phospho.workflow b/MSFragger-GUI/resources/workflows/iTRAQ4-phospho.workflow index b1b205ee5..aacb89522 100644 --- a/MSFragger-GUI/resources/workflows/iTRAQ4-phospho.workflow +++ b/MSFragger-GUI/resources/workflows/iTRAQ4-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/iTRAQ4.workflow b/MSFragger-GUI/resources/workflows/iTRAQ4.workflow index 3e8705872..b7ca702ce 100644 --- a/MSFragger-GUI/resources/workflows/iTRAQ4.workflow +++ b/MSFragger-GUI/resources/workflows/iTRAQ4.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/ipIAA-ABPP.workflow b/MSFragger-GUI/resources/workflows/ipIAA-ABPP.workflow index 48febc56d..3d4362fd0 100644 --- a/MSFragger-GUI/resources/workflows/ipIAA-ABPP.workflow +++ b/MSFragger-GUI/resources/workflows/ipIAA-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/isoDTB-ABPP.workflow b/MSFragger-GUI/resources/workflows/isoDTB-ABPP.workflow index f1f267a43..d749d8a65 100644 --- a/MSFragger-GUI/resources/workflows/isoDTB-ABPP.workflow +++ b/MSFragger-GUI/resources/workflows/isoDTB-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/resources/workflows/isoTOP-ABPP.workflow b/MSFragger-GUI/resources/workflows/isoTOP-ABPP.workflow index 200064d75..3f2c9c120 100644 --- a/MSFragger-GUI/resources/workflows/isoTOP-ABPP.workflow +++ b/MSFragger-GUI/resources/workflows/isoTOP-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/src/com/dmtavt/fragpipe/FragpipeRun.java b/MSFragger-GUI/src/com/dmtavt/fragpipe/FragpipeRun.java index 921697b41..26e535047 100644 --- a/MSFragger-GUI/src/com/dmtavt/fragpipe/FragpipeRun.java +++ b/MSFragger-GUI/src/com/dmtavt/fragpipe/FragpipeRun.java @@ -971,7 +971,7 @@ private static String createLcmsFilesString(Map lcmsFileG StringBuilder sb = new StringBuilder(); for (Entry e : lcmsFileGroups.entrySet()) { sb.append(String.format(Locale.ROOT, " Experiment/Group: %s", e.getValue().name)) - .append("\n"); + .append("\n (if \"spectral library generation\" is enabled, all files will be analyzed together)\n"); for (InputLcmsFile f : e.getValue().lcmsFiles) { sb.append(String.format(Locale.ROOT, " - %s\t%s", f.getPath().toString(), f.getDataType())).append("\n"); } @@ -1694,7 +1694,7 @@ private static boolean configureTaskGraph(JComponent parent, Path wd, Path jarPa final CmdDiann cmdDiann = new CmdDiann(diannPanel.isRun(), wd); addConfig.accept(cmdDiann, () -> { if (cmdDiann.isRun()) { - return cmdDiann.configure(parent, sharedLcmsFileGroupsAll.values(), threads, diannPanel.getDiannQuantificationStrategy(), diannPanel.usePredict(), diannPanel.unrelatedRuns(), diannPanel.getDiannQvalue(), diannPanel.useRunSpecificProteinQvalue(), diannPanel.getLibraryPath(), diannPanel.getCmdOpts(), isDryRun, diannPanel.isRunPlex(), diannPanel.getLight(), diannPanel.getMedium(), diannPanel.getHeavy(), jarPath); + return cmdDiann.configure(parent, sharedLcmsFileGroupsAll.values(), threads, diannPanel.getDiannQuantificationStrategy(), diannPanel.usePredict(), diannPanel.unrelatedRuns(), diannPanel.getDiannQvalue(), diannPanel.useRunSpecificProteinQvalue(), diannPanel.getLibraryPath(), diannPanel.getCmdOpts(), isDryRun, diannPanel.isRunPlex(), diannPanel.generateMsstats(), diannPanel.getLight(), diannPanel.getMedium(), diannPanel.getHeavy(), jarPath); } return true; }); diff --git a/MSFragger-GUI/src/com/dmtavt/fragpipe/api/InputLcmsFile.java b/MSFragger-GUI/src/com/dmtavt/fragpipe/api/InputLcmsFile.java index 6f40a051e..e62133d03 100644 --- a/MSFragger-GUI/src/com/dmtavt/fragpipe/api/InputLcmsFile.java +++ b/MSFragger-GUI/src/com/dmtavt/fragpipe/api/InputLcmsFile.java @@ -17,7 +17,10 @@ package com.dmtavt.fragpipe.api; +import com.dmtavt.fragpipe.Fragpipe; import com.dmtavt.fragpipe.params.ThisAppProps; +import com.dmtavt.fragpipe.tools.diann.DiannPanel; +import com.dmtavt.fragpipe.tools.speclibgen.SpeclibPanel; import com.github.chhh.utils.StringUtils; import java.nio.file.Path; import java.util.Collection; @@ -113,6 +116,11 @@ public String toString() { } public String getGroup() { + final SpeclibPanel speclibPanel = Fragpipe.getStickyStrict(SpeclibPanel.class); + final DiannPanel diannPanel = Fragpipe.getStickyStrict(DiannPanel.class); + if (speclibPanel.isRun() || diannPanel.isRun()) { + return ""; + } if (getReplicate() != null) { if (StringUtils.isNullOrWhitespace(experiment)) { return "exp_" + getReplicate(); diff --git a/MSFragger-GUI/src/com/dmtavt/fragpipe/cmd/CmdDiann.java b/MSFragger-GUI/src/com/dmtavt/fragpipe/cmd/CmdDiann.java index 8a5ec55ed..5c750904d 100644 --- a/MSFragger-GUI/src/com/dmtavt/fragpipe/cmd/CmdDiann.java +++ b/MSFragger-GUI/src/com/dmtavt/fragpipe/cmd/CmdDiann.java @@ -18,6 +18,7 @@ package com.dmtavt.fragpipe.cmd; import static com.dmtavt.fragpipe.cmd.ToolingUtils.BATMASS_IO_JAR; +import static com.dmtavt.fragpipe.tabs.TabWorkflow.manifestExt; import static com.github.chhh.utils.OsUtils.isUnix; import static com.github.chhh.utils.OsUtils.isWindows; import static com.github.chhh.utils.SwingUtils.createClickableHtml; @@ -28,6 +29,7 @@ import com.dmtavt.fragpipe.FragpipeLocations; import com.dmtavt.fragpipe.api.InputLcmsFile; import com.dmtavt.fragpipe.api.LcmsFileGroup; +import com.dmtavt.fragpipe.tools.diann.DiannToMsstats; import com.dmtavt.fragpipe.tools.diann.PlexDiaHelper; import com.github.chhh.utils.OsUtils; import com.github.chhh.utils.StringUtils; @@ -81,7 +83,7 @@ public String getCmdName() { return NAME; } - public boolean configure(Component comp, Collection lcmsFileGroups, int nThreads, Set quantificationStrategy, boolean usePredict, boolean unrelatedRuns, float qvalue, boolean useRunSpecificProteinQvalue, String libraryPath, String additionalCmdOpts, boolean isDryRun, boolean isRunPlex, String lightString, String mediumString, String heavyString, Path jarFragpipe) { + public boolean configure(Component comp, Collection lcmsFileGroups, int nThreads, Set quantificationStrategy, boolean usePredict, boolean unrelatedRuns, float qvalue, boolean useRunSpecificProteinQvalue, String libraryPath, String additionalCmdOpts, boolean isDryRun, boolean isRunPlex, boolean generateMsstats, String lightString, String mediumString, String heavyString, Path jarFragpipe) { initPreConfig(); @@ -301,6 +303,9 @@ public boolean configure(Component comp, Collection lcmsFileGroup cmd.add("--dl-no-im"); cmd.add("--strip-unknown-mods"); } + if (generateMsstats) { + cmd.add("--report-lib-info"); + } if (isRunPlex) { try { cmd.addAll(getPlexDiannFlags(lightString, mediumString, heavyString)); @@ -348,6 +353,53 @@ public boolean configure(Component comp, Collection lcmsFileGroup } } + if (generateMsstats) { + Path root = FragpipeLocations.get().getDirFragpipeRoot(); + Path libsDir = root.resolve("lib"); + if (Files.isDirectory(jarFragpipe)) { + libsDir = jarFragpipe.getParent().getParent().getParent().getParent().resolve("build/install/fragpipe/lib"); + log.debug("Dev message: Looks like FragPipe was run from IDE, changing libs directory to: {}", libsDir); + } + + List toJoin = new ArrayList<>(); + try { + toJoin.addAll(Files.walk(libsDir). + filter(p -> p.getFileName().toString().endsWith(".jar")). + filter(p -> { + String t = p.getFileName().toString(); + return t.startsWith("fragpipe-") || t.startsWith("commons-io"); + }). + map(p -> p.toAbsolutePath().normalize().toString()).collect(Collectors.toList()) + ); + } catch (IOException ex) { + ex.printStackTrace(); + return false; + } + + toJoin.add(jarFragpipe.toAbsolutePath().normalize().toString()); + final String classpath = OsUtils.asSingleArgument(String.join(System.getProperties().getProperty("path.separator"), toJoin)); + + List cmd = new ArrayList<>(); + cmd.add(Fragpipe.getBinJava()); + cmd.add("-cp"); + cmd.add(classpath); + cmd.add(DiannToMsstats.class.getCanonicalName()); + cmd.add("diann-output.tsv"); + cmd.add("msstats.csv"); + cmd.add(String.valueOf(qvalue)); + if (useRunSpecificProteinQvalue) { + cmd.add(String.valueOf(qvalue)); + } else { + cmd.add("1"); + } + cmd.add(String.valueOf(qvalue)); + cmd.add(String.valueOf(qvalue)); + cmd.add(wd.resolve("fragpipe-files" + manifestExt).toAbsolutePath().toString()); + ProcessBuilder pb = new ProcessBuilder(cmd); + pb.directory(wd.resolve("diann-output").toFile()); + pbis.add(new PbiBuilder().setPb(pb).setName(getCmdName() + ": Convert DIA-NN output to MSstats.csv").create()); + } + // if (isRunPlex) { // final List classpathJars = FragpipeLocations.checkToolsMissing(Seq.of(BATMASS_IO_JAR)); // if (classpathJars == null) { diff --git a/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannPanel.java b/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannPanel.java index 73ad25afa..91a76fe03 100644 --- a/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannPanel.java +++ b/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannPanel.java @@ -77,6 +77,7 @@ public class DiannPanel extends JPanelBase { private UiCheck uiCheckUsePredictedSpectra; private UiCheck uiCheckUseRunSpecificProteinQvalue; private UiCheck uiCheckUnrelatedRuns; + private UiCheck uiCheckGenerateMsstats; private UiText uiTextLight; private UiText uiTextMedium; private UiText uiTextHeavy; @@ -168,6 +169,9 @@ private JPanel createPanelBasic() { uiCheckUsePredictedSpectra = UiUtils.createUiCheck("Replace library spectra with predicted", true); FormEntry feUsePredictedSpectra = new FormEntry("use-predicted-spectra", "Replace library spectra with predicted", uiCheckUsePredictedSpectra); + uiCheckGenerateMsstats = UiUtils.createUiCheck("Generate MSstats input", false); + FormEntry feGenerateMsstats = new FormEntry("generate-msstats", "Generate MSstats input", uiCheckGenerateMsstats, "Convert the DIA-NN output to MSstats format."); + uiCheckUnrelatedRuns = UiUtils.createUiCheck("Unrelated runs", false); FormEntry feUnrelatedRuns = new FormEntry("unrelated-runs", "Unrelated runs", uiCheckUnrelatedRuns, "Different runs will be treated as unrelated, i.e. mass accuracy (when automatic) will be determined separately, as well as the retention time scan window."); @@ -199,6 +203,7 @@ private JPanel createPanelBasic() { mu.add(panelBasic, feQuantificationStrategy.comp).wrap(); mu.add(panelBasic, feUnrelatedRuns.comp).wrap(); mu.add(panelBasic, feUsePredictedSpectra.comp).wrap(); + mu.add(panelBasic, feGenerateMsstats.comp).wrap(); mu.add(panelBasic, feLibrary.label(), mu.ccL()); mu.add(panelBasic, feLibrary.comp).pushX().growX(); mu.add(panelBasic, jButtonLibrary).wrap(); @@ -243,6 +248,7 @@ private JPanel createPanelPlex() { updateEnabledStatus(uiTextLight, isRunPlex()); updateEnabledStatus(uiTextMedium, isRunPlex()); updateEnabledStatus(uiTextHeavy, isRunPlex()); + updateEnabledStatus(uiCheckGenerateMsstats, !isRunPlex()); }); mu.add(panelPlex, checkRunPlex).wrap(); @@ -298,6 +304,10 @@ public boolean useRunSpecificProteinQvalue() { return uiCheckUseRunSpecificProteinQvalue.isSelected(); } + public boolean generateMsstats() { + return SwingUtils.isEnabledAndChecked(uiCheckGenerateMsstats); + } + public String getLibraryPath() { return uiTextLibrary.getNonGhostText().trim(); } diff --git a/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannToMsstats.java b/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannToMsstats.java new file mode 100644 index 000000000..41ad625e3 --- /dev/null +++ b/MSFragger-GUI/src/com/dmtavt/fragpipe/tools/diann/DiannToMsstats.java @@ -0,0 +1,153 @@ +/* + * This file is part of FragPipe. + * + * FragPipe is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * FragPipe is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with FragPipe. If not, see . + */ + +package com.dmtavt.fragpipe.tools.diann; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileReader; +import java.io.FileWriter; +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import org.apache.commons.io.FilenameUtils; + + +public class DiannToMsstats { + + private static final Pattern pattern = Pattern.compile("([\\w-]+)\\^(\\d+)\\/([\\d.]+)"); + + public static void main(String[] args) { + try { + String manifestPath = args[6].trim(); + Map runConditionBioreplicateMap = new HashMap<>(); + String line; + BufferedReader bufferedReader = new BufferedReader(new FileReader(manifestPath)); + while ((line = bufferedReader.readLine()) != null) { + line = line.trim(); + String[] split = line.split("\t"); + runConditionBioreplicateMap.put(FilenameUtils.getBaseName(split[0]), new String[]{split[1], split[2]}); + } + bufferedReader.close(); + + new DiannToMsstats(args[0], args[1], Float.parseFloat(args[2]), Float.parseFloat(args[3]), Float.parseFloat(args[4]), Float.parseFloat(args[5]), runConditionBioreplicateMap); + } catch (Exception ex) { + ex.printStackTrace(); + System.exit(1); + } + } + + public DiannToMsstats(String diannPath, String msstatsPath, float globalProteinFdrT, float runProteinFdrT, float globalPrecursorFdrT, float runPrecursorFdrT, Map runConditionBioreplicateMap) throws Exception { + BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(msstatsPath)); + bufferedWriter.write("ProteinName,PeptideSequence,PrecursorCharge,FragmentIon,ProductCharge,IsotopeLabelType,Condition,BioReplicate,Run,Intensity\n"); + + String line; + int runColumn = -1; + int proteinGroupColumn = -1; + int modifiedSequenceColumn = -1; + int precursorChargeColumn = -1; + int qValueColumn = -1; + int globalQValueColumn = -1; + int pgQValueColumn = -1; + int globalPgQValueColumn = -1; + int fragmentQuantCorrectedColumn = -1; + int fragmentInfoColumn = -1; + BufferedReader bufferedReader = new BufferedReader(new FileReader(diannPath)); + while ((line = bufferedReader.readLine()) != null) { + line = line.trim(); + if (line.startsWith("File.Name\t")) { + String[] header = line.split("\t"); + for (int i = 0; i < header.length; ++i) { + if (header[i].trim().equalsIgnoreCase("run")) { + runColumn = i; + } else if (header[i].trim().equalsIgnoreCase("protein.group")) { + proteinGroupColumn = i; + } else if (header[i].trim().equalsIgnoreCase("modified.sequence")) { + modifiedSequenceColumn = i; + } else if (header[i].trim().equalsIgnoreCase("precursor.charge")) { + precursorChargeColumn = i; + } else if (header[i].trim().equalsIgnoreCase("q.value")) { + qValueColumn = i; + } else if (header[i].trim().equalsIgnoreCase("global.q.value")) { + globalQValueColumn = i; + } else if (header[i].trim().equalsIgnoreCase("pg.q.value")) { + pgQValueColumn = i; + } else if (header[i].trim().equalsIgnoreCase("global.pg.q.value")) { + globalPgQValueColumn = i; + } else if (header[i].trim().equalsIgnoreCase("fragment.quant.corrected")) { + fragmentQuantCorrectedColumn = i; + } else if (header[i].trim().equalsIgnoreCase("fragment.info")) { + fragmentInfoColumn = i; + } + } + } else { + if (runColumn == -1 || + proteinGroupColumn == -1 || + modifiedSequenceColumn == -1 || + precursorChargeColumn == -1 || + qValueColumn == -1 || + globalQValueColumn == -1 || + pgQValueColumn == -1 || + globalPgQValueColumn == -1 || + fragmentQuantCorrectedColumn == -1 || + fragmentInfoColumn == -1) { + throw new RuntimeException("Could not find all the required columns in the DIA-NN output file: " + diannPath); + } + + String[] row = line.split("\t"); + if (Float.parseFloat(row[qValueColumn]) < runPrecursorFdrT && + Float.parseFloat(row[globalQValueColumn]) < globalPrecursorFdrT && + Float.parseFloat(row[pgQValueColumn]) < runProteinFdrT && + Float.parseFloat(row[globalPgQValueColumn]) < globalProteinFdrT) { + String run = row[runColumn].trim(); + String[] conditionBioreplicate = runConditionBioreplicateMap.get(run); + String fragmentInfo = row[fragmentInfoColumn].trim(); + String[] fragmentInfoSplit = fragmentInfo.split(";"); + String fragmentIntensity = row[fragmentQuantCorrectedColumn].trim(); + String[] fragmentIntensitySplit = fragmentIntensity.split(";"); + + if (fragmentInfoSplit.length != fragmentIntensitySplit.length) { + throw new RuntimeException("There are different number of fragment quant and fragment info: " + fragmentInfo + " vs " + fragmentIntensity); + } + + for (int i = 0; i < fragmentInfoSplit.length; ++i) { + if (Math.abs(Float.parseFloat(fragmentIntensitySplit[i])) < 0.0001f) { + continue; + } + Matcher matcher = pattern.matcher(fragmentInfoSplit[i].trim()); + if (matcher.matches()) { + bufferedWriter.write(row[proteinGroupColumn].trim() + "," + + row[modifiedSequenceColumn].trim() + "," + + row[precursorChargeColumn].trim() + "," + + matcher.group(1) + "," + + matcher.group(2) + ",L," + + conditionBioreplicate[0] + "," + + conditionBioreplicate[1] + "," + + run + "," + + fragmentIntensitySplit[i] + "\n"); + } else { + throw new RuntimeException("Could not parse fragment info: " + fragmentInfoSplit[i]); + } + } + } + } + } + bufferedReader.close(); + bufferedWriter.close(); + } +} diff --git a/MSFragger-GUI/test/com/dmtavt/fragpipe/tools/diann/DiannToMsstatsTest.java b/MSFragger-GUI/test/com/dmtavt/fragpipe/tools/diann/DiannToMsstatsTest.java new file mode 100644 index 000000000..4e72c7834 --- /dev/null +++ b/MSFragger-GUI/test/com/dmtavt/fragpipe/tools/diann/DiannToMsstatsTest.java @@ -0,0 +1,71 @@ +/* + * This file is part of FragPipe. + * + * FragPipe is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * FragPipe is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with FragPipe. If not, see . + */ + +package com.dmtavt.fragpipe.tools.diann; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; + +import java.io.BufferedReader; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import org.junit.Test; + +public class DiannToMsstatsTest { + + @Test + public void test() throws Exception { + Path diannPath = Paths.get(Objects.requireNonNull(PlexDiaHelperTest.class.getResource("/diann-output.tsv")).toURI()); + if (!Files.exists(diannPath) || !Files.isRegularFile(diannPath) || !Files.isReadable(diannPath)) { + throw new IllegalStateException("Test DIA-NN file not found: " + diannPath); + } + + Map t = new HashMap<>(); + t.put("run1", new String[]{"a", "1"}); + t.put("run2", new String[]{"b", "2"}); + + new DiannToMsstats(diannPath.toAbsolutePath().toString(), diannPath.getParent().resolve("msstats.csv").toAbsolutePath().toString(), 0.01f, 0.01f, 0.01f, 0.01f, t); + + BufferedReader brExpected = new BufferedReader(Files.newBufferedReader(diannPath.getParent().resolve("msstats_expected.csv"))); + BufferedReader brActual = new BufferedReader(Files.newBufferedReader(diannPath.getParent().resolve("msstats.csv"))); + String lineExpected; + String lineActual; + while ((lineExpected = brExpected.readLine()) != null && (lineActual = brActual.readLine()) != null) { + String[] a = lineExpected.split(","); + String[] b = lineActual.split(","); + assertEquals(a.length, b.length); + + for (int i = 0; i < a.length; ++i) { + if (i == 9 && !a[i].equalsIgnoreCase("intensity") && !b[i].equalsIgnoreCase("intensity")) { + assertEquals(Float.parseFloat(a[i]), Float.parseFloat(b[i]), 0.1f); + } else { + assertEquals(a[i], b[i]); + } + } + } + + assertNull(brExpected.readLine()); + assertNull(brActual.readLine()); + + brActual.close(); + brExpected.close(); + } +} diff --git a/MSFragger-GUI/test/resources/diann-output.tsv b/MSFragger-GUI/test/resources/diann-output.tsv new file mode 100644 index 000000000..817c63043 --- /dev/null +++ b/MSFragger-GUI/test/resources/diann-output.tsv @@ -0,0 +1,6 @@ +File.Name Run Protein.Group Protein.Ids Protein.Names Genes PG.Quantity PG.Normalised PG.MaxLFQ Genes.Quantity Genes.Normalised Genes.MaxLFQ Genes.MaxLFQ.Unique Modified.Sequence Stripped.Sequence Precursor.Id Precursor.Charge Q.Value PEP Global.Q.Value Protein.Q.Value PG.Q.Value Global.PG.Q.Value GG.Q.Value Translated.Q.Value Proteotypic Precursor.Quantity Precursor.Normalised Precursor.Translated Translated.Quality Ms1.Translated Quantity.Quality RT RT.Start RT.Stop iRT Predicted.RT Predicted.iRT First.Protein.Description Lib.Q.Value Lib.PG.Q.Value Ms1.Profile.Corr Ms1.Area Evidence Spectrum.Similarity Averagine Mass.Evidence CScore Decoy.Evidence Decoy.CScore Fragment.Quant.Raw Fragment.Quant.Corrected Fragment.Correlations MS2.Scan Precursor.Mz Fragment.Info Lib.Index IM iIM Predicted.IM Predicted.iIM +I:\a\run1.mzML run1 Q96JP5 Q96JP5 ZFP91_HUMAN ZFP91 2294220.5 2294220.5 2294220.25 2294220.5 2294220.5 2294220.25 2294220.25 AAAAAAAAAVSR AAAAAAAAAVSR AAAAAAAAAVSR2 2 0.000919118 0.011373819 0.000919118 0.000208507 0.00020404 0.000206697 0.00020429 0 1 2294220.5 2294220.5 2294220.5 23378210 0.950622559 32.79237366 32.63957977 32.94341278 -19.06541824 30.95196152 -14.63551807 E3 ubiquitin-protein ligase ZFP91 0 0 0.834926903 23378210 2.482488632 0.018736029 0.36986497 2.73164463 0.981568158 1.159643054 0.40287441 408330.125;233946.5156;121068.3438;1790076.25;1651944;33210.44922;1098717.75;218250.6875;349671.5313;111069.6953;54806.64063;10828.75781; 408330.125;233946.5156;121068.3438;1790076.25;1651944;33210.44922;1098717.75;218250.6875;349671.5313;111069.6953;54806.64063;10828.75781; 0.8922641873;0.7771410346;0.686065495;0.6480885148;0.9896158576;0.3659476042;0.9606660604;0.8574720621;0.8615463376;0.7645429969;0.6818365455;0.6412688494; 40503 500.7811584 y7^1/645.3689575;y8^1/716.4060669;y6^1/574.3318481;y5^1/503.2947083;b3^1/214.1191711;y9^1/787.4431763;b4^1/285.1562805;y4^1/432.2575989;b5^1/356.1933899;y10^1/858.4802856;b6^1/427.2304993;y3^1/361.2204895; 41 0 0.877023399 0 0 +I:\a\run2.mzML run2 P36578 P36578 RL4_HUMAN RPL4 132214904 132214904 132214968 132214904 132214904 132214968 132214968 AAAAAAALQAK AAAAAAALQAK AAAAAAALQAK1 1 3.95E-05 0.000301317 3.95E-05 0.000208507 0.00020404 0.000206697 0.00020429 0 1 3307954 3307954 3307954 107721240 0.984680355 33.42966843 33.2781868 33.5830307 -16.64829826 32.00380707 -13.36827755 60S ribosomal protein L4 0 0 0.982327879 107721240 6.581757069 0.660587609 1 6.83065033 0.999502778 0 -10000000 791103.6875;1057981.375;1419917;830055.5625;538924.5;2115861.25;760669.625;1448620.875;765756.3125;740258.375;325370.125;340871.0313; 791103.6875;1057981.375;1419917;830055.5625;538924.5;2115861.25;760669.625;1448620.875;765756.3125;740258.375;325370.125;340871.0313; 0.9820731282;0.9840397239;0.9838988781;0.9868337512;0.9823557138;0.9794434309;0.9864106774;0.9804273844;0.9814508557;0.9886196852;0.9809753299;0.9757114649; 41357 956.5534668 y5^1/530.3307495;y4^1/459.2936707;b8^1/611.3516846;b9^1/739.4102783;y6^1/601.3678589;b7^1/498.2676086;y3^1/346.2095947;b6^1/427.2304993;b5^1/356.1933899;b10^1/810.4473877;y7^1/672.4050293;b4^1/285.1562805; 68 0 1.313852668 0 0 +I:\a\run1.mzML run1 O15042 O15042 SR140_HUMAN U2SURP 5862485 5862485 5862487 5862485 5862485 5862487 5862487 AAAEIYEEFLAAFEGSDGNK AAAEIYEEFLAAFEGSDGNK AAAEIYEEFLAAFEGSDGNK3 3 0.001952308 0.02626144 0.001952308 0.000208507 0.00020404 0.000206697 0.00020429 0 1 24440.25781 24440.25781 24440.25781 781794.75 0.88985908 97.21453094 97.0502243 97.38004303 126.8759842 98.85480499 123.0247574 U2 snRNP-associated SURP motif-containing protein 0 0 0.71494931 781794.75 2.231978893 0.264827818 0.110457689 0 0.958444595 0 -10000000 6249.090332;675.5332031;16907.16797;1284.000366;0;0;16230.78516;0;2850.666992;0;46489.88281;53121.47656; 6249.090332;675.5332031;16907.16797;1284.000366;0;0;16230.78516;0;2850.666992;0;46489.88281;53121.47656; 0.7304942608;0.4728753567;0.9701364636;0.6084108949;0;0;0.6965879798;0;0.6161569357;0;0.7999783754;0.7797161341; 127526 711.3328857 y8^1/853.369751;y9^1/924.4068604;y6^1/577.258728;y7^1/706.3013306;y10^1/995.4439697;b9^1/1024.462769;b4^1/343.1617737;b8^1/877.3943481;b5^1/456.2458191;b10^1/1137.546753;y3^1/318.1782837;b3^1/214.1191711; 734 0 1.003984094 0 0 +I:\a\run1.mzML run1 Q01780 Q01780 EXOSX_HUMAN EXOSC10 4010359 4010359 4010359.75 4010359 4010359 4010359.75 4010359.75 AAAEQAISVR AAAEQAISVR AAAEQAISVR2 2 2.00E-02 0.000581448 3.95E-05 0.000208507 0.00020404 0.000206697 0.00020429 0 1 1655249.5 1655249.5 1655249.5 78259376 0.956769109 35.94665146 35.79684067 36.09879684 -7.840839386 35.96139908 -7.670046329 Exosome component 10 0 0 0.926805019 78259376 5.067008018 0.66350174 0.362339288 1.174389005 0.999040961 1.63266325 0.088991843 550124.8125;660331.0625;95892.20313;181639.25;444793.6875;286057.875;1632712.125;69781.28906;32859.64844;17210.20898;10917.03809;0; 550124.8125;660331.0625;95892.20313;181639.25;444793.6875;286057.875;1632712.125;69781.28906;32859.64844;17210.20898;10917.03809;0; 0.936847508;0.9707821012;0.8137518167;0.8251460791;0.9606047869;0.9279082417;0.9164523482;0.7128020525;0.5776461959;0;0.5024375319;0; 44736 508.2810059 y6^1/673.4002686;y5^1/545.3416748;y8^1/873.4799805;y7^1/802.4428101;y3^1/361.2204895;y4^1/474.3045654;b3^1/214.1191711;b4^1/343.1617737;b6^1/542.2574463;y8^2/437.2438965;b5^1/471.2203369;y9^1/944.5170898; 761 0 0.869295478 0 0 +I:\a\run1.mzML run1 P02786 P02786 TFR1_HUMAN TFRC 120143688 120143688 120143624 120143688 120143688 120143624 120143624 AAAEVAGQFVIK AAAEVAGQFVIK AAAEVAGQFVIK2 2 0.000131748 0.001746792 0.000131748 0.000208507 0.015 0.000206697 0.00020429 0 1 29335340 29335340 29335340 474662880 0.995232105 57.13130569 56.98184586 57.27748489 34.63831711 55.64745331 37.82531738 Transferrin receptor protein 1 0 0 0.992328465 474662880 6.295539379 0.566771507 1 3.566603661 0.997124374 1.951907158 0.154252872 13897238;6491671;8483730;6954372.5;8708834;3191032;1421220.5;1704926.75;2077532.125;2636869.25;452433.3125;318248.7188; 13897238;6491671;8483730;6954372.5;8708834;3191032;1421220.5;1704926.75;2077532.125;2636869.25;452433.3125;318248.7188; 0.9947165847;0.9849140048;0.9961023927;0.9952005744;0.9751034975;0.9766619802;0.951962173;0.9892281294;0.9879148602;0.9852909446;0.8229137063;0.8717051744; 73661 602.3410645 y7^1/762.4519653;y8^1/861.5203857;y6^1/691.414856;b4^1/343.1617737;b3^1/214.1191711;y9^1/990.5629272;y10^1/1061.600098;b5^1/442.2301636;y4^1/506.3347778;y3^1/359.2663879;y5^1/634.3933716;b6^1/513.2672729; 787 0 0.953753948 0 0 diff --git a/MSFragger-GUI/test/resources/msstats_expected.csv b/MSFragger-GUI/test/resources/msstats_expected.csv new file mode 100644 index 000000000..f9f071a5c --- /dev/null +++ b/MSFragger-GUI/test/resources/msstats_expected.csv @@ -0,0 +1,33 @@ +ProteinName,PeptideSequence,PrecursorCharge,FragmentIon,ProductCharge,IsotopeLabelType,Condition,BioReplicate,Run,Intensity +Q96JP5,AAAAAAAAAVSR,2,y7,1,L,a,1,run1,408330.125 +Q96JP5,AAAAAAAAAVSR,2,y8,1,L,a,1,run1,233946.5156 +Q96JP5,AAAAAAAAAVSR,2,y6,1,L,a,1,run1,121068.3438 +Q96JP5,AAAAAAAAAVSR,2,y5,1,L,a,1,run1,1790076.25 +Q96JP5,AAAAAAAAAVSR,2,b3,1,L,a,1,run1,1651944 +Q96JP5,AAAAAAAAAVSR,2,y9,1,L,a,1,run1,33210.44922 +Q96JP5,AAAAAAAAAVSR,2,b4,1,L,a,1,run1,1098717.75 +Q96JP5,AAAAAAAAAVSR,2,y4,1,L,a,1,run1,218250.6875 +Q96JP5,AAAAAAAAAVSR,2,b5,1,L,a,1,run1,349671.5313 +Q96JP5,AAAAAAAAAVSR,2,y10,1,L,a,1,run1,111069.6953 +Q96JP5,AAAAAAAAAVSR,2,b6,1,L,a,1,run1,54806.64063 +Q96JP5,AAAAAAAAAVSR,2,y3,1,L,a,1,run1,10828.75781 +P36578,AAAAAAALQAK,1,y5,1,L,b,2,run2,791103.6875 +P36578,AAAAAAALQAK,1,y4,1,L,b,2,run2,1057981.375 +P36578,AAAAAAALQAK,1,b8,1,L,b,2,run2,1419917 +P36578,AAAAAAALQAK,1,b9,1,L,b,2,run2,830055.5625 +P36578,AAAAAAALQAK,1,y6,1,L,b,2,run2,538924.5 +P36578,AAAAAAALQAK,1,b7,1,L,b,2,run2,2115861.25 +P36578,AAAAAAALQAK,1,y3,1,L,b,2,run2,760669.625 +P36578,AAAAAAALQAK,1,b6,1,L,b,2,run2,1448620.875 +P36578,AAAAAAALQAK,1,b5,1,L,b,2,run2,765756.3125 +P36578,AAAAAAALQAK,1,b10,1,L,b,2,run2,740258.375 +P36578,AAAAAAALQAK,1,y7,1,L,b,2,run2,325370.125 +P36578,AAAAAAALQAK,1,b4,1,L,b,2,run2,340871.0313 +O15042,AAAEIYEEFLAAFEGSDGNK,3,y8,1,L,a,1,run1,6249.090332 +O15042,AAAEIYEEFLAAFEGSDGNK,3,y9,1,L,a,1,run1,675.5332031 +O15042,AAAEIYEEFLAAFEGSDGNK,3,y6,1,L,a,1,run1,16907.16797 +O15042,AAAEIYEEFLAAFEGSDGNK,3,y7,1,L,a,1,run1,1284.000366 +O15042,AAAEIYEEFLAAFEGSDGNK,3,b4,1,L,a,1,run1,16230.78516 +O15042,AAAEIYEEFLAAFEGSDGNK,3,b5,1,L,a,1,run1,2850.666992 +O15042,AAAEIYEEFLAAFEGSDGNK,3,y3,1,L,a,1,run1,46489.88281 +O15042,AAAEIYEEFLAAFEGSDGNK,3,b3,1,L,a,1,run1,53121.47656 diff --git a/MSFragger-GUI/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow b/MSFragger-GUI/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow index 9d8e69bc1..83ecdc891 100644 --- a/MSFragger-GUI/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow +++ b/MSFragger-GUI/workflows/DIA_DIA-Umpire_SpecLib_Quant.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/DIA_SpecLib_Quant.workflow b/MSFragger-GUI/workflows/DIA_SpecLib_Quant.workflow index e7a6df466..e728f823b 100644 --- a/MSFragger-GUI/workflows/DIA_SpecLib_Quant.workflow +++ b/MSFragger-GUI/workflows/DIA_SpecLib_Quant.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Default.workflow b/MSFragger-GUI/workflows/Default.workflow index e515f44cf..08bb53868 100644 --- a/MSFragger-GUI/workflows/Default.workflow +++ b/MSFragger-GUI/workflows/Default.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Diagnostic-ion-mining.workflow b/MSFragger-GUI/workflows/Diagnostic-ion-mining.workflow index 2d2936223..b57efbc0f 100644 --- a/MSFragger-GUI/workflows/Diagnostic-ion-mining.workflow +++ b/MSFragger-GUI/workflows/Diagnostic-ion-mining.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/FPOP.workflow b/MSFragger-GUI/workflows/FPOP.workflow index 9b51833ee..d0b7a940d 100644 --- a/MSFragger-GUI/workflows/FPOP.workflow +++ b/MSFragger-GUI/workflows/FPOP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/LFQ-MBR.workflow b/MSFragger-GUI/workflows/LFQ-MBR.workflow index 9608fd842..1c8acf127 100644 --- a/MSFragger-GUI/workflows/LFQ-MBR.workflow +++ b/MSFragger-GUI/workflows/LFQ-MBR.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/LFQ-phospho.workflow b/MSFragger-GUI/workflows/LFQ-phospho.workflow index 8c87b36d1..15d652338 100644 --- a/MSFragger-GUI/workflows/LFQ-phospho.workflow +++ b/MSFragger-GUI/workflows/LFQ-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/LFQ-ubiquitin.workflow b/MSFragger-GUI/workflows/LFQ-ubiquitin.workflow index b3daea2ce..cd9fd4c23 100644 --- a/MSFragger-GUI/workflows/LFQ-ubiquitin.workflow +++ b/MSFragger-GUI/workflows/LFQ-ubiquitin.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Labile_ADP-ribosylation.workflow b/MSFragger-GUI/workflows/Labile_ADP-ribosylation.workflow index b35a4d6fa..94ecf08d2 100644 --- a/MSFragger-GUI/workflows/Labile_ADP-ribosylation.workflow +++ b/MSFragger-GUI/workflows/Labile_ADP-ribosylation.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Labile_phospho.workflow b/MSFragger-GUI/workflows/Labile_phospho.workflow index be43f641f..8e2dbbb73 100644 --- a/MSFragger-GUI/workflows/Labile_phospho.workflow +++ b/MSFragger-GUI/workflows/Labile_phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Mass-Offset-CommonPTMs.workflow b/MSFragger-GUI/workflows/Mass-Offset-CommonPTMs.workflow index 87501965c..52dcf1f6c 100644 --- a/MSFragger-GUI/workflows/Mass-Offset-CommonPTMs.workflow +++ b/MSFragger-GUI/workflows/Mass-Offset-CommonPTMs.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA-C57.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA-C57.workflow index d27ce0b35..72760264d 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA-C57.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA-C57.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA-DIA.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA-DIA.workflow index 4b26fe4d2..c68a6faab 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA-DIA.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA-DIA.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA-TMT10.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA-TMT10.workflow index cb2cde88f..d176613ec 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA-TMT10.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA-TMT10.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA-glyco.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA-glyco.workflow index da13d3851..1c4432c67 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA-glyco.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA-glyco.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA-phospho.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA-phospho.workflow index 78f208a90..cd50431d6 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA-phospho.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-HLA.workflow b/MSFragger-GUI/workflows/Nonspecific-HLA.workflow index 0a136198f..890b74592 100644 --- a/MSFragger-GUI/workflows/Nonspecific-HLA.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-HLA.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Nonspecific-peptidome.workflow b/MSFragger-GUI/workflows/Nonspecific-peptidome.workflow index 1c2e92cd7..361ee6603 100644 --- a/MSFragger-GUI/workflows/Nonspecific-peptidome.workflow +++ b/MSFragger-GUI/workflows/Nonspecific-peptidome.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Open-quickscan.workflow b/MSFragger-GUI/workflows/Open-quickscan.workflow index aa2d70f8e..239d8f1df 100644 --- a/MSFragger-GUI/workflows/Open-quickscan.workflow +++ b/MSFragger-GUI/workflows/Open-quickscan.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/Open.workflow b/MSFragger-GUI/workflows/Open.workflow index 8b19354b0..eece6c1ad 100644 --- a/MSFragger-GUI/workflows/Open.workflow +++ b/MSFragger-GUI/workflows/Open.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/SILAC3-phospho.workflow b/MSFragger-GUI/workflows/SILAC3-phospho.workflow index a87e46881..b41a4e669 100644 --- a/MSFragger-GUI/workflows/SILAC3-phospho.workflow +++ b/MSFragger-GUI/workflows/SILAC3-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/SILAC3.workflow b/MSFragger-GUI/workflows/SILAC3.workflow index 2c7e1e782..0549e2f7e 100644 --- a/MSFragger-GUI/workflows/SILAC3.workflow +++ b/MSFragger-GUI/workflows/SILAC3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/SLC-ABPP.workflow b/MSFragger-GUI/workflows/SLC-ABPP.workflow index dd07fedd7..d2ce32dfd 100644 --- a/MSFragger-GUI/workflows/SLC-ABPP.workflow +++ b/MSFragger-GUI/workflows/SLC-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-MS3-phospho.workflow b/MSFragger-GUI/workflows/TMT10-MS3-phospho.workflow index b1bec717f..9adba96d2 100644 --- a/MSFragger-GUI/workflows/TMT10-MS3-phospho.workflow +++ b/MSFragger-GUI/workflows/TMT10-MS3-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-MS3.workflow b/MSFragger-GUI/workflows/TMT10-MS3.workflow index 6c0b297d2..d7c57e2a8 100644 --- a/MSFragger-GUI/workflows/TMT10-MS3.workflow +++ b/MSFragger-GUI/workflows/TMT10-MS3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-Open.workflow b/MSFragger-GUI/workflows/TMT10-Open.workflow index 9079f3799..8c1cd6ed2 100644 --- a/MSFragger-GUI/workflows/TMT10-Open.workflow +++ b/MSFragger-GUI/workflows/TMT10-Open.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-acetyl-noloc.workflow b/MSFragger-GUI/workflows/TMT10-acetyl-noloc.workflow index e9cb04a9f..9acfa03bb 100644 --- a/MSFragger-GUI/workflows/TMT10-acetyl-noloc.workflow +++ b/MSFragger-GUI/workflows/TMT10-acetyl-noloc.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-acetyl.workflow b/MSFragger-GUI/workflows/TMT10-acetyl.workflow index 2c6e42d23..8a7338c0a 100644 --- a/MSFragger-GUI/workflows/TMT10-acetyl.workflow +++ b/MSFragger-GUI/workflows/TMT10-acetyl.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-bridge.workflow b/MSFragger-GUI/workflows/TMT10-bridge.workflow index 26913e3f8..6b676ec57 100644 --- a/MSFragger-GUI/workflows/TMT10-bridge.workflow +++ b/MSFragger-GUI/workflows/TMT10-bridge.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-phospho-bridge.workflow b/MSFragger-GUI/workflows/TMT10-phospho-bridge.workflow index 3ae626e2f..2b2e02d72 100644 --- a/MSFragger-GUI/workflows/TMT10-phospho-bridge.workflow +++ b/MSFragger-GUI/workflows/TMT10-phospho-bridge.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-phospho.workflow b/MSFragger-GUI/workflows/TMT10-phospho.workflow index 11b7d96f5..e31f674de 100644 --- a/MSFragger-GUI/workflows/TMT10-phospho.workflow +++ b/MSFragger-GUI/workflows/TMT10-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-ubiquitin.workflow b/MSFragger-GUI/workflows/TMT10-ubiquitin.workflow index 7fdd9fc39..cf3a210ba 100644 --- a/MSFragger-GUI/workflows/TMT10-ubiquitin.workflow +++ b/MSFragger-GUI/workflows/TMT10-ubiquitin.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow b/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow index 16e119459..cbdd2c1ab 100644 --- a/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow +++ b/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_or_ubiq.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow b/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow index c08af913d..9a775084b 100644 --- a/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow +++ b/MSFragger-GUI/workflows/TMT10-ubiquitination-K_tmt_plus_ubiq.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT10.workflow b/MSFragger-GUI/workflows/TMT10.workflow index ad80ddfb2..db548053c 100644 --- a/MSFragger-GUI/workflows/TMT10.workflow +++ b/MSFragger-GUI/workflows/TMT10.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT16-MS3.workflow b/MSFragger-GUI/workflows/TMT16-MS3.workflow index d0459059c..11f018956 100644 --- a/MSFragger-GUI/workflows/TMT16-MS3.workflow +++ b/MSFragger-GUI/workflows/TMT16-MS3.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT16-acetyl-noloc.workflow b/MSFragger-GUI/workflows/TMT16-acetyl-noloc.workflow index 2d573b933..a70493bab 100644 --- a/MSFragger-GUI/workflows/TMT16-acetyl-noloc.workflow +++ b/MSFragger-GUI/workflows/TMT16-acetyl-noloc.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT16-acetyl.workflow b/MSFragger-GUI/workflows/TMT16-acetyl.workflow index 19d92397b..7767c9040 100644 --- a/MSFragger-GUI/workflows/TMT16-acetyl.workflow +++ b/MSFragger-GUI/workflows/TMT16-acetyl.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT16-phospho.workflow b/MSFragger-GUI/workflows/TMT16-phospho.workflow index b316fd6af..de3a80500 100644 --- a/MSFragger-GUI/workflows/TMT16-phospho.workflow +++ b/MSFragger-GUI/workflows/TMT16-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/TMT16.workflow b/MSFragger-GUI/workflows/TMT16.workflow index 636f407bf..0a9a1dbd1 100644 --- a/MSFragger-GUI/workflows/TMT16.workflow +++ b/MSFragger-GUI/workflows/TMT16.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/XRNAX-MassOffset.workflow b/MSFragger-GUI/workflows/XRNAX-MassOffset.workflow index 46191c30a..a09c0afe3 100644 --- a/MSFragger-GUI/workflows/XRNAX-MassOffset.workflow +++ b/MSFragger-GUI/workflows/XRNAX-MassOffset.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/diaTOP_ABPP.workflow b/MSFragger-GUI/workflows/diaTOP_ABPP.workflow index b331b62ed..c7911ca05 100644 --- a/MSFragger-GUI/workflows/diaTOP_ABPP.workflow +++ b/MSFragger-GUI/workflows/diaTOP_ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-HCD.workflow b/MSFragger-GUI/workflows/glyco-N-HCD.workflow index b89e21005..e5e4919de 100644 --- a/MSFragger-GUI/workflows/glyco-N-HCD.workflow +++ b/MSFragger-GUI/workflows/glyco-N-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-Hybrid.workflow b/MSFragger-GUI/workflows/glyco-N-Hybrid.workflow index 7f1bfc4f9..563ec362b 100644 --- a/MSFragger-GUI/workflows/glyco-N-Hybrid.workflow +++ b/MSFragger-GUI/workflows/glyco-N-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-LFQ.workflow b/MSFragger-GUI/workflows/glyco-N-LFQ.workflow index 0155710d3..3272aa746 100644 --- a/MSFragger-GUI/workflows/glyco-N-LFQ.workflow +++ b/MSFragger-GUI/workflows/glyco-N-LFQ.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-TMT.workflow b/MSFragger-GUI/workflows/glyco-N-TMT.workflow index 7a6ff319a..48dded091 100644 --- a/MSFragger-GUI/workflows/glyco-N-TMT.workflow +++ b/MSFragger-GUI/workflows/glyco-N-TMT.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-open-HCD.workflow b/MSFragger-GUI/workflows/glyco-N-open-HCD.workflow index 9ba7c6e22..d64711ca1 100644 --- a/MSFragger-GUI/workflows/glyco-N-open-HCD.workflow +++ b/MSFragger-GUI/workflows/glyco-N-open-HCD.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-N-open-Hybrid.workflow b/MSFragger-GUI/workflows/glyco-N-open-Hybrid.workflow index 4ad6f560d..6ed00d293 100644 --- a/MSFragger-GUI/workflows/glyco-N-open-Hybrid.workflow +++ b/MSFragger-GUI/workflows/glyco-N-open-Hybrid.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-O-HCD.workflow b/MSFragger-GUI/workflows/glyco-O-HCD.workflow index b7bc41ea9..07d825190 100644 --- a/MSFragger-GUI/workflows/glyco-O-HCD.workflow +++ b/MSFragger-GUI/workflows/glyco-O-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-O-Hybrid.workflow b/MSFragger-GUI/workflows/glyco-O-Hybrid.workflow index 5f5083a94..0e81d1518 100644 --- a/MSFragger-GUI/workflows/glyco-O-Hybrid.workflow +++ b/MSFragger-GUI/workflows/glyco-O-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-O-Pair.workflow b/MSFragger-GUI/workflows/glyco-O-Pair.workflow index e582f60ac..34f927e56 100644 --- a/MSFragger-GUI/workflows/glyco-O-Pair.workflow +++ b/MSFragger-GUI/workflows/glyco-O-Pair.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-O-open-HCD.workflow b/MSFragger-GUI/workflows/glyco-O-open-HCD.workflow index 387daf8c9..0abecb250 100644 --- a/MSFragger-GUI/workflows/glyco-O-open-HCD.workflow +++ b/MSFragger-GUI/workflows/glyco-O-open-HCD.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/glyco-O-open-Hybrid.workflow b/MSFragger-GUI/workflows/glyco-O-open-Hybrid.workflow index 1b5e42210..d1fe7c03d 100644 --- a/MSFragger-GUI/workflows/glyco-O-open-Hybrid.workflow +++ b/MSFragger-GUI/workflows/glyco-O-open-Hybrid.workflow @@ -5,6 +5,7 @@ crystalc.run-crystalc=true database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/iTRAQ4-phospho.workflow b/MSFragger-GUI/workflows/iTRAQ4-phospho.workflow index b1b205ee5..aacb89522 100644 --- a/MSFragger-GUI/workflows/iTRAQ4-phospho.workflow +++ b/MSFragger-GUI/workflows/iTRAQ4-phospho.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/iTRAQ4.workflow b/MSFragger-GUI/workflows/iTRAQ4.workflow index 753d23d0f..fbeb27525 100644 --- a/MSFragger-GUI/workflows/iTRAQ4.workflow +++ b/MSFragger-GUI/workflows/iTRAQ4.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/ipIAA-ABPP.workflow b/MSFragger-GUI/workflows/ipIAA-ABPP.workflow index 48febc56d..3d4362fd0 100644 --- a/MSFragger-GUI/workflows/ipIAA-ABPP.workflow +++ b/MSFragger-GUI/workflows/ipIAA-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/isoDTB-ABPP.workflow b/MSFragger-GUI/workflows/isoDTB-ABPP.workflow index f1f267a43..d749d8a65 100644 --- a/MSFragger-GUI/workflows/isoDTB-ABPP.workflow +++ b/MSFragger-GUI/workflows/isoDTB-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light= diff --git a/MSFragger-GUI/workflows/isoTOP-ABPP.workflow b/MSFragger-GUI/workflows/isoTOP-ABPP.workflow index 200064d75..3f2c9c120 100644 --- a/MSFragger-GUI/workflows/isoTOP-ABPP.workflow +++ b/MSFragger-GUI/workflows/isoTOP-ABPP.workflow @@ -3,6 +3,7 @@ crystalc.run-crystalc=false database.decoy-tag=rev_ diann.fragpipe.cmd-opts= +diann.generate-msstats=false diann.heavy= diann.library= diann.light=