Skip to content

Tool to align a set of molecules in Computational Chemistry.

License

Notifications You must be signed in to change notification settings

hellmrf/maligner

Repository files navigation

maligner: An Open-Source Molecular Alignment Tool

GitHub top language GitHub License Powered by RDKit

Installation

You shall have Python (preferably 3.11) installed. To install the package and dependencies, go to the repository's root folder and run:

python -m pip install . .[dev]

You can ommit .[dev] if you'll not work directly on the development

Development

Stage of development

The current stage of this project is: IDEA, so it's absolutely not ready for real usage. Your contribution would be very appreciated.

Code formatting

We're using Google's yapf autoformatter together with google style-guide. You can install yapf on VSCode from the extensions marketplace. At command-line, it would be yapf file.py. Make sure you have it configured, so we don't conflict styling.

Current plan

Currently, the plan for the UX of the software is the following.

Main screen:

  • The user can load molecules (in .mol, .mol2 or ??)
  • Can see a grid with all molecules and the filename
  • Can mark one molecule as anchor
  • Can go to structure selector.
  • Options menu
  • "Preview Alignment" and "Save Alignment" buttons.

Options menu

  • Save action:
    • Overwrite original files
    • Suffix aligned files (option to write the suffix)
    • (Default) Save in a separate directory (default: aligned)

Atom selector:

  • User see the molecule and, by default, the MCS calculated.
  • Three selection buttons: Select MCS, Select All, Select None.
  • Two more buttons: Cancel, Save.
  • User can click on atoms to select/deselect.
  • Select structure by SMILES/SMARTS.
  • Maybe implement lasso tool in future.

At this stage, users can load molecules, anchor one of them, and they are displayed in a grid view. The user can automatically select MCS on all molecules. The user can click twice on a molecule and it will take it to Substructure Selector, where the selected atoms can be tweaked by clicking. Now we need to implement the alignment part. I have some drafts already.

About

Tool to align a set of molecules in Computational Chemistry.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published