[Music]
hello and welcome to our next talk here
at Pon we're going to hear from Jack
reichelt about walking the Tree of Life
Adventures in
phenetics thank you
Jack good run and thanks for coming to
my talk so I am Jack reichelt wearer of
too many hats um I'm the CTO and
co-founder of a startup called Kumo
study uh we make a study management tool
for students with a focus on students
with
ADHD uh we're doing U we have sort of a
prototype version we're launching the
real version 2 come marchish next year
um I am big into Computer Science
Education this is actually my first Pon
talk that is not part of the education
track and most relevant to this talk I
am the holder of a wide variety of ADHD
given interests so now that you know a
little bit about me we're going to go
back to that title slide uh because this
talk has a subtitle which was mentioned
the adventures in phog gentics it also
has a sub subtitle which was more
recently added and not on the program uh
how it all went
wrong so this project didn't end up
where I expected it to but along the way
I found some interesting stuff I learned
a thing or two and I hope there's
something you'll find of value here so I
promise that we will get to the computer
science but first we're going to take a
detour through some other Sciences in
order to understand what I was trying to
do and why so let's start by clarifying
what is phenetics so phog gentics is the
study of life and evolution using
genetics specifically it's not just
saying these two organ organisms seem
alike so we'll group them it's using
molecular analysis of DNA and
empirically cataloging and categorizing
organisms remember back in school in
your science class when you learned
about taxonomy the whole domain Kingdom
philm yada yada yada that's what I'm
going to call
Vibes based
classification as an example giant
pandas were named as such because of
their obvious similarities to Red Pandas
which were just called pandas at the
time um in actuality giant pandas are a
type of bear uh and red pandas are more
closely related to skunks and
raccoons now we later corrected this and
realized that giant pandas are just
really weird bears but the whole process
was still pretty
nonscientific also it's a bit weird to
assume that every organism just has
eight layers right like if each layer is
a Divergence from other
organisms that doesn't make a lot of
sense has every organism only
experienced seven divergences and what
about the earliest organisms how had
they experienced seven divergences or
did they not have a bunch of these was
it just species blank for all the
rest and if it's that one then how long
until we have to add a new tier and
where does it fit in is are you going to
add something below species I mean I
guess that's kind of subspecies but
that's not even on this list so taxonomy
is a bit weird maybe it's not very
good so we're going to use
claes what is a clade a clade is
basically just a group
nothing all to it each CLA can have uh
other species within it or if you're
generalizing outside of uh organisms
then just Leaf nodes or it can have
other clades within it and it's clades
all the way up just every successive
tear up is always called a CLA humans of
the species sapiens which is inside the
CLA homo which is inside the CLA hmin I
inside h a and so on all the way up to
the Cade biota which contains all
organisms for the last 4.2 billion years
or so um there were actually some really
early ones that weren't in biota um they
all died out there's none of them alive
everything came from one branch now so
these clades in contrast to the taxonomy
groupings are
science-based they're formed using
genetic analysis and the knowledge of
the mutation rate of DNA so you can
analyze the genomes of different
organisms and tally up the differences
and then count how many there are and
that tells you how long ago they must
have diverged you can use these
divergences in order to plot them all
out and categorize them
all so what is the point of all of this
why ultimately would we bother doing
this well for starters it's more correct
uh greatness is good and important in
science it is worth it just for the
better understanding that comes with it
but it can also help us in more concrete
ways too it can give us a much more
thorough understanding of how organisms
are related this can be useful for all
sorts of things from veterinary sciences
to rearing and taming to medical
research to not naming animals pandas
that aren't
pandas it can also help us understand
the whole evolutionary history of an
organism if we know when it diverged
from other organisms we can infer when
certain traits must have evolved and
that can help us Place extinct animals
or any other animals that we don't have
the DNA
for so what was I trying to do I wanted
to make a program that would allow me to
explore a philogenetic tree of life also
called a
cladogram I thought that assuming a
reasonable data source somewhere I
should be able to make an interface that
let you click around and see what the
different relationships are see what
organisms are in a clay find their
closest relatives that kind of thing
ultimately though my main goal my true
desire was to be able to ask how closely
related are these two things and what
animals or what species I'm mostly
interested in animals but it works for
anything what species are in that clade
specifically um remembering that a clade
can both have clades and leaf nodes
within it
um so seeing the smallest clay that
contained them both and what cles were
in what species were in there from a
computer science perspective this
doesn't sound too hard ultimately this
is just a tree like you've probably
worked with before finding a sub tree is
not too hard nor is finding a shared
parent
node assuming a reasonable data
source so if this is so simple surely it
exists already right
well you'd think that wouldn't
you but I hunted around and found a
variety of tools that were not quite
what I wanted I found ones that had many
of these features but you needed to
upload the data in a specific format
that you already had I found ones that
didn't have lots of the features I
wanted and I found one that did almost
everything I
wanted uh it had a great interface it
had all of life it had a good search
function the only thing it didn't have
was a way to give me uh was give me a
way to ask how closely related are these
two things and get all that
information we'll come back to that one
later so having established that nothing
did quite what I wanted I thought to
myself hey this sounds actually useful
to real scientists though um surely
somebody needs to at least occasionally
say how closely related to these two
things maybe I should ask a biologist so
I reached out to the only practicing
biologist I know my
uncle here's a brief introduction to my
uncle Dr Russell reichelt he has had
many notable achievements in his
lifetime and here's just a few of them
he's a director of the Great Barrier
Reef Foundation he is a board member of
the Australian climate change Authority
he is an officer of the order of
Australia an allaround top-notch bloke
and most importantly on his list of
achievements he's my uncle so I wrote
him an email and laid out the idea that
I had the investigation that I had done
a few questions and asked if he thought
it was worthwhile and he basically said
I don't do any of that kind of stuff
anymore I mostly deal with policies and
politics you need to talk to Dr Pat
Hutchings Dr Pat Hutchings is a senior
fellow at the Australian Museum and has
done extensive research on the ology and
philogyny of Australian polys which are
cool little undersea
worms so I had a great phone call with
her and she gave me some good advice and
shared with me the most unforgettable
sentence anybody has ever said to me she
said Tim flanner would be a good person
to talk to about this but he's a bit
busy so he might not have the time now
for those of you who don't follow this
sort of thing or are too young Tim flry
was Australian of the year in 2007
while he would no doubt be an excellent
person to talk to about this he is also
unfortunately a bit
busy it was then I realized I had made a
tactical blunder uh in my head what I
had done was present my idea to the
closest biologist at hand and ask hey is
this a good idea can you answer some
questions for
me in reality what I had done was
present my half-baked beginnings of an
idea to an extremely distinguished
scientist
who had generously introduced me to
another extremely distinguished
scientist who had in all sincerity and
with the utmost of kindness tried to
find the best person to answer my
questions and so she recommended the
Australian of the Year from
2007 I did not reach out to Tim
Flannery instead I spoke to Dr jacn Nan
who Dr Pat Hutchings also recommended uh
she is a postdoctoral researcher at the
Australian Museum and she is focused on
the evolution of birds and she was
recently involved in a project reworking
the whole philogyny of all birds a very
relevant project to exactly this kind of
Investigation Jacqueline was a huge help
she answered my questions she pointed me
at some potential data sources and
generally confirmed that being able to
see how two species were related would
be a good tool and so armed with her
advice and some confidence that this was
a good project I started diving into the
meat of the project and pretty quickly
hit some
snags the first data source I looked at
was I the integrated taxonomic
information system and it had many
positive features that looked helpful
you could search by common name which
seemed ideal for enabling casual use it
had really clear documentation so it was
easy to access their API and even had a
whole database dump of available for
preloading all the data however it did
have a couple of problems the first
problem was that searching by common
name was tricky there are so many common
names suppose you search for Hedgehog
you probably meant this right or did you
maybe mean this or
this or one of the 154 other options
that it presents when you ask for a
hedgehog there was also no way to filter
these results nor are they sorted by
anything other than ID uh there was
nothing to do except give the user every
single option and let them pick uh and
that's bad enough a hedgehog imagine
trying to pick from the 355 different
carp results or the 472 sharks or the
over 1,000
worms this relates to the second problem
I had the documentation was very clear
but the API was sadly not suppose you
had found the species you wanted and you
had its ID so then you query the API to
get the parent clade for it what returns
is the ID for that clade so then you
have to do a new API call to get the
actual data of that clade okay that's
not too bad let's try the reverse you
have a CLA and you want to find all of
its child clades and
species so you query to get the children
only it Returns the whole sub tree
underneath that c and also only the IDS
so now you have to make an API call for
every ID there and check if it is a
direct child and then for those ones
make another API call and get all of
their
details compare just to compare just two
quite related species like say a seal
and a ferret you have to make over 100
API calls and it wasn't particularly
fast each of them took about a second
and that's after you've picked from the
12 fets and 144
SEALS or things that return When you
search those things but that's no
problem right there's a whole database
dump so you don't actually have to make
these API calls right you can just load
and read the database
right well that brings me to the third
problem which is one less about the data
source and more about me uh I found that
4 days
[Music]
ago so let's try this second data source
this is called the open Tree of Life OT
this data source seemed great it was
super fast and it could do batch
operations so you say get me all of this
stuff for all of these organisms and it
could even be given two or more species
and just give you their most recent
common CA or representation of the sub
tree that contained all of them that
sounds fantastic right well uh it
actually was
mostly um it couldn't do any common
names at all but I figured maybe this
was fine the common names were tricky
with I so maybe that was something I
didn't need at least for the first
version so with the data source decided
upon uh it was time to get to rendering
and representing that data so let's have
a look at what I'm trying to draw and
and see what I'm trying to do this is a
clog of all of the different living
bears you can see here we've got a
pretty classic tree structure that
you've probably all seen before we've
got a clay at the root node there that's
iday and then each branch shows us
different clades until we get down to
the different species not every CLA
necessarily has a name
um often if you dig deep enough people
have given these names but they'll all
be sort of extremely similar to ur day
and Ur a and on on on and
on you tend to stick to a few big ones
um this cogram is from a YouTube channel
called Clint's reptiles uh Clint is a
biologist who does a lot of videos about
philogyny not just for reptiles and is
how I got interested in all of this to
begin with so that was kind of what I
was imagining making at least visually
I'd like to have some interactivity but
this is what it might look like let's
take a quick look at a different style
of representation though this is and
isn't a clog
but it's a different style of
representing the same things and it's a
big fractal display where you can zoom
in on each branch and keep zooming in
and in and in and see what's there at
every level um so we'll zoom in to the
Bears and compare that so this is the
same data as the last one all the same
species represented with uh on on this
platform so this representation is from
one Zoom this is the tool that I
mentioned earlier that does almost
everything I want
um and I think it's a great tool it's
really great for just looking around
seeing what life there
is these are two very different styles
and while both are good sticking with
the classic cogram seemed like a simpler
place to start so I started by using a
library called biopython and they have a
module called Pho which is explicitly
for Pho genetics okay let's generate
that same Bear
tree oh I guess it draws it an asky
that's super cool actually really like
that but it's not quite what I want so
let's try it again all right it's not
asky anymore but there are two problems
with this firstly this is way more bears
right there were eight before and now
there's what like 40 um so what
gives well partly this is because open
Tree of Life includes
subspecies uh you can see wherever it's
got three names that's a subspecies like
Urus arctos horis up here that's the
Griz bear which is a subspecies of brown
bear it's also got extinct species like
Urus ricus the pine Cave Bear up there
now including subspecies and extinct
species is kind of cool I'm not actually
opposed to it um though maybe it should
be a toggle because it does fill things
up quite a bit there's a bigger problem
though um this is just a
PNG so biopython uses mat plop lib to
render its phenetic trees and that just
makes images which is great for putting
in a research paper or putting on a
website or something but at this point
in the project we're getting to crunch
time uh it's about 3 weeks out from Pon
and I realized that if I'm going to make
something that lets you actually explore
these trees it's going to need something
a little bit more substantial like an
actual
gooey so cure a bit of panic okay a lot
of
panic I'm now certain that I can't make
anything even remotely like what I
wanted to do before Pon uh and then I
made another blunder I went and I looked
at one Zoom again see when I had done
all of the research and talking to the
scientists and everything that was
actually way back at the start of the
year uh then this project sat on a shelf
for a while while I moved house got
married started a CTO and generally had
an extremely busy year um remember when
I showed you this slide before did you
notice this button up here now now I
don't know when that button was added uh
but it either wasn't there when it f
when I first looked or I didn't look
very goodly Pro probably that one anyway
look what happens when you click that
button ooh two entry Fields so what
happens if I enter Hedgehog and
seal wow colored lines showing each
lineage and it shows where they meet so
let's zoom in on that and oh L theia the
CL that specifically contains
carnivorans and also
hedgehogs yeah that sounds about right
to
me
so where does that leave me what happens
to my project now and what will I do
with it thanks for coming back on talk
no um I'll be serious truthfully I don't
know um in some senses it might be worth
continuing just because one Zoom is
really good doesn't mean I couldn't also
make something good um or I could try
and contribute to one Zoom which is open
source or maybe I'll just focus on that
startup that I'm CTO of but I can't just
leave without showing the answers to the
questions I started with in the
abstract so which animals are more
closely related to cows than pigs
everything along this red line which
includes deer giraffes and
whales are birds reptiles they sure are
if they're not then neither is anything
along the blue line but uh not the red
line so that includes Turtles crocodiles
and dinosaurs if you're willing to say
none of those are reptiles you can say
the birds aren't reptiles but if any of
those are reptiles birds have to be as
well am I a fish um yeah
probably uh so there isn't a specific
fish CL uh so what we can do is what's
called philogenetic bracketing where you
pick two different uh organisms that
share the trait that you look that
looking for and look at where they meet
so in this case if we think of a reef
fish like a clown fish you know Nemo um
and then any cartilagenous fish like a
shark or a ray or a
sfish if both of those two things are
fish uh then everything where those two
lines meet at the Jord vertebrates uh
must be fish as well um I have a jaw and
a backbone uh I'm a Jord vertebrate and
if you look way closely over there just
in the top left it says
mammals uh yep we're
fish and lastly what is the last common
ancestor of a bear and a weasel well
actually it shows us a CLA but it
doesn't show us any species within that
CLA so I guess one Zoom doesn't do
everything that I want it to do so maybe
there's still some room for my project
after
all okay thanks for coming to my talk
for real this time um I hope you learned
how the best play best laid plans of
fish and men can go wrong but maybe
still be worth it I hope you learned
something neat and interesting about
Modern Biology and I hope that you're
inspired to just try stuff out and then
try talking to random experts and seeing
how you go you never know and maybe I'll
send a link of the recording of this to
Tim Flannery
thank you very
[Applause]
much thank you very much Jack for that
uh delightful talk um do we have any
questions we have a
question can you say it in a big word
big big voice this is Renee and me and
Jack and a bear and you question for
Jack rather than a comment can you
phrase your question as a
question
yes why did pterodactyls fly what so the
question was why did pterodactyls fly um
a big reason why pterodactyls fly is
because the sea levels were a lot higher
um at the time when pterodactyl started
to evolve and so instead of lots of big
land like we have now there was lots of
little islands and they needed to get
between the islands and a really good
way to get between islands is flying um
and so a lot of the pterodactyls
especially the really big ones uh they
started flying because of
that so to get between
islands to get to the other
side uh so you're a CTO that's pretty
fancy a lot of things went wrong in this
talk um well not in the talk the talk
was great but the project had some
hiccups how did you as a established
developer come
through those hurdles especially like
from the perspective of someone who
might like be a new developer how can
they approach difficulties like that and
keep going
going yeah good question
so I think it really depends on what
you're trying to do
if ultimately I was making this project
because I was just messing around I I
think that all this philogyny and and
organisms and biology in general is
super interesting and so I just like
messing around with it um so I didn't
necessarily need to keep going and when
I hit snags I was more than capable of
just dropping the project except for the
fact that I had long since submitted to
Pyon and got told that I was going to
talk so I needed to come up with
something
um but if I was doing this for a uni
assignment or for uh or my
work I probably think about like taking
a step back and asking myself you know
what what are the problems I'm actually
trying to solve how do
I what am I getting stuck on is this
something that I can put to the side and
come back when I've learned more about
the problem space is there something
that I can actually just circumvent and
solve other easier problems is there
somebody on my team or in my general
Network that might have an answer that I
can talk to and get some advice from um
talking to people is underrated and
really good would
recommend uh yeah would chat to Tim fler
uh absolutely I would chat to Tim fler
if he was not so busy thanks Jack sorry
thanks Jack for the great talk um it
inspires me to give a talk at Pon too um
would you consider repurposing your
software to find clades between
languages um
so I do think that that's quite
interesting and I was uh when I watched
the the languages in fact both of the
previous talks in this room um I was
thinking about the similarities and and
the the the clustering the relationships
between the languages and
things I think that that could be very
interesting I wonder how much of it
would be sort of new and novel because
relatively speaking there much fewer
languages than
organisms um and so
maybe that clustering is like that
categorizing already exists um but I'm
also seeing a head shaking from somebody
who knows things so maybe maybe it
doesn't exist and it could be useful and
interesting um so yeah maybe that's an
Avenue hi uh was there anything else in
your chat to the scientists that they
came up with that they wanted to do that
was not part of your plans at the time
um
so the the a couple of the big things
were
that
um well here as a slight maybe not quite
answered your question one thing that
I've not seen in any other in many phog
gentic representations but is a big
problem is uh horizontal Gene sharing
um this is not a monodirectional
tree um you species can and do
crossbreed in the wild even surprisingly
distant ones um and uh when I first
talked to my uncle about it he said that
one of the big problems is like in the
past sort of four or five years or
something we found an instance of
two you unrelated species of coral
become sort of hybridizing and making a
new species of coral and how do you fit
that into there and then you say well
okay what's the last common ancestor and
you're like H that gets a bit tricky um
so I think that kind of thing is
something that uh isn't shown for
example in one zoom and uh might be
something worth exploring or adding if I
continue on with this and make my own
representation um that kind of
hybridization events and things
well if you would join with me please in
thanking Jack one more time for that
talk thank you very
much thank you