KosinskiLab / AlphaPulldown

https://doi.org/10.1093/bioinformatics/btac749
GNU General Public License v3.0
216 stars 48 forks source link

Different behavior of the all_vs_all mode in AlphaPulldown 2.0.0 beta v2? #322

Closed TM-Hamm closed 6 months ago

TM-Hamm commented 6 months ago

Hi,

I am using AlphaPulldown 2.0.0 beta v2. Compared to AlphaPulldown v0.30.7 (which I used before) the behavior of the all_vs_all mode seems to be different. This mode now also predicts models for the interactions of the proteins with itself and for two different proteins in different orders.

E.g. if you have two proteins A and B the predicted models are: A_and_A, A_and_B, B_and_B, and B_and_A. Before it was just A_and_B.

I used the command: run_multimer_jobs.py --mode=all_vs_all --num_cycle=3 --num_predictions_per_model=1 --output_path= … --data_dir= … --protein_lists=all_vs_all_list.txt --monomer_objects_dir= … --models_to_relax=All --compress_result_pickles=false --remove_result_pickles=false

Did I do something wrong? Is that behaviour intended like this or is it an error?

Thanks, Thomas

dingquanyu commented 6 months ago

Hi Thomas,

all-vs-all mode has been updated to model a homo-dimer for each entry as well. But indeed there shouldn't be duplicated A_andB, B_and_A. Thanks for your report and we will remove the duplicated jobs in the future release.

Yours Dingquan

TM-Hamm commented 6 months ago

Thanks for the quick reply and fix.

Qrouger commented 6 months ago

Hi, in the same idea but with homo-oligomer. Homo oligomer mode of v2 create TraW_and_TraW_and_TraW directory instead of TraW_homo_3er.

Thanks. Quentin

jkosinski commented 6 months ago

Thanks - @maurerv probably the old naming convention is more useful as it is easier to read how many subunits each folder has.

rukibuki commented 4 months ago

Reposting due to errors:

so what would the run counts be, if I wanted to run this in a slrum array? so in my head it should be (n(n-1)/2) so 5 proteins will be 10 runs etc. but it seems that I should include the homo dimers as well, so ((n(n-1))/2)+n, so 15 runs for 5 proteins?

What is the specific order it will go through the targets in all_vs_all. will it do the homo dimers first? or will it go through the list and then do the homo dimers? Can the homodimers part be turned of? like in pulldown mode I just remove the bait id from the candiates list, but here it seems it is doen automatically?

Do you have a script for running all_vs_all via slurm? I am currently using a modfied version of the one I use for pulldown. in the modified one it ignores the bait files and only use the candidates.txt (I used the same name as in pulldown mode) for the proteinlist

Qrouger commented 4 months ago

Hi @rukibuki , I see this behavior yesterday. The beta v2 when you run all_vs_all, do for example (prot1, prot2 and prot3) prot1-prot1, prot1-prot2, prot2-prot1, prot1-prot1, prot1-prot3, prot3-prot1, prot2-prot2, prot3-prot3, prot2-prot3 and prot3-prot2. But I think it's a just a mistake in all_vs_all mode ? In the v1 the order is the first prot against the rest and second against the rest ...

Personnaly I use tradionally all_vs_all script in slurm.

Quentin

rukibuki commented 4 months ago

Hi @rukibuki , I see this behavior yesterday. The beta v2 when you run all_vs_all, do for example (prot1, prot2 and prot3) prot1-prot1, prot1-prot2, prot2-prot1, prot1-prot1, prot1-prot3, prot3-prot1, prot2-prot2, prot3-prot3, prot2-prot3 and prot3-prot2. But I think it's a just a mistake in all_vs_all mode ? In the v1 the order is the first prot against the rest and second against the rest ...

Personnaly I use tradionally all_vs_all script in slurm.

Quentin

thanks for answering Qrouger! I am still using the "old" version of APD (I have both instaleld) but I think they might have corrected the redundancy problem (A-B vs B-A) in v2, not sure though. I was just interested in knowing if it was possible to skip the homo dimers runs in all_vs_All in v2? as in if there is a flag for that? I will stick to v1.x.x for now then. Do you submit as an arry to slurm? if yes what count do you use, same as I listed (((n*(n-1))/2)+n ?

Qrouger commented 4 months ago

I don't know what you call old version of APD, but the version 1.0.4 don't have this redundancy problem and homo-oligomers problems in all_vs_all. But the current version of APD v2 I installed has this problems. I think is just an error in code, and no FLAG is made for that. They fixed it in new v2.

I don't use array for slurm.

rukibuki commented 4 months ago

I don't know what you call old version of APD, but the version 1.0.4 don't have this redundancy problem and homo-oligomers problems in all_vs_all. But the current version of APD v2 I installed has this problems. I think is just an error in code, and no FLAG is made for that. They probably fixed it soon in v2.

I don't use array for slurm.

yeah I am not sure which version it is, but what ever was the current version before they to the jump v2. so it might be the same as yours. I hae just done a test run on the pre v2 APD install, using 3 proteins, and there were no homo dimers or redudancy problems.