Repository 'prims_masscomb'
hg clone https://toolshed.g2.bx.psu.edu/repos/pieterlukasse/prims_masscomb

Changeset 0:d6001e8d7441 (2014-01-08)
Next changeset 1:df11f47923ac (2014-01-08)
Commit message:
Push to main toolshed
added:
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
b
diff -r 000000000000 -r d6001e8d7441 LICENSE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE Wed Jan 08 11:34:51 2014 +0100
[
b'@@ -0,0 +1,202 @@\n+\n+                                 Apache License\n+                           Version 2.0, January 2004\n+                        http://www.apache.org/licenses/\n+\n+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n+\n+   1. Definitions.\n+\n+      "License" shall mean the terms and conditions for use, reproduction,\n+      and distribution as defined by Sections 1 through 9 of this document.\n+\n+      "Licensor" shall mean the copyright owner or entity authorized by\n+      the copyright owner that is granting the License.\n+\n+      "Legal Entity" shall mean the union of the acting entity and all\n+      other entities that control, are controlled by, or are under common\n+      control with that entity. For the purposes of this definition,\n+      "control" means (i) the power, direct or indirect, to cause the\n+      direction or management of such entity, whether by contract or\n+      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n+      outstanding shares, or (iii) beneficial ownership of such entity.\n+\n+      "You" (or "Your") shall mean an individual or Legal Entity\n+      exercising permissions granted by this License.\n+\n+      "Source" form shall mean the preferred form for making modifications,\n+      including but not limited to software source code, documentation\n+      source, and configuration files.\n+\n+      "Object" form shall mean any form resulting from mechanical\n+      transformation or translation of a Source form, including but\n+      not limited to compiled object code, generated documentation,\n+      and conversions to other media types.\n+\n+      "Work" shall mean the work of authorship, whether in Source or\n+      Object form, made available under the License, as indicated by a\n+      copyright notice that is included in or attached to the work\n+      (an example is provided in the Appendix below).\n+\n+      "Derivative Works" shall mean any work, whether in Source or Object\n+      form, that is based on (or derived from) the Work and for which the\n+      editorial revisions, annotations, elaborations, or other modifications\n+      represent, as a whole, an original work of authorship. For the purposes\n+      of this License, Derivative Works shall not include works that remain\n+      separable from, or merely link (or bind by name) to the interfaces of,\n+      the Work and Derivative Works thereof.\n+\n+      "Contribution" shall mean any work of authorship, including\n+      the original version of the Work and any modifications or additions\n+      to that Work or Derivative Works thereof, that is intentionally\n+      submitted to Licensor for inclusion in the Work by the copyright owner\n+      or by an individual or Legal Entity authorized to submit on behalf of\n+      the copyright owner. For the purposes of this definition, "submitted"\n+      means any form of electronic, verbal, or written communication sent\n+      to the Licensor or its representatives, including but not limited to\n+      communication on electronic mailing lists, source code control systems,\n+      and issue tracking systems that are managed by, or on behalf of, the\n+      Licensor for the purpose of discussing and improving the Work, but\n+      excluding communication that is conspicuously marked or otherwise\n+      designated in writing by the copyright owner as "Not a Contribution."\n+\n+      "Contributor" shall mean Licensor and any individual or Legal Entity\n+      on behalf of whom a Contribution has been received by Licensor and\n+      subsequently incorporated within the Work.\n+\n+   2. Grant of Copyright License. Subject to the terms and conditions of\n+      this License, each Contributor hereby grants to You a perpetual,\n+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n+      copyright license to reproduce, prepare Derivative Works of,\n+      publicly display, publicly perform, sublicense, and distribute the\n+      Work and such Derivative Works in Source or Obj'..b'r shall be under the terms and conditions of\n+      this License, without any additional terms or conditions.\n+      Notwithstanding the above, nothing herein shall supersede or modify\n+      the terms of any separate license agreement you may have executed\n+      with Licensor regarding such Contributions.\n+\n+   6. Trademarks. This License does not grant permission to use the trade\n+      names, trademarks, service marks, or product names of the Licensor,\n+      except as required for reasonable and customary use in describing the\n+      origin of the Work and reproducing the content of the NOTICE file.\n+\n+   7. Disclaimer of Warranty. Unless required by applicable law or\n+      agreed to in writing, Licensor provides the Work (and each\n+      Contributor provides its Contributions) on an "AS IS" BASIS,\n+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n+      implied, including, without limitation, any warranties or conditions\n+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n+      PARTICULAR PURPOSE. You are solely responsible for determining the\n+      appropriateness of using or redistributing the Work and assume any\n+      risks associated with Your exercise of permissions under this License.\n+\n+   8. Limitation of Liability. In no event and under no legal theory,\n+      whether in tort (including negligence), contract, or otherwise,\n+      unless required by applicable law (such as deliberate and grossly\n+      negligent acts) or agreed to in writing, shall any Contributor be\n+      liable to You for damages, including any direct, indirect, special,\n+      incidental, or consequential damages of any character arising as a\n+      result of this License or out of the use or inability to use the\n+      Work (including but not limited to damages for loss of goodwill,\n+      work stoppage, computer failure or malfunction, or any and all\n+      other commercial damages or losses), even if such Contributor\n+      has been advised of the possibility of such damages.\n+\n+   9. Accepting Warranty or Additional Liability. While redistributing\n+      the Work or Derivative Works thereof, You may choose to offer,\n+      and charge a fee for, acceptance of support, warranty, indemnity,\n+      or other liability obligations and/or rights consistent with this\n+      License. However, in accepting such obligations, You may act only\n+      on Your own behalf and on Your sole responsibility, not on behalf\n+      of any other Contributor, and only if You agree to indemnify,\n+      defend, and hold each Contributor harmless for any liability\n+      incurred by, or claims asserted against, such Contributor by reason\n+      of your accepting any such warranty or additional liability.\n+\n+   END OF TERMS AND CONDITIONS\n+\n+   APPENDIX: How to apply the Apache License to your work.\n+\n+      To apply the Apache License to your work, attach the following\n+      boilerplate notice, with the fields enclosed by brackets "[]"\n+      replaced with your own identifying information. (Don\'t include\n+      the brackets!)  The text should be enclosed in the appropriate\n+      comment syntax for the file format. We also recommend that a\n+      file or class name and description of purpose be included on the\n+      same "printed page" as the copyright notice for easier\n+      identification within third-party archives.\n+\n+   Copyright [yyyy] [name of copyright owner]\n+\n+   Licensed under the Apache License, Version 2.0 (the "License");\n+   you may not use this file except in compliance with the License.\n+   You may obtain a copy of the License at\n+\n+       http://www.apache.org/licenses/LICENSE-2.0\n+\n+   Unless required by applicable law or agreed to in writing, software\n+   distributed under the License is distributed on an "AS IS" BASIS,\n+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+   See the License for the specific language governing permissions and\n+   limitations under the License.\n'
b
diff -r 000000000000 -r d6001e8d7441 MassComb.jar
b
Binary file MassComb.jar has changed
b
diff -r 000000000000 -r d6001e8d7441 NOTICE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/NOTICE Wed Jan 08 11:34:51 2014 +0100
b
@@ -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
+
b
diff -r 000000000000 -r d6001e8d7441 README.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst Wed Jan 08 11:34:51 2014 +0100
b
@@ -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
b
diff -r 000000000000 -r d6001e8d7441 XTANDEM_README.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/XTANDEM_README.txt Wed Jan 08 11:34:51 2014 +0100
b
b'@@ -0,0 +1,177 @@\n+\r\n+X!TANDEM LICENSE AND README ===========================================\r\n+\r\n+\r\n+ X! tandem protein sequence modeler\r\n+\r\n+  What is it?\r\n+  -----------\r\n+  X! tandem open source software that can model tandem\r\n+  mass spectra with protein sequences. This software\r\n+  has a very simple, unsophistocated application programming\r\n+  interface (API): it simply takes an XML file of instructions\r\n+  on its command line, and output the results into an XML file,\r\n+  which has been specified in the input XML file. \r\n+  \r\n+  The Latest Version\r\n+  ------------------\r\n+\r\n+  Details of the latest version can be found on the X! tandem\r\n+  project page under http://www.thegpm.org. \r\n+  This version is the first release the CYCLONE edition (version 2012.10.01.1).\r\n+\r\n+\r\n+  Documentation\r\n+  -------------\r\n+\r\n+  This version of X! tandem is a full release, only including source\r\n+  level documentation. As more releases occur, better documentation\r\n+  will be included.\r\n+\r\n+  Installation\r\n+  ------------\r\n+\r\n+  (IN this case installation is automatically done by Galaxy\'s Toolshed).\r\n+\r\n+  Licensing\r\n+  ---------\r\n+\r\n+\tThe Artistic License for all X! software, binaries and documentation\r\n+\r\n+\tPreamble\r\n+\tThe intent of this document is to state the conditions under which a\r\n+\tPackage may be copied, such that the Copyright Holder maintains some \r\n+\tsemblance of artistic control over the development of the package, \r\n+\twhile giving the users of the package the right to use and distribute \r\n+\tthe Package in a more-or-less customary fashion, plus the right to \r\n+\tmake reasonable modifications. \r\n+\r\n+\tDefinitions\r\n+\t"Package" refers to the collection of files distributed by the Copyright \r\n+\t  Holder, and derivatives of that collection of files created through \r\n+\t  textual modification. \r\n+\r\n+\t"Standard Version" refers to such a Package if it has not been modified, \r\n+\t  or has been modified in accordance with the wishes of the Copyright \r\n+\t  Holder as specified below. \r\n+\r\n+\t"Copyright Holder" is whoever is named in the copyright or copyrights \r\n+\t  for the package. \r\n+\r\n+\t"You" is you, if you\'re thinking about copying or distributing this Package. \r\n+\r\n+\t"Reasonable copying fee" is whatever you can justify on the basis of \r\n+\t  media cost, duplication charges, time of people involved, and so on. \r\n+\t  (You will not be required to justify it to the Copyright Holder, but \r\n+\t  only to the computing community at large as a market that must bear \r\n+\t  the fee.) \r\n+\r\n+\t"Freely Available" means that no fee is charged for the item itself, \r\n+\t  though there may be fees involved in handling the item. It also means \r\n+\t  that recipients of the item may redistribute it under the same\r\n+\t  conditions they received it. \r\n+\r\n+\t1. You may make and give away verbatim copies of the source form of the \r\n+\tStandard Version of this Package without restriction, provided that \r\n+\tyou duplicate all of the original copyright notices and associated \r\n+\tdisclaimers. \r\n+\r\n+\t2. You may apply bug fixes, portability fixes and other modifications \r\n+\tderived from the Public Domain or from the Copyright Holder. A \r\n+\tPackage modified in such a way shall still be considered the Standard \r\n+\tVersion. \r\n+\r\n+\t3. You may otherwise modify your copy of this Package in any way, provided \r\n+\tthat you insert a prominent notice in each changed file stating how and \r\n+\twhen you changed that file, and provided that you do at least ONE of the \r\n+\tfollowing: \r\n+\r\n+\t  a. place your modifications in the Public Domain or otherwise make them \r\n+\t\t Freely Available, such as by posting said modifications to Usenet \r\n+\t\t or an equivalent medium, or placing the modifications on a major \r\n+\t\t archive site such as uunet.uu.net, or by allowing the Copyright Holder \r\n+\t\t to include your modifications in the Standard Version of the Package. \r\n+\t  b. use the modified Package only within your corporation or organization. \r\n+\t  c. rename any non-standard executables so the names do not'..b'ocuments how it differs from the Standard Version. \r\n+\t  d. make other distribution arrangements with the Copyright Holder. \r\n+\r\n+\t4. You may distribute the programs of this Package in object code or \r\n+\texecutable form, provided that you do at least ONE of the following: \r\n+\r\n+\t  a. distribute a Standard Version of the executables and library files, \r\n+\t\t together with instructions (in the manual page or equivalent) on \r\n+\t\t where to get the Standard Version. \r\n+\t  b. accompany the distribution with the machine-readable source of the \r\n+\t\t Package with your modifications. \r\n+\t  c. give non-standard executables non-standard names, and clearly \r\n+\t\t document the differences in manual pages (or equivalent), together \r\n+\t\t with instructions on where to get the Standard Version. \r\n+\t  d. make other distribution arrangements with the Copyright Holder. \r\n+\r\n+\t5. You may charge a reasonable copying fee for any distribution of \r\n+\tthis Package. You may charge any fee you choose for support of \r\n+\tthis Package. You may not charge a fee for this Package itself. \r\n+\tHowever, you may distribute this Package in aggregate with other \r\n+\t(possibly commercial) programs as part of a larger (possibly \r\n+\tcommercial) software distribution provided that you do not a\r\n+\tdvertise this Package as a product of your own. You may embed this \r\n+\tPackage\'s interpreter within an executable of yours (by linking); \r\n+\tthis shall be construed as a mere form of aggregation, provided that \r\n+\tthe complete Standard Version of the interpreter is so embedded. \r\n+\r\n+\t6. The scripts and library files supplied as input to or produced as \r\n+\toutput from the programs of this Package do not automatically fall \r\n+\tunder the copyright of this Package, but belong to whomever generated \r\n+\tthem, and may be sold commercially, and may be aggregated with this \r\n+\tPackage. If such scripts or library files are aggregated with this \r\n+\tPackage via the so-called "undump" or "unexec" methods of producing \r\n+\ta binary executable image, then distribution of such an image shall \r\n+\tneither be construed as a distribution of this Package nor shall it \r\n+\tfall under the restrictions of Paragraphs 3 and 4, provided that you \r\n+\tdo not represent such an executable image as a Standard Version of \r\n+\tthis Package. \r\n+\r\n+\t7. C subroutines (or comparably compiled subroutines in other languages) \r\n+\tsupplied by you and linked into this Package in order to emulate \r\n+\tsubroutines and variables of the language defined by this Package \r\n+\tshall not be considered part of this Package, but are the equivalent \r\n+\tof input as in Paragraph 6, provided these subroutines do not change \r\n+\tthe language in any way that would cause it to fail the regression \r\n+\ttests for the language. \r\n+\r\n+\t8. Aggregation of this Package with a commercial distribution is always \r\n+\tpermitted provided that the use of this Package is embedded; that is, \r\n+\twhen no overt attempt is made to make this Package\'s interfaces visible \r\n+\tto the end user of the commercial distribution. Such use shall not be \r\n+\tconstrued as a distribution of this Package. \r\n+\r\n+\t9. The name of the Copyright Holder may not be used to endorse or promote \r\n+\tproducts derived from this software without specific prior written permission. \r\n+\r\n+\t10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED \r\n+\tWARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF \r\n+\tMERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. \r\n+\r\n+\tThe End \r\n+\r\n+\r\n+  Contacts\r\n+  --------\r\n+\r\n+  For any questions involving X! tandem, please contact \r\n+  contact@thegpm.org\r\n+\r\n+  Acknowledgments\r\n+  ----------------\r\n+\r\n+  Ron Beavis - system design and implementation\r\n+  Rob Craig - debugging and LINUX implementation\r\n+  Jayson Falkner - code for GeeToo LINUX implementation\r\n+  Patrick Lacasse - initial additions for mzxml and mzdata functionality\r\n+  Brendan McLean - optimized changes for mzxml and mzdata functionality using expat library\r\n+\r\n+\r\n+\r\n'
b
diff -r 000000000000 -r d6001e8d7441 datatypes_conf.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datatypes_conf.xml Wed Jan 08 11:34:51 2014 +0100
b
@@ -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
b
diff -r 000000000000 -r d6001e8d7441 masscomb_dbsearch_converter.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/masscomb_dbsearch_converter.xml Wed Jan 08 11:34:51 2014 +0100
b
@@ -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>
b
diff -r 000000000000 -r d6001e8d7441 masscomb_dbsearch_xtandem.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/masscomb_dbsearch_xtandem.xml Wed Jan 08 11:34:51 2014 +0100
[
b'@@ -0,0 +1,293 @@\n+<tool name="X!Tandem" id="masscomb_xtandem200" version="2.0.0">\r\n+\t<description>MS/MS DB search</description>\r\n+\t<!-- \r\n+\t   For remote debugging start you listener on port 8000 and use the following as command interpreter:\r\n+\t       java -jar -Xdebug -Xrunjdwp:transport=dt_socket,address=D0100564.wurnet.nl:8000 \r\n+\t-->    \r\n+\t<command interpreter="java -jar">\r\n+\t    MassComb.jar \r\n+\t    -action XTANDEMSEARCH \r\n+\t    -outputFile $outputFile \r\n+\t    -fileGrouping $fileType.type\r\n+    \t-inputFile $fileType.inputFile\r\n+       \t-parametersFile $parametersFile\r\n+\t\t-outputTsv $outTsv\r\n+\t\t-outReport $htmlReportFile\r\n+\t    -outReportPicturesPath $htmlReportFile.files_path\r\n+\t    </command>\r\n+<inputs>\r\n+  <conditional name="fileType">\r\n+    <param name="type" type="select" label="select MS/MS input type">\r\n+      <option value="single" selected="true">single-File</option>\r\n+      <option value="fileSet">fileSet</option>\r\n+    </param>\r\n+    <when value="single">\r\n+   \t\t<param name="inputFile" type="data" format="mzml" label="MS/MS input file (mzml)"/>\r\n+    </when>\r\n+    <when value="fileSet">\r\n+      <param name="inputFile" type="data" format="prims.fileset.zip" label="input file"/>\r\n+    </when>\r\n+  </conditional>\r\n+\r\n+   <param name="precursor_mass_tolerance_lower" type="text" size="30" label="precursor monoisotopic mass_tolerance_lower" value="100" help=""/>\r\n+   <param name="precursor_mass_tolerance_upper" type="text" size="30" label="precursor monoisotopic mass_tolerance_upper" value="100" help=""/>\r\n+   <param name="precursor_error_units" type="select" label="precursor_error_units" help="">\r\n+   \t<option value="ppm" selected="true">ppm</option>\r\n+   \t<option value="Daltons">Daltons</option>\r\n+   </param>\r\n+   <param name="fragment_mass_tolerance" type="text" size="30" label="fragment_mass_tolerance" value="0.4" help=""/>\r\n+   <param name="fragment_error_units" type="select" label="fragment_error_units" help="">\r\n+   \t<option value="ppm">ppm</option>\r\n+   \t<option value="Daltons" selected="true">Daltons</option>\r\n+   </param>\r\n+   <param name="database" type="data" format="fasta" label="Protein sequences DB (FASTA)"/>\r\n+   <!-- \r\n+   <param name="min_precursor_charge" type="text" size="30" label="min_precursor_charge" value="1" help=""/>\r\n+   <param name="max_precursor_charge" type="text" size="30" label="max_precursor_charge" value="4" help=""/>-->\r\n+   <param name="fixed_modifications" type="select" display="checkboxes" multiple="true" label="Complete modifications" help="">\r\n+\t   \t<option value="57.021464@C">Carbamidomethyl (C)</option>\r\n+\t\t<option value="57.021464@C,10.008269@R,8.014199@K">Cam+SILAC (8@K,10@R)</option>\r\n+\t\t<option value="57.021464@C,4.025107@K,6.020129@R">Cam+SILAC (4@K,6@R)</option>\r\n+\t\t<option value="57.021464@C,4.025107@K,6.020129@R,6.020129@L">Cam+SILAC (4@K,6@R,6@L)</option>\r\n+\t\t<option value="58.005479@C">Carboxymethyl (C)</option>\r\n+\t\t<option value="45.987721@C">Methylthio (C)</option>\r\n+\t\t<option value="47.984744@C">Trioxidation (C)</option>\r\n+\t\t<option value="442.224991@C">ICAT-D (C)</option>\r\n+\t\t<option value="450.275205@C">ICAT-D:2H(8) (C)</option>\r\n+\t\t<option value="227.126991@C">ICAT-C (C)</option>\r\n+\t\t<option value="236.157185@C">ICAT-C:13C(9) (C)</option>\r\n+\t\t<option value="58.005479@C">Carboxymethyl (C)</option>\r\n+\t\t<option value="105.057849@C">Pyridylethyl (C)</option>\r\n+\t\t<option value="71.037114@C">Propionamide (C)</option>\r\n+\t\t<option value="125.047679@C">Nethylmaleimide (C)</option>\r\n+\t\t<option value="144.102063@[,144.102063@K">iTRAQ (N-term,K)</option>\r\n+\t\t<option value="57.021464@C,144.102063@[,144.102063@K">Cam + iTRAQ (C,N-term,K)</option>\r\n+\t\t<option value="57.021464@C,224.152478@K,224.152478@[">Cam + TMT (C,K,nt)</option>\r\n+\t\t<option value="57.021464@C,225.155833@K,225.155833@[">Cam + TMT2plex (C,K,nt)</option>\r\n+\t\t<option value="57.021464@C,229.1629328@K,229.1629328@[">Cam + TMT6plex (C,K,nt)</option>\r\n+\t\t<option value="57.021464@C,28.0313@[,28.0313@K">Cam + Dim'..b' missed cleavage sites" value="${maximum_missed_cleavage_sites}" type="Unknown" description=""/&gt;\r\n+\t\t  &lt;Attribute attributeName="max_valid_expect" toolSpecificName="output, maximum valid expectation value" value="${max_valid_expect}" type="Unknown" description=""/&gt;\r\n+\t\t  &lt;Attribute attributeName="refinement" toolSpecificName="refine" value="${refinementOpt.refinement}" type="Unknown" description=""/&gt;\r\n+\t#if $refinementOpt.refinement == "yes"\r\n+\t\t  &lt;Attribute attributeName="refine_point_mutation" toolSpecificName="refine, point mutations" value="${refinementOpt.refine_point_mutation}" type="Unknown" description=""/&gt;\r\n+\t\t  &lt;Attribute attributeName="refine_potential_modifications" toolSpecificName="refine, potential modification mass" value="${refinementOpt.refine_potential_modifications}" type="Unknown" description=""/&gt;\r\n+\t\t  &lt;Attribute attributeName="refine_max_valid_expect" toolSpecificName="refine, maximum valid expectation value" value="${refinementOpt.refine_max_valid_expect}" type="Unknown" description=""/&gt;\r\n+\t#end if\r\n+\t\t  &lt;Attribute attributeName="reverse_scoring" toolSpecificName="scoring, include reverse" value="${reverse_scoring}" type="Unknown" description=""/&gt;\r\n+\t&lt;/Parameters&gt;\r\n+&lt;/tns:Program&gt;  \r\n+</configfile>\r\n+</configfiles>\r\n+<outputs>\r\n+\t<data name="outputFile" format="bioml"  label="${tool.name} on ${on_string} - Results XML">\r\n+\t\t<change_format>\r\n+\t\t    <when input="fileType.type" value="fileSet" format="prims.fileset.zip" />\r\n+\t\t</change_format>\r\n+\t</data>\r\n+\t<data name="htmlReportFile" format="html" label="${tool.name} on ${on_string} - HTML report"> </data>\r\n+\t<data name="outTsv" format="tabular" label="${tool.name} on ${on_string} - TSV report"> </data>\r\n+</outputs>\r\n+<tests>\r\n+\t<test>\r\n+\t</test>\r\n+</tests>\r\n+<help>\r\n+\r\n+.. class:: infomark\r\n+  \r\n+This tool searches MS/MS spectra against a database using X!Tandem.\r\n+\r\n+For a complete set of parameters and their default values see `the X!Tandem parameters documentation page`_ . \r\n+Parameters that are not\r\n+made available in the UI above but are listed in the given link are submitted with their\r\n+default values.\r\n+\r\n+For more information on the refine step see: `Why should I use "refinement" to find modifications?`_ .\r\n+\r\n+For more information on the expectation value calculation see: \r\n+`A Method for Assessing the Statistical Significance of Mass Spectrometry-Based Protein Identifications Using General Scoring Schemes`_\r\n+, David Feny\xc3\xb6 and Ronald C. Beavis, Anal. Chem., 2003, 75, 768-774.\r\n+This reference describes how peptides are scored by X!Tandem. \r\n+The expectation values on the individual peptides are calculated using this method. \r\n+<!-- Add this from Ron\'s email ? :\r\n+They are an estimate of the spectrum-to-peptide match E-value associated with the \r\n+null-hypothesis "all spectrum-to-peptide matches are stochasitic".\r\n+-->\r\n+\r\n+.. _the X!Tandem parameters documentation page: http://www.thegpm.org/tandem/api/index.html\r\n+\r\n+.. _Why should I use "refinement" to find modifications?: http://www.thegpm.org/GPM/refine.html\r\n+\r\n+.. _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\r\n+\r\n+-----\r\n+\r\n+**Output**\r\n+\r\n+This tools returns the X!Tandem XML output which can be converted to MzIdentML using the DBSearch converter tool.\r\n+\r\n+It also returns an HTML file with the list of peptides and the option to visualize the peptide to spectrum match\r\n+using an embedded spectrum viewer. \r\n+\r\n+.. image:: $PATH_TO_IMAGES/xtandem_results_viewer.png \r\n+\r\n+Last but not least, it returns the list of identifications in TSV (tab separated values) format for users that are satisfied with this\r\n+and do not need further processing steps like protein inference. \r\n+\r\n+For the GPM web UI of X!Tandem see:\r\n+http://ppp.thegpm.org/tandem/thegpm_ppp.html\r\n+\r\n+</help>\r\n+</tool>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r d6001e8d7441 masscomb_fasta_validator.xml
--- /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>
b
diff -r 000000000000 -r d6001e8d7441 masscomb_visual_mspicture.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/masscomb_visual_mspicture.xml Wed Jan 08 11:34:51 2014 +0100
b
@@ -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
b
diff -r 000000000000 -r d6001e8d7441 prims_masscomb_datatypes.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/prims_masscomb_datatypes.py Wed Jan 08 11:34:51 2014 +0100
b
@@ -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)
b
diff -r 000000000000 -r d6001e8d7441 static/images/xtandem_results_viewer.png
b
Binary file static/images/xtandem_results_viewer.png has changed
b
diff -r 000000000000 -r d6001e8d7441 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Wed Jan 08 11:34:51 2014 +0100
b
@@ -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