HBDesigner Examples¶
Several examples of how to use HBDesigner have been included in this repository, you can find them in the examples folder. Descriptions of these examples can be found below.
Running the Examples¶
Input structures¶
HBDesigner takes a .pdb file as its primary input. It can have a sequence and/or sidechains on it, but they will be removed to create a PolyGLY backbone before use.
If you want to design intra-chain or monomer networks, you should include only the chain you wish to design.
If you want to design inter-chain or interface networks, you should include only the chains forming the interface you wish to design.
Output files¶
HBDesigner produces two kinds of output:
- PDB files named “HBDes_rank_N.pdb”, where N is the rank calculated by HBDesigner. Lower ranks are “better”.
- A CSV file named “HBDes_stats.csv”, which includes all of the scores and residue IDs of all designed networks. This includes networks that passed the scoring filters but didn’t make the --top_k cutoff.
HBDesigner will only output networks that pass all of its scoring filters and meet its definition of ‘successful’. A ‘successful’ design meets the following criteria:
All network residues must be engaged in at least 1 sidechain-sidechain H-bond
All network residues must form a single contiguous network
The network passes the minimum thresholds for saturation, BUHs, BUPHs, etc. (see Command Line Options for how to set these thresholds)
After filtering, HBDesigner will rank the remaining networks using various score terms, with the following priority:
buried_unsat_Hpol(buried unsatisfied polar H atoms): the fewer the better.saturation: the fraction of total h-bonding “capacity” that is being used across all network residue sc atoms: the higher the better.HBond Score (
HB_Score_full): the change in Rosetta energy provided by the designed network, calculated against an identical PolyG backbone: the lower (more negative) the better.
This setup has a few implications:
It is possible for HBDesigner to return 0 networks, if given a hard enough task and/or few enough tries at it. If this happens, try increasing
--n_samples.If HBDesigner finds more networks than
--top_kallows, it will only return the--top_k“best” according to the ranking scheme. If you want more outputs, increase--top_k.
Important
It is assumed that you will be running these examples in their respective subdirectories in the examples folder. The examples use relative paths to access the necessary files, so if you run them from a different location you will need to adjust the paths accordingly.
These examples also assume that you have access to 8 CPU nodes to use as ‘workers’ for HBDesigner. If you have access to fewer, then you will need to adjust the values of n_workers in the shell scripts before running.
If you have installed HBDesigner using uv, conda, mamba, or pip you can run these examples via
./<example_script>.sh
(Though you will need to make sure you have the appropriate environment activated if you installed via conda/mamba/uv.)
However, if you installed HBDesigner via pixi, you will need to run the examples via
pixi run --manifest-path=<relative path to>/pyproject.toml <example_script>.sh
You can see a full example of this in the monomer directory.
Explanation of the Examples:
For more information about the options used in these examples, see Command Line Options.