{"id":15684415,"url":"https://github.com/rasbt/hbindviz","last_synced_at":"2025-05-07T16:04:54.573Z","repository":{"id":66172045,"uuid":"110019040","full_name":"rasbt/HbindViz","owner":"rasbt","description":"Tools for generating hydrogen-bond interaction visualizations from Hbind","archived":false,"fork":false,"pushed_at":"2018-02-06T07:37:07.000Z","size":1757,"stargazers_count":10,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T11:41:22.118Z","etag":null,"topics":["bioinformatics","computational-biology","hydrogen-bonds","protein-ligand-interactions","protein-structure"],"latest_commit_sha":null,"homepage":"http://psa-lab.github.io/HbindViz","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rasbt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-11-08T19:12:16.000Z","updated_at":"2024-03-20T15:51:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"4dff0b74-5b8f-4ae2-a538-8a9482ec364d","html_url":"https://github.com/rasbt/HbindViz","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasbt%2FHbindViz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasbt%2FHbindViz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasbt%2FHbindViz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rasbt%2FHbindViz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rasbt","download_url":"https://codeload.github.com/rasbt/HbindViz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252912993,"owners_count":21824065,"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":["bioinformatics","computational-biology","hydrogen-bonds","protein-ligand-interactions","protein-structure"],"created_at":"2024-10-03T17:16:17.279Z","updated_at":"2025-05-07T16:04:54.563Z","avatar_url":"https://github.com/rasbt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"### HbindViz -- Generating hydrogen-bond interaction visualizations from Hbind\n\n\n![](docs/sources/images/hbind-viz-logo.jpg)\n\n\nTools for generating visualizations of the hydrogen bond interactions identified by Hbind.\n\n---\n\n[Hbind](https://github.com/psa-lab/Hbind) is software for rigorously defining intermolecular H-bonds by donor/acceptor chemistry and geometric constraints, which was developed, used, and described in detail in\n\n- Raschka, Sebastian, Alex Wolf, Joseph Bemister‐Buffington, and Leslie A. Kuhn (2018) “Protein-ligand interfaces are polarized: discovery of a strong trend for intermolecular hydrogen bonds to favor donors on the protein side with implications for predicting and designing ligand complexes” Journal of Computer-Aided Molecular Design. *Journal of Computer-Aided Molecular Design* (accepted manuscript) [[biorxiv preprint](https://www.biorxiv.org/content/early/2018/02/05/260612)]\n\n\n--- \n\n## Visualization Hydrogen Bonds in PyMOL\n\nVisualizing H-bonds identified via Hbind is a 3-step process:\n\n1. Generating an Hbind interaction table\n2. Creating the PyMOL visualization commands via HbindViz' hbind_pymol_cmds.py Python script\n3. Executing the generated PyMOL commands to visualize hydrogen-bonds in PyMOL\n\n### Step 1: Generating an Hbind interaction table\n\nFirst, an Hbind interaction table that lists the hydrogen bond interactions between a protein and its ligand has to be generated. The Hbind open source software is available at [https://github.com/psa-lab/Hbind](https://github.com/psa-lab/Hbind).\n\nOnce you have it installed, you can execute the following command based on the two example files provided in the [`./example_files`](https://github.com/psa-lab/HbindViz/tree/master/example_files) subdirectory (the structure of an [PKCI-substrate analog](https://www.rcsb.org/pdb/explore.do?structureId=1kpf) with its ligand, adenosine monophsophate):\n\n    hbind -p ./example_files/1KPF.pdb -l ./example_files/1KPF_AMP.mol2 \n\nAfter executing the command above, you should see the following output in your terminal:\n\n```\nHBIND Version: 1.0.0\n\nDocumentation: http://psa-lab.github.io/Hbind\nRaschka, Wolf, Bemister-Buffington, Kuhn (2018)\nProtein Structure and Analysis Lab, MSU (http://kuhnlab.bmb.msu.edu)\n\nLigand file: /Users/sebastian/code/hbind/example_files/1KPF_AMP.mol2\nProtein file: /Users/sebastian/code/hbind/example_files/1KPF.pdb\n\n++++++++++++++++++++++++++++++++ HBind Interaction Table ++++++++++++++++++++++++++++++++\n#            | Ligand Atom -- Protein  Atom | Bond   D-H-A  Ligand-Protein\n#            |  #  TYPE    -- RES  CH_ID  RES_NO  A_TYPE | DIST.  ANGLE  INTERACTION\n| hbond     1   2  O.2     -- ASN  A       99     ND2      2.911  174.0  Acceptor - Donor\n| hbond     2   3  O.3     -- SER  A      107     N        2.802  166.8  Acceptor - Donor\n| hbond     3   3  O.3     -- VAL  A      108     N        3.031  178.8  Acceptor - Donor\n| hbond     4   4  O.3     -- HIS  A      112     NE2      2.593  163.1  Acceptor - Donor\n| hbond     5   4  O.3     -- HIS  A      114     NE2      2.581  140.4  Acceptor - Donor\n| hbond     6  10  O.3     -- ASP  A       43     OD2      2.714  167.1  Donor - Acceptor\n| hbond     7  12  O.3     -- ASP  A       43     OD1      2.607  154.1  Donor - Acceptor\n| hbond     8  22  N.ar    -- ILE  A       44     N        3.156  154.9  Acceptor - Donor\n```\n\nSave this output to a simple text file (an example is available at `./example_files/hbind_output.txt`)\n\n\n\n### Step 2: Creating the PyMOL visualization commands via HbindViz' hbind_pymol_cmds.py Python script\n\n\n\n*No installation is required to run the `hbind_pymol_cmds.py` Python script included in this directory. ([Python 3.6](https://www.python.org/downloads/release/python-360/) or greater is recommended.)*\n\n\nOnce you have generated the Hbind interaction table (an example is available at `./example_files/hbind_output.txt`), you can execute the following command to generate the PyMOL commands for visualizing the protein-ligand hydrogen-bond interaction network:\n\n    python code/hbind_pymol_cmds.py example_files/hbind_output.txt\n\nThe execution of the previous command should return the following output in your terminal:\n\n```\nhide lines\nshow cartoon\nshow sticks, ligand\nset sphere_scale=0.32\nshow sticks, (protein and chain A and resi 43)\nshow sticks, (protein and chain A and resi 44)\nshow sticks, (protein and chain A and resi 112)\nshow sticks, (protein and chain A and resi 114)\nshow sticks, (protein and chain A and resi 99)\nshow sticks, (protein and chain A and resi 108)\nshow sticks, (protein and chain A and resi 107)\nshow sphere, (ligand and id 22)\nshow sphere, (ligand and id 10)\nshow sphere, (ligand and id 4)\nshow sphere, (ligand and id 12)\nshow sphere, (ligand and id 3)\nshow sphere, (ligand and id 2)\nshow sphere, /protein//A/ASN`99/ND2\ndistance hbond, /protein//A/ASN`99/ND2,(ligand and id 2)\nshow sphere, /protein//A/SER`107/N\ndistance hbond, /protein//A/SER`107/N,(ligand and id 3)\nshow sphere, /protein//A/VAL`108/N\ndistance hbond, /protein//A/VAL`108/N,(ligand and id 3)\nshow sphere, /protein//A/HIS`112/NE2\ndistance hbond, /protein//A/HIS`112/NE2,(ligand and id 4)\nshow sphere, /protein//A/HIS`114/NE2\ndistance hbond, /protein//A/HIS`114/NE2,(ligand and id 4)\nshow sphere, /protein//A/ASP`43/OD2\ndistance hbond, /protein//A/ASP`43/OD2,(ligand and id 10)\nshow sphere, /protein//A/ASP`43/OD1\ndistance hbond, /protein//A/ASP`43/OD1,(ligand and id 12)\nshow sphere, /protein//A/ILE`44/N\ndistance hbond, /protein//A/ILE`44/N,(ligand and id 22)\nset dash_color, yellow, hbond\nhide labels\n```\n\n---\n\n**Tip:** \n\nIf you are using a Linux/Unix terminal, you can redirect the outputs from Hbind or `hbind_pymol_cmds.py` to text files so that you don't need to copy it manually from the terminal. For example, the command for the redirect to `my_output.txt` would be as follows:\n\n    python code/hbind_pymol_cmds.py example_files/hbind_output.txt \u003e my_output.txt\n\n---\n\n\n\n\n\n\n\n### Step 3: Executing the generated PyMOL commands to visualize hydrogen-bonds in PyMOL\n\nAfter obtaining the commands for creating the H-bond visualization in PyMOL (see Step 2), open the protein and ligand structures in PyMOL:\n\n![](docs/sources/images/step03_1.png)\n\n\nNext, rename the protein structure (here: \"1KPF\") to \"protein\" and the ligand structure (here: \"1KPF_AMP\") to \"ligand\" as shown in the screenshot below:\n\n![](docs/sources/images/step03_2.png)\n\nFinally, copy and paste the commands from Step 2 into the PyMOL command prompt and hit enter to see the hydrogen bonds visualized:\n\n![](docs/sources/images/step03_3.png)\n\n(Note that the Hbind table only lists the heavy atoms that participate in hydrogen bond interactions; thus, hydrogen positions are ignored in the HbondViz script, and you may want to hide these in PyMOL.)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasbt%2Fhbindviz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frasbt%2Fhbindviz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frasbt%2Fhbindviz/lists"}