# Loop modeling FLAGS

4 posts / 0 new
Loop modeling FLAGS
#1

I am modelling a loop using the following flags file:

-nstruct 500
-database /data/jklett/Software/src/rosetta3_databa
-in::file::fulllatom
-loops::input_pdb t000/t000.template.pdb
-loops::loop_file t000/t000.pose_loops
-loops::frag_sizes 9 3
-loops::frag_files t000/aat000_09_05.200_v1_3 t000/aat000_03_05.200_v1_3
-loops::build_initial false
-loops::remodel quick_ccd
-loops::refine refine_ccd
I am trying to run this model in a cluster, and to do so, I submit the following script:

#!/bin/tcsh
cd $WORKINGFOLDER$EXEHOME/rosetta3-bin/32/loopmodel.linuxiccrelease @flags

as many times as the numbers of processors I want to use.

My problem is that when i send this script 80 times (80 processors), it takes ages to get my results. In average, I get about four models every half an hour. I don't know whether I am not writing the appropriate flags.

Fri, 2009-12-04 02:45
jklett

Hi,

4 models in 30 minutes on 80 processors sounds a bit too slow for loop modeling. Loop modeling is never fast, but it shouldn't be THAT slow.

I think your problem is that the way you're running Rosetta, the different executeables are not communicating with one another, and they're overwriting each others' results. If you start 80 independent executeables at once, they will ALL start making output_0001.pdb. Then when they finish, it will be overwritten 79 times. Do you see the problem?

There are two ways to fix this. The inside-rosetta way is to use MPI. By compiling with extras=mpi, you'll turn on the parallelization code. This won't make it any faster, but it will enable the processors to communicate in such a way that they are all working on different trajectories.

If you don't want to, or can't, compile with MPI, then just run your 80 executeables in 80 different folders. This will prevent the results from overwriting each other. If you do this, I strongly suggest having your submit script include the flags -constant_seed and -jran #######, where the argument to jran is a number in the millions range. constant_seed and jran will set the random number generator seed to a new value for each executeable (ensuring that they all calculate different trajectories). The jran argument needs to change with the directory.

Fri, 2009-12-04 07:08
smlewis

Here's an example of a script to run through 56 directories and get the job started with a new jran each time. The formatting may be destroyed by the forum software but you'll get the idea.

#!/bin/tcsh

set dir = 1

set mpth = '/netscr/smlewis/1F11_cutpoint_search_-2-'

while ($dir lessthan= 56) @ rnum = ($dir + 84231000)

chdir $mpth/$dir

echo directory $dir rnum$rnum

bsub -q week -o log -R "blade15 || blade16" AnchoredDesign.linuxgccrelease @options -jran $rnum @ dir =$dir + 1

end

Fri, 2009-12-04 07:11
smlewis

Thank very much! It is already working!!

>
> I am modelling a loop using the following flags file:
>
> -nstruct 500
> -database /data/jklett/Software/src/rosetta3_databa
> -in::file::fulllatom
> -loops::input_pdb t000/t000.template.pdb
> -loops::loop_file t000/t000.pose_loops
> -loops::frag_sizes 9 3
> -loops::frag_files t000/aat000_09_05.200_v1_3 t000/aat000_03_05.200_v1_3
> -loops::build_initial false
> -loops::remodel quick_ccd
> -loops::refine refine_ccd
> I am trying to run this model in a cluster, and to do so, I submit the following script:
>
> #!/bin/tcsh
> cd $WORKINGFOLDER >$EXEHOME/rosetta3-bin/32/loopmodel.linuxiccrelease @flags
>
> as many times as the numbers of processors I want to use.
>
> My problem is that when i send this script 80 times (80 processors), it takes ages to get my results. In average, I get about four models every half an hour. I don't know whether I am not writing the appropriate flags.
>
> thanks very much in advance
>

Wed, 2009-12-16 08:24
jklett