A python library to create and use mzQC files. Specifically, the library facilitates access to mzQC files in form of a directly usable object representation of mzQC and offers additional functionality to:
- serialise
- deserialise
- check syntax
- check semantics
- file-info
- experimental file-merging
The library follows the formats versioning (which is 'v(Major).(Minor).(Patch)').
This library implements python modules for (de-)serialisation and validity checks of the PSI fileformat mzQC. Find the specification document, examples, and and further documentation there.
Most people will want to install the latest release version of pymzqc. Please install pymzqc via pypi:
pip install pymzqc
If you want a development version, use for example :
pip install -U git+https://github.com/MS-Quality-hub/pymzqc.git
You can select a development branch of your choice by changing the command after the .git
, see the manual build instructions.
However, we recommend using the ready-built containers to check out the latest updates.
To get a nice and simple overview of how pymzqc works, visit here. If you've successfully installed the library and want to jump right in and work on the library, we suggest a peek at the codestructure.
If you however just want to get your toes wet, or use it as-is, have a look at the interactive guides (below).
Have a go with our interactive python notebooks to explore what is possible.
Contributions are welcome! (Just fork, develop, and open PR.)
Please note that most member attributes of the MZQCFile submodule classes and many functional elements do not conform to PEP8. The element names of the mzQC JSON-schema need to be preserved in order to create a successful and automated JSON<=>pymzqc object mapping. Accordingly, other elements such as functions in all pymzqc modules will keep the JSON-schema names in their naming for consistency.
The python package's code is located in the mzqc
folder, continuous testing code in tests
, the documentation in doc
. The libray-use container descriptions are in containers
, if you want a container for library-development, you can use the container description within .devcontainer
, more development presets can be found in .vscode
.
The jupyter
and accessories
folders are subprojects making use of the library.
See their README in the respective sub-folders.
The code documentation style convention is of the type Sphinx/numpy
.