Skip to content

Commit

Permalink
Enable MSBooster in FragPipe. (#784)
Browse files Browse the repository at this point in the history
  • Loading branch information
reid-wagner authored Dec 13, 2024
1 parent 91705a9 commit f98d62a
Show file tree
Hide file tree
Showing 3 changed files with 382 additions and 19 deletions.
51 changes: 51 additions & 0 deletions tools/fragpipe/fragpipe.xml
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,57 @@
</element>
</output_collection>
</test>
<test expect_num_outputs="11">
<param name="inputs" value="default/test1.mzML,default/test2.mzML" ftype="mzml"/>
<param name="database_name" value="default/test.fasta" ftype="fasta"/>
<param name="manifest" value="default/test.manifest" ftype="tabular"/>
<param name="workflow_name" value="Default"/>
<param name="label_free_quantification_run" value="ionquant"/>
<param name="output_options" value="workflow,log,combined_outputs,concatenated_outputs"/>
<param name="license_agreements" value="true"/>
<param name="run_psm_validation" value="msbooster_percolator"/>
<output name="concat_psm_tsv" ftype="tabular">
<assert_contents>
<has_text text="Experiment&#x9;Spectrum&#x9;Spectrum File&#x9;Peptide&#x9;Modified Peptide&#x9;Extended Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Charge&#x9;Retention&#x9;Observed Mass&#x9;Calibrated Observed Mass&#x9;Observed M/Z&#x9;Calibrated Observed M/Z&#x9;Calculated Peptide Mass&#x9;Calculated M/Z&#x9;Delta Mass&#x9;SpectralSim&#x9;RTScore&#x9;Expectation&#x9;Hyperscore&#x9;Nextscore&#x9;PeptideProphet Probability&#x9;Number of Enzymatic Termini&#x9;Number of Missed Cleavages&#x9;Protein Start&#x9;Protein End&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Purity&#x9;Is Unique&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
<has_text text="sample1"/>
</assert_contents>
</output>
<output name="concat_ion_tsv" ftype="tabular">
<assert_contents>
<has_text text="Experiment&#x9;Peptide Sequence&#x9;Modified Sequence&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;M/Z&#x9;Charge&#x9;Observed Mass&#x9;Probability&#x9;Expectation&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
<has_text text="sample1"/>
</assert_contents>
</output>
<output name="concat_peptide_tsv" ftype="tabular">
<assert_contents>
<has_text text="Experiment&#x9;Peptide&#x9;Prev AA&#x9;Next AA&#x9;Peptide Length&#x9;Protein Start&#x9;Protein End&#x9;Charges&#x9;Probability&#x9;Spectral Count&#x9;Intensity&#x9;Assigned Modifications&#x9;Observed Modifications&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Description&#x9;Mapped Genes&#x9;Mapped Proteins"/>
<has_text text="sample1"/>
</assert_contents>
</output>
<output name="concat_protein_tsv" ftype="tabular">
<assert_contents>
<has_text text="Experiment&#x9;Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Length&#x9;Organism&#x9;Protein Description&#x9;Protein Existence&#x9;Coverage&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Total Peptides&#x9;Unique Peptides&#x9;Razor Peptides&#x9;Total Spectral Count&#x9;Unique Spectral Count&#x9;Razor Spectral Count&#x9;Total Intensity&#x9;Unique Intensity&#x9;Razor Intensity&#x9;Razor Assigned Modifications&#x9;Razor Observed Modifications&#x9;Indistinguishable Proteins"/>
<has_text text="sample1"/>
</assert_contents>
</output>
<output name="output_workflow" ftype="txt" file="default/outputs/workflow_msbooster_percolator.txt" compare="contains">
<assert_contents>
<has_text text="crystalc.run-crystalc=false"/>
</assert_contents>
</output>
<output name="log" ftype="txt">
<assert_contents>
<has_text text="FragPipe version 20.0"/>
</assert_contents>
</output>
<output_collection name="combined_outputs" type="list">
<element name="combined_protein.tsv" ftype="tabular">
<assert_contents>
<has_text text="Protein&#x9;Protein ID&#x9;Entry Name&#x9;Gene&#x9;Protein Length&#x9;Organism&#x9;Protein Existence&#x9;Description&#x9;Protein Probability&#x9;Top Peptide Probability&#x9;Combined Total Peptides&#x9;Combined Spectral Count&#x9;Combined Unique Spectral Count&#x9;Combined Total Spectral Count&#x9;sample1 Spectral Count&#x9;sample2 Spectral Count&#x9;sample1 Intensity&#x9;sample2 Intensity&#x9;Indistinguishable Proteins"/>
</assert_contents>
</element>
</output_collection>
</test>
<test expect_num_outputs="11">
<param name="inputs" value="tmt11/test1.mzML,tmt11/test2.mzML" ftype="mzml"/>
<param name="database_name" value="tmt11/test.fasta" ftype="fasta"/>
Expand Down
42 changes: 23 additions & 19 deletions tools/fragpipe/macros.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<macros>
<import>msfragger_macros.xml</import>
<token name="@TOOL_VERSION@">20.0</token>
<token name="@VERSION_SUFFIX@">3</token>
<token name="@VERSION_SUFFIX@">4</token>
<xml name="requirements">
<requirements>
<requirement type="package" version="@TOOL_VERSION@">fragpipe</requirement>
Expand Down Expand Up @@ -350,13 +350,27 @@ $kv
<!-- Set Percolator workflow options -->
<token name="@PERCOLATOR@"><![CDATA[
#set $prc = $wf.validation.validation_tab.psm_validation.percolator
#set $wfdict['run-validation-tab'] = $wf.validation.validation_tab.run_validation
#set $wfdict['peptide-prophet.run-peptide-prophet'] = 'false'
#set $wfdict['percolator.run-percolator'] = 'true'
#set $wfdict['percolator.keep-tsv-files'] = str($prc.keep_tsv_files)
#set $wfdict['percolator.min-prob'] = str($prc.min_prob)
]]></token>

<xml name="msbooster">
<section name="msbooster" expanded="true" title="MSBooster">
<param name="predict_rt" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict RT"/>
<param name="predict_spectra" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict spectra"/>
<param name="use_correlated_features" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use correlated features"/>
</section>
</xml>
<token name="@MSBOOSTER@"><![CDATA[
#set $prfx = $wf.validation.validation_tab.psm_validation.msbooster
#set $wfdict['msbooster.run-msbooster'] = 'true'
#set $wfdict['msbooster.predict-rt'] = str($prfx.predict_rt)
#set $wfdict['msbooster.predict-spectra'] = str($prfx.predict_spectra)
#set $wfdict['msbooster.use-correlated-features'] = str($prfx.use_correlated_features)
]]></token>


<!-- Philosopher Report (phi-report) options -->
<xml name="phi_report">
<conditional name="phi_report">
Expand Down Expand Up @@ -424,16 +438,6 @@ $kv
<param name="run_crystalc" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Run Crystal-C" help="Recommend for open searches for additional resuts cleanup"/>
</xml>

<!-- MSBooster options. Disabled until DIA-NN integrated.
<xml name="msbooster">
<section name="msbooster" expanded="false" title="MSBooster">
<param name="predict_rt" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict RT"/>
<param name="predict_spectra" type="boolean" truevalue="true" falsevalue="false" checked="true" label="Predict spectra"/>
<param name="use_correlated_features" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Use correlated features"/>
</section>
</xml>
-->

<!-- Protein Prophet options -->
<xml name="protein_prophet" token_minprob="0.05">
<conditional name="protein_prophet">
Expand Down Expand Up @@ -484,9 +488,7 @@ $kv
<param name="run_psm_validation" type="select" label="PSM Validation">
<option value="peptide_prophet" selected="@PEP@">Run PeptideProphet</option>
<option value="percolator" selected="@PERC@">Run Percolator</option>
<!-- MSBooster disabled until DIA-NN integrated
<option value="msbooster_percolator" selected="@BOOST@">Run MSBooster and Percolator</option>
-->
<option value="no" selected="@NO@">Use workflow values</option>
</param>
<when value="peptide_prophet">
Expand All @@ -495,12 +497,10 @@ $kv
<when value="percolator">
<expand macro="percolator"/>
</when>
<!-- MSBooster disabled until DIA-NN integrated
<when value="msbooster_percolator">
<expand macro="msbooster"/>
<expand macro="percolator"/>
</when>
-->
<when value="no">
</when>
</conditional>
Expand All @@ -524,9 +524,13 @@ $kv
#elif $prfx.run_psm_validation == 'percolator'
#set $wfdict['run-psm-validation'] = 'true'
#set $wfdict['msbooster.run-msbooster'] = 'false'
#set $wfdict['peptide-prophet.run-peptide-prophet=false'] = 'false'
@PERCOLATOR@
#elif $prfx.run_psm_validation == 'msbooster_percolator'
#set $wfdict['run-psm-validation'] = 'true'
#set $wfdict['peptide-prophet.run-peptide-prophet=false'] = 'false'
@MSBOOSTER@
@PERCOLATOR@
##elif $prfx.run_psm_validation == 'msbooster_percolator'
# MSBooster disabled until DIA-NN integrated.
#end if
@PROTEINPROPHET@
@PHIREPORT@
Expand Down
Loading

0 comments on commit f98d62a

Please sign in to comment.