Osteology Everywhere: Skeletal Spice

The American winter holiday season is steeped in special spices, such as nutmeg, cloves, cinnamon, and whatever the hell pumpkin spice is. I guess as part of the never-ending War on Christmas, each year this sensory and commercial immersion begins earlier and earlier. Since these have become old news, I’d pretty much forgotten about the seasonal spicecapade until just the other day. In prep for minor holiday gluttony, I was grinding fresh nutmeg when I made a startling discovery. Nutmeg is not just the fragrant fruit of the Myristica fragrans tree. No, there’s something far more sinister in this holiday staple.

download

Merely nutmeg?

The ground section looks superficially like an unfused epiphyseal surface, whereas the rounded outer surface is more spherical. It turns out, in the most nefarious of all holiday conspiracies since the War on Christmas, nutmeg halves are nothing more than unfused femur heads! Compare with the epiphyseal surface of this Homo naledi femur head:

screen-shot-2016-11-26-at-5-36-05-pm

Nutmeg (left) and H. naledi specimen UW 101-1098 (right).

This immature H. naledi specimen was recently published (Marchi et al., in press), and the associated 3D surface scan has been available for free download on Morphosource.org for a while now. It fits onto a proximal femur fragment, UW 101-1000, also free to download from Morphosource.

screen-shot-2016-11-26-at-5-48-42-pm

Modified Fig. 11 from Marchi et al. It’s weird that only H. naledi bones were found in the Dinaledi chamber, but even weirder is the underreported presence of nutmeg.

Like most  bones in the skeleton, the femur is comprised of many separate pieces that appear and fuse together at different, fairly predictable ages. The shaft of the femur appears and turns to bone before birth, and the femur head, which forms the ball in the hip joint, usually appears within the first year of life and fuses to the femur neck in adolescence (Scheuer and Black, 2000). So we know this H. naledi individual was somewhere between 1–15ish years by human standards, probably in the latter half of this large range.

So there you have it. Osteology is everywhere – the holidays are practically a pit of bones if you keep your eyes open.

ResearchBlogging.orgREFERENCES

Marchi D, Walker CS, Wei P, Holliday TW, Churchill SE, Berger LR, & DeSilva JM (2016). The thigh and leg of Homo naledi. Journal of Human Evolution PMID: 27855981.

Scheuer L and Black S. 2000. Developmental Juvenile Osteology. New York: Elsevier Academic Press.

Materials from the R workshop at #AAPA2016

For last week’s AAPA conference, my friend and colleague David Pappano organized a workshop teaching about the many uses of the R programming language for biological anthropology (I’m listed as co-organizer, but really David did everything). After introducing the basics, we broke into small groups focusing on specific aspects of using R. I devised some lessons for basic statistics, writing functions, and resampling. Since each of the lessons could have easily taken up an hour and most people didn’t get to go through the activities fully, I’m posting up the R codes here for people to mess around with.

