Metadata-Version: 2.4
Name: mite_extras
Version: 1.6.1
Summary: Parsing, conversion, and validation functionality for Minimum Information about a Tailoring Enzyme (MITE) files.
Project-URL: Homepage, https://mite.bioinformatics.nl/
Project-URL: Github, https://github.com/mite-standard/mite_extras
Project-URL: Issues, https://github.com/mite-standard/mite_extras/issues
Author-email: "Mitja M. Zdouc" <zdoucmm@gmail.com>, Adriano Rutz <adafede@gmail.com>
License-File: LICENSE
Keywords: cheminformatics,genomics
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Chemistry
Requires-Python: >=3.12
Requires-Dist: argparse~=1.4
Requires-Dist: coloredlogs~=15.0
Requires-Dist: json-repair~=0.46
Requires-Dist: jsonschema~=4.23
Requires-Dist: mite-schema
Requires-Dist: pydantic~=2.8
Requires-Dist: rdkit==2024.3.6
Requires-Dist: requests~=2.32
Provides-Extra: dev
Requires-Dist: pre-commit~=3.4; extra == 'dev'
Requires-Dist: pytest~=7.4; extra == 'dev'
Requires-Dist: ruff~=0.5; extra == 'dev'
Description-Content-Type: text/markdown

mite_extras
==========

[![DOI](https://zenodo.org/badge/804997522.svg)](https://doi.org/10.5281/zenodo.13941745) [![PyPI version](https://badge.fury.io/py/mite-extras.svg)](https://badge.fury.io/py/mite-extras)

This package contains functionality to validate entries of the Minimum Information about a Tailoring Enzyme (MITE) repository.

This includes:

- Validation of the MITE json format (does the entry follow the `mite_schema` format)
- Validation of reaction SMARTS (does the reaction SMARTS lead to the expected product when applied to a specified substrate)
- Sanitation of SMILES and reaction SMARTS
- Fetching of NCBI GenPept/UniProtKB IDs

When used as CLI, `mite_extras` can automatically update MITE entries (see below). However, it can also be used as a library (e.g. as done in `mite_data`).

For more information, see the README of the [MITE-Standard organisation page](https://github.com/mite-standard).

## Installation

**Attention: this program has only been tested with Ubuntu Linux.**

### With `pip` from PyPI

- Install with `pip install mite_extras`

### With `hatch` from GitHub

- Install `python 3.12.x`
- Install hatch (e.g. with `pipx install hatch`)
- Download or clone the [repository](https://github.com/mmzdouc/mite_extras)
- Run `hatch -v env create`

## Quick Start: Example

### Run from command line:

To validate MITE entries or update them to a new schema version (requires `mite_extras` to be installed via `pip`).

- `mite_extras -i <input/> -o <output/>`

### Run with `hatch`:

Validate MITE entries or update them to a new schema version

- `hatch run mite_extras -i input/ -o output/`

## For devs

- Install developer dependencies with `hatch -v env create dev`
- Initialize `pre-commit` with `hatch run dev:pre-commit install`
- Run tests with `hatch run dev:pytest`
- Run CLI with `hatch run dev:mite_extras` and the appropriate options
- If necessary, remove the environment again with `hatch env remove dev`