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

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

πŸ’– Bio::Tools::Run::FootPrinter πŸ’–

okay bestie, gather round, because we're looking at a page from the User Contributed Perl Documentation, manual section 3pm β€” and it's the wrapper for a whole phylogenetic footprinting program. It's giving bioinformatics main character energy and honestly? obsessed. 🧬✨


✨ NAME ✨

Bio::Tools::Run::FootPrinter β€” it's a wrapper for the FootPrinter program, no cap. That's the whole vibe. 🫢


🌸 SYNOPSIS 🌸

here's how you actually use it, copy-paste girlies:

use Bio::Tools::Run::FootPrinter;

my @params = (size => 10,
               max_mutations_per_branch => 4,
               sequence_type => 'upstream',
               subregion_size => 30,
               position_change_cost => 5,
               triplet_filtering => 1,
               pair_filtering => 1,
               post_filtering => 1,
               inversion_cost => 1,
               max_mutations => 4,
               tree => "~/software/FootPrinter2.0/tree_of_life" );

my $fp = Bio::Tools::Run::FootPrinter->new(@params, -verbose => 1);

my $sio = Bio::SeqIO->new(-file => "seq.fa", -format => "fasta");

while (my $seq = $sio->next_seq){
  push @seq, $seq;
}
my @fp = $fp->run(@seq);

foreach my $result(@fp){
  print "***************\n".$result->seq_id."\n";
  foreach my $feat($result->sub_SeqFeature){
    print $feat->start."\t".$feat->end."\t".$feat->seq->seq."\n";
  }
}

like, look at her go. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

straight from the FootPrinter manual, bestie:

FootPrinter is a program that performs phylogenetic footprinting. It takes as input a set of unaligned orthologous sequences from various species, together with a phylogenetic tree relating these species. Then it searches for short regions of the sequences that are highly conserved, according to a parsimony criterion. πŸ”

The regions it finds are good candidates for regulatory elements. By default, the program searches for regions that are well conserved across all of the input sequences β€” but you can relax that to find regions conserved in only a subset of the species. lowkey flexible of it.


πŸ¦‹ About Footprinter πŸ¦‹

Written by Mathieu Blanchette and Martin Tompa. Available here:

http://www.mcb.mcgill.ca/~blanchem/FootPrinter2.1.tar.gz

🌈 Running Footprinter 🌈

To run FootPrinter you will need to set the environment variable FOOTPRINTER_DIR to wherever the binary lives β€” even if the executable is already in your path. yes, even then. it's that girl.

For example:

setenv FOOTPRINTER_DIR /usr/local/bin/FootPrinter2.0/

πŸ‘‘ Available Parameters πŸ‘‘

okay so here's the whole parameter menu, nothing skipped, every single one:

  • tree β€” value: <file> β€” REQUIRED, a tree in Newick Format used to evaluate the parsimony score. REQUIRED unless tree_of_life exists in FOOTPRINTER_DIR. πŸŽ€
  • sequence_type β€” values: upstream, downstream, other β€” Default is upstream.
  • size β€” values: 4-16 β€” Specifies the size of the motifs sought.
  • max_mutations β€” values: 0-20 β€” the maximum parsimony score allowed for the motifs.
  • max_mutations_per_branch β€” values: 0-20 β€” allows at most a fixed number of mutations per branch of the tree.
  • losses β€” value: <file> β€” these files give span constraints so that the motifs reported are statistically significant. Example files universal([6-9]|1[0-2])(loose|tight)?.config come with FootPrinter2.0. Install these in FOOTPRINTER_DIR and use them by setting "losses" to "somewhat significant", "significant", or "very significant". Do not set loss_cost. ⚠️
  • loss_cost β€” values: 0-20 β€” a cost associated with losing a motif along some branch of the tree.
  • subregion_size β€” values: 1-infinity β€” penalize motifs whose position in the sequences varies too much.
  • position_change_cost β€” values: 0-20 β€” cost for changing subregion.
  • triplet_filtering β€” values: 1/0 β€” a pre-filtering step that removes from consideration any substring that doesn't have a sufficiently good pair of matching substrings in some pair of the other input sequences.
  • pair_filtering β€” values: 1/0 β€” same as triplet filtering, but it looks only for one match per other sequence.
  • post_filtering β€” values: 1/0 β€” when used together with the triplet filtering option, this often significantly speeds up the program while still guaranteeing optimal results. slay.
  • indel_cost β€” values: 1-5 β€” insertions and deletions will be allowed in the motifs sought, at the given cost.
  • inversion_cost β€” values: 1-5 β€” this option allows for motifs to undergo inversions, at the given cost. An inversion reverse-complements the motif. πŸ”„
  • details β€” values: 1/0 β€” shows some of the details about the progress of the computation.
  • html β€” values: 1/0 β€” produce html output (never deleted).
  • ps β€” values: 1/0 β€” produce postscript output (never deleted).

