changeset 7:37e5502441cc draft

Uploaded
author galaxyp
date Mon, 17 Feb 2014 17:00:29 -0500
parents ffe1dca94595
children d2c61663e33c
files LICENSE README.md README_GALAXYP.md README_REPO.md TODO galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/LICENSE galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README.md galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_GALAXYP.md galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_REPO.md galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/TODO galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert.xml.template galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2_raw.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3_raw.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_raw_wrapper.py galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_subset.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_wrapper.py galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/repository_dependencies.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/tool_dependencies.xml galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update.sh galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update_repo.sh galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/version msconvert.xml.template msconvert2.xml msconvert2_raw.xml msconvert3.xml msconvert3_raw.xml msconvert_raw_wrapper.py msconvert_subset.xml msconvert_wrapper.py repository_dependencies.xml tool_dependencies.xml update.sh update_repo.sh version
diffstat 36 files changed, 2597 insertions(+), 2597 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE	Mon Feb 17 17:00:29 2014 -0500
@@ -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 2012 University of Minnesota
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,47 @@
+# msconvert
+
+This repository contains Galaxy tool wrappers for msconvert, part of
+the ProteoWizard (http://proteowizard.sourceforge.net/) package.
+
+# Installing
+
+Due to potential difficulties installing ProteoWizard with vendor
+library support, tools for interacting with vendor types are seperated
+out into their own wrappers. Galaxy is generally deployed under Linux,
+but vendor support in ProteoWizard requires .NET 4.0. There are at
+least two ways to get this to work:
+
+  * Galaxy jobs may be configured to submit to a Windows host with
+    ProteoWizard installed using the
+    LWR. http://wiki.g2.bx.psu.edu/Admin/Config/LWR
+
+  * ProteoWizard can be installed under Wine. Guidance on how to set
+    this up and package such environments for cloud deployments can be
+    found here: https://github.com/jmchilton/proteomics-wine-env
+
+Wrappers for both msconvert version 2 and version 3+ are provided
+because version 3+ of msconvert with vendor library support requires
+.NET 4.0 and this may difficult or impossible under Wine in Linux with
+all but the most recent versions of Wine (1.4+).
+# Obtaining Tools
+
+Repositories for all Galaxy-P tools can be found at
+https:/bitbucket.org/galaxyp/.
+
+# Contact
+
+Please send suggestions for improvements and bug reports to
+jmchilton@gmail.com.
+
+# License
+
+All Galaxy-P tools are licensed under the Apache License Version 2.0
+unless otherwise documented.
+
+# Tool Versioning
+
+Galaxy-P 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README_GALAXYP.md	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,22 @@
+# Obtaining Tools
+
+Repositories for all Galaxy-P tools can be found at
+https:/bitbucket.org/galaxyp/.
+
+# Contact
+
+Please send suggestions for improvements and bug reports to
+jmchilton@gmail.com.
+
+# License
+
+All Galaxy-P tools are licensed under the Apache License Version 2.0
+unless otherwise documented.
+
+# Tool Versioning
+
+Galaxy-P 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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README_REPO.md	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,25 @@
+# msconvert
+
+This repository contains Galaxy tool wrappers for msconvert, part of
+the ProteoWizard (http://proteowizard.sourceforge.net/) package.
+
+# Installing
+
+Due to potential difficulties installing ProteoWizard with vendor
+library support, tools for interacting with vendor types are seperated
+out into their own wrappers. Galaxy is generally deployed under Linux,
+but vendor support in ProteoWizard requires .NET 4.0. There are at
+least two ways to get this to work:
+
+  * Galaxy jobs may be configured to submit to a Windows host with
+    ProteoWizard installed using the
+    LWR. http://wiki.g2.bx.psu.edu/Admin/Config/LWR
+
+  * ProteoWizard can be installed under Wine. Guidance on how to set
+    this up and package such environments for cloud deployments can be
+    found here: https://github.com/jmchilton/proteomics-wine-env
+
+Wrappers for both msconvert version 2 and version 3+ are provided
+because version 3+ of msconvert with vendor library support requires
+.NET 4.0 and this may difficult or impossible under Wine in Linux with
+all but the most recent versions of Wine (1.4+).
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TODO	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,1 @@
+Add precursorRefine option.
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/LICENSE	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-
-                                 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 2012 University of Minnesota
-
-   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.
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README.md	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-# msconvert
-
-This repository contains Galaxy tool wrappers for msconvert, part of
-the ProteoWizard (http://proteowizard.sourceforge.net/) package.
-
-# Installing
-
-Due to potential difficulties installing ProteoWizard with vendor
-library support, tools for interacting with vendor types are seperated
-out into their own wrappers. Galaxy is generally deployed under Linux,
-but vendor support in ProteoWizard requires .NET 4.0. There are at
-least two ways to get this to work:
-
-  * Galaxy jobs may be configured to submit to a Windows host with
-    ProteoWizard installed using the
-    LWR. http://wiki.g2.bx.psu.edu/Admin/Config/LWR
-
-  * ProteoWizard can be installed under Wine. Guidance on how to set
-    this up and package such environments for cloud deployments can be
-    found here: https://github.com/jmchilton/proteomics-wine-env
-
-Wrappers for both msconvert version 2 and version 3+ are provided
-because version 3+ of msconvert with vendor library support requires
-.NET 4.0 and this may difficult or impossible under Wine in Linux with
-all but the most recent versions of Wine (1.4+).
-# Obtaining Tools
-
-Repositories for all Galaxy-P tools can be found at
-https:/bitbucket.org/galaxyp/.
-
-# Contact
-
-Please send suggestions for improvements and bug reports to
-jmchilton@gmail.com.
-
-# License
-
-All Galaxy-P tools are licensed under the Apache License Version 2.0
-unless otherwise documented.
-
-# Tool Versioning
-
-Galaxy-P 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.
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_GALAXYP.md	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-# Obtaining Tools
-
-Repositories for all Galaxy-P tools can be found at
-https:/bitbucket.org/galaxyp/.
-
-# Contact
-
-Please send suggestions for improvements and bug reports to
-jmchilton@gmail.com.
-
-# License
-
-All Galaxy-P tools are licensed under the Apache License Version 2.0
-unless otherwise documented.
-
-# Tool Versioning
-
-Galaxy-P 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.
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_REPO.md	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-# msconvert
-
-This repository contains Galaxy tool wrappers for msconvert, part of
-the ProteoWizard (http://proteowizard.sourceforge.net/) package.
-
-# Installing
-
-Due to potential difficulties installing ProteoWizard with vendor
-library support, tools for interacting with vendor types are seperated
-out into their own wrappers. Galaxy is generally deployed under Linux,
-but vendor support in ProteoWizard requires .NET 4.0. There are at
-least two ways to get this to work:
-
-  * Galaxy jobs may be configured to submit to a Windows host with
-    ProteoWizard installed using the
-    LWR. http://wiki.g2.bx.psu.edu/Admin/Config/LWR
-
-  * ProteoWizard can be installed under Wine. Guidance on how to set
-    this up and package such environments for cloud deployments can be
-    found here: https://github.com/jmchilton/proteomics-wine-env
-
-Wrappers for both msconvert version 2 and version 3+ are provided
-because version 3+ of msconvert with vendor library support requires
-.NET 4.0 and this may difficult or impossible under Wine in Linux with
-all but the most recent versions of Wine (1.4+).
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/TODO	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Add precursorRefine option.
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert.xml.template	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,393 +0,0 @@
-<tool id="msconvert$VERSION$DESCRIPTION" name="msconvert$VERSION$DESCRIPTION" version="0.1.0">
-  <!-- BEGIN_VERSION_RAW -->
-  <description>Convert and filter a Thermo Finnigan RAW file</description>
-  <!-- END_VERSION_RAW -->
-  <!-- BEGIN_VERSION_DEFAULT -->
-  <description>Convert and filter a mass spec peak list</description>
-  <!-- END_VERSION_DEFAULT -->
-
-  <command interpreter="python">
-    #set $ext = $input.ext
-    #if $ext.startswith("m:")
-    #set $ext = $ext[len("m:"):]
-    #end if
-    msconvert_wrapper.py 
-    --input=${input}
-    #if hasattr($input, 'display_name')
-    --input_name='${input.display_name}'
-    #end if
-    --output=${output} 
-    ## BEGIN_VERSION_DEFAULT    
-    --fromextension=$ext
-    ## END_VERSION_DEFAULT
-
-    ## BEGIN_VERSION_RAW
-    --fromextension=RAW
-    ## END_VERSION_RAW
-
-    --toextension=${output_type} 
-
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-
-    #if $filtering.filtering_use
-
-    #if $filtering.precursor_recalculation.value
-    --filter "precursorRecalculation"
-    #end if
-
-    #if $filtering.peak_picking.pick_peaks
-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
-    #end if
-
-    #if str($filtering.activation) != "false"
-    --filter "activation $filtering.activation"
-    #end if
-
-    #if len($filtering.indices) > 0
-    --filter "index
-    #for $index in $filtering.indices
-    [${index.from},${index.to}]
-    #end for
-    "
-    #end if
-
-    #if len($filtering.scan_numbers) > 0
-    --filter "scanNumber
-    #for $scan_number in $filtering.scan_numbers
-    [${scan_number.from},${scan_number.to}]
-    #end for
-    "
-    #end if
-
-    #for threshold_entry in $filtering.threshold_repeat
-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
-    #end for
-
-
-    #if $filtering.strip_it.value
-    --filter "stripIT"
-    #end if
-
-    #if $filtering.filter_mz_windows.do_filter
-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
-    #end if
-
-    
-    #if $filtering.filter_ms_levels.do_filter
-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
-    --filter "ETDFilter"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
-    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
-    #end if
-
-    ## BEGIN_VERSION_3
-
-    #if $filtering.precursor_refine.value
-    --filter "precursorRefine"
-    #end if
-
-    #if $filtering.ms2denoise.denoise
-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
-    #end if 
-
-    #if str($filtering.ms2deisotope) == "true"
-    --filter "MS2Deisotope"
-    #end if
-
-    #if str($filtering.polarity) != "false"
-    --filter "polarity $filtering.polarity"
-    #end if
-
-    #if str($filtering.analyzer) != "false"
-    --filter "analyzer $filtering.analyzer"
-    #end if
-
-    ## END_VERSION_3
-
-    #end if
-
-  </command>
-
-  <inputs>
-    <!-- BEGIN_VERSION_RAW -->
-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>
-    <!-- END_VERSION_RAW -->
-
-    <!-- BEGIN_VERSION_DEFAULT -->
-    <conditional name="type">
-      <param name="input_type" type="select" label="Input Type">
-        <option value="mzml">mzML</option>
-        <option value="mzxml">mzXML</option>
-        <option value="mgf">mgf</option>
-        <option value="ms2">ms2</option>
-      </param>
-      <when value="mzml">
-        <param format="mzml" name="input" type="data" label="Input mzML"/>
-      </when>
-      <when value="mzxml">
-        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
-      </when>
-      <when value="mgf">
-        <param format="mgf" name="input" type="data" label="Input mgf"/>
-      </when>
-      <when value="ms2">
-        <param format="ms2" name="input" type="data" label="Input ms2"/>
-      </when>
-    </conditional>
-    <!-- END_VERSION_DEFAULT -->    
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>    
-    <conditional name="filtering">
-      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
-      <when value="false" />
-      <when value="true">
-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
-        <!-- BEGIN_VERSION_3 -->
-        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
-        <!-- END_VERSION_3 -->
-
-
-        <conditional name="peak_picking">
-          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
-          <when value="false" />
-          <when value="true">
-            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
-              <option value="1">MS1 Only (1)</option>
-              <option value="2">MS2 Only (2)</option>
-              <option value="2-">MS2 and on (2-)</option>
-              <option value="1-">All Levels (1-)</option>
-            </param>
-            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
-          </when>
-        </conditional>
-
-        <repeat name="threshold_repeat" title="Filter by Threshold">
-          <conditional name="threshold">
-            <param type="select" label="Specify threshold on" name="threshold_type" help="">
-              <option value="count">Peak count</option>
-              <option value="count-after-ties">Peak count (after ties)</option>
-              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
-              <option value="bpi-relative">Percent of base peak intensity</option>
-              <option value="tic-relative">Percent of total ion current</option>
-              <option value="tic-fraction">Aggregate percent of total ion current</option>
-            </param>
-            <when value="count">
-              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
-            </when>
-            <when value="count-after-ties">
-              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
-            </when>
-            <when value="absolute">
-              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
-            </when>
-            <when value="bpi-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
-              />
-            </when>
-            <when value="tic-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
-              />
-            </when>
-            <when value="tic-fraction">
-              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
-            </when>
-          </conditional>
-          <param type="select" label="Keep" name="orientation">
-            <option value="most-intense">Most intense peaks</option>
-            <option value="least-intense">Least intense peaks</option>
-          </param>
-        </repeat>
-
-
-        <param name="activation" type="select" label="Filter by Activation">
-          <option value="false" selected="true">no</option>
-          <option value="ETD">ETD</option>
-          <option value="CID">CID</option>
-          <option value="SA">SA</option>
-          <option value="HCD">HCD</option>
-          <!-- BEGIN_VERSION_3 -->
-          <option>BIRD</option>
-          <option>ECD</option>
-          <option>IRMPD</option>
-          <option>PD</option>
-          <option>PSD</option>
-          <option>PQD</option>
-          <option>SID</option>
-          <option>SORI</option>
-          <!-- END_VERSION_3 -->
-        </param>
-
-        <repeat name="indices" title="Filter Scan Indices">
-          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
-        </repeat>
-
-        <repeat name="scan_numbers" title="Filter Scan Numbers">
-          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
-        </repeat>
-
-        <conditional name="filter_mz_windows">
-          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
-          <when value="false" />          
-          <when value="true">
-            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
-            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
-          </when>
-        </conditional>
-
-        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
-
-        <conditional name="filter_ms_levels">
-          <param name="do_filter" type="boolean" label="Filter MS Levels" />
-          <when value="false" />
-          <when value="true">
-            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
-            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
-          </when>
-        </conditional>
-
-        <conditional name="etd_filtering">
-          <param name="do_etd_filtering" type="select" label="ETD Filtering">
-            <option value="none" selected="true">none</option>
-            <option value="default">yes (with default options)</option>
-            <option value="advanced">yes (show advanced options) </option>
-          </param>
-          <when value="none" />
-          <when value="default" />
-          <when value="advanced">
-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
-            </param>
-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
-              <option value="MZ" selected="true">mz</option>              
-              <option value="PPM">ppm</option>
-            </param>
-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>            
-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-          </when>
-        </conditional>
-
-
-        <!-- BEGIN_VERSION_3 -->
-        <conditional name="ms2denoise">
-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
-          <when value="true">
-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
-          </when>
-          <when value="false" />
-        </conditional>
-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
-
-        <param name="polarity" type="select" label="Filter by Polarity">
-          <option value="false" selected="true">no</option>
-          <option value="positive">positive</option>
-          <option value="negative">negative</option>
-        </param>
-
-        <param name="analyzer" type="select" label="Filter by Analyzer">
-          <option value="false" selected="true">no</option>
-          <option value="quad">quad</option>
-          <option value="orbi">orbi</option>
-          <option value="FT">FT</option>
-          <option value="IT">IT</option>
-          <option value="TOF">TOF</option>
-        </param>
-        <!-- END_VERSION_3 -->
-      </when>
-    </conditional>
-
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-
-
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-
-  <requirements>
-    <requirement type="package">proteowizard</requirement>    
-    <!-- BEGIN_VERSION_RAW -->
-    <requirement type="platform">windows</requirement>
-    <!-- END_VERSION_RAW -->    
-  </requirements>
-
-  <help>
-**What it does**
-
-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
-
-You can view the original documentation here_.
-    
-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
-
-------
-
-**Citation**
-
-For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
-
-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
-
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-<tool id="msconvert2" name="msconvert2" version="0.2.1">
-  <!-- BEGIN_VERSION_DEFAULT -->
-  <description>Convert and filter a mass spec peak list</description>
-  <!-- END_VERSION_DEFAULT -->
-  <requirements>
-    <requirement type="package">proteowizard</requirement>
-  </requirements>
-  <command interpreter="python">
-    #set $ext = $input.ext
-    #if $ext.startswith("m:")
-    #set $ext = $ext[len("m:"):]
-    #end if
-    msconvert_wrapper.py 
-    --input=${input}
-    #if hasattr($input, 'display_name')
-    --input_name='${input.display_name}'
-    #end if
-    --output=${output} 
-    ## BEGIN_VERSION_DEFAULT    
-    --fromextension=$ext
-    ## END_VERSION_DEFAULT
-
-
-    --toextension=${output_type} 
-
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-
-    #if $filtering.filtering_use
-
-    #if $filtering.precursor_recalculation.value
-    --filter "precursorRecalculation"
-    #end if
-
-    #if $filtering.peak_picking.pick_peaks
-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
-    #end if
-
-    #if str($filtering.activation) != "false"
-    --filter "activation $filtering.activation"
-    #end if
-
-    #if len($filtering.indices) > 0
-    --filter "index
-    #for $index in $filtering.indices
-    [${index.from},${index.to}]
-    #end for
-    "
-    #end if
-
-    #if len($filtering.scan_numbers) > 0
-    --filter "scanNumber
-    #for $scan_number in $filtering.scan_numbers
-    [${scan_number.from},${scan_number.to}]
-    #end for
-    "
-    #end if
-
-    #for threshold_entry in $filtering.threshold_repeat
-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
-    #end for
-
-
-    #if $filtering.strip_it.value
-    --filter "stripIT"
-    #end if
-
-    #if $filtering.filter_mz_windows.do_filter
-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
-    #end if
-
-    
-    #if $filtering.filter_ms_levels.do_filter
-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
-    --filter "ETDFilter"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
-    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
-    #end if
-
-
-    #end if
-
-  </command>
-
-  <inputs>
-
-    <!-- BEGIN_VERSION_DEFAULT -->
-    <conditional name="type">
-      <param name="input_type" type="select" label="Input Type">
-        <option value="mzml">mzML</option>
-        <option value="mzxml">mzXML</option>
-        <option value="mgf">mgf</option>
-        <option value="ms2">ms2</option>
-      </param>
-      <when value="mzml">
-        <param format="mzml" name="input" type="data" label="Input mzML"/>
-      </when>
-      <when value="mzxml">
-        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
-      </when>
-      <when value="mgf">
-        <param format="mgf" name="input" type="data" label="Input mgf"/>
-      </when>
-      <when value="ms2">
-        <param format="ms2" name="input" type="data" label="Input ms2"/>
-      </when>
-    </conditional>
-    <!-- END_VERSION_DEFAULT -->    
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>    
-    <conditional name="filtering">
-      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
-      <when value="false" />
-      <when value="true">
-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
-
-
-        <conditional name="peak_picking">
-          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
-          <when value="false" />
-          <when value="true">
-            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
-              <option value="1">MS1 Only (1)</option>
-              <option value="2">MS2 Only (2)</option>
-              <option value="2-">MS2 and on (2-)</option>
-              <option value="1-">All Levels (1-)</option>
-            </param>
-            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
-          </when>
-        </conditional>
-
-        <repeat name="threshold_repeat" title="Filter by Threshold">
-          <conditional name="threshold">
-            <param type="select" label="Specify threshold on" name="threshold_type" help="">
-              <option value="count">Peak count</option>
-              <option value="count-after-ties">Peak count (after ties)</option>
-              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
-              <option value="bpi-relative">Percent of base peak intensity</option>
-              <option value="tic-relative">Percent of total ion current</option>
-              <option value="tic-fraction">Aggregate percent of total ion current</option>
-            </param>
-            <when value="count">
-              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
-            </when>
-            <when value="count-after-ties">
-              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
-            </when>
-            <when value="absolute">
-              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
-            </when>
-            <when value="bpi-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
-              />
-            </when>
-            <when value="tic-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
-              />
-            </when>
-            <when value="tic-fraction">
-              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
-            </when>
-          </conditional>
-          <param type="select" label="Keep" name="orientation">
-            <option value="most-intense">Most intense peaks</option>
-            <option value="least-intense">Least intense peaks</option>
-          </param>
-        </repeat>
-
-
-        <param name="activation" type="select" label="Filter by Activation">
-          <option value="false" selected="true">no</option>
-          <option value="ETD">ETD</option>
-          <option value="CID">CID</option>
-          <option value="SA">SA</option>
-          <option value="HCD">HCD</option>
-        </param>
-
-        <repeat name="indices" title="Filter Scan Indices">
-          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
-        </repeat>
-
-        <repeat name="scan_numbers" title="Filter Scan Numbers">
-          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
-        </repeat>
-
-        <conditional name="filter_mz_windows">
-          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
-          <when value="false" />          
-          <when value="true">
-            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
-            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
-          </when>
-        </conditional>
-
-        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
-
-        <conditional name="filter_ms_levels">
-          <param name="do_filter" type="boolean" label="Filter MS Levels" />
-          <when value="false" />
-          <when value="true">
-            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
-            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
-          </when>
-        </conditional>
-
-        <conditional name="etd_filtering">
-          <param name="do_etd_filtering" type="select" label="ETD Filtering">
-            <option value="none" selected="true">none</option>
-            <option value="default">yes (with default options)</option>
-            <option value="advanced">yes (show advanced options) </option>
-          </param>
-          <when value="none" />
-          <when value="default" />
-          <when value="advanced">
-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
-            </param>
-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
-              <option value="MZ" selected="true">mz</option>              
-              <option value="PPM">ppm</option>
-            </param>
-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>            
-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-          </when>
-        </conditional>
-
-
-      </when>
-    </conditional>
-
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-
-
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-  <help>
-**What it does**
-
-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
-
-You can view the original documentation here_.
-    
-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
-
-------
-
-**Citation**
-
-For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
-
-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
-
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2_raw.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-<tool id="msconvert2_raw" name="msconvert2_raw" version="0.2.1">
-  <!-- BEGIN_VERSION_RAW -->
-  <description>Convert and filter a Thermo Finnigan RAW file</description>
-  <!-- END_VERSION_RAW -->
-  <requirements>
-    <requirement type="package">proteowizard</requirement>
-    <!-- BEGIN_VERSION_RAW -->
-    <requirement type="platform">windows</requirement>
-    <!-- END_VERSION_RAW -->
-  </requirements>
-  <command interpreter="python">
-    #set $ext = $input.ext
-    #if $ext.startswith("m:")
-    #set $ext = $ext[len("m:"):]
-    #end if
-    msconvert_wrapper.py 
-    --input=${input}
-    #if hasattr($input, 'display_name')
-    --input_name='${input.display_name}'
-    #end if
-    --output=${output} 
-
-    ## BEGIN_VERSION_RAW
-    --fromextension=RAW
-    ## END_VERSION_RAW
-
-    --toextension=${output_type} 
-
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-
-    #if $filtering.filtering_use
-
-    #if $filtering.precursor_recalculation.value
-    --filter "precursorRecalculation"
-    #end if
-
-    #if $filtering.peak_picking.pick_peaks
-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
-    #end if
-
-    #if str($filtering.activation) != "false"
-    --filter "activation $filtering.activation"
-    #end if
-
-    #if len($filtering.indices) > 0
-    --filter "index
-    #for $index in $filtering.indices
-    [${index.from},${index.to}]
-    #end for
-    "
-    #end if
-
-    #if len($filtering.scan_numbers) > 0
-    --filter "scanNumber
-    #for $scan_number in $filtering.scan_numbers
-    [${scan_number.from},${scan_number.to}]
-    #end for
-    "
-    #end if
-
-    #for threshold_entry in $filtering.threshold_repeat
-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
-    #end for
-
-
-    #if $filtering.strip_it.value
-    --filter "stripIT"
-    #end if
-
-    #if $filtering.filter_mz_windows.do_filter
-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
-    #end if
-
-    
-    #if $filtering.filter_ms_levels.do_filter
-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
-    --filter "ETDFilter"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
-    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
-    #end if
-
-
-    #end if
-
-  </command>
-
-  <inputs>
-    <!-- BEGIN_VERSION_RAW -->
-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>
-    <!-- END_VERSION_RAW -->
-
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>    
-    <conditional name="filtering">
-      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
-      <when value="false" />
-      <when value="true">
-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
-
-
-        <conditional name="peak_picking">
-          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
-          <when value="false" />
-          <when value="true">
-            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
-              <option value="1">MS1 Only (1)</option>
-              <option value="2">MS2 Only (2)</option>
-              <option value="2-">MS2 and on (2-)</option>
-              <option value="1-">All Levels (1-)</option>
-            </param>
-            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
-          </when>
-        </conditional>
-
-        <repeat name="threshold_repeat" title="Filter by Threshold">
-          <conditional name="threshold">
-            <param type="select" label="Specify threshold on" name="threshold_type" help="">
-              <option value="count">Peak count</option>
-              <option value="count-after-ties">Peak count (after ties)</option>
-              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
-              <option value="bpi-relative">Percent of base peak intensity</option>
-              <option value="tic-relative">Percent of total ion current</option>
-              <option value="tic-fraction">Aggregate percent of total ion current</option>
-            </param>
-            <when value="count">
-              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
-            </when>
-            <when value="count-after-ties">
-              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
-            </when>
-            <when value="absolute">
-              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
-            </when>
-            <when value="bpi-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
-              />
-            </when>
-            <when value="tic-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
-              />
-            </when>
-            <when value="tic-fraction">
-              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
-            </when>
-          </conditional>
-          <param type="select" label="Keep" name="orientation">
-            <option value="most-intense">Most intense peaks</option>
-            <option value="least-intense">Least intense peaks</option>
-          </param>
-        </repeat>
-
-
-        <param name="activation" type="select" label="Filter by Activation">
-          <option value="false" selected="true">no</option>
-          <option value="ETD">ETD</option>
-          <option value="CID">CID</option>
-          <option value="SA">SA</option>
-          <option value="HCD">HCD</option>
-        </param>
-
-        <repeat name="indices" title="Filter Scan Indices">
-          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
-        </repeat>
-
-        <repeat name="scan_numbers" title="Filter Scan Numbers">
-          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
-        </repeat>
-
-        <conditional name="filter_mz_windows">
-          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
-          <when value="false" />          
-          <when value="true">
-            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
-            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
-          </when>
-        </conditional>
-
-        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
-
-        <conditional name="filter_ms_levels">
-          <param name="do_filter" type="boolean" label="Filter MS Levels" />
-          <when value="false" />
-          <when value="true">
-            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
-            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
-          </when>
-        </conditional>
-
-        <conditional name="etd_filtering">
-          <param name="do_etd_filtering" type="select" label="ETD Filtering">
-            <option value="none" selected="true">none</option>
-            <option value="default">yes (with default options)</option>
-            <option value="advanced">yes (show advanced options) </option>
-          </param>
-          <when value="none" />
-          <when value="default" />
-          <when value="advanced">
-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
-            </param>
-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
-              <option value="MZ" selected="true">mz</option>              
-              <option value="PPM">ppm</option>
-            </param>
-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>            
-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-          </when>
-        </conditional>
-
-
-      </when>
-    </conditional>
-
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-
-
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-  <help>
-**What it does**
-
-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
-
-You can view the original documentation here_.
-    
-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
-
-------
-
-**Citation**
-
-For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
-
-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
-
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-<tool id="msconvert3" name="msconvert3" version="0.2.1">
-  <!-- BEGIN_VERSION_DEFAULT -->
-  <description>Convert and filter a mass spec peak list</description>
-  <!-- END_VERSION_DEFAULT -->
-  <requirements>
-    <requirement type="package">proteowizard</requirement>
-  </requirements>
-  <command interpreter="python">
-    #set $ext = $input.ext
-    #if $ext.startswith("m:")
-    #set $ext = $ext[len("m:"):]
-    #end if
-    msconvert_wrapper.py 
-    --input=${input}
-    #if hasattr($input, 'display_name')
-    --input_name='${input.display_name}'
-    #end if
-    --output=${output} 
-    ## BEGIN_VERSION_DEFAULT
-    --fromextension=$ext
-    ## END_VERSION_DEFAULT
-
-
-    --toextension=${output_type} 
-
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-
-    #if $filtering.filtering_use
-
-    #if $filtering.precursor_recalculation.value
-    --filter "precursorRecalculation"
-    #end if
-
-    #if $filtering.peak_picking.pick_peaks
-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
-    #end if
-
-    #if str($filtering.activation) != "false"
-    --filter "activation $filtering.activation"
-    #end if
-
-    #if len($filtering.indices) > 0
-    --filter "index
-    #for $index in $filtering.indices
-    [${index.from},${index.to}]
-    #end for
-    "
-    #end if
-
-    #if len($filtering.scan_numbers) > 0
-    --filter "scanNumber
-    #for $scan_number in $filtering.scan_numbers
-    [${scan_number.from},${scan_number.to}]
-    #end for
-    "
-    #end if
-
-    #for threshold_entry in $filtering.threshold_repeat
-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
-    #end for
-
-
-    #if $filtering.strip_it.value
-    --filter "stripIT"
-    #end if
-
-    #if $filtering.filter_mz_windows.do_filter
-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
-    #end if
-
-    
-    #if $filtering.filter_ms_levels.do_filter
-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
-    --filter "ETDFilter"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
-    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
-    #end if
-
-    ## BEGIN_VERSION_3
-
-    #if $filtering.precursor_refine.value
-    --filter "precursorRefine"
-    #end if
-
-    #if $filtering.ms2denoise.denoise
-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
-    #end if 
-
-    #if str($filtering.ms2deisotope) == "true"
-    --filter "MS2Deisotope"
-    #end if
-
-    #if str($filtering.polarity) != "false"
-    --filter "polarity $filtering.polarity"
-    #end if
-
-    #if str($filtering.analyzer) != "false"
-    --filter "analyzer $filtering.analyzer"
-    #end if
-
-    ## END_VERSION_3
-
-    #end if
-
-  </command>
-
-  <inputs>
-
-    <!-- BEGIN_VERSION_DEFAULT -->
-    <conditional name="type">
-      <param name="input_type" type="select" label="Input Type">
-        <option value="mzml">mzML</option>
-        <option value="mzxml">mzXML</option>
-        <option value="mgf">mgf</option>
-        <option value="ms2">ms2</option>
-      </param>
-      <when value="mzml">
-        <param format="mzml" name="input" type="data" label="Input mzML"/>
-      </when>
-      <when value="mzxml">
-        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
-      </when>
-      <when value="mgf">
-        <param format="mgf" name="input" type="data" label="Input mgf"/>
-      </when>
-      <when value="ms2">
-        <param format="ms2" name="input" type="data" label="Input ms2"/>
-      </when>
-    </conditional>
-    <!-- END_VERSION_DEFAULT -->    
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>    
-    <conditional name="filtering">
-      <param name="filtering_use" type="boolean" label="Use Filtering?" truevalue="true" falsevalue="false" />
-      <when value="false" />
-      <when value="true">
-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
-        <!-- BEGIN_VERSION_3 -->
-        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
-        <!-- END_VERSION_3 -->
-
-
-        <conditional name="peak_picking">
-          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
-          <when value="false" />
-          <when value="true">
-            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
-              <option value="1">MS1 Only (1)</option>
-              <option value="2">MS2 Only (2)</option>
-              <option value="2-">MS2 and on (2-)</option>
-              <option value="1-">All Levels (1-)</option>
-            </param>
-            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
-          </when>
-        </conditional>
-
-        <repeat name="threshold_repeat" title="Filter by Threshold">
-          <conditional name="threshold">
-            <param type="select" label="Specify threshold on" name="threshold_type" help="">
-              <option value="count">Peak count</option>
-              <option value="count-after-ties">Peak count (after ties)</option>
-              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
-              <option value="bpi-relative">Percent of base peak intensity</option>
-              <option value="tic-relative">Percent of total ion current</option>
-              <option value="tic-fraction">Aggregate percent of total ion current</option>
-            </param>
-            <when value="count">
-              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
-            </when>
-            <when value="count-after-ties">
-              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
-            </when>
-            <when value="absolute">
-              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
-            </when>
-            <when value="bpi-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
-              />
-            </when>
-            <when value="tic-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
-              />
-            </when>
-            <when value="tic-fraction">
-              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
-            </when>
-          </conditional>
-          <param type="select" label="Keep" name="orientation">
-            <option value="most-intense">Most intense peaks</option>
-            <option value="least-intense">Least intense peaks</option>
-          </param>
-        </repeat>
-
-
-        <param name="activation" type="select" label="Filter by Activation">
-          <option value="false" selected="true">no</option>
-          <option value="ETD">ETD</option>
-          <option value="CID">CID</option>
-          <option value="SA">SA</option>
-          <option value="HCD">HCD</option>
-          <!-- BEGIN_VERSION_3 -->
-          <option>BIRD</option>
-          <option>ECD</option>
-          <option>IRMPD</option>
-          <option>PD</option>
-          <option>PSD</option>
-          <option>PQD</option>
-          <option>SID</option>
-          <option>SORI</option>
-          <!-- END_VERSION_3 -->
-        </param>
-
-        <repeat name="indices" title="Filter Scan Indices">
-          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
-        </repeat>
-
-        <repeat name="scan_numbers" title="Filter Scan Numbers">
-          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
-        </repeat>
-
-        <conditional name="filter_mz_windows">
-          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
-          <when value="false" />          
-          <when value="true">
-            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
-            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
-          </when>
-        </conditional>
-
-        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
-
-        <conditional name="filter_ms_levels">
-          <param name="do_filter" type="boolean" label="Filter MS Levels" />
-          <when value="false" />
-          <when value="true">
-            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
-            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
-          </when>
-        </conditional>
-
-        <conditional name="etd_filtering">
-          <param name="do_etd_filtering" type="select" label="ETD Filtering">
-            <option value="none" selected="true">none</option>
-            <option value="default">yes (with default options)</option>
-            <option value="advanced">yes (show advanced options) </option>
-          </param>
-          <when value="none" />
-          <when value="default" />
-          <when value="advanced">
-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
-            </param>
-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
-              <option value="MZ" selected="true">mz</option>              
-              <option value="PPM">ppm</option>
-            </param>
-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>            
-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-          </when>
-        </conditional>
-
-
-        <!-- BEGIN_VERSION_3 -->
-        <conditional name="ms2denoise">
-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
-          <when value="true">
-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
-          </when>
-          <when value="false" />
-        </conditional>
-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
-
-        <param name="polarity" type="select" label="Filter by Polarity">
-          <option value="false" selected="true">no</option>
-          <option value="positive">positive</option>
-          <option value="negative">negative</option>
-        </param>
-
-        <param name="analyzer" type="select" label="Filter by Analyzer">
-          <option value="false" selected="true">no</option>
-          <option value="quad">quad</option>
-          <option value="orbi">orbi</option>
-          <option value="FT">FT</option>
-          <option value="IT">IT</option>
-          <option value="TOF">TOF</option>
-        </param>
-        <!-- END_VERSION_3 -->
-      </when>
-    </conditional>
-
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-
-
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-  <help>
-**What it does**
-
-Allows interconversion within various mass spectrometry peak list formats. Additional options such as filtering and/or precursor recalculation are available.
-
-You can view the original documentation here_.
-    
-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
-
-------
-
-**Citation**
-
-For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
-
-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
-
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3_raw.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-<tool id="msconvert3_raw" name="msconvert3_raw" version="0.2.1">
-  <!-- BEGIN_VERSION_RAW -->
-  <description>Convert and filter a Thermo Finnigan RAW file</description>
-  <!-- END_VERSION_RAW -->
-  <requirements>
-    <requirement type="package">proteowizard</requirement>
-    <!-- BEGIN_VERSION_RAW -->
-    <requirement type="platform">windows</requirement>
-    <!-- END_VERSION_RAW -->
-  </requirements>
-  <command interpreter="python">
-    #set $ext = $input.ext
-    #if $ext.startswith("m:")
-    #set $ext = $ext[len("m:"):]
-    #end if
-    msconvert_wrapper.py 
-    --input=${input}
-    #if hasattr($input, 'display_name')
-    --input_name='${input.display_name}'
-    #end if
-    --output=${output} 
-
-    ## BEGIN_VERSION_RAW
-    --fromextension=RAW
-    ## END_VERSION_RAW
-
-    --toextension=${output_type} 
-
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-
-    #if $filtering.filtering_use
-
-    #if $filtering.precursor_recalculation.value
-    --filter "precursorRecalculation"
-    #end if
-
-    #if $filtering.peak_picking.pick_peaks
-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
-    #end if
-
-    #if str($filtering.activation) != "false"
-    --filter "activation $filtering.activation"
-    #end if
-
-    #if len($filtering.indices) > 0
-    --filter "index
-    #for $index in $filtering.indices
-    [${index.from},${index.to}]
-    #end for
-    "
-    #end if
-
-    #if len($filtering.scan_numbers) > 0
-    --filter "scanNumber
-    #for $scan_number in $filtering.scan_numbers
-    [${scan_number.from},${scan_number.to}]
-    #end for
-    "
-    #end if
-
-    #for threshold_entry in $filtering.threshold_repeat
-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
-    #end for
-
-
-    #if $filtering.strip_it.value
-    --filter "stripIT"
-    #end if
-
-    #if $filtering.filter_mz_windows.do_filter
-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
-    #end if
-
-    
-    #if $filtering.filter_ms_levels.do_filter
-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
-    --filter "ETDFilter"
-    #end if
-
-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
-    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
-    #end if
-
-    ## BEGIN_VERSION_3
-
-    #if $filtering.precursor_refine.value
-    --filter "precursorRefine"
-    #end if
-
-    #if $filtering.ms2denoise.denoise
-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
-    #end if 
-
-    #if str($filtering.ms2deisotope) == "true"
-    --filter "MS2Deisotope"
-    #end if
-
-    #if str($filtering.polarity) != "false"
-    --filter "polarity $filtering.polarity"
-    #end if
-
-    #if str($filtering.analyzer) != "false"
-    --filter "analyzer $filtering.analyzer"
-    #end if
-
-    ## END_VERSION_3
-
-    #end if
-
-  </command>
-
-  <inputs>
-    <!-- BEGIN_VERSION_RAW -->
-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input" help="select input file in RAW format"/>
-    <!-- END_VERSION_RAW -->
-
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>    
-    <conditional name="filtering">
-      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
-      <when value="false" />
-      <when value="true">
-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
-        <!-- BEGIN_VERSION_3 -->
-        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
-        <!-- END_VERSION_3 -->
-
-
-        <conditional name="peak_picking">
-          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
-          <when value="false" />
-          <when value="true">
-            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
-              <option value="1">MS1 Only (1)</option>
-              <option value="2">MS2 Only (2)</option>
-              <option value="2-">MS2 and on (2-)</option>
-              <option value="1-">All Levels (1-)</option>
-            </param>
-            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
-          </when>
-        </conditional>
-
-        <repeat name="threshold_repeat" title="Filter by Threshold">
-          <conditional name="threshold">
-            <param type="select" label="Specify threshold on" name="threshold_type" help="">
-              <option value="count">Peak count</option>
-              <option value="count-after-ties">Peak count (after ties)</option>
-              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
-              <option value="bpi-relative">Percent of base peak intensity</option>
-              <option value="tic-relative">Percent of total ion current</option>
-              <option value="tic-fraction">Aggregate percent of total ion current</option>
-            </param>
-            <when value="count">
-              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
-            </when>
-            <when value="count-after-ties">
-              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
-            </when>
-            <when value="absolute">
-              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
-            </when>
-            <when value="bpi-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
-              />
-            </when>
-            <when value="tic-relative">
-              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
-              />
-            </when>
-            <when value="tic-fraction">
-              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
-            </when>
-          </conditional>
-          <param type="select" label="Keep" name="orientation">
-            <option value="most-intense">Most intense peaks</option>
-            <option value="least-intense">Least intense peaks</option>
-          </param>
-        </repeat>
-
-
-        <param name="activation" type="select" label="Filter by Activation">
-          <option value="false" selected="true">no</option>
-          <option value="ETD">ETD</option>
-          <option value="CID">CID</option>
-          <option value="SA">SA</option>
-          <option value="HCD">HCD</option>
-          <!-- BEGIN_VERSION_3 -->
-          <option>BIRD</option>
-          <option>ECD</option>
-          <option>IRMPD</option>
-          <option>PD</option>
-          <option>PSD</option>
-          <option>PQD</option>
-          <option>SID</option>
-          <option>SORI</option>
-          <!-- END_VERSION_3 -->
-        </param>
-
-        <repeat name="indices" title="Filter Scan Indices">
-          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
-        </repeat>
-
-        <repeat name="scan_numbers" title="Filter Scan Numbers">
-          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
-          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
-        </repeat>
-
-        <conditional name="filter_mz_windows">
-          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
-          <when value="false" />          
-          <when value="true">
-            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
-            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
-          </when>
-        </conditional>
-
-        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
-
-        <conditional name="filter_ms_levels">
-          <param name="do_filter" type="boolean" label="Filter MS Levels" />
-          <when value="false" />
-          <when value="true">
-            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
-            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
-          </when>
-        </conditional>
-
-        <conditional name="etd_filtering">
-          <param name="do_etd_filtering" type="select" label="ETD Filtering">
-            <option value="none" selected="true">none</option>
-            <option value="default">yes (with default options)</option>
-            <option value="advanced">yes (show advanced options) </option>
-          </param>
-          <when value="none" />
-          <when value="default" />
-          <when value="advanced">
-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
-            </param>
-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
-              <option value="MZ" selected="true">mz</option>              
-              <option value="PPM">ppm</option>
-            </param>
-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>            
-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
-              <option value="true" selected="true">yes</option>              
-              <option value="false">no</option>
-            </param>
-          </when>
-        </conditional>
-
-
-        <!-- BEGIN_VERSION_3 -->
-        <conditional name="ms2denoise">
-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
-          <when value="true">
-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
-          </when>
-          <when value="false" />
-        </conditional>
-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
-
-        <param name="polarity" type="select" label="Filter by Polarity">
-          <option value="false" selected="true">no</option>
-          <option value="positive">positive</option>
-          <option value="negative">negative</option>
-        </param>
-
-        <param name="analyzer" type="select" label="Filter by Analyzer">
-          <option value="false" selected="true">no</option>
-          <option value="quad">quad</option>
-          <option value="orbi">orbi</option>
-          <option value="FT">FT</option>
-          <option value="IT">IT</option>
-          <option value="TOF">TOF</option>
-        </param>
-        <!-- END_VERSION_3 -->
-      </when>
-    </conditional>
-
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-
-
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-  <help>
-**What it does**
-
-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
-
-You can view the original documentation here_.
-    
-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
-
-------
-
-**Citation**
-
-For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
-
-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
-
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_raw_wrapper.py	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-#!/usr/bin/env python
-import optparse
-import os
-import sys
-import tempfile
-import shutil 
-import subprocess
-import re
-from os.path import basename
-import logging
-
-assert sys.version_info[:2] >= ( 2, 6 )
-
-log = logging.getLogger(__name__)
-working_directory = os.getcwd()
-tmp_stderr_name = tempfile.NamedTemporaryFile(dir = working_directory, suffix = '.stderr').name
-tmp_stdout_name = tempfile.NamedTemporaryFile(dir = working_directory, suffix = '.stdout').name
-
-def stop_err( msg ):
-    sys.stderr.write( "%s\n" % msg )
-    sys.exit()
-
-def read_stderr():
-    stderr = ''
-    if(os.path.exists(tmp_stderr_name)):
-        with open(tmp_stderr_name, 'rb') as tmp_stderr:
-            buffsize = 1048576
-            try:
-                while True:
-                    stderr += tmp_stderr.read(buffsize)
-                    if not stderr or len(stderr) % buffsize != 0:
-                        break
-            except OverflowError:
-                pass
-    return stderr
-    
-def execute(command, stdin=None):
-    with open(tmp_stderr_name, 'wb') as tmp_stderr:
-        with open(tmp_stdout_name, 'wb') as tmp_stdout:
-            proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)
-            returncode = proc.wait()
-            if returncode != 0:
-                raise Exception, "Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr())
-
-def delete_file(path):
-    if os.path.exists(path):
-        try:
-            os.remove(path)
-        except:
-            pass
-
-def delete_directory(directory):
-    if os.path.exists(directory):
-        try:
-            shutil.rmtree(directory)
-        except:
-            pass
-
-def symlink(source, link_name):
-    import platform
-    if platform.system() == 'Windows':
-        import win32file
-        win32file.CreateSymbolicLink(source, link_name, 1)
-    else:
-        os.symlink(source, link_name)
-
-
-def copy_to_working_directory(data_file, relative_path):
-    if os.path.abspath(data_file) != os.path.abspath(relative_path):
-        shutil.copy(data_file, relative_path)
-    return relative_path
-
-def __main__():
-    run_script()
-
-#ENDTEMPLATE
-
-to_extensions = ['mzML', 'mzXML', 'mgf', 'txt', 'ms2', 'cms2']
-
-def str_to_bool(v):
-    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """
-    return v.lower() in ["yes", "true", "t", "1"]
-
-
-def run_script():
-    parser = optparse.OptionParser()
-    parser.add_option('--input', dest='input')
-    parser.add_option('--output', dest='output')
-    parser.add_option('--fromextension', dest='fromextension')
-    parser.add_option('--toextension', dest='toextension', default='mzML', choices=to_extensions)
-    parser.add_option('--binaryencoding', dest='binaryencoding', choices=['32', '64'])
-    parser.add_option('--mzencoding', dest='mzencoding', choices=['32', '64'])
-    parser.add_option('--intensityencoding', dest='intensityencoding', choices=['32', '64'])
-    parser.add_option('--noindex', dest='noindex')
-    parser.add_option('--zlib', dest='zlib')
-    parser.add_option('--filter', dest='filter', action='append', default=[])
-
-    (options, args) = parser.parse_args()
-
-    filter_commands = ''
-    for filter in options.filter:
-        filter_commands = "%s --filter \"%s\"" % (filter_commands, filter)
-
-    input_file = 'input.%s' % options.fromextension
-    copy_to_working_directory(options.input, input_file)
-    os.mkdir('output')
-    cmd = "msconvert --%s -o output" % (options.toextension)
-    if str_to_bool(options.noindex):
-        cmd = "%s %s" % (cmd, "--noindex")
-    if str_to_bool(options.zlib):
-        cmd = "%s %s" % (cmd, "--zlib")
-    cmd = "%s --%s" % (cmd, options.binaryencoding)
-    cmd = "%s --mz%s" % (cmd, options.mzencoding)
-    cmd = "%s --inten%s" % (cmd, options.intensityencoding)
-    cmd = "%s %s" % (cmd, input_file)
-    cmd = "%s %s" % (cmd, filter_commands)
-    print cmd
-    execute(cmd)
-    output_files = os.listdir('output')
-    assert len(output_files) == 1
-    output_file = output_files[0]
-    shutil.copy(os.path.join('output', output_file), options.output)
-
-if __name__ == '__main__': __main__()
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_subset.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<tool id="msconvert_subset" name="Subset Peak List" version="0.2.1">
-  <description>against list of scan numbers or indices.</description>
-  <requirements>
-    <requirement type="package">proteowizard</requirement>
-  </requirements>
-  <command interpreter="python">
-    msconvert_wrapper.py 
-    --input=${input} 
-    --output=${output} 
-    --fromextension=${input.ext} 
-    --toextension=${output_type} 
-    #if $settings.settingsType == "full"
-    --binaryencoding=${settings.binary_encoding} 
-    --mzencoding=${settings.mz_encoding} 
-    --intensityencoding=${settings.intensity_encoding}
-    --zlib=${settings.zlib}
-    #end if
-    --filter_table="$filter.filterList"
-    #if $filter.filterType == "scan_number"
-    --filter_table_type="number"
-    #else
-    --filter_table_type="index"
-    #end if
-  </command>
-
-  <inputs>
-    <conditional name="type">
-      <param name="input_type" type="select" label="Input Type">
-        <option value="mzml">mzML</option>
-        <option value="mzxml">mzXML</option>
-        <option value="mgf">mgf</option>
-        <option value="ms2">ms2</option>
-      </param>
-      <when value="mzml">
-        <param format="mzml" name="input" type="data" label="Input mzML"/>
-      </when>
-      <when value="mzxml">
-        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
-      </when>
-      <when value="mgf">
-        <param format="mgf" name="input" type="data" label="Input mgf"/>
-      </when>
-      <when value="ms2">
-        <param format="ms2" name="input" type="data" label="Input ms2"/>
-      </when>
-    </conditional>
-    <param name="output_type" type="select" label="Output Type">
-      <option value="mzML">mzML (indexed)</option>
-      <option value="unindexed_mzML">mzML (unindexed)</option>
-      <option value="mzXML">mzXML (indexed)</option>      
-      <option value="unindexed_mzXML">mzXML (unindexed)</option>
-      <option value="mgf">mgf</option>
-      <option value="ms2">ms2</option>  
-    </param>
-    <conditional name="filter">
-      <param name="filterType" type="select" label="Filter by" help="">
-        <option value="scan_number" selected="true">Scan Number</option>
-        <option value="scan_index">Scan Index</option>
-      </param>    
-      <when value="scan_number">
-        <param format="text" name="filterList" type="data" label="Scan Numbers"/>
-      </when>
-      <when value="scan_index">
-        <param format="text" name="filterList" type="data" label="Scan Indices"/>
-      </when>
-    </conditional>
-    <conditional name="settings">
-      <param name="settingsType" type="select" label="Advanced msconvert Settings" help="">
-        <option value="default">Use Defaults</option>
-        <option value="full">Full Parameter List</option>
-      </param>
-      <when value="default" />
-      <when value="full">
-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
-          <option value="64" selected="true">64</option>
-          <option value="32">32</option>
-        </param>
-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
-          <option value="64">64</option>
-          <option value="32" selected="true">32</option>
-        </param>
-        <param type="boolean" name="zlib" label="Use zlib">      
-        </param>
-      </when>
-    </conditional>
-  </inputs>
-  <outputs>
-    <data format="mzml" name="output">
-      <change_format>
-        <when input="output_type" value="mzXML" format="mzxml" />
-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
-        <when input="output_type" value="ms2" format="ms2" />
-        <when input="output_type" value="mgf" format="mgf" />
-      </change_format>
-    </data>
-  </outputs>
-  <help>
-  </help>
-</tool>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_wrapper.py	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-#!/usr/bin/env python
-import optparse
-import os
-import sys
-import tempfile
-import shutil
-import subprocess
-import re
-import logging
-
-assert sys.version_info[:2] >= (2, 6)
-
-log = logging.getLogger(__name__)
-working_directory = os.getcwd()
-tmp_stderr_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix='.stderr').name
-tmp_stdout_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix='.stdout').name
-
-
-def stop_err(msg):
-    sys.stderr.write("%s\n" % msg)
-    sys.exit()
-
-
-def read_stderr():
-    stderr = ''
-    if(os.path.exists(tmp_stderr_name)):
-        with open(tmp_stderr_name, 'rb') as tmp_stderr:
-            buffsize = 1048576
-            try:
-                while True:
-                    stderr += tmp_stderr.read(buffsize)
-                    if not stderr or len(stderr) % buffsize != 0:
-                        break
-            except OverflowError:
-                pass
-    return stderr
-
-
-def execute(command, stdin=None):
-    try:
-        with open(tmp_stderr_name, 'wb') as tmp_stderr:
-            with open(tmp_stdout_name, 'wb') as tmp_stdout:
-                proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)
-                returncode = proc.wait()
-                if returncode != 0:
-                    raise Exception("Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr()))
-    finally:
-        print open(tmp_stderr_name, "r").read()
-        print open(tmp_stdout_name, "r").read()
-
-
-def delete_file(path):
-    if os.path.exists(path):
-        try:
-            os.remove(path)
-        except:
-            pass
-
-
-def delete_directory(directory):
-    if os.path.exists(directory):
-        try:
-            shutil.rmtree(directory)
-        except:
-            pass
-
-
-def symlink(source, link_name):
-    import platform
-    if platform.system() == 'Windows':
-        try:
-            import win32file
-            win32file.CreateSymbolicLink(source, link_name, 1)
-        except:
-            shutil.copy(source, link_name)
-    else:
-        os.symlink(source, link_name)
-
-
-def copy_to_working_directory(data_file, relative_path):
-    if os.path.abspath(data_file) != os.path.abspath(relative_path):
-        symlink(data_file, relative_path)
-    return relative_path
-
-
-def __main__():
-    run_script()
-
-#ENDTEMPLATE
-
-to_extensions = ['mzML', 'mzXML', 'unindexed_mzML', 'unindexed_mzXML', 'mgf', 'txt', 'ms2', 'cms2']
-
-
-def str_to_bool(v):
-    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """
-    return v.lower() in ["yes", "true", "t", "1"]
-
-
-def _add_filter(filters_file, contents):
-    filters_file.write("filter=%s\n" % contents)
-
-
-def _skip_line(options, file_num, line_parts):
-    file_num_column = options.filter_table_file_column
-    if not file_num_column:
-        return False
-    else:
-        target_file_num_val = str(file_num).strip()
-        query_file_num_val = line_parts[int(file_num_column) - 1].strip()
-        #print "target %s, query %s" % (target_file_num_val, query_file_num_val)
-        return target_file_num_val != query_file_num_val
-
-
-def _read_table_numbers(path, options, file_num=None):
-    unique_numbers = set([])
-    column_num = options.filter_table_column
-    input = open(path, "r")
-    first_line = True
-    for line in input:
-        if not line:
-            continue
-        line = line.strip()
-        if line.startswith("#"):
-            first_line = False
-            continue
-        if column_num == None:
-            column = line
-        else:
-            line_parts = line.split("\t")
-            if _skip_line(options, file_num, line_parts):
-                continue
-            column = line_parts[int(column_num) - 1]
-        match = re.match("\d+", column)
-        if match:
-            unique_numbers.add(int(match.group()))
-        first_line = False
-    return unique_numbers
-
-
-def shellquote(s):
-    return '"' + s.replace('"', '\\"') + '"'
-
-
-def _add_filter_line_from_file(filter_file, options, file_num=None):
-    file = options.filter_table
-    if not file:
-        return
-    numbers = _read_table_numbers(file, options, file_num)
-    msconvert_int_set = " ".join([str(number) for number in numbers])
-    filter_type = options.filter_table_type
-    if filter_type == 'number':
-        filter_prefix = 'scanNumber'
-    else:
-        filter_prefix = 'index'
-    _add_filter(filter_file, "%s %s" % (filter_prefix, msconvert_int_set))
-
-
-def _create_filters_file(options, file_num=None, debug=False):
-    suffix = "" if not file_num else str(file_num)
-    filters_file_path = "filters%s" % suffix
-    filters_file = open(filters_file_path, "w")
-    if options.filters_file:
-        filters_file.write(open(options.filters_file, "r").read())
-    for filter in options.filter:
-        _add_filter(filters_file, filter)
-    _add_filter_line_from_file(filters_file, options, file_num=file_num)
-
-    filters_file.close()
-    if debug:
-        print open(filters_file_path, "r").read()
-    return filters_file_path
-
-
-def _build_base_cmd(options):
-    to_extension = options.toextension
-    if to_extension.startswith("unindexed_"):
-        to_extension = to_extension[len("unindexed_"):]
-        to_params = "--noindex"
-    else:
-        to_params = ""
-    cmd = "msconvert --%s %s" % (to_extension, to_params)
-    if str_to_bool(options.zlib):
-        cmd = "%s %s" % (cmd, "--zlib")
-    if options.binaryencoding:
-        cmd = "%s --%s" % (cmd, options.binaryencoding)
-    if options.mzencoding:
-        cmd = "%s --mz%s" % (cmd, options.mzencoding)
-    if options.intensityencoding:
-        cmd = "%s --inten%s" % (cmd, options.intensityencoding)
-    return cmd
-
-
-def _run(base_cmd, output_dir='output', inputs=[], debug=False):
-    inputs_as_str = " ".join(['%s' % shellquote(input) for input in inputs])
-    os.mkdir(output_dir)
-    cmd = "%s -o %s %s" % (base_cmd, shellquote(output_dir), inputs_as_str)
-    if debug:
-        print cmd
-    execute(cmd)
-    output_files = os.listdir(output_dir)
-    assert len(output_files) == 1
-    output_file = output_files[0]
-    return os.path.join(output_dir, output_file)
-
-
-def run_script():
-    parser = optparse.OptionParser()
-    parser.add_option('--input', dest='inputs', action='append', default=[])
-    parser.add_option('--input_name', dest='input_names', action='append', default=[])
-    parser.add_option('--output', dest='output')
-    parser.add_option('--fromextension', dest='fromextension')
-    parser.add_option('--toextension', dest='toextension', default='mzML', choices=to_extensions)
-    parser.add_option('--binaryencoding', dest='binaryencoding', choices=['32', '64'])
-    parser.add_option('--mzencoding', dest='mzencoding', choices=['32', '64'])
-    parser.add_option('--intensityencoding', dest='intensityencoding', choices=['32', '64'])
-    parser.add_option('--zlib', dest='zlib', default="false")
-    parser.add_option('--filter', dest='filter', action='append', default=[])
-    parser.add_option('--filters_file', dest='filters_file', default=None)
-    parser.add_option('--filter_table', default=None)
-    parser.add_option('--filter_table_type', default='index', choices=['index', 'number'])
-    parser.add_option('--filter_table_column', default=None)
-    parser.add_option('--filter_table_file_column', default=None)
-    parser.add_option('--debug', dest='debug', action='store_true', default=False)
-
-    (options, args) = parser.parse_args()
-    if len(options.inputs) < 1:
-        stop_err("No input files to msconvert specified")
-    if len(options.input_names) > 0 and len(options.input_names) != len(options.inputs):
-        stop_err("Number(s) of supplied input names and input files do not match")
-    if not options.output:
-        stop_err("Must specify output location")
-    input_files = []
-    for i, input in enumerate(options.inputs):
-        input_base = None
-        if len(options.input_names) > i:
-            input_base = options.input_names[i]
-        if not input_base:
-            input_base = 'input%s' % i
-        if not input_base.lower().endswith(options.fromextension.lower()):
-            input_file = '%s.%s' % (input_base, options.fromextension)
-        else:
-            input_file = input_base
-        input_file = input_file
-        copy_to_working_directory(input, input_file)
-        input_files.append(input_file)
-
-    cmd = _build_base_cmd(options)
-    file_column = options.filter_table_file_column
-    if not file_column:
-        # Apply same filters to all files, just create a unviersal filter files
-        # and run msconvert once.
-        filters_file_path = _create_filters_file(options, debug=options.debug)
-        cmd = "%s -c %s" % (cmd, filters_file_path)
-    else:
-        # Dispatching on a column to filter different files differently, need to filter
-        # each input once with msconvert and then merge once.
-        filtered_files = []
-        for index, input_file in enumerate(input_files):
-            filters_file_path = _create_filters_file(options, index + 1, debug=options.debug)
-            filter_cmd = "%s -c %s" % (cmd, filters_file_path)
-            filtered_output_file = _run(filter_cmd, output_dir='output%d' % index, inputs=[input_file], debug=options.debug)
-            filtered_files.append(filtered_output_file)
-        input_files = filtered_files
-    if len(input_files) > 1:
-        cmd = "%s --merge" % cmd
-    output_file = _run(cmd, output_dir='output', inputs=input_files, debug=options.debug)
-    shutil.copy(output_file, options.output)
-
-
-if __name__ == '__main__':
-    __main__()
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/repository_dependencies.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<repositories description="Required proteomics dependencies.">
-    <repository changeset_revision="b82d4034e0f8" name="proteomics_datatypes" owner="iracooke" toolshed="http://toolshed.g2.bx.psu.edu" />
-</repositories>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/tool_dependencies.xml	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<tool_dependency>
-    <package name="proteowizard" version="3_0_4388">
-        <repository changeset_revision="863462ea0187" name="protk_proteowizard" owner="iracooke" toolshed="http://toolshed.g2.bx.psu.edu" />
-    </package>
-</tool_dependency>
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update.sh	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-LICENSE_FILE=LICENSE
-# Ensure repository contains license file.
-if [ ! -e "$LICENSE_FILE" ];
-then
-    wget http://www.apache.org/licenses/LICENSE-2.0.txt -O "$LICENSE_FILE"
-fi
-
-# Run repository specific update actions.
-if [ -f update_repo.sh ];
-then
-    ./update_repo.sh
-fi
-
-wget https://raw.github.com/gist/3749747/README_GALAXYP.md -O README_GALAXYP.md
-
-# Create repository README
-if [ ! -e README_REPO.md ];
-then
-    echo "TODO: Document this tool repository." > README_REPO.md
-fi
-cat README_REPO.md README_GALAXYP.md > README.md
-
-
-# If version file exists, update all tools to this version
-VERSION_FILE=version
-if [ -e "$VERSION_FILE" ];
-then
-    VERSION=`cat $VERSION_FILE`
-    
-    # Replace tool version in each tool XML file   `
-    find -iname "*xml" -exec sed -i'' -e '0,/version="\(.\+\)"/s/version="\(.\+\)"/version="'$VERSION'"/1g' {} \;
-
-fi
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update_repo.sh	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-sed -e '/BEGIN_VERSION_RAW/,/END_VERSION_RAW/d'  -e '/BEGIN_VERSION_3/,/END_VERSION_3/d'  -e 's/\$VERSION/2/g' -e 's/\$DESCRIPTION//g' msconvert.xml.template > msconvert2.xml
-sed -e '/BEGIN_VERSION_DEFAULT/,/END_VERSION_DEFAULT/d' -e '/BEGIN_VERSION_3/,/END_VERSION_3/d'  -e 's/\$VERSION/2/g' -e 's/\$DESCRIPTION/_raw/g' msconvert.xml.template > msconvert2_raw.xml
-
-
-sed -e '/BEGIN_VERSION_RAW/,/END_VERSION_RAW/d' -e 's/\$VERSION/3/g' -e 's/\$DESCRIPTION//g' msconvert.xml.template > msconvert3.xml
-sed -e '/BEGIN_VERSION_DEFAULT/,/END_VERSION_DEFAULT/d' -e 's/\$VERSION/3/g' -e 's/\$DESCRIPTION/_raw/g' msconvert.xml.template > msconvert3_raw.xml
-
--- a/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/version	Mon Feb 17 16:42:53 2014 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-0.2.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert.xml.template	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,393 @@
+<tool id="msconvert$VERSION$DESCRIPTION" name="msconvert$VERSION$DESCRIPTION" version="0.1.0">
+  <!-- BEGIN_VERSION_RAW -->
+  <description>Convert and filter a Thermo Finnigan RAW file</description>
+  <!-- END_VERSION_RAW -->
+  <!-- BEGIN_VERSION_DEFAULT -->
+  <description>Convert and filter a mass spec peak list</description>
+  <!-- END_VERSION_DEFAULT -->
+
+  <command interpreter="python">
+    #set $ext = $input.ext
+    #if $ext.startswith("m:")
+    #set $ext = $ext[len("m:"):]
+    #end if
+    msconvert_wrapper.py 
+    --input=${input}
+    #if hasattr($input, 'display_name')
+    --input_name='${input.display_name}'
+    #end if
+    --output=${output} 
+    ## BEGIN_VERSION_DEFAULT    
+    --fromextension=$ext
+    ## END_VERSION_DEFAULT
+
+    ## BEGIN_VERSION_RAW
+    --fromextension=RAW
+    ## END_VERSION_RAW
+
+    --toextension=${output_type} 
+
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+
+    #if $filtering.filtering_use
+
+    #if $filtering.precursor_recalculation.value
+    --filter "precursorRecalculation"
+    #end if
+
+    #if $filtering.peak_picking.pick_peaks
+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
+    #end if
+
+    #if str($filtering.activation) != "false"
+    --filter "activation $filtering.activation"
+    #end if
+
+    #if len($filtering.indices) > 0
+    --filter "index
+    #for $index in $filtering.indices
+    [${index.from},${index.to}]
+    #end for
+    "
+    #end if
+
+    #if len($filtering.scan_numbers) > 0
+    --filter "scanNumber
+    #for $scan_number in $filtering.scan_numbers
+    [${scan_number.from},${scan_number.to}]
+    #end for
+    "
+    #end if
+
+    #for threshold_entry in $filtering.threshold_repeat
+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
+    #end for
+
+
+    #if $filtering.strip_it.value
+    --filter "stripIT"
+    #end if
+
+    #if $filtering.filter_mz_windows.do_filter
+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
+    #end if
+
+    
+    #if $filtering.filter_ms_levels.do_filter
+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
+    --filter "ETDFilter"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
+    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
+    #end if
+
+    ## BEGIN_VERSION_3
+
+    #if $filtering.precursor_refine.value
+    --filter "precursorRefine"
+    #end if
+
+    #if $filtering.ms2denoise.denoise
+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
+    #end if 
+
+    #if str($filtering.ms2deisotope) == "true"
+    --filter "MS2Deisotope"
+    #end if
+
+    #if str($filtering.polarity) != "false"
+    --filter "polarity $filtering.polarity"
+    #end if
+
+    #if str($filtering.analyzer) != "false"
+    --filter "analyzer $filtering.analyzer"
+    #end if
+
+    ## END_VERSION_3
+
+    #end if
+
+  </command>
+
+  <inputs>
+    <!-- BEGIN_VERSION_RAW -->
+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>
+    <!-- END_VERSION_RAW -->
+
+    <!-- BEGIN_VERSION_DEFAULT -->
+    <conditional name="type">
+      <param name="input_type" type="select" label="Input Type">
+        <option value="mzml">mzML</option>
+        <option value="mzxml">mzXML</option>
+        <option value="mgf">mgf</option>
+        <option value="ms2">ms2</option>
+      </param>
+      <when value="mzml">
+        <param format="mzml" name="input" type="data" label="Input mzML"/>
+      </when>
+      <when value="mzxml">
+        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
+      </when>
+      <when value="mgf">
+        <param format="mgf" name="input" type="data" label="Input mgf"/>
+      </when>
+      <when value="ms2">
+        <param format="ms2" name="input" type="data" label="Input ms2"/>
+      </when>
+    </conditional>
+    <!-- END_VERSION_DEFAULT -->    
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>    
+    <conditional name="filtering">
+      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
+      <when value="false" />
+      <when value="true">
+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
+        <!-- BEGIN_VERSION_3 -->
+        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
+        <!-- END_VERSION_3 -->
+
+
+        <conditional name="peak_picking">
+          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
+          <when value="false" />
+          <when value="true">
+            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
+              <option value="1">MS1 Only (1)</option>
+              <option value="2">MS2 Only (2)</option>
+              <option value="2-">MS2 and on (2-)</option>
+              <option value="1-">All Levels (1-)</option>
+            </param>
+            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
+          </when>
+        </conditional>
+
+        <repeat name="threshold_repeat" title="Filter by Threshold">
+          <conditional name="threshold">
+            <param type="select" label="Specify threshold on" name="threshold_type" help="">
+              <option value="count">Peak count</option>
+              <option value="count-after-ties">Peak count (after ties)</option>
+              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
+              <option value="bpi-relative">Percent of base peak intensity</option>
+              <option value="tic-relative">Percent of total ion current</option>
+              <option value="tic-fraction">Aggregate percent of total ion current</option>
+            </param>
+            <when value="count">
+              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
+            </when>
+            <when value="count-after-ties">
+              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
+            </when>
+            <when value="absolute">
+              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
+            </when>
+            <when value="bpi-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
+              />
+            </when>
+            <when value="tic-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
+              />
+            </when>
+            <when value="tic-fraction">
+              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
+            </when>
+          </conditional>
+          <param type="select" label="Keep" name="orientation">
+            <option value="most-intense">Most intense peaks</option>
+            <option value="least-intense">Least intense peaks</option>
+          </param>
+        </repeat>
+
+
+        <param name="activation" type="select" label="Filter by Activation">
+          <option value="false" selected="true">no</option>
+          <option value="ETD">ETD</option>
+          <option value="CID">CID</option>
+          <option value="SA">SA</option>
+          <option value="HCD">HCD</option>
+          <!-- BEGIN_VERSION_3 -->
+          <option>BIRD</option>
+          <option>ECD</option>
+          <option>IRMPD</option>
+          <option>PD</option>
+          <option>PSD</option>
+          <option>PQD</option>
+          <option>SID</option>
+          <option>SORI</option>
+          <!-- END_VERSION_3 -->
+        </param>
+
+        <repeat name="indices" title="Filter Scan Indices">
+          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
+        </repeat>
+
+        <repeat name="scan_numbers" title="Filter Scan Numbers">
+          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
+        </repeat>
+
+        <conditional name="filter_mz_windows">
+          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
+          <when value="false" />          
+          <when value="true">
+            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
+            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
+          </when>
+        </conditional>
+
+        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
+
+        <conditional name="filter_ms_levels">
+          <param name="do_filter" type="boolean" label="Filter MS Levels" />
+          <when value="false" />
+          <when value="true">
+            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
+            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
+          </when>
+        </conditional>
+
+        <conditional name="etd_filtering">
+          <param name="do_etd_filtering" type="select" label="ETD Filtering">
+            <option value="none" selected="true">none</option>
+            <option value="default">yes (with default options)</option>
+            <option value="advanced">yes (show advanced options) </option>
+          </param>
+          <when value="none" />
+          <when value="default" />
+          <when value="advanced">
+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
+            </param>
+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
+              <option value="MZ" selected="true">mz</option>              
+              <option value="PPM">ppm</option>
+            </param>
+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>            
+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+          </when>
+        </conditional>
+
+
+        <!-- BEGIN_VERSION_3 -->
+        <conditional name="ms2denoise">
+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
+          <when value="true">
+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
+          </when>
+          <when value="false" />
+        </conditional>
+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
+
+        <param name="polarity" type="select" label="Filter by Polarity">
+          <option value="false" selected="true">no</option>
+          <option value="positive">positive</option>
+          <option value="negative">negative</option>
+        </param>
+
+        <param name="analyzer" type="select" label="Filter by Analyzer">
+          <option value="false" selected="true">no</option>
+          <option value="quad">quad</option>
+          <option value="orbi">orbi</option>
+          <option value="FT">FT</option>
+          <option value="IT">IT</option>
+          <option value="TOF">TOF</option>
+        </param>
+        <!-- END_VERSION_3 -->
+      </when>
+    </conditional>
+
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+
+
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+
+  <requirements>
+    <requirement type="package">proteowizard</requirement>    
+    <!-- BEGIN_VERSION_RAW -->
+    <requirement type="platform">windows</requirement>
+    <!-- END_VERSION_RAW -->    
+  </requirements>
+
+  <help>
+**What it does**
+
+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
+
+You can view the original documentation here_.
+    
+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
+
+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
+
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert2.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,315 @@
+<tool id="msconvert2" name="msconvert2" version="0.2.1">
+  <!-- BEGIN_VERSION_DEFAULT -->
+  <description>Convert and filter a mass spec peak list</description>
+  <!-- END_VERSION_DEFAULT -->
+  <requirements>
+    <requirement type="package">proteowizard</requirement>
+  </requirements>
+  <command interpreter="python">
+    #set $ext = $input.ext
+    #if $ext.startswith("m:")
+    #set $ext = $ext[len("m:"):]
+    #end if
+    msconvert_wrapper.py 
+    --input=${input}
+    #if hasattr($input, 'display_name')
+    --input_name='${input.display_name}'
+    #end if
+    --output=${output} 
+    ## BEGIN_VERSION_DEFAULT    
+    --fromextension=$ext
+    ## END_VERSION_DEFAULT
+
+
+    --toextension=${output_type} 
+
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+
+    #if $filtering.filtering_use
+
+    #if $filtering.precursor_recalculation.value
+    --filter "precursorRecalculation"
+    #end if
+
+    #if $filtering.peak_picking.pick_peaks
+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
+    #end if
+
+    #if str($filtering.activation) != "false"
+    --filter "activation $filtering.activation"
+    #end if
+
+    #if len($filtering.indices) > 0
+    --filter "index
+    #for $index in $filtering.indices
+    [${index.from},${index.to}]
+    #end for
+    "
+    #end if
+
+    #if len($filtering.scan_numbers) > 0
+    --filter "scanNumber
+    #for $scan_number in $filtering.scan_numbers
+    [${scan_number.from},${scan_number.to}]
+    #end for
+    "
+    #end if
+
+    #for threshold_entry in $filtering.threshold_repeat
+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
+    #end for
+
+
+    #if $filtering.strip_it.value
+    --filter "stripIT"
+    #end if
+
+    #if $filtering.filter_mz_windows.do_filter
+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
+    #end if
+
+    
+    #if $filtering.filter_ms_levels.do_filter
+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
+    --filter "ETDFilter"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
+    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
+    #end if
+
+
+    #end if
+
+  </command>
+
+  <inputs>
+
+    <!-- BEGIN_VERSION_DEFAULT -->
+    <conditional name="type">
+      <param name="input_type" type="select" label="Input Type">
+        <option value="mzml">mzML</option>
+        <option value="mzxml">mzXML</option>
+        <option value="mgf">mgf</option>
+        <option value="ms2">ms2</option>
+      </param>
+      <when value="mzml">
+        <param format="mzml" name="input" type="data" label="Input mzML"/>
+      </when>
+      <when value="mzxml">
+        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
+      </when>
+      <when value="mgf">
+        <param format="mgf" name="input" type="data" label="Input mgf"/>
+      </when>
+      <when value="ms2">
+        <param format="ms2" name="input" type="data" label="Input ms2"/>
+      </when>
+    </conditional>
+    <!-- END_VERSION_DEFAULT -->    
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>    
+    <conditional name="filtering">
+      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
+      <when value="false" />
+      <when value="true">
+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
+
+
+        <conditional name="peak_picking">
+          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
+          <when value="false" />
+          <when value="true">
+            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
+              <option value="1">MS1 Only (1)</option>
+              <option value="2">MS2 Only (2)</option>
+              <option value="2-">MS2 and on (2-)</option>
+              <option value="1-">All Levels (1-)</option>
+            </param>
+            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
+          </when>
+        </conditional>
+
+        <repeat name="threshold_repeat" title="Filter by Threshold">
+          <conditional name="threshold">
+            <param type="select" label="Specify threshold on" name="threshold_type" help="">
+              <option value="count">Peak count</option>
+              <option value="count-after-ties">Peak count (after ties)</option>
+              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
+              <option value="bpi-relative">Percent of base peak intensity</option>
+              <option value="tic-relative">Percent of total ion current</option>
+              <option value="tic-fraction">Aggregate percent of total ion current</option>
+            </param>
+            <when value="count">
+              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
+            </when>
+            <when value="count-after-ties">
+              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
+            </when>
+            <when value="absolute">
+              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
+            </when>
+            <when value="bpi-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
+              />
+            </when>
+            <when value="tic-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
+              />
+            </when>
+            <when value="tic-fraction">
+              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
+            </when>
+          </conditional>
+          <param type="select" label="Keep" name="orientation">
+            <option value="most-intense">Most intense peaks</option>
+            <option value="least-intense">Least intense peaks</option>
+          </param>
+        </repeat>
+
+
+        <param name="activation" type="select" label="Filter by Activation">
+          <option value="false" selected="true">no</option>
+          <option value="ETD">ETD</option>
+          <option value="CID">CID</option>
+          <option value="SA">SA</option>
+          <option value="HCD">HCD</option>
+        </param>
+
+        <repeat name="indices" title="Filter Scan Indices">
+          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
+        </repeat>
+
+        <repeat name="scan_numbers" title="Filter Scan Numbers">
+          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
+        </repeat>
+
+        <conditional name="filter_mz_windows">
+          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
+          <when value="false" />          
+          <when value="true">
+            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
+            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
+          </when>
+        </conditional>
+
+        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
+
+        <conditional name="filter_ms_levels">
+          <param name="do_filter" type="boolean" label="Filter MS Levels" />
+          <when value="false" />
+          <when value="true">
+            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
+            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
+          </when>
+        </conditional>
+
+        <conditional name="etd_filtering">
+          <param name="do_etd_filtering" type="select" label="ETD Filtering">
+            <option value="none" selected="true">none</option>
+            <option value="default">yes (with default options)</option>
+            <option value="advanced">yes (show advanced options) </option>
+          </param>
+          <when value="none" />
+          <when value="default" />
+          <when value="advanced">
+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
+            </param>
+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
+              <option value="MZ" selected="true">mz</option>              
+              <option value="PPM">ppm</option>
+            </param>
+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>            
+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+          </when>
+        </conditional>
+
+
+      </when>
+    </conditional>
+
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+
+
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+  <help>
+**What it does**
+
+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
+
+You can view the original documentation here_.
+    
+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
+
+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
+
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert2_raw.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,299 @@
+<tool id="msconvert2_raw" name="msconvert2_raw" version="0.2.1">
+  <!-- BEGIN_VERSION_RAW -->
+  <description>Convert and filter a Thermo Finnigan RAW file</description>
+  <!-- END_VERSION_RAW -->
+  <requirements>
+    <requirement type="package">proteowizard</requirement>
+    <!-- BEGIN_VERSION_RAW -->
+    <requirement type="platform">windows</requirement>
+    <!-- END_VERSION_RAW -->
+  </requirements>
+  <command interpreter="python">
+    #set $ext = $input.ext
+    #if $ext.startswith("m:")
+    #set $ext = $ext[len("m:"):]
+    #end if
+    msconvert_wrapper.py 
+    --input=${input}
+    #if hasattr($input, 'display_name')
+    --input_name='${input.display_name}'
+    #end if
+    --output=${output} 
+
+    ## BEGIN_VERSION_RAW
+    --fromextension=RAW
+    ## END_VERSION_RAW
+
+    --toextension=${output_type} 
+
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+
+    #if $filtering.filtering_use
+
+    #if $filtering.precursor_recalculation.value
+    --filter "precursorRecalculation"
+    #end if
+
+    #if $filtering.peak_picking.pick_peaks
+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
+    #end if
+
+    #if str($filtering.activation) != "false"
+    --filter "activation $filtering.activation"
+    #end if
+
+    #if len($filtering.indices) > 0
+    --filter "index
+    #for $index in $filtering.indices
+    [${index.from},${index.to}]
+    #end for
+    "
+    #end if
+
+    #if len($filtering.scan_numbers) > 0
+    --filter "scanNumber
+    #for $scan_number in $filtering.scan_numbers
+    [${scan_number.from},${scan_number.to}]
+    #end for
+    "
+    #end if
+
+    #for threshold_entry in $filtering.threshold_repeat
+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
+    #end for
+
+
+    #if $filtering.strip_it.value
+    --filter "stripIT"
+    #end if
+
+    #if $filtering.filter_mz_windows.do_filter
+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
+    #end if
+
+    
+    #if $filtering.filter_ms_levels.do_filter
+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
+    --filter "ETDFilter"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
+    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
+    #end if
+
+
+    #end if
+
+  </command>
+
+  <inputs>
+    <!-- BEGIN_VERSION_RAW -->
+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>
+    <!-- END_VERSION_RAW -->
+
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>    
+    <conditional name="filtering">
+      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
+      <when value="false" />
+      <when value="true">
+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
+
+
+        <conditional name="peak_picking">
+          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
+          <when value="false" />
+          <when value="true">
+            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
+              <option value="1">MS1 Only (1)</option>
+              <option value="2">MS2 Only (2)</option>
+              <option value="2-">MS2 and on (2-)</option>
+              <option value="1-">All Levels (1-)</option>
+            </param>
+            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
+          </when>
+        </conditional>
+
+        <repeat name="threshold_repeat" title="Filter by Threshold">
+          <conditional name="threshold">
+            <param type="select" label="Specify threshold on" name="threshold_type" help="">
+              <option value="count">Peak count</option>
+              <option value="count-after-ties">Peak count (after ties)</option>
+              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
+              <option value="bpi-relative">Percent of base peak intensity</option>
+              <option value="tic-relative">Percent of total ion current</option>
+              <option value="tic-fraction">Aggregate percent of total ion current</option>
+            </param>
+            <when value="count">
+              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
+            </when>
+            <when value="count-after-ties">
+              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
+            </when>
+            <when value="absolute">
+              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
+            </when>
+            <when value="bpi-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
+              />
+            </when>
+            <when value="tic-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
+              />
+            </when>
+            <when value="tic-fraction">
+              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
+            </when>
+          </conditional>
+          <param type="select" label="Keep" name="orientation">
+            <option value="most-intense">Most intense peaks</option>
+            <option value="least-intense">Least intense peaks</option>
+          </param>
+        </repeat>
+
+
+        <param name="activation" type="select" label="Filter by Activation">
+          <option value="false" selected="true">no</option>
+          <option value="ETD">ETD</option>
+          <option value="CID">CID</option>
+          <option value="SA">SA</option>
+          <option value="HCD">HCD</option>
+        </param>
+
+        <repeat name="indices" title="Filter Scan Indices">
+          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
+        </repeat>
+
+        <repeat name="scan_numbers" title="Filter Scan Numbers">
+          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
+        </repeat>
+
+        <conditional name="filter_mz_windows">
+          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
+          <when value="false" />          
+          <when value="true">
+            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
+            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
+          </when>
+        </conditional>
+
+        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
+
+        <conditional name="filter_ms_levels">
+          <param name="do_filter" type="boolean" label="Filter MS Levels" />
+          <when value="false" />
+          <when value="true">
+            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
+            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
+          </when>
+        </conditional>
+
+        <conditional name="etd_filtering">
+          <param name="do_etd_filtering" type="select" label="ETD Filtering">
+            <option value="none" selected="true">none</option>
+            <option value="default">yes (with default options)</option>
+            <option value="advanced">yes (show advanced options) </option>
+          </param>
+          <when value="none" />
+          <when value="default" />
+          <when value="advanced">
+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
+            </param>
+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
+              <option value="MZ" selected="true">mz</option>              
+              <option value="PPM">ppm</option>
+            </param>
+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>            
+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+          </when>
+        </conditional>
+
+
+      </when>
+    </conditional>
+
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+
+
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+  <help>
+**What it does**
+
+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
+
+You can view the original documentation here_.
+    
+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
+
+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
+
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert3.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,378 @@
+<tool id="msconvert3" name="msconvert3" version="0.2.1">
+  <!-- BEGIN_VERSION_DEFAULT -->
+  <description>Convert and filter a mass spec peak list</description>
+  <!-- END_VERSION_DEFAULT -->
+  <requirements>
+    <requirement type="package">proteowizard</requirement>
+  </requirements>
+  <command interpreter="python">
+    #set $ext = $input.ext
+    #if $ext.startswith("m:")
+    #set $ext = $ext[len("m:"):]
+    #end if
+    msconvert_wrapper.py 
+    --input=${input}
+    #if hasattr($input, 'display_name')
+    --input_name='${input.display_name}'
+    #end if
+    --output=${output} 
+    ## BEGIN_VERSION_DEFAULT
+    --fromextension=$ext
+    ## END_VERSION_DEFAULT
+
+
+    --toextension=${output_type} 
+
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+
+    #if $filtering.filtering_use
+
+    #if $filtering.precursor_recalculation.value
+    --filter "precursorRecalculation"
+    #end if
+
+    #if $filtering.peak_picking.pick_peaks
+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
+    #end if
+
+    #if str($filtering.activation) != "false"
+    --filter "activation $filtering.activation"
+    #end if
+
+    #if len($filtering.indices) > 0
+    --filter "index
+    #for $index in $filtering.indices
+    [${index.from},${index.to}]
+    #end for
+    "
+    #end if
+
+    #if len($filtering.scan_numbers) > 0
+    --filter "scanNumber
+    #for $scan_number in $filtering.scan_numbers
+    [${scan_number.from},${scan_number.to}]
+    #end for
+    "
+    #end if
+
+    #for threshold_entry in $filtering.threshold_repeat
+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
+    #end for
+
+
+    #if $filtering.strip_it.value
+    --filter "stripIT"
+    #end if
+
+    #if $filtering.filter_mz_windows.do_filter
+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
+    #end if
+
+    
+    #if $filtering.filter_ms_levels.do_filter
+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
+    --filter "ETDFilter"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
+    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
+    #end if
+
+    ## BEGIN_VERSION_3
+
+    #if $filtering.precursor_refine.value
+    --filter "precursorRefine"
+    #end if
+
+    #if $filtering.ms2denoise.denoise
+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
+    #end if 
+
+    #if str($filtering.ms2deisotope) == "true"
+    --filter "MS2Deisotope"
+    #end if
+
+    #if str($filtering.polarity) != "false"
+    --filter "polarity $filtering.polarity"
+    #end if
+
+    #if str($filtering.analyzer) != "false"
+    --filter "analyzer $filtering.analyzer"
+    #end if
+
+    ## END_VERSION_3
+
+    #end if
+
+  </command>
+
+  <inputs>
+
+    <!-- BEGIN_VERSION_DEFAULT -->
+    <conditional name="type">
+      <param name="input_type" type="select" label="Input Type">
+        <option value="mzml">mzML</option>
+        <option value="mzxml">mzXML</option>
+        <option value="mgf">mgf</option>
+        <option value="ms2">ms2</option>
+      </param>
+      <when value="mzml">
+        <param format="mzml" name="input" type="data" label="Input mzML"/>
+      </when>
+      <when value="mzxml">
+        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
+      </when>
+      <when value="mgf">
+        <param format="mgf" name="input" type="data" label="Input mgf"/>
+      </when>
+      <when value="ms2">
+        <param format="ms2" name="input" type="data" label="Input ms2"/>
+      </when>
+    </conditional>
+    <!-- END_VERSION_DEFAULT -->    
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>    
+    <conditional name="filtering">
+      <param name="filtering_use" type="boolean" label="Use Filtering?" truevalue="true" falsevalue="false" />
+      <when value="false" />
+      <when value="true">
+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
+        <!-- BEGIN_VERSION_3 -->
+        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
+        <!-- END_VERSION_3 -->
+
+
+        <conditional name="peak_picking">
+          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
+          <when value="false" />
+          <when value="true">
+            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
+              <option value="1">MS1 Only (1)</option>
+              <option value="2">MS2 Only (2)</option>
+              <option value="2-">MS2 and on (2-)</option>
+              <option value="1-">All Levels (1-)</option>
+            </param>
+            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
+          </when>
+        </conditional>
+
+        <repeat name="threshold_repeat" title="Filter by Threshold">
+          <conditional name="threshold">
+            <param type="select" label="Specify threshold on" name="threshold_type" help="">
+              <option value="count">Peak count</option>
+              <option value="count-after-ties">Peak count (after ties)</option>
+              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
+              <option value="bpi-relative">Percent of base peak intensity</option>
+              <option value="tic-relative">Percent of total ion current</option>
+              <option value="tic-fraction">Aggregate percent of total ion current</option>
+            </param>
+            <when value="count">
+              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
+            </when>
+            <when value="count-after-ties">
+              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
+            </when>
+            <when value="absolute">
+              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
+            </when>
+            <when value="bpi-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
+              />
+            </when>
+            <when value="tic-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
+              />
+            </when>
+            <when value="tic-fraction">
+              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
+            </when>
+          </conditional>
+          <param type="select" label="Keep" name="orientation">
+            <option value="most-intense">Most intense peaks</option>
+            <option value="least-intense">Least intense peaks</option>
+          </param>
+        </repeat>
+
+
+        <param name="activation" type="select" label="Filter by Activation">
+          <option value="false" selected="true">no</option>
+          <option value="ETD">ETD</option>
+          <option value="CID">CID</option>
+          <option value="SA">SA</option>
+          <option value="HCD">HCD</option>
+          <!-- BEGIN_VERSION_3 -->
+          <option>BIRD</option>
+          <option>ECD</option>
+          <option>IRMPD</option>
+          <option>PD</option>
+          <option>PSD</option>
+          <option>PQD</option>
+          <option>SID</option>
+          <option>SORI</option>
+          <!-- END_VERSION_3 -->
+        </param>
+
+        <repeat name="indices" title="Filter Scan Indices">
+          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
+        </repeat>
+
+        <repeat name="scan_numbers" title="Filter Scan Numbers">
+          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
+        </repeat>
+
+        <conditional name="filter_mz_windows">
+          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
+          <when value="false" />          
+          <when value="true">
+            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
+            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
+          </when>
+        </conditional>
+
+        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
+
+        <conditional name="filter_ms_levels">
+          <param name="do_filter" type="boolean" label="Filter MS Levels" />
+          <when value="false" />
+          <when value="true">
+            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
+            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
+          </when>
+        </conditional>
+
+        <conditional name="etd_filtering">
+          <param name="do_etd_filtering" type="select" label="ETD Filtering">
+            <option value="none" selected="true">none</option>
+            <option value="default">yes (with default options)</option>
+            <option value="advanced">yes (show advanced options) </option>
+          </param>
+          <when value="none" />
+          <when value="default" />
+          <when value="advanced">
+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
+            </param>
+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
+              <option value="MZ" selected="true">mz</option>              
+              <option value="PPM">ppm</option>
+            </param>
+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>            
+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+          </when>
+        </conditional>
+
+
+        <!-- BEGIN_VERSION_3 -->
+        <conditional name="ms2denoise">
+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
+          <when value="true">
+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
+          </when>
+          <when value="false" />
+        </conditional>
+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
+
+        <param name="polarity" type="select" label="Filter by Polarity">
+          <option value="false" selected="true">no</option>
+          <option value="positive">positive</option>
+          <option value="negative">negative</option>
+        </param>
+
+        <param name="analyzer" type="select" label="Filter by Analyzer">
+          <option value="false" selected="true">no</option>
+          <option value="quad">quad</option>
+          <option value="orbi">orbi</option>
+          <option value="FT">FT</option>
+          <option value="IT">IT</option>
+          <option value="TOF">TOF</option>
+        </param>
+        <!-- END_VERSION_3 -->
+      </when>
+    </conditional>
+
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+
+
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+  <help>
+**What it does**
+
+Allows interconversion within various mass spectrometry peak list formats. Additional options such as filtering and/or precursor recalculation are available.
+
+You can view the original documentation here_.
+    
+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
+
+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
+
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert3_raw.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,362 @@
+<tool id="msconvert3_raw" name="msconvert3_raw" version="0.2.1">
+  <!-- BEGIN_VERSION_RAW -->
+  <description>Convert and filter a Thermo Finnigan RAW file</description>
+  <!-- END_VERSION_RAW -->
+  <requirements>
+    <requirement type="package">proteowizard</requirement>
+    <!-- BEGIN_VERSION_RAW -->
+    <requirement type="platform">windows</requirement>
+    <!-- END_VERSION_RAW -->
+  </requirements>
+  <command interpreter="python">
+    #set $ext = $input.ext
+    #if $ext.startswith("m:")
+    #set $ext = $ext[len("m:"):]
+    #end if
+    msconvert_wrapper.py 
+    --input=${input}
+    #if hasattr($input, 'display_name')
+    --input_name='${input.display_name}'
+    #end if
+    --output=${output} 
+
+    ## BEGIN_VERSION_RAW
+    --fromextension=RAW
+    ## END_VERSION_RAW
+
+    --toextension=${output_type} 
+
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+
+    #if $filtering.filtering_use
+
+    #if $filtering.precursor_recalculation.value
+    --filter "precursorRecalculation"
+    #end if
+
+    #if $filtering.peak_picking.pick_peaks
+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"
+    #end if
+
+    #if str($filtering.activation) != "false"
+    --filter "activation $filtering.activation"
+    #end if
+
+    #if len($filtering.indices) > 0
+    --filter "index
+    #for $index in $filtering.indices
+    [${index.from},${index.to}]
+    #end for
+    "
+    #end if
+
+    #if len($filtering.scan_numbers) > 0
+    --filter "scanNumber
+    #for $scan_number in $filtering.scan_numbers
+    [${scan_number.from},${scan_number.to}]
+    #end for
+    "
+    #end if
+
+    #for threshold_entry in $filtering.threshold_repeat
+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"
+    #end for
+
+
+    #if $filtering.strip_it.value
+    --filter "stripIT"
+    #end if
+
+    #if $filtering.filter_mz_windows.do_filter
+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"
+    #end if
+
+    
+    #if $filtering.filter_ms_levels.do_filter
+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"
+    --filter "ETDFilter"
+    #end if
+
+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"
+    --filter "ETDFilter removePrecursor:$filtering.etd_filtering.remove_precursor removeChargeReduced:$filtering.etd_filtering.remove_charge_reduced  removeNeutralLoss:$filtering.etd_filtering.remove_neutral_loss  blanketRemoval:$filtering.etd_filtering.blanket_removal  MatchingTolerance:$filtering.etd_filtering.matching_tolerance $filtering.etd_filtering.matching_tolerance_units"
+    #end if
+
+    ## BEGIN_VERSION_3
+
+    #if $filtering.precursor_refine.value
+    --filter "precursorRefine"
+    #end if
+
+    #if $filtering.ms2denoise.denoise
+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"
+    #end if 
+
+    #if str($filtering.ms2deisotope) == "true"
+    --filter "MS2Deisotope"
+    #end if
+
+    #if str($filtering.polarity) != "false"
+    --filter "polarity $filtering.polarity"
+    #end if
+
+    #if str($filtering.analyzer) != "false"
+    --filter "analyzer $filtering.analyzer"
+    #end if
+
+    ## END_VERSION_3
+
+    #end if
+
+  </command>
+
+  <inputs>
+    <!-- BEGIN_VERSION_RAW -->
+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input" help="select input file in RAW format"/>
+    <!-- END_VERSION_RAW -->
+
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>    
+    <conditional name="filtering">
+      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />
+      <when value="false" />
+      <when value="true">
+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />
+        <!-- BEGIN_VERSION_3 -->
+        <param type="boolean" name="precursor_refine" label="Refine Precursor?" />
+        <!-- END_VERSION_3 -->
+
+
+        <conditional name="peak_picking">
+          <param type="boolean" name="pick_peaks" label="Use Peak Picking?" truevalue="true" falsevalue="false" />
+          <when value="false" />
+          <when value="true">
+            <param name="ms_levels" type="select" label="Peak Peaking - Apply to MS Levels">
+              <option value="1">MS1 Only (1)</option>
+              <option value="2">MS2 Only (2)</option>
+              <option value="2-">MS2 and on (2-)</option>
+              <option value="1-">All Levels (1-)</option>
+            </param>
+            <param type="boolean" name="prefer_vendor_peaks" label="Peak Picking - Prefer Vendor Peaks?" truevalue="true" falsevalue="false" checked="true"/>
+          </when>
+        </conditional>
+
+        <repeat name="threshold_repeat" title="Filter by Threshold">
+          <conditional name="threshold">
+            <param type="select" label="Specify threshold on" name="threshold_type" help="">
+              <option value="count">Peak count</option>
+              <option value="count-after-ties">Peak count (after ties)</option>
+              <option value="absolute">Peak absolute intensity</option><!-- TODO: absolute what? m/z -->
+              <option value="bpi-relative">Percent of base peak intensity</option>
+              <option value="tic-relative">Percent of total ion current</option>
+              <option value="tic-fraction">Aggregate percent of total ion current</option>
+            </param>
+            <when value="count">
+              <param type="integer" name="value" label="Number of peaks to keep" value="100" />
+            </when>
+            <when value="count-after-ties">
+              <param type="integer" name="value" label="Number of peaks to keep (after ties)" value="100" />
+            </when>
+            <when value="absolute">
+              <param type="float" name="value" label="Absolute intensity cut-off" value="100.0" />
+            </when>
+            <when value="bpi-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of base peak intensity" value="0.2"
+              />
+            </when>
+            <when value="tic-relative">
+              <param type="float" name="value" label="Keep peaks above (or below) this fraction of total ion current" value="0.2"
+              />
+            </when>
+            <when value="tic-fraction">
+              <param type="float" name="value" label="Keep peaks until this fraction of total ion current is accounted for" value="0.8" />
+            </when>
+          </conditional>
+          <param type="select" label="Keep" name="orientation">
+            <option value="most-intense">Most intense peaks</option>
+            <option value="least-intense">Least intense peaks</option>
+          </param>
+        </repeat>
+
+
+        <param name="activation" type="select" label="Filter by Activation">
+          <option value="false" selected="true">no</option>
+          <option value="ETD">ETD</option>
+          <option value="CID">CID</option>
+          <option value="SA">SA</option>
+          <option value="HCD">HCD</option>
+          <!-- BEGIN_VERSION_3 -->
+          <option>BIRD</option>
+          <option>ECD</option>
+          <option>IRMPD</option>
+          <option>PD</option>
+          <option>PSD</option>
+          <option>PQD</option>
+          <option>SID</option>
+          <option>SORI</option>
+          <!-- END_VERSION_3 -->
+        </param>
+
+        <repeat name="indices" title="Filter Scan Indices">
+          <param name="from" type="integer" label="Filter Scan Index From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Index To" value="0" optional="true" />
+        </repeat>
+
+        <repeat name="scan_numbers" title="Filter Scan Numbers">
+          <param name="from" type="integer" label="Filter Scan Number From" value="0" optional="false" />
+          <param name="to" type="integer" label="Filter Scan Number To" value="0" optional="true" />
+        </repeat>
+
+        <conditional name="filter_mz_windows">
+          <param name="do_filter" type="boolean" truevalue="true" falsevalue="false" label="Filter m/z Window" help="" />
+          <when value="false" />          
+          <when value="true">
+            <param name="from" type="float" label="Filter m/z From" value="0.0" optional="false" />
+            <param name="to" type="float" label="Filter m/z To" value="0.0" optional="true" />
+          </when>
+        </conditional>
+
+        <param type="boolean" name="strip_it" label="Strip Ion Trap MS1 Scans" />
+
+        <conditional name="filter_ms_levels">
+          <param name="do_filter" type="boolean" label="Filter MS Levels" />
+          <when value="false" />
+          <when value="true">
+            <param name="from" type="integer" label="Filter MS Level From" value="0" optional="false" />
+            <param name="to" type="integer" label="Filter MS Level To" value="0" optional="true" />
+          </when>
+        </conditional>
+
+        <conditional name="etd_filtering">
+          <param name="do_etd_filtering" type="select" label="ETD Filtering">
+            <option value="none" selected="true">none</option>
+            <option value="default">yes (with default options)</option>
+            <option value="advanced">yes (show advanced options) </option>
+          </param>
+          <when value="none" />
+          <when value="default" />
+          <when value="advanced">
+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">
+            </param>
+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">
+              <option value="MZ" selected="true">mz</option>              
+              <option value="PPM">ppm</option>
+            </param>
+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>            
+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">
+              <option value="true" selected="true">yes</option>              
+              <option value="false">no</option>
+            </param>
+          </when>
+        </conditional>
+
+
+        <!-- BEGIN_VERSION_3 -->
+        <conditional name="ms2denoise">
+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />
+          <when value="true">
+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />
+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />
+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />
+          </when>
+          <when value="false" />
+        </conditional>
+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />
+
+        <param name="polarity" type="select" label="Filter by Polarity">
+          <option value="false" selected="true">no</option>
+          <option value="positive">positive</option>
+          <option value="negative">negative</option>
+        </param>
+
+        <param name="analyzer" type="select" label="Filter by Analyzer">
+          <option value="false" selected="true">no</option>
+          <option value="quad">quad</option>
+          <option value="orbi">orbi</option>
+          <option value="FT">FT</option>
+          <option value="IT">IT</option>
+          <option value="TOF">TOF</option>
+        </param>
+        <!-- END_VERSION_3 -->
+      </when>
+    </conditional>
+
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+
+
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+  <help>
+**What it does**
+
+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.
+
+You can view the original documentation here_.
+    
+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `ProteoWizard: Open Source Software for Rapid Proteomics Tools Development. Darren Kessner; Matt Chambers; Robert Burke; David Agus; Parag Mallick. Bioinformatics 2008; doi: 10.1093/bioinformatics/btn323.`
+
+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert
+
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert_raw_wrapper.py	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,124 @@
+#!/usr/bin/env python
+import optparse
+import os
+import sys
+import tempfile
+import shutil 
+import subprocess
+import re
+from os.path import basename
+import logging
+
+assert sys.version_info[:2] >= ( 2, 6 )
+
+log = logging.getLogger(__name__)
+working_directory = os.getcwd()
+tmp_stderr_name = tempfile.NamedTemporaryFile(dir = working_directory, suffix = '.stderr').name
+tmp_stdout_name = tempfile.NamedTemporaryFile(dir = working_directory, suffix = '.stdout').name
+
+def stop_err( msg ):
+    sys.stderr.write( "%s\n" % msg )
+    sys.exit()
+
+def read_stderr():
+    stderr = ''
+    if(os.path.exists(tmp_stderr_name)):
+        with open(tmp_stderr_name, 'rb') as tmp_stderr:
+            buffsize = 1048576
+            try:
+                while True:
+                    stderr += tmp_stderr.read(buffsize)
+                    if not stderr or len(stderr) % buffsize != 0:
+                        break
+            except OverflowError:
+                pass
+    return stderr
+    
+def execute(command, stdin=None):
+    with open(tmp_stderr_name, 'wb') as tmp_stderr:
+        with open(tmp_stdout_name, 'wb') as tmp_stdout:
+            proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)
+            returncode = proc.wait()
+            if returncode != 0:
+                raise Exception, "Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr())
+
+def delete_file(path):
+    if os.path.exists(path):
+        try:
+            os.remove(path)
+        except:
+            pass
+
+def delete_directory(directory):
+    if os.path.exists(directory):
+        try:
+            shutil.rmtree(directory)
+        except:
+            pass
+
+def symlink(source, link_name):
+    import platform
+    if platform.system() == 'Windows':
+        import win32file
+        win32file.CreateSymbolicLink(source, link_name, 1)
+    else:
+        os.symlink(source, link_name)
+
+
+def copy_to_working_directory(data_file, relative_path):
+    if os.path.abspath(data_file) != os.path.abspath(relative_path):
+        shutil.copy(data_file, relative_path)
+    return relative_path
+
+def __main__():
+    run_script()
+
+#ENDTEMPLATE
+
+to_extensions = ['mzML', 'mzXML', 'mgf', 'txt', 'ms2', 'cms2']
+
+def str_to_bool(v):
+    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """
+    return v.lower() in ["yes", "true", "t", "1"]
+
+
+def run_script():
+    parser = optparse.OptionParser()
+    parser.add_option('--input', dest='input')
+    parser.add_option('--output', dest='output')
+    parser.add_option('--fromextension', dest='fromextension')
+    parser.add_option('--toextension', dest='toextension', default='mzML', choices=to_extensions)
+    parser.add_option('--binaryencoding', dest='binaryencoding', choices=['32', '64'])
+    parser.add_option('--mzencoding', dest='mzencoding', choices=['32', '64'])
+    parser.add_option('--intensityencoding', dest='intensityencoding', choices=['32', '64'])
+    parser.add_option('--noindex', dest='noindex')
+    parser.add_option('--zlib', dest='zlib')
+    parser.add_option('--filter', dest='filter', action='append', default=[])
+
+    (options, args) = parser.parse_args()
+
+    filter_commands = ''
+    for filter in options.filter:
+        filter_commands = "%s --filter \"%s\"" % (filter_commands, filter)
+
+    input_file = 'input.%s' % options.fromextension
+    copy_to_working_directory(options.input, input_file)
+    os.mkdir('output')
+    cmd = "msconvert --%s -o output" % (options.toextension)
+    if str_to_bool(options.noindex):
+        cmd = "%s %s" % (cmd, "--noindex")
+    if str_to_bool(options.zlib):
+        cmd = "%s %s" % (cmd, "--zlib")
+    cmd = "%s --%s" % (cmd, options.binaryencoding)
+    cmd = "%s --mz%s" % (cmd, options.mzencoding)
+    cmd = "%s --inten%s" % (cmd, options.intensityencoding)
+    cmd = "%s %s" % (cmd, input_file)
+    cmd = "%s %s" % (cmd, filter_commands)
+    print cmd
+    execute(cmd)
+    output_files = os.listdir('output')
+    assert len(output_files) == 1
+    output_file = output_files[0]
+    shutil.copy(os.path.join('output', output_file), options.output)
+
+if __name__ == '__main__': __main__()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert_subset.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,103 @@
+<tool id="msconvert_subset" name="Subset Peak List" version="0.2.1">
+  <description>against list of scan numbers or indices.</description>
+  <requirements>
+    <requirement type="package">proteowizard</requirement>
+  </requirements>
+  <command interpreter="python">
+    msconvert_wrapper.py 
+    --input=${input} 
+    --output=${output} 
+    --fromextension=${input.ext} 
+    --toextension=${output_type} 
+    #if $settings.settingsType == "full"
+    --binaryencoding=${settings.binary_encoding} 
+    --mzencoding=${settings.mz_encoding} 
+    --intensityencoding=${settings.intensity_encoding}
+    --zlib=${settings.zlib}
+    #end if
+    --filter_table="$filter.filterList"
+    #if $filter.filterType == "scan_number"
+    --filter_table_type="number"
+    #else
+    --filter_table_type="index"
+    #end if
+  </command>
+
+  <inputs>
+    <conditional name="type">
+      <param name="input_type" type="select" label="Input Type">
+        <option value="mzml">mzML</option>
+        <option value="mzxml">mzXML</option>
+        <option value="mgf">mgf</option>
+        <option value="ms2">ms2</option>
+      </param>
+      <when value="mzml">
+        <param format="mzml" name="input" type="data" label="Input mzML"/>
+      </when>
+      <when value="mzxml">
+        <param format="mzxml" name="input" type="data" label="Input mzXML"/>
+      </when>
+      <when value="mgf">
+        <param format="mgf" name="input" type="data" label="Input mgf"/>
+      </when>
+      <when value="ms2">
+        <param format="ms2" name="input" type="data" label="Input ms2"/>
+      </when>
+    </conditional>
+    <param name="output_type" type="select" label="Output Type">
+      <option value="mzML">mzML (indexed)</option>
+      <option value="unindexed_mzML">mzML (unindexed)</option>
+      <option value="mzXML">mzXML (indexed)</option>      
+      <option value="unindexed_mzXML">mzXML (unindexed)</option>
+      <option value="mgf">mgf</option>
+      <option value="ms2">ms2</option>  
+    </param>
+    <conditional name="filter">
+      <param name="filterType" type="select" label="Filter by" help="">
+        <option value="scan_number" selected="true">Scan Number</option>
+        <option value="scan_index">Scan Index</option>
+      </param>    
+      <when value="scan_number">
+        <param format="text" name="filterList" type="data" label="Scan Numbers"/>
+      </when>
+      <when value="scan_index">
+        <param format="text" name="filterList" type="data" label="Scan Indices"/>
+      </when>
+    </conditional>
+    <conditional name="settings">
+      <param name="settingsType" type="select" label="Advanced msconvert Settings" help="">
+        <option value="default">Use Defaults</option>
+        <option value="full">Full Parameter List</option>
+      </param>
+      <when value="default" />
+      <when value="full">
+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">
+          <option value="64" selected="true">64</option>
+          <option value="32">32</option>
+        </param>
+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">
+          <option value="64">64</option>
+          <option value="32" selected="true">32</option>
+        </param>
+        <param type="boolean" name="zlib" label="Use zlib">      
+        </param>
+      </when>
+    </conditional>
+  </inputs>
+  <outputs>
+    <data format="mzml" name="output">
+      <change_format>
+        <when input="output_type" value="mzXML" format="mzxml" />
+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />
+        <when input="output_type" value="ms2" format="ms2" />
+        <when input="output_type" value="mgf" format="mgf" />
+      </change_format>
+    </data>
+  </outputs>
+  <help>
+  </help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/msconvert_wrapper.py	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,271 @@
+#!/usr/bin/env python
+import optparse
+import os
+import sys
+import tempfile
+import shutil
+import subprocess
+import re
+import logging
+
+assert sys.version_info[:2] >= (2, 6)
+
+log = logging.getLogger(__name__)
+working_directory = os.getcwd()
+tmp_stderr_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix='.stderr').name
+tmp_stdout_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix='.stdout').name
+
+
+def stop_err(msg):
+    sys.stderr.write("%s\n" % msg)
+    sys.exit()
+
+
+def read_stderr():
+    stderr = ''
+    if(os.path.exists(tmp_stderr_name)):
+        with open(tmp_stderr_name, 'rb') as tmp_stderr:
+            buffsize = 1048576
+            try:
+                while True:
+                    stderr += tmp_stderr.read(buffsize)
+                    if not stderr or len(stderr) % buffsize != 0:
+                        break
+            except OverflowError:
+                pass
+    return stderr
+
+
+def execute(command, stdin=None):
+    try:
+        with open(tmp_stderr_name, 'wb') as tmp_stderr:
+            with open(tmp_stdout_name, 'wb') as tmp_stdout:
+                proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)
+                returncode = proc.wait()
+                if returncode != 0:
+                    raise Exception("Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr()))
+    finally:
+        print open(tmp_stderr_name, "r").read()
+        print open(tmp_stdout_name, "r").read()
+
+
+def delete_file(path):
+    if os.path.exists(path):
+        try:
+            os.remove(path)
+        except:
+            pass
+
+
+def delete_directory(directory):
+    if os.path.exists(directory):
+        try:
+            shutil.rmtree(directory)
+        except:
+            pass
+
+
+def symlink(source, link_name):
+    import platform
+    if platform.system() == 'Windows':
+        try:
+            import win32file
+            win32file.CreateSymbolicLink(source, link_name, 1)
+        except:
+            shutil.copy(source, link_name)
+    else:
+        os.symlink(source, link_name)
+
+
+def copy_to_working_directory(data_file, relative_path):
+    if os.path.abspath(data_file) != os.path.abspath(relative_path):
+        symlink(data_file, relative_path)
+    return relative_path
+
+
+def __main__():
+    run_script()
+
+#ENDTEMPLATE
+
+to_extensions = ['mzML', 'mzXML', 'unindexed_mzML', 'unindexed_mzXML', 'mgf', 'txt', 'ms2', 'cms2']
+
+
+def str_to_bool(v):
+    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """
+    return v.lower() in ["yes", "true", "t", "1"]
+
+
+def _add_filter(filters_file, contents):
+    filters_file.write("filter=%s\n" % contents)
+
+
+def _skip_line(options, file_num, line_parts):
+    file_num_column = options.filter_table_file_column
+    if not file_num_column:
+        return False
+    else:
+        target_file_num_val = str(file_num).strip()
+        query_file_num_val = line_parts[int(file_num_column) - 1].strip()
+        #print "target %s, query %s" % (target_file_num_val, query_file_num_val)
+        return target_file_num_val != query_file_num_val
+
+
+def _read_table_numbers(path, options, file_num=None):
+    unique_numbers = set([])
+    column_num = options.filter_table_column
+    input = open(path, "r")
+    first_line = True
+    for line in input:
+        if not line:
+            continue
+        line = line.strip()
+        if line.startswith("#"):
+            first_line = False
+            continue
+        if column_num == None:
+            column = line
+        else:
+            line_parts = line.split("\t")
+            if _skip_line(options, file_num, line_parts):
+                continue
+            column = line_parts[int(column_num) - 1]
+        match = re.match("\d+", column)
+        if match:
+            unique_numbers.add(int(match.group()))
+        first_line = False
+    return unique_numbers
+
+
+def shellquote(s):
+    return '"' + s.replace('"', '\\"') + '"'
+
+
+def _add_filter_line_from_file(filter_file, options, file_num=None):
+    file = options.filter_table
+    if not file:
+        return
+    numbers = _read_table_numbers(file, options, file_num)
+    msconvert_int_set = " ".join([str(number) for number in numbers])
+    filter_type = options.filter_table_type
+    if filter_type == 'number':
+        filter_prefix = 'scanNumber'
+    else:
+        filter_prefix = 'index'
+    _add_filter(filter_file, "%s %s" % (filter_prefix, msconvert_int_set))
+
+
+def _create_filters_file(options, file_num=None, debug=False):
+    suffix = "" if not file_num else str(file_num)
+    filters_file_path = "filters%s" % suffix
+    filters_file = open(filters_file_path, "w")
+    if options.filters_file:
+        filters_file.write(open(options.filters_file, "r").read())
+    for filter in options.filter:
+        _add_filter(filters_file, filter)
+    _add_filter_line_from_file(filters_file, options, file_num=file_num)
+
+    filters_file.close()
+    if debug:
+        print open(filters_file_path, "r").read()
+    return filters_file_path
+
+
+def _build_base_cmd(options):
+    to_extension = options.toextension
+    if to_extension.startswith("unindexed_"):
+        to_extension = to_extension[len("unindexed_"):]
+        to_params = "--noindex"
+    else:
+        to_params = ""
+    cmd = "msconvert --%s %s" % (to_extension, to_params)
+    if str_to_bool(options.zlib):
+        cmd = "%s %s" % (cmd, "--zlib")
+    if options.binaryencoding:
+        cmd = "%s --%s" % (cmd, options.binaryencoding)
+    if options.mzencoding:
+        cmd = "%s --mz%s" % (cmd, options.mzencoding)
+    if options.intensityencoding:
+        cmd = "%s --inten%s" % (cmd, options.intensityencoding)
+    return cmd
+
+
+def _run(base_cmd, output_dir='output', inputs=[], debug=False):
+    inputs_as_str = " ".join(['%s' % shellquote(input) for input in inputs])
+    os.mkdir(output_dir)
+    cmd = "%s -o %s %s" % (base_cmd, shellquote(output_dir), inputs_as_str)
+    if debug:
+        print cmd
+    execute(cmd)
+    output_files = os.listdir(output_dir)
+    assert len(output_files) == 1
+    output_file = output_files[0]
+    return os.path.join(output_dir, output_file)
+
+
+def run_script():
+    parser = optparse.OptionParser()
+    parser.add_option('--input', dest='inputs', action='append', default=[])
+    parser.add_option('--input_name', dest='input_names', action='append', default=[])
+    parser.add_option('--output', dest='output')
+    parser.add_option('--fromextension', dest='fromextension')
+    parser.add_option('--toextension', dest='toextension', default='mzML', choices=to_extensions)
+    parser.add_option('--binaryencoding', dest='binaryencoding', choices=['32', '64'])
+    parser.add_option('--mzencoding', dest='mzencoding', choices=['32', '64'])
+    parser.add_option('--intensityencoding', dest='intensityencoding', choices=['32', '64'])
+    parser.add_option('--zlib', dest='zlib', default="false")
+    parser.add_option('--filter', dest='filter', action='append', default=[])
+    parser.add_option('--filters_file', dest='filters_file', default=None)
+    parser.add_option('--filter_table', default=None)
+    parser.add_option('--filter_table_type', default='index', choices=['index', 'number'])
+    parser.add_option('--filter_table_column', default=None)
+    parser.add_option('--filter_table_file_column', default=None)
+    parser.add_option('--debug', dest='debug', action='store_true', default=False)
+
+    (options, args) = parser.parse_args()
+    if len(options.inputs) < 1:
+        stop_err("No input files to msconvert specified")
+    if len(options.input_names) > 0 and len(options.input_names) != len(options.inputs):
+        stop_err("Number(s) of supplied input names and input files do not match")
+    if not options.output:
+        stop_err("Must specify output location")
+    input_files = []
+    for i, input in enumerate(options.inputs):
+        input_base = None
+        if len(options.input_names) > i:
+            input_base = options.input_names[i]
+        if not input_base:
+            input_base = 'input%s' % i
+        if not input_base.lower().endswith(options.fromextension.lower()):
+            input_file = '%s.%s' % (input_base, options.fromextension)
+        else:
+            input_file = input_base
+        input_file = input_file
+        copy_to_working_directory(input, input_file)
+        input_files.append(input_file)
+
+    cmd = _build_base_cmd(options)
+    file_column = options.filter_table_file_column
+    if not file_column:
+        # Apply same filters to all files, just create a unviersal filter files
+        # and run msconvert once.
+        filters_file_path = _create_filters_file(options, debug=options.debug)
+        cmd = "%s -c %s" % (cmd, filters_file_path)
+    else:
+        # Dispatching on a column to filter different files differently, need to filter
+        # each input once with msconvert and then merge once.
+        filtered_files = []
+        for index, input_file in enumerate(input_files):
+            filters_file_path = _create_filters_file(options, index + 1, debug=options.debug)
+            filter_cmd = "%s -c %s" % (cmd, filters_file_path)
+            filtered_output_file = _run(filter_cmd, output_dir='output%d' % index, inputs=[input_file], debug=options.debug)
+            filtered_files.append(filtered_output_file)
+        input_files = filtered_files
+    if len(input_files) > 1:
+        cmd = "%s --merge" % cmd
+    output_file = _run(cmd, output_dir='output', inputs=input_files, debug=options.debug)
+    shutil.copy(output_file, options.output)
+
+
+if __name__ == '__main__':
+    __main__()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/repository_dependencies.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,4 @@
+<?xml version="1.0"?>
+<repositories description="Required proteomics dependencies.">
+    <repository changeset_revision="b82d4034e0f8" name="proteomics_datatypes" owner="iracooke" toolshed="http://toolshed.g2.bx.psu.edu" />
+</repositories>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="proteowizard" version="3_0_4388">
+        <repository changeset_revision="863462ea0187" name="protk_proteowizard" owner="iracooke" toolshed="http://toolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update.sh	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+LICENSE_FILE=LICENSE
+# Ensure repository contains license file.
+if [ ! -e "$LICENSE_FILE" ];
+then
+    wget http://www.apache.org/licenses/LICENSE-2.0.txt -O "$LICENSE_FILE"
+fi
+
+# Run repository specific update actions.
+if [ -f update_repo.sh ];
+then
+    ./update_repo.sh
+fi
+
+wget https://raw.github.com/gist/3749747/README_GALAXYP.md -O README_GALAXYP.md
+
+# Create repository README
+if [ ! -e README_REPO.md ];
+then
+    echo "TODO: Document this tool repository." > README_REPO.md
+fi
+cat README_REPO.md README_GALAXYP.md > README.md
+
+
+# If version file exists, update all tools to this version
+VERSION_FILE=version
+if [ -e "$VERSION_FILE" ];
+then
+    VERSION=`cat $VERSION_FILE`
+    
+    # Replace tool version in each tool XML file   `
+    find -iname "*xml" -exec sed -i'' -e '0,/version="\(.\+\)"/s/version="\(.\+\)"/version="'$VERSION'"/1g' {} \;
+
+fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/update_repo.sh	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+sed -e '/BEGIN_VERSION_RAW/,/END_VERSION_RAW/d'  -e '/BEGIN_VERSION_3/,/END_VERSION_3/d'  -e 's/\$VERSION/2/g' -e 's/\$DESCRIPTION//g' msconvert.xml.template > msconvert2.xml
+sed -e '/BEGIN_VERSION_DEFAULT/,/END_VERSION_DEFAULT/d' -e '/BEGIN_VERSION_3/,/END_VERSION_3/d'  -e 's/\$VERSION/2/g' -e 's/\$DESCRIPTION/_raw/g' msconvert.xml.template > msconvert2_raw.xml
+
+
+sed -e '/BEGIN_VERSION_RAW/,/END_VERSION_RAW/d' -e 's/\$VERSION/3/g' -e 's/\$DESCRIPTION//g' msconvert.xml.template > msconvert3.xml
+sed -e '/BEGIN_VERSION_DEFAULT/,/END_VERSION_DEFAULT/d' -e 's/\$VERSION/3/g' -e 's/\$DESCRIPTION/_raw/g' msconvert.xml.template > msconvert3_raw.xml
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/version	Mon Feb 17 17:00:29 2014 -0500
@@ -0,0 +1,1 @@
+0.2.1