Repository 'msconvert'
hg clone https://toolshed.g2.bx.psu.edu/repos/galaxyp/msconvert

Changeset 6:ffe1dca94595 (2014-02-17)
Previous changeset 5:08bb52273ae1 (2014-02-17) Next changeset 7:37e5502441cc (2014-02-17)
Commit message:
Uploaded
added:
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
removed:
LICENSE
README.md
README_GALAXYP.md
README_REPO.md
TODO
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
b
diff -r 08bb52273ae1 -r ffe1dca94595 LICENSE
--- a/LICENSE Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,202 +0,0 @@\n-\n-                                 Apache License\n-                           Version 2.0, January 2004\n-                        http://www.apache.org/licenses/\n-\n-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n-\n-   1. Definitions.\n-\n-      "License" shall mean the terms and conditions for use, reproduction,\n-      and distribution as defined by Sections 1 through 9 of this document.\n-\n-      "Licensor" shall mean the copyright owner or entity authorized by\n-      the copyright owner that is granting the License.\n-\n-      "Legal Entity" shall mean the union of the acting entity and all\n-      other entities that control, are controlled by, or are under common\n-      control with that entity. For the purposes of this definition,\n-      "control" means (i) the power, direct or indirect, to cause the\n-      direction or management of such entity, whether by contract or\n-      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n-      outstanding shares, or (iii) beneficial ownership of such entity.\n-\n-      "You" (or "Your") shall mean an individual or Legal Entity\n-      exercising permissions granted by this License.\n-\n-      "Source" form shall mean the preferred form for making modifications,\n-      including but not limited to software source code, documentation\n-      source, and configuration files.\n-\n-      "Object" form shall mean any form resulting from mechanical\n-      transformation or translation of a Source form, including but\n-      not limited to compiled object code, generated documentation,\n-      and conversions to other media types.\n-\n-      "Work" shall mean the work of authorship, whether in Source or\n-      Object form, made available under the License, as indicated by a\n-      copyright notice that is included in or attached to the work\n-      (an example is provided in the Appendix below).\n-\n-      "Derivative Works" shall mean any work, whether in Source or Object\n-      form, that is based on (or derived from) the Work and for which the\n-      editorial revisions, annotations, elaborations, or other modifications\n-      represent, as a whole, an original work of authorship. For the purposes\n-      of this License, Derivative Works shall not include works that remain\n-      separable from, or merely link (or bind by name) to the interfaces of,\n-      the Work and Derivative Works thereof.\n-\n-      "Contribution" shall mean any work of authorship, including\n-      the original version of the Work and any modifications or additions\n-      to that Work or Derivative Works thereof, that is intentionally\n-      submitted to Licensor for inclusion in the Work by the copyright owner\n-      or by an individual or Legal Entity authorized to submit on behalf of\n-      the copyright owner. For the purposes of this definition, "submitted"\n-      means any form of electronic, verbal, or written communication sent\n-      to the Licensor or its representatives, including but not limited to\n-      communication on electronic mailing lists, source code control systems,\n-      and issue tracking systems that are managed by, or on behalf of, the\n-      Licensor for the purpose of discussing and improving the Work, but\n-      excluding communication that is conspicuously marked or otherwise\n-      designated in writing by the copyright owner as "Not a Contribution."\n-\n-      "Contributor" shall mean Licensor and any individual or Legal Entity\n-      on behalf of whom a Contribution has been received by Licensor and\n-      subsequently incorporated within the Work.\n-\n-   2. Grant of Copyright License. Subject to the terms and conditions of\n-      this License, each Contributor hereby grants to You a perpetual,\n-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n-      copyright license to reproduce, prepare Derivative Works of,\n-      publicly display, publicly perform, sublicense, and distribute the\n-      Work and such Derivative Works in Source or Obj'..b'ensor shall be under the terms and conditions of\n-      this License, without any additional terms or conditions.\n-      Notwithstanding the above, nothing herein shall supersede or modify\n-      the terms of any separate license agreement you may have executed\n-      with Licensor regarding such Contributions.\n-\n-   6. Trademarks. This License does not grant permission to use the trade\n-      names, trademarks, service marks, or product names of the Licensor,\n-      except as required for reasonable and customary use in describing the\n-      origin of the Work and reproducing the content of the NOTICE file.\n-\n-   7. Disclaimer of Warranty. Unless required by applicable law or\n-      agreed to in writing, Licensor provides the Work (and each\n-      Contributor provides its Contributions) on an "AS IS" BASIS,\n-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n-      implied, including, without limitation, any warranties or conditions\n-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n-      PARTICULAR PURPOSE. You are solely responsible for determining the\n-      appropriateness of using or redistributing the Work and assume any\n-      risks associated with Your exercise of permissions under this License.\n-\n-   8. Limitation of Liability. In no event and under no legal theory,\n-      whether in tort (including negligence), contract, or otherwise,\n-      unless required by applicable law (such as deliberate and grossly\n-      negligent acts) or agreed to in writing, shall any Contributor be\n-      liable to You for damages, including any direct, indirect, special,\n-      incidental, or consequential damages of any character arising as a\n-      result of this License or out of the use or inability to use the\n-      Work (including but not limited to damages for loss of goodwill,\n-      work stoppage, computer failure or malfunction, or any and all\n-      other commercial damages or losses), even if such Contributor\n-      has been advised of the possibility of such damages.\n-\n-   9. Accepting Warranty or Additional Liability. While redistributing\n-      the Work or Derivative Works thereof, You may choose to offer,\n-      and charge a fee for, acceptance of support, warranty, indemnity,\n-      or other liability obligations and/or rights consistent with this\n-      License. However, in accepting such obligations, You may act only\n-      on Your own behalf and on Your sole responsibility, not on behalf\n-      of any other Contributor, and only if You agree to indemnify,\n-      defend, and hold each Contributor harmless for any liability\n-      incurred by, or claims asserted against, such Contributor by reason\n-      of your accepting any such warranty or additional liability.\n-\n-   END OF TERMS AND CONDITIONS\n-\n-   APPENDIX: How to apply the Apache License to your work.\n-\n-      To apply the Apache License to your work, attach the following\n-      boilerplate notice, with the fields enclosed by brackets "[]"\n-      replaced with your own identifying information. (Don\'t include\n-      the brackets!)  The text should be enclosed in the appropriate\n-      comment syntax for the file format. We also recommend that a\n-      file or class name and description of purpose be included on the\n-      same "printed page" as the copyright notice for easier\n-      identification within third-party archives.\n-\n-   Copyright 2012 University of Minnesota\n-\n-   Licensed under the Apache License, Version 2.0 (the "License");\n-   you may not use this file except in compliance with the License.\n-   You may obtain a copy of the License at\n-\n-       http://www.apache.org/licenses/LICENSE-2.0\n-\n-   Unless required by applicable law or agreed to in writing, software\n-   distributed under the License is distributed on an "AS IS" BASIS,\n-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n-   See the License for the specific language governing permissions and\n-   limitations under the License.\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 README.md
--- a/README.md Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -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.
b
diff -r 08bb52273ae1 -r ffe1dca94595 README_GALAXYP.md
--- a/README_GALAXYP.md Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -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.
b
diff -r 08bb52273ae1 -r ffe1dca94595 README_REPO.md
--- a/README_REPO.md Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -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+).
b
diff -r 08bb52273ae1 -r ffe1dca94595 TODO
--- a/TODO Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,1 +0,0 @@
-Add precursorRefine option.
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/LICENSE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/LICENSE Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,202 @@\n+\n+                                 Apache License\n+                           Version 2.0, January 2004\n+                        http://www.apache.org/licenses/\n+\n+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n+\n+   1. Definitions.\n+\n+      "License" shall mean the terms and conditions for use, reproduction,\n+      and distribution as defined by Sections 1 through 9 of this document.\n+\n+      "Licensor" shall mean the copyright owner or entity authorized by\n+      the copyright owner that is granting the License.\n+\n+      "Legal Entity" shall mean the union of the acting entity and all\n+      other entities that control, are controlled by, or are under common\n+      control with that entity. For the purposes of this definition,\n+      "control" means (i) the power, direct or indirect, to cause the\n+      direction or management of such entity, whether by contract or\n+      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n+      outstanding shares, or (iii) beneficial ownership of such entity.\n+\n+      "You" (or "Your") shall mean an individual or Legal Entity\n+      exercising permissions granted by this License.\n+\n+      "Source" form shall mean the preferred form for making modifications,\n+      including but not limited to software source code, documentation\n+      source, and configuration files.\n+\n+      "Object" form shall mean any form resulting from mechanical\n+      transformation or translation of a Source form, including but\n+      not limited to compiled object code, generated documentation,\n+      and conversions to other media types.\n+\n+      "Work" shall mean the work of authorship, whether in Source or\n+      Object form, made available under the License, as indicated by a\n+      copyright notice that is included in or attached to the work\n+      (an example is provided in the Appendix below).\n+\n+      "Derivative Works" shall mean any work, whether in Source or Object\n+      form, that is based on (or derived from) the Work and for which the\n+      editorial revisions, annotations, elaborations, or other modifications\n+      represent, as a whole, an original work of authorship. For the purposes\n+      of this License, Derivative Works shall not include works that remain\n+      separable from, or merely link (or bind by name) to the interfaces of,\n+      the Work and Derivative Works thereof.\n+\n+      "Contribution" shall mean any work of authorship, including\n+      the original version of the Work and any modifications or additions\n+      to that Work or Derivative Works thereof, that is intentionally\n+      submitted to Licensor for inclusion in the Work by the copyright owner\n+      or by an individual or Legal Entity authorized to submit on behalf of\n+      the copyright owner. For the purposes of this definition, "submitted"\n+      means any form of electronic, verbal, or written communication sent\n+      to the Licensor or its representatives, including but not limited to\n+      communication on electronic mailing lists, source code control systems,\n+      and issue tracking systems that are managed by, or on behalf of, the\n+      Licensor for the purpose of discussing and improving the Work, but\n+      excluding communication that is conspicuously marked or otherwise\n+      designated in writing by the copyright owner as "Not a Contribution."\n+\n+      "Contributor" shall mean Licensor and any individual or Legal Entity\n+      on behalf of whom a Contribution has been received by Licensor and\n+      subsequently incorporated within the Work.\n+\n+   2. Grant of Copyright License. Subject to the terms and conditions of\n+      this License, each Contributor hereby grants to You a perpetual,\n+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n+      copyright license to reproduce, prepare Derivative Works of,\n+      publicly display, publicly perform, sublicense, and distribute the\n+      Work and such Derivative Works in Source or Obj'..b'ensor shall be under the terms and conditions of\n+      this License, without any additional terms or conditions.\n+      Notwithstanding the above, nothing herein shall supersede or modify\n+      the terms of any separate license agreement you may have executed\n+      with Licensor regarding such Contributions.\n+\n+   6. Trademarks. This License does not grant permission to use the trade\n+      names, trademarks, service marks, or product names of the Licensor,\n+      except as required for reasonable and customary use in describing the\n+      origin of the Work and reproducing the content of the NOTICE file.\n+\n+   7. Disclaimer of Warranty. Unless required by applicable law or\n+      agreed to in writing, Licensor provides the Work (and each\n+      Contributor provides its Contributions) on an "AS IS" BASIS,\n+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n+      implied, including, without limitation, any warranties or conditions\n+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n+      PARTICULAR PURPOSE. You are solely responsible for determining the\n+      appropriateness of using or redistributing the Work and assume any\n+      risks associated with Your exercise of permissions under this License.\n+\n+   8. Limitation of Liability. In no event and under no legal theory,\n+      whether in tort (including negligence), contract, or otherwise,\n+      unless required by applicable law (such as deliberate and grossly\n+      negligent acts) or agreed to in writing, shall any Contributor be\n+      liable to You for damages, including any direct, indirect, special,\n+      incidental, or consequential damages of any character arising as a\n+      result of this License or out of the use or inability to use the\n+      Work (including but not limited to damages for loss of goodwill,\n+      work stoppage, computer failure or malfunction, or any and all\n+      other commercial damages or losses), even if such Contributor\n+      has been advised of the possibility of such damages.\n+\n+   9. Accepting Warranty or Additional Liability. While redistributing\n+      the Work or Derivative Works thereof, You may choose to offer,\n+      and charge a fee for, acceptance of support, warranty, indemnity,\n+      or other liability obligations and/or rights consistent with this\n+      License. However, in accepting such obligations, You may act only\n+      on Your own behalf and on Your sole responsibility, not on behalf\n+      of any other Contributor, and only if You agree to indemnify,\n+      defend, and hold each Contributor harmless for any liability\n+      incurred by, or claims asserted against, such Contributor by reason\n+      of your accepting any such warranty or additional liability.\n+\n+   END OF TERMS AND CONDITIONS\n+\n+   APPENDIX: How to apply the Apache License to your work.\n+\n+      To apply the Apache License to your work, attach the following\n+      boilerplate notice, with the fields enclosed by brackets "[]"\n+      replaced with your own identifying information. (Don\'t include\n+      the brackets!)  The text should be enclosed in the appropriate\n+      comment syntax for the file format. We also recommend that a\n+      file or class name and description of purpose be included on the\n+      same "printed page" as the copyright notice for easier\n+      identification within third-party archives.\n+\n+   Copyright 2012 University of Minnesota\n+\n+   Licensed under the Apache License, Version 2.0 (the "License");\n+   you may not use this file except in compliance with the License.\n+   You may obtain a copy of the License at\n+\n+       http://www.apache.org/licenses/LICENSE-2.0\n+\n+   Unless required by applicable law or agreed to in writing, software\n+   distributed under the License is distributed on an "AS IS" BASIS,\n+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+   See the License for the specific language governing permissions and\n+   limitations under the License.\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README.md Mon Feb 17 16:42:53 2014 -0500
b
@@ -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.
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_GALAXYP.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_GALAXYP.md Mon Feb 17 16:42:53 2014 -0500
b
@@ -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.
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_REPO.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/README_REPO.md Mon Feb 17 16:42:53 2014 -0500
b
@@ -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+).
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/TODO
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/TODO Mon Feb 17 16:42:53 2014 -0500
b
@@ -0,0 +1,1 @@
+Add precursorRefine option.
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert.xml.template
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert.xml.template Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,393 @@\n+<tool id="msconvert$VERSION$DESCRIPTION" name="msconvert$VERSION$DESCRIPTION" version="0.1.0">\n+  <!-- BEGIN_VERSION_RAW -->\n+  <description>Convert and filter a Thermo Finnigan RAW file</description>\n+  <!-- END_VERSION_RAW -->\n+  <!-- BEGIN_VERSION_DEFAULT -->\n+  <description>Convert and filter a mass spec peak list</description>\n+  <!-- END_VERSION_DEFAULT -->\n+\n+  <command interpreter="python">\n+    #set $ext = $input.ext\n+    #if $ext.startswith("m:")\n+    #set $ext = $ext[len("m:"):]\n+    #end if\n+    msconvert_wrapper.py \n+    --input=${input}\n+    #if hasattr($input, \'display_name\')\n+    --input_name=\'${input.display_name}\'\n+    #end if\n+    --output=${output} \n+    ## BEGIN_VERSION_DEFAULT    \n+    --fromextension=$ext\n+    ## END_VERSION_DEFAULT\n+\n+    ## BEGIN_VERSION_RAW\n+    --fromextension=RAW\n+    ## END_VERSION_RAW\n+\n+    --toextension=${output_type} \n+\n+    #if $settings.settingsType == "full"\n+    --binaryencoding=${settings.binary_encoding} \n+    --mzencoding=${settings.mz_encoding} \n+    --intensityencoding=${settings.intensity_encoding}\n+    --zlib=${settings.zlib}\n+    #end if\n+\n+    #if $filtering.filtering_use\n+\n+    #if $filtering.precursor_recalculation.value\n+    --filter "precursorRecalculation"\n+    #end if\n+\n+    #if $filtering.peak_picking.pick_peaks\n+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n+    #end if\n+\n+    #if str($filtering.activation) != "false"\n+    --filter "activation $filtering.activation"\n+    #end if\n+\n+    #if len($filtering.indices) > 0\n+    --filter "index\n+    #for $index in $filtering.indices\n+    [${index.from},${index.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #if len($filtering.scan_numbers) > 0\n+    --filter "scanNumber\n+    #for $scan_number in $filtering.scan_numbers\n+    [${scan_number.from},${scan_number.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #for threshold_entry in $filtering.threshold_repeat\n+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n+    #end for\n+\n+\n+    #if $filtering.strip_it.value\n+    --filter "stripIT"\n+    #end if\n+\n+    #if $filtering.filter_mz_windows.do_filter\n+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n+    #end if\n+\n+    \n+    #if $filtering.filter_ms_levels.do_filter\n+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n+    --filter "ETDFilter"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n+    --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"\n+    #end if\n+\n+    ## BEGIN_VERSION_3\n+\n+    #if $filtering.precursor_refine.value\n+    --filter "precursorRefine"\n+    #end if\n+\n+    #if $filtering.ms2denoise.denoise\n+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n+    #end if \n+\n+    #if str($filtering.ms2deisotope) == "true"\n+    --filter "MS2Deisotope"\n+    #end if\n+\n+    #if str($filtering.polarity) != "false"\n+    --filter "polarity $filtering.polarity"\n+    #end if\n+\n+    #if str($filtering.analyzer) != "false"\n+    --filter "analyzer $filtering.analyzer"\n+    #end if\n+\n+    ## END_VERSION_3\n+\n+    #end if\n+\n+  </command>\n+\n+  <inputs>\n+    <!-- BEGIN_VERSION_RAW -->\n+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>\n+    <!-- END_VERSION_RAW -->\n+\n+    <!-- BEGIN_VERSION_DEFAULT -->\n+    <conditional name="type">\n+      <param name="input_ty'..b'no</option>\n+            </param>\n+          </when>\n+        </conditional>\n+\n+\n+        <!-- BEGIN_VERSION_3 -->\n+        <conditional name="ms2denoise">\n+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n+          <when value="true">\n+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n+          </when>\n+          <when value="false" />\n+        </conditional>\n+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n+\n+        <param name="polarity" type="select" label="Filter by Polarity">\n+          <option value="false" selected="true">no</option>\n+          <option value="positive">positive</option>\n+          <option value="negative">negative</option>\n+        </param>\n+\n+        <param name="analyzer" type="select" label="Filter by Analyzer">\n+          <option value="false" selected="true">no</option>\n+          <option value="quad">quad</option>\n+          <option value="orbi">orbi</option>\n+          <option value="FT">FT</option>\n+          <option value="IT">IT</option>\n+          <option value="TOF">TOF</option>\n+        </param>\n+        <!-- END_VERSION_3 -->\n+      </when>\n+    </conditional>\n+\n+    <conditional name="settings">\n+      <param name="settingsType" type="select" label="Advanced Settings" help="">\n+        <option value="default">Use Defaults</option>\n+        <option value="full">Full Parameter List</option>\n+      </param>\n+      <when value="default" />\n+      <when value="full">\n+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n+          <option value="64">64</option>\n+          <option value="32" selected="true">32</option>\n+        </param>\n+        <param type="boolean" name="zlib" label="Use zlib">      \n+        </param>\n+      </when>\n+    </conditional>\n+\n+\n+  </inputs>\n+  <outputs>\n+    <data format="mzml" name="output">\n+      <change_format>\n+        <when input="output_type" value="mzXML" format="mzxml" />\n+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n+        <when input="output_type" value="ms2" format="ms2" />\n+        <when input="output_type" value="mgf" format="mgf" />\n+      </change_format>\n+    </data>\n+  </outputs>\n+\n+  <requirements>\n+    <requirement type="package">proteowizard</requirement>    \n+    <!-- BEGIN_VERSION_RAW -->\n+    <requirement type="platform">windows</requirement>\n+    <!-- END_VERSION_RAW -->    \n+  </requirements>\n+\n+  <help>\n+**What it does**\n+\n+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n+\n+You can view the original documentation here_.\n+    \n+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n+\n+------\n+\n+**Citation**\n+\n+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.`\n+\n+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n+\n+  </help>\n+</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2.xml Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,315 @@\n+<tool id="msconvert2" name="msconvert2" version="0.2.1">\n+  <!-- BEGIN_VERSION_DEFAULT -->\n+  <description>Convert and filter a mass spec peak list</description>\n+  <!-- END_VERSION_DEFAULT -->\n+  <requirements>\n+    <requirement type="package">proteowizard</requirement>\n+  </requirements>\n+  <command interpreter="python">\n+    #set $ext = $input.ext\n+    #if $ext.startswith("m:")\n+    #set $ext = $ext[len("m:"):]\n+    #end if\n+    msconvert_wrapper.py \n+    --input=${input}\n+    #if hasattr($input, \'display_name\')\n+    --input_name=\'${input.display_name}\'\n+    #end if\n+    --output=${output} \n+    ## BEGIN_VERSION_DEFAULT    \n+    --fromextension=$ext\n+    ## END_VERSION_DEFAULT\n+\n+\n+    --toextension=${output_type} \n+\n+    #if $settings.settingsType == "full"\n+    --binaryencoding=${settings.binary_encoding} \n+    --mzencoding=${settings.mz_encoding} \n+    --intensityencoding=${settings.intensity_encoding}\n+    --zlib=${settings.zlib}\n+    #end if\n+\n+    #if $filtering.filtering_use\n+\n+    #if $filtering.precursor_recalculation.value\n+    --filter "precursorRecalculation"\n+    #end if\n+\n+    #if $filtering.peak_picking.pick_peaks\n+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n+    #end if\n+\n+    #if str($filtering.activation) != "false"\n+    --filter "activation $filtering.activation"\n+    #end if\n+\n+    #if len($filtering.indices) > 0\n+    --filter "index\n+    #for $index in $filtering.indices\n+    [${index.from},${index.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #if len($filtering.scan_numbers) > 0\n+    --filter "scanNumber\n+    #for $scan_number in $filtering.scan_numbers\n+    [${scan_number.from},${scan_number.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #for threshold_entry in $filtering.threshold_repeat\n+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n+    #end for\n+\n+\n+    #if $filtering.strip_it.value\n+    --filter "stripIT"\n+    #end if\n+\n+    #if $filtering.filter_mz_windows.do_filter\n+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n+    #end if\n+\n+    \n+    #if $filtering.filter_ms_levels.do_filter\n+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n+    --filter "ETDFilter"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n+    --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"\n+    #end if\n+\n+\n+    #end if\n+\n+  </command>\n+\n+  <inputs>\n+\n+    <!-- BEGIN_VERSION_DEFAULT -->\n+    <conditional name="type">\n+      <param name="input_type" type="select" label="Input Type">\n+        <option value="mzml">mzML</option>\n+        <option value="mzxml">mzXML</option>\n+        <option value="mgf">mgf</option>\n+        <option value="ms2">ms2</option>\n+      </param>\n+      <when value="mzml">\n+        <param format="mzml" name="input" type="data" label="Input mzML"/>\n+      </when>\n+      <when value="mzxml">\n+        <param format="mzxml" name="input" type="data" label="Input mzXML"/>\n+      </when>\n+      <when value="mgf">\n+        <param format="mgf" name="input" type="data" label="Input mgf"/>\n+      </when>\n+      <when value="ms2">\n+        <param format="ms2" name="input" type="data" label="Input ms2"/>\n+      </when>\n+    </conditional>\n+    <!-- END_VERSION_DEFAULT -->    \n+    <param name="output_type" type="select" label="Output Type">\n+      <option value="mzML">mzML (indexed)</option>\n+      <option value="unindexed_mzML">mzML ('..b'ect" label="ETD Filtering">\n+            <option value="none" selected="true">none</option>\n+            <option value="default">yes (with default options)</option>\n+            <option value="advanced">yes (show advanced options) </option>\n+          </param>\n+          <when value="none" />\n+          <when value="default" />\n+          <when value="advanced">\n+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">\n+            </param>\n+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">\n+              <option value="MZ" selected="true">mz</option>              \n+              <option value="PPM">ppm</option>\n+            </param>\n+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>            \n+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+          </when>\n+        </conditional>\n+\n+\n+      </when>\n+    </conditional>\n+\n+    <conditional name="settings">\n+      <param name="settingsType" type="select" label="Advanced Settings" help="">\n+        <option value="default">Use Defaults</option>\n+        <option value="full">Full Parameter List</option>\n+      </param>\n+      <when value="default" />\n+      <when value="full">\n+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n+          <option value="64">64</option>\n+          <option value="32" selected="true">32</option>\n+        </param>\n+        <param type="boolean" name="zlib" label="Use zlib">      \n+        </param>\n+      </when>\n+    </conditional>\n+\n+\n+  </inputs>\n+  <outputs>\n+    <data format="mzml" name="output">\n+      <change_format>\n+        <when input="output_type" value="mzXML" format="mzxml" />\n+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n+        <when input="output_type" value="ms2" format="ms2" />\n+        <when input="output_type" value="mgf" format="mgf" />\n+      </change_format>\n+    </data>\n+  </outputs>\n+  <help>\n+**What it does**\n+\n+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n+\n+You can view the original documentation here_.\n+    \n+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n+\n+------\n+\n+**Citation**\n+\n+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.`\n+\n+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n+\n+  </help>\n+</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2_raw.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert2_raw.xml Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,299 @@\n+<tool id="msconvert2_raw" name="msconvert2_raw" version="0.2.1">\n+  <!-- BEGIN_VERSION_RAW -->\n+  <description>Convert and filter a Thermo Finnigan RAW file</description>\n+  <!-- END_VERSION_RAW -->\n+  <requirements>\n+    <requirement type="package">proteowizard</requirement>\n+    <!-- BEGIN_VERSION_RAW -->\n+    <requirement type="platform">windows</requirement>\n+    <!-- END_VERSION_RAW -->\n+  </requirements>\n+  <command interpreter="python">\n+    #set $ext = $input.ext\n+    #if $ext.startswith("m:")\n+    #set $ext = $ext[len("m:"):]\n+    #end if\n+    msconvert_wrapper.py \n+    --input=${input}\n+    #if hasattr($input, \'display_name\')\n+    --input_name=\'${input.display_name}\'\n+    #end if\n+    --output=${output} \n+\n+    ## BEGIN_VERSION_RAW\n+    --fromextension=RAW\n+    ## END_VERSION_RAW\n+\n+    --toextension=${output_type} \n+\n+    #if $settings.settingsType == "full"\n+    --binaryencoding=${settings.binary_encoding} \n+    --mzencoding=${settings.mz_encoding} \n+    --intensityencoding=${settings.intensity_encoding}\n+    --zlib=${settings.zlib}\n+    #end if\n+\n+    #if $filtering.filtering_use\n+\n+    #if $filtering.precursor_recalculation.value\n+    --filter "precursorRecalculation"\n+    #end if\n+\n+    #if $filtering.peak_picking.pick_peaks\n+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n+    #end if\n+\n+    #if str($filtering.activation) != "false"\n+    --filter "activation $filtering.activation"\n+    #end if\n+\n+    #if len($filtering.indices) > 0\n+    --filter "index\n+    #for $index in $filtering.indices\n+    [${index.from},${index.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #if len($filtering.scan_numbers) > 0\n+    --filter "scanNumber\n+    #for $scan_number in $filtering.scan_numbers\n+    [${scan_number.from},${scan_number.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #for threshold_entry in $filtering.threshold_repeat\n+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n+    #end for\n+\n+\n+    #if $filtering.strip_it.value\n+    --filter "stripIT"\n+    #end if\n+\n+    #if $filtering.filter_mz_windows.do_filter\n+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n+    #end if\n+\n+    \n+    #if $filtering.filter_ms_levels.do_filter\n+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n+    --filter "ETDFilter"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n+    --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"\n+    #end if\n+\n+\n+    #end if\n+\n+  </command>\n+\n+  <inputs>\n+    <!-- BEGIN_VERSION_RAW -->\n+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>\n+    <!-- END_VERSION_RAW -->\n+\n+    <param name="output_type" type="select" label="Output Type">\n+      <option value="mzML">mzML (indexed)</option>\n+      <option value="unindexed_mzML">mzML (unindexed)</option>\n+      <option value="mzXML">mzXML (indexed)</option>      \n+      <option value="unindexed_mzXML">mzXML (unindexed)</option>\n+      <option value="mgf">mgf</option>\n+      <option value="ms2">ms2</option>  \n+    </param>    \n+    <conditional name="filtering">\n+      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />\n+      <when value="false" />\n+      <when value="true">\n+        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />\n+\n+\n+        <conditional name="peak_'..b'ect" label="ETD Filtering">\n+            <option value="none" selected="true">none</option>\n+            <option value="default">yes (with default options)</option>\n+            <option value="advanced">yes (show advanced options) </option>\n+          </param>\n+          <when value="none" />\n+          <when value="default" />\n+          <when value="advanced">\n+            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">\n+            </param>\n+            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">\n+              <option value="MZ" selected="true">mz</option>              \n+              <option value="PPM">ppm</option>\n+            </param>\n+            <param name="remove_precursor" type="select" label="ETD Remove Precursor">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>            \n+            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+          </when>\n+        </conditional>\n+\n+\n+      </when>\n+    </conditional>\n+\n+    <conditional name="settings">\n+      <param name="settingsType" type="select" label="Advanced Settings" help="">\n+        <option value="default">Use Defaults</option>\n+        <option value="full">Full Parameter List</option>\n+      </param>\n+      <when value="default" />\n+      <when value="full">\n+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n+          <option value="64">64</option>\n+          <option value="32" selected="true">32</option>\n+        </param>\n+        <param type="boolean" name="zlib" label="Use zlib">      \n+        </param>\n+      </when>\n+    </conditional>\n+\n+\n+  </inputs>\n+  <outputs>\n+    <data format="mzml" name="output">\n+      <change_format>\n+        <when input="output_type" value="mzXML" format="mzxml" />\n+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n+        <when input="output_type" value="ms2" format="ms2" />\n+        <when input="output_type" value="mgf" format="mgf" />\n+      </change_format>\n+    </data>\n+  </outputs>\n+  <help>\n+**What it does**\n+\n+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n+\n+You can view the original documentation here_.\n+    \n+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n+\n+------\n+\n+**Citation**\n+\n+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.`\n+\n+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n+\n+  </help>\n+</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3.xml Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,378 @@\n+<tool id="msconvert3" name="msconvert3" version="0.2.1">\n+  <!-- BEGIN_VERSION_DEFAULT -->\n+  <description>Convert and filter a mass spec peak list</description>\n+  <!-- END_VERSION_DEFAULT -->\n+  <requirements>\n+    <requirement type="package">proteowizard</requirement>\n+  </requirements>\n+  <command interpreter="python">\n+    #set $ext = $input.ext\n+    #if $ext.startswith("m:")\n+    #set $ext = $ext[len("m:"):]\n+    #end if\n+    msconvert_wrapper.py \n+    --input=${input}\n+    #if hasattr($input, \'display_name\')\n+    --input_name=\'${input.display_name}\'\n+    #end if\n+    --output=${output} \n+    ## BEGIN_VERSION_DEFAULT\n+    --fromextension=$ext\n+    ## END_VERSION_DEFAULT\n+\n+\n+    --toextension=${output_type} \n+\n+    #if $settings.settingsType == "full"\n+    --binaryencoding=${settings.binary_encoding} \n+    --mzencoding=${settings.mz_encoding} \n+    --intensityencoding=${settings.intensity_encoding}\n+    --zlib=${settings.zlib}\n+    #end if\n+\n+    #if $filtering.filtering_use\n+\n+    #if $filtering.precursor_recalculation.value\n+    --filter "precursorRecalculation"\n+    #end if\n+\n+    #if $filtering.peak_picking.pick_peaks\n+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n+    #end if\n+\n+    #if str($filtering.activation) != "false"\n+    --filter "activation $filtering.activation"\n+    #end if\n+\n+    #if len($filtering.indices) > 0\n+    --filter "index\n+    #for $index in $filtering.indices\n+    [${index.from},${index.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #if len($filtering.scan_numbers) > 0\n+    --filter "scanNumber\n+    #for $scan_number in $filtering.scan_numbers\n+    [${scan_number.from},${scan_number.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #for threshold_entry in $filtering.threshold_repeat\n+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n+    #end for\n+\n+\n+    #if $filtering.strip_it.value\n+    --filter "stripIT"\n+    #end if\n+\n+    #if $filtering.filter_mz_windows.do_filter\n+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n+    #end if\n+\n+    \n+    #if $filtering.filter_ms_levels.do_filter\n+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n+    --filter "ETDFilter"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n+    --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"\n+    #end if\n+\n+    ## BEGIN_VERSION_3\n+\n+    #if $filtering.precursor_refine.value\n+    --filter "precursorRefine"\n+    #end if\n+\n+    #if $filtering.ms2denoise.denoise\n+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n+    #end if \n+\n+    #if str($filtering.ms2deisotope) == "true"\n+    --filter "MS2Deisotope"\n+    #end if\n+\n+    #if str($filtering.polarity) != "false"\n+    --filter "polarity $filtering.polarity"\n+    #end if\n+\n+    #if str($filtering.analyzer) != "false"\n+    --filter "analyzer $filtering.analyzer"\n+    #end if\n+\n+    ## END_VERSION_3\n+\n+    #end if\n+\n+  </command>\n+\n+  <inputs>\n+\n+    <!-- BEGIN_VERSION_DEFAULT -->\n+    <conditional name="type">\n+      <param name="input_type" type="select" label="Input Type">\n+        <option value="mzml">mzML</option>\n+        <option value="mzxml">mzXML</option>\n+        <option value="mgf">mgf</option>\n+        <option value="ms2">ms2</option>\n+      </param>\n+      <when value="mzml">\n+        <param format="mzml" name="input" type="'..b'           </param>\n+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+          </when>\n+        </conditional>\n+\n+\n+        <!-- BEGIN_VERSION_3 -->\n+        <conditional name="ms2denoise">\n+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n+          <when value="true">\n+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n+          </when>\n+          <when value="false" />\n+        </conditional>\n+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n+\n+        <param name="polarity" type="select" label="Filter by Polarity">\n+          <option value="false" selected="true">no</option>\n+          <option value="positive">positive</option>\n+          <option value="negative">negative</option>\n+        </param>\n+\n+        <param name="analyzer" type="select" label="Filter by Analyzer">\n+          <option value="false" selected="true">no</option>\n+          <option value="quad">quad</option>\n+          <option value="orbi">orbi</option>\n+          <option value="FT">FT</option>\n+          <option value="IT">IT</option>\n+          <option value="TOF">TOF</option>\n+        </param>\n+        <!-- END_VERSION_3 -->\n+      </when>\n+    </conditional>\n+\n+    <conditional name="settings">\n+      <param name="settingsType" type="select" label="Advanced Settings" help="">\n+        <option value="default">Use Defaults</option>\n+        <option value="full">Full Parameter List</option>\n+      </param>\n+      <when value="default" />\n+      <when value="full">\n+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n+          <option value="64">64</option>\n+          <option value="32" selected="true">32</option>\n+        </param>\n+        <param type="boolean" name="zlib" label="Use zlib">      \n+        </param>\n+      </when>\n+    </conditional>\n+\n+\n+  </inputs>\n+  <outputs>\n+    <data format="mzml" name="output">\n+      <change_format>\n+        <when input="output_type" value="mzXML" format="mzxml" />\n+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n+        <when input="output_type" value="ms2" format="ms2" />\n+        <when input="output_type" value="mgf" format="mgf" />\n+      </change_format>\n+    </data>\n+  </outputs>\n+  <help>\n+**What it does**\n+\n+Allows interconversion within various mass spectrometry peak list formats. Additional options such as filtering and/or precursor recalculation are available.\n+\n+You can view the original documentation here_.\n+    \n+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n+\n+------\n+\n+**Citation**\n+\n+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.`\n+\n+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n+\n+  </help>\n+</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3_raw.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert3_raw.xml Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,362 @@\n+<tool id="msconvert3_raw" name="msconvert3_raw" version="0.2.1">\n+  <!-- BEGIN_VERSION_RAW -->\n+  <description>Convert and filter a Thermo Finnigan RAW file</description>\n+  <!-- END_VERSION_RAW -->\n+  <requirements>\n+    <requirement type="package">proteowizard</requirement>\n+    <!-- BEGIN_VERSION_RAW -->\n+    <requirement type="platform">windows</requirement>\n+    <!-- END_VERSION_RAW -->\n+  </requirements>\n+  <command interpreter="python">\n+    #set $ext = $input.ext\n+    #if $ext.startswith("m:")\n+    #set $ext = $ext[len("m:"):]\n+    #end if\n+    msconvert_wrapper.py \n+    --input=${input}\n+    #if hasattr($input, \'display_name\')\n+    --input_name=\'${input.display_name}\'\n+    #end if\n+    --output=${output} \n+\n+    ## BEGIN_VERSION_RAW\n+    --fromextension=RAW\n+    ## END_VERSION_RAW\n+\n+    --toextension=${output_type} \n+\n+    #if $settings.settingsType == "full"\n+    --binaryencoding=${settings.binary_encoding} \n+    --mzencoding=${settings.mz_encoding} \n+    --intensityencoding=${settings.intensity_encoding}\n+    --zlib=${settings.zlib}\n+    #end if\n+\n+    #if $filtering.filtering_use\n+\n+    #if $filtering.precursor_recalculation.value\n+    --filter "precursorRecalculation"\n+    #end if\n+\n+    #if $filtering.peak_picking.pick_peaks\n+    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n+    #end if\n+\n+    #if str($filtering.activation) != "false"\n+    --filter "activation $filtering.activation"\n+    #end if\n+\n+    #if len($filtering.indices) > 0\n+    --filter "index\n+    #for $index in $filtering.indices\n+    [${index.from},${index.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #if len($filtering.scan_numbers) > 0\n+    --filter "scanNumber\n+    #for $scan_number in $filtering.scan_numbers\n+    [${scan_number.from},${scan_number.to}]\n+    #end for\n+    "\n+    #end if\n+\n+    #for threshold_entry in $filtering.threshold_repeat\n+    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n+    #end for\n+\n+\n+    #if $filtering.strip_it.value\n+    --filter "stripIT"\n+    #end if\n+\n+    #if $filtering.filter_mz_windows.do_filter\n+    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n+    #end if\n+\n+    \n+    #if $filtering.filter_ms_levels.do_filter\n+    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n+    --filter "ETDFilter"\n+    #end if\n+\n+    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n+    --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"\n+    #end if\n+\n+    ## BEGIN_VERSION_3\n+\n+    #if $filtering.precursor_refine.value\n+    --filter "precursorRefine"\n+    #end if\n+\n+    #if $filtering.ms2denoise.denoise\n+    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n+    #end if \n+\n+    #if str($filtering.ms2deisotope) == "true"\n+    --filter "MS2Deisotope"\n+    #end if\n+\n+    #if str($filtering.polarity) != "false"\n+    --filter "polarity $filtering.polarity"\n+    #end if\n+\n+    #if str($filtering.analyzer) != "false"\n+    --filter "analyzer $filtering.analyzer"\n+    #end if\n+\n+    ## END_VERSION_3\n+\n+    #end if\n+\n+  </command>\n+\n+  <inputs>\n+    <!-- BEGIN_VERSION_RAW -->\n+    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input" help="select input file in RAW format"/>\n+    <!-- END_VERSION_RAW -->\n+\n+    <param name="output_type" type="select" label="Output Type">\n+      <option value="mzML">mzML'..b'n>\n+            </param>\n+            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n+              <option value="true" selected="true">yes</option>              \n+              <option value="false">no</option>\n+            </param>\n+          </when>\n+        </conditional>\n+\n+\n+        <!-- BEGIN_VERSION_3 -->\n+        <conditional name="ms2denoise">\n+          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n+          <when value="true">\n+            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n+            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n+            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n+          </when>\n+          <when value="false" />\n+        </conditional>\n+        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n+\n+        <param name="polarity" type="select" label="Filter by Polarity">\n+          <option value="false" selected="true">no</option>\n+          <option value="positive">positive</option>\n+          <option value="negative">negative</option>\n+        </param>\n+\n+        <param name="analyzer" type="select" label="Filter by Analyzer">\n+          <option value="false" selected="true">no</option>\n+          <option value="quad">quad</option>\n+          <option value="orbi">orbi</option>\n+          <option value="FT">FT</option>\n+          <option value="IT">IT</option>\n+          <option value="TOF">TOF</option>\n+        </param>\n+        <!-- END_VERSION_3 -->\n+      </when>\n+    </conditional>\n+\n+    <conditional name="settings">\n+      <param name="settingsType" type="select" label="Advanced Settings" help="">\n+        <option value="default">Use Defaults</option>\n+        <option value="full">Full Parameter List</option>\n+      </param>\n+      <when value="default" />\n+      <when value="full">\n+        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n+          <option value="64" selected="true">64</option>\n+          <option value="32">32</option>\n+        </param>\n+        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n+          <option value="64">64</option>\n+          <option value="32" selected="true">32</option>\n+        </param>\n+        <param type="boolean" name="zlib" label="Use zlib">      \n+        </param>\n+      </when>\n+    </conditional>\n+\n+\n+  </inputs>\n+  <outputs>\n+    <data format="mzml" name="output">\n+      <change_format>\n+        <when input="output_type" value="mzXML" format="mzxml" />\n+        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n+        <when input="output_type" value="ms2" format="ms2" />\n+        <when input="output_type" value="mgf" format="mgf" />\n+      </change_format>\n+    </data>\n+  </outputs>\n+  <help>\n+**What it does**\n+\n+Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n+\n+You can view the original documentation here_.\n+    \n+.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n+\n+------\n+\n+**Citation**\n+\n+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.`\n+\n+If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n+\n+  </help>\n+</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_raw_wrapper.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_raw_wrapper.py Mon Feb 17 16:42:53 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__()
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_subset.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_subset.xml Mon Feb 17 16:42:53 2014 -0500
b
@@ -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>
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_wrapper.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/msconvert_wrapper.py Mon Feb 17 16:42:53 2014 -0500
[
b'@@ -0,0 +1,271 @@\n+#!/usr/bin/env python\n+import optparse\n+import os\n+import sys\n+import tempfile\n+import shutil\n+import subprocess\n+import re\n+import logging\n+\n+assert sys.version_info[:2] >= (2, 6)\n+\n+log = logging.getLogger(__name__)\n+working_directory = os.getcwd()\n+tmp_stderr_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix=\'.stderr\').name\n+tmp_stdout_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix=\'.stdout\').name\n+\n+\n+def stop_err(msg):\n+    sys.stderr.write("%s\\n" % msg)\n+    sys.exit()\n+\n+\n+def read_stderr():\n+    stderr = \'\'\n+    if(os.path.exists(tmp_stderr_name)):\n+        with open(tmp_stderr_name, \'rb\') as tmp_stderr:\n+            buffsize = 1048576\n+            try:\n+                while True:\n+                    stderr += tmp_stderr.read(buffsize)\n+                    if not stderr or len(stderr) % buffsize != 0:\n+                        break\n+            except OverflowError:\n+                pass\n+    return stderr\n+\n+\n+def execute(command, stdin=None):\n+    try:\n+        with open(tmp_stderr_name, \'wb\') as tmp_stderr:\n+            with open(tmp_stdout_name, \'wb\') as tmp_stdout:\n+                proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)\n+                returncode = proc.wait()\n+                if returncode != 0:\n+                    raise Exception("Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr()))\n+    finally:\n+        print open(tmp_stderr_name, "r").read()\n+        print open(tmp_stdout_name, "r").read()\n+\n+\n+def delete_file(path):\n+    if os.path.exists(path):\n+        try:\n+            os.remove(path)\n+        except:\n+            pass\n+\n+\n+def delete_directory(directory):\n+    if os.path.exists(directory):\n+        try:\n+            shutil.rmtree(directory)\n+        except:\n+            pass\n+\n+\n+def symlink(source, link_name):\n+    import platform\n+    if platform.system() == \'Windows\':\n+        try:\n+            import win32file\n+            win32file.CreateSymbolicLink(source, link_name, 1)\n+        except:\n+            shutil.copy(source, link_name)\n+    else:\n+        os.symlink(source, link_name)\n+\n+\n+def copy_to_working_directory(data_file, relative_path):\n+    if os.path.abspath(data_file) != os.path.abspath(relative_path):\n+        symlink(data_file, relative_path)\n+    return relative_path\n+\n+\n+def __main__():\n+    run_script()\n+\n+#ENDTEMPLATE\n+\n+to_extensions = [\'mzML\', \'mzXML\', \'unindexed_mzML\', \'unindexed_mzXML\', \'mgf\', \'txt\', \'ms2\', \'cms2\']\n+\n+\n+def str_to_bool(v):\n+    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """\n+    return v.lower() in ["yes", "true", "t", "1"]\n+\n+\n+def _add_filter(filters_file, contents):\n+    filters_file.write("filter=%s\\n" % contents)\n+\n+\n+def _skip_line(options, file_num, line_parts):\n+    file_num_column = options.filter_table_file_column\n+    if not file_num_column:\n+        return False\n+    else:\n+        target_file_num_val = str(file_num).strip()\n+        query_file_num_val = line_parts[int(file_num_column) - 1].strip()\n+        #print "target %s, query %s" % (target_file_num_val, query_file_num_val)\n+        return target_file_num_val != query_file_num_val\n+\n+\n+def _read_table_numbers(path, options, file_num=None):\n+    unique_numbers = set([])\n+    column_num = options.filter_table_column\n+    input = open(path, "r")\n+    first_line = True\n+    for line in input:\n+        if not line:\n+            continue\n+        line = line.strip()\n+        if line.startswith("#"):\n+            first_line = False\n+            continue\n+        if column_num == None:\n+            column = line\n+        else:\n+            line_parts = line.split("\\t")\n+            if _skip_line(options, file_num, line_parts):\n+                continue\n+            column = line_parts[int(column_num) - 1]\n+        match = re.match("\\d+", column)\n+        if match:\n+   '..b'ns.intensityencoding)\n+    return cmd\n+\n+\n+def _run(base_cmd, output_dir=\'output\', inputs=[], debug=False):\n+    inputs_as_str = " ".join([\'%s\' % shellquote(input) for input in inputs])\n+    os.mkdir(output_dir)\n+    cmd = "%s -o %s %s" % (base_cmd, shellquote(output_dir), inputs_as_str)\n+    if debug:\n+        print cmd\n+    execute(cmd)\n+    output_files = os.listdir(output_dir)\n+    assert len(output_files) == 1\n+    output_file = output_files[0]\n+    return os.path.join(output_dir, output_file)\n+\n+\n+def run_script():\n+    parser = optparse.OptionParser()\n+    parser.add_option(\'--input\', dest=\'inputs\', action=\'append\', default=[])\n+    parser.add_option(\'--input_name\', dest=\'input_names\', action=\'append\', default=[])\n+    parser.add_option(\'--output\', dest=\'output\')\n+    parser.add_option(\'--fromextension\', dest=\'fromextension\')\n+    parser.add_option(\'--toextension\', dest=\'toextension\', default=\'mzML\', choices=to_extensions)\n+    parser.add_option(\'--binaryencoding\', dest=\'binaryencoding\', choices=[\'32\', \'64\'])\n+    parser.add_option(\'--mzencoding\', dest=\'mzencoding\', choices=[\'32\', \'64\'])\n+    parser.add_option(\'--intensityencoding\', dest=\'intensityencoding\', choices=[\'32\', \'64\'])\n+    parser.add_option(\'--zlib\', dest=\'zlib\', default="false")\n+    parser.add_option(\'--filter\', dest=\'filter\', action=\'append\', default=[])\n+    parser.add_option(\'--filters_file\', dest=\'filters_file\', default=None)\n+    parser.add_option(\'--filter_table\', default=None)\n+    parser.add_option(\'--filter_table_type\', default=\'index\', choices=[\'index\', \'number\'])\n+    parser.add_option(\'--filter_table_column\', default=None)\n+    parser.add_option(\'--filter_table_file_column\', default=None)\n+    parser.add_option(\'--debug\', dest=\'debug\', action=\'store_true\', default=False)\n+\n+    (options, args) = parser.parse_args()\n+    if len(options.inputs) < 1:\n+        stop_err("No input files to msconvert specified")\n+    if len(options.input_names) > 0 and len(options.input_names) != len(options.inputs):\n+        stop_err("Number(s) of supplied input names and input files do not match")\n+    if not options.output:\n+        stop_err("Must specify output location")\n+    input_files = []\n+    for i, input in enumerate(options.inputs):\n+        input_base = None\n+        if len(options.input_names) > i:\n+            input_base = options.input_names[i]\n+        if not input_base:\n+            input_base = \'input%s\' % i\n+        if not input_base.lower().endswith(options.fromextension.lower()):\n+            input_file = \'%s.%s\' % (input_base, options.fromextension)\n+        else:\n+            input_file = input_base\n+        input_file = input_file\n+        copy_to_working_directory(input, input_file)\n+        input_files.append(input_file)\n+\n+    cmd = _build_base_cmd(options)\n+    file_column = options.filter_table_file_column\n+    if not file_column:\n+        # Apply same filters to all files, just create a unviersal filter files\n+        # and run msconvert once.\n+        filters_file_path = _create_filters_file(options, debug=options.debug)\n+        cmd = "%s -c %s" % (cmd, filters_file_path)\n+    else:\n+        # Dispatching on a column to filter different files differently, need to filter\n+        # each input once with msconvert and then merge once.\n+        filtered_files = []\n+        for index, input_file in enumerate(input_files):\n+            filters_file_path = _create_filters_file(options, index + 1, debug=options.debug)\n+            filter_cmd = "%s -c %s" % (cmd, filters_file_path)\n+            filtered_output_file = _run(filter_cmd, output_dir=\'output%d\' % index, inputs=[input_file], debug=options.debug)\n+            filtered_files.append(filtered_output_file)\n+        input_files = filtered_files\n+    if len(input_files) > 1:\n+        cmd = "%s --merge" % cmd\n+    output_file = _run(cmd, output_dir=\'output\', inputs=input_files, debug=options.debug)\n+    shutil.copy(output_file, options.output)\n+\n+\n+if __name__ == \'__main__\':\n+    __main__()\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/repository_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/repository_dependencies.xml Mon Feb 17 16:42:53 2014 -0500
b
@@ -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>
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/tool_dependencies.xml Mon Feb 17 16:42:53 2014 -0500
b
@@ -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>
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update.sh Mon Feb 17 16:42:53 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
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update_repo.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/update_repo.sh Mon Feb 17 16:42:53 2014 -0500
b
@@ -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
+
b
diff -r 08bb52273ae1 -r ffe1dca94595 galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/version
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/galaxyp-galaxyp-toolshed-msconvert-d5dd196252d2/version Mon Feb 17 16:42:53 2014 -0500
b
@@ -0,0 +1,1 @@
+0.2.1
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert.xml.template
--- a/msconvert.xml.template Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,393 +0,0 @@\n-<tool id="msconvert$VERSION$DESCRIPTION" name="msconvert$VERSION$DESCRIPTION" version="0.1.0">\n-  <!-- BEGIN_VERSION_RAW -->\n-  <description>Convert and filter a Thermo Finnigan RAW file</description>\n-  <!-- END_VERSION_RAW -->\n-  <!-- BEGIN_VERSION_DEFAULT -->\n-  <description>Convert and filter a mass spec peak list</description>\n-  <!-- END_VERSION_DEFAULT -->\n-\n-  <command interpreter="python">\n-    #set $ext = $input.ext\n-    #if $ext.startswith("m:")\n-    #set $ext = $ext[len("m:"):]\n-    #end if\n-    msconvert_wrapper.py \n-    --input=${input}\n-    #if hasattr($input, \'display_name\')\n-    --input_name=\'${input.display_name}\'\n-    #end if\n-    --output=${output} \n-    ## BEGIN_VERSION_DEFAULT    \n-    --fromextension=$ext\n-    ## END_VERSION_DEFAULT\n-\n-    ## BEGIN_VERSION_RAW\n-    --fromextension=RAW\n-    ## END_VERSION_RAW\n-\n-    --toextension=${output_type} \n-\n-    #if $settings.settingsType == "full"\n-    --binaryencoding=${settings.binary_encoding} \n-    --mzencoding=${settings.mz_encoding} \n-    --intensityencoding=${settings.intensity_encoding}\n-    --zlib=${settings.zlib}\n-    #end if\n-\n-    #if $filtering.filtering_use\n-\n-    #if $filtering.precursor_recalculation.value\n-    --filter "precursorRecalculation"\n-    #end if\n-\n-    #if $filtering.peak_picking.pick_peaks\n-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n-    #end if\n-\n-    #if str($filtering.activation) != "false"\n-    --filter "activation $filtering.activation"\n-    #end if\n-\n-    #if len($filtering.indices) > 0\n-    --filter "index\n-    #for $index in $filtering.indices\n-    [${index.from},${index.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #if len($filtering.scan_numbers) > 0\n-    --filter "scanNumber\n-    #for $scan_number in $filtering.scan_numbers\n-    [${scan_number.from},${scan_number.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #for threshold_entry in $filtering.threshold_repeat\n-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n-    #end for\n-\n-\n-    #if $filtering.strip_it.value\n-    --filter "stripIT"\n-    #end if\n-\n-    #if $filtering.filter_mz_windows.do_filter\n-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n-    #end if\n-\n-    \n-    #if $filtering.filter_ms_levels.do_filter\n-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n-    --filter "ETDFilter"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n-    --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"\n-    #end if\n-\n-    ## BEGIN_VERSION_3\n-\n-    #if $filtering.precursor_refine.value\n-    --filter "precursorRefine"\n-    #end if\n-\n-    #if $filtering.ms2denoise.denoise\n-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n-    #end if \n-\n-    #if str($filtering.ms2deisotope) == "true"\n-    --filter "MS2Deisotope"\n-    #end if\n-\n-    #if str($filtering.polarity) != "false"\n-    --filter "polarity $filtering.polarity"\n-    #end if\n-\n-    #if str($filtering.analyzer) != "false"\n-    --filter "analyzer $filtering.analyzer"\n-    #end if\n-\n-    ## END_VERSION_3\n-\n-    #end if\n-\n-  </command>\n-\n-  <inputs>\n-    <!-- BEGIN_VERSION_RAW -->\n-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>\n-    <!-- END_VERSION_RAW -->\n-\n-    <!-- BEGIN_VERSION_DEFAULT -->\n-    <conditional name="type">\n-      <param name="input_ty'..b'no</option>\n-            </param>\n-          </when>\n-        </conditional>\n-\n-\n-        <!-- BEGIN_VERSION_3 -->\n-        <conditional name="ms2denoise">\n-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n-          <when value="true">\n-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n-          </when>\n-          <when value="false" />\n-        </conditional>\n-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n-\n-        <param name="polarity" type="select" label="Filter by Polarity">\n-          <option value="false" selected="true">no</option>\n-          <option value="positive">positive</option>\n-          <option value="negative">negative</option>\n-        </param>\n-\n-        <param name="analyzer" type="select" label="Filter by Analyzer">\n-          <option value="false" selected="true">no</option>\n-          <option value="quad">quad</option>\n-          <option value="orbi">orbi</option>\n-          <option value="FT">FT</option>\n-          <option value="IT">IT</option>\n-          <option value="TOF">TOF</option>\n-        </param>\n-        <!-- END_VERSION_3 -->\n-      </when>\n-    </conditional>\n-\n-    <conditional name="settings">\n-      <param name="settingsType" type="select" label="Advanced Settings" help="">\n-        <option value="default">Use Defaults</option>\n-        <option value="full">Full Parameter List</option>\n-      </param>\n-      <when value="default" />\n-      <when value="full">\n-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n-          <option value="64">64</option>\n-          <option value="32" selected="true">32</option>\n-        </param>\n-        <param type="boolean" name="zlib" label="Use zlib">      \n-        </param>\n-      </when>\n-    </conditional>\n-\n-\n-  </inputs>\n-  <outputs>\n-    <data format="mzml" name="output">\n-      <change_format>\n-        <when input="output_type" value="mzXML" format="mzxml" />\n-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n-        <when input="output_type" value="ms2" format="ms2" />\n-        <when input="output_type" value="mgf" format="mgf" />\n-      </change_format>\n-    </data>\n-  </outputs>\n-\n-  <requirements>\n-    <requirement type="package">proteowizard</requirement>    \n-    <!-- BEGIN_VERSION_RAW -->\n-    <requirement type="platform">windows</requirement>\n-    <!-- END_VERSION_RAW -->    \n-  </requirements>\n-\n-  <help>\n-**What it does**\n-\n-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n-\n-You can view the original documentation here_.\n-    \n-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n-\n-------\n-\n-**Citation**\n-\n-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.`\n-\n-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n-\n-  </help>\n-</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert2.xml
--- a/msconvert2.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,315 +0,0 @@\n-<tool id="msconvert2" name="msconvert2" version="0.2.1">\n-  <!-- BEGIN_VERSION_DEFAULT -->\n-  <description>Convert and filter a mass spec peak list</description>\n-  <!-- END_VERSION_DEFAULT -->\n-  <requirements>\n-    <requirement type="package">proteowizard</requirement>\n-  </requirements>\n-  <command interpreter="python">\n-    #set $ext = $input.ext\n-    #if $ext.startswith("m:")\n-    #set $ext = $ext[len("m:"):]\n-    #end if\n-    msconvert_wrapper.py \n-    --input=${input}\n-    #if hasattr($input, \'display_name\')\n-    --input_name=\'${input.display_name}\'\n-    #end if\n-    --output=${output} \n-    ## BEGIN_VERSION_DEFAULT    \n-    --fromextension=$ext\n-    ## END_VERSION_DEFAULT\n-\n-\n-    --toextension=${output_type} \n-\n-    #if $settings.settingsType == "full"\n-    --binaryencoding=${settings.binary_encoding} \n-    --mzencoding=${settings.mz_encoding} \n-    --intensityencoding=${settings.intensity_encoding}\n-    --zlib=${settings.zlib}\n-    #end if\n-\n-    #if $filtering.filtering_use\n-\n-    #if $filtering.precursor_recalculation.value\n-    --filter "precursorRecalculation"\n-    #end if\n-\n-    #if $filtering.peak_picking.pick_peaks\n-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n-    #end if\n-\n-    #if str($filtering.activation) != "false"\n-    --filter "activation $filtering.activation"\n-    #end if\n-\n-    #if len($filtering.indices) > 0\n-    --filter "index\n-    #for $index in $filtering.indices\n-    [${index.from},${index.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #if len($filtering.scan_numbers) > 0\n-    --filter "scanNumber\n-    #for $scan_number in $filtering.scan_numbers\n-    [${scan_number.from},${scan_number.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #for threshold_entry in $filtering.threshold_repeat\n-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n-    #end for\n-\n-\n-    #if $filtering.strip_it.value\n-    --filter "stripIT"\n-    #end if\n-\n-    #if $filtering.filter_mz_windows.do_filter\n-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n-    #end if\n-\n-    \n-    #if $filtering.filter_ms_levels.do_filter\n-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n-    --filter "ETDFilter"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n-    --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"\n-    #end if\n-\n-\n-    #end if\n-\n-  </command>\n-\n-  <inputs>\n-\n-    <!-- BEGIN_VERSION_DEFAULT -->\n-    <conditional name="type">\n-      <param name="input_type" type="select" label="Input Type">\n-        <option value="mzml">mzML</option>\n-        <option value="mzxml">mzXML</option>\n-        <option value="mgf">mgf</option>\n-        <option value="ms2">ms2</option>\n-      </param>\n-      <when value="mzml">\n-        <param format="mzml" name="input" type="data" label="Input mzML"/>\n-      </when>\n-      <when value="mzxml">\n-        <param format="mzxml" name="input" type="data" label="Input mzXML"/>\n-      </when>\n-      <when value="mgf">\n-        <param format="mgf" name="input" type="data" label="Input mgf"/>\n-      </when>\n-      <when value="ms2">\n-        <param format="ms2" name="input" type="data" label="Input ms2"/>\n-      </when>\n-    </conditional>\n-    <!-- END_VERSION_DEFAULT -->    \n-    <param name="output_type" type="select" label="Output Type">\n-      <option value="mzML">mzML (indexed)</option>\n-      <option value="unindexed_mzML">mzML ('..b'ect" label="ETD Filtering">\n-            <option value="none" selected="true">none</option>\n-            <option value="default">yes (with default options)</option>\n-            <option value="advanced">yes (show advanced options) </option>\n-          </param>\n-          <when value="none" />\n-          <when value="default" />\n-          <when value="advanced">\n-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">\n-            </param>\n-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">\n-              <option value="MZ" selected="true">mz</option>              \n-              <option value="PPM">ppm</option>\n-            </param>\n-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>            \n-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-          </when>\n-        </conditional>\n-\n-\n-      </when>\n-    </conditional>\n-\n-    <conditional name="settings">\n-      <param name="settingsType" type="select" label="Advanced Settings" help="">\n-        <option value="default">Use Defaults</option>\n-        <option value="full">Full Parameter List</option>\n-      </param>\n-      <when value="default" />\n-      <when value="full">\n-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n-          <option value="64">64</option>\n-          <option value="32" selected="true">32</option>\n-        </param>\n-        <param type="boolean" name="zlib" label="Use zlib">      \n-        </param>\n-      </when>\n-    </conditional>\n-\n-\n-  </inputs>\n-  <outputs>\n-    <data format="mzml" name="output">\n-      <change_format>\n-        <when input="output_type" value="mzXML" format="mzxml" />\n-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n-        <when input="output_type" value="ms2" format="ms2" />\n-        <when input="output_type" value="mgf" format="mgf" />\n-      </change_format>\n-    </data>\n-  </outputs>\n-  <help>\n-**What it does**\n-\n-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n-\n-You can view the original documentation here_.\n-    \n-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n-\n-------\n-\n-**Citation**\n-\n-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.`\n-\n-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n-\n-  </help>\n-</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert2_raw.xml
--- a/msconvert2_raw.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,299 +0,0 @@\n-<tool id="msconvert2_raw" name="msconvert2_raw" version="0.2.1">\n-  <!-- BEGIN_VERSION_RAW -->\n-  <description>Convert and filter a Thermo Finnigan RAW file</description>\n-  <!-- END_VERSION_RAW -->\n-  <requirements>\n-    <requirement type="package">proteowizard</requirement>\n-    <!-- BEGIN_VERSION_RAW -->\n-    <requirement type="platform">windows</requirement>\n-    <!-- END_VERSION_RAW -->\n-  </requirements>\n-  <command interpreter="python">\n-    #set $ext = $input.ext\n-    #if $ext.startswith("m:")\n-    #set $ext = $ext[len("m:"):]\n-    #end if\n-    msconvert_wrapper.py \n-    --input=${input}\n-    #if hasattr($input, \'display_name\')\n-    --input_name=\'${input.display_name}\'\n-    #end if\n-    --output=${output} \n-\n-    ## BEGIN_VERSION_RAW\n-    --fromextension=RAW\n-    ## END_VERSION_RAW\n-\n-    --toextension=${output_type} \n-\n-    #if $settings.settingsType == "full"\n-    --binaryencoding=${settings.binary_encoding} \n-    --mzencoding=${settings.mz_encoding} \n-    --intensityencoding=${settings.intensity_encoding}\n-    --zlib=${settings.zlib}\n-    #end if\n-\n-    #if $filtering.filtering_use\n-\n-    #if $filtering.precursor_recalculation.value\n-    --filter "precursorRecalculation"\n-    #end if\n-\n-    #if $filtering.peak_picking.pick_peaks\n-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n-    #end if\n-\n-    #if str($filtering.activation) != "false"\n-    --filter "activation $filtering.activation"\n-    #end if\n-\n-    #if len($filtering.indices) > 0\n-    --filter "index\n-    #for $index in $filtering.indices\n-    [${index.from},${index.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #if len($filtering.scan_numbers) > 0\n-    --filter "scanNumber\n-    #for $scan_number in $filtering.scan_numbers\n-    [${scan_number.from},${scan_number.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #for threshold_entry in $filtering.threshold_repeat\n-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n-    #end for\n-\n-\n-    #if $filtering.strip_it.value\n-    --filter "stripIT"\n-    #end if\n-\n-    #if $filtering.filter_mz_windows.do_filter\n-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n-    #end if\n-\n-    \n-    #if $filtering.filter_ms_levels.do_filter\n-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n-    --filter "ETDFilter"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n-    --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"\n-    #end if\n-\n-\n-    #end if\n-\n-  </command>\n-\n-  <inputs>\n-    <!-- BEGIN_VERSION_RAW -->\n-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input"/>\n-    <!-- END_VERSION_RAW -->\n-\n-    <param name="output_type" type="select" label="Output Type">\n-      <option value="mzML">mzML (indexed)</option>\n-      <option value="unindexed_mzML">mzML (unindexed)</option>\n-      <option value="mzXML">mzXML (indexed)</option>      \n-      <option value="unindexed_mzXML">mzXML (unindexed)</option>\n-      <option value="mgf">mgf</option>\n-      <option value="ms2">ms2</option>  \n-    </param>    \n-    <conditional name="filtering">\n-      <param name="filtering_use" type="boolean" label="Use Filtering?" help="" truevalue="true" falsevalue="false" />\n-      <when value="false" />\n-      <when value="true">\n-        <param type="boolean" name="precursor_recalculation" label="Recalculate Precursor?" />\n-\n-\n-        <conditional name="peak_'..b'ect" label="ETD Filtering">\n-            <option value="none" selected="true">none</option>\n-            <option value="default">yes (with default options)</option>\n-            <option value="advanced">yes (show advanced options) </option>\n-          </param>\n-          <when value="none" />\n-          <when value="default" />\n-          <when value="advanced">\n-            <param name="matching_tolerance" type="float" label="ETD Matching Tolernace" value="3.1">\n-            </param>\n-            <param name="matching_tolerance_units" type="select" label="Units for ETD Matching Tolerance">\n-              <option value="MZ" selected="true">mz</option>              \n-              <option value="PPM">ppm</option>\n-            </param>\n-            <param name="remove_precursor" type="select" label="ETD Remove Precursor">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-            <param name="remove_charge_reduced" type="select" label="ETD Remove Charge Reduced">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>            \n-            <param name="remove_neutral_loss" type="select" label="ETD Remove Neutral Loss">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-          </when>\n-        </conditional>\n-\n-\n-      </when>\n-    </conditional>\n-\n-    <conditional name="settings">\n-      <param name="settingsType" type="select" label="Advanced Settings" help="">\n-        <option value="default">Use Defaults</option>\n-        <option value="full">Full Parameter List</option>\n-      </param>\n-      <when value="default" />\n-      <when value="full">\n-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n-          <option value="64">64</option>\n-          <option value="32" selected="true">32</option>\n-        </param>\n-        <param type="boolean" name="zlib" label="Use zlib">      \n-        </param>\n-      </when>\n-    </conditional>\n-\n-\n-  </inputs>\n-  <outputs>\n-    <data format="mzml" name="output">\n-      <change_format>\n-        <when input="output_type" value="mzXML" format="mzxml" />\n-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n-        <when input="output_type" value="ms2" format="ms2" />\n-        <when input="output_type" value="mgf" format="mgf" />\n-      </change_format>\n-    </data>\n-  </outputs>\n-  <help>\n-**What it does**\n-\n-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n-\n-You can view the original documentation here_.\n-    \n-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n-\n-------\n-\n-**Citation**\n-\n-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.`\n-\n-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n-\n-  </help>\n-</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert3.xml
--- a/msconvert3.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,378 +0,0 @@\n-<tool id="msconvert3" name="msconvert3" version="0.2.1">\n-  <!-- BEGIN_VERSION_DEFAULT -->\n-  <description>Convert and filter a mass spec peak list</description>\n-  <!-- END_VERSION_DEFAULT -->\n-  <requirements>\n-    <requirement type="package">proteowizard</requirement>\n-  </requirements>\n-  <command interpreter="python">\n-    #set $ext = $input.ext\n-    #if $ext.startswith("m:")\n-    #set $ext = $ext[len("m:"):]\n-    #end if\n-    msconvert_wrapper.py \n-    --input=${input}\n-    #if hasattr($input, \'display_name\')\n-    --input_name=\'${input.display_name}\'\n-    #end if\n-    --output=${output} \n-    ## BEGIN_VERSION_DEFAULT\n-    --fromextension=$ext\n-    ## END_VERSION_DEFAULT\n-\n-\n-    --toextension=${output_type} \n-\n-    #if $settings.settingsType == "full"\n-    --binaryencoding=${settings.binary_encoding} \n-    --mzencoding=${settings.mz_encoding} \n-    --intensityencoding=${settings.intensity_encoding}\n-    --zlib=${settings.zlib}\n-    #end if\n-\n-    #if $filtering.filtering_use\n-\n-    #if $filtering.precursor_recalculation.value\n-    --filter "precursorRecalculation"\n-    #end if\n-\n-    #if $filtering.peak_picking.pick_peaks\n-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n-    #end if\n-\n-    #if str($filtering.activation) != "false"\n-    --filter "activation $filtering.activation"\n-    #end if\n-\n-    #if len($filtering.indices) > 0\n-    --filter "index\n-    #for $index in $filtering.indices\n-    [${index.from},${index.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #if len($filtering.scan_numbers) > 0\n-    --filter "scanNumber\n-    #for $scan_number in $filtering.scan_numbers\n-    [${scan_number.from},${scan_number.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #for threshold_entry in $filtering.threshold_repeat\n-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n-    #end for\n-\n-\n-    #if $filtering.strip_it.value\n-    --filter "stripIT"\n-    #end if\n-\n-    #if $filtering.filter_mz_windows.do_filter\n-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n-    #end if\n-\n-    \n-    #if $filtering.filter_ms_levels.do_filter\n-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n-    --filter "ETDFilter"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n-    --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"\n-    #end if\n-\n-    ## BEGIN_VERSION_3\n-\n-    #if $filtering.precursor_refine.value\n-    --filter "precursorRefine"\n-    #end if\n-\n-    #if $filtering.ms2denoise.denoise\n-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n-    #end if \n-\n-    #if str($filtering.ms2deisotope) == "true"\n-    --filter "MS2Deisotope"\n-    #end if\n-\n-    #if str($filtering.polarity) != "false"\n-    --filter "polarity $filtering.polarity"\n-    #end if\n-\n-    #if str($filtering.analyzer) != "false"\n-    --filter "analyzer $filtering.analyzer"\n-    #end if\n-\n-    ## END_VERSION_3\n-\n-    #end if\n-\n-  </command>\n-\n-  <inputs>\n-\n-    <!-- BEGIN_VERSION_DEFAULT -->\n-    <conditional name="type">\n-      <param name="input_type" type="select" label="Input Type">\n-        <option value="mzml">mzML</option>\n-        <option value="mzxml">mzXML</option>\n-        <option value="mgf">mgf</option>\n-        <option value="ms2">ms2</option>\n-      </param>\n-      <when value="mzml">\n-        <param format="mzml" name="input" type="'..b'           </param>\n-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-          </when>\n-        </conditional>\n-\n-\n-        <!-- BEGIN_VERSION_3 -->\n-        <conditional name="ms2denoise">\n-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n-          <when value="true">\n-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n-          </when>\n-          <when value="false" />\n-        </conditional>\n-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n-\n-        <param name="polarity" type="select" label="Filter by Polarity">\n-          <option value="false" selected="true">no</option>\n-          <option value="positive">positive</option>\n-          <option value="negative">negative</option>\n-        </param>\n-\n-        <param name="analyzer" type="select" label="Filter by Analyzer">\n-          <option value="false" selected="true">no</option>\n-          <option value="quad">quad</option>\n-          <option value="orbi">orbi</option>\n-          <option value="FT">FT</option>\n-          <option value="IT">IT</option>\n-          <option value="TOF">TOF</option>\n-        </param>\n-        <!-- END_VERSION_3 -->\n-      </when>\n-    </conditional>\n-\n-    <conditional name="settings">\n-      <param name="settingsType" type="select" label="Advanced Settings" help="">\n-        <option value="default">Use Defaults</option>\n-        <option value="full">Full Parameter List</option>\n-      </param>\n-      <when value="default" />\n-      <when value="full">\n-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n-          <option value="64">64</option>\n-          <option value="32" selected="true">32</option>\n-        </param>\n-        <param type="boolean" name="zlib" label="Use zlib">      \n-        </param>\n-      </when>\n-    </conditional>\n-\n-\n-  </inputs>\n-  <outputs>\n-    <data format="mzml" name="output">\n-      <change_format>\n-        <when input="output_type" value="mzXML" format="mzxml" />\n-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n-        <when input="output_type" value="ms2" format="ms2" />\n-        <when input="output_type" value="mgf" format="mgf" />\n-      </change_format>\n-    </data>\n-  </outputs>\n-  <help>\n-**What it does**\n-\n-Allows interconversion within various mass spectrometry peak list formats. Additional options such as filtering and/or precursor recalculation are available.\n-\n-You can view the original documentation here_.\n-    \n-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n-\n-------\n-\n-**Citation**\n-\n-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.`\n-\n-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n-\n-  </help>\n-</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert3_raw.xml
--- a/msconvert3_raw.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,362 +0,0 @@\n-<tool id="msconvert3_raw" name="msconvert3_raw" version="0.2.1">\n-  <!-- BEGIN_VERSION_RAW -->\n-  <description>Convert and filter a Thermo Finnigan RAW file</description>\n-  <!-- END_VERSION_RAW -->\n-  <requirements>\n-    <requirement type="package">proteowizard</requirement>\n-    <!-- BEGIN_VERSION_RAW -->\n-    <requirement type="platform">windows</requirement>\n-    <!-- END_VERSION_RAW -->\n-  </requirements>\n-  <command interpreter="python">\n-    #set $ext = $input.ext\n-    #if $ext.startswith("m:")\n-    #set $ext = $ext[len("m:"):]\n-    #end if\n-    msconvert_wrapper.py \n-    --input=${input}\n-    #if hasattr($input, \'display_name\')\n-    --input_name=\'${input.display_name}\'\n-    #end if\n-    --output=${output} \n-\n-    ## BEGIN_VERSION_RAW\n-    --fromextension=RAW\n-    ## END_VERSION_RAW\n-\n-    --toextension=${output_type} \n-\n-    #if $settings.settingsType == "full"\n-    --binaryencoding=${settings.binary_encoding} \n-    --mzencoding=${settings.mz_encoding} \n-    --intensityencoding=${settings.intensity_encoding}\n-    --zlib=${settings.zlib}\n-    #end if\n-\n-    #if $filtering.filtering_use\n-\n-    #if $filtering.precursor_recalculation.value\n-    --filter "precursorRecalculation"\n-    #end if\n-\n-    #if $filtering.peak_picking.pick_peaks\n-    --filter "peakPicking $filtering.peak_picking.prefer_vendor_peaks $filtering.peak_picking.ms_levels"\n-    #end if\n-\n-    #if str($filtering.activation) != "false"\n-    --filter "activation $filtering.activation"\n-    #end if\n-\n-    #if len($filtering.indices) > 0\n-    --filter "index\n-    #for $index in $filtering.indices\n-    [${index.from},${index.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #if len($filtering.scan_numbers) > 0\n-    --filter "scanNumber\n-    #for $scan_number in $filtering.scan_numbers\n-    [${scan_number.from},${scan_number.to}]\n-    #end for\n-    "\n-    #end if\n-\n-    #for threshold_entry in $filtering.threshold_repeat\n-    --filter "threshold $threshold_entry.threshold.threshold_type $threshold_entry.threshold.value $threshold_entry.orientation"\n-    #end for\n-\n-\n-    #if $filtering.strip_it.value\n-    --filter "stripIT"\n-    #end if\n-\n-    #if $filtering.filter_mz_windows.do_filter\n-    --filter "mzWindow [$filtering.filter_mz_windows.from,$filtering.filter_mz_windows.to]"\n-    #end if\n-\n-    \n-    #if $filtering.filter_ms_levels.do_filter\n-    --filter "msLevel [$filtering.filter_ms_levels.from, $filtering.filter_ms_levels.to]"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "default"\n-    --filter "ETDFilter"\n-    #end if\n-\n-    #if str($filtering.etd_filtering.do_etd_filtering) == "advanced"\n-    --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"\n-    #end if\n-\n-    ## BEGIN_VERSION_3\n-\n-    #if $filtering.precursor_refine.value\n-    --filter "precursorRefine"\n-    #end if\n-\n-    #if $filtering.ms2denoise.denoise\n-    --filter "MS2Denoise $filtering.ms2denoise.num_peaks $filtering.ms2denoise.window_width $filtering.ms2denoise.relax"\n-    #end if \n-\n-    #if str($filtering.ms2deisotope) == "true"\n-    --filter "MS2Deisotope"\n-    #end if\n-\n-    #if str($filtering.polarity) != "false"\n-    --filter "polarity $filtering.polarity"\n-    #end if\n-\n-    #if str($filtering.analyzer) != "false"\n-    --filter "analyzer $filtering.analyzer"\n-    #end if\n-\n-    ## END_VERSION_3\n-\n-    #end if\n-\n-  </command>\n-\n-  <inputs>\n-    <!-- BEGIN_VERSION_RAW -->\n-    <param format="RAW" name="input" type="data" label="Thermo Finnigan RAW Input" help="select input file in RAW format"/>\n-    <!-- END_VERSION_RAW -->\n-\n-    <param name="output_type" type="select" label="Output Type">\n-      <option value="mzML">mzML'..b'n>\n-            </param>\n-            <param name="blanket_removal" type="select" label="ETD Blanket Removal">\n-              <option value="true" selected="true">yes</option>              \n-              <option value="false">no</option>\n-            </param>\n-          </when>\n-        </conditional>\n-\n-\n-        <!-- BEGIN_VERSION_3 -->\n-        <conditional name="ms2denoise">\n-          <param name="denoise" type="boolean" label="De-noise MS2 with moving window filter"  />\n-          <when value="true">\n-            <param name="num_peaks" label="De-noise: Number of peaks in window" value="6" type="integer" />\n-            <param name="window_width" type="float" label="De-noise: Window width (Daltons)" value="30" />\n-            <param name="relax" label="De-noise: Multicharge fragment relaxation" checked="true" type="boolean" truevalue="true" falsevalue="false" />\n-          </when>\n-          <when value="false" />\n-        </conditional>\n-        <param name="ms2deisotope" type="boolean" label="Deisotope MS2 using Markey method" help="" truevalue="true" falsevalue="false" />\n-\n-        <param name="polarity" type="select" label="Filter by Polarity">\n-          <option value="false" selected="true">no</option>\n-          <option value="positive">positive</option>\n-          <option value="negative">negative</option>\n-        </param>\n-\n-        <param name="analyzer" type="select" label="Filter by Analyzer">\n-          <option value="false" selected="true">no</option>\n-          <option value="quad">quad</option>\n-          <option value="orbi">orbi</option>\n-          <option value="FT">FT</option>\n-          <option value="IT">IT</option>\n-          <option value="TOF">TOF</option>\n-        </param>\n-        <!-- END_VERSION_3 -->\n-      </when>\n-    </conditional>\n-\n-    <conditional name="settings">\n-      <param name="settingsType" type="select" label="Advanced Settings" help="">\n-        <option value="default">Use Defaults</option>\n-        <option value="full">Full Parameter List</option>\n-      </param>\n-      <when value="default" />\n-      <when value="full">\n-        <param type="select" name="binary_encoding" label="Binary Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="mz_encoding" label="m/z Encoding Precision">\n-          <option value="64" selected="true">64</option>\n-          <option value="32">32</option>\n-        </param>\n-        <param type="select" name="intensity_encoding" label="Intensity Encoding Precision" value="32">\n-          <option value="64">64</option>\n-          <option value="32" selected="true">32</option>\n-        </param>\n-        <param type="boolean" name="zlib" label="Use zlib">      \n-        </param>\n-      </when>\n-    </conditional>\n-\n-\n-  </inputs>\n-  <outputs>\n-    <data format="mzml" name="output">\n-      <change_format>\n-        <when input="output_type" value="mzXML" format="mzxml" />\n-        <when input="output_type" value="unindexed_mzXML" format="mzxml" />\n-        <when input="output_type" value="ms2" format="ms2" />\n-        <when input="output_type" value="mgf" format="mgf" />\n-      </change_format>\n-    </data>\n-  </outputs>\n-  <help>\n-**What it does**\n-\n-Converts between various mass spectrometry peak list representations. Additional options such as filtering and/or precursor recalculation are available.\n-\n-You can view the original documentation here_.\n-    \n-.. _here: http://proteowizard.sourceforge.net/tools/msconvert.html\n-\n-------\n-\n-**Citation**\n-\n-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.`\n-\n-If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/galaxyp-toolshed-msconvert\n-\n-  </help>\n-</tool>\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert_raw_wrapper.py
--- a/msconvert_raw_wrapper.py Mon Feb 17 08:13:33 2014 -0600
+++ /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__()
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert_subset.xml
--- a/msconvert_subset.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -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>
b
diff -r 08bb52273ae1 -r ffe1dca94595 msconvert_wrapper.py
--- a/msconvert_wrapper.py Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,271 +0,0 @@\n-#!/usr/bin/env python\n-import optparse\n-import os\n-import sys\n-import tempfile\n-import shutil\n-import subprocess\n-import re\n-import logging\n-\n-assert sys.version_info[:2] >= (2, 6)\n-\n-log = logging.getLogger(__name__)\n-working_directory = os.getcwd()\n-tmp_stderr_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix=\'.stderr\').name\n-tmp_stdout_name = tempfile.NamedTemporaryFile(dir=working_directory, suffix=\'.stdout\').name\n-\n-\n-def stop_err(msg):\n-    sys.stderr.write("%s\\n" % msg)\n-    sys.exit()\n-\n-\n-def read_stderr():\n-    stderr = \'\'\n-    if(os.path.exists(tmp_stderr_name)):\n-        with open(tmp_stderr_name, \'rb\') as tmp_stderr:\n-            buffsize = 1048576\n-            try:\n-                while True:\n-                    stderr += tmp_stderr.read(buffsize)\n-                    if not stderr or len(stderr) % buffsize != 0:\n-                        break\n-            except OverflowError:\n-                pass\n-    return stderr\n-\n-\n-def execute(command, stdin=None):\n-    try:\n-        with open(tmp_stderr_name, \'wb\') as tmp_stderr:\n-            with open(tmp_stdout_name, \'wb\') as tmp_stdout:\n-                proc = subprocess.Popen(args=command, shell=True, stderr=tmp_stderr.fileno(), stdout=tmp_stdout.fileno(), stdin=stdin, env=os.environ)\n-                returncode = proc.wait()\n-                if returncode != 0:\n-                    raise Exception("Program returned with non-zero exit code %d. stderr: %s" % (returncode, read_stderr()))\n-    finally:\n-        print open(tmp_stderr_name, "r").read()\n-        print open(tmp_stdout_name, "r").read()\n-\n-\n-def delete_file(path):\n-    if os.path.exists(path):\n-        try:\n-            os.remove(path)\n-        except:\n-            pass\n-\n-\n-def delete_directory(directory):\n-    if os.path.exists(directory):\n-        try:\n-            shutil.rmtree(directory)\n-        except:\n-            pass\n-\n-\n-def symlink(source, link_name):\n-    import platform\n-    if platform.system() == \'Windows\':\n-        try:\n-            import win32file\n-            win32file.CreateSymbolicLink(source, link_name, 1)\n-        except:\n-            shutil.copy(source, link_name)\n-    else:\n-        os.symlink(source, link_name)\n-\n-\n-def copy_to_working_directory(data_file, relative_path):\n-    if os.path.abspath(data_file) != os.path.abspath(relative_path):\n-        symlink(data_file, relative_path)\n-    return relative_path\n-\n-\n-def __main__():\n-    run_script()\n-\n-#ENDTEMPLATE\n-\n-to_extensions = [\'mzML\', \'mzXML\', \'unindexed_mzML\', \'unindexed_mzXML\', \'mgf\', \'txt\', \'ms2\', \'cms2\']\n-\n-\n-def str_to_bool(v):\n-    """ From http://stackoverflow.com/questions/715417/converting-from-a-string-to-boolean-in-python """\n-    return v.lower() in ["yes", "true", "t", "1"]\n-\n-\n-def _add_filter(filters_file, contents):\n-    filters_file.write("filter=%s\\n" % contents)\n-\n-\n-def _skip_line(options, file_num, line_parts):\n-    file_num_column = options.filter_table_file_column\n-    if not file_num_column:\n-        return False\n-    else:\n-        target_file_num_val = str(file_num).strip()\n-        query_file_num_val = line_parts[int(file_num_column) - 1].strip()\n-        #print "target %s, query %s" % (target_file_num_val, query_file_num_val)\n-        return target_file_num_val != query_file_num_val\n-\n-\n-def _read_table_numbers(path, options, file_num=None):\n-    unique_numbers = set([])\n-    column_num = options.filter_table_column\n-    input = open(path, "r")\n-    first_line = True\n-    for line in input:\n-        if not line:\n-            continue\n-        line = line.strip()\n-        if line.startswith("#"):\n-            first_line = False\n-            continue\n-        if column_num == None:\n-            column = line\n-        else:\n-            line_parts = line.split("\\t")\n-            if _skip_line(options, file_num, line_parts):\n-                continue\n-            column = line_parts[int(column_num) - 1]\n-        match = re.match("\\d+", column)\n-        if match:\n-   '..b'ns.intensityencoding)\n-    return cmd\n-\n-\n-def _run(base_cmd, output_dir=\'output\', inputs=[], debug=False):\n-    inputs_as_str = " ".join([\'%s\' % shellquote(input) for input in inputs])\n-    os.mkdir(output_dir)\n-    cmd = "%s -o %s %s" % (base_cmd, shellquote(output_dir), inputs_as_str)\n-    if debug:\n-        print cmd\n-    execute(cmd)\n-    output_files = os.listdir(output_dir)\n-    assert len(output_files) == 1\n-    output_file = output_files[0]\n-    return os.path.join(output_dir, output_file)\n-\n-\n-def run_script():\n-    parser = optparse.OptionParser()\n-    parser.add_option(\'--input\', dest=\'inputs\', action=\'append\', default=[])\n-    parser.add_option(\'--input_name\', dest=\'input_names\', action=\'append\', default=[])\n-    parser.add_option(\'--output\', dest=\'output\')\n-    parser.add_option(\'--fromextension\', dest=\'fromextension\')\n-    parser.add_option(\'--toextension\', dest=\'toextension\', default=\'mzML\', choices=to_extensions)\n-    parser.add_option(\'--binaryencoding\', dest=\'binaryencoding\', choices=[\'32\', \'64\'])\n-    parser.add_option(\'--mzencoding\', dest=\'mzencoding\', choices=[\'32\', \'64\'])\n-    parser.add_option(\'--intensityencoding\', dest=\'intensityencoding\', choices=[\'32\', \'64\'])\n-    parser.add_option(\'--zlib\', dest=\'zlib\', default="false")\n-    parser.add_option(\'--filter\', dest=\'filter\', action=\'append\', default=[])\n-    parser.add_option(\'--filters_file\', dest=\'filters_file\', default=None)\n-    parser.add_option(\'--filter_table\', default=None)\n-    parser.add_option(\'--filter_table_type\', default=\'index\', choices=[\'index\', \'number\'])\n-    parser.add_option(\'--filter_table_column\', default=None)\n-    parser.add_option(\'--filter_table_file_column\', default=None)\n-    parser.add_option(\'--debug\', dest=\'debug\', action=\'store_true\', default=False)\n-\n-    (options, args) = parser.parse_args()\n-    if len(options.inputs) < 1:\n-        stop_err("No input files to msconvert specified")\n-    if len(options.input_names) > 0 and len(options.input_names) != len(options.inputs):\n-        stop_err("Number(s) of supplied input names and input files do not match")\n-    if not options.output:\n-        stop_err("Must specify output location")\n-    input_files = []\n-    for i, input in enumerate(options.inputs):\n-        input_base = None\n-        if len(options.input_names) > i:\n-            input_base = options.input_names[i]\n-        if not input_base:\n-            input_base = \'input%s\' % i\n-        if not input_base.lower().endswith(options.fromextension.lower()):\n-            input_file = \'%s.%s\' % (input_base, options.fromextension)\n-        else:\n-            input_file = input_base\n-        input_file = input_file\n-        copy_to_working_directory(input, input_file)\n-        input_files.append(input_file)\n-\n-    cmd = _build_base_cmd(options)\n-    file_column = options.filter_table_file_column\n-    if not file_column:\n-        # Apply same filters to all files, just create a unviersal filter files\n-        # and run msconvert once.\n-        filters_file_path = _create_filters_file(options, debug=options.debug)\n-        cmd = "%s -c %s" % (cmd, filters_file_path)\n-    else:\n-        # Dispatching on a column to filter different files differently, need to filter\n-        # each input once with msconvert and then merge once.\n-        filtered_files = []\n-        for index, input_file in enumerate(input_files):\n-            filters_file_path = _create_filters_file(options, index + 1, debug=options.debug)\n-            filter_cmd = "%s -c %s" % (cmd, filters_file_path)\n-            filtered_output_file = _run(filter_cmd, output_dir=\'output%d\' % index, inputs=[input_file], debug=options.debug)\n-            filtered_files.append(filtered_output_file)\n-        input_files = filtered_files\n-    if len(input_files) > 1:\n-        cmd = "%s --merge" % cmd\n-    output_file = _run(cmd, output_dir=\'output\', inputs=input_files, debug=options.debug)\n-    shutil.copy(output_file, options.output)\n-\n-\n-if __name__ == \'__main__\':\n-    __main__()\n'
b
diff -r 08bb52273ae1 -r ffe1dca94595 repository_dependencies.xml
--- a/repository_dependencies.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<repositories description="Required proteomics dependencies.">
-    <repository name="proteomics_datatypes" owner="iracooke" />
-</repositories>
b
diff -r 08bb52273ae1 -r ffe1dca94595 tool_dependencies.xml
--- a/tool_dependencies.xml Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,6 +0,0 @@
-<?xml version="1.0"?>
-<tool_dependency>
-    <package name="proteowizard" version="3_0_4388">
-        <repository name="protk_proteowizard" owner="iracooke"/>
-    </package>
-</tool_dependency>
b
diff -r 08bb52273ae1 -r ffe1dca94595 update.sh
--- a/update.sh Mon Feb 17 08:13:33 2014 -0600
+++ /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
b
diff -r 08bb52273ae1 -r ffe1dca94595 update_repo.sh
--- a/update_repo.sh Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -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
-
b
diff -r 08bb52273ae1 -r ffe1dca94595 version
--- a/version Mon Feb 17 08:13:33 2014 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,1 +0,0 @@
-0.2.1