I used AbinitioRelax application to predict structure and added "-out:prefix ab" into options.
The log shows " protocols.abinitio.AbrelaxApplication: Finished ab_0001 in 169 seconds." but I still got "S_00000001.pdb" file. So I can't simulation on multiple CPUs.
Any help would be appreciate.
AbinitioRelax doesn't use the standard job distributor system of Rosetta, so the options for controlling input and output aren't exactly the same as the Rosetta norm.
But if you're going AbinitioRelax, you're probably going to be doing enough structures that putting them all in the same directory as PDB files isn't going to be a good idea anyway. There's several ways around this. The first would be to put the output from each CPU into its own directory. (Probably by making a subdirectory for each run, and launching the run from that sub-directory.)
The other, and possibly preferred, way is to use silent file output instead of PDB output (`-out:file:silent <name_of_silent_file>`). Silent files are a Rosetta-specific file format, which puts multiple structures into a single file. With this setup, you can have mulitple silent file output, one for each independent CPU which is running. After you're done, it's straightforward to combine all the outputs into a single large silent file for post processing. You can then either use the silent file itself as the input to another step of Rosetta processing/analysis, or you can extract the specific output structures you're interested in taking forward to your next step. (Generally speaking, you're only going to select a subset of the structures for the next step. Most output structures from AbinitioRelax are uninteresting, though it's hard to tell which ones those are before running the full protocol.)
Thanks for the help!
If I start the same job on multiple CPUs, each with a different silent file output, then how do I ensure that at least some models generated in multiple jobs are the same ? To my understanding there is no communication between the different jobs running on multiple CPUs. In other words, by using diffrent output silent files for different CPUs, we can ensure that files will not be overwritten, but how do we ensure that the same model is not being generated by different CPUs ?
I don't think this is something you should worry about, the variety is (i believe) determined with standard computational random number generators, which as long as you are running multiple processes, should be random. (i have never seen a duplicate structure with this method)
If you don't trust it, (or me ) or you're seeing duplicate structures, I believe you can edit the seed manually to make sure the seed is always different with the options designated on this page (never tried before though):