Non standart ligands

Greetings,

I am trying to dock a protease (213 residues) to an integrin (1,847 residues).

However, I would like to use the integrin embedded in a CHARMM-GUI lipid bilayer model composed of POPE and CHL. In this case, the integrin PDB file contains 3,137 residues/molecules.

I generated the .top and .par files for POPE and CHL using Antechamber.

Although the results change when I include them in the .cfg files, the output cluster models (cluster_1_model_1.pdb) do not show the POPE and CHL molecules.

Is this correct?

This is the .cfg input.

run_dir = “resuparamAMber”

execution mode

mode = “local”
ncores = 48

molecules to be docked

molecules = [
“data/protein2.pdb”,
“data/protein1.pdb”
]

[topoaa]
autohis = false
ligand_param_fname = “data/ligandCHL_CNS.par”
ligand_top_fname = “data/ligandCHL_CNS.top”
delenph = false

[topoaa.mol1]
nhisd = 0
nhise = 1
hise_1 = 75
[topoaa.mol2]
nhisd = 1
hisd_1 = 76
nhise = 1
hise_1 = 15

[rigidbody]
tolerance = 20
sampling = 100
ranair = true
ligand_param_fname = “data/ligandCHL_CNS.par”
ligand_top_fname = “data/ligandCHL_CNS.top”

[caprieval]

[seletop]
select = 5

[flexref]
tolerance = 50
contactairs = true
ligand_param_fname = “data/ligandCHL_CNS.par”
ligand_top_fname = “data/ligandCHL_CNS.top”

[caprieval]

[emref]
tolerance = 50
contactairs = true
ligand_param_fname = “data/pop_CNS.par”
ligand_top_fname = “data/pop_CNS.top”

[clustfcc]
min_population = 1

[seletopclusts]
top_models = 10

[caprieval]

Are there present in the models in the e.g. emref directory?

You mean if the ligands (CHL and/or POPE) are present in the .pdb generated in the emref step? They are not either.

By the way, I am using Haddock3

And in the topoaa directory?

If not then someway they get filtered out…

Note that this was never tested with HADDOCK3.

Might work in the 2.4 web server though.

POPE and CHL are not in the 0_topoaa either

Just to be totaly clear: in this approach I want to try CHL and POPE belongs to the protein (integrin) to which I want dock protein2 (protease). The problem is CHL and POPE are not difined in Haddock3.

I did try already in the server, but the integrin-membrane protein does not load. It gives this error:

An error has occurred, here are the details: invalid literal for int() with base 10: ‘A245’

Can you share the PDB file of your membrane embedded protein?

The lipids must have the same chainID as the protein, and be defined as HETATM

It says its too big (larger than 10MB).

But here it is a part of the pdb, from the end of the protein to the first lipid bilayer molecules

ATOM 28127 HG2 LYS 1847 79.304 26.566 18.315 1.00 0.00 H
ATOM 28128 CD LYS 1847 79.944 24.499 18.137 1.00 0.00 C
ATOM 28129 HD1 LYS 1847 79.479 24.323 17.144 1.00 0.00 H
ATOM 28130 HD2 LYS 1847 79.888 23.562 18.731 1.00 0.00 H
ATOM 28131 CE LYS 1847 81.404 24.895 17.951 1.00 0.00 C
ATOM 28132 HE1 LYS 1847 81.884 25.030 18.943 1.00 0.00 H
ATOM 28133 HE2 LYS 1847 81.463 25.838 17.366 1.00 0.00 H
ATOM 28134 NZ LYS 1847 82.169 23.868 17.221 1.00 0.00 N
ATOM 28135 HZ1 LYS 1847 81.749 23.727 16.280 1.00 0.00 H
ATOM 28136 HZ2 LYS 1847 82.141 22.974 17.751 1.00 0.00 H
ATOM 28137 HZ3 LYS 1847 83.156 24.179 17.117 1.00 0.00 H
ATOM 28138 C LYS 1847 75.508 26.407 18.735 1.00 0.00 C
ATOM 28139 OT1 LYS 1847 74.484 26.536 19.458 1.00 0.00 O
ATOM 28140 OT2 LYS 1847 75.474 26.265 17.484 1.00 0.00 O
TER 28140 LYS 1847
HETATM28141 N POP 1848 21.878 3.857 19.906 1.00 0.00 N
HETATM28142 HN1 POP 1848 22.031 4.880 19.795 1.00 0.00 H
HETATM28143 HN2 POP 1848 21.310 3.747 20.770 1.00 0.00 H
HETATM28144 HN3 POP 1848 22.792 3.414 20.127 1.00 0.00 H
HETATM28145 C12 POP 1848 21.225 3.163 18.761 1.00 0.00 C
HETATM28146 H12A POP 1848 21.027 2.148 19.165 1.00 0.00 H
HETATM28147 H12B POP 1848 22.092 3.213 18.067 1.00 0.00 H
HETATM28148 C11 POP 1848 19.950 3.851 18.222 1.00 0.00 C
HETATM28149 H11A POP 1848 19.635 3.469 17.228 1.00 0.00 H
HETATM28150 H11B POP 1848 20.326 4.885 18.062 1.00 0.00 H
HETATM28151 P POP 1848 17.640 4.805 19.083 1.00 0.00 P
HETATM28152 O13 POP 1848 17.702 6.091 19.840 1.00 0.00 O
HETATM28153 O14 POP 1848 16.493 3.963 19.462 1.00 0.00 O
HETATM28154 O11 POP 1848 17.590 5.180 17.541 1.00 0.00 O
HETATM28155 O12 POP 1848 18.928 3.905 19.186 1.00 0.00 O
HETATM28156 C1 POP 1848 16.545 4.684 16.720 1.00 0.00 C
HETATM28157 HA POP 1848 15.979 5.493 16.210 1.00 0.00 H
HETATM28158 HB POP 1848 15.786 4.060 17.238 1.00 0.00 H
HETATM28159 C2 POP 1848 17.158 3.792 15.644 1.00 0.00 C
HETATM28160 HS POP 1848 17.739 2.952 16.081 1.00 0.00 H

