Thank you for your interest in contributing to the MITE initiative! We welcome and appreciate all contributions.
All contributors, maintainers, and participants of the MITE initiative are expected to follow our Code of Conduct.
This document is organized as follows:
All content contributions should be performed using the MITE Web application.
Anyone can contribute new MITE entries using the MITE Submission Portal. The MITE data repository aims to be a comprehensive and detailed resource on natural product-acting tailoring enzymes, and contributions from all expertise levels are welcome. For guidance on submitting data, refer to the MITE Tutorial, which includes a step-by-step walkthrough and an explanatory video. If you encounter any issues, check the FAQ and Troubleshooting pages. If further assistance is needed, you can reach out to a Maintainer listed in the GOVERNANCE file.
All new entries undergo open peer review on the MITE Data GitHub page.
All MITE entries are licensed under CC0 "No Rights Reserved", meaning all contributions become part of the public domain.
During data submission, you have the option to provide an ORCID which will be recorded in the Changelog of the MITE entry. However, anonymous submissions are also welcome.
For more details, please refer to the Terms of Use.
To ensure high-quality data, all MITE entries must meet the following criteria:
- Each entry must describe a single, non-redundant tailoring enzyme involved in secondary metabolite synthesis.
- Gatekeeper enzymes (i.e., scaffold-forming enzymes) as defined by Walsh 2023 fall outside the scope of MITE.
- Entries must be supported by experimental data on the substrate and reaction specificity of the tailoring enzyme. Computational predictions alone are not sufficient.
- Each entry must include at least one reaction description.
If you need to submit multiple entries at once without using the MITE Submission Portal, please contact a Maintainer listed in the GOVERNANCE file.
Anyone can propose modifications to existing MITE entries using the "Modify entry" button on the respective entry page. As with new submissions, you may provide an ORCID for attribution. All proposed changes undergo open peer review by voluntary experts, following the process outlined in Submitting New MITE Entries.
All newly submitted and modified MITE entries undergo peer review before being accepted into the MITE data repository. This review is conducted by a pool of voluntary experts who assess each entry for factual accuracy.
Reviewer membership, admittance, and responsibilities are outlined in the Project Governance document. Please follow the instructions outlined in this document to become a Reviewer. Detailed information on the peer review process can be found in the MITE Data Wiki.
The MITE Data Standard defines the structure and content of all MITE entries, ensuring consistency across the repository. Every entry must adhere to this standard.
The standard is implemented as a data model using the JSON Schema framework and is maintained in a dedicated GitHub repository: MITE Schema.
Anyone can propose changes to the MITE Data Standard by starting a discussion on the MITE Data Standard Discussions Board. Proposed modifications are periodically reviewed by the MITE governing body (as defined in the Project Governance) and are approved or rejected by majority vote.
All repositories in the MITE Data Standard Organization follow the GitHub Flow model for code contributions.
While code contributions are welcome, please discuss your ideas first on the MITE Standard Discussions Board before submitting a pull request.
To contribute code, follow these steps. For repository-specific details, refer to the README of the respective repository.
- Create a fork using your GitHub account (or an organization you belong to).
- Clone your fork to your local machine.
- Install
hatchusing one of the recommended methods. - Install the package using
hatch env create - Initialize
pre-commitwithhatch run pre-commit install - Make changes to the code
- Test that your code passes quality assurance by running
pytest - Commit changes to your fork with
git commit.pre-commitwill run a set of linters to ensure high code quality. - Push changes to your fork with
git push - Repeat steps 5-8 as needed
- Describe your changes in the
CHANGELOG.mdfile - Submit a pull request back to the upstream repository
- A code review takes place, resulting in accept, accept with revision, or reject.
- If accepted and revisions have taken place, the fork is merged into
mainand deleted.
- All projects use a
pyproject.tomlfile for metadata management, including dependencies. Semantic versioning and keeping a CHANGELOG are mandatory. pydanticmodels are preferred where applicable. Static typing outside the use ofpydanticis strongly encouraged but not enforced.ruffis used for linting and formatting (applied automatically usingpre-commit). See thepyproject.tomlfiles for a list of plugins.- Functions, classes, and methods must have expressive documentation using
numpy-style docstrings. In-line comments are strongly discouraged. - Logging is performed using the built-in
loggingmodule. - Unit testing is performed exclusively using the
pytestlibrary. - A continuous integration service using GitHub Actions is in place that run automated checks once a pull request is submitted.
The MITE Web Portal Repository contains the MITE data model and associated validation functionality. To maintain the integrity of the project, all new functionality must be unit tested.
The MITE Web Portal Repository contains the code for the MITE web application. As a web application, unit testing is less strictly enforced. However, a local rebuild of the Docker container is required before submitting a pull request.
Active contributors are generally invited to become co-authors of the next publication of MITE. Please refer to the GOVERNANCE document for details.