ffreqboot

 

Wiki

The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

Please help by correcting and extending the Wiki pages.

Function

Bootstrapped genetic frequencies algorithm

Description

Reads in a data set, and produces multiple data sets from it by bootstrap resampling. Since most programs in the current version of the package allow processing of multiple data sets, this can be used together with the consensus tree program CONSENSE to do bootstrap (or delete-half-jackknife) analyses with most of the methods in this package. This program also allows the Archie/Faith technique of permutation of species within characters. It can also rewrite a data set to convert it from between the PHYLIP Interleaved and Sequential forms, and into a preliminary version of a new XML sequence alignment format which is under development

Algorithm

FFREQBOOT is a gene frequency specific version of SEQBOOT.

SEQBOOT is a general bootstrapping and data set translation tool. It is intended to allow you to generate multiple data sets that are resampled versions of the input data set. Since almost all programs in the package can analyze these multiple data sets, this allows almost anything in this package to be bootstrapped, jackknifed, or permuted. SEQBOOT can handle molecular sequences, binary characters, restriction sites, or gene frequencies. It can also convert data sets between Sequential and Interleaved format, and into the NEXUS format or into a new XML sequence alignment format.

To carry out a bootstrap (or jackknife, or permutation test) with some method in the package, you may need to use three programs. First, you need to run SEQBOOT to take the original data set and produce a large number of bootstrapped or jackknifed data sets (somewhere between 100 and 1000 is usually adequate). Then you need to find the phylogeny estimate for each of these, using the particular method of interest. For example, if you were using DNAPARS you would first run SEQBOOT and make a file with 100 bootstrapped data sets. Then you would give this file the proper name to have it be the input file for DNAPARS. Running DNAPARS with the M (Multiple Data Sets) menu choice and informing it to expect 100 data sets, you would generate a big output file as well as a treefile with the trees from the 100 data sets. This treefile could be renamed so that it would serve as the input for CONSENSE. When CONSENSE is run the majority rule consensus tree will result, showing the outcome of the analysis.

This may sound tedious, but the run of CONSENSE is fast, and that of SEQBOOT is fairly fast, so that it will not actually take any longer than a run of a single bootstrap program with the same original data and the same number of replicates. This is not very hard and allows bootstrapping or jackknifing on many of the methods in this package. The same steps are necessary with all of them. Doing things this way some of the intermediate files (the tree file from the DNAPARS run, for example) can be used to summarize the results of the bootstrap in other ways than the majority rule consensus method does.

If you are using the Distance Matrix programs, you will have to add one extra step to this, calculating distance matrices from each of the replicate data sets, using DNADIST or GENDIST. So (for example) you would run SEQBOOT, then run DNADIST using the output of SEQBOOT as its input, then run (say) NEIGHBOR using the output of DNADIST as its input, and then run CONSENSE using the tree file from NEIGHBOR as its input.

The resampling methods available are:

Usage

Here is a sample session with ffreqboot


% ffreqboot -seed 3 
Bootstrapped genetic frequencies algorithm
Input file: freqboot.dat
Phylip seqboot_freq program output file [freqboot.ffreqboot]: 


completed replicate number   10
completed replicate number   20
completed replicate number   30
completed replicate number   40
completed replicate number   50
completed replicate number   60
completed replicate number   70
completed replicate number   80
completed replicate number   90
completed replicate number  100

Output written to file "freqboot.ffreqboot"

Done.


Go to the input files for this example
Go to the output files for this example

Command line arguments

Bootstrapped genetic frequencies algorithm
Version: EMBOSS:6.5.0.0

   Standard (Mandatory) qualifiers:
  [-infile]            frequencies (no help text) frequencies value
  [-outfile]           outfile    [*.ffreqboot] Phylip seqboot_freq program
                                  output file

   Additional (Optional) qualifiers (* if not always prompted):
   -weights            properties Weights file
   -test               menu       [b] Choose test (Values: b (Bootstrap); j
                                  (Jackknife); c (Permute species for each
                                  character); o (Permute character order); s
                                  (Permute within species); r (Rewrite data))
