[Bioperl-pipeline] creating jobs, job_setup

Kiran Kumar kumark at cshl.org
Tue Feb 10 18:30:46 EST 2004


Hi Alexandre,
It's nice to know that it fits into your work.

In short, you would be able to create job without inputs. The direct way
would be 'not to pass' any inputs to "create_job" function.

      my $job   = $self->create_job($next_anal);
      $self->dbadaptor->get_JobAdaptor->store($job);
That should make it 'righteous' :-)..

Since you are following the Biopipe spirit, let me go on to explain the
other aspects too.


On the xml level, you are right that the <job_setup> tag could be used for
this purpose.
The <job_setup> provides for specifying jobs directly inside the XML file
without using a Datamonger/InputCreate. Ofcourse, this is convinient if
the number of jobs are handful which otherwise would make the XML file
very lengthy. This feature is still there but has not been tested for long
time. We have stopped using this feature for a drawback it poses towards
the biopipe spirit which is as follows.

If the job needs inputs, and it is specified using job_setup options,
the xml file becomes too specific and anyone else trying to re-use it
would have to change all the input_ids each time they need to run for
different sets of inputs. The datamonger/InputCreate on the other hand,
provides for the clean separation of input names from the xml pipeline
specification. The InputCreates are expected to read the input_names for
the the jobs they are gonna create from a file or directory or somewhere
(this location for the input_names is specified as the input_create's
parameters in the xml file).

Hope I havent left you more confused than before!

Cheers,
Kiran


>Hi,
>
>First, I would like to congratulate the Biopipe team for having created such a useful tool.
>
>
>The context : 
>For several reasons (some goods and some not so good), some of my runnables take nothing in input and return nothing. 
>
>The problem : 
>This type of runnables does not match the biopipe "spirit", so it is a problem to create jobs for these runnables via the "create_job" function which needs a array input.
>
>The "temporary" unrighteous solution : 
>I have created an InputCreate module named setup_nothing which creates a void input like the following :
>    my @input=$self->create_input("nothing",'',"infile");
>    my $job   = $self->create_job($next_anal,\@input);
>    $self->dbadaptor->get_JobAdaptor->store($job);
>This way, I launch one job on my analysis as well as on the following ones by placing "<action>COPY_ID_FILE</action>" in their respective rules in the XML file.
>
>
>The questions : 
>Is there a clean way to create jobs without any input (a just_do_it function ?) ? 
>Perhaps the <job_setup> mark in the XML file ?
>Also, could someone tell me more about this <job_setup> mark ??? 
>
>
>Thank you in advance
>
>
>Alexandre
>
>
>
>
>_______________________________________________
>bioperl-pipeline mailing list
>bioperl-pipeline at bioperl.org
>http://bioperl.org/mailman/listinfo/bioperl-pipeline
>



More information about the bioperl-pipeline mailing list