Skip to main content

A wrapper for the pwiz/msconvert docker container with memory limits and automatic retry.

Project description

A Python wrapper for the pwiz/msconvert docker image.

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:

pip install msconvert

Pull the docker image:

docker pull chambm/pwiz-skyline-i-agree-to-the-vendor-licenses:latest

Run it via:

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msconvert-1.3.post3.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msconvert-1.3.post3-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file msconvert-1.3.post3.tar.gz.

File metadata

  • Download URL: msconvert-1.3.post3.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for msconvert-1.3.post3.tar.gz
Algorithm Hash digest
SHA256 057869e26a3ecebdf02ea368ee0af68da7a5e65e5003f27e469fb25684dffd6a
MD5 fdb2df4a5d47c483646a15d831f9a309
BLAKE2b-256 e8845ef86b2124c69d63bd4ad7546b9dc0c23475b4f77b15e0ee5bc7c628a562

See more details on using hashes here.

Provenance

The following attestation bundles were made for msconvert-1.3.post3.tar.gz:

Publisher: python-publish.yml on z3rone-org/msconvert-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file msconvert-1.3.post3-py3-none-any.whl.

File metadata

  • Download URL: msconvert-1.3.post3-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for msconvert-1.3.post3-py3-none-any.whl
Algorithm Hash digest
SHA256 483c561d5dd20d7c66e37e0edf4de6f7a913033f397c2230014572a13a3863f6
MD5 b786cf212df5414b4fb76eb9dc766a93
BLAKE2b-256 a08d7772949f9e52d862aae627f5f68396adf32b28671e7b0ec32bb40283421e

See more details on using hashes here.

Provenance

The following attestation bundles were made for msconvert-1.3.post3-py3-none-any.whl:

Publisher: python-publish.yml on z3rone-org/msconvert-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page