*  -regular            toggle     [N] Altered sampling fraction
*  -fracsample         float      [100.0] Samples as percentage of sites
                                  (Number from 0.100 to 100.000)
*  -blocksize          integer    [1] Block size for bootstraping (Integer 1
                                  or more)
*  -reps               integer    [100] How many replicates (Integer 1 or
                                  more)
*  -justweights        menu       [d] Write out datasets or just weights
                                  (Values: d (Datasets); w (Weights))
*  -seed               integer    [1] Random number seed between 1 and 32767
                                  (must be odd) (Integer from 1 to 32767)
   -printdata          boolean    [N] Print out the data at start of run
*  -[no]dotdiff        boolean    [Y] Use dot-differencing
   -[no]progress       boolean    [Y] Print indications of progress of run

   Advanced (Unprompted) qualifiers: (none)
   Associated qualifiers:

   "-outfile" associated qualifiers
   -odirectory2        string     Output directory

   General qualifiers:
   -auto               boolean    Turn off prompts
   -stdout             boolean    Write first file to standard output
   -filter             boolean    Read first file from standard input, write
                                  first file to standard output
   -options            boolean    Prompt for standard and additional values
   -debug              boolean    Write debug output to program.dbg
   -verbose            boolean    Report some/full command line options
   -help               boolean    Report command line options and exit. More
                                  information on associated and general
                                  qualifiers can be found with -help -verbose
   -warning            boolean    Report warnings
   -error              boolean    Report errors
   -fatal              boolean    Report fatal errors
   -die                boolean    Report dying program messages
   -version            boolean    Report version number and exit

Qualifier Type Description Allowed values Default
Standard (Mandatory) qualifiers
[-infile]
(Parameter 1)
frequencies (no help text) frequencies value Frequency value(s)  
[-outfile]
(Parameter 2)
outfile Phylip seqboot_freq program output file Output file <*>.ffreqboot
Additional (Optional) qualifiers
-weights properties Weights file Property value(s)  
-test list Choose test
b (Bootstrap)
j (Jackknife)
c (Permute species for each character)
o (Permute character order)
s (Permute within species)
r (Rewrite data)
b
-regular toggle Altered sampling fraction Toggle value Yes/No No
-fracsample float Samples as percentage of sites Number from 0.100 to 100.000 100.0
-blocksize integer Block size for bootstraping Integer 1 or more 1
-reps integer How many replicates Integer 1 or more 100
-justweights list Write out datasets or just weights
d (Datasets)
w (Weights)
d
-seed integer Random number seed between 1 and 32767 (must be odd) Integer from 1 to 32767 1
-printdata boolean Print out the data at start of run Boolean value Yes/No No
-[no]dotdiff boolean Use dot-differencing Boolean value Yes/No Yes
-[no]progress boolean Print indications of progress of run Boolean value Yes/No Yes
Advanced (Unprompted) qualifiers
(none)
Associated qualifiers
"-outfile" associated outfile qualifiers
-odirectory2
-odirectory_outfile
string Output directory Any string  
General qualifiers
-auto boolean Turn off prompts Boolean value Yes/No N
-stdout boolean Write first file to standard output Boolean value Yes/No N
-filter boolean Read first file from standard input, write first file to standard output Boolean value Yes/No N
-options boolean Prompt for standard and additional values Boolean value Yes/No N
-debug boolean Write debug output to program.dbg Boolean value Yes/No N
-verbose boolean Report some/full command line options Boolean value Yes/No Y
-help boolean Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose Boolean value Yes/No N
-warning boolean Report warnings Boolean value Yes/No Y
-error boolean Report errors Boolean value Yes/No Y
-fatal boolean Report fatal errors Boolean value Yes/No Y
-die boolean Report dying program messages Boolean value Yes/No Y
-version boolean Report version number and exit Boolean value Yes/No N

Input file format

ffreqboot data files read by SEQBOOT are the standard ones for the various kinds of data. For molecular sequences the sequences may be either interleaved or sequential, and similarly for restriction sites. Restriction sites data may either have or not have the third argument, the number of restriction enzymes used. Discrete morphological characters are always assumed to be in sequential format. Gene frequencies data start with the number of species and the number of loci, and then follow that by a line with the number of alleles at each locus. The data for each locus may either have one entry for each allele, or omit one allele at each locus. The details of the formats are given in the main documentation file, and in the documentation files for the groups of programsreads any normal sequence USAs.

