.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Bio::Tools::Run::Primer3 3pm" .TH Bio::Tools::Run::Primer3 3pm "2018-09-14" "perl v5.26.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Bio::Tools::Run::Primer3 \- Create input for and work with the output from the program primer3 .SH "SYNOPSIS" .IX Header "SYNOPSIS" Bio::Tools::Primer3 creates the input files needed to design primers using primer3 and provides mechanisms to access data in the primer3 output files. .PP This module provides a bioperl interface to the program primer3. See http://frodo.wi.mit.edu/primer3/primer3_code.html for details and to download the software. This module only works for primer3 release 1 but is not guaranteed to work with earlier versions. .PP .Vb 4 \& # design some primers. \& # the output will be put into temp.out \& use Bio::Tools::Run::Primer3; \& use Bio::SeqIO; \& \& my $seqio = Bio::SeqIO\->new(\-file=>\*(Aqdata/dna1.fa\*(Aq); \& my $seq = $seqio\->next_seq; \& my $primer3 = Bio::Tools::Run::Primer3\->new(\-seq => $seq, \& \-outfile => "temp.out", \& \-path => "/usr/bin/primer3_core"); \& \& # or after the fact you can change the program_name \& $primer3\->program_name(\*(Aqmy_suprefast_primer3\*(Aq); \& \& unless ($primer3\->executable) { \& print STDERR "primer3 can not be found. Is it installed?\en"; \& exit(\-1) \& } \& \& # what are the arguments, and what do they mean? \& my $args = $primer3\->arguments; \& \& print "ARGUMENT\etMEANING\en"; \& foreach my $key (keys %{$args}) {print "$key\et", $$args{$key}, "\en"} \& \& # set the maximum and minimum Tm of the primer \& $primer3\->add_targets(\*(AqPRIMER_MIN_TM\*(Aq=>56, \*(AqPRIMER_MAX_TM\*(Aq=>90); \& \& # design the primers. This runs primer3 and returns a \& # Bio::Tools::Run::Primer3 object with the results \& $results = $primer3\->run; \& \& # see the Bio::Tools::Run::Primer3 pod for \& # things that you can get from this. For example: \& \& print "There were ", $results\->number_of_results, " primers\en"; .Ve .PP Bio::Tools::Run::Primer3 creates the input files needed to design primers using primer3 and provides mechanisms to access data in the primer3 output files. .PP This module provides a bioperl interface to the program primer3. See http://www\-genome.wi.mit.edu/genome_software/other/primer3.html for details and to download the software. .PP This module is based on one written by Chad Matsalla (bioinformatics1@dieselwurks.com). I have ripped some of his code, and added a lot of my own. I hope he is not mad at me! .SH "FEEDBACK" .IX Header "FEEDBACK" .SS "Mailing Lists" .IX Subsection "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. .PP .Vb 2 \& bioperl\-l@bioperl.org \- General discussion \& http://www.bioperl.org/MailList.html \- About the mailing lists .Ve .SS "Support" .IX Subsection "Support" Please direct usage questions or support issues to the mailing list: .PP \&\fIbioperl\-l@bioperl.org\fR .PP 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. .SS "Reporting Bugs" .IX Subsection "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: .PP .Vb 1 \& http://redmine.open\-bio.org/projects/bioperl/ .Ve .SH "AUTHOR" .IX Header "AUTHOR" Rob Edwards .PP redwards@utmem.edu .PP Based heavily on work of Chad Matsalla .PP bioinformatics1@dieselwurks.com .SH "CONTRIBUTORS" .IX Header "CONTRIBUTORS" Shawn Hoon shawnh\-at\-stanford.edu Jason Stajich jason\-at\-bioperl.org Brian Osborne osborne1\-at\-optonline.net .SH "SEE ALSO" .IX Header "SEE ALSO" Bio::Tools::Primer3 .SH "APPENDIX" .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ .SS "\fInew()\fP" .IX Subsection "new()" .Vb 10 \& Title : new() \& Usage : my $primer3 = Bio::Tools::Run::Primer3\->new(\-file=>$file) to read \& a primer3 output file. \& my $primer3 = Bio::Tools::Run::Primer3\->new(\-seq=>sequence object) \& design primers against sequence \& Function: Start primer3 working and adds a sequence. At the moment it \& will not clear out the old sequence, but I suppose it should. \& Returns : Does not return anything. If called with a filename will allow \& you to retrieve the results \& Args : \-seq (optional) Bio::Seq object of sequence. This is required \& to run primer3 but can be added later with add_targets() \& \-outfile file name to output results to (can also be added \& with $primer3\->outfile_name \& \-path path to primer3 executable, including program name, e.g. \& "/usr/bin/primer3_core". This can also be set with program_name \& and program_dir \& \-verbose (optional) set verbose output \& Notes : .Ve .SS "program_name" .IX Subsection "program_name" .Vb 5 \& Title : program_name \& Usage : $primer3\->program_name() \& Function: holds the program name \& Returns: string \& Args : None .Ve .SS "program_dir" .IX Subsection "program_dir" .Vb 5 \& Title : program_dir \& Usage : $primer3\->program_dir($dir) \& Function: returns the program directory, which may also be obtained from ENV variable. \& Returns : string \& Args : .Ve .SS "\fIadd_targets()\fP" .IX Subsection "add_targets()" .Vb 8 \& Title : add_targets() \& Usage : $primer3\->add_targets(key=>value) \& Function: Add any legal value to the input command line. \& Returns : Returns the number of arguments added. \& Args : Use $primer3\->arguments to find a list of all the values \& that are allowed, or see the primer3 docs. \& Notes : This will only do limited error checking at the moment, \& but it should work. .Ve .SS "\fIrun()\fP" .IX Subsection "run()" .Vb 6 \& Title : run() \& Usage : $primer3\->run(); \& Function: Run the primer3 program with the arguments that you have supplied. \& Returns : A Bio::Tools::Primer3 object containing the results. \& Args : None. \& Note : See the Bio::Tools::Primer3 documentation for those functions. .Ve .SS "\fIarguments()\fP" .IX Subsection "arguments()" .Vb 12 \& Title : arguments() \& Usage : $hashref = $primer3\->arguments(); \& Function: Describes the options that you can set through Bio::Tools::Run::Primer3, \& with a brief (one line) description of what they are and their \& default values \& Returns : A string (if an argument is supplied) or a reference to a hash. \& Args : If supplied with an argument will return a string of its \& description. \& If no arguments are supplied, will return all the arguments as a \& reference to a hash \& Notes : Much of this is taken from the primer3 README file, and you should \& read that file for a more detailed description. .Ve .SS "version" .IX Subsection "version" .Vb 6 \& Title : version \& Usage : $v = $prog\->version(); \& Function: Determine the version number of the program \& Example : \& Returns : float or undef \& Args : none .Ve .SS "\fI_input_args()\fP" .IX Subsection "_input_args()" .Vb 8 \& Title : _input_args() \& Usage : an internal method to set the input arguments for Primer3 \& Function: Define a hash with keys for each of the input arguments and values \& as a short one line description \& Returns : A reference to a hash. \& Args : None. \& Notes : Much of this is taken from the primer3 README file, and you should \& read that file for a more detailed description. .Ve