jSplits
jSplits ––a Java Framework
a Java Framework
for Phylogenetic Trees and
for Phylogenetic Trees and
Networks
Networks
Tübingen, 4.7.2003
Tübingen, 4.7.2003
Copyright (c) 2008 Daniel Huson.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no FrontCover Texts, and no BackCover
Texts. A copy of the license can be found at http://www.gnu.org/copyleft/fdl.html
Trees vs networks
Trees vs networks
Evolutionary relationships are usually
Evolutionary relationships are usually
represented by phylogenetic trees
represented by phylogenetic trees
But, real data contain different and/or
But, real data contain different and/or
But, real data contain different and/or
But, real data contain different and/or
conflicting signals, and thus do not
conflicting signals, and thus do not
always clearly support a unique tree
always clearly support a unique tree
Hence, in some cases a phylogenetic
Hence, in some cases a phylogenetic
network may be more appropriate…
network may be more appropriate…
Trees vs networks
Trees vs networks
Computed using
Computed using
split decomposition
split decomposition
Computed using
Computed using
Neighbor
NeighborJoining
Joining
Neisseria phylogeny (Eddie Holmes, 1999)
Neisseria phylogeny (Eddie Holmes, 1999)
Trees and splits
Trees and splits
Edge
Edge
ee
corresponds to split {t
corresponds to split {t
11
,t,t
22
,t,t
66
,t,t
77
,t,t
88
} vs {t
} vs {t
33
,t,t
44
,t,t
55
}}
Networks and splits
Networks and splits
Cut
Cutset of parallel edges defines split {
set of parallel edges defines split {
A,B
A,B
} vs rest
} vs rest
Splits and graphs
Splits and graphs
Any given system
Any given system
of splits can be represented
of splits can be represented
by a
by a
splits graph G
splits graph G
. Note that:
. Note that:
G is a tree iff
G is a tree iff
is compatible
is compatible
(e.g. Neighbor
(e.g. NeighborJoining)
Joining)
G is outer
G is outer

planar iff
planar iff
is circular
is circular
G is outer
G is outer

planar iff
planar iff
is circular
is circular
(e.g. Neighbor
(e.g. NeighborNet, Bryant & Moulton 2002)
Net, Bryant & Moulton 2002)
G is usually planar or only mildy non
G is usually planar or only mildy nonplanar iff
planar iff
is weakly compatible
is weakly compatible
(e.g. Split Decomposition)
(e.g. Split Decomposition)
G is always subgraph of n
G is always subgraph of ndim. hypercube
dim. hypercube
(e.g. recoding of sequences, spectral analysis, med
ian networks,
(e.g. recoding of sequences, spectral analysis, med
ian networks,
consensus networks)
consensus networks)
(Theory of splits worked out by Bandelt and Dress 1
992)
(Theory of splits worked out by Bandelt and Dress 1
992)
SplitsTree 3.2
SplitsTree 3.2
Implements split
Implements split
decomposition and
decomposition and
related methods
related methods
First version developed
First version developed
First version developed
First version developed
with Rainer Wetzel in
with Rainer Wetzel in
1995
1995
Current version 3.2 in
Current version 3.2 in
C++ using Tcl
C++ using TclTkTk
Runs under Linux, Unix,
Runs under Linux, Unix,
Windows and MacOS
Windows and MacOS
Design criteria for jSplits
Design criteria for jSplits
(SplitsTree4)
(SplitsTree4)
Must run on any machine with minimal
Must run on any machine with minimal
installation requirements
installation requirements
GUI for interactive use, command
GUI for interactive use, command

line for
line for
GUI for interactive use, command
GUI for interactive use, command

line for
line for
pipelines
pipelines
Open system, decentralized plug
Open system, decentralized plugin concept
in concept
Based on splits, also including quartets etc
Based on splits, also including quartets etc
Use Nexus file format
Use Nexus file format
Open source
Open source
Data flow in jSplits
Data flow in jSplits
Taxa
Taxa
Characters
Characters
Unaligned
Unaligned
Bootstrap
Bootstrap
Assumptions
Assumptions
Taxa are
Taxa are
represented e.g. by
represented e.g. by
aligned sequences
aligned sequences
Assumptions
Assumptions
Bootstrap
Bootstrap
Characters
Characters
Splits graph
Splits graph
Splits
Splits
Quartets
Quartets
Distances
Distances
Analysis
Analysis
Bootstrap
Bootstrap
Assumptions
Assumptions
Transform
Transform
characters into
characters into
distances e.g. using
distances e.g. using
Hamming distances
Hamming distances
Transform
Transform
distances into splits
distances into splits
e.g. using Neighbor
e.g. using Neighbor
net
net
Transform splits in
Transform splits in
to graph e.g. using
to graph e.g. using
“circular” or “convex
“circular” or “convex
hull” algorithm
hull” algorithm
Trees
Trees
Every connector
Every connector
represents a data
represents a data
transformation
transformation
(plug
(plugin)in)
Assumptions
Assumptions
Bootstrap
Bootstrap
Analysis
Analysis
Writing a new transformation
Writing a new transformation
E.g., a new tree
E.g., a new treebuilding method “GreatTree” is pro
vided
building method “GreatTree” is provided
to jSplits as follows:
to jSplits as follows:
BioNJ on bacterial genomes
BioNJ on bacterial genomes
NNNet on bacterial genomes
Net on bacterial genomes
Summary
Summary
jSplits is an open frame
jSplits is an open framework for
work for
phylogenetic analysis
phylogenetic analysis
Extensibility based on plugin design
Extensibility based on plugin design
Built on splits, incorperates both tree and
Built on splits, incorperates both tree and
network methods
network methods
Built on splits, incorperates both tree and
Built on splits, incorperates both tree and
network methods
network methods
Provides all popular distance
Provides all popular distancebased tree
based tree
building algorithms
building algorithms
Provides network methods such as split
Provides network methods such as split
decomposition, Neighbor
decomposition, Neighbornet and median
net and median
networks
networks
Credits
Credits
Authors: David Bryant and D.H.
Authors: David Bryant and D.H.
Additional programmers: Markus Franz
Additional programmers: Markus Franz
Additional programmers: Markus Franz
Additional programmers: Markus Franz
and Michael Schröder
and Michael Schröder
Thanks to: Yuhui Wang
Thanks to: Yuhui Wang
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment