rdeditor


Namerdeditor JSON
Version 0.1.3.8 PyPI version JSON
download
home_pagehttp://github.com/ebjerrum/rdeditor
SummaryAn RDKit based molecule editor using PySide
upload_time2024-04-12 12:51:38
maintainerNone
docs_urlNone
authorEsben Jannik Bjerrum
requires_python>=3.8
licenseLGPL
keywords rdkit molecule editor pyside
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # rdeditor

Simple RDKit molecule editor GUI using PySide2
![rdeditor, the RDKit molecule editor](./Screenshots/Main_window.png)

## Installation

- requirements

RDKit, NumPy and PySide2 should be automatically pip installed by the setup.py script.

- installation

```bash
python setup.py install

```

A launch script will also be added so that it can be started from the command line via the rdEditor command.

## Alternative install

Install PySide and RDKit yourself, save the content of rdeditor folder to somewhere you like and start it with
`python rdEditor.py`

## Usage

Can be started with `rdEditor` or `rdEditor your_molecule.mol` to start edit an existing molecule.
Interactions with the molecule are done via clicking on the canvas, atoms or bonds. A choice of tools is available.

#### Top Menu:

![top menu of rdeditor, the RDKit molecule editor](./Screenshots/Top_Menu.png)

From left to right

- Open: Open a molfile
- Save: Save current molecule
- Save As: Save current molecule with a new name

- Arrow: Select tool. Click on an atom to select it, click on the canvas to deselect. Clicking on multiple atoms one after another will select them, but only the lastly clicked one will be highlighted in red and used for operations, such as bond creation to another existing atom.
- Pen: Add tool. Clicking on an existing atom will add the current selected atom type to that atom with a single bond. Clicking on the canvas will add a disconnected atom. Clicking on a bond will cycle through single, double and triple bonds.
- Add bond / Join atoms: Will add a single bond between a clicked atom (or a previously selected atom) and the next atom clicked.
- Change Atom: Will substitute the atom clicked, with the currently selected atom type
- R/S: Change the stereo chemistry of the selected atom (see issues below)
- E/Z: Change E/Z stereo of double bonds (see issues below)
- Increase/Decrease charge: Will increase or decrease the charge of the atom clicked
- Delete atom/bond:
- Clear Canvas
- Undo.

#### Side Bar:

![top menu of rdeditor, the RDKit molecule editor](./Screenshots/Side_bar.png)

Most commonly used bond types, and atom types can be selected. A Periodic table is accessible for exotic atom types.

#### Dropdown menus

Access to all standard operations as well as less used atom types and bond-types.

## Additional Reading