πŸ’Œ 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, fr fr.

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 responsive 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 of the bugs and their resolution. Bug reports can be submitted via the web:

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

🌟 AUTHOR - Shawn Hoon 🌟

Email shawnh@fugu-sg.org


πŸ“– APPENDIX πŸ“–

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


program_name

  • Title: program_name
  • Usage: $factory>program_name()
  • Function: holds 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:

executable

  • Title: executable
  • Usage: my $exe = $footprinter->executable('FootPrinter');
  • Function: Finds the full path to the 'FootPrinter' executable
  • Returns: string representing the full path to the exe
  • Args: [optional] name of executable to set path to; [optional] boolean flag whether or not warn when exe is not found

new

  • Title: new
  • Usage: $rm->new($seq)
  • Function: creates a new wrapper
  • Returns: Bio::Tools::Run::FootPrinter
  • Args: self

run

  • Title: run
  • Usage: $fp->run(@seq)
  • Function: carry out FootPrinter
  • Example:
  • Returns: An array of SeqFeatures
  • Args: An array of Bio::PrimarySeqI compliant object. At least 2 are needed. ✌️

_run

  • Title: _run
  • Usage: $fp->_run ($filename,$param_string)
  • Function: internal function that runs FootPrinter
  • Example:
  • Returns: an array of features
  • Args: the filename to the input sequence, filename to phylo tree and the parameter string

_setparams()

  • Title: _setparams
  • Usage: Internal function, not to be called directly
  • Function: Create parameter inputs for FootPrinter program
  • Example:
  • Returns: parameter string to be passed to FootPrinter
  • Args: name of calling object

_setinput()

  • Title: _setinput
  • Usage: Internal function, not to be called directly
  • Function: writes input sequence to file and return the file name
  • Example:
  • Returns: string
  • Args: a Bio::PrimarySeqI compliant object

πŸŽ€ Bio::Tools::Run::Wrapper methods πŸŽ€


no_param_checks

  • Title: no_param_checks
  • Usage: $obj->no_param_checks($newval)
  • Function: Boolean flag as to whether or not we should trust the sanity checks for parameter values
  • Returns: value of no_param_checks
  • Args: newvalue (optional)

save_tempfiles

  • Title: save_tempfiles
  • Usage: $obj->save_tempfiles($newval)
  • Function:
  • Returns: value of save_tempfiles
  • Args: newvalue (optional)

outfile_name

  • Title: outfile_name
  • Usage: my $outfile = $codeml->outfile_name();
  • Function: Get/Set the name of the output file for this run (if you wanted to do something special)
  • Returns: string
  • Args: [optional] string to set value to

tempdir

  • Title: tempdir
  • Usage: my $tmpdir = $self->tempdir();
  • Function: Retrieve a temporary directory name (which is created)
  • Returns: string which is the name of the temporary directory
  • Args: none

cleanup

  • Title: cleanup
  • Usage: $codeml->cleanup();
  • Function: Will cleanup the tempdir directory
  • Returns: none
  • Args: none

io

  • Title: io
  • Usage: $obj->io($newval)
  • Function: Gets a Bio::Root::IO object
  • Returns: Bio::Root::IO
  • Args: none

and that's the whole page, bestie!! πŸ’œ this one came to you via perl v5.36.0, dated 2023-01-22 β€” so like, a lil vintage, but she ate. go forth and footprint some phylogenies. πŸ¦‹βœ¨πŸ’…

πŸ“¦ where this page comes from