University of California, Davis

Month: July 2011

Stickleback attack (part 1)

Since our last video posting, many of the videos on our lab’s Youtube channel have gone viral. As of this blog post, the video of Inermia vitatta has accrued over 120,000 hits and has been featured on TV programs and newspaper articles around the globe. Not bad for a small fish!

[youtube=http://www.youtube.com/watch?v=psdLbN7skg4]

Today’s video features the threespine stickleback, Gasterosteus aculeatus, feeding on a cladoceran (Daphnia pulex). If you have a short attention span like me, one of the first things you’ll notice from the video is how shiny the fish is. The reflective armor plates and large spines are a clue that this is a threespine stickleback from an anadromous population. Anadromous stickleback have a life history similar to a miniature salmon – they are born in freshwater, travel to the ocean, then return to freshwater to breed. Unlike salmon, anadromous stickleback do not necessarily return to their home stream to breed. Anadromous stickleback also look very similar to each other – an Alaska anadromous fish looks very similar to a California anadromous fish.

Sometimes, these anadromous stickleback will travel to a newly-formed lake or river, and instead of returning to the ocean, some fish will stay in freshwater, founding a new population of freshwater stickleback. Over time, this freshwater population will evolve to better match its new freshwater habitat.

These anadromous and freshwater populations are one of the reasons stickleback are such a good system for studying evolutionary biology. We can study the result of rapid evolution in the freshwater populations, and then turn around and study the anadromous fish that resemble the fish that founded the freshwater population. Studying ancestral and derived populations is one of the few ways – short of a time machine – that we can learn the dynamics of adaptation in natural populations.

If we study how this anadromous stickleback captures prey, and then study how freshwater stickleback catch prey, we can learn a lot about the process of adaptation. I’ve devoted much of my PhD work to studying this system, and I’ll be talking more about it in future posts.

Showcasing the latest phylogenetic methods: AUTEUR

While high-speed fish feeding videos may be the signature of the lab, dig a bit deeper and you’ll find a wealth of comparative phylogenetic methods sneaking in.  It’s a natural union — expert functional morphology is the key to good comparative methods, just as phylogenies hold the key to untangling the evolutionary origins of that morphology.  The lab’s own former graduate, Brian O’Meara, made a revolutionary step forward in the land of phylogenetic methods when he unveiled Brownie in 2006, allowing researchers to identify major shifts in trait diversification rates across the tree.  This work spurred not only a flood of empirical applications but also methodological innovations, such as Liam’s brownie-lite, and today’s focus: Jon Eastman et al.‘s auteur package.

Auteur, short for “Accommodating uncertainty in trait evolution using R,” is the grown-up Bayesian RJMCMC version of that original idea in Brownie.  Diversification rates can change along the phylogenetic tree — only this time, you don’t have to specify where those changes could have occurred, or how many there may have been — auteur simply tries them all.

If you want the details, definitely go read the paper — it’s all there, clear and thorough.  Meanwhile, what we really want to do, is take it out for a test drive.

The package isn’t up on CRAN yet, so you can grab the development version from Jon’s github page, or click here.  Put that package in a working directory and fire up R in that directory.  Let’s go for a spin.

[sourcecode language=”R”] install.packages("auteur_0.11.0612.tar.gz", repos=NULL)
library(auteur)

[/sourcecode]

Great, the package installed and loaded successfully. Looks like Jon’s put all 73 functions into the NAMESPACE, but it’s not hard to guess which one looks like the right one to start with.  rjmcmc.bm.  Yeah, that looks good.  It has a nice help file, with — praise the fish — example code.  Looks like we’re gonna run a simulation, where we know the answer, and see how it does:

[sourcecode language=”R”]

#############
## generate tree
n=24
while(1) {
phy=prunelastsplit(birthdeath.tree(b=1,d=0,taxa.stop=n+1))
phy$tip.label=paste("sp",1:n,sep="")
rphy=reorder(phy,"pruningwise")

# find an internal edge
anc=get.desc.of.node(Ntip(phy)+1,phy)
branches=phy$edge[,2] branches=branches[branches>Ntip(phy) & branches!=anc] branch=branches[sample(1:length(branches),1)] desc=get.descendants.of.node(branch,phy)
if(length(desc)>=4) break()
}
rphy=phy
rphy$edge.length[match(desc,phy$edge[,2])]=phy$edge.length[match(desc,phy$edge[,2])]*64

e=numeric(nrow(phy$edge))
e[match(c(branch,desc),phy$edge[,2])]=1
cols=c("red","gray")
dev.new()
plot(phy,edge.col=ifelse(e==1,cols[1],cols[2]), edge.width=2)
mtext("expected pattern of rates")

#############
## simulate data on the ‘rate-shifted’ tree
dat=rTraitCont(phy=rphy, model="BM", sigma=sqrt(0.1))

[/sourcecode]

That creates this beautiful example (sorry, no random generator seed, you’re results may vary but that’s ok) tree:


Okay, so that’s the target, showing where the shift occurred.  Note the last line got us some data on this tree.  We’re ready to run the software.  It looks super easy:

[sourcecode language=”R”] ## run two short reversible-jump Markov chains
r=paste(sample(letters,9,replace=TRUE),collapse="")
lapply(1:2, function(x) rjmcmc.bm(phy=phy, dat=dat, ngen=10000, sample.freq=10, prob.mergesplit=0.1, simplestart=TRUE, prop.width=1, fileBase=paste(r,x,sep=".")))
[/sourcecode]

The data is going in as “phy” and “dat”, just as expected.  We won’t worry about the optional parameters that follow for the moment.  Note that because we use lapply to run multiple chains, it would be super easy to run this on multiple processors.

Note that Jon’s creating a bunch of directories to store parameters, etc.  This can be important for MCMC methods where chains get too cumbersome to handle in memory.  Enough technical rambling, let’s merge and load those files in now, and plot what we got:

[sourcecode language=”R”] # collect directories
dirs=dir("./",pattern=paste("BM",r,sep="."))
pool.rjmcmcsamples(base.dirs=dirs, lab=r)

## view contents of .rda
load(paste(paste(r,"combined.rjmcmc",sep="."),paste(r,"posteriorsamples.rda",sep="."),sep="/"))
print(head(posteriorsamples$rates))
print(head(posteriorsamples$rate.shifts))

## plot Markov sampled rates
dev.new()
shifts.plot(phy=phy, base.dir=paste(r,"combined.rjmcmc",sep="."), burnin=0.5, legend=TRUE, edge.width=2)

# clean-up: unlink those directories
unlink(dir(pattern=paste(r)),recursive=TRUE)
[/sourcecode]

Not only is that a beautiful plot, but it’s nailed the shift in species 12-16.  How’d your example do?

Auteur comes with three beautiful large data sets described in the paper.  Check them out, but expect longer run times than our simple example!

[sourcecode language=”R”]

data(chelonia)
# take a look at this data
> chelonia
$phy
Phylogenetic tree with 226 tips and 225 internal nodes.

Tip labels:
Elseya_latisternum, Chelodina_longicollis, Phrynops_gibbus, Acanthochelys_radiolata, Acanthochelys_macrocephala, Acanthochelys_pallidipectoris, …

Rooted; includes branch lengths.

$dat
Pelomedusa_subrufa                   Pelusios_williamsi
2.995732                             3.218876

dat <- chelonia$dat
phy <- chelonia$phy
## ready to run as above

[/sourcecode]

Thanks Jon and the rest of the Harmon Lab for a fantastic package. This is really just a tip of the iceberg, but should help get you started. See the paper for a good example of posterior analyses requisite after running any kind of MCMC, or stay tuned for a later post.

Inermia vittata: Camera Debut

Below is one of the first ever recorded high-speed video sequences of Inermia vittata, a zooplanktivore from the tropical western Atlantic.  We are using its first live appearance in the lab to see how the feeding kinematics of Inermia compare with that of other reef fishes.  Watch how far that upper jaw projects forward!

[youtube=http://www.youtube.com/watch?v=WOQ3US92Tt0]

One common name for this fish is the bonnetmouth, named after the appearance of the protruded mouth.  Like other reef zooplanktivores, Inermia appears qualitatively to be specialized at picking prey from the water column.  As you can see in the video, the mouth reaches forward, closing the distance to the prey while preparing to pull the prey closer with suction.

The evolutionary relationship of Inermia to other species has been tricky to resolve because it is very similar in appearance and behavior to other zooplanktivores such as fusiliers (Lutjanidae).  However, molecular analysis shows Inermia to be nested within the grunts (Haemulidae), which typically feed on benthic invertebrates.  A look at the pictures below will show how much different Inermia appears from a typical grunt and how similar it looks to the distantly-related fusilier.

boga boga bonnetmouth boga

Our new star, Inermia vittata

Doubleline fusilier

A fusilier, nested within the snappers (Lutjanidae)

French grunt

A close relative of Inermia

Why does Inermia look so different from a typical grunt, and why does it look so similar to a distantly related species?  Perhaps the feeding mechanisms captured in these videos can help to resolve this evolutionary anomaly.

Stickleback camouflage

This week, the Wainwright blog returns to a topic of perennial interest, the threespine stickleback. I will discuss a recent paper from the Schluter lab at UBC on color plasticity and background matching in stickleback.

To set the stage, it’s important to realize that from a stickleback’s perspective, “bird” is a four-letter word. Predation by diving birds like grebes and coots is commonplace in many freshwater stickleback populations. Unlike predatory dragonfly larva, which detect prey by vision and by water movement, diving birds generally detect their prey by sight alone. In other words, if you’re a freshwater stickleback, it’s very important that the top of your body blends in with your surroundings.

This stickleback didn't get the memo. (http://www.lifeontheslea.co.uk )

In this paper, Jason Clarke and Dolph Schluter tried to assay background matching capability between limnetic and benthic sticklebacks in Paxton Lake, British Columbia. First, they used a spectrometer to record the background color in the limnetic and benthic habitats. The open-water limnetic habitat was a bluish color, but the benthic habitat, which has more aquatic vegetation, tended to be more greenish. Additionally, the benthic habitat showed much more variation in color than the limnetic habitat.

After checking the background color, the authors painted two sets of cups, one designed to look like the limnetic background, and one designed to look like the benthic background. Then they put benthic and limnetic sticklebacks on each background, let them adjust their color for 15 minutes, photographed each fish, then measured how well each fish matched its background. They also did the same experiment again, but this time taking pictures every 20 seconds.

What did they find? Limnetic fish and benthic fish were equally good at matching the blue limnetic background, but limnetic fish were not as good at matching the green benthic background as benthics were. The time trial experiment helped to clear up what was going on: benthics rapidly adapted their colors to match the background, but limnetics were doing something different. Limnetic fish were cycling through different colors instead of fixing a particular color. Limnetics were more variable in color when viewed with a benthic background, but even on their “home turf” in the limnetic background, they still showed variation in color, but to a lesser degree.

The authors suggest that the patterns of color chance exhibited by benthics and limnetics are probably adaptive. Their spectrometer data indicates that the benthic habitat is more variable in color, and their background experiments show that benthics are better at rapidly changing their colors to match the background. The limnetic habitat, on the other hand, is much more uniform, so there would be little incentive for limnetics to evolve rapid color matching. However, limnetics may be adapting to their light environment in an entirely different way:  the  “flickering” exhibited by limnetics could be an adaptation to fluctuating light intensity in open water.

After reading this paper, I’m particularly curious what the color-matching abilities of the ancestral marine sticklebacks are like. If they resemble the limnetic, then this color matching ability will be another interesting benthic stickleback adaptation. It will be cool to see if it is possible to discern the genetic basis for this shift in plasticity.

Clark JM, Schluter D. Colour plasticity and background matching in a threespine stickleback species pair. Biological Journal of the Linnean Society. DOI: 10.1111/j.1095-8312.2011.01623.x

An optical illusion?

Zooplanktivory is one of the most distinct feeding niches in coral reef fish and many morphological traits have been interpreted as adaptations to feeding on plankton in the water column above the reef. One of these traditional hypotheses is that zooplanktivorous fish have larger eyes for sharper visual acuity. A larger eye usually has a longer focal length and thus is expected to produce a better-resolved image.

Peter and I tested this hypothesis with a data set on eye morphology of labrids (wrasses and parrot fishes):

Schmitz, L. & P.C. Wainwright (2011). Ecomorphology of the eyes and skull in zooplanktivorous labrid fishes. Coral Reefs, 30: 415-428. reprint.

Labrids are a species-rich clade of reef fish with enormous morphological and ecological diversity. We sampled a total of 21 species, with three independent origins of zooplanktivory: Clepticus parrae, the Creole Wrasse (photo: fishbase.org), Halichoeres pictus, the Rainbow Wrasse (photo: wetwebmedia.com), and Cirrhilabrus solorensis, the Red-eyed Fairy Wrasse (photo: fishbase.org).

To our surprise we failed to find any indication of larger eyes in zooplanktivores. We tried several methods, including phylogenetic residuals of eye diameter on body mass and evolutionary changes in eye size along branches leading to zooplanktivores, but zooplanktivorous labrids did not show any signs of having larger eyes than other trophic specialists. Instead, we suspect that the notion of large eyes in zooplanktivorous labrids is an optical illusion evoked by a size reduction of the anterior facial region, which makes the eye look bigger.

However, we did find other features interpreted as adaptations to zooplanktivory in labrids. Both Clepticus parrae and Halichoeres pictus have a large lens for given axial length of the eye, related to better visual acuity, a round pupil, possibly an adaptation to search a three-dimensional body of water for food, and longer gill rakers to help retain captured prey.

Our results are quite interesting in that they highlight the importance of many-to-one-mapping in form-function relations. There often is more than one possible pathway to perform a function. In labrids, increase in eye size to improve visual acuity apparently is not part of the evolutionary response. But, let’s see what we can find in other groups!

© 2024 Wainwright Lab

Theme by Anders NorenUp ↑