dauparas / LigandMPNN

MIT License
238 stars 47 forks source link

Fixed Residues Not Working for Multiple Chains #6

Closed amelie-iska closed 9 months ago

amelie-iska commented 9 months ago

Running the following command:

python run.py \
        --seed 111 \
        --pdb_path "./inputs/design_ppi_0.pdb" \
        --out_folder "./outputs/fix_residues_test" \
        --fixed_residues "A1 A2 A3 B1 B2 B3"

for a PDB with two chains only fixes the first three residues of chain A, but does not fix the residues in the second chain B. I also noticed this seems to be the case in the fixed_rediues_multi example output provided. It appears that B38 was not fixed in chain B. This also seems to happen with the redesigned_residues example as well, and only chain A has its residues fixed.

dauparas commented 9 months ago

Hello! I think in the fixed_residues_multi example B38 is fixed.

Input PDB, residue B38 is GLY: https://github.com/dauparas/LigandMPNN/blob/main/inputs/4GYT.pdb#L3957 Designed sequence PDB, residue B38 is GLY: https://github.com/dauparas/LigandMPNN/blob/main/outputs/fixed_residues_multi/backbones/4GYT_1.pdb#L1666C9-L1666C29

I wonder if the confusion is coming from the fact that the first residue in the chain B is B7 (https://github.com/dauparas/LigandMPNN/blob/main/outputs/fixed_residues_multi/backbones/4GYT_1.pdb#L1666C9-L1666C29), so if you look at fasta sequence output B38 is not the 38th residue.

amelie-iska commented 9 months ago

I see! Thank you. I believe that was the issue, I just didn't realize the residues didn't start at 1. Sorry about that, and thank you for the response.