I'm presently working on a project to modify the substrate specificity of a DNA polymerase for non-natural nucleic acids.
I've currently been using the GreedyOptMutationMover with a ddg filter (jump across the substrate) for a 10Å shell around the active site and identified several single point mutations that have been experimentally validated to improve activity.
However, one of the problems with greedyopt is that it does not appear to screen every possible position or single point mutation within the designable region.
Is there a way to force this?
If not, I've been looking into the use of the filterscan filter. Although this appears to do what I want, there does not appear to be a simple way to have this run in parallel via MPI. Specifically, calling rosetta_scripts via MPI will just launch n_cpu independent screening runs, rather than distributing the mutation pool across n_cpus.
I can write a fairly crude MPI based orchestration script that will get the job done, but before I do this, am I missing some key functionality hidden within the rosetta documentation?
I don't think you're missing something. pmut_scan (https://www.rosettacommons.org/docs/latest/application_documentation/design/pmut-scan-parallel) may be able to do the calculation you want; I'm not sure how compatible it is with the active site; etc. (It's a little dusty).
This is one of the things we expect JD3 to make better once it's fully implemented - in other words this is a functionality the devs want too!
Thanks for the quick reply!
I have taken a look at pmut-scan-parallel, although it isn't clear from the documentation as to whether I can conduct a ddg calculation for ligand bound vs unbound. Regardless, I've setup a run overnight, so I'll see how it looks tomorrow.
As for JD3, this is good to know. My c++ is a little rusty, but I'd be happy to try and contribute to its development if any extra hands are needed.
In the mean time, I'll hack together a python script that can orchestrate the task for now. I'll upload it here or to github once I've got it working.