I wrote a blog post with an overview of the structure of the code.
[https://www.wildcardconsulting.dk/rdeditor-an-open-source-molecular-editor-based-using-python-pyside2-and-rdkit/](https://www.wildcardconsulting.dk/rdeditor-an-open-source-molecular-editor-based-using-python-pyside2-and-rdkit/)

We also published a preprint on ChemRxiv: [https://chemrxiv.org/engage/chemrxiv/article-details/65e6dcfa9138d23161b2979c](https://chemrxiv.org/engage/chemrxiv/article-details/65e6dcfa9138d23161b2979c)

## ISSUES

- Not possible to set undefined R/S (no wiggly bond rendered)
- Not possible to distinguish undefined and trans when editing cis/trans double bonds
- Aromaticity perception hides double-single bonds (kekulization can do likewise)
- Molecule jumping now more limited, but atom placement may not be optimal as rest og structure kept fixed (and ignored?)

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/ebjerrum/rdeditor",
    "name": "rdeditor",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "RDKit molecule editor pyside",
    "author": "Esben Jannik Bjerrum",
    "author_email": "esbenjannik@rocketmail.com",
    "download_url": "https://files.pythonhosted.org/packages/86/36/dc2918cd5d2aaf68865efe412c18a6e51b0549ffc9594b1b6fde44ad6706/rdeditor-0.1.3.8.tar.gz",
    "platform": null,
    "description": "# rdeditor\n\nSimple RDKit molecule editor GUI using PySide2\n![rdeditor, the RDKit molecule editor](./Screenshots/Main_window.png)\n\n## Installation\n\n- requirements\n\nRDKit, NumPy and PySide2 should be automatically pip installed by the setup.py script.\n\n- installation\n\n```bash\npython setup.py install\n\n```\n\nA launch script will also be added so that it can be started from the command line via the rdEditor command.\n\n## Alternative install\n\nInstall PySide and RDKit yourself, save the content of rdeditor folder to somewhere you like and start it with\n`python rdEditor.py`\n\n## Usage\n\nCan be started with `rdEditor` or `rdEditor your_molecule.mol` to start edit an existing molecule.\nInteractions with the molecule are done via clicking on the canvas, atoms or bonds. A choice of tools is available.\n\n#### Top Menu:\n\n![top menu of rdeditor, the RDKit molecule editor](./Screenshots/Top_Menu.png)\n\nFrom left to right\n\n- Open: Open a molfile\n- Save: Save current molecule\n- Save As: Save current molecule with a new name\n\n- Arrow: Select tool. Click on an atom to select it, click on the canvas to deselect. Clicking on multiple atoms one after another will select them, but only the lastly clicked one will be highlighted in red and used for operations, such as bond creation to another existing atom.\n- Pen: Add tool. Clicking on an existing atom will add the current selected atom type to that atom with a single bond. Clicking on the canvas will add a disconnected atom. Clicking on a bond will cycle through single, double and triple bonds.\n- Add bond / Join atoms: Will add a single bond between a clicked atom (or a previously selected atom) and the next atom clicked.\n- Change Atom: Will substitute the atom clicked, with the currently selected atom type\n- R/S: Change the stereo chemistry of the selected atom (see issues below)\n- E/Z: Change E/Z stereo of double bonds (see issues below)\n- Increase/Decrease charge: Will increase or decrease the charge of the atom clicked\n- Delete atom/bond:\n- Clear Canvas\n- Undo.\n\n#### Side Bar:\n\n![top menu of rdeditor, the RDKit molecule editor](./Screenshots/Side_bar.png)\n\nMost commonly used bond types, and atom types can be selected. A Periodic table is accessible for exotic atom types.\n\n#### Dropdown menus\n\nAccess to all standard operations as well as less used atom types and bond-types.\n\n## Additional Reading\n\nI wrote a blog post with an overview of the structure of the code.\n[https://www.wildcardconsulting.dk/rdeditor-an-open-source-molecular-editor-based-using-python-pyside2-and-rdkit/](https://www.wildcardconsulting.dk/rdeditor-an-open-source-molecular-editor-based-using-python-pyside2-and-rdkit/)\n\nWe also published a preprint on ChemRxiv: [https://chemrxiv.org/engage/chemrxiv/article-details/65e6dcfa9138d23161b2979c](https://chemrxiv.org/engage/chemrxiv/article-details/65e6dcfa9138d23161b2979c)\n\n## ISSUES\n\n- Not possible to set undefined R/S (no wiggly bond rendered)\n- Not possible to distinguish undefined and trans when editing cis/trans double bonds\n- Aromaticity perception hides double-single bonds (kekulization can do likewise)\n- Molecule jumping now more limited, but atom placement may not be optimal as rest og structure kept fixed (and ignored?)\n",
    "bugtrack_url": null,
    "license": "LGPL",
    "summary": "An RDKit based molecule editor using PySide",
    "version": "0.1.3.8",
    "project_urls": {
        "Homepage": "http://github.com/ebjerrum/rdeditor"
    },
    "split_keywords": [
        "rdkit",
        "molecule",
        "editor",
        "pyside"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0afcc8248630415b032f5fe0b82ae6832b2a3c4d887c8dfda85fef0e98d5f8c3",
                "md5": "8bf974347ea2073802a2d4f31b70f910",
                "sha256": "df5c8f2cc3de2e8edb1fa669877262e35de1cedfc4bee13f7653408f6c159647"
            },
            "downloads": -1,
            "filename": "rdeditor-0.1.3.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8bf974347ea2073802a2d4f31b70f910",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 319313,
            "upload_time": "2024-04-12T12:51:36",
            "upload_time_iso_8601": "2024-04-12T12:51:36.627931Z",
            "url": "https://files.pythonhosted.org/packages/0a/fc/c8248630415b032f5fe0b82ae6832b2a3c4d887c8dfda85fef0e98d5f8c3/rdeditor-0.1.3.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8636dc2918cd5d2aaf68865efe412c18a6e51b0549ffc9594b1b6fde44ad6706",
                "md5": "e5cf1a8107188a2f18e4b7b355b132b9",
                "sha256": "10b95793e3a2fa1d7e77f59a73582e884f1d4821c003e367532be5201fc0a5c6"
            },
            "downloads": -1,
            "filename": "rdeditor-0.1.3.8.tar.gz",
            "has_sig": false,
            "md5_digest": "e5cf1a8107188a2f18e4b7b355b132b9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 345548,
            "upload_time": "2024-04-12T12:51:38",
            "upload_time_iso_8601": "2024-04-12T12:51:38.292415Z",
            "url": "https://files.pythonhosted.org/packages/86/36/dc2918cd5d2aaf68865efe412c18a6e51b0549ffc9594b1b6fde44ad6706/rdeditor-0.1.3.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-12 12:51:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ebjerrum",
    "github_project": "rdeditor",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "rdeditor"
}
        
Elapsed time: 0.22694s