Skip to content

MS-Quality-Hub/pymzqc

Repository files navigation

MZQC python library

unit-tests Documentation Status Docker Repository on Quay PyPi version Open In Colab

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.

Install

Latest Release

Most people will want to install the latest release version of pymzqc. Please install pymzqc via pypi:

pip install pymzqc

From Git

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 adding @ and a valid tag or branch name to the command after the pymzqc.git; make sure to name the egg 'pymzqc' (e.g. @v1.0.0#egg=pymzqc) For more installation options see the manual build instructions.

Containers

However, we recommend using the ready-built containers to check out the latest updates.

Online docs

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).

Interactive pymzqc

Have a go with our interactive python notebooks to explore what is possible.

Development

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 PEP-8 snake_case. 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.

Repository structure

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.

Documentation

The code documentation style convention is of the type Sphinx/numpy.

About

The python implementation to mzqc

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors