Tuesday, 21 December 2010

A method of photographing and preserving fishes for molecular studies

Voucher specimens are important in molecular studies, almost maybe as important as for morphological studies. A good voucher will be useful to both molecular and morphological research for many years to come; a good voucher will allow any misidentified specimens to be easily corrected, and will permit any interesting molecular results to be effectively corroborated with morphology.

But generating good vouchers in molecular studies is hard. Formalin, the fixative chemical of choice for ichthyologists, degrades DNA and makes extraction/PCR difficult (but see Zhang, 2010). Instead, ethanol can be used as a fixative, but ethanol fixed specimens are often brittle, faded, and of poorer long-term quality.

It's often best to take a tissue sample from your specimen, store this in ethanol, and formalin fix the rest of the fish as a voucher. This is fine, but you'll want to know which tissue sample comes from which specimen, and for small fishes it's not possible to permanently attach the label to the specimen without causing damage. Of course, you could put them all in individual jars, but you could soon run out of jars or space. Transporting them is a big problem too, and this is where you really need to save space.

So, after trying out some quite unsatisfactory methods, and ruining many good specimens, I have developed a nice method of generating quality molecular vouchers:

Step 1. Fill vials for tissue samples with high-grade 100% ethanol. Label the tubes internally with pencil on archive quality "goatskin" paper, and externally with marker pen. The vouchers can be kept separate using small polythene zip-seal bags. They need to be perforated first, however, with a paper hole punch (do several at a time). They should also have their bottom corners cut off to allow the bags to drain. Place another label in the bag.

Step 2. Get everything ready in advance. Here I have:

  • Latex gloves
  • 10% formalin (clearly labelled)
  • MS-222 (fish anaesthetic)
  • Spirit burner to decontaminate tools
  • Variety of forceps and scalpel
  • Pencil
  • Squares of cardboard to use as a clean surface for tissue preparation. 
  • Vials for tissue samples
  • Bags for voucher

Step 3. Assemble your light source and photo rig. Here I use an adjustable microscopy light (halogen desk lamps can be substituted) and a shallow white tray. I used a piece of folded graph paper as a scale for these photos. Now, mix up your MS-222 (overdosed) and water into a shallow clear tray (the lid of a tube rack), and the fish can now be added (wait for 10 mins to ensure death). Make sure the fish is only just covered.

Step 4. Adjust the light angle and photograph the left-hand side of the fish, always adding the label. Remember to set your camera's white balance correctly (usually using the custom mode). The picture can then be cropped and the file name changed.

Step 5. Take the fish out of the solution and place on the card sheet. Use the scalpel to carefully excise a tissue sample from the right-hand side of the fish. Pectoral fin clips can also be taken to cause less damage, but on small fishes this won't yield much tissue, and using mitochondrion rich muscle may reduce the likelihood of numts (Song et al., 2008).

Note: don't cut from the caudal peduncle area if characters such as caudal peduncle scale counts may be important for identifying your fish.

Step 6. Next, place the fish into the plastic bag with the forceps, and place into the formalin. The position of the fish and fins can be manipulated through the holes in the bag with the forceps. This ensures the fish is not bent and the fins are not folded down.

Step 7. Throw away the card sheet and replace with new. Clean the implements with a wet tissue and then sterilise with the spirit burner. Repeat process for rest of specimens.

Step 8. Leave vouchers in formalin for approximately three days (longer for larger fishes). After three days, remove from formalin and wash thoroughly with water. Leave in water for 24 hours to dilute remaining formalin. Place into weak 35% alcohol (ethanol or clear methylated spirit) solution for three days before final storage in 70% alcohol. The voucher will have lost a lot of its colour by now, but can be photographed again to document the preserved colour pattern.

Of course, these bags have not been tested for long-term (i.e. indefinite) storage, and are only recommended as a temporary (<5yr) storage or transport solution.

In addition, although I haven't yet tested it, this method could hopefully be adapted for use in the field.

Sunday, 10 October 2010

Negative branch lengths in neighbour-joining analyses

A recent analysis of some fish COI data revealed these really odd branch tips going backwards on the tree. I'd never heard of this before and neither had most people I asked. So what are they, what causes them, and how do I get rid of them?

NJ phylogram of cyprinid COI sequences
Well they seem to be an artefact of the stepwise NJ clustering algorithm and how it adds new branches. I don't pretend to know the details, but it seems to occur on most analytical platforms (e.g. R, MEGA, PAUP*). These negative branches don't really have any biological meaning, so it is best to remove them before the tree is presented. Ideally they are redistributed to adjacent branches, but practically this isn't feasible. Apparently, PAUP* is able to deal with this, but I didn't have any joy when I tried. Setting them to zero seems the most justified approach at this stage. Of course the original distance matrix on which the NJ tree is based remains the same, so identifications should obviously be checked against the data, rather than by looking at just the tree.

Using the ape package in R, my simple workaround is to generate a neighbour-joining tree as usual with the nj() function. Next I save this tree object to file (in Newick parenthetical format) using the write.tree() command, and open the Newick text file in a text editor (I use SciTE). To remove all the negative branch numbers and replace them with zero, you need to use a regular expression search and replace. This is quite a powerful feature if you know how to use it. As well as normal negative numbers (e.g. -0.0005558445244), ape also adds negative exponents for really short branches (e.g. -5.199093188e-17), so these need to be dealt with too. First off you need to replace the exponent string by entering:
Next, the normal negative number can be addressed with:
I won't go into the details of how these instructions work, but a good tutorial on regular expressions can be found here. Make sure you have no other hyphens in your Newick file that may interfere (e.g. in the taxon labels), and always test it first with just find before you replace all and save. Now your modified Newick file can be reloaded into R and printed using the respective read.tree() and plot() commands. Hopefully someone will eventually develop a more sophisticated way of dealing with this natively in R.

EDIT 18.10.10 ...
And sure enough, yes, there is a much easier way of doing this straight in R. Simply create or load your tree object, and then access the branch (edge) lengths with the $ command, replacing all with zero.
Many thanks to Samuel Brown for pointing this out. For the R-phobic, the more long-winded approach posted above can still be used for trees produced in other programs such as MEGA or PAUP*.

Why do I have a blog?

Is it because I'm putting off more important things; is it because everyone else has one now; is it because Samuel Brown has one and I copy everything he does; or is it because it's a handy record of stuff I would otherwise forget? Well, all of the above really, but mostly because they're a jolly helpful resource for other people. I'm always googling various questions, and it's so useful when people have taken the time to post up their solutions. Imagine I spend a day investigating a problem, it's nonsensical that others should waste their time repeating the same process when the answer should be just a couple of clicks away.
And the name? Well, I had really wanted "The Blogfish" in reference to my mascot the charismatic blobfish, but predictably that domain had been snapped up ages ago. Instead, I plumped for possibly the most amusingly named of all fishes, Boops boops. Unfortunately it's a relatively unremarkable looking sparid, but I like the name nonetheless.
Boops boops [image: http://www.eol.org/pages/203866]
What'll be on this blog? I dunno, mostly boring science stuff. Sorry. If you are still reading, however, what better place to start than with a relatively simple method of dealing with negative branch lengths in neighbour-joining analyses. Enjoy ...