Input files for usage example

File: freqboot.dat

    5    10
2 2 2 2 2 2 2 2 2 2
European   0.2868 0.5684 0.4422 0.4286 0.3828 0.7285 0.6386 0.0205
0.8055 0.5043
African    0.1356 0.4840 0.0602 0.0397 0.5977 0.9675 0.9511 0.0600
0.7582 0.6207
Chinese    0.1628 0.5958 0.7298 1.0000 0.3811 0.7986 0.7782 0.0726
0.7482 0.7334
American   0.0144 0.6990 0.3280 0.7421 0.6606 0.8603 0.7924 0.0000
0.8086 0.8636
Australian 0.1211 0.2274 0.5821 1.0000 0.2018 0.9000 0.9837 0.0396
0.9097 0.2976

Output file format

ffreqboot output will contain the data sets generated by the resampling process. Note that, when Gene Frequencies data is used or when Discrete Morphological characters with the Factors option are used, the number of characters in each data set may vary. It may also vary if there are an odd number of characters or sites and the Delete-Half-Jackknife resampling method is used, for then there will be a 50% chance of choosing (n+1)/2 characters and a 50% chance of choosing (n-1)/2 characters.

The Factors option causes the characters to be resampled together. If (say) three adjacent characters all have the same factors characters, so that they all are understood to be recoding one multistate character, they will be resampled together as a group.

The order of species in the data sets in the output file will vary randomly. This is a precaution to help the programs that analyze these data avoid any result which is sensitive to the input order of species from showing up repeatedly and thus appearing to have evidence in its favor.

The numerical options 1 and 2 in the menu also affect the output file. If 1 is chosen (it is off by default) the program will print the original input data set on the output file before the resampled data sets. I cannot actually see why anyone would want to do this. Option 2 toggles the feature (on by default) that prints out up to 20 times during the resampling process a notification that the program has completed a certain number of data sets. Thus if 100 resampled data sets are being produced, every 5 data sets a line is printed saying which data set has just been completed. This option should be turned off if the program is running in background and silence is desirable. At the end of execution the program will always (whatever the setting of option 2) print a couple of lines saying that output has been written to the output file.

Output files for usage example

File: freqboot.ffreqboot

    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.28680 0.71320 0.56840 0.43160 0.56840 0.43160 0.44220 0.55780
               0.42860 0.57140 0.38280 0.61720 0.38280 0.61720 0.72850 0.27150
               0.72850 0.27150 0.02050 0.97950
African    0.13560 0.86440 0.48400 0.51600 0.48400 0.51600 0.06020 0.93980
               0.03970 0.96030 0.59770 0.40230 0.59770 0.40230 0.96750 0.03250
               0.96750 0.03250 0.06000 0.94000
Chinese    0.16280 0.83720 0.59580 0.40420 0.59580 0.40420 0.72980 0.27020
               1.00000 0.00000 0.38110 0.61890 0.38110 0.61890 0.79860 0.20140
               0.79860 0.20140 0.07260 0.92740
American   0.01440 0.98560 0.69900 0.30100 0.69900 0.30100 0.32800 0.67200
               0.74210 0.25790 0.66060 0.33940 0.66060 0.33940 0.86030 0.13970
               0.86030 0.13970 0.00000 1.00000
Australian 0.12110 0.87890 0.22740 0.77260 0.22740 0.77260 0.58210 0.41790
               1.00000 0.00000 0.20180 0.79820 0.20180 0.79820 0.90000 0.10000
               0.90000 0.10000 0.03960 0.96040
    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.28680 0.71320 0.56840 0.43160 0.44220 0.55780 0.42860 0.57140
               0.38280 0.61720 0.38280 0.61720 0.38280 0.61720 0.02050 0.97950
               0.02050 0.97950 0.80550 0.19450
African    0.13560 0.86440 0.48400 0.51600 0.06020 0.93980 0.03970 0.96030
               0.59770 0.40230 0.59770 0.40230 0.59770 0.40230 0.06000 0.94000
               0.06000 0.94000 0.75820 0.24180
