boltz icon indicating copy to clipboard operation
boltz copied to clipboard

Problems about structure prediction with Templates

Open yx0516 opened this issue 4 months ago • 8 comments

I’m using the latest code. When performing structure prediction with Template, I encounter some issues. Take PDB ID: 9bqw as an example:

  • When force is set to false (the default), the structure can be predicted successfully, but after alignment the superposition is poor.

The alignment by L chain show as following: Image

  • When force is set to true ( with threshold 1.0 or 2.0), the structure is still predicted, yet the H chain shows multiple breaks, whereas the other chains are predicted correctly and the superposition is excellent. The alignment by L chain show as following:
Image Image

The same problem occurs in test with PDB ID: 8ucd. Certain chain shows multiple breaks. Please give a hand and check this issue. Thanks a lot. @timodonnell

yx0516 avatar Aug 14 '25 03:08 yx0516

@timodonnell @jsilter @cunnie @latkins

yx0516 avatar Aug 21 '25 06:08 yx0516

9fww_chainA.pdb Another issue is that when a PDB file lacks header information, it causes an error when used as the template structure. Use above file '9fww_chainA.pdb' as example, the error message is as follows:

File "/data/PRG/tools/boltz/apps/boltz/src/boltz/main.py", line 569, in process_input target = parse_yaml(path, ccd, mol_dir, boltz2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/PRG/tools/boltz/apps/boltz/src/boltz/data/parse/yaml.py", line 68, in parse_yaml return parse_boltz_schema(name, data, ccd, mol_dir, boltz2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data/PRG/tools/boltz/apps/boltz/src/boltz/data/parse/schema.py", line 1643, in parse_boltz_schema parsed_template = parse_pdb( ^^^^^^^^^^ File "/data/PRG/tools/boltz/apps/boltz/src/boltz/data/parse/pdb.py", line 33, in parse_pdb return parse_mmcif( ^^^^^^^^^^^^ File "/data/PRG/tools/boltz/apps/boltz/src/boltz/data/parse/mmcif.py", line 901, in parse_mmcif parsed_polymer = parse_polymer( ^^^^^^^^^^^^^^ File "/data/PRG/tools/boltz/apps/boltz/src/boltz/data/parse/mmcif.py", line 588, in parse_polymer res_name = sequence[j] ~~~~~~~~^^^ IndexError: list index out of range

yx0516 avatar Aug 21 '25 08:08 yx0516

I've been encountering the latter issue trying to template with some custom pdb files and I realize they have no header at all. Did you test what kind of header information needs to be in the file for the template to at least be parsed?

Norgent avatar Sep 19 '25 17:09 Norgent

I faced the same issue as @yx0516 mentioned. I converted the error-causing pdb file to cif then executed run. This resolved the issue.

hyunmogkim avatar Oct 01 '25 08:10 hyunmogkim

@hyunmogkim Did you use gemmi or another tool to convert the pdb to cif? I am running into the same issue

eliottpark avatar Nov 25 '25 20:11 eliottpark

I have found that converting PDB files that don't work into mmCIF using MAXIT, specifically, will work. Simply opening the PDB in pymol and saving it in cif format will not because pymol does not generate all the standard headers needed. I have read that other programs like ChimeraX have the same issue (or feature, as this is to prevent falsifying structures in the PDB)

There is web server version hosted here. This is what I used

Norgent avatar Nov 25 '25 20:11 Norgent

Worked for me, thank you @Norgent!

eliottpark avatar Nov 25 '25 23:11 eliottpark

@eliottpark Yes I used MAXIT as well :)

hyunmogkim avatar Nov 25 '25 23:11 hyunmogkim

The file I converted using https://github.com/project-gemmi/gemmi also worked. The file I converted using Biopython did not.

ksebby avatar Dec 02 '25 21:12 ksebby