The basic stats lesson utilized Francis Galton’s height data for hundreds of families, courtesy of Dr. Ryan Raaum. To load in these data you just need to type into R: galton = read.csv(url(“http://bit.ly/galtondata“)). The code simply shows how to do basic statistics that are built into R, such as  t-test and linear regression.

Example of some summary stats for the Galton height data.

Some summary stats for the Galton  data. The code is in blue and the output in black.

Here is the Basic Stats code, download and paste it into an R file, then buckle up!

The lesson on functions and resampling was based on limb length data for apes, fossil hominins and modern humans (from Dr. Herman Pontzer). The csv file with the data can be downloaded from David’s website. R has lots of great built-in functions (see basic stats, above), and even if you’re looking to do something more than the basics, chances are you can find what you’re looking for in one of the myriad packages that researchers have developed and published over the years. But sometimes it’s necessary to write a function on your own, and with fossil samples you may find yourself needing to do resampling with a specific function or test statistic.

For example, you can ask whether a small sample of “anatomically modern” fossil humans (n=12) truly differs in femur length from a small sample of Neandertals (n=9). Traditional statistics require certain assumptions about the size and distribution of the data, which fossils fail to meet. Another way to ask the question is, “If the two groups come from the same distribution (e.g. population), would random samples of sizes n=12 and n=9 have so great an average difference as we see between the fossil samples?” A permutation test, shuffling the group membership of the fossils and then calculating the difference between the new “group” means, allows you to quickly and easily ask this question:

R code for a simple permutation test.

R code for a simple permutation test. The built-in function “sample()” is your best friend.

Although simply viewing the data suggests the two groups are different (boxplot on the left, below), the permutation test confirms that there is a very low probability of sampling so great a difference as is seen between the two fossil samples.

Left: Femur lengths of anatomically modern humans (AMH) and Neandertals. Right: distribution of resampled group differences. Dashed lines bracket 95% of the resampled distribution, and the red line is the observed difference between AMH and Neandertal femur lengths. Only about 1% of the resampled differences are as great as the observed fossil difference.

Left: Femur lengths of anatomically modern humans (AMH) and Neandertals. Right: distribution of resampled group differences. Dashed lines bracket 95% of the resampled distribution, and the red line is the observed difference between AMH and Neandertal femur lengths. Only about 1% of the resampled differences are as great as the observed fossil difference.

Here’s the code for the functions & resampling lesson. There are a bunch of examples of different resampling tests, way more than we possibly could’ve done in the brief time for the workshop. It’s posted here so you can wade through it yourself, it should keep you busy for a while if you’re new to R. Good luck!

Bioanthro lab activity: Estimating Miocene ape body mass

We’ve arrived at the Planet of the Apes, also known as the Miocene, in my “Bones, Stones and Genomes” course. The living apes are but a small remnant of what was a pretty successful radiation starting around 20 million years ago. There were so many apes that it can be a bit confusing for students, but it’s important for setting up the biological and ecological contexts of hominin origins.

Possible evolutionary relationships of myriad Miocene apes and subsequent hominins. From Harrison (2010)

Possible evolutionary relationships of myriad Miocene apes and subsequent hominins. From Harrison (2010)

This week also marks my students’ first lab assignment, analyzing CT scans of bones. Here, we looked at how we estimate body size in extinct animals, using the KUPRI database and the free CT analysis software InVesalius. Because some of the KUPRI primates have body masses recorded, students can examine the relationship between animals’ weight and skeletal dimensions. The purpose of the assignment is to help familiarize students with skeletal anatomy, CT data and principles of linear regression.

One of the KUPRI specimens, an old female gorilla, with known weight.

One of the KUPRI specimens, an old female gorilla, with known weight.

I selected a few specimens for students to examine. After students download the massive files, they can load them into InVesalius for analysis. This program allows students to easily identify bone versus other tissues, and to create a 3D surface rendering of a highlighted region (tissue) of interest.

A grivet, Chlorocebus aethiops, with bone highlighted in 2D sections and as a 3D model.

A grivet, Chlorocebus aethiops, with bone highlighted in 2D sections and as a 3D model. This little guy weighs only 4 kg!

It’s pretty easy to take simple linear measurements (and angles), assuming students can get oriented within the skeleton and identify the features they need to measure. It can be a little tricky to measure a femur head if it’s still in the acetabulum (below). Luckily, InVesalius lets you take measurements on both 2D slices or the 3D volume.

Let's measure that femur head diameter.

Let’s measure that femur head diameter.

So students do this for a few specimens and enter the data into Excel, which can then easily plot the data and provide a regression equation. They then use this equation to estimate masses of the specimens – if there’s a good relationship between mass and skeletal measures, then the estimates should be close to the observed values. Students use their equation to predict body mass of some Miocene apes based on femur head diameter and femur midshaft diameter, noting how confident they feel in their estimates given how well their regression performed on the training dataset. They also compare their mass estimates to those using another equation generated by Christopher Ruff (2003).

It might be a little intense for students totally unfamiliar with apes, bones and CT scans, but it should be a good way for them to learn lots of concepts we’ll revisit over the semester.

Here’s the lab assignment, in case you want to use it in your own class: Lab 1-Miocene masses

A new year of bioanthro lab activities

One of my goals in teaching is to introduce students to how we come to know things in biological anthropology, and lab activities give students hands-on experience in using scientific approaches to address research questions. Biological anthropology (really, all biology) is about understanding variation, and I’ve created some labs for students to scrutinize biological variation within the classroom.

In my Introduction class, the first aspect of human uniqueness we will focus on is the brain. To complement readings and lectures, we’ll also investigate variation in brain size among students in class. Of course, measuring their actual brain sizes is impossible without either murdering them (unethical and messy) or subjecting them to CT or MRI scanning (costly and time-consuming). Instead, it’s fast and easy to measure head circumference, so we’ll estimate just how brainy they are in a way that will also introduce them to data collection, measurement error, and the regression analysis.

The lab activity is based on a paper by Bartholomeusz and colleagues (2002), who used CT scanning to measure the external head circumferences and brain volumes of males ranging from 1-40 years. Focusing on the adults of this sample, there are several possible regression equations that students could use to estimate their brain size from their head circumference:

The relationship between head circumference and brain volume in adult humans. Note each regression line is based on different age groups.

The relationship between head circumference and brain volume in adult humans. Note each regression line is based on different age groups. Data from Bartholomeusz et al. (2002).

Bartholomeusz et al. divided their sample into age groups, and students will learn that the relationship between the two variables differs subtly depending on the age group. Students will therefore have to decide (and justify) which equation they will use – should they pick the one based on their own age group, or the one with the lowest prediction error?

Once students have estimated their brain sizes, I’ll enter the data into R and we’ll look at how (estimated) brain size varies within the classroom, looking also at possible covariates including sex and region of birth. After discussing our data in class, students have to write up a brief report describing our research question and proposing additional hypotheses about brain size variation.

So that’s this week’s lab in Introduction to Biological Anthropology. There will be four more this semester, in three of which students will collect data on themselves, as well as four other labs for my Human Evolution course. In case you’re interested in using this activity for your class, I’m including the lab handout here. I’ll also try to post lab assignments to the blog (as I’ve done here) as the semester progresses.

Activity handout: Lab 1 Instructions and report

ResearchBlogging.orgReference

Bartholomeusz, H., Courchesne, E., & Karns, C. (2002). Relationship Between Head Circumference and Brain Volume in Healthy Normal Toddlers, Children, and Adults Neuropediatrics, 33 (5), 239-241 DOI: 10.1055/s-2002-36735

A picture is worth a thousand datapoints in #rstats

I’m finally about to push my study of brain growth in H. erectus out of the gate, and one of the finishing touches was to make pretty pretty pictures. Recall from the last post on the subject that I was resampling pairs of specimens to compute how much proportional brain size change (PSC) occurred from birth a given age in humans and chimpanzees (and now gorillas). This resulted in lots of data points, which can be a bit difficult to read and interpret when plotted. Ah, cross-sectional data. “HOW?!” I asked, “HOW CAN I MAKE THIS MORE DIGESTIBLE?” Having nice and clean plots is useful regardless of what you study, so here I’ll outline some solutions to this problem. (If you want to figure this out for yourself, here are the raw resampled data. Save it as a .csv file and load it into R)

All

Ratios of proportional size change from birth to a later age. Black/gray=humans, green=chimpanzees, red=gorillas. Left are all 2000 resampled ratios, center shows the medians (solid lines) and 95% quantiles of the ratios for each species at a given age (the small gorilla sample is still data points), and right are the loess regression lines and (shaded) 95% confidence intervals. Blue lines across all three plots are the H. erectus median (solid) and 95% quantiles (dashed).

The left-most plot above shows the raw resampled ratios: you can see a lot of overlap between humans (black), chimpanzees (green) and gorillas (red). But all those points are a bit confusing: just how extensive is the overlap? What is the central tendency of each species?

The second plot shows a less noisy way of displaying the results. We can highlight the central tendencies by plotting PSC medians for each age (I used medians and not means since the data are not normally distributed), and rather than showing the full range of variation in PSC at each age, we can simply highlight the majority (95%) of the values.

To make such a plot in R, for each species you need four pieces of information, in vector form: 1) the unique (non-repeated) ages sorted from smallest to largest, and the 2) median, 3) upper 97.5% quantile, and 4) lower 0.025% quantile for each unique age. You can quickly and easily create these vectors using R‘s built-in commands:

