Frequently Asked Questions |
Problems that are encountered |
How to make it do various things: |
Background information needed: |
Questions about distribution and citation: |
Questions about documentation |
Additional Frequently Asked Questions, or: "Why didn't it occur to you to ... |
(Fortunately) obsolete questions |
"It doesn't work! It doesn't work!! It says can't find infile."
"The program reads my data file and then says it's has a memory allocation error!"
"On our MacOS 9 system, larger data files fail to run."
"I opened the program but I don't see where to create a data file!"
"I ran PHYLIP, and all it did was say it was extracting a bunch of files!"
"One program makes an output file and then the next program crashes while reading it!"
"I make a file called infile and then the program can't find it!"
"Consense gives weird branch lengths! How do I get more reasonable ones?"
"I looked at the tree printed in the output file outfile and it looked weird. Do I always need to look at it in Drawgram?"
"DrawTree (or DrawGram) doesn't work: it can't find the font file!"
"Can DrawGram draw a scale beside the tree? Print the branch lengths as numbers?"
"How can I get DrawGram or DrawTree to print the bootstrap values next to the branches?"
"I have an HP laser printer and can't get DrawGram to print on it"
"DNAML won't read the treefile that is produced by DNAPARS!"
"In bootstrapping, SEQBOOT makes too large a file"
"In bootstrapping, the output file gets too big."
"Why don't your programs correctly read the sequence alignment files produced by ClustalW?"
"Why doesn't NEIGHBOR read my DNA sequences correctly?"
"How do I bootstrap?"
"How do I specify a multi-species outgroup
with your parsimony programs?"
"How do I force certain groups to remain monophyletic in your
parsimony programs?"
"How can I reroot one of the trees written out by PHYLIP?"
"What do I do about deletions and insertions in my sequences?"
"How can I produce distances for my data set which
has 0's and 1's?"
"I have RFLP fragment data: which programs should I
use?"
"Why don't your parsimony programs print out branch lengths?"
"Why can't your programs handle unordered multistate characters?"
"What file format do I use for the sequences?" "Where can I find out how to infer
phylogenies?"
and as graduate-level texts:
For more mathematically-oriented readers, there is the book
Best of all is of course my own book on phylogenies, which
covers the subject for many data types, at a
graduate course level:
There are also some recent books that take a more practical hands-on approach,
and give some detailed information on how to use programs, including some
PHYLIP programs. These include:
A useful article introducing the inference of phylogenies at a more
elementary level is:
There is an excellent guide to using PHYLIP 3.6
for molecular analyses available. It is by Jarno Tuimala:
In addition, one of these three older review articles may help:
"If I copied PHYLIP from a friend without you knowing, should I try
to keep you from finding out?"
"How do I make a citation to the PHYLIP package in the paper I am
writing?"
Felsenstein, J. 2005. PHYLIP (Phylogeny Inference Package) version 3.6.
Distributed by the author. Department of Genome Sciences, University of
Washington, Seattle.
or if the editor for whom you are writing insists that the citation must be to
a printed publication, you could cite a notice for version 3.2 published in
Cladistics:
Felsenstein, J. 1989. PHYLIP - Phylogeny Inference Package (Version 3.2).
Cladistics 5: 164-166.
For a while a printed version of the PHYLIP documentation was available and one
could cite that. This is no longer true. Other than that, this is difficult,
because I have never written a paper announcing PHYLIP! My 1985b paper in
Evolution on the bootstrap method contains a
one-paragraph Appendix describing the availability of this package, and that
can also be cited as a reference for the package, although it was
distributed since 1980 while the bootstrap paper is 1985. A paper on PHYLIP
is needed mostly to give people something to cite, as word-of-mouth, references
in other people's papers, and electronic newsgroup postings have spread the
word about PHYLIP's existence quite effectively.
"Can I make copies of PHYLIP available to the students in
my class?"
"How many copies of PHYLIP have been distributed?"
"Where can I get a printed version of the PHYLIP documents?"
"Why have I been dropped from your newsletter mailing list?"
(a)
In MIX, make up an extra character with states 0 for all the outgroups
and 1 for all the ingroups. If using
DNAPARS the ingroup can have (say)
G and the outgroup A.(b)
Assign this character an enormous weight
(such as Z for 35) using the W
option,
all other characters getting weight 1, or whatever weight they had
before.(c)
If it is available, Use the A (Ancestral
states) option to designate that
for that new character the state found in the
outgroup is the ancestral
state.(d) In MIX do not use the O (Outgroup) option.
(e)
After the tree is found, the designated
ingroup should have been held
together by the fake character. The tree will be
rooted somewhere in the
outgroup (the program may or may not have a preference for one place in
the outgroup over another).
Make sure that you subtract from the total
number of steps on the tree all steps in the new character.In programs like DNAPARS, you cannot use this method as weights of sites
cannot be greater than 1. But you do an analogous trick, by adding a
largish number of extra sites to the data, with one nucleotide state ("A")
for the ingroup and another ("G") for the outgroup. You will then have to
use RETREE to manually reroot the tree in the desired place.
For restriction sites (rather than fragments) life is a bit
easier: they evolve nearly independently so bootstrapping is possible
and RESTML can be used, as well as restriction sites distances
computed in RESTDIST. Also directionality of change
is less ambiguous when parsimony is used. A more complete tour of the
issues for restriction sites and restriction fragments is given in chapter
15 of my book (Felsenstein, 2004).
Background information needed:
"How do I use the programs? I can't find any documentation!"
and it is
available as a PDF here.
Questions about distribution and citation:
Questions about documentation
... allow the options to be set on the command line?"
... write these programs in Java?"
... forgot about all those inferior systems and just develop PHYLIP for Unix?"
... write these programs in Pascal?"
... write these programs in PROLOG (or Ada, or Modula-2, or SIMULA, or BCPL, or PL/I, or APL, or LISP)?"
... include in the package a program to do the Distance Wagner method, (or successive approximations character weighting)?"
... include in the package ordination methods and more clustering algorithms?"
... include in the package a program to do nucleotide sequence alignment?"
(The following four questions, once common, have finally disappeared, I am pleased to report).
... let me log in to your computer in Seattle and copy the files out over a phone line?"
... send me a listing of your program?"
... write a magnetic tape in our computer center's favorite format (inverted Lithuanian EBCDIC at 998 bpi)?"
... give us a version of these in FORTRAN?"