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
The current stage of this project is: IDEA
, so it's absolutely not ready for real usage. Your contribution would be very appreciated.
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.
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.