[Bioperl-l] Running BLAT with BioPerl

Victor victor.ruotti at gmail.com
Fri Feb 10 15:09:16 EST 2006


Hi Jason,
Well, in my env. BLATDIR was not setup at all. When setting BLATDIR to
/usr/local/bin, I get the same problem. I think this might have to do with
the _run internal method/sub. If you look at that subroutine, you'll see
that it is using both $self->executable and $self->program_name. The test
passes fine, but we might need to write a better test for this particular
case.

Instead of saying:
     my $str= Bio::Root::IO->catfile($self->executable,$self->program_name);
I think the author meant to say:
     my $str=
Bio::Root::IO->catfile($self->program_dir,$self->program_name);

I quickly used Data::Dumper on both executate and program_name and this is
what I get:
$VAR1 = 'blat';
$VAR1 = 'blat';

So the path is hardcoded to be /usr/local/bin/blat/blat when calling run
though factory.

I'd like to change the constructor a bit to deal with the params a little
better and include a config file using
Config::General. Also, I noticed that there is a another Blat.pm module, a
parser module. Should we integrate this parser with the blat run module?

Brian/Jason. Does that sound like a good idea?

Victor


On 2/10/06, Jason Stajich <jason.stajich at duke.edu> wrote:
>
> brian -   just FYI -
>
> The AUTOLOAD stuff is present a great number of the run modules so  this
> is standard per se in that set.
>
> I think Victor's problem may have been the BLATDIR env variable pointing
> to /usr/local/bin/blat instead of /usr/local/bin - is that the case victor?
>
> tests passed for me before I did the 1.5.1 release for  this module so it
> basically works.   It definitely needs a carekeeper as lot of these run
> modules were built during the fugu group annotation project and never got
> audited/re-vised after that.
>
>
> -jason
> On Feb 10, 2006, at 11:34 AM, Brian Osborne wrote:
>
> Victor,
>
> Fantastic, this is certainly a module in need, in fact there was already a
> note on this in the Wiki, I'll update it:
>
> http://bioperl.open-bio.org/wiki/Orphan_modules
>
> So all I did was:
>
> >cd bioperl-run
> >perl –I. -w t/Blat.t
>
> This is the most recent bioperl-run, the live version, and all tests
> passed. I'd downloaded the most recent binaries and put them in my
> /usr/local/bin, already in my PATH. That's it.
>
> That's the saddest looking new() I've ever seen in Bioperl, a mixture of
> named and unnamed parameters like that, how bizarre. The "proper" way, of
> course, is to use _rearrange, and not use AUTOLOAD.
>
> Thanks again,
>
> Brian O.
>
>
> On 2/10/06 11:02 AM, "Victor" <victor.ruotti at gmail.com> wrote:
>
> Brian,
> I'd be happy to do that. Can you send me a quick snap on how you got it to
> work first. I'd like to see what is working first, before I start fixing
> things.
>
> And yes I'll take a look at the Blat.t to see more on it.
>
> Victor
>
>
> On 2/9/06, *Brian Osborne* <osborne1 at optonline.net> wrote:
>
> Victor,
>
> Yes, it may be that blat is not in your path, bioperl-run/t/Blat.t is
> working for me even though I haven't set BLATDIR. This is using the latest
> blat, v. 33.
>
> There is a problem here though, you can see it if you read Blat.t. The
> constructor does not look like your usual new():
>
> my $factory = Bio::Tools::Run::Alignment::Blat->new('quiet'  => 1,
>
> -verbose => $verbose,
>                             "DB"     => $db);
>
> Unfortunate - would you be willing to do more than add a useful SYNOPSIS
> and
> actually fix new()? There is a subtext here, we're trying to find people
> who
> would be willing to maintain useful modules like these, the ideal person
> in
> this case would be someone who'd regularly use the module.
>
> Brian O.
>
>
> On 2/9/06 6:22 PM, "Victor" <victor.ruotti at gmail.com> wrote:
>
> > Hi,
> > Does anyone know if the Bio/Tools/Run/Alignment/Blat.pm module is up to
> date
> > in the lastest bioperl release?
> >
> >
> >
> > use Bio::Tools::Run::Alignment::Blat;
> > my $factory = Bio::Tools::Run::Alignment::Blat->new();
> > my $seq =
> > "TGAAATAAAACTCAGTATGAAATAAAACTCAGTATGAAATAAAACTCAGTATGAAATAAAACTCAGTA";
> >
> > my @feats = $factory->run( $seq);
> >
> > Here is what I get when tring to use it:
> >
> > ------------- EXCEPTION: Bio::Root::Exception -------------
> > MSG: Blat call (/usr/local/bin/blat/blat -out=blast  TGAAATAAAACTCAGTA
> > /tmp/fB09bp5F76) crashed: -1
> >
> > Notice that it is using "blat' twice in the path. The way that I fixed
> this
> > is by going to the blat.pm <http://blat.pm> <http://blat.pm>  module and
> changing the following lines:
> > #my $str= Bio::Root::IO->catfile($self->executable,$self->program_name);
> > my $str= Bio::Root::IO->catfile($self->program_name);
> >
> > Any ideas, maybe I'm missing the $ENV variable somewhere?
> > I'd like to avoid making this change. Also does anyone have a known
> synopsis
> > of this blat module (where to set the parameters, and whether it allows
> you
> > to have a config file).
> > I'll be happy to add a better synopsis to the module if needed.
> >
> > Thanks in advance,
> > Victor
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> <http://lists.open-bio.org/mailman/listinfo/bioperl-l><http://lists.open-bio.org/mailman/listinfo/bioperl-l>
>
>
>
>
>
>
> --
> Jason Stajich
> Duke University
> http://www.duke.edu/~jes12 <http://www.duke.edu/%7Ejes12>
>
>
>



More information about the Bioperl-l mailing list