donaldlab/OSPREY3

MARK* Infinite Loop

gusennan opened this issue · 1 comments

There are certain conditions when MARK* goes into an infinite loop and will write 100s of GB to the output stream, e.g:

-rw-r--r-- 1 nguerin dlab  564M Dec 25 11:49 p-aeruginosa-model10-bb3.T6-T13.yaml.out
-rw-r--r-- 1 nguerin dlab  585M Dec 30 11:03 p-aeruginosa-model15-bb3.T15-T14.yaml.out
-rw-r--r-- 1 nguerin dlab  590M Dec 29 13:05 p-aeruginosa-model1-bb4.T6-T15.yaml.out
-rw-r--r-- 1 nguerin dlab  617M Dec 29 12:58 p-aeruginosa-model1-bb1.T6-T15.yaml.out
-rw-r--r-- 1 nguerin dlab  620M Dec 30 11:05 p-aeruginosa-model15-bb2.T15-T13.yaml.out
-rw-r--r-- 1 nguerin dlab  622M Dec 29 12:58 p-aeruginosa-model15-bb4.T15-T14.yaml.out
-rw-r--r-- 1 nguerin dlab  641M Dec 29 12:58 p-aeruginosa-model11-bb2.T15-T14.yaml.out
-rw-r--r-- 1 nguerin dlab  966M Dec 27 01:35 p-aeruginosa-model12-bb5.T6-T15.yaml.out
-rw-r--r-- 1 nguerin dlab  1.1G Dec 27 06:19 p-aeruginosa-model12-bb1.T6-T15.yaml.out
-rw-r--r-- 1 nguerin dlab  551G Dec 30 11:03 p-aeruginosa-model1-bb5.T15-T14.yaml.out
-rw-r--r-- 1 nguerin dlab  647G Dec 30 11:05 p-aeruginosa-model1-bb3.T15-T14.yaml.out

notice the output streams at the bottom. These jobs are still running, too.

for reference, the input files for the two at the bottom of the list above are attached, and they were invoked with the following flags:

affinity --design /usr/project/dlab/Users/nguerin/collaborations/pei/designs/scan/pseudonomas/two-point-mutations/p-aeruginosa-model1-bb3.T15-T14.yaml --epsilon 0.68 --save-to-db --properties-file /usr/project/dlab/Users/nguerin/db.properties --save-confs 20 --max-simultaneous-mutations 2 --use-markstar

input-models.tar.gz

The log output that keeps being repeated is:

➜  two-point-mutations tail -n 100 p-aeruginosa-model1-bb3.T15-T14.yaml.out
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
Current overall error bound: 1.0000000000, spread of [1.000000e+00, 1.000000e+00]
Z Comparison: 0.000000e+00, 0.000000e+00
Processing 0 internal nodes...
Loop complete. Bounds are now [1.000000e+00,1.000000e+00]
...

This issue appears to crop up when a design state has no flexible or mutable residues. I've pushed a fix to the bugfix_mark_infinite_loop branch. Test that out on a couple more of your inputs and let me know if that fixes it, and then I'll merge it into master.