{"id":21156356,"url":"https://github.com/vitroid/vitrite","last_synced_at":"2025-07-02T06:33:38.602Z","repository":{"id":141862267,"uuid":"49467295","full_name":"vitroid/Vitrite","owner":"vitroid","description":"Looks up polyhedral fragment in an undirected graph.","archived":false,"fork":false,"pushed_at":"2024-12-10T08:11:56.000Z","size":1234,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T15:21:28.412Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vitroid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-01-12T01:51:09.000Z","updated_at":"2018-06-28T08:26:47.000Z","dependencies_parsed_at":"2025-03-14T15:21:29.842Z","dependency_job_id":"4d9b9f67-1165-42ee-970e-0f90d18c7206","html_url":"https://github.com/vitroid/Vitrite","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vitroid/Vitrite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitroid%2FVitrite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitroid%2FVitrite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitroid%2FVitrite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitroid%2FVitrite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vitroid","download_url":"https://codeload.github.com/vitroid/Vitrite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vitroid%2FVitrite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263086617,"owners_count":23411745,"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":[],"created_at":"2024-11-20T11:43:06.704Z","updated_at":"2025-07-02T06:33:38.540Z","avatar_url":"https://github.com/vitroid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exhaustive Search for Polyhedral Fragments (Vitrites)\n## Counting policy\n\n* The program looks up all the \"polyhedral fragments\"\n  (a.k.a. vitrites) in the given random almost 4-connected undirected graph.\n* It counts the fragments purely topologically. It does not use geometrical information.\n* Edge direction is not considered. (Undirected graph)\n\n## Algorithm\n\n1. Choose 2 adjacent (i.e. edge-sharing) rings in the original graph.  We\n   call this set of rings \"faces\".\n1. Define the perimeter of the faces.\n1. Choose one of the ring that shares three successive vertices (two successive edges) with the perimeter.\n1. Add the ring to the faces, and extend the perimeter.\n1. Repeat 1 .. 4 until the perimeter closes.  Now we get a polyhedron.\n1. Exclude the polyhedron if any following test is not satisfied.\n    1. Re-count the number of vertices, edges, and rings included in\n       the polyhedron.  They must satisfy the Euler's characteristics:\n       f-e+v=2.\n\t1. The polyhedron must not divide the original graph into two or\n       more compositions.\n1. Repeat 1 .. 6 until all the pairs of rings are consulted.\n\n## Requirements\n\n* Python 3\n* NetworkX (a graph theory library for Python)\n* A ring statistics algorithm (See https://github.com/vitroid/CountRings)\n\n## Usage\nInput data must be in \u003ca href=\"http://theochem.chem.okayama-u.ac.jp/wiki/wiki.cgi/matto?page=%40RNGS\"\u003e@RNGS\u003c/a\u003e format (which is an output of the ring statistics algorithm https://github.com/vitroid/CountRings ). Output data will be in \u003ca href=\"http://theochem.chem.okayama-u.ac.jp/wiki/wiki.cgi/matto?page=%40RSET\"\u003e@RSET\u003c/a\u003e format.\n\n    % ./polyhed.py \u003c cube.rngs \u003e cube.rset\n\nNote that Perl version (`polyhed.pl`) is now outdated.  Future supports\nand updates will be made to the Python version (`polyhed.py`).\n## Sample\nThe following is the expression of a cubic graph, which should have\nsix 4-cycles and a polyhedron.\n\n    @RNGS\n    8\n    4 0 1 2 3\n    4 0 1 5 4\n    4 1 2 6 5\n    4 2 3 7 6\n    4 3 0 4 7\n    4 4 5 6 7\n    0\n\nProcessing this file by polyhed.py will generate the following output:\n\n    % ./polyhed.py \u003c cube.rngs\n    @FSEP\n    @RSET\n    6\n    6 0 1 2 3 4 5\n    0\n\nIt indicates that\n\n0. (@FSEP is a field separator and has no meaning here.)\n1. @RSET is a format descriptor.\n2. There are 6 rings in the input file.\n3. There is one polyhedron consisting of 6 rings whose IDs are {0,1,2,3,4,5}.\n4. A zero for a terminator.\n\n## Known Problems\nThe current definition of the rings depends on the context; that is,\nif you cut out a polyhedral subgraph out of a large graph, the number\nof rings in the subgraph is not always same as the number of rings at\nthe correspoding part of the large graph.\nIt happens because there might be a shortcut on the large graph that\nprevents counting a ring in the subgraph.\n(I will put here an illustration.)\n\n## To Cite It\n\n* M. Matsumoto, A. Baba, and I. Ohmine, Topological building blocks of hydrogen bond network in water, J. Chem. Phys. 127, 134504 (2007); [doi:10.1063/1.2772627](http://dx.doi.org/doi:10.1063/1.2772627)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitroid%2Fvitrite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvitroid%2Fvitrite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvitroid%2Fvitrite/lists"}