{"id":46668665,"url":"https://github.com/briling/v","last_synced_at":"2026-03-08T21:18:28.219Z","repository":{"id":154309939,"uuid":"171173367","full_name":"briling/v","owner":"briling","description":"A simple X11 molecular viewer","archived":false,"fork":false,"pushed_at":"2026-03-08T14:32:01.000Z","size":28080,"stargazers_count":22,"open_issues_count":12,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-08T14:46:20.056Z","etag":null,"topics":["computational-chemistry","molecular-visualization","quantum-chemistry","x11"],"latest_commit_sha":null,"homepage":"","language":"C","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/briling.png","metadata":{"files":{"readme":"README.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-17T21:15:49.000Z","updated_at":"2026-03-03T21:55:05.000Z","dependencies_parsed_at":"2025-10-19T21:20:35.922Z","dependency_job_id":null,"html_url":"https://github.com/briling/v","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/briling/v","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briling%2Fv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briling%2Fv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briling%2Fv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briling%2Fv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/briling","download_url":"https://codeload.github.com/briling/v/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/briling%2Fv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30273670,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T20:45:49.896Z","status":"ssl_error","status_checked_at":"2026-03-08T20:45:49.525Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["computational-chemistry","molecular-visualization","quantum-chemistry","x11"],"created_at":"2026-03-08T21:18:23.765Z","updated_at":"2026-03-08T21:18:28.208Z","avatar_url":"https://github.com/briling.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# v\n\nA simple X11 molecular viewer.\n\n![Animation of 128 molecules](figures/intro.gif)\n\n## Contents\n* [Supported formats](#formats-)\n* [Download](#download-)\n* [Build](#build-)\n* [Usage](#usage-)\n* [Examples](#examples-)\n\n---\n\n## Supported formats [↑](#download)\n- [Priroda](http://rad.chem.msu.ru/~laikov) input and output files\n- [`.xyz`](https://en.wikipedia.org/wiki/XYZ_file_format) files\n- [extended `.xyz`](https://github.com/libAtoms/extxyz) files (currently the extra columns are ignored)\n\n## Python package (wrapper / API) available\n\nSee python package page\n[here.](python/README.md)\n\nProvides wrapper scripts with a simple installation and\nallows to open unsupported file formats with `cclib`.\n\n## Download [↑](#download)\n```\nwget https://github.com/briling/v/releases/download/v2.0/v.2.0 -O v\nchmod +x ./v\n```\n\n## Build [↑](#contents)\n```\nmake v\n```\n\n### Requirements:\n* `GNU/Linux` or `Cygwin`\n* `X11`\n* `gcc \u003e= 4.7`\n* `libX11-devel libXpm-devel xproto-devel` (`libx11-dev libxpm-dev x11proto-dev` on Ubuntu)\n* `make`\n\n## Usage [↑](#contents)\n```\n./v file [file2 ... fileN] [options]\n```\nA filename `-` stands for the standard input.\n\nShow the reference:\n```\n./v\n```\n\n\u003cdetails open\u003e\u003csummary\u003e\u003cstrong\u003eCommand-line options\u003c/strong\u003e\u003c/summary\u003e\n\n|                          |                                                               |\n| ------------------------ | ------------------------------------------------------------- |\n| `vib:%d`                 |     force to show geometries (`0`) / vibrations (`1`)         |\n| `bonds:0`                |     disable bonds                                             |\n| `bohr:1`                 |     assume input files are in Bohr (default is Å)             |\n| `dt:%lf`                 |     delay between frames in seconds (default 0.02)            |\n| `symtol:%lf`             |     tolerance for symmetry determination in Å (default 0.001) |\n| `bmax:%lf`               |     max. length of a bond to display                          |\n| `z:%d,%d,%d,%d,%d`       |     show an internal coordinate (`1,i,j,0,0` — distance i-j; `2,i,j,k,0` — angle i-j-k; `3,i,j,k,l` — torsion i-j-k-l) |\n| `rot:%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf`   | rotation matrix to start with (default identity matrix)  |\n| `frame:%d`               |     frame to start with (default 1)                                         |\n| `font:%s`                |     font ([xlfd](https://en.wikipedia.org/wiki/X_logical_font_description)) |\n| `cell:b%lf,%lf,%lf`                         | cuboid size in a.u. (for periodical boundary conditions) |\n| `cell:%lf,%lf,%lf`                          | cuboid size in Å                                         |\n| `cell:b%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf` | cell parameters in a.u.                                  |\n| `cell:%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf`  | cell parameters in Å                                     |\n| `shell:b%lf,%lf`                            | spheres radii in a.u.                                    |\n| `shell:%lf,%lf`                             | spheres radii in Å                                       |\n| `center:%d`                                 | origin is geometric center (`1`, default) / center of mass (`2`) / as is (`0`) |\n| `inertia:%d`                                | if rotate molecules wrt axis of inertia (`1`) or not (`0`, default) |\n| `gui:%d`                                    | normal (default `1`) / headless (`0`) mode               |\n| `com:%s`                                    | command sequence for `gui:0`                             |\n| `exitcom:%s`                                | command sequence to run on exit (same as for `gui:0`)    |\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\u003csummary\u003e\u003cstrong\u003eKeyboard reference\u003c/strong\u003e\u003c/summary\u003e\n\n|                                |                                                           |\n| ------------------------------ |---------------------------------------------------------- |\n| `←`/`↑`/`→`/`↓`/`pgup`/`pgdn`  |  rotate (slower with `ctrl` or `shift`)\n| `w`/`a`/`s`/`d` or `↑`/`←`/`↓`/`→` on numpad |  move   (slower with `ctrl` or `shift`)\n|                                |\n| `0`                            |  go to the first point\n| `=`                            |  go to the last point\n| `enter`/`backspace`            |  next/previous point\n| `ins`                          |  play forwards  / stop (vibration mode: animate selected normal mode / stop)\n| `del`                          |  play backwards / stop\n|                                |\n| `home`/`end`                   |  zoom in/out\n| `1`/`2`                        |  scale bond lengths\n| `3`/`4`                        |  scale atom sizes\n|                                |\n| `.`                            |  show point group\n|                                |\n| `n`                            |  show/hide atom numbers\n| `t`                            |  show/hide atom types\n| `l`                            |  show/hide bond lengths\n| `b`                            |  show/hide bonds\n|                                |\n| `tab`                          |  read new points\n| `r`                            |  reread file\n| `x`                            |  print molecule (Priroda input + bonds)\n| `z`                            |  print molecule (`.xyz`) \n| `p`                            |  print molecule (input for an `.svg` generator)\n| `u`                            |  print current rotation matrix\n| `m`                            |  save the current frame ([`.xpm`](https://en.wikipedia.org/wiki/X_PixMap) format)\n| `f`                            |  save all frames (vibration mode: save all frames to animate the selected normal mode)\n|                                |\n| `j`                            |  jump to a frame (will be prompted): `enter` to confirm, `esc` to cancel\n|                                |\n| `q` / `esc`                    |  quit\n\n\u003c/details\u003e\n\n\u003cdetails open\u003e\u003csummary\u003e\u003cstrong\u003eMouse (in development)\u003c/strong\u003e\u003c/summary\u003e\nOne can also use the mouse to rotate the molecule and zoom in/out.\n\u003c/details\u003e\n\n\u003cdetails open\u003e\u003csummary\u003e\u003cstrong\u003eHeadless mode (in development)\u003c/strong\u003e\u003c/summary\u003e\n\nIf run in the headless mode with `gui:0`, the symbols from the standard input are processed \nas if the corresponding keys were pressed in the normal mode.\nRight now, only `p`, `x`, `z`, and `.` are available.\nCommand-line option `com:%s` overrides the standard input.\nThese examples are equivalent:\n```\n\u003e echo . | ./v mol/mol0001.xyz gui:0\nD*h\n\n\u003e ./v mol/mol0001.xyz gui:0 com:.\nD*h\n\n\u003e cat mol/mol0001.xyz | ./v - gui:0 com:.\nD*h\n```\n\n\u003c/details\u003e\n\n## Examples [↑](#contents)\n* `mol/C3H6~mCPBA_01x11.qm.out` — geometries + vibrations\n```\n./v mol/C3H6~mCPBA_01x11.qm.out font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![Transition state mode animation](figures/C3H6~mCPBA_01x11.qm.out.gif)\n```\n./v mol/C3H6~mCPBA_01x11.qm.out vib:0 z:1,23,24,0,0\n```\n![Transition state optimization](figures/C3H6~mCPBA_01x11.qm.out_03.gif)\n* `mol/S8.qm.out`     — geometries\n```\n./v mol/S8.qm.out z:1,1,2,0,0 font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![S8 equilibrium structure](figures/S8.qm.out_69.gif)\n* `mol/C10H16.qm.out` — vibrations\n```\n./v mol/C10H16.qm.out font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![Adamantane mode animation](figures/C10H16.qm.out.gif)\n* `mol/1372_D02.340_1.out` — PBC simulation\n```\n./v mol/1372_D02.340_1.out bonds:0 cell:b10.7,10.7,1.07 font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![Atoms in cell with PBC](figures/1372_D02.340_1.out_1087.gif)\n* `mol/mol0001.xyz`, `mol/mol0002.xyz` — `.xyz` files with atomic numbers and atomic symbols\n```\n./v mol/mol0001.xyz mol/mol0002.xyz symtol:1e-2 font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![Dimethyl ether structure](figures/mol0002.xyz_3.gif)\n\n* `mol/MOL_3525.xyz` — organic crystal with non-orthogonal cell\n```\n./v mol/MOL_3525.xyz cell:8.929542,0.0,0.0,4.197206,8.892922,0.0,0.480945,2.324788,10.016044 font:-*-*-medium-*-*--15-*-*-*-*-*-*-1\n```\n![Organic crystal cell](figures/MOL_3525.xyz_1.gif)\n\n---\n![Periodic table of elements](figures/periodic.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbriling%2Fv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbriling%2Fv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbriling%2Fv/lists"}