BioTech FYI Center - Resources

BioPerl FAQ (Frequently Asked Questions)

Part:   1  2  3  4  5  6  7 

(Continued from previous part...)

How do I merge a set of sequences along with their features and annotations?

Try the cat() method in Bio::SeqUtils:

 $merged_seq = Bio::SeqUtils->cat(@seqs)

This method uses the first sequence in the array as a foundation and adds the subsequent sequences to it, along with their features and annotations.

Running external programs

How do I run BLAST from within BioPerl?

Use the module Bio::Tools::Run::StandAloneBlast. It will give you access to many of the search tools in the NCBI BLAST suite including blastall, bl2seq, blastpgp. The basic structure is like this.

use Bio::Tools::Run::StandAloneBlast;
my $factory = Bio::Tools::Run::StandAloneBlast->new(p => 'blastn',
                                                    d => 'nt',
                                                    e => '1e-5');
my $seq = Bio::PrimarySeq->new(-id => 'test1',
                               -seq => 'AGATCAGTAGATGATAGGGGTAGA');
my $report = $factory->blastall($seq); # get back a Bio::SearchIO report
How do I tell BLAST to search multiple database using Bio::Tools::Run::StandAloneBlast?

Put the names of the databases in a variable. like so:

my $dbs = '"/dba/BMC.fsa /dba/ALC.fsa /dba/HCC.fsa"';
my @params = ( d	      => "$dbs",
program     => "BLASTN",
_READMETHOD => "Blast",
outfile     => "$dir/est.bls" );

my $factory =
Bio::Tools::Run::StandAloneBlast->new(@params);
my $seqio = Bio::SeqIO->new(-file=>'t/amino.fa',-format => 'Fasta' );
my $seqobj = $seqio->next_seq();
$factory->blastall($seqobj);
Hey, I want to run Clustalw within BioPerl, I used Bio::Tools::Run::Alignment::Clustalw before - where did it go?

Most of the Bio/Tools/Run directory was moved to a new package, bioperl-run, to help make the size of the core code smaller and separate out the more specialized nature of application running from the rest of BioPerl. You can get these modules by installing the bioperl-run package. Download it via Getting BioPerl. This changeover began in the bioperl 1.1 developer release.

What does the future hold for running applications within BioPerl?

We are trying to build a standard starting point for analysis application which will probably look like Bio::Tools::Run::AnalysisFactory which will allow the user to request which type of remote or local server they want to use to run their analyses. This will connect to the Pasteur's PISE server, the EBI's Novella server, as well as be aware of wrappers to run applications locally.

Additionally we suggest investigating the BioPipe project, also known as bioperl-pipeline, at http://www.biopipe.org. This is a sophisticated system to chain together sets of analyses and build rules for performing these computes.

I'm trying to run Bio::Tools::Run::StandAloneBlast and I'm seeing error messages like Can't locate Bio/Tools/Run/WrapperBase.pm - how do I fix this?

This file is missing in version 1.2. Two possible solutions: install version 1.2.1 or greater or retrieve and copy WrapperBase.pm to the proper location.

Other BioPerl packages

What is bioperl-ext?

bioperl-ext is a package of code for C-extensions (hence the 'ext') to BioPerl. These include interfacing to the staden IO library (the io_lib library) for reading in chromatogram files and Bio::Ext::Align which is a Smith-Waterman implementation.

bioperl-ext won't compile the staden IO lib part - what do I do?

Make sure you read the README about copying files over. Some more items to check off before asking.

  1. Are you sure io_lib is installed where you think it is, and that the install path is seen by Perl (did you answer the questions during perl Makefile.PL ?)
  2. Did you copy the various missing .h files (os.h config.h if I remember right) from your io_lib source directory into the install include directory when installing io_lib?
  3. When you ran make for io_lib did you see any errors or messages about how you should probably run "ranlib" on the library object?
  4. Did you run "ranlib" on the installed libread file(s)?
What is bioperl-db?

The BioPerl db package contains interfaces and adaptors that work with a BioSQL database to serialize and de-serialize Bioperl objects. Hilmar Lapp strongly recommends you use the CVS version with the latest biosql-schema.

What is bioperl-microarray?

The Microarray package provides some basic tools for microarray functionality. It was started by Allen Day and may need some more work before it is a mature product.

What is bioperl-gui?

The GUI package provides a Graphical User Interface for interacting with sequence and feature objects. It is used as part of the Genquire project.

What is bioperl-pedigree?

The Pedigree package was started by Jason Stajich and provides basic tools for interacting with pedigree data and rendering pedigree plots.

-->

Part:   1  2  3  4  5  6  7 

BioPerl FAQ (Frequently Asked Questions)