{"id":16467446,"url":"https://github.com/andrewtarzia/poremapper","last_synced_at":"2025-03-23T11:32:39.942Z","repository":{"id":57454177,"uuid":"419091258","full_name":"andrewtarzia/PoreMapper","owner":"andrewtarzia","description":"cavity shape and size mapping by growing a guest inside a host ","archived":false,"fork":false,"pushed_at":"2023-11-09T12:40:18.000Z","size":517,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T19:55:07.799Z","etag":null,"topics":["cage","high-throughput","molecular-modeling","molecular-simulation","porous-materials"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-19T21:07:30.000Z","updated_at":"2023-09-11T10:54:24.000Z","dependencies_parsed_at":"2024-10-28T16:06:34.595Z","dependency_job_id":"99ea1bd4-b056-4961-85f5-9becdbad1503","html_url":"https://github.com/andrewtarzia/PoreMapper","commit_stats":{"total_commits":91,"total_committers":1,"mean_commits":91.0,"dds":0.0,"last_synced_commit":"fc98324275e0e4fb3735b9a9cc4a79a34567eca2"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2FPoreMapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2FPoreMapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2FPoreMapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewtarzia%2FPoreMapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewtarzia","download_url":"https://codeload.github.com/andrewtarzia/PoreMapper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245097158,"owners_count":20560311,"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":["cage","high-throughput","molecular-modeling","molecular-simulation","porous-materials"],"created_at":"2024-10-11T11:47:29.402Z","updated_at":"2025-03-23T11:32:39.571Z","avatar_url":"https://github.com/andrewtarzia.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"PoreMapper\n==========\n\n:author: Andrew Tarzia\n\nInflate a balloon inside a cavity to get the ``pore`` and ``windows``.\n\nBuilt for molecules with a single, central cavity.\n\nPlease contact me with any questions (\u003candrew.tarzia@gmail.com\u003e) or submit an issue!\n\nInstallation\n------------\n\nClone this repository and ``python setup.py develop`` in this directory, or using pip::\n\n    $ pip install PoreMapper\n\n\nAlgorithm\n---------\n\nVery simple algorithm:\n\n1. Define a sphere of radius 0.1 Angstrom at the centroid of the host with equally placed beads on the sphere. The number of beads is defined by the ``host.get_maximum_diameter()``. Beads have ``sigma``, which define their radius, and the resolution of the calculation. Hosts have atoms, which have radii defined by Streussel atomic radii [citation].\n\n2. Define steps of inflation (simply moving each bead in the blob along a vector emanating from the centroid) at even step size from 0.1 Angstrom to maximum host radii.\n\n3. For each step, check if a bead will collide with the host (based on distance-(bead radii + atom radii)). If it collides, it becomes immovable and a pore bead. Else, continue on.\n\nA pore, and blob, have a series of analysis methods, including:\n\n* Measures of pore shape based on the inertia tensor.\n\n* Measure of pore radii (based on distance to host) and volume (based on its convex hull).\n\n* Calculation of windows based on the blob (a Pore contains a Blob), where movable beads are clustered using ``sklearn.cluster.MeanShift`` [this may change and be improved] to calculate the number and size of windows.\n\nExamples\n--------\n\nTwo examples in ``examples/`` take ``.xyz`` files and either run the step-wise inflation (``inflate_blob``) or the single-step inflation (``get_inflated_blob``).\nThe step-wise process will produce a plot and ``.xyz`` structures, monitoring the pore and blob, while the single-step will run the full calculation and produce just the final pore and blob.\n\nContributors and Acknowledgements\n---------------------------------\n\nI developed this code as a post doc in the Jelfs research group at Imperial College London (\u003chttp://www.jelfs-group.org/\u003e, \u003chttps://github.com/JelfsMaterialsGroup\u003e).\n\nLicense\n-------\n\nThis project is licensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtarzia%2Fporemapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewtarzia%2Fporemapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewtarzia%2Fporemapper/lists"}