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.
Binary file MassComb.jar has changed
--- /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">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;tns:Program xmlns:tns="http://masscomb.pri.com/toolparameters/" name="XTandemWrapper" program="XTandemWrapper"&gt;
+	&lt;Files/&gt;
+	&lt;Parameters&gt;  
+		  &lt;Attribute attributeName="xtandemLocation" value="/home/lukas007/galaxy-dist/tool-data/prims/tandem-linux-12-10-01-1/bin/" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="database" value="${database}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="precursor_mass_tolerance_lower" toolSpecificName="spectrum, parent monoisotopic mass error minus" value="${precursor_mass_tolerance_lower}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="precursor_mass_tolerance_upper" toolSpecificName="spectrum, parent monoisotopic mass error plus" value="${precursor_mass_tolerance_upper}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="precursor_error_units" toolSpecificName="spectrum, parent monoisotopic mass error units" value="${precursor_error_units}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="fragment_mass_tolerance" toolSpecificName="spectrum, fragment monoisotopic mass error" value="${fragment_mass_tolerance}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="fragment_error_units" toolSpecificName="spectrum, fragment monoisotopic mass error units" value="${fragment_error_units}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="fixed_modifications" toolSpecificName="residue, modification mass" value="${fixed_modifications}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="potential_modifications" toolSpecificName="residue, potential modification mass" value="${potential_modifications}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="minimum_fragment_mz" toolSpecificName="spectrum, minimum fragment mz" value="${minimum_fragment_mz}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="cleavage_site" toolSpecificName="protein, cleavage site" value="${cleavage_site}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="maximum_missed_cleavage_sites" toolSpecificName="scoring, maximum missed cleavage sites" value="${maximum_missed_cleavage_sites}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="max_valid_expect" toolSpecificName="output, maximum valid expectation value" value="${max_valid_expect}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="refinement" toolSpecificName="refine" value="${refinementOpt.refinement}" type="Unknown" description=""/&gt;
+	#if $refinementOpt.refinement == "yes"
+		  &lt;Attribute attributeName="refine_point_mutation" toolSpecificName="refine, point mutations" value="${refinementOpt.refine_point_mutation}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="refine_potential_modifications" toolSpecificName="refine, potential modification mass" value="${refinementOpt.refine_potential_modifications}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="refine_max_valid_expect" toolSpecificName="refine, maximum valid expectation value" value="${refinementOpt.refine_max_valid_expect}" type="Unknown" description=""/&gt;
+	#end if
+		  &lt;Attribute attributeName="reverse_scoring" toolSpecificName="scoring, include reverse" value="${reverse_scoring}" type="Unknown" description=""/&gt;
+	&lt;/Parameters&gt;
+&lt;/tns:Program&gt;  
+</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&amp;&amp;[^ARNDCEQGHILKMFPSTWYV]])|(^[ARNDCEQGHILKMFPSTWYV]+[\w&amp;&amp;[^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">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
+&lt;tns:Program xmlns:tns="http://masscomb.pri.com/toolparameters/" name="MsPictureWrapper" program="MsPictureWrapper"&gt;
+	&lt;Files/&gt;
+	&lt;Parameters&gt;
+		  &lt;Attribute attributeName="toolLocation" value="/home/lukas007/bin/" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="gray_scale" toolSpecificName="--grey" value="${gray_scale}" type="Unknown" description=""/&gt;
+		  &lt;Attribute attributeName="data_type" value="${data_type}" type="Unknown" description=""/&gt;
+	&lt;/Parameters&gt;
+&lt;/tns:Program&gt;  
+</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)
Binary file static/images/xtandem_results_viewer.png has changed
--- /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