NAME

Bio::Tools::Run::Phylo::Phylip::SeqBoot - Wrapper for the phylip program SeqBoot

SYNOPSIS

#Create a SimpleAlign object
@params = ('ktuple' => 2, 'matrix' => 'BLOSUM');
$factory = Bio::Tools::Run::Alignment::Clustalw->new(@params);
$inputfilename = 't/data/cysprot.fa';
$aln = $factory->align($inputfilename); # $aln is a SimpleAlign object.

# Use seqboot to generate bootstap alignments
my @params = ('datatype'=>'SEQUENCE','replicates'=>100);
my $seq = Bio::Tools::Run::Phylo::Phylip::SeqBoot->new(@params);

my $aln_ref = $seq->run($aln);

my $aio = Bio::AlignIO->new(-file=>">alignment.bootstrap",-format=>"phylip");
foreach my $ai(@{$aln_ref}){
       $aio->write_aln($ai);
}

# To prevent PHYLIP from truncating sequence names:
# Step 1. Shelf the original names:
my ($aln_safe, $ref_name)=                  #  $aln_safe has serial names
           $aln->set_displayname_safe();    #  $ref_name holds orginal names 
# Step 2. Run PHYLIP programs:
$aln_ref = $seq->run($aln_safe);            #  Use $aln_safe instead of $aln
# Step 3. Retrieve orgininal names
$aio = Bio::AlignIO->new(
           -file=>">alignment.bootstrap",
           -format=>"fasta");               #  FASTA output to view full names
foreach my $ai(@{$aln_ref}){
       my $new_aln=$ai->restore_displayname($ref_name); #  Restore names
       $aio->write_aln($new_aln);
}

DESCRIPTION

Wrapper for seqboot from the phylip package by Joseph Felsentein.

Taken from phylip doc...

"SEQBOOT is a general boostrapping tool. It is intended to allow you to generate multiple data sets that are resampled versions of the input data set. SEQBOOT can handle molecular sequences, binary characters, restriction sites, or gene frequencies."

More documentation on using seqboot and setting parameters may be found in the phylip package.

VERSION Support This wrapper currently supports v3.5 of phylip. There is also support for v3.6 although this is still experimental as v3.6 is still under alpha release and not all functionalities maybe supported.

PARAMETERS FOR SEQBOOT

MODEL

Title : DATATYPE Description : (optional)

     This program supports 3 different datatypes
     SEQUENCE: Molecular Sequences
     MORPH   : Discrete  Morphological  Characters
     REST    : Restriction Sites
     GENEFREQ: Gene  Frequencies

Defaults to SEQUENCE

PERMUTE

Title: PERMUTE Description: (optional)

3 different resampling methods are available:

BOOTSTRAP : creating a new data set by sampling N
            characters randomly with replacement The
            resulting data set has the same size as the
            original, but some characters have been left
            out and others are duplicated

JACKKNIFE : Delete-half-jackknifing. It involves sampling
            a random half of the characters, and
            including them in the data but dropping the
            others The resulting data sets are half the
            size of the original, and no characters are
            duplicated.

PERMUTE : Permuting species within characters. It
          involves permuting the columns of the data
          matrix separately.  This produces data matrices
          that have the same number and kinds of
          characters but no taxonomic structure.

Defaults to BOOTSTRAP

REPLICATES

Title		: REPLICATES
Description	: (optional)

              This options allows the user to set the number of
              replicate data sets. Most statisticians would be
              happiest with 1000 to 10,000 replicates in a
              bootstrap, but 100 gives a good rough picture

              Defaults to 100

ALLELES

Title : ALLELES Description : (optional)

            This option is to be used with gene frequencies datatype
            option to specify that all alleles at each locus are in
            the input file.

		  Defaults to NULL 

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 - 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   : >program_name()
Function: holds the program name
Returns:  string
Args    : None

program_dir

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

idlength

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

run

 Title   : run 
 Usage   :
	$inputfilename = 't/data/prot.phy';
	$matrix= $seqboot_factory->run($inputfilename);
or
	$seq_array_ref = \@seq_array; @seq_array is array of Seq objs
	$aln = $clustalw_factory->align($seq_array_ref);
	$aln_ref = $SeqBootfactory->run($aln);

 Function: Create bootstrap sets of alignments
 Example :
 Returns : an array ref of L<Bio::SimpleAlign>
 Args    : Name of a file containing a multiple alignment in Phylip format
           or an SimpleAlign object 

 Throws an exception if argument is not either a string (eg a
 filename) or a Bio::SimpleAlign object. If
 argument is string, throws exception if file corresponding to string
 name can not be found. 

_run

Title   :  _run
Usage   :  Internal function, not to be called directly	
Function:  makes actual system call to SeqBoot program
Example :
Returns : an array ref of <Bio::SimpleAlign> 
Args    : Name of a file containing a set of multiple alignments in Phylip format 
          and a parameter string to be passed to SeqBoot

_setinput()

Title   :  _setinput
Usage   :  Internal function, not to be called directly	
Function:   Create input file for SeqBoot program
Example :
Returns : name of file containing a multiple alignment in Phylip format 
Args    : SimpleAlign object reference or input file name

_setparams()

Title   :  _setparams
Usage   :  Internal function, not to be called directly	
Function:   Create parameter inputs for SeqBoot program
Example :
Returns : parameter string to be passed to SeqBoot
Args    : name of calling 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 = $SeqBoot->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 after a SeqBoot run
Returns : none
Args    : none

io

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