I did also try like that

ATOM 28122 CB LYS A1847 77.717 25.239 18.939 1.00 0.00 C
ATOM 28123 HB1 LYS A1847 77.368 24.925 17.932 1.00 0.00 H
ATOM 28124 HB2 LYS A1847 77.589 24.390 19.644 1.00 0.00 H
ATOM 28125 CG LYS A1847 79.185 25.608 18.865 1.00 0.00 C
ATOM 28126 HG1 LYS A1847 79.593 25.731 19.891 1.00 0.00 H
ATOM 28127 HG2 LYS A1847 79.304 26.566 18.315 1.00 0.00 H
ATOM 28128 CD LYS A1847 79.944 24.499 18.137 1.00 0.00 C
ATOM 28129 HD1 LYS A1847 79.479 24.323 17.144 1.00 0.00 H
ATOM 28130 HD2 LYS A1847 79.888 23.562 18.731 1.00 0.00 H
ATOM 28131 CE LYS A1847 81.404 24.895 17.951 1.00 0.00 C
ATOM 28132 HE1 LYS A1847 81.884 25.030 18.943 1.00 0.00 H
ATOM 28133 HE2 LYS A1847 81.463 25.838 17.366 1.00 0.00 H
ATOM 28134 NZ LYS A1847 82.169 23.868 17.221 1.00 0.00 N
ATOM 28135 HZ1 LYS A1847 81.749 23.727 16.280 1.00 0.00 H
ATOM 28136 HZ2 LYS A1847 82.141 22.974 17.751 1.00 0.00 H
ATOM 28137 HZ3 LYS A1847 83.156 24.179 17.117 1.00 0.00 H
ATOM 28138 C LYS A1847 75.508 26.407 18.735 1.00 0.00 C
ATOM 28139 OT1 LYS A1847 74.484 26.536 19.458 1.00 0.00 O
ATOM 28140 OT2 LYS A1847 75.474 26.265 17.484 1.00 0.00 O
TER 28140 LYS 1847
HETATM28141 N POP A1848 21.878 3.857 19.906 1.00 0.00 N
HETATM28142 HN1 POP A1848 22.031 4.880 19.795 1.00 0.00 H
HETATM28143 HN2 POP A1848 21.310 3.747 20.770 1.00 0.00 H
HETATM28144 HN3 POP A1848 22.792 3.414 20.127 1.00 0.00 H
HETATM28145 C12 POP A1848 21.225 3.163 18.761 1.00 0.00 C
HETATM28146 H12A POP A1848 21.027 2.148 19.165 1.00 0.00 H
HETATM28147 H12B POP A1848 22.092 3.213 18.067 1.00 0.00 H
HETATM28148 C11 POP A1848 19.950 3.851 18.222 1.00 0.00 C
HETATM28149 H11A POP A1848 19.635 3.469 17.228 1.00 0.00 H
HETATM28150 H11B POP A1848 20.326 4.885 18.062 1.00 0.00 H
HETATM28151 P POP A1848 17.640 4.805 19.083 1.00 0.00 P
HETATM28152 O13 POP A1848 17.702 6.091 19.840 1.00 0.00 O
HETATM28153 O14 POP A1848 16.493 3.963 19.462 1.00 0.00 O
HETATM28154 O11 POP A1848 17.590 5.180 17.541 1.00 0.00 O
HETATM28155 O12 POP A1848 18.928 3.905 19.186 1.00 0.00 O
HETATM28156 C1 POP A1848 16.545 4.684 16.720 1.00 0.00 C
HETATM28157 HA POP A1848 15.979 5.493 16.210 1.00 0.00 H
HETATM28158 HB POP A1848 15.786 4.060 17.238 1.00 0.00 H
HETATM28159 C2 POP A1848 17.158 3.792 15.644 1.00 0.00 C

