chaidiscovery / chai-lab

Chai-1, SOTA model for biomolecular structure prediction
https://www.chaidiscovery.com
Other
1.27k stars 159 forks source link

ligand[polymer]-protein docking #25

Open Jason-Han-Hu opened 2 months ago

Jason-Han-Hu commented 2 months ago

Appreciate your outstanding work!

I'm trying to dock a ligand composed of multiple monomers with my target protein. I set Molecule Type to 'ligand' and Copies to 10, but the result showed 10 ligands binding to different sites on the protein. Is there a way to dock a polymer with the target protein? Can I input multiple ligands [using SMILES code] in the input box on web server at once ? Also, is there a method to modify the code in my locally deployed project to enable docking of a polymer with the target protein?

image

arogozhnikov commented 2 months ago

Hi Jason, that's expected behavior: 10 copies = add 10 copies of molecule, no connections assumed.

If you want to add polysaccharide (I guess?), you'll need to unpack its formula for 10 copies. Something like

parts = [f'C{i}C(OC(C(C{i}O)O)O' for i in range(1, 11)] 
print(''.join(parts))
# output:
# C1C(OC(C(C1O)O)OC2C(OC(C(C2O)O)OC3C(OC(C(C3O)O)OC4C(OC(C(C4O)O)OC5C(OC(C(C5O)O)OC6C(OC(C(C6O)O)OC7C(OC(C(C7O)O)OC8C(OC(C(C8O)O)OC9C(OC(C(C9O)O)OC10C(OC(C(C10O)O)O

note: above maybe incorrect, just giving the idea. Maybe there are better ways to generate smiles for n copies, or even some instruments - I'm not versed in this, maybe community has ideas/suggestions