R codes to create the vectors of points to be plotted in the second graph. Note that vectors are not created for gorillas because the sample size is too small, or for H. erectus because the distribution is basically the same across all ages.

R codes to create the vectors of points to be plotted in the second graph. Note that vectors are not created for gorillas because the sample size is too small, or for H. erectus because the distribution is basically the same across all ages.

With these simple vectors summarizing humans and chimpanzees variation across ages, you’re ready to plot. The medians (hpm and ppm in the code above) can simply be plotted against age using the plot() and lines() functions, simple enough. But the shaded-in 95% quantiles have to be made using the polygon() function, which creates a shape (a polygon) by connecting sets of points that have to be entered confusingly: two sets of x-coordinates with the first in normal order and the second reversed, and two sets of y-coordinates with the first in normal order and the second reversed.

Plot yourself down and have a beer.

Plot yourself down and have a beer.

In our case, the first set of x coordinates is the vector of sorted, unique ages (h and p in the code), and the second set is the same vector but in reverse. The first set of y coordinates is the vector of 97.5% quantiles (hpu and ppu), and the second set is the vector of 0.025% quantiles in reverse. You can play around with ranges of colors and transparency with “col=….”

What I like about the second plot is that it clearly summarizes the ranges of variation for humans and chimps, and highlights which parts of the ranges overlap: the human and ape medians are comparable at the youngest ages, but by 6 months the human median is pretty much always above the chimpanzee upper range. The gorilla points are generally close to the chimpanzee median until around 2 years after which gorilla size increase basically stops but chimpanzees continue. Importantly, we can also see at what ages the simulated H. erectus values are most similar to the empirical species values, and when they fall out of species’ ranges. As I pointed out a bajillion years ago, the H. erectus values (based on the Mojokerto juvenile fossil) encompass most living species’ values around six months to two years.

