dauparas / ProteinMPNN

Code for the ProteinMPNN paper
MIT License
1.05k stars 307 forks source link

From 2 distinct structure to a single sequence ? #75

Open PodevynLoris opened 1 year ago

PodevynLoris commented 1 year ago

Thank you for your work @dauparas and the team.

I am wondering if there is a way to use ProteinMPNN to sample a single sequence from the backbone structures of two distinct chains as below ?

image6
sokrypton commented 1 year ago

As long as they are the same length, you can just pretend the input is a homooligomer and tie the positions between the two copies.

PodevynLoris commented 1 year ago

@sokrypton Thank you for your fast answer.

What do you mean by "tie the positions between the copies"?

sokrypton commented 1 year ago

@PodevynLoris See: https://www.science.org/doi/full/10.1126/science.adg7731

dauparas commented 1 year ago

You can pass a sequence symmetry specifying dictionary called --tied_positions_jsonl and choose which residues need to match. If two chains are of the same length see this example: https://github.com/dauparas/ProteinMPNN/blob/main/examples/submit_example_6.sh and if chains are of different lengths you can manually specify which residues should match by making your own.


#One dictionary inside the list specifies one symmetry between residues, the example below has two dictionaries which would tie residues
#A:1, B:2 together and also independently tie A:2, B:3 together etc
{"my_protein_name": [{"A": [1], "B": [2]}, {"A": [2], "B": [3]}]}