Chinese    0.16280 0.83720 0.59580 0.40420 0.72980 0.27020 1.00000 0.00000
               0.38110 0.61890 0.38110 0.61890 0.38110 0.61890 0.07260 0.92740
               0.07260 0.92740 0.74820 0.25180
American   0.01440 0.98560 0.69900 0.30100 0.32800 0.67200 0.74210 0.25790
               0.66060 0.33940 0.66060 0.33940 0.66060 0.33940 0.00000 1.00000
               0.00000 1.00000 0.80860 0.19140
Australian 0.12110 0.87890 0.22740 0.77260 0.58210 0.41790 1.00000 0.00000
               0.20180 0.79820 0.20180 0.79820 0.20180 0.79820 0.03960 0.96040
               0.03960 0.96040 0.90970 0.09030
    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.28680 0.71320 0.28680 0.71320 0.44220 0.55780 0.42860 0.57140
               0.42860 0.57140 0.38280 0.61720 0.72850 0.27150 0.80550 0.19450
               0.80550 0.19450 0.50430 0.49570
African    0.13560 0.86440 0.13560 0.86440 0.06020 0.93980 0.03970 0.96030
               0.03970 0.96030 0.59770 0.40230 0.96750 0.03250 0.75820 0.24180
               0.75820 0.24180 0.62070 0.37930
Chinese    0.16280 0.83720 0.16280 0.83720 0.72980 0.27020 1.00000 0.00000
               1.00000 0.00000 0.38110 0.61890 0.79860 0.20140 0.74820 0.25180
               0.74820 0.25180 0.73340 0.26660
American   0.01440 0.98560 0.01440 0.98560 0.32800 0.67200 0.74210 0.25790
               0.74210 0.25790 0.66060 0.33940 0.86030 0.13970 0.80860 0.19140
               0.80860 0.19140 0.86360 0.13640
Australian 0.12110 0.87890 0.12110 0.87890 0.58210 0.41790 1.00000 0.00000
               1.00000 0.00000 0.20180 0.79820 0.90000 0.10000 0.90970 0.09030


  [Part of this file has been deleted for brevity]

    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.28680 0.71320 0.56840 0.43160 0.56840 0.43160 0.56840 0.43160
               0.42860 0.57140 0.38280 0.61720 0.38280 0.61720 0.80550 0.19450
               0.50430 0.49570 0.50430 0.49570
African    0.13560 0.86440 0.48400 0.51600 0.48400 0.51600 0.48400 0.51600
               0.03970 0.96030 0.59770 0.40230 0.59770 0.40230 0.75820 0.24180
               0.62070 0.37930 0.62070 0.37930
Chinese    0.16280 0.83720 0.59580 0.40420 0.59580 0.40420 0.59580 0.40420
               1.00000 0.00000 0.38110 0.61890 0.38110 0.61890 0.74820 0.25180
               0.73340 0.26660 0.73340 0.26660
American   0.01440 0.98560 0.69900 0.30100 0.69900 0.30100 0.69900 0.30100
               0.74210 0.25790 0.66060 0.33940 0.66060 0.33940 0.80860 0.19140
               0.86360 0.13640 0.86360 0.13640
Australian 0.12110 0.87890 0.22740 0.77260 0.22740 0.77260 0.22740 0.77260
               1.00000 0.00000 0.20180 0.79820 0.20180 0.79820 0.90970 0.09030
               0.29760 0.70240 0.29760 0.70240
    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.28680 0.71320 0.28680 0.71320 0.56840 0.43160 0.56840 0.43160
               0.44220 0.55780 0.42860 0.57140 0.42860 0.57140 0.72850 0.27150
               0.63860 0.36140 0.02050 0.97950
African    0.13560 0.86440 0.13560 0.86440 0.48400 0.51600 0.48400 0.51600
               0.06020 0.93980 0.03970 0.96030 0.03970 0.96030 0.96750 0.03250
               0.95110 0.04890 0.06000 0.94000