I also like that second plot does all the above, and still honestly shows the jagged messiness that comes with cross-sectional, resampled data. Of course no individual’s proportional brain size increases and decreases so haphazardly during growth as depicted in the plot. It’s ugly but it’s honest. But if you like lying to yourself about the nature of your data, if you prefer curvy, smoothed inference to harsh, gritty reality, you can resort to the third plot above: the loess regression lines calculated from the resampled data.

Loess and lowess (not to be confused with loess) refer to locally weighted regression scatterplot smoothing, a way to model gross data like we have, but with a nice and smooth (but not straight) line. Because R is awesome, it has a loess() function built right in. The function easily does the math, and you can quickly obtain confidence intervals for the modelled line, but plotting these is another story. After scouring the internet, coding and failing (repeatedly) I finally came up with this:

Screen Shot 2014-07-26 at 6.57.01 PM

Creating vectors of points makes your lines clean and smooth.

If you simply try to plot a loess() line based on 1000s of unordered points, you’ll get a harrowing spider’s web of lines between all the points. Instead, you need to create ordered vectors of the non-repeated modelled points (hlm, plm, glm, above) and their upper and lower confidence limits. Once modelled, you can simply plot the lines and create polygons based on the confidence intervals as above.

The best way to learn to do stuff in R is to just play around with data and code until you figure out how to do whatever it is you have in mind. If you want to recreate, or alter, what I’ve described here, you can download the resampled data (link at the beginning of the post) and R code. Good luck!

Ima Gona follow up on that last post

Last week, I discussed the implications of the Gona hominin pelvis for body size and body size variation in Homo erectus. One of the bajillion things I have been working on since this post is elaborating on this analysis to write up, so stay tuned for more developments!

Now, when we compared the gross size of the hip joint between fossil Homo and living apes (based on the femur head in most specimens but the acetabulum in Gona and a few other fossils), the range of variation in Homo-including-Gona was generally elevated above variation seen in all living great apes. This is impressive, since orangutans and gorillas show a great range of variation due sexual dimorphism (normal differences between females and males). However, I noted that the specimens I used were unsexed, and so the resampling strategy used to quantify variation within a species – randomly selecting two specimens and taking the ratio of the larger to smaller – probably underestimated sexual dimorphism.

Shortly after I posted this, Dr. Herman Pontzer twitterated me to point out he has made lots of skeletal data freely available on his website (a tremendous resource). The ape and human data I used for last week’s post did not have sexes (my colleague has since sent me that information), but Pontzer’s data are sexed (no, not “sext“). So, I modified and reran the original resampling analysis using the Pontzer data, and it nicely illustrates the difference between using a max/min vs. male/female ratio to compare variation:

Hip joint size variation in living African apes (left and right) compared with fossil humans (genus Homo older than 1 mya, center). Each plot is scaled to show the same y-axis range. On the left are ratios of max/min from resampled pairs from each species (sex not taken into account). On the right are ratios of male/female from resampled pairs from each species. The red dots on this plot are the medians for max/min ratios (the thick black bars in the left plot). The center plot shows ratios of Homo/Gona.

