Hi Eric,
I'm using phenix.resolution to calculate effective resolution, and I'm looking for ways to speed it up. I've tried a few different machine configurations, and it always takes around 20 minutes per structure. This is problematic for me, because I'm trying to collect data from the entire PDB. Does anyone here have experience using NumPy to optimize scripts and helpful suggestions for this case? Alternatively, how much speedup am I likely to get by rewriting the script in C and using it as a module? Thanks. :)
this is an excellent question! What I have implemented as phenix.resolution is a not very well thought replica of the original code written by Sacha Urzhumtsev (on copy). In fact, I just used the paper and would ask the author questions from time to time. I did not look at the original code at all. My implementation (phenix.resolution) produces the same results as the original one but works tremendously slower than Sacha's version (even though I moved all heavy calculations into C++ and actually did try my best to make it faster). You are welcome to improve it to make faster. For this I guess you better talk to Sacha and also look at the original implementation. Also, of course, if you do this please keep me updated so that we can coordinate efforts (rather than doing something silently and then suddenly popping up with a pile of new code!). From this point on we can move this discussion off phenixbb list as it becomes too narrow in scope! All the best, Pavel