{"id":16467452,"url":"https://github.com/andrewtarzia/mol-ellipsize","last_synced_at":"2026-03-03T03:34:49.883Z","repository":{"id":49215988,"uuid":"327267391","full_name":"andrewtarzia/mol-ellipsize","owner":"andrewtarzia","description":"Molecular size calculation based on ellipsoid fitting over N conformers","archived":false,"fork":false,"pushed_at":"2022-01-17T13:19:32.000Z","size":8585,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-11T07:35:58.652Z","etag":null,"topics":["chemistry","high-throughput","molecular-size","molecules","rdkit"],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewtarzia.png","metadata":{"files":{"readme":"readme.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-06T09:48:47.000Z","updated_at":"2025-02-10T08:32:22.000Z","dependencies_parsed_at":"2022-09-04T22:14:23.762Z","dependency_job_id":null,"html_url":"https://github.com/andrewtarzia/mol-ellipsize","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2Fmol-ellipsize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2Fmol-ellipsize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2Fmol-ellipsize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2Fmol-ellipsize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewtarzia","download_url":"https://codeload.github.com/andrewtarzia/mol-ellipsize/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241061861,"owners_count":19902783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chemistry","high-throughput","molecular-size","molecules","rdkit"],"created_at":"2024-10-11T11:47:32.015Z","updated_at":"2026-03-03T03:34:49.855Z","avatar_url":"https://github.com/andrewtarzia.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"mol-ellipsize\n=============\n\n:author: Andrew Tarzia\n\nMolecular size calculation based on ellipsoid fitting over N conformers.\n\nThis work was developed for the work in my repository `enzyme-screen` for screening enzymatic reactions for MOF@Enzyme systems.\nNote that the implementation in this repository mirrors that in `enzyme-screen`, which also has the size calculation functionality, but is significantly more light-weight.\n\nPlease contact me with any questions (\u003candrew.tarzia@gmail.com\u003e) or submit an issue!\n\n.. image:: https://zenodo.org/badge/327267391.svg\n   :target: https://zenodo.org/badge/latestdoi/327267391\n\nInstallation\n------------\n\nTo get ``mol-ellipsize``, you can install it with pip::\n\n    $ pip install mol-ellipsize\n\nMake sure you also install rdkit, which is a dependency (version 2019.09.2.0 was used in `enzyme_screen`)::\n\n    $ conda install -c rdkit rdkit=2020\n\nAlgorithm\n---------\n\nThis code focusses on the calculation of the size of molecules within a conformer ensemble based on the fit of an ellipsoid around the molecules van der Waals cloud.\nAny conformer ensemble can be provided through the rdkit .Molecule and Conformer classes.\nHowever, helper functions are provided for generating ensembles using rdkit's ETKDG algorithm.\n\nThe ellipsoid fitting algorithm was modified from From: https://github.com/minillinim/ellipsoid.\nThe code is based on work by Nima Moshtagh \u003chttp://www.mathworks.com/matlabcentral/fileexchange/9542\u003e and also by looking at \u003chttp://cctbx.sourceforge.net/current/python/scitbx.math.minimum_covering_ellipsoid.html\u003e\nIt uses the Khachiyan algorithm to find the minimum volume ellipsoid that encompasses all points given to the function.\n\nExamples\n--------\n\nThe base example in ``examples/base_example.py`` shows the usage of this code to calculate the molecular size of molecules from SMILES strings.\n\nA minimum example for calculating the size of 10 conformers of caffeine:\n\n.. code-block:: python\n\n    from rdkit.Chem import AllChem as Chem\n    import molellipsize as mes\n\n\n    rdkitmol = Chem.MolFromSmiles('CN1C=NC2=C1C(=O)N(C(=O)N2C)C')\n    rdkitmol = Chem.AddHs(rdkitmol)\n    Chem.SanitizeMol(rdkitmol)\n    rdkitmol, conformers = mes.ETKDG_UFF_conformers(\n        rdkitmol=rdkitmol,\n        num_conformers=10,\n        randomseed=1000,\n    )\n    mes_mol = mes.Molecule(\n        rdkitmol=rdkitmol,\n        conformers=conformers,\n    )\n    ellipsoids = mes_mol.get_ellipsoids(\n        boxmargin=4.0,\n        vdwscale=0.9,\n        spacing=0.5,\n    )\n    diameters = {i: ellipsoids[i][1] for i in ellipsoids}\n\n*Adding coordinates and conformers without using RDKit*\n\nThe example in ``examples/arbitrary_coordinates.py`` shows the\nfitting of an ellipsoid to arbitrary points with and without the\ndefinition of a .Molecule.\n\n*A Youtube video of examples*\n\nSee the video `here \u003chttps://www.youtube.com/watch?v=JojLBq7qmjQ\u003e`_\n\nContributors and Acknowledgements\n---------------------------------\n\nI developed this code as a PhD student in the research groups of David Huang (\u003chttps://huanggroup.org/\u003e) and Christian Doonan (\u003chttp://www.sumbydoonangroup.com/\u003e) at the University of Adelaide.\n\nLicense\n-------\n\nThis project is licensed under the GPLv3 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtarzia%2Fmol-ellipsize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewtarzia%2Fmol-ellipsize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtarzia%2Fmol-ellipsize/lists"}