Hip joint size variation in living African apes (left and right) compared with fossil humans (genus Homo older than 1 mya, center). Each plot is scaled to show the same y-axis range. On the left are ratios of max/min from resampled pairs from each species (sex not taken into account). On the right are ratios of male/female from resampled pairs from each species. The red stars on this plot are the medians for max/min ratios (the thick black bars in the left plot). The center plot shows ratios of Homo/Gona.

The left plot shows resampled ratios of max/min in humans, chimpanzees and gorillas, while the right shows ratios of male/female in these species. If no assumption is made about a specimen’s sex (left plot), it is possible to resample a pair of the same sex, and so it is likelier to sample two individuals similar in size. Note that the ratio of max/min can never be less than 1. However, if sex is taken into account (right plot), we see two key differences. First, because of size overlap between males and females in humans and chimpanzees, ratios can fall below 1. Adult gorilla males are much larger than females, and so the ratio is never as low as 1 (minimum=1.08). Second, in more dimorphic species, the male/female ratio is elevated above the max/min ratio (red stars in the right plot). In chimpanzees, the median male/female ratio is actually just barely lower than the median max/min ratio. If you want numbers: the median max/min ratios for humans, chimpanzees and gorillas are 1.09, 1.06 and 1.16, respectively. The corresponding median male/female ratios are 1.15, 1.06 and 1.25.

Regarding the fossils, if we assume that Gona is female and all other ≥1 mya Homo hips are male, the range of hip size variation can be found within the gorilla range, and less often in the human range.

But the story doesn’t end here. One thing I’ve considered for the full analysis (and as Pontzer also pointed out on Twitter) is that the relationship between hip joint size and body weight is not the same between humans and apes. As bipeds, we humans place all our upper body weight on our hips; apes aren’t bipedal and so relatively less of their weight is transmitted through this joint. As a result, human hip joint size increases faster with increasing body mass than it does in apes.

So for next installment in this fossil saga, I’ll consider body mass variation estimated from hip joint size. Based on known hip-body size relationships in humans vs. apes, we can predict that male/female variation in humans and fossil hominins will be relatively higher than the ratios presented here – will this put fossil Homo-includng-Gona outside the gorilla range of variation? Stay tuned to find out!

Friday excitement: Panoramic data inspection

I teach Tuesdays and Thursdays this year, leaving Fridays welcomely wide open for non-teaching related productivity. Today’s task is arguably the most exhilarating aspect of doing Science – inspecting raw data to make sure there are no major errors or problems in the dataset, so I can then analyze it and change the world. The excitement is truly hard to contain.

Delectable dog food is the dataset; I’m the dog.

No, it’s not the funnest, but it’s an important part of doing Science. To make your life easier, you should inspect data daily as you collect them. This way, you can identify mistakes and make notes about outliers early on, so that you are not stupefied and stalemated by what you see when you sit down to begin analysis.

You (corgi) are getting ready to analyze and you find an anomalous observation (door stop) you didn’t notice when you were collecting data.

Today I’m looking at measurements I took from ape mandibles housed in an English museum last summer; I inspected data before I left the UK for KZ, so today should be a breeze. But no matter how meticulous you are in the field/museum, you still need to inspect your data before analyzing them, just to be safe. If you’re as disorganized as I am, there will be lots of programs each with lots of windows. Here’s a tip: plug into multiple monitors (or at least one big ass monitor), so you can easily espy all open windows and programs in prodigious panorama.

Using two monitors helps when checking data for errors and patterns

Using two monitors helps when checking data for errors and patterns. On my left screen I’m using R to visualize and examine the raw data open in Excel on the right screen. If something seems off on the left screen, I can quickly consult the original spreadsheet on the right.

Barely visible in the above screenshot, these are chimpanzee (red) and gorilla (black) mandible measurements plotted against a measure of body size, preliminarily described in this post from last August. I’m looking at whether any mandibular measurements track body size across the subadult growth period, in hopes that bodily growth can be studied in fossil species samples dominated by kid jaws. As you can (barely) see, some jaw measurements correlate with body size better than others, and sometimes the apes follow similar patterns but other times they don’t.

The data look good, so now I can go on to examine relationships between mandible and body size in more detail. Stay tuned for results!