Information for prospective undergraduate students:
Please see this page, which provides information on how to apply to do research with me.
Note that I do not offer summer research opportunities
(even if selffunded) to students I have not already
worked with during the school year.
I welcome strong undergraduate students currently
enrolled at UIUC from computational disciplines
(CS, ECE, Statistics, and Mathematics) who are keenly
interested in research, ambitious, and either
planning to go to graduate school or considering this seriously.
I can supervise projects that include
testing and developing new computational methods in phylogenomics,
analysis of biological datasets using different methods,
etc.
However,
I do not take students
who are in their senior year except under
very unusual circumstances (e.g., when there is
a record of prior work on very similar projects).
Also, although I do sometimes offer summer research
opportunities, these are only for students already
doing research with me.
Information for prospective graduate students and postdocs:
The primary objective of my research is to
produce new algorithms and
software that can dramatically improve
phylogenetic analysis (whether in linguistics or in biology),
as tested in simulation or on real data. Theoretical research
is often done at the same time, using probability theory to
predict performance under Markov models of evolution, but
then testing these predictions in simulation.
If you are a student who loves to design
algorithms, likes the challenge of developing
good heuristics for
NPhard optimization problems, loves to program, and enjoys
collaborations (especially with scientists!),
you may find this research area fun and
rewarding.
Absolutely no background in biology or linguistics is required.
Research in my lab requires
strong skills in
algorithm design and analysis and
software development.
In addition,
excellent interpersonal skills,
oral and written communication skills,
and a passion for research are also necessary.
Overall, the required technical skills or coursework can be
described by:
 Strong programming skills in several
programming languages, such as Java, C/C++, Python, Perl
and R, and ability to learn others
(essential)
 Upper division course in algorithm design
and analysis (essential)
 Upper division courses in graph theory,
statistics, and probability theory
(necessary, but can be obtained after joining)
Current UIUC Graduate students:
Graduate students (whether MS or PhD) who are
already enrolled at UIUC in CS, ECE, Statistics, or Mathematics,
are encouraged
to contact me about thesis research possibilities.
If you are enrolled in another program (e.g., Bioengineering
or some biology program), I can consider you for a project
where I am a member of your thesis committee, but
you will need to have someone else
be your main supervisor.
Students applying for admission to a UIUC graduate program:
If you are not yet admitted to a graduate program at UIUC,
please note that admission to these programs is done by
committees  not by individual faculty, and hence not by me!
I encourage you to write to me about your interests, but
please note that admission to a graduate program depends
on meeting the expectations and standards of the
graduate program and not just finding someone keen to
advise you as a graduate student.
In particular, successful applicants to the MS or
PhD program in Computer Science
typically
are CS majors from strong CS undergraduate programs.
If your undergraduate degree is not in CS, you may do
better in applying to some other graduate program.
You should check with the graduate programs
that are potential good fits for you directly.
First semester is a rotation:
The first semester is a
rotation, generally
spent on a specific research project in
collaboration with other students, so that
you can find out about
the research area.
However, all graduate students who wish to
work with me must take my
graduate course.
You are encouraged to obtain the textbook for this
course,
Computational Phylogenetics:
An introduction to designing methods for phylogeny
estimation, published by Cambridge University Press.
After a semester as a rotation student,
you and I can discuss
what you could do if you want
to do a PhD in my lab.
Please feel free to talk with my current or former students
about working with me; the list of students is
available here.
Prospective postdocs:
If you are interested in joining the lab as a postdoc,
you should have a PhD in Computer Science, Mathematics, or
Statistics, and
you should have
already published several peerreviewed
papers in algorithms for phylogenetics.
You will need to provide three letters of
reference from faculty members in computer science,
mathematics, or statistics doing research
in phylogenetics.
To find out more (for all students):
If you are a student at UIUC and
either an upper division undergraduate or
a graduate student, then you should
take
my graduate class in
Algorithmic Genomic Biology,
or else obtain the
textbook for the course and
read it!
The CS 581 course introduces students to computational
phylogenomics, and many
students do
research as a course project.
These research projects often result in
published journal and conference papers, and thus
are a great way to learn about the research area.
If you have not taken this course yet,
please
first read a few of my recent papers.
In particular, the following is a good representative of the
kinds of work I am doing in my three
active projects (the parenthetical numbers refer to the
number in my online publication list):

Multiple Sequence Alignment: PASTA (114 and 121) and UPP (125)

Ensembles of HMMs: SEPP (103), TIPP (120), UPP (125), and HIPPI (139)

Phylogenomics: ASTRAL (115 and 127) and ASTRID (132)

Supertree methods: FastRFS (142) and SuperFine (102); see also
a recent unpublished
survey paper

Largescale tree estimation using divideandconquer: DACTAL (109), INC (159), and NJMerge (162); see
also Chapter 11 in my textbook, or the book chapter below
on Disk Covering Methods
Contact me by email and let me know
which of my papers you've read, what projects
you'd like to work on, and what your background
is (see above).
You may also want to read some of the
following introductory materials to this research area:

Computational Phylogenetics:
An introduction to designing methods for phylogeny
estimation, published by Cambridge University Press

Largescale multiple
sequence alignment and phylogeny estimation,
T. Warnow, 2013, in Models and Algorithms for Genome Evolution, Springer Computational Biology Series, C. Chauge, N. ElMabrouk, and E. Tannier, Editors.

Disk Covering Methods: improving the
accuracy and speed of largescale phylogenetic
analyses by T. Warnow (appeared as
``Largescale phylogenetic reconstruction,
in S. Aluru (editor), Handbook of Computational Biology, Chapman
& Hall, CRC Computer and Information Science Series, 2005).

The
Computational Phylogenetics in Historical Linguistics webpage.