Mercurial > repos > pieterlukasse > prims_masscomb
changeset 0:d6001e8d7441
Push to main toolshed
author | pieter.lukasse@wur.nl |
---|---|
date | Wed, 08 Jan 2014 11:34:51 +0100 |
parents | |
children | df11f47923ac |
files | LICENSE MassComb.jar NOTICE README.rst XTANDEM_README.txt datatypes_conf.xml masscomb_dbsearch_converter.xml masscomb_dbsearch_xtandem.xml masscomb_fasta_validator.xml masscomb_visual_mspicture.xml prims_masscomb_datatypes.py static/images/xtandem_results_viewer.png tool_dependencies.xml |
diffstat | 13 files changed, 1036 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LICENSE Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NOTICE Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,17 @@ +PRIMS-masscomb toolset & Galaxy wrappers +========================================== + +Tools and wrappers for the PRIMS-masscomb toolset. +Suite of tools that enable combining popular external mass spectrometry +data processing tools (like X!Tandem and ProteoWizard's MsPicture) +into your own Galaxy workflows.. + +Can be used a.o. in combination with PRIMV-visualization (primv_visualization package) and +PRIMS-proteomics (prims_proteomics package). + +Copyright 2010-2013 by Pieter Lukasse, Plant Research International (PRI), +Wageningen, The Netherlands. All rights reserved. See the license text in LICENSE file. + +Galaxy wrappers and installation are available from the Galaxy Tool Shed at: +http://toolshed.g2.bx.psu.edu/view/pieterlukasse/prims_masscomb +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.rst Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,70 @@ +PRIMS-masscomb toolset & Galaxy wrappers +======================================== + +MASSCOMB module of Plant Research International's Mass Spectrometry (PRIMS) toolsuite. + +This toolset consists of tools that enable combining popular external mass spectrometry +data processing tools (like X!Tandem and ProteoWizard's MsPicture) +into your own Galaxy workflows. + +Can be used a.o. in combination with PRIMV-visualization (primv_visualization package) and +PRIMS-proteomics (prims_proteomics package). + +Copyright 2010-2013 by Pieter Lukasse, Plant Research International (PRI), +Wageningen, The Netherlands. All rights reserved. See the license text in LICENSE file. + +Galaxy wrappers and installation are available from the Galaxy Tool Shed at: +http://toolshed.g2.bx.psu.edu/view/pieterlukasse/prims_masscomb + + +History +======= + +============== ======================================================================== +Date Changes +-------------- ------------------------------------------------------------------------ +January 2014 * first release via Tool Shed +November 2013 * tools used internally at PRI +... ... +December 2011 * added wrapper for X!Tandem and tool for converting output to MzIdentML +============== ======================================================================== + +Tool Versioning +=============== + +Tools will have versions of the form X.Y.Z. Versions +differing only after the second decimal should be completely +compatible with each other. Breaking changes should result in an +increment of the number before and/or after the first decimal. All +tools of version less than 1.0.0 should be considered beta. + + +Bug Reports & other questions +============================= + +For the time being issues can be reported via the contact form at +http://www.wageningenur.nl/en/Persons/PNJ-Pieter-Lukasse.htm + +Developers, Contributions & Collaborations +========================================== + +If you wish to join forces and collaborate on some of the +tools do not hesitate to contact Pieter Lukasse via the contact form above. + +License (Apache, Version 2.0) +============================= + +Copyright 2013 Pieter Lukasse, Plant Research International (PRI). + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this software except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/XTANDEM_README.txt Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,177 @@ + +X!TANDEM LICENSE AND README =========================================== + + + X! tandem protein sequence modeler + + What is it? + ----------- + X! tandem open source software that can model tandem + mass spectra with protein sequences. This software + has a very simple, unsophistocated application programming + interface (API): it simply takes an XML file of instructions + on its command line, and output the results into an XML file, + which has been specified in the input XML file. + + The Latest Version + ------------------ + + Details of the latest version can be found on the X! tandem + project page under http://www.thegpm.org. + This version is the first release the CYCLONE edition (version 2012.10.01.1). + + + Documentation + ------------- + + This version of X! tandem is a full release, only including source + level documentation. As more releases occur, better documentation + will be included. + + Installation + ------------ + + (IN this case installation is automatically done by Galaxy's Toolshed). + + Licensing + --------- + + The Artistic License for all X! software, binaries and documentation + + Preamble + The intent of this document is to state the conditions under which a + Package may be copied, such that the Copyright Holder maintains some + semblance of artistic control over the development of the package, + while giving the users of the package the right to use and distribute + the Package in a more-or-less customary fashion, plus the right to + make reasonable modifications. + + Definitions + "Package" refers to the collection of files distributed by the Copyright + Holder, and derivatives of that collection of files created through + textual modification. + + "Standard Version" refers to such a Package if it has not been modified, + or has been modified in accordance with the wishes of the Copyright + Holder as specified below. + + "Copyright Holder" is whoever is named in the copyright or copyrights + for the package. + + "You" is you, if you're thinking about copying or distributing this Package. + + "Reasonable copying fee" is whatever you can justify on the basis of + media cost, duplication charges, time of people involved, and so on. + (You will not be required to justify it to the Copyright Holder, but + only to the computing community at large as a market that must bear + the fee.) + + "Freely Available" means that no fee is charged for the item itself, + though there may be fees involved in handling the item. It also means + that recipients of the item may redistribute it under the same + conditions they received it. + + 1. You may make and give away verbatim copies of the source form of the + Standard Version of this Package without restriction, provided that + you duplicate all of the original copyright notices and associated + disclaimers. + + 2. You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A + Package modified in such a way shall still be considered the Standard + Version. + + 3. You may otherwise modify your copy of this Package in any way, provided + that you insert a prominent notice in each changed file stating how and + when you changed that file, and provided that you do at least ONE of the + following: + + a. place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet + or an equivalent medium, or placing the modifications on a major + archive site such as uunet.uu.net, or by allowing the Copyright Holder + to include your modifications in the Standard Version of the Package. + b. use the modified Package only within your corporation or organization. + c. rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + d. make other distribution arrangements with the Copyright Holder. + + 4. You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the following: + + a. distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on + where to get the Standard Version. + b. accompany the distribution with the machine-readable source of the + Package with your modifications. + c. give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + d. make other distribution arrangements with the Copyright Holder. + + 5. You may charge a reasonable copying fee for any distribution of + this Package. You may charge any fee you choose for support of + this Package. You may not charge a fee for this Package itself. + However, you may distribute this Package in aggregate with other + (possibly commercial) programs as part of a larger (possibly + commercial) software distribution provided that you do not a + dvertise this Package as a product of your own. You may embed this + Package's interpreter within an executable of yours (by linking); + this shall be construed as a mere form of aggregation, provided that + the complete Standard Version of the interpreter is so embedded. + + 6. The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whomever generated + them, and may be sold commercially, and may be aggregated with this + Package. If such scripts or library files are aggregated with this + Package via the so-called "undump" or "unexec" methods of producing + a binary executable image, then distribution of such an image shall + neither be construed as a distribution of this Package nor shall it + fall under the restrictions of Paragraphs 3 and 4, provided that you + do not represent such an executable image as a Standard Version of + this Package. + + 7. C subroutines (or comparably compiled subroutines in other languages) + supplied by you and linked into this Package in order to emulate + subroutines and variables of the language defined by this Package + shall not be considered part of this Package, but are the equivalent + of input as in Paragraph 6, provided these subroutines do not change + the language in any way that would cause it to fail the regression + tests for the language. + + 8. Aggregation of this Package with a commercial distribution is always + permitted provided that the use of this Package is embedded; that is, + when no overt attempt is made to make this Package's interfaces visible + to the end user of the commercial distribution. Such use shall not be + construed as a distribution of this Package. + + 9. The name of the Copyright Holder may not be used to endorse or promote + products derived from this software without specific prior written permission. + + 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End + + + Contacts + -------- + + For any questions involving X! tandem, please contact + contact@thegpm.org + + Acknowledgments + ---------------- + + Ron Beavis - system design and implementation + Rob Craig - debugging and LINUX implementation + Jayson Falkner - code for GeeToo LINUX implementation + Patrick Lacasse - initial additions for mzxml and mzdata functionality + Brendan McLean - optimized changes for mzxml and mzdata functionality using expat library + + +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datatypes_conf.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,9 @@ +<?xml version="1.0"?> +<datatypes> + <datatype_files> + <datatype_file name="prims_masscomb_datatypes.py"/> + </datatype_files> + <registration display_path="display_applications"> + <datatype extension="prims.fileset.zip" type="galaxy.datatypes.prims_masscomb_datatypes:FileSet" display_in_upload="true"/> + </registration> +</datatypes> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/masscomb_dbsearch_converter.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,82 @@ +<tool name="DB search converter" id="masscomb_dbsearch_converter" version="1.0.1"> + <description> Convert search results to MzIdentML (aka mzid) format</description> + <!-- + For remote debugging start you listener on port 8000 and use the following as command interpreter: + java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=D0100564.wurnet.nl:8000 + ////////////////////////// + --> + <command interpreter="java -jar"> + MassComb.jar + -action DBSEARCHCONVERT + -fileGrouping $fileType.type + -searchResultsFormat $fileType.inputFormatType.inputFormat + #if $fileType.inputFormatType.inputFormat == "xtandem" + -isMs2SpectrumIdStartingAtZero $fileType.inputFormatType.isMs2SpectrumIdStartingAtZero + #end if + -inputFile $fileType.inputFormatType.inputFile + -outputFile $outputFile + </command> + <inputs> + <conditional name="fileType"> + <param name="type" type="select" label="select file grouping type"> + <option value="single" selected="true">single-File</option> + <option value="fileSet">fileSet</option> + </param> + <when value="single"> + <conditional name="inputFormatType"> + <param name="inputFormat" type="select" label="inputFormat"> + <option value="xtandem">X!Tandem</option> + <option value="omssa">OMSSA</option> + </param> + <when value="xtandem"> + <param name="inputFile" type="data" format="bioml,xml" label="MS/MS search results" help="Note: the spectra index values in the resulting file will only be reliable for when X!Tandem has executed on MzML data"/> + <param name="isMs2SpectrumIdStartingAtZero" type="select" label="Spectrum numbering starting at zero in original spectra file" help="Some formats, like mzML, start their spectrum numbering from 0, other formats start from 1. "> + <option value="true" selected="true">Yes, starting at 0</option> + <option value="false">No, starting at 1</option> + </param> + </when> + <when value="omssa"> + <param name="inputFile" type="data" format="omx" label="MS/MS search results"/> + </when> + </conditional> + </when> + <when value="fileSet"> + <conditional name="inputFormatType"> + <param name="inputFormat" type="select" label="inputFormat"> + <option value="xtandem">X!Tandem</option> + <option value="omssa">OMSSA</option> + </param> + <when value="xtandem"> + <param name="inputFile" type="data" format="prims.fileset.zip" label="MS/MS search results" /> + <param name="isMs2SpectrumIdStartingAtZero" type="select" label="Spectrum numbering starting at zero in original spectra file" help="Some formats, like mzML, start their spectrum numbering from 0, other formats start from 1. "> + <option value="true" selected="true">Yes, starting at 0</option> + <option value="false">No, starting at 1</option> + </param> + </when> + <when value="omssa"> + <param name="inputFile" type="data" format="prims.fileset.zip" label="MS/MS search results"/> + </when> + </conditional> + </when> + </conditional> + </inputs> + <outputs> + <data name="outputFile" format="mzid" label="${tool.name} (to MzIdentML) on ${on_string} "> + <change_format> + <when input="fileType.type" value="fileSet" format="prims.fileset.zip" label="${tool.name} (to MzIdentML) on ${on_string} "/> + </change_format> + </data> + </outputs> + <tests> + </tests> + <help> + +.. class:: infomark + +This tool translates X!Tandem and OMSSA results to mzIdentML format. +It uses the library at http://code.google.com/p/mzidentml-parsers/ +----- + + + </help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/masscomb_dbsearch_xtandem.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,293 @@ +<tool name="X!Tandem" id="masscomb_xtandem200" version="2.0.0"> + <description>MS/MS DB search</description> + <!-- + For remote debugging start you listener on port 8000 and use the following as command interpreter: + java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=D0100564.wurnet.nl:8000 + --> + <command interpreter="java -jar"> + MassComb.jar + -action XTANDEMSEARCH + -outputFile $outputFile + -fileGrouping $fileType.type + -inputFile $fileType.inputFile + -parametersFile $parametersFile + -outputTsv $outTsv + -outReport $htmlReportFile + -outReportPicturesPath $htmlReportFile.files_path + </command> +<inputs> + <conditional name="fileType"> + <param name="type" type="select" label="select MS/MS input type"> + <option value="single" selected="true">single-File</option> + <option value="fileSet">fileSet</option> + </param> + <when value="single"> + <param name="inputFile" type="data" format="mzml" label="MS/MS input file (mzml)"/> + </when> + <when value="fileSet"> + <param name="inputFile" type="data" format="prims.fileset.zip" label="input file"/> + </when> + </conditional> + + <param name="precursor_mass_tolerance_lower" type="text" size="30" label="precursor monoisotopic mass_tolerance_lower" value="100" help=""/> + <param name="precursor_mass_tolerance_upper" type="text" size="30" label="precursor monoisotopic mass_tolerance_upper" value="100" help=""/> + <param name="precursor_error_units" type="select" label="precursor_error_units" help=""> + <option value="ppm" selected="true">ppm</option> + <option value="Daltons">Daltons</option> + </param> + <param name="fragment_mass_tolerance" type="text" size="30" label="fragment_mass_tolerance" value="0.4" help=""/> + <param name="fragment_error_units" type="select" label="fragment_error_units" help=""> + <option value="ppm">ppm</option> + <option value="Daltons" selected="true">Daltons</option> + </param> + <param name="database" type="data" format="fasta" label="Protein sequences DB (FASTA)"/> + <!-- + <param name="min_precursor_charge" type="text" size="30" label="min_precursor_charge" value="1" help=""/> + <param name="max_precursor_charge" type="text" size="30" label="max_precursor_charge" value="4" help=""/>--> + <param name="fixed_modifications" type="select" display="checkboxes" multiple="true" label="Complete modifications" help=""> + <option value="57.021464@C">Carbamidomethyl (C)</option> + <option value="57.021464@C,10.008269@R,8.014199@K">Cam+SILAC (8@K,10@R)</option> + <option value="57.021464@C,4.025107@K,6.020129@R">Cam+SILAC (4@K,6@R)</option> + <option value="57.021464@C,4.025107@K,6.020129@R,6.020129@L">Cam+SILAC (4@K,6@R,6@L)</option> + <option value="58.005479@C">Carboxymethyl (C)</option> + <option value="45.987721@C">Methylthio (C)</option> + <option value="47.984744@C">Trioxidation (C)</option> + <option value="442.224991@C">ICAT-D (C)</option> + <option value="450.275205@C">ICAT-D:2H(8) (C)</option> + <option value="227.126991@C">ICAT-C (C)</option> + <option value="236.157185@C">ICAT-C:13C(9) (C)</option> + <option value="58.005479@C">Carboxymethyl (C)</option> + <option value="105.057849@C">Pyridylethyl (C)</option> + <option value="71.037114@C">Propionamide (C)</option> + <option value="125.047679@C">Nethylmaleimide (C)</option> + <option value="144.102063@[,144.102063@K">iTRAQ (N-term,K)</option> + <option value="57.021464@C,144.102063@[,144.102063@K">Cam + iTRAQ (C,N-term,K)</option> + <option value="57.021464@C,224.152478@K,224.152478@[">Cam + TMT (C,K,nt)</option> + <option value="57.021464@C,225.155833@K,225.155833@[">Cam + TMT2plex (C,K,nt)</option> + <option value="57.021464@C,229.1629328@K,229.1629328@[">Cam + TMT6plex (C,K,nt)</option> + <option value="57.021464@C,28.0313@[,28.0313@K">Cam + Dimethyl (C,28@N-term,K)</option> + <option value="57.021464@C,32.0564@[,32.0564@K">Cam + Dimethyl (C,32@N-term,K)</option> + <option value="57.021464@C,36.0757@[,36.0757@K">Cam + Dimethyl (C,36@N-term,K)</option> + <option value="45.987721@C,144.102063@[,144.102063@K">Methylthio + iTRAQ (C,N-term,K)</option> + <option value="45.987721@C,224.152478@K,224.152478@[">Methylthio + TMT (C,K,nt)</option> + <option value="45.987721@C,225.155833@K,225.155833@[">Methylthio + TMT2plex (C,K,nt)</option> + <option value="45.987721@C,229.1629328@K,229.1629328@[">Methylthio + TMT6plex (C,K,nt)</option> + <option value="14.0156@],14.0156@D,14.0156@E">Methy +14Da (D,E,C-term)</option> + </param> + <param name="potential_modifications" type="select" display="checkboxes" multiple="true" label="Potential modifications" help=""> + <option value="15.994915@M">Oxidation (M)</option> + <option value="15.994915@W">Oxidation (W)</option> + <option value="0.984016@N">Deamidation (N)</option> + <option value="0.984016@Q">Deamidation (Q)</option> + <option value="79.966331@S">Phospho (S)</option> + <option value="79.966331@T">Phospho (T)</option> + <option value="79.966331@Y">Phospho (Y)</option> + <option value="79.956815@Y">Sulfo (Y)</option> + <option value="42.010565@K">Acetyl (K)</option> + <option value="43.005814@[">Carbamyl (nt)</option> + <option value="43.005814@K">Carbamyl (K)</option> + <option value="72.021129@[">Carboxyethyl (nt)</option> + <option value="72.021129@K">Carboxyethyl (K)</option> + <option value="57.021464@[">Carbamidomethyl (nt)</option> + <option value="57.021464@K">Carbamidomethyl (K)</option> + <option value="57.021464@C">Carbamidomethyl (C)</option> + <option value="58.005479@C">Carboxymethyl (C)</option> + <option value="45.987721@C">Methylthio (C)</option> + <option value="125.047679@C">Nethylmaleimide (C)</option> + <option value="31.989829@C">Dioxidation (C)</option> + <option value="47.984744@C">Trioxidation (C)</option> + <option value="27.994915@K">formyl (K)</option> + <option value="27.994915@[">formyl (nt)</option> + <option value="114.042927@K">GlyGly (K)</option> + <option value="8.0502@C">ICAT-D:2H(8) (C)</option> + <option value="9.0302@C">ICAT-C:13C(9) (C)</option> + <option value="144.102063@[">iTRAQ (N-term)</option> + <option value="144.102063@K">iTRAQ (K)</option> + <option value="6.020129@L">Label:13C(6) (L)</option> + <option value="6.020129@K">Label:13C(6) (K)</option> + <option value="8.014199@K">Label:13C(6)15N(2) (K)</option> + <option value="6.020129@R">Label:13C(6) (R)</option> + <option value="4.025107@K">Label:2H(4) (K)</option> + <option value="125.047679@C">Nethylmaleimide (C)</option> + <option value="31.005814@C">Sulfinamide (C)</option> + <option value="224.152478@K,224.152478@[">TMT (K,nt)</option> + <option value="225.155833@K,225.155833@[">TMT2plex (K,nt)</option> + <option value="229.1629328@K,229.1629328@[">TMT6plex (K,nt)</option> + </param> + <!-- + <param name="missed_cleavages" type="text" size="30" label="missed_cleavages" value="1" help="Nr. of possible cleavage sites missed by the enzyme"/>--> + <param name="minimum_fragment_mz" type="text" size="30" label="minimum_fragment_mz" value="150" help=""/> + <param name="cleavage_site" type="select" label="cleavage_site" help=""> + <option selected="true" value="[RK]|{P}">trypsin, [RK]|{P}</option> + <option value="[R]|[X]">endo-arg-C, [R]|[X]</option> + <option value="[K]|[X]">endo-lys-C, [K]|[X]</option> + <option value="[E]|[X]">endo-glu-C, [E]|[X]</option> + <option value="[X]|[D]">endo-asp-N, [X]|[D]</option> + <option value="[ED]|[X]">V8, [ED]|[X]</option> + <option value="[FYWL]|{P}">chymotrypsin, [FYWL]|{P}</option> + </param> + <param name="maximum_missed_cleavage_sites" type="integer" size="10" value="1" + label="maximum missed cleavage sites" + help="maximum number of missed cleavage sites allowed within a peptide. For a specific, + aggressive enzyme such as trypsin, the number of missed sites will be low: a value of 1 or 2 is appropriate. + For a non-specific enzyme, such as pepsin, then a value of 50 is more appropriate."/> + <param name="max_valid_expect" type="text" size="30" label="maximum valid expectation value" value="0.1" + help="Max E-Value of a hit to be reported. All results with expectation values less than this value + are considered to be statisitically significant and are recorded. "/> + <conditional name="refinementOpt"> + <param name="refinement" type="select" label="Refine search" help="Select this to enable a second round of more + detailed searching, using only the set of proteins found by the contraints above. E.g. + Rather than entering the 'potential modifications' in the options above, try entering them here only. This is + faster and limits this more thorough searching to a set of proteins for which there is already some evidence."> + <option value="yes">Yes</option> + <option value="no" selected="true">No</option> + </param> + <when value="yes"> + <param name="refine_point_mutation" type="select" label="Allow for point mutations (substitutions)" + help="Test the selected sequences for the possibility of a point mutation in each one of the + peptides generated with the initial cleavage chemistry."> + <option value="yes" selected="true">Yes</option> + <option value="no">No</option> + </param> + <param name="refine_potential_modifications" type="select" display="checkboxes" multiple="true" label="Potential modifications to look for in refined search" help=""> + <option value="15.994915@M">Oxidation (M)</option> + <option value="15.994915@W">Oxidation (W)</option> + <option value="0.984016@N">Deamidation (N)</option> + <option value="0.984016@Q">Deamidation (Q)</option> + <option value="79.966331@S">Phospho (S)</option> + <option value="79.966331@T">Phospho (T)</option> + <option value="79.966331@Y">Phospho (Y)</option> + <option value="79.956815@Y">Sulfo (Y)</option> + <option value="42.010565@K">Acetyl (K)</option> + <option value="43.005814@[">Carbamyl (nt)</option> + <option value="43.005814@K">Carbamyl (K)</option> + <option value="72.021129@[">Carboxyethyl (nt)</option> + <option value="72.021129@K">Carboxyethyl (K)</option> + <option value="57.021464@[">Carbamidomethyl (nt)</option> + <option value="57.021464@K">Carbamidomethyl (K)</option> + <option value="57.021464@C">Carbamidomethyl (C)</option> + <option value="58.005479@C">Carboxymethyl (C)</option> + <option value="45.987721@C">Methylthio (C)</option> + <option value="125.047679@C">Nethylmaleimide (C)</option> + <option value="31.989829@C">Dioxidation (C)</option> + <option value="47.984744@C">Trioxidation (C)</option> + <option value="27.994915@K">formyl (K)</option> + <option value="27.994915@[">formyl (nt)</option> + <option value="114.042927@K">GlyGly (K)</option> + <option value="8.0502@C">ICAT-D:2H(8) (C)</option> + <option value="9.0302@C">ICAT-C:13C(9) (C)</option> + <option value="144.102063@[">iTRAQ (N-term)</option> + <option value="144.102063@K">iTRAQ (K)</option> + <option value="6.020129@L">Label:13C(6) (L)</option> + <option value="6.020129@K">Label:13C(6) (K)</option> + <option value="8.014199@K">Label:13C(6)15N(2) (K)</option> + <option value="6.020129@R">Label:13C(6) (R)</option> + <option value="4.025107@K">Label:2H(4) (K)</option> + <option value="125.047679@C">Nethylmaleimide (C)</option> + <option value="31.005814@C">Sulfinamide (C)</option> + <option value="224.152478@K,224.152478@[">TMT (K,nt)</option> + <option value="225.155833@K,225.155833@[">TMT2plex (K,nt)</option> + <option value="229.1629328@K,229.1629328@[">TMT6plex (K,nt)</option> + </param> + <param name="refine_max_valid_expect" type="text" size="30" label="maximum valid expectation value for identifications coming from refine step" value="0.01" + help="Max E-Value of a 'refine based' hit to be reported. Notice that the default value here is stricter than + the same parameter for 'non-refine based' identifications above. "/> + </when> + </conditional> + <param name="reverse_scoring" type="select" label="Scoring, include reverse" help=" Use the X! Tandem protein sequence reverse method (sequences are reversed in memory and searched again, the tag ':reversed' is added to the protein description)."> + <option value="yes">Yes</option> + <option value="no" selected="true">No</option> + <option value="only">Only</option> + </param> + +</inputs> +<configfiles> +<configfile name="parametersFile"><?xml version="1.0" encoding="UTF-8"?> +<tns:Program xmlns:tns="http://masscomb.pri.com/toolparameters/" name="XTandemWrapper" program="XTandemWrapper"> + <Files/> + <Parameters> + <Attribute attributeName="xtandemLocation" value="/home/lukas007/galaxy-dist/tool-data/prims/tandem-linux-12-10-01-1/bin/" type="Unknown" description=""/> + <Attribute attributeName="database" value="${database}" type="Unknown" description=""/> + <Attribute attributeName="precursor_mass_tolerance_lower" toolSpecificName="spectrum, parent monoisotopic mass error minus" value="${precursor_mass_tolerance_lower}" type="Unknown" description=""/> + <Attribute attributeName="precursor_mass_tolerance_upper" toolSpecificName="spectrum, parent monoisotopic mass error plus" value="${precursor_mass_tolerance_upper}" type="Unknown" description=""/> + <Attribute attributeName="precursor_error_units" toolSpecificName="spectrum, parent monoisotopic mass error units" value="${precursor_error_units}" type="Unknown" description=""/> + <Attribute attributeName="fragment_mass_tolerance" toolSpecificName="spectrum, fragment monoisotopic mass error" value="${fragment_mass_tolerance}" type="Unknown" description=""/> + <Attribute attributeName="fragment_error_units" toolSpecificName="spectrum, fragment monoisotopic mass error units" value="${fragment_error_units}" type="Unknown" description=""/> + <Attribute attributeName="fixed_modifications" toolSpecificName="residue, modification mass" value="${fixed_modifications}" type="Unknown" description=""/> + <Attribute attributeName="potential_modifications" toolSpecificName="residue, potential modification mass" value="${potential_modifications}" type="Unknown" description=""/> + <Attribute attributeName="minimum_fragment_mz" toolSpecificName="spectrum, minimum fragment mz" value="${minimum_fragment_mz}" type="Unknown" description=""/> + <Attribute attributeName="cleavage_site" toolSpecificName="protein, cleavage site" value="${cleavage_site}" type="Unknown" description=""/> + <Attribute attributeName="maximum_missed_cleavage_sites" toolSpecificName="scoring, maximum missed cleavage sites" value="${maximum_missed_cleavage_sites}" type="Unknown" description=""/> + <Attribute attributeName="max_valid_expect" toolSpecificName="output, maximum valid expectation value" value="${max_valid_expect}" type="Unknown" description=""/> + <Attribute attributeName="refinement" toolSpecificName="refine" value="${refinementOpt.refinement}" type="Unknown" description=""/> + #if $refinementOpt.refinement == "yes" + <Attribute attributeName="refine_point_mutation" toolSpecificName="refine, point mutations" value="${refinementOpt.refine_point_mutation}" type="Unknown" description=""/> + <Attribute attributeName="refine_potential_modifications" toolSpecificName="refine, potential modification mass" value="${refinementOpt.refine_potential_modifications}" type="Unknown" description=""/> + <Attribute attributeName="refine_max_valid_expect" toolSpecificName="refine, maximum valid expectation value" value="${refinementOpt.refine_max_valid_expect}" type="Unknown" description=""/> + #end if + <Attribute attributeName="reverse_scoring" toolSpecificName="scoring, include reverse" value="${reverse_scoring}" type="Unknown" description=""/> + </Parameters> +</tns:Program> +</configfile> +</configfiles> +<outputs> + <data name="outputFile" format="bioml" label="${tool.name} on ${on_string} - Results XML"> + <change_format> + <when input="fileType.type" value="fileSet" format="prims.fileset.zip" /> + </change_format> + </data> + <data name="htmlReportFile" format="html" label="${tool.name} on ${on_string} - HTML report"> </data> + <data name="outTsv" format="tabular" label="${tool.name} on ${on_string} - TSV report"> </data> +</outputs> +<tests> + <test> + </test> +</tests> +<help> + +.. class:: infomark + +This tool searches MS/MS spectra against a database using X!Tandem. + +For a complete set of parameters and their default values see `the X!Tandem parameters documentation page`_ . +Parameters that are not +made available in the UI above but are listed in the given link are submitted with their +default values. + +For more information on the refine step see: `Why should I use "refinement" to find modifications?`_ . + +For more information on the expectation value calculation see: +`A Method for Assessing the Statistical Significance of Mass Spectrometry-Based Protein Identifications Using General Scoring Schemes`_ +, David Fenyƶ and Ronald C. Beavis, Anal. Chem., 2003, 75, 768-774. +This reference describes how peptides are scored by X!Tandem. +The expectation values on the individual peptides are calculated using this method. +<!-- Add this from Ron's email ? : +They are an estimate of the spectrum-to-peptide match E-value associated with the +null-hypothesis "all spectrum-to-peptide matches are stochasitic". +--> + +.. _the X!Tandem parameters documentation page: http://www.thegpm.org/tandem/api/index.html + +.. _Why should I use "refinement" to find modifications?: http://www.thegpm.org/GPM/refine.html + +.. _A Method for Assessing the Statistical Significance of Mass Spectrometry-Based Protein Identifications Using General Scoring Schemes: http://www.ncbi.nlm.nih.gov/pubmed/12622365 + +----- + +**Output** + +This tools returns the X!Tandem XML output which can be converted to MzIdentML using the DBSearch converter tool. + +It also returns an HTML file with the list of peptides and the option to visualize the peptide to spectrum match +using an embedded spectrum viewer. + +.. image:: $PATH_TO_IMAGES/xtandem_results_viewer.png + +Last but not least, it returns the list of identifications in TSV (tab separated values) format for users that are satisfied with this +and do not need further processing steps like protein inference. + +For the GPM web UI of X!Tandem see: +http://ppp.thegpm.org/tandem/thegpm_ppp.html + +</help> +</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/masscomb_fasta_validator.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,42 @@ +<tool name="Fasta Validator" id="masscomb_fastavalidator" version="1.0.1"> + <description>Basic FASTA file validation</description> + <!-- + For remote debugging start you listener on port 8000 and use the following as command interpreter: + java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=D0100564.wurnet.nl:8000 + --> + <command interpreter="java -jar"> + MassComb.jar + -action FASTAVALIDATOR + -fastaFile $inputFile + -outputFile $outputFile + -expressions "$expressions" + -maxLengthSequenceLine $maxLengthSequenceLine + </command> +<inputs> + <param name="inputFile" type="data" format="" label="Fasta file to validate"/> + + <param name="expressions" type="select" display="checkboxes" multiple="true" label="Error patterns to search for in each line" help=""> + <option value="description=White space in SEQUENCE;regex=^[a-zA-Z]+SLASHs[a-zA-Z]">White space in SEQUENCE (^[a-zA-Z]+\s[a-zA-Z])</option> + <option value="description=Numbers in SEQUENCE;regex=^[0-9]PIPE^[a-zA-Z]+.*[0-9]">Numbers in SEQUENCE (^[0-9]|^[a-zA-Z]+.*[0-9])</option> + <option value="description=Line starting with white space followed by alpha numeric characters;regex=^SLASHs[a-zA-Z0-9]+">Line starting with white space followed by alpha numeric characters (^\s[a-zA-Z0-9]+)</option> + <option value="description=Line ending with white space;regex=.*SLASHsDOLLAR">Line ending with white space (.*\s$)</option> + <option value="description=Sequence lines with non-Amino Acid characters;regex=(^[SLASHwAMPAMP[^ARNDCEQGHILKMFPSTWYV]])PIPE(^[ARNDCEQGHILKMFPSTWYV]+[SLASHwAMPAMP[^ARNDCEQGHILKMFPSTWYV]]+)">Sequence lines with non-Amino Acid characters ((^[\w&&[^ARNDCEQGHILKMFPSTWYV]])|(^[ARNDCEQGHILKMFPSTWYV]+[\w&&[^ARNDCEQGHILKMFPSTWYV]]+))</option> + <option value="description=Hyphen in accession numbers;regex=^SLASHS*-">Hyphen in accession numbers (^\S*-)</option> + <option value="description=Lines with stretches of X;regex=XX+">Lines with stretches of X (XX+)</option> + </param> + + <param name="maxLengthSequenceLine" type="integer" size="10" value="0" label="Max length sequence line " + help="(Optional) the maximum line width in the protein sequence part. Leave to 0 (zero) for no restrictions "/> + +</inputs> +<outputs> + <data format="txt" name="outputFile" /> +</outputs> +<tests> + <test> + </test> +</tests> +<help> + +</help> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/masscomb_visual_mspicture.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,87 @@ +<tool name="MsPicture" id="masscomb_mspicture" version="1.0.1"> + <description>MS data view</description> + <!-- + For remote debugging start you listener on port 8000 and use the following as command interpreter: + java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=D0100564.wurnet.nl:8000 + --> + <command interpreter="java -jar"> + MassComb.jar -action MSPICTURE + -outputFile $html_file + -picturesPath $html_file.files_path + -fileGrouping $fileType.type + #if $fileType.type == "single" + -inputFile $fileType.inputFormatType.inputFile + -inputFormat $fileType.inputFormatType.inputFormat + #elif $fileType.type == "fileSet" + -inputFile $fileType.inputFile + #end if + -parametersFile $parametersFile + + </command> +<inputs> + <conditional name="fileType"> + <param name="type" type="select" label="select MS/MS input type"> + <option value="single" selected="true">single-File</option> + <option value="fileSet">fileSet</option> + </param> + <when value="single"> + <conditional name="inputFormatType"> + <param name="inputFormat" type="select" label="inputFormat"> + <option value="mzml" selected="true">mzml</option> + <option value="mzxml">mzxml</option> + <option value="apml">apml</option> + </param> + <when value="mzxml"> + <param name="inputFile" type="data" format="mzxml" label="MS input file (mzXML)"/> + </when> + <when value="mzml"> + <param name="inputFile" type="data" format="mzml" label="MS input file (mzml)"/> + </when> + <when value="apml"> + <param name="inputFile" type="data" format="apml" label="MS or MS/MS input file (APML)"/> + </when> + </conditional> + </when> + <when value="fileSet"> + <param name="inputFile" type="data" format="prims.fileset.zip" label="input file"/> + </when> + </conditional> + + <param name="data_type" type="select" label="Data type" help=""> + <option value="LC-MS">LC-MS</option> + <option value="LC-MS/MS">LC-MS/MS</option> + </param> + + <param name="gray_scale" type="select" display="checkboxes" multiple="True" label="Use gray scale" help=""> + <option value="Yes">Yes</option> + </param> + +</inputs> +<configfiles> +<configfile name="parametersFile"><?xml version="1.0" encoding="UTF-8"?> +<tns:Program xmlns:tns="http://masscomb.pri.com/toolparameters/" name="MsPictureWrapper" program="MsPictureWrapper"> + <Files/> + <Parameters> + <Attribute attributeName="toolLocation" value="/home/lukas007/bin/" type="Unknown" description=""/> + <Attribute attributeName="gray_scale" toolSpecificName="--grey" value="${gray_scale}" type="Unknown" description=""/> + <Attribute attributeName="data_type" value="${data_type}" type="Unknown" description=""/> + </Parameters> +</tns:Program> +</configfile> +</configfiles> +<outputs> + <data format="html" name="html_file" /> +</outputs> +<tests> + <test> + </test> +</tests> +<help> + +.. class:: infomark + +This tool displays the MS data using ProteoWizard's msPicture tool + + +</help> +</tool> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/prims_masscomb_datatypes.py Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,29 @@ +""" +PRIMS masscomb classes for types defined in datatypes_conf.xml +""" +import logging +import zipfile +import re +from galaxy.datatypes.data import * +from galaxy.datatypes.xml import * +from galaxy.datatypes.sniff import * +from galaxy.datatypes.binary import * +from galaxy.datatypes.interval import * + +log = logging.getLogger(__name__) + +class FileSet( Binary ): + """FileSet containing N files""" + file_ext = "prims.fileset.zip" + blurb = "(zipped) FileSet containing multiple files" + def sniff( self, filename ): + # If the zip file contains multiple files then return true, false otherwise: + zf = zipfile.ZipFile(filename) + if (len(zf.infolist())>1): + return True + else : + return False + +# the if is just for backwards compatibility...could remove this at some point +if hasattr(Binary, 'register_sniffable_binary_format'): + Binary.register_sniffable_binary_format('FileSet', 'prims.fileset.zip', FileSet)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_dependencies.xml Wed Jan 08 11:34:51 2014 +0100 @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<tool_dependency> +<!-- see also http://wiki.galaxyproject.org/ToolShedToolFeatures for syntax help --> + <package name="xtandem" version="12.10011"> + <install version="1.0"> + <actions> + <action type="download_by_url">ftp://ftp.thegpm.org/projects/tandem/source/2011-12-01/tandem-linux-12-10-01-1.zip</action> + <!--<action type="shell_command">make clean</action> + <action type="shell_command">make</action>--> + <action type="move_directory_files"> + <source_directory>../tandem-linux-12-10-01-1</source_directory> + <destination_directory>$INSTALL_DIR/tandem-linux-12-10-01-1</destination_directory> + </action> + <action type="shell_command">chmod 755 $INSTALL_DIR/tandem-linux-12-10-01-1/bin/tandem.exe</action> + <!--<action type="chmod"><file mode="755">$INSTALL_DIR/tandem-linux-12-10-01-1/bin/tandem.exe</file><action>--> + <action type="set_environment"> + <environment_variable name="XTANDEM_12_10_01_PATH" action="set_to">$INSTALL_DIR/tandem-linux-12-10-01-1</environment_variable> + </action> + </actions> + </install> + <readme> +Ensures XTandem is installed. + </readme> + </package> + <set_environment version="1.0"> + <environment_variable name="XTANDEM_12_10_01_PATH" action="set_to">$INSTALL_DIR/tandem-linux-12-10-01-1</environment_variable> + </set_environment> +</tool_dependency> \ No newline at end of file