ABCml: Analysis of Bone Counts by Maximum Likelihood

by Alan R. Rogers

Quick links


ABCml is a computer package that implements a statistical method described by

Rogers, Alan R. 2000. Analysis of bone counts by maximum likelihood. Journal of Archaeological Science, 27: 111-125.
The method is designed for analysis of bone counts from archaeological or paleontological sites. It provides estimates of the fraction of the assemblage that was deposited by each of several agents of deposition, of the intensity of density-mediated attrition, and of the number of animals contributing to the assemblage. It has been used in several other publications:
Rogers, Alan R. 2000. On the value of soft bones in faunal analysis, Journal of Archaeological Science, 27(7):635-639.

Rogers, Alan R. 2000. On equifinality in faunal analysis. American Antiquity, 65(4), In press.

Rogers, Alan R. and Jack M. Broughton. 2000. Selective transport of animal parts by ancient hunters: A new statistical method and an application to the Emeryville Shellmound fauna, Journal of Archaeological Science, In press.


Bones may be deposited in an archeological sites in many different ways. They may be washed in by water, or brought there by humans, hyenas, or other predators and scavengers. They may represent the bones that are left after a prey animal has been killed and the valuable pieces have been carried away. Each of the mechanisms by which bones are introduced to the site is called an "agent of deposition." The goal of ABCml is to estimate the fraction of the faunal assemblage that each such agent that has contributed. Bone counts are affected not only by what was deposited in the site but also by various forms of attrition. For example, bones may be gnawed beyond recognition by carnivores or dissolved in acidic sediment. Thus, ABCml also attempts to estimate the intensity of attrition. It turns out also to be necessary to estimate the number of animals that were originally deposited at the site. Thus, ABCml estimates the following parameters:

fraction of the animals in the assemblage deposited by the ith agent of deposition.
the intensity of attrition
the expected number of animals originally deposited in the site.
To accomplish all this, ABCml requires detailed descriptions of the various agents of deposition, of the density of each skeletal part, and of the number of each part in a living animal.

How to get the software

The software is distributed in several ways:

Java Applet
The Java version of the software can be run from your web browser. After clicking here, the ABCml program will start. After asking you to paste data into various dialog boxes, the program will analyze your data and show you the results. Before doing this, you should read the documentation for the various input files and for the ABCml program itself. The Java version of the package is incomplete--it contains only the program (also called ABCml) that is used for estimating parameters. If there is sufficient demand for the Java version of this software, I will also translate the other parts of the package.
Executable files
These versions contain the entire distribution and are available both for Microsoft and Linux operating systems.
C source code
This version of the distribution must be compiled before it can be executed. It is covered by the Gnu Public License, which means that you can use it for free and are also allowed to give it away, but neither you nor anyone you give it to is allowed to sell it. For details about the Gnu Public License, click here.

You can download the C version of the software here:

C source distribution in gzipped tar (.tgz) format: click here to download
C source distribution in zip format: click here to download

You can also download the C version of the software in executable form. These distributions include executable files only, so you will also want to download the source distribution (see above) in order to get the documentation. To download the executable files, click on one of the following:

MSDOS executables in zip format: click here to download
i386 Linux executables in gzipped tar (tgz) format: click here to download

Unpacking the archives

After downloading these files you will need to unpack them. The procedure depends on the type of archive you have downloaded.

Unpacking archives in gzipped tar format

This format first packages the files using tar and then compresses the resulting archive. To unpack the compressed archive, you reverse these steps. The files can be uncompressed using gunzip, the Gnu decompression program and then unpacked using any version of the program tar. Alternatively, you can use Gnu's version of tar, which collapses the two steps into a single command. Gnu's software is freely available here.

I will assume that you are unpacking both the source distribution and also the Linux executables. If you are using gunzip with a non-Gnu version of tar, then execute the following unix commands:

gunzip abcml-0_16.tgz 
tar xvf abcml-0_16.tar
gunzip abcml-0_16-linuxexe.tgz
tar xvf abcml-0_16-linuxexe.tar
If you have Gnu's version of tar, the commands are even simpler:
tar zxvf abcml-0_16.tgz
tar zxvf abcml-0_16-linuxexe.tgz
I have not tried either method under MSDOS, so check your manual.

Unpacking archives in zip format

Zip format is widely used in the PC world and is also available under unix. The MSDOS versions of the pkzip and pkunzip programs are available for free from the pkware web site.

I assume that you have downloaded the source and MSDOS excecutables in zip format, and that you have the pkunzip program running. You should then be able unpack the archives using the following commands from an MSDOS window:

pkunzip -d
pkunzip -d
These commands work fine under Windows98, but they would fail under earlier versions that that require short file names.

After unpacking

After unpacking the archive, you will find a sub-directory called abcml-0_16, which contains the following subdirectories:

abcml-0_16/bin   executable files
abcml-0_16/doc   documentation
abcml-0_16/src   source code
abcml-0_16/hadza transport data for the Hadza
abcml-0_16/toy   data for toy model (see the paper cited above)

The bin directory will be empty unless you have downloaded one of the executable distributions. If you do have executables, change into the relevant directory and type "./abcml" (unix or linux) or just abcml (MSDOS). The program should produce an error message telling you that you have forgotten to provide input.

The next step is to copy the executable files into one of the directories that your operating system looks in when it is trying to find executable files. Alternatively, you could change your path variable to add the abcml bin directory into the path. (See the documentation for the PATH command if you are using a Microsoft operating system. If you are using some flavor of linux or unix, look at the man page for the shell that you use (probably bash or ksh) and find out how to set your PATH variable.) That is all you need to do by way of installation.

Next, you need to read the documentation. You can find that online (see below) or in the doc directory of your distribution.