For HADDOCK3 it must have a valid chainID.

We can’t debug without all data and your workflow.

protein2.pdb (128.2 KB) (this is the protease, which seems to not shown any problem)

oooooo.pdb (7.5 MB) (this is the integrin embebed in the lipid bilayer - this is a truncated version, monolayer, so it fits in the 10 MB limit of this website)

ligandCHL_CNSpar.txt (4.3 KB) (par parameters for CHL ligand from antechamber)

ligandCHL_CNStop.txt (17.3 KB) (top parameters for CHL from antechamber)

It does not load the integrin-lipidibilayer in the server either, as said previously it renders the error An error has occurred, here are the details: invalid literal for int() with base 10: ‘A245’

Hi there

I tested a simple workflow in HADDOCK3 using your input data

```
# ====================================================================
# Protein-ligand docking example

# directory in which the scoring will be done
run_dir = "run1-test"

# execution mode
mode = "local"
ncores = 40

# molecules to be docked
molecules =  [
    "oooooo.pdb",
    "protein2.pdb"
    ]

# ====================================================================
# Parameters for each stage are defined below
# ====================================================================
[topoaa]
autohis = true
ligand_param_fname = "ligandCHL_CNS.par"
ligand_top_fname = "ligandCHL_CNS.top"
delenph = true

[emref]
tolerance = 20
ligand_param_fname = "ligandCHL_CNS.par"
ligand_top_fname = "ligandCHL_CNS.top"

[caprieval]

# ====================================================================


It does work fine and the cholesterol is still there. The flexref module will however most likely fail for the full membrane because of some limits. We are working on addressing things for explicit membranes.

Note that topoaa returns a warning about the ooooo structure (probably issues with your model…):

(haddock3) [abonvin@goodwine]: 0_topoaa > more oooooo_haddock.warn
WARNING: the bonded energy is very high:
Ebonded-total=1.971904E+06 Ebond=389658 Eangl=1.363351E+06 Eimpr=218896
Something is possibly wrong with your input structure

emref_1.pdb (1.9 MB)

Thanks for that. It worked. I managed to insert two components of the membrane (CHL and POPE).

It it indeed crashed in the flexreaf step. The limitations you refer are due to the size, which means a small number of atoms in the membrane could make it works?

[2026-03-20 23:19:31,652 libparallel INFO] Using 5 cores
[2026-03-20 23:23:47,698 libparallel INFO] 5 tasks finished
[2026-03-20 23:23:47,718 init INFO] [flexref] CNS jobs have finished
[2026-03-20 23:23:47,722 libutil ERROR] 100.00% of output was not generated for this module and tolerance was set to 50.00%.
Traceback (most recent call last):
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/libs/libutil.py”, line 382, in log_error_and_exit
yield
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/clis/cli.py”, line 193, in main
workflow.run()
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/libs/libworkflow.py”, line 43, in run
step.execute()
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/libs/libworkflow.py”, line 173, in execute
self.module.run() # type: ignore
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/modules/base_cns_module.py”, line 61, in run
self._run()
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/modules/refinement/flexref/init.py”, line 159, in _run
self.export_io_models(faulty_tolerance=self.params[“tolerance”])
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/modules/init.py”, line 310, in export_io_models
self.finish_with_error(_msg)
File “/home/lovelace/proj/proj758/egil/haddock3/.haddock3-env/lib/python3.10/site-packages/haddock/modules/init.py”, line 318, in finish_with_error
raise RuntimeError(reason)
RuntimeError: 100.00% of output was not generated for this module and tolerance was set to 50.00%.
[2026-03-20 23:23:47,941 libutil ERROR] 100.00% of output was not generated for this module and tolerance was set to 50.00%.
[2026-03-20 23:23:47,942 libutil ERROR] An error has occurred, see log file. And contact the developers if needed.
[2026-03-20 23:23:47,942 libutil INFO] Finished at 20/03/2026 23:23:47. For any help contact us at GitHub · Where software is built . Tchau! 再见
! Até logo!.

Dear Egil

I have been working on a membrane branch of HADDOCK3 that addresses some of the issues.
Could you share any lipid topologies/parameter files you might have to incorporate those into that version?

Dear Bovin,

Besides the CHL, which I already attached some posts above, here is the ones of POPE. I have no one else, but I could calculate them, if needed.
Also generated by antechamber.
ligandPOPE_CNSpar.txt (8.3 KB)
ligandPOPE_CNStop.txt (24.7 KB)

Thanks - will add those and let you know when you can test the membrane branch.

And if you want to provide more lipids, feel free to do it :slight_smile: