Keyhole limpets Diodora aspera are often richly adorned with growths of colonial tunicates, sponges, and bryozoans. Whether this is for visual or chemical camouflage is not known. The individual in the photo on the Right seems visually camouflaged (to our eyes), but not the one on the Left.
At the bottom are three more examples of Diodora aspera with possibly camouflaging growths. All photos are of specimens living on current-swept promontories on islands in Barkley Sound, British Columbia. Diodora grows to sizes in excess of 6cm shell length.





Research Study 1: Defenses of keyhole limpets: mantle response


A unique defensive response is employed by keyhole limpets Diodora aspera against attack by sea stars. Within moments after contact with a predatory sea star the limpet rises to
Some views of the mantle response of Diodora aspera:



Research Study 2: Defenses of keyhole limpets: mantle response
Studies at Friday Harbor Laboratories, Washington show that 9 of 17 species of sea stars tested induce a mantle response in Diodora aspera. Is there a “commonality” to these species, perhaps phylogenetic, or dietary, or habitat? The 17 species are arranged in the first two columns below in colour-coded taxonomic categories of ORDERS, separated as to whether they induce a response (POSITIVE) or not (NEGATIVE):
Positive | Negative |
---|---|
Pisaster ocraceus | Mediaster aequalis |
Pisaster brevispinus | Dermasterias imbricata |
Pisaster giganteus | Luidia foliata |
Leptasterias aequalis | Solaster stimpsoni |
Evasterias troschelii | Solaster dawsoni |
Orthasterias koehleri | Pteraster tesselatus |
Pycnopodia helianthoides | Crossaster papposus |
Hippasteria spinosa | Henricia leviuscula |
Asterina miniata |
Orders |
Order Forcipulatida |
Order Valvatida |
Order Velatida |
Order Spinulosida |



How does this “Diodora-derived” classification accord with asteroid evolutionary relationships? Well, in two phylogenies derived from morphological and combined morphological/molecular characters, respectively, the
Forcipulatida: about 300 species in 68 genera, distinguished by their forcipulate (i.e., forceps-like) pedicellariae
Valvatida: about 400 species in 165 genera, often distinguishable by the presence of marginal ossicles, but the Order is quite diverse morphologically
Velatida: about 200 species in 25 genera, often characterised by thick bodies and large central discs
Spinulosida: about 120 species in 9 genera
A final molecular phylogeny adds little, if anything, to what we have seen from the previous depictions (see schematic on lower Right):
What about DIETARY AFFINITY? This seems promising, as all of the spinulosids in the "POSITIVE" column (with the exception of Pisaster brevispinus) would be expected to prey on keyhole limpets. However, of the two valvatid "POSITIVES", Hippasteria spinosa eats sea pens and Asterina miniata is an omnivorous scavenger of plant and animal matter (although it is recorded as preying on sea urchins Lytechinus anamesus and bryozoans in south- and mid-California, respectively). Of the species in the "NEGATIVE" column above, only Crossaster papposus is recorded as consuming snails, and then only a minor dietary component of populations in Alaska. The other velatids are fairly specialised on holothurians (Solaster stimpsoni), sea stars (Solaster dawsoni), and sponges/anemones/ascidians (Pteraster tesselatus). The spinulosid Henricia leviuscula is a ciliary plankton feeder that may also eat sponges/bryozoans. So, other than the odd-ball valvatids in the "POSITIVE" column, dietary affinity seems promising and may be deserving of closer scrutiny.
Fatal error: Uncaught ArgumentCountError: Too few arguments to function Table_Display_Public::__construct(), 2 passed in /home/emmaj459/public_html/asnailsodyssey.com/includes/class_lib.php on line 697 and exactly 5 expected in /home/emmaj459/public_html/asnailsodyssey.com/includes/class_lib.php:613 Stack trace: #0 /home/emmaj459/public_html/asnailsodyssey.com/includes/class_lib.php(697): Table_Display_Public->__construct('<table class="r...', 'fl_rt') #1 /home/emmaj459/public_html/asnailsodyssey.com/views/v_public_content.php(45): Intro_Display_Public->__construct(1618) #2 /home/emmaj459/public_html/asnailsodyssey.com/models/m_template.php(25): include('/home/emmaj459/...') #3 /home/emmaj459/public_html/asnailsodyssey.com/index.php(43): Template->load('views/v_public_...') #4 {main} thrown in /home/emmaj459/public_html/asnailsodyssey.com/includes/class_lib.php on line 613