openmm / pdbfixer

PDBFixer fixes problems in PDB files
Other
461 stars 115 forks source link

Cannot find missing residues with "findMissingResidues" #190

Closed luwei0917 closed 4 years ago

luwei0917 commented 4 years ago

I tried,

fixer = pdbfixer.PDBFixer(pdbid="6D3R")
fixer.findMissingResidues()
keys = fixer.missingResidues.keys()
print(keys)

keys is empty. but if you check https://files.rcsb.org/view/6D3R.pdb, lots of missing residues exists. Is it because the there are too many missing residues?(243, from 673 to 916) Thanks.

peastman commented 4 years ago

This file is kind of strange. If you look at the ATOM records, you see that it skips from residue 404 to residue 437. Normally that would indicate there are 33 missing residues, which PDBFixer should try to fill in based on the SEQRES records. But the SEQRES records ignore those residue indices. They just skip right from 404 to 437 as if nothing had happened. As a result, PDBFixer is failing to match up the sequences and concluding it has no information about the sequence for that chain.

I'm not really sure how this could be handled. Unfortunately, there's just a lot of inconsistency between PDB files. That makes it really hard to create logic that always works. The current mechanism usually does, but then you find strange files like this one.

luwei0917 commented 4 years ago

you are right. But I just realized we could manually assign a dictionary to specific what the fixer.missingResidues should be. And let it fill the atom for us. so I think we good now. Thanks.

peastman commented 4 years ago

Ok, great. Is it ok to close this issue?

AmericaChi commented 1 year ago

you are right. But I just realized we could manually assign a dictionary to specific what the fixer.missingResidues should be. And let it fill the atom for us. so I think we good now. Thanks.

Dear lu wei, How did you do that?

peastman commented 1 year ago

It's described in the manual. Look for the section titled "Identify Missing Residues".

peastman commented 2 weeks ago

Can you open a new issue? This one was closed years ago.

Also, I looked at the file you mentioned and there's no residue 517 or 603 in it. The very first residue in the file is 665.