You are here

Is it better to have smaller nstruct but many runs?

4 posts / 0 new
Last post
Is it better to have smaller nstruct but many runs?


wanted to ask whether it is better to have nstruct = 200 and create a 10 000 decoys using 50 different runs with different random seed or whether one can have 10 runs of nstruct = 1000. Does it matter?


Thank you!

Post Situation: 
Mon, 2018-11-19 11:50

It won't make a difference, so long as each independent Rosetta process has its own random number seed.  Generally people make this choice based on the topology of their computer resources.

Be wary of putting more than about 1000 result files in one directory, though - most file systems perform poorly beyond that point.

Mon, 2018-11-19 11:57

Thank you. Silly question but how do I make sure that they do?

Mon, 2018-11-19 12:25

"-constant_seed" tells Rosetta to use the seed you are giving it. "-jran" is the seed itself.

Usually if you are starting 20 rosetta runs, you will not do so manually, you'll do it with a script that has a program loop of 20.  So you can pick one RNG seed, hardcoded it into the script, and pass "-constant_seed -jran $this_seed" to your Rosetta command line.  Then just add 1 to the seed with each iteration of the loop, so the first Rosetta run gets N, and the next gets N+1, the next gets N+2, etc.  (Random number seed space is convoluted, so seeds of N and N+1 are wildly different).  

On MOST but not ALL systems, you can skip even this - Rosetta will get an RNG seed from the system's random number generator, and usually that will be different for all 20 runs anyway.  For SOME systems, the system RNG just returns the system clock, so if you have runs starting fast they'll get the same seed and that's bad.  You'd have to test on your system.

This is not a bad question, but it is one discussed before - constant_seed and jran should be highly searchable in the forums now that you know the magic words!

Mon, 2018-11-19 13:20