.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" 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 .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . 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 .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Bio::Tools::Run::Infernal 3pm" .TH Bio::Tools::Run::Infernal 3pm 2024-03-12 "perl v5.38.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::Infernal \- Wrapper for local execution of cmalign, cmbuild, cmsearch, cmscore .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 2 \& # parameters which are switches are set with any value that evals TRUE, \& # others are set to a specific value \& \& my $factory = Bio::Tools::Run::Infernal\->new(@params); \& \& # run cmalign|cmbuild|cmsearch|cmscore|cmemit directly as a wrapper method \& # this resets the program flag if previously set \& \& $factory\->cmsearch(@seqs); # searches Bio::PrimarySeqI\*(Aqs based on set cov. model \& # saves output to optional outfile_name, returns \& # Bio::SearchIO \& \& # only values which are allowed for a program are set, so one can use the same \& # wrapper for the following... \& \& $factory\->cmalign(@seqs); # aligns Bio::PrimarySeqI\*(Aqs to a set cov. model, \& # \-\-merge option allows two alignments generated \& # from the same CM to be merged. \& # output to outfile_name, returns Bio::AlignIO \& $factory\->cmscore(); # scores set cov. model against Bio::PrimarySeqI, \& # output to outfile_name/STDOUT. \& $factory\->cmbuild($aln); # builds covariance model based on alignment \& # CM to outfile_name or model_file (one is required \& # here), output to STDOUT. \& $factory\->cmemit(); # emits sequence from specified cov. model; \& # set one if no file specified. output to \& # outfile_name, returns Bio::SeqIO or (if \-a is set) \& # Bio::AlignIO \& $factory\->cmcalibrate($file); # calibrates specified cov. model; output to \& # STDOUT \& $factory\->cmstat($file); # summary stats for cov. model; set one if no file \& # specified; output to STDOUT \& \& # run based on the setting of the program parameter \& \& my $factory = Bio::Tools::Run::Infernal\->new(\-program => \*(Aqcmsearch\*(Aq, \& @params); \& my $search = $factory\->run($seq); \& \& # using cmsearch returns a Bio::SearchIO object \& \& while (my $result = $searchio\->next_result){ \& while(my $hit = $result\->next_hit){ \& while (my $hsp = $hit\->next_hsp){ \& print join("\et", ( $r\->query_name, \& $hit\->name, \& $hsp\->hit\->start, \& $hsp\->hit\->end, \& $hsp\->meta, \& $hsp\->score, \& )), "\en"; \& } \& } \& } .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" Wrapper module for Sean Eddy's Infernal suite of programs. The current implementation runs cmsearch, cmcalibrate, cmalign, cmemit, cmbuild, cmscore, and cmstat. cmsearch will return a Bio::SearchIO, cmemit a Bio::SeqIO/AlignIO, and cmalign a Bio::AlignIO. All others send output to STDOUT. Optionally, any program's output can be redirected to outfile_name. .PP We HIGHLY suggest upgrading to Infernal 1.0. In that spirit, this wrapper now supports parameters for Infernal 1.0 only; for wrapping older versions of Infernal we suggest using the version of Bio::Tools::Run::Infernal that came with previous versions of BioPerl-run. .PP NOTE: Due to conflicts in the way Infernal parameters are now formatted vs. subroutine naming in Perl (specifically the inclusion of hyphens) and due to the very large number of parameters available, setting and resetting parameters via \&\fBset_parameters()\fR and \fBreset_parameters()\fR is required. All valid parameters can be set, but only ones valid for the executable set via \fBprogram()\fR/\fBprogram_name()\fR are used for calling the executables, the others are silently ignored. .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://bioperl.org/wiki/Mailing_lists \- 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 \- Chris Fields" .IX Header "AUTHOR - Chris Fields" .Vb 1 \& Email: cjfields\-at\-uiuc\-dot\-edu .Ve .SH CONTRIBUTORS .IX Header "CONTRIBUTORS" .Vb 1 \& cjfields\-at\-uiuc\-dot\-edu .Ve .SH APPENDIX .IX Header "APPENDIX" The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _ .SS new .IX Subsection "new" .Vb 5 \& Title : new \& Usage : my $wrapper = Bio::Tools::Run::Infernal\->new(@params) \& Function: creates a new Infernal factory \& Returns: Bio::Tools::Run::Infernal wrapper \& Args : list of parameters .Ve .SS program .IX Subsection "program" .Vb 7 \& Title : program \& Usage : $obj\->program() \& Function: Set the program called when run() is used. Synonym of \& program_name() \& Returns : String (program name) \& Args : String (program name) \& Status : Unstable (may delegate to program_name, which is the interface method) .Ve .SS program_name .IX Subsection "program_name" .Vb 5 \& Title : program_name \& Usage : $factory>program_name() \& Function: holds the program name \& Returns: string \& Args : None .Ve .SS model_file .IX Subsection "model_file" .Vb 5 \& Title : model_file \& Usage : $obj\->model_file() \& Function: Set the model file used when run() is called. \& Returns : String (file location of covariance model) \& Args : String (file location of covariance model) .Ve .SS program_dir .IX Subsection "program_dir" .Vb 5 \& Title : program_dir \& Usage : $factory\->program_dir(@params) \& Function: returns the program directory, obtained from ENV variable. \& Returns: string \& Args : .Ve .SS version .IX Subsection "version" .Vb 6 \& Title : version \& Usage : $v = $prog\->version(); \& Function: Determine the version number of the program (uses cmsearch) \& Example : \& Returns : float or undef \& Args : none .Ve .SS run .IX Subsection "run" .Vb 5 \& Title : run \& Usage : $obj\->run($seqFile) \& Function: Runs Infernal and returns Bio::SearchIO \& Returns : A Bio::SearchIO \& Args : A Bio::PrimarySeqI or file name .Ve .SH "Specific program interface methods" .IX Header "Specific program interface methods" .SS cmsearch .IX Subsection "cmsearch" .Vb 5 \& Title : cmsearch \& Usage : $obj\->cmsearch($seqFile) \& Function: Runs Infernal cmsearch and returns Bio::SearchIO \& Returns : A Bio::SearchIO \& Args : Bio::PrimarySeqI or file name .Ve .SS cmalign .IX Subsection "cmalign" .Vb 5 \& Title : cmalign \& Usage : $obj\->cmalign($seqFile) \& Function: Runs Infernal cmalign and returns Bio::AlignIO \& Returns : A Bio::AlignIO \& Args : Bio::PrimarySeqI or file name .Ve .SS cmemit .IX Subsection "cmemit" .Vb 5 \& Title : cmemit \& Usage : $obj\->cmemit($modelfile) \& Function: Runs Infernal cmemit and returns Bio::AlignIO \& Returns : A Bio::AlignIO \& Args : None; set model_file() to use a specific model .Ve .SS cmbuild .IX Subsection "cmbuild" .Vb 6 \& Title : cmbuild \& Usage : $obj\->cmbuild($alignment) \& Function: Runs Infernal cmbuild and saves covariance model \& Returns : 1 on success (no object for covariance models) \& Args : Bio::AlignIO with structural information (such as from Stockholm \& format source) or alignment file name .Ve .SS cmscore .IX Subsection "cmscore" .Vb 5 \& Title : cmscore \& Usage : $obj\->cmscore($seq) \& Function: Runs Infernal cmscore and saves output \& Returns : None \& Args : None; set model_file() to use a specific model .Ve .SS cmcalibrate .IX Subsection "cmcalibrate" .Vb 5 \& Title : cmcalibrate \& Usage : $obj\->cmcalibrate(\*(Aqfile\*(Aq) \& Function: Runs Infernal calibrate on specified CM \& Returns : None \& Args : None; set model_file() to use a specific model .Ve .SS cmstat .IX Subsection "cmstat" .Vb 5 \& Title : cmstat \& Usage : $obj\->cmstat($seq) \& Function: Runs Infernal cmstat and saves output \& Returns : None \& Args : None; set model_file() to use a specific model .Ve .SH "Bio::ParameterBaseI\-specific methods" .IX Header "Bio::ParameterBaseI-specific methods" These methods are part of the Bio::ParameterBaseI interface .SS set_parameters .IX Subsection "set_parameters" .Vb 7 \& 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 .Ve .SS reset_parameters .IX Subsection "reset_parameters" .Vb 5 \& 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 .Ve .SS validate_parameters .IX Subsection "validate_parameters" .Vb 8 \& 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 : Optionally implemented method; up to the implementation on whether \& to automatically validate parameters or optionally do so .Ve .SS parameters_changed .IX Subsection "parameters_changed" .Vb 6 \& 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 .Ve .SS available_parameters .IX Subsection "available_parameters" .Vb 6 \& 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 .Ve .SS get_parameters .IX Subsection "get_parameters" .Vb 10 \& 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 : [optional] \& \*(Aqfull\*(Aq \- this option returns everything associated with the parameter \& as an array ref value; that is, not just the value but also \& the value, type, and prefix. Default is value only. \& \*(Aqvalid\*(Aq\- same a \*(Aqfull\*(Aq, but only returns the grouping valid for the \& currently set executable .Ve .SH "to_* methods" .IX Header "to_* methods" All to_* methods are implementation-specific .SS to_exe_string .IX Subsection "to_exe_string" .Vb 5 \& Title : to_exe_string \& Usage : $string = $pobj\->to_exe_string; \& Function: Returns string (command line string in this case) \& Returns : String \& Args : .Ve .SS _writeSeqFile .IX Subsection "_writeSeqFile" .Vb 5 \& Title : _writeSeqFile \& Usage : obj\->_writeSeqFile($seq) \& Function: Internal(not to be used directly) \& Returns : \& Args : .Ve .SS _writeAlignFile .IX Subsection "_writeAlignFile" .Vb 5 \& Title : _writeAlignFile \& Usage : obj\->_writeAlignFile($seq) \& Function: Internal(not to be used directly) \& Returns : \& Args : .Ve