Skip to content

Latest commit

 

History

History
102 lines (69 loc) · 3.68 KB

README.md

File metadata and controls

102 lines (69 loc) · 3.68 KB

maligner

An Open-Source Molecular Alignment Tool.

GitHub top language GitHub License Powered by RDKit

About

maligner is an open-source tool for molecular alignment, designed to facilitate the manipulation and visualization of molecular structures. The goal is to provide an intuitive graphical interface and advanced functionalities to align molecules efficiently, leveraging the power of RDKit.

Built With

Getting Started (development)

Prerequisites

  • Install uv.

A global Python installation is not required as uv will handle the environment setup.

Usage

To run the application, use the following command:

uv run gui

This will:

  1. Create and resolve a new environment (located at .venv).
  2. Install all necessary dependencies (including dev-dependencies).
  3. Launch the application's GUI.

Development

Stage of development

The project is currently in the IDEA stage and is not yet ready for real usage. Contributions are welcome and appreciated!

Development Setup

We use the following dev-only tools.

  • mypy for type-checking.
  • ruff for linting and formatting.

Run the following commands as needed to run them.

$ uv run mypy
$ uv run ruff check
$ uv run ruff format

Roadmap

  • Main Screen:

    • Load molecules in .mol, .mol2, etc.
    • Display molecules in a grid with filenames.
    • Mark a molecule as anchor.
    • Navigate to structure selector.
    • Add options menu.
    • Implement "Preview Alignment" and "Save Alignment" buttons.
  • Options Menu:

    • Overwrite original files.
    • Suffix aligned files (with user-defined suffix).
    • (Default) Save in a separate directory (aligned).
  • Atom Selector:

    • Display molecule and calculate MCS by default.
    • Add selection buttons: Select MCS, Select All, Select None.
    • Include Cancel and Save buttons.
    • Allow users to click on atoms to select/deselect.
    • Enable selection by SMILES/SMARTS.
    • (Optional) Implement lasso tool for selection.

Support

For support, reach out via:

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.