The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::Tools::Run::Alignment::Blat

SYNOPSIS

use Bio::Tools::Run::Alignment::Blat;
my $factory = Bio::Tools::Run::Alignment::Blat->new(-db => $database);
# $report is a Bio::SearchIO-compliant object
my $report = $factory->run($seqobj);

DESCRIPTION

Wrapper module for Blat program. This newer version allows for all parameters to be set by passing them as an option to new().

Key bits not implemented yet (TODO):

  • Implement all needed Bio::Tools::Run::WrapperBase methods

    Missing are a few, including version().

  • Re-implement using IPC::Run

    Would like to get this running under something less reliant on OS-dependent changes within code.

  • No .2bit or .nib conversions yet

    These require callouts to faToNib or faTwoTwoBit, which may or may not be installed on a user's machine. We can possibly add functionality to check for faToTwoBit/faToNib and other UCSC tools in the future.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to one of the Bioperl mailing lists. Your participation is much appreciated.

bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists  - About the mailing lists

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track the bugs and their resolution. Bug reports can be submitted via the web:

http://redmine.open-bio.org/projects/bioperl/

AUTHOR

Chris Fields - cjfields at bioperl dot org

Original author - Bala Email bala@tll.org.sg

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

Title   : new
Usage   : $blat->new( -db => '' )
Function: Create a new Blat factory
Returns : A new Bio::Tools::Run::Alignment::Blat object
Args    : -db       : Mandatory parameter. See db()
          -qsegment : see qsegment()
          -tsegment : see tsegment()
          Also, Blat parameters and flags are accepted: -t, -q, -minIdentity,
             -minScore, -out, -trimT, ...
          See Blat's manual for details.

program_name

Title   : program_name
Usage   : $factory->program_name()
Function: Get the program name
Returns : string
Args    : None

program_dir

Title   : program_dir
Usage   : $factory->program_dir(@params)
Function: returns the program directory, obtained from ENV variable.
Returns : string
Args    :

run

Title   : run()
Usage   : $obj->run($query)
Function: Run Blat.
Returns : A Bio::SearchIO object that holds the results
Args    : A Bio::PrimarySeqI object or a file of query sequences

align

Title   : align
Usage   : $obj->align($query)
Function: Alias to run()

db

Title   : db
Usage   : $obj->db()
Function: Get or set the file of database sequences (.fa , .nib or .2bit)
Returns : Database filename
Args    : Database filename

qsegment

Title    : qsegment
Usage    : $obj->qsegment('sequence_a:0-1000')
Function : pass in a B<UCSC-compliant> string for the query sequence(s)
Returns  : string
Args     : string
Note     : Requires the sequence(s) in question be 2bit or nib format
Reminder : UCSC segment/regions coordinates are 0-based half-open (sequence
           begins at 0, but start isn't counted with length), whereas BioPerl
           coordinates are 1-based closed (sequence begins with 1, both start
           and end are counted in the length of the segment). For example, a
           segment that is 'sequence_a:0-1000' will have BioPerl coordinates of
           'sequence_a:1-1000', both with the same length (1000).

tsegment

Title    : tsegment
Usage    : $obj->tsegment('sequence_a:0-1000')
Function : pass in a B<UCSC-compliant> string for the target sequence(s)
Returns  : string
Args     : string
Note     : Requires the sequence(s) in question be 2bit or nib format
Reminder : UCSC segment/regions coordinates are 0-based half-open (sequence
           begins at 0, but start isn't counted with length), whereas BioPerl
           coordinates are 1-based closed (sequence begins with 1, both start
           and end are counted in the length of the segment). For example, a
           segment that is 'sequence_a:0-1000' will have BioPerl coordinates of
           'sequence_a:1-1000', both with the same length (1000).

outfile_name

Title    : outfile_name
Usage    : $obj->outfile_name('out.blat')
Function : Get or set the name for the BLAT output file
Returns  : string
Args     : string

searchio

Title    : searchio
Usage    : $obj->searchio{-writer => $writer}
Function : Pass in additional parameters to the returned Bio::SearchIO parser
Returns  : Hash reference with Bio::SearchIO parameters
Args     : Hash reference
Note     : Currently, this implementation overrides any passed -format
           parameter based on whether the output is changed ('out').  This
           may change if requested, but we can't see the utility of doing so,
           as requesting mismatched output/parser combinations is just a recipe
           for disaster

Bio::ParameterBaseI-specific methods

These methods are part of the Bio::ParameterBaseI interface

set_parameters

Title   : set_parameters
Usage   : $pobj->set_parameters(%params);
Function: sets the parameters listed in the hash or array
Returns : None
Args    : [optional] hash or array of parameter/values.  These can optionally
          be hash or array references
Note    : This only sets parameters; to set methods use the method name

reset_parameters

Title   : reset_parameters
Usage   : resets values
Function: resets parameters to either undef or value in passed hash
Returns : none
Args    : [optional] hash of parameter-value pairs

validate_parameters

Title   : validate_parameters
Usage   : $pobj->validate_parameters(1);
Function: sets a flag indicating whether to validate parameters via
          set_parameters() or reset_parameters()
Returns : Bool
Args    : [optional] value evaluating to True/False
Note    : NYI

parameters_changed

Title   : parameters_changed
Usage   : if ($pobj->parameters_changed) {...}
Function: Returns boolean true (1) if parameters have changed
Returns : Boolean (0 or 1)
Args    : None
Note    : This module does not run state checks, so this always returns True

available_parameters

Title   : available_parameters
Usage   : @params = $pobj->available_parameters()
Function: Returns a list of the available parameters
Returns : Array of parameters
Args    : [optional] name of executable being used; defaults to returning all
          available parameters

get_parameters

Title   : get_parameters
Usage   : %params = $pobj->get_parameters;
Function: Returns list of set key-value pairs, parameter => value
Returns : List of key-value pairs
Args    : none

to_* methods

All to_* methods are implementation-specific

to_exe_string

Title   : to_exe_string
Usage   : $string = $pobj->to_exe_string;
Function: Returns string (command line string in this case)
Returns : String 
Args    :