4 releases (breaking)
0.4.0 | Jun 12, 2024 |
---|---|
0.3.0 | Jun 12, 2024 |
0.2.0 | Jun 7, 2024 |
0.1.0 | Jun 3, 2024 |
#9 in Biology
515 downloads per month
75KB
1K
SLoC
haddock-restraints
A standalone command-line application to generate restraints to be used in HADDOCK.
Commands
tbl
: Generate TBL file from input fileti
: Generate true-interface restraints from a PDB filerestraint
: Generate Unambiguous restraints to keep molecules together during dockinginterface
: List residues in the interface
Planned features
- Generate
.tbl
files from an input file - Define passive residues based on surface accessibility (
surface_as_passive
) - Define passive residues around active ones (
passive_from_active
) - Support for N interactors; 2-body, 3-body, 4-body, etc
- Support for multiple interaction sites in the same interactor
- Generate true-interface restraints for benchmarking
- Create unambiguous restraints to keep molecules together during docking
- Filter out buried residues
- List residues in the interface
- Specify atom subsets
-
Generate random-restraintsdone via CNS
Usage
Install
cargo install haddock-restraints
Execute
$ haddock-restraints -h
Generate restraints to be used in HADDOCK
Usage: haddock-restraints <COMMAND>
Commands:
tbl Generate TBL file from input file
ti Generate true-interface restraints from a PDB file
restraint Generate Unambiguous restraints to keep molecules together during docking
interface List residues in the interface
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
ti
command
$ ./haddock-restraints ti -h
Generate true-interface restraints from a PDB file
Usage: haddock-restraints ti <INPUT> <CUTOFF>
Arguments:
<INPUT> PDB file
<CUTOFF> Cutoff distance for interface residues
Options:
-h, --help Print help
Example:
./haddock-restraints ti examples/2oob.pdb 5.0 > ti.tbl
tbl
command
$ ./haddock-restraints tbl -h
Generate TBL file from input file
Usage: haddock-restraints tbl <INPUT>
Arguments:
<INPUT> Input file
Options:
-h, --help Print help
Example:
./haddock-restraints tbl examples/restraints.json > ambig.tbl
Check the examples folder for examples of restraint files.
The mandatory fields are:
id
: an integer that identifies the interactorchain
: the chain of the interactoractive
: a list of residues that are active in the interactionpassive
: a list of residues that are passive in the interactiontarget
: a list of integers that identifies the interactors that the current interactor interacts with
Optional fields are:
structure
: the PDB file that contains the structure of the interactorpassive_from_active
: if true, the passive residues are defined based on the active residues (requires structure)surface_as_passive
: if true, the passive residues are defined based on the surface accessibility of the residues (requires structure)filter_buried
: if true, the buried residues are filtered out (requires structure)filter_buried_cutoff
: the cutoff to consider a residue as buried, default = 0.7 (requires structure)
[
{
"id": 1,
"chain": "A",
"active": [
934,
939
],
"passive": [],
"structure": "2oob.pdb",
"target": [
2
],
"passive_from_active": true,
"filter_buried": true
},
{
"id": 2,
"chain": "B",
"active": [
68
],
"passive": [],
"target": [
1
]
},
{
"id": 3,
"chain": "B",
"active": [],
"passive": [],
"target": [
1
],
"structure": "2oob.pdb",
"surface_as_passive": true
}
]
restraint
command
$ ./haddock-restraints restraint -h
Generate Unambiguous restraints to keep molecules together during docking
Usage: haddock-restraints restraint <INPUT>
Arguments:
<INPUT> PDB file
Options:
-h, --help Print help
Example:
./haddock-restraints restraint examples/2oob_w_gaps.pdb > unambiguous.tbl
interface
command
$ ./haddock-restraints interface -h
List residues in the interface
Usage: haddock-restraints interface <INPUT> <CUTOFF>
Arguments:
<INPUT> PDB file
<CUTOFF> Cutoff distance for interface residues
Options:
-h, --help Print help
Example:
./haddock-restraints interface examples/2oob.pdb 5.0
Chain A: [931, 933, 934, 936, 937, 938, 940, 941, 946, 950]
Chain B: [6, 8, 42, 44, 45, 46, 47, 48, 49, 66, 68, 69, 70]
Troubleshooting
/usr/bin/ld: cannot find -lc++: No such file or directory
sudo apt-get install libc++-dev libc++abi-dev
Unable to find libclang
sudo apt-get install libclang-dev
Dependencies
~20MB
~293K SLoC