Chinese    0.16280 0.83720 0.16280 0.83720 0.59580 0.40420 0.59580 0.40420
               0.72980 0.27020 1.00000 0.00000 1.00000 0.00000 0.79860 0.20140
               0.77820 0.22180 0.07260 0.92740
American   0.01440 0.98560 0.01440 0.98560 0.69900 0.30100 0.69900 0.30100
               0.32800 0.67200 0.74210 0.25790 0.74210 0.25790 0.86030 0.13970
               0.79240 0.20760 0.00000 1.00000
Australian 0.12110 0.87890 0.12110 0.87890 0.22740 0.77260 0.22740 0.77260
               0.58210 0.41790 1.00000 0.00000 1.00000 0.00000 0.90000 0.10000
               0.98370 0.01630 0.03960 0.96040
    5    10
   2   2   2   2   2   2   2   2   2   2
European   0.56840 0.43160 0.56840 0.43160 0.44220 0.55780 0.44220 0.55780
               0.42860 0.57140 0.38280 0.61720 0.38280 0.61720 0.72850 0.27150
               0.63860 0.36140 0.80550 0.19450
African    0.48400 0.51600 0.48400 0.51600 0.06020 0.93980 0.06020 0.93980
               0.03970 0.96030 0.59770 0.40230 0.59770 0.40230 0.96750 0.03250
               0.95110 0.04890 0.75820 0.24180
Chinese    0.59580 0.40420 0.59580 0.40420 0.72980 0.27020 0.72980 0.27020
               1.00000 0.00000 0.38110 0.61890 0.38110 0.61890 0.79860 0.20140
               0.77820 0.22180 0.74820 0.25180
American   0.69900 0.30100 0.69900 0.30100 0.32800 0.67200 0.32800 0.67200
               0.74210 0.25790 0.66060 0.33940 0.66060 0.33940 0.86030 0.13970
               0.79240 0.20760 0.80860 0.19140
Australian 0.22740 0.77260 0.22740 0.77260 0.58210 0.41790 0.58210 0.41790
               1.00000 0.00000 0.20180 0.79820 0.20180 0.79820 0.90000 0.10000
               0.98370 0.01630 0.90970 0.09030

Data files

None

Notes

None.

References

None.

Warnings

None.

Diagnostic Error Messages

None.

Exit status

It always exits with status 0.

Known bugs

None.

See also

Program name Description
distmat Create a distance matrix from a multiple sequence alignment
ednacomp DNA compatibility algorithm
ednadist Nucleic acid sequence distance matrix program
ednainvar Nucleic acid sequence invariants method
ednaml Phylogenies from nucleic acid maximum likelihood
ednamlk Phylogenies from nucleic acid maximum likelihood with clock
ednapars DNA parsimony algorithm
ednapenny Penny algorithm for DNA
eprotdist Protein distance algorithm
eprotpars Protein parsimony algorithm
erestml Restriction site maximum likelihood method
eseqboot Bootstrapped sequences algorithm
fdiscboot Bootstrapped discrete sites algorithm
fdnacomp DNA compatibility algorithm
fdnadist Nucleic acid sequence distance matrix program
fdnainvar Nucleic acid sequence invariants method
fdnaml Estimate nucleotide phylogeny by maximum likelihood
fdnamlk Estimates nucleotide phylogeny by maximum likelihood
fdnamove Interactive DNA parsimony
fdnapars DNA parsimony algorithm
fdnapenny Penny algorithm for DNA
fdolmove Interactive Dollo or polymorphism parsimony
fproml Protein phylogeny by maximum likelihood
fpromlk Protein phylogeny by maximum likelihood
fprotdist Protein distance algorithm
fprotpars Protein parsimony algorithm
frestboot Bootstrapped restriction sites algorithm
frestdist Calculate distance matrix from restriction sites or fragments
frestml Restriction site maximum likelihood method
fseqboot Bootstrapped sequences algorithm
fseqbootall Bootstrapped sequences algorithm

Author(s)

This program is an EMBOSS conversion of a program written by Joe Felsenstein as part of his PHYLIP package.

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.

History

Written (2004) - Joe Felsenstein, University of Washington.

Converted (August 2004) to an EMBASSY program by the EMBOSS team.

Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

Comments

None