msconvert-py
============
A Python wrapper for the `pwiz/msconvert docker image <https://hub.docker.com/r/proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses>`_.
Why?
----
In my personal experience, running the docker container directly may cause some problems:
- On large machines, the containers consume a lot of memory because the garbage collection rarely kicks in.
- Memory seems to leak when rescoring multiple files in one msconvert run.
- Limiting the memory usage is difficult because conversion may require somewhere between ~3G and ~30G.
- The conversion is single-threaded.
How to Run
----------
Install the package via:
.. code-block:: bash
pip install msconvert
Pull the docker image:
.. code-block:: bash
docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:latest
Run it via:
.. code-block:: bash
python -m msconvert
By default, the module will convert every ``*.raw`` file in the current directory to ``.mgf``. However, there are other options available:
- ``-i``: Input path (default is current directory)
- ``--input-format``: Input format (default ``raw``)
- ``--output-format``: Output format (default ``mgf``)
- ``--concurrency``: Concurrency (default is the number of cores)
How it Works
------------
- **msconvert-py** runs each conversion in a dedicated docker container.
- Each container is initially limited to 3G memory.
- When a container fails due to an out-of-memory kill, it will be re-run with an additional 8G memory.
- The containers run concurrently, by default up to the number of cores.
- Containers are only started when memory is available within the defined memory limit.
Raw data
{
"_id": null,
"home_page": null,
"name": "msconvert",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Falk Boudewijn Schimweg",
"author_email": "git@falk.schimweg.de",
"download_url": "https://files.pythonhosted.org/packages/66/c6/4ada37e8c2b071e7a979fe667491dbcf2417124218a8f1b32519db5dfd7a/msconvert-1.3.post2.tar.gz",
"platform": null,
"description": "msconvert-py\n============\n\nA Python wrapper for the `pwiz/msconvert docker image <https://hub.docker.com/r/proteowizard/pwiz-skyline-i-agree-to-the-vendor-licenses>`_.\n\nWhy?\n----\n\nIn my personal experience, running the docker container directly may cause some problems:\n\n- On large machines, the containers consume a lot of memory because the garbage collection rarely kicks in.\n- Memory seems to leak when rescoring multiple files in one msconvert run.\n- Limiting the memory usage is difficult because conversion may require somewhere between ~3G and ~30G.\n- The conversion is single-threaded.\n\nHow to Run\n----------\n\nInstall the package via:\n\n.. code-block:: bash\n\n pip install msconvert\n\nPull the docker image:\n\n.. code-block:: bash\n\n docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:latest\n\nRun it via:\n\n.. code-block:: bash\n\n python -m msconvert\n\nBy default, the module will convert every ``*.raw`` file in the current directory to ``.mgf``. However, there are other options available:\n\n- ``-i``: Input path (default is current directory)\n- ``--input-format``: Input format (default ``raw``)\n- ``--output-format``: Output format (default ``mgf``)\n- ``--concurrency``: Concurrency (default is the number of cores)\n\nHow it Works\n------------\n\n- **msconvert-py** runs each conversion in a dedicated docker container.\n- Each container is initially limited to 3G memory.\n- When a container fails due to an out-of-memory kill, it will be re-run with an additional 8G memory.\n- The containers run concurrently, by default up to the number of cores.\n- Containers are only started when memory is available within the defined memory limit.\n",
"bugtrack_url": null,
"license": "GNU Affero General Public License v3 or later (AGPLv3+)",
"summary": null,
"version": "1.3.post2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "5f20906f2259ab592f7e4d02887d051661f65a79a6d61a6afdad20d8b277aef9",
"md5": "4b4c3154700982785aa32b9ac25f60d1",
"sha256": "4ef3966db0a03aaa2be907ec6cfc9d29b1e64cbcdf211a5961c40aca07668306"
},
"downloads": -1,
"filename": "msconvert-1.3.post2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4b4c3154700982785aa32b9ac25f60d1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 16642,
"upload_time": "2024-12-19T17:15:27",
"upload_time_iso_8601": "2024-12-19T17:15:27.944420Z",
"url": "https://files.pythonhosted.org/packages/5f/20/906f2259ab592f7e4d02887d051661f65a79a6d61a6afdad20d8b277aef9/msconvert-1.3.post2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "66c64ada37e8c2b071e7a979fe667491dbcf2417124218a8f1b32519db5dfd7a",
"md5": "65298c156ffe178ed160ae4b80bfb204",
"sha256": "4969200fcb89f767f6c01effcbe568d4775ddfc0d8129f49aa240b5dd811be92"
},
"downloads": -1,
"filename": "msconvert-1.3.post2.tar.gz",
"has_sig": false,
"md5_digest": "65298c156ffe178ed160ae4b80bfb204",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 16880,
"upload_time": "2024-12-19T17:15:30",
"upload_time_iso_8601": "2024-12-19T17:15:30.426874Z",
"url": "https://files.pythonhosted.org/packages/66/c6/4ada37e8c2b071e7a979fe667491dbcf2417124218a8f1b32519db5dfd7a/msconvert-1.3.post2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 17:15:30",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "msconvert"
}