Bio::T...::Blat(3pm)

πŸ“¦
version 1.7.3 Β· 3 versions
, in debian bookworm, ubuntu noble

πŸ’– Bio::T...::Blat(3pm) πŸ’–

hiii bestie!! you've landed on the user-contributed Perl documentation for Bio::T...::Blat(3pm), which is fr fr just the wrapper for the Blat program. come sit with me, we're gonna go through the whole thing, no skips, no gatekeeping πŸ’…


✨ NAME ✨

Bio::Tools::Run::Alignment::Blat β€” wrapper modules for the Blat program 🌸


✨ SYNOPSIS ✨

okay so this is the whole vibe in four lines, look at her go:

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 ✨

So this is a wrapper module for the Blat program, and the glow-up here is that this newer version lets you set all the parameters by just passing them as an option to new(). chef's kiss, we love a clean constructor 🫢

Now. The bits that are not implemented yet β€” the TODO list, aka the "we'll get to it, bestie, I promise" pile 🫠:

  • 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, like genuinely, it's the whole plot. 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

shoutout to the OGs, we stan πŸ‘‘


✨ APPENDIX ✨

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

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.
bestie. -db is mandatory. do not forget her, she is the main character of this argument list πŸŽ€

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 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 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).
the coordinate thing!! this is the one that gets everybody, bestie. UCSC counts half-open from 0, BioPerl counts closed from 1. same length, different outfit πŸ’…

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:

okay that's the whole page bestie, you ate it, you read every single flag, no skimming, iconic behavior πŸ‘‘πŸ’– this was perl v5.36.0, dated 2023-01-22, and that's the Bio::T...::Blat(3pm) page, done and